Professional Documents
Culture Documents
Digital Communication Protocols
Digital Communication Protocols
com
ni.com
Agenda
RIO Overview
Design with Timing
Software Architecture
Q&A
ni.com
RIO Hardware
PXI, PC RIO (R Series, NI
FlexRIO)
Value
Value
Performance
High Performance
Expansion I/O
MXI-Express RIO
ni.com
Ethernet RIO
EtherCAT RIO
Wireless
RIO Hardware
I/O Voltage
I/O Frequency
ni.com
RIO Hardware
ni.com
SPI Example
- SPI Protocol Overview
ni.com
SPI Example
- Select SPI configuration Based on ADC
Master SPI
CPOL = 0
CPHA = 0
Send MOSI
@ SCK Falling Edge
Sample MISO
@ SCK Rising Edge
ni.com
SPI Example
ni.com
Backplane
Interface
SPI Interface
SPI Master
Control Interface
- Synchronous Design
SPI Clock
Base Clock
SPI Example
- SPI Protocol Design
Synchronous design
ni.com
10
SPI Example
- SPI Protocol Timing
Single Cycle Timed Loop
ni.com
11
SPI Example
- SPI Protocol Output Signals
Output Signals
Arbitrate
ni.com
12
SPI Example
- SPI Protocol Output Signals
ni.com
13
SPI Example
- SPI Protocol Output Signals
Output Signals
Sync Register
ni.com
14
SPI Example
- SPI Protocol Input Signals
Input Signals
Sync Register
Setup time
ni.com
Hold time
15
Communication
Protocol API
Communication
Protocol Abstraction
ni.com
17
Communication
Protocol API
Communication
Protocol Abstraction
ni.com
18
Case Study
SPI
ADC
FPGA
ni.com
19
True
Arbitratio
n Logic
DIO 0
False
ni.com
20
ni.com
21
22
SPI Core
(State Machine)
ni.com
23
ni.com
24
Communication
Protocol API
Communication
Protocol Abstraction
ni.com
26
Case Study
SPI
ADC
FPGA
ni.com
27
ni.com
28
Consistency
Easy To Use
Decoupling
Error Handling
ni.com
29
Command Queuing
Loop
(1kHz)
SPI Transaction Commands
ni.com
30
ni.com
31
ni.com
32
ni.com
33
ni.com
34
ni.com
35
SPI Engine.vi
ni.com
36
Communication
Protocol API
Communication
Protocol Abstraction
ni.com
37
Case Study
SPI
I2C
ADC
FPGA
ni.com
38
SPI Engine
Sequence of SPI
Commands
(Driver)
Get Data
Acquired Data
Node
I/O Node
ni.com
39
I2C Engine
SPI Driver
I2C Driver
Data Nodes
ni.com
40
ni.com
41
ni.com
42
ni.com
43
ni.com
44
Summary
ni.com
45
Questions?
ni.com
46
Related Links
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
https://github.com/NISystemsEngineering/SPIAPI
http://www.ni.com/example/9117/en/#toc2
http://www.ni.com/white-paper/13489/en/
ni.com
47
ni.com
48