SPI is a serial link standard used between chips. Now days most microcontrollers have an on board SPI block. SPI link is made of atleast one master and one slave. The link is composed of four wires:
Here is a screen shot of SPI signals captured as a master sends a byte to a slave:
All signals captured are from microcontroller (master) to slave device
Channel 4: nSS
Channel 2: SCLK
Channel 3: MOSI
In this particular case, each data bit is clocked in by the slave device at the falling edge of the clock. Some slaves sample the data at the rising edge.
Here is another example of SCLK (Channel 1 Yellow) and MOSI (Channel 2 Blue). It shows the transmission of 6 bytes of the string "Hello,"
i.e. The ASCII codes, left to right in the waveform:
0x48 (01001000)
0x65 (01100101)
0x6C (01101100)
0x6C (01101100)
0x6F (01101111)
0x2C (00101100)
- SCLK - Serial Clock, always provided by the Master
- MOSI - Master Out Slave In, Data (from master to slave)
- MISO - Master In Slave Out, Data (from slave to master, clock still has to be provided by master)
- nSS - Slave Select, usually the Chip Select signal for the slave.
- Accelerometers (ADIS16201)
- 4-20mA current control (AD420)
- Flash Memory (EN25T80)
- Nokia 6610 Colour Graphical STN LCD (PCF8833)
- Nokia 3310 Monochrome Graphical LCD (PCD8544)
- EEPROM (25AA640)
- SD Card
- 10BASET Ethernet Controller (ENC28J60)
Here is a screen shot of SPI signals captured as a master sends a byte to a slave:
All signals captured are from microcontroller (master) to slave device
Channel 4: nSS
Channel 2: SCLK
Channel 3: MOSI
In this particular case, each data bit is clocked in by the slave device at the falling edge of the clock. Some slaves sample the data at the rising edge.
Here is another example of SCLK (Channel 1 Yellow) and MOSI (Channel 2 Blue). It shows the transmission of 6 bytes of the string "Hello,"
i.e. The ASCII codes, left to right in the waveform:
0x48 (01001000)
0x65 (01100101)
0x6C (01101100)
0x6C (01101100)
0x6F (01101111)
0x2C (00101100)
SPI as captured from SPI0 pins of TM4C129DNCPDT microcontroller |
Comments
Post a Comment