數字接口系列文章之SPI總線
串行外設接口 (SPI) 總線是一種運行于全雙工模式下的同步串行數據鏈路。用于在單個主節點和一個或多個從節點之間交換數據。SPI 總線實施簡單,僅使用四條數據信號線和控制信號線(請參見圖 1)。
本文引用地址:http://www.j9360.com/article/163361.htm盡管表 1 中的引腳名稱取自 MOTOROLA 公司的 SPI 標準,但特殊集成電路的 SPI 端口名稱通常與圖 1 中所標示的名稱有所不同。
表 1 SPI 引腳名稱分配
SPI 數據速率通常介于 1 到 70 MHz 之間,字節長度范圍從 8 位和 12 位到這些數值的倍數位。
數據傳輸通常會包含一次數據交換。當主節點向從節點發送數據時,從節點也會向主節點發送數據。為此,主節點的內部移位寄存器和從節點被設置成環形(請參見圖 2)。
圖 2 兩個移位寄存器形成一個內部芯片環形緩沖器
在數據交換之前,主節點和從節點使其內部移位寄存器加載存儲器數據。產生時鐘信號時,主節點會通過 MOSI 線同步輸出其移位寄存器。同時,從節點在 SIMO 處從主節點讀取第一位,并將其存儲到存儲器中,然后通過 SOMI 輸出 MSB。主節點會在 MISO 處讀取從節點的第一位,并將其存儲到存儲器中以待稍后處理。整個過程將一直持續,直至交換完所有數據位,然后主節點使時鐘空閑并通過 /SS 禁用從節點。
評論