SPI通信

    SPI 是英語SerialPeripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。

    SPI是一種高速的,全雙工同步串行通信總線,並且在芯片的管腳上只佔用四根線,節約了芯片的管腳,同時爲PCB的佈局上節省空間,提供方便,主要應用在 EEPROMFLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的設備共有的,它們是SDI(數據輸入)SDO(數據輸出)SCLK(時鐘)CS(片選)


STM32中的SPI引腳:

SPI接口一般使用4條線通信(主從方式工作):

MISO 主設備數據輸入,從設備數據輸出。

MOSI 主設備數據輸出,從設備數據輸入。

SCLK時鐘信號,由主設備產生

CS從設備片選信號,由主設備控制

SPIx_NSS======CS
SPIx_SCK======SCK

SPIx_MISO======SDO
SPIx_MOSI======SDI

①  硬件上爲4根線。

②  主機和從機都有一個串行移位寄存器,主機通過向它的SPI串行寄存器寫入一個字節來發起一次傳輸。

③  串行移位寄存器通過MOSI信號線將字節傳送給從機,從機也將自己的串行移位寄存器中的內容通過MISO信號線返回給主機。這樣,兩個移位寄存器中的內容就被交換

④  外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的字節;反之,若主機要讀取從機的一個字節,就必須發送一個空字節來引發從機的傳輸。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章