SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,分別為:
1.MISO,主機數(shù)據(jù)輸入從機數(shù)據(jù)輸出線(“M”表示主機master,“I”表示輸入in,“S”表示從機slaver,“O”表示輸出out。)
2.MOSI,主機數(shù)據(jù)輸出從機數(shù)據(jù)輸入(同上,順序不同而已)
3.CS,片選信號,該引腳為高的為主機,引腳低的為從機。單片機以此判斷主從機。
4.SCLK。時鐘線,由主機提供時鐘。
主要應用在EEPROM,F(xiàn)LASH,實時時鐘,AD轉換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
SPI工作原理:
主機和從機都有一個串行移位寄存器,主機通過想它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。
主機的串行移位寄存器通過MOSI線將字節(jié)傳輸給從機,同時從機也將自己的串行移位寄存器中的內容通過MISO線傳輸給主機。這樣兩個移位寄存器的內容就被交換了。
外設的寫操作和讀操作是同步完成的。如果只想進行寫操作,主機只需忽略接收的字節(jié)。如果只想進行讀操作,也必須發(fā)送一個字節(jié)(可以是空字節(jié))來引發(fā)從機傳輸。