無線傳感器網(wǎng)絡(luò)是由大量傳感器節(jié)點通過無線通信自組織構(gòu)成的網(wǎng)絡(luò),,被認為是將對21世紀產(chǎn)生巨大影響力的技術(shù)之一,。在分布式測試中使用無線傳感器網(wǎng)絡(luò),不受通信電纜的限制,、組態(tài)靈活,、重構(gòu)性強,可以在較惡劣的測試環(huán)境中使用,。由無線傳感器網(wǎng)絡(luò)組成的分布式測試系統(tǒng)已應(yīng)用于水中爆炸測試系統(tǒng),。在一些分布場測試系統(tǒng)中,被測量種類繁雜,,為完成測試任務(wù),,節(jié)點采用模塊化設(shè)計,SPI接口電路簡單,、傳輸速度快,,各模塊通過SPI總線通信協(xié)同完成測試任務(wù)。但在實際開發(fā)應(yīng)用中,,由于系統(tǒng)要求,,使某些模塊與多個模塊鏈接,且接口工作在不同的模式下,,如果完成通信需要功能模塊的SPI接口主從切換,,致使通信速度與靈活性降低。CPLD具有可編程性特點,,可根據(jù)需要擴展專用SPI接口電路,,提高系統(tǒng)通信速度與靈活性,方便系統(tǒng)擴展功能模塊,,提高系統(tǒng)整體性能,。
1 節(jié)點的模塊化設(shè)計及其接口電路
無線傳感器網(wǎng)絡(luò)節(jié)點采用模塊化的設(shè)計方法,每個節(jié)點包括無線收發(fā)模塊,、核心主控模塊和功能模塊,。系統(tǒng)通過無線收發(fā)模塊接收主站發(fā)送的命令碼,核心主控模塊對命令解碼,,完成對各功能模塊的控制(開啟采集、時統(tǒng)清零等),。系統(tǒng)要完成多次重復(fù)性試驗,,因此每次試驗完畢要把實驗數(shù)據(jù)(沖擊波數(shù)據(jù),、環(huán)境變量信息、時統(tǒng)跟定位信息等)存儲到數(shù)據(jù)存儲管理模塊統(tǒng)一管理,,同時準備下次試驗,。系統(tǒng)工作時,數(shù)據(jù)儲存管理模塊SPI接口一方面工作在從模式,,接收主控模塊發(fā)送的命令;另一方面工作在主模式,,轉(zhuǎn)發(fā)控制其他功能模塊的命令碼并讀取試驗數(shù)據(jù)進行統(tǒng)一管理,圖1為在其內(nèi)擴展專用工作在主模式下的SPI接口的模塊問鏈接圖,。專用工作在主模式下的SPI接口電路,,具有提高模塊間數(shù)據(jù)傳輸速度與靈活性等特點。

2 SPI接口電路設(shè)計
數(shù)據(jù)存儲管理系統(tǒng)以單片機和可編程邏輯器件組成核心控制器,??删幊踢壿嬈骷﨏PLD依據(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é)束標志SPIF產(chǎn)生器等電路完成SPI接口電路設(shè)計,。READY1為與從機(沖擊波模塊等)通信時狀態(tài)標志位,,用于當主機與從機通信時查詢使用,READY1為1時,,可讀取沖擊波數(shù)據(jù),。

當單片機發(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é)束標志,,單片機讀取SPIF標志是否為1,判斷一字節(jié)時候傳輸完畢。
(2)軟件部分:單片機為主控制器,,首先查詢從機狀態(tài)標志位READY是否為1,,判斷是否可以與從機通信。從機準備就緒時,,單片機可裝載1字節(jié)發(fā)送數(shù)據(jù),,啟動CPLD內(nèi)部SPI接口電路,查詢并等待SPI傳輸結(jié)束標志位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)整體性能的特點,。