概況:
SPI, 串行外圍設(shè)備接口。高速的,全雙工的,同步通信總線。有四個引腳:SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時鐘),CS(片選)。
應(yīng)用:
常作為單片機外設(shè)芯片串行擴展接口,主要應(yīng)用于EEPROM,FLASH,實時時鐘,AD轉(zhuǎn)換器,數(shù)字信號處理器和數(shù)字信號解碼器之間。
通信原理:
以主從方式工作
MOSI(SDO):主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入。
MISO(SDI):主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出。
SCLK :時鐘信號,由主器件產(chǎn)生。
SPI串行傳輸,數(shù)據(jù)一位一位從MSB或LSB開始傳輸,產(chǎn)生相應(yīng)的脈沖沿時,MOSI,MISO才進行數(shù)據(jù)傳輸。
CS:從器件使能信號,由主器件控制。
CS控制芯片是否被選中,只有片選信號為實現(xiàn)約定的使能信號時(高電位或地電位),對此芯片的操作才有效,這也就允許同一總線上連接多個SPI設(shè)備。
工作過程:
SPI可以用全雙工通信方式同時發(fā)送和接收8(16)位數(shù)據(jù),過程如下:
主機啟動發(fā)送過程,送出時鐘脈沖信號——>主移位寄存器的數(shù)據(jù)通過SDO移入到從移位寄存器,同時從移位寄存器中的數(shù)據(jù)通過SDI移人到主移位寄存器中——>8(16)個時鐘脈沖過后,時鐘停頓,主移位寄存器中的8(16)位數(shù)據(jù)全部移人到從移位寄存器中,隨即又被自動裝入從接收緩沖器中,從機接收緩沖器滿標志位(BF)和中斷標志位(SSPIF)置“1”。同理,從移位寄存器中的8位數(shù)據(jù)全部移入到主寄存器中,隨即又被自動裝入到主接收緩沖器中.主接收緩沖器滿標志位(BF)和中斷標志位(SSPIF)置“1”——>主CPU檢測到主接收緩沖器的滿標志位或者中斷標志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù)。同樣,從CPU檢測到從接收緩沖器滿標志位或中斷標志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù),這樣就完成了一次相互通信過程。
SPI總線接口及時序
SPI輸出串行同步時鐘極性和相位可以根據(jù)外設(shè)工作要求進行配置。
若CPOL = 0,串行同步時鐘的空閑狀態(tài)為低電平;
若CPOL = 1,串行同步時鐘的空閑狀態(tài)為高電平;
時序如下
若CPHA = 0,在串行同步時鐘的第一個跳變沿(上升或下降)數(shù)據(jù)將被采樣;
若CPHA = 1,在串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)將被采樣;
時序如下:
SPI主模塊與與之通信的外設(shè)空閑狀態(tài)的極性和時鐘相位應(yīng)該一致。
-
SPI
+關(guān)注
關(guān)注
17文章
1711瀏覽量
91747
原文標題:SPI通信總線的原理及工作過程簡單分析
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論