一種單線程遠程網絡控制SPI的實現
許多的1 - Wire 兼容的外圍設備可用,但對于那些缺乏的1 - Wire能力,圖1所示電路一種方法可以實現它。顯示的例子允許遠程LED顯示屏是由1線通過SPI兼容的顯示控制器的網絡控制。
本文引用地址:http://www.j9360.com/article/201807/383905.htmSPI(Serial Peripheral Interface--串行外設接口)總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR,狀態寄存器SPSR,數據寄存器SPDR.外圍設置FLASHRAM、網絡控制器、LCD顯示驅動器、A/D轉換器和MCU等。SPI總線系統可直接與各個廠家生產的多種標準外圍器件直接接口,該接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI和低電平有效的從機選擇線SS(有的SPI接口芯片帶有中斷信號線INT、有的SPI接口芯片沒有主機輸出/從機輸入數據線MOSI)。
SPI接口的全稱是“Serial Peripheral Interface”,意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。 SPI接口是在CPU和外圍低速器件之間進行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,低位在后,為全雙工通信,數據傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps.

圖1.三個1線開關(IC1的- IC3的),三異或門(IC4的),以及相關的組件使1 - Wire網絡來控制這種通過SPI外設IC5顯示。
生產出的3線SPI接口由MAX7221顯示控制器(低電平有效CS,DIN和CLK)的要求,1 - Wire網絡地址連續三個1線開關(DS2413的)。第一個開關直接創建片選(低電平有效CS),第二個創建串行數據線直接(標準),而第三個開關與三異或門的幫助,創造了串行時鐘(CLK)。
邊緣檢測器和一桿(IC4A - C)的結合IC2的(DATA1和資料0)的輸出創造一個SPI接口的時鐘信號。這種一次性時鐘產生電路提高了,只需要一個1線每SPI位交易數據速率,而不是三項交易(數據,時鐘低,時鐘的高),將被要求如果IC2輸出被用來直接作為時鐘信號。
要傳送數據到SPI輸入,首先設置IC1的低產出。然后,傳送的數據位使用以下規則:
如果目前的數據位從以前位不同,設置IC2的DATA1數據輸出相應。
如果目前的數據位是一樣的前一位,撥動IC3的的資料0輸出相同。
該電路產生時鐘脈沖,每次自動執行,并且只需要一個1 - Wire總線命令發送每個數據位。當數據傳輸完成后,發送一個最終的1 - Wire命令來設置IC1的輸出為高。
該電路允許1 - Wire網絡遠程控制溫度顯示,但類似技術可以提供一個接口,通過I 2 C兼容的設備,以及其他的SPI ADC和DAC等外圍設備。您還可以通過使用額外的DS2413的生產輸出(S)的雙向數據傳輸能力。請注意,SPI數據速率不是很快,和對周邊的更新比較慢,但速度并不是很多遠程監控應用的問題。
評論