無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)模塊化接口電路設計
2 SPI接口電路設計
數據存儲管理系統以單片機和可編程邏輯器件組成核心控制器??删幊踢壿嬈骷﨏PLD依據其編程靈活、易修改的特點(diǎn),配合單片機在其內部擴展SPI接口電路,不僅簡(jiǎn)化了接口和控制,且提高了系統的整體性能及系統擴展性。
SPI接口電路設計分兩部分:
(1)硬件部分:CPLD內擴展SPI接口框圖如圖2。在CPLD內部編寫(xiě)雙向IO總線(xiàn)、地址鎖存譯碼電路、時(shí)鐘發(fā)生器、接收和發(fā)送數據移位寄存器、傳輸結束標志SPIF產(chǎn)生器等電路完成SPI接口電路設計。READY1為與從機(沖擊波模塊等)通信時(shí)狀態(tài)標志位,用于當主機與從機通信時(shí)查詢(xún)使用,READY1為1時(shí),可讀取沖擊波數據。

當單片機發(fā)送數據時(shí),IO總線(xiàn)首先發(fā)送地址碼,地址鎖存譯碼電路生成數據裝載使能片選信號,之后IO總線(xiàn)待發(fā)送字節鎖存到數據寄存器SPDR,同時(shí)Sek時(shí)鐘發(fā)生器產(chǎn)生8個(gè)Sek時(shí)鐘,SPDR移位寄存器在Sek的時(shí)鐘沿把待發(fā)送字節從MOSI順序移出,同時(shí)把MISO引腳數據移入SPDR寄存器,Sek計數器計數到8個(gè)Sek時(shí)鐘后,產(chǎn)生SPIF傳輸結束標志,單片機讀取SPIF標志是否為1,判斷一字節時(shí)候傳輸完畢。
(2)軟件部分:?jiǎn)纹瑱C為主控制器,首先查詢(xún)從機狀態(tài)標志位READY是否為1,判斷是否可以與從機通信。從機準備就緒時(shí),單片機可裝載1字節發(fā)送數據,啟動(dòng)CPLD內部SPI接口電路,查詢(xún)并等待SPI傳輸結束標志位SPIF為1,完成一字節數據傳輸,如此重復。圖3、圖4為主機發(fā)送與接收1字節流程圖。

3 試驗結果與分析
圖5為邏輯分析儀捕獲CPLD擴展SPI接口電路讀取沖擊波模塊數據時(shí)波形。

bit8:READY信號,從機高電平時(shí)主機讀取數據;bit9:Sck時(shí)鐘信號,主機查詢(xún)READY為高時(shí)裝載發(fā)送字節,并產(chǎn)生8個(gè)Sek時(shí)鐘,啟動(dòng)SPI傳輸;bit10:MOSI,主機輸出端口;bit11:MISO,主機輸入端口,Sek上升沿讀取數據,連續兩個(gè)周期讀取的數據分別為0x07(000001 11),0Xb0(10110000),兩周期時(shí)間間隔為20.400us,傳輸速度可達4×105bps,滿(mǎn)足系統要求。
結束語(yǔ)
為了滿(mǎn)足系統測試任務(wù),無(wú)線(xiàn)傳感器節點(diǎn)采用模塊化設計,各功能模塊通過(guò)SPI接口鏈接。由于系統功能要求,使一個(gè)模塊與多個(gè)模塊鏈接通信,其接口電路SPI工作在不同的主從機模式,使用單一SPI接口主從切換,勢必降低模塊間通信速度與靈活性。依據可編程邏輯器件CPLD有其編程靈活、易擴展性,在模塊內部擴展專(zhuān)用SPI接口,試驗證明SPI接口電路設計,有簡(jiǎn)化模塊間連接、提高通信速度、系統擴展性強,以及提高系統整體性能的特點(diǎn)。
評論