無線傳感器網(wǎng)絡(luò)節(jié)點模塊化接口電路設(shè)計
2 SPI接口電路設(shè)計
數(shù)據(jù)存儲管理系統(tǒng)以單片機和可編程邏輯器件組成核心控制器。可編程邏輯器件CPLD依據(jù)其編程靈活、易修改的特點,配合單片機在其內(nèi)部擴展SPI接口電路,不僅簡化了接口和控制,且提高了系統(tǒng)的整體性能及系統(tǒng)擴展性。
SPI接口電路設(shè)計分兩部分:
(1)硬件部分:CPLD內(nèi)擴展SPI接口框圖如圖2。在CPLD內(nèi)部編寫雙向IO總線、地址鎖存譯碼電路、時鐘發(fā)生器、接收和發(fā)送數(shù)據(jù)移位寄存器、傳輸結(jié)束標(biāo)志SPIF產(chǎn)生器等電路完成SPI接口電路設(shè)計。READY1為與從機(沖擊波模塊等)通信時狀態(tài)標(biāo)志位,用于當(dāng)主機與從機通信時查詢使用,READY1為1時,可讀取沖擊波數(shù)據(jù)。
當(dāng)單片機發(fā)送數(shù)據(jù)時,IO總線首先發(fā)送地址碼,地址鎖存譯碼電路生成數(shù)據(jù)裝載使能片選信號,之后IO總線待發(fā)送字節(jié)鎖存到數(shù)據(jù)寄存器SPDR,同時Sek時鐘發(fā)生器產(chǎn)生8個Sek時鐘,SPDR移位寄存器在Sek的時鐘沿把待發(fā)送字節(jié)從MOSI順序移出,同時把MISO引腳數(shù)據(jù)移入SPDR寄存器,Sek計數(shù)器計數(shù)到8個Sek時鐘后,產(chǎn)生SPIF傳輸結(jié)束標(biāo)志,單片機讀取SPIF標(biāo)志是否為1,判斷一字節(jié)時候傳輸完畢。
(2)軟件部分:單片機為主控制器,首先查詢從機狀態(tài)標(biāo)志位READY是否為1,判斷是否可以與從機通信。從機準(zhǔn)備就緒時,單片機可裝載1字節(jié)發(fā)送數(shù)據(jù),啟動CPLD內(nèi)部SPI接口電路,查詢并等待SPI傳輸結(jié)束標(biāo)志位SPIF為1,完成一字節(jié)數(shù)據(jù)傳輸,如此重復(fù)。圖3、圖4為主機發(fā)送與接收1字節(jié)流程圖。
3 試驗結(jié)果與分析
圖5為邏輯分析儀捕獲CPLD擴展SPI接口電路讀取沖擊波模塊數(shù)據(jù)時波形。
bit8:READY信號,從機高電平時主機讀取數(shù)據(jù);bit9:Sck時鐘信號,主機查詢READY為高時裝載發(fā)送字節(jié),并產(chǎn)生8個Sek時鐘,啟動SPI傳輸;bit10:MOSI,主機輸出端口;bit11:MISO,主機輸入端口,Sek上升沿讀取數(shù)據(jù),連續(xù)兩個周期讀取的數(shù)據(jù)分別為0x07(000001 11),0Xb0(10110000),兩周期時間間隔為20.400us,傳輸速度可達4×105bps,滿足系統(tǒng)要求。
結(jié)束語
為了滿足系統(tǒng)測試任務(wù),無線傳感器節(jié)點采用模塊化設(shè)計,各功能模塊通過SPI接口鏈接。由于系統(tǒng)功能要求,使一個模塊與多個模塊鏈接通信,其接口電路SPI工作在不同的主從機模式,使用單一SPI接口主從切換,勢必降低模塊間通信速度與靈活性。依據(jù)可編程邏輯器件CPLD有其編程靈活、易擴展性,在模塊內(nèi)部擴展專用SPI接口,試驗證明SPI接口電路設(shè)計,有簡化模塊間連接、提高通信速度、系統(tǒng)擴展性強,以及提高系統(tǒng)整體性能的特點。
評論