無線傳感器網(wǎng)絡(luò)是由大量傳感器節(jié)點(diǎn)通過無線通信自組織構(gòu)成的網(wǎng)絡(luò),,被認(rèn)為是將對(duì)21世紀(jì)產(chǎn)生巨大影響力的技術(shù)之一。在分布式測(cè)試中使用無線傳感器網(wǎng)絡(luò),,不受通信電纜的限制,、組態(tài)靈活、重構(gòu)性強(qiáng),,可以在較惡劣的測(cè)試環(huán)境中使用,。由無線傳感器網(wǎng)絡(luò)組成的分布式測(cè)試系統(tǒng)已應(yīng)用于水中爆炸測(cè)試系統(tǒng)。在一些分布場(chǎng)測(cè)試系統(tǒng)中,,被測(cè)量種類繁雜,,為完成測(cè)試任務(wù),節(jié)點(diǎn)采用模塊化設(shè)計(jì),,SPI接口電路簡(jiǎn)單,、傳輸速度快,各模塊通過SPI總線通信協(xié)同完成測(cè)試任務(wù),。但在實(shí)際開發(fā)應(yīng)用中,,由于系統(tǒng)要求,使某些模塊與多個(gè)模塊鏈接,,且接口工作在不同的模式下,,如果完成通信需要功能模塊的SPI接口主從切換,致使通信速度與靈活性降低,。CPLD具有可編程性特點(diǎn),,可根據(jù)需要擴(kuò)展專用SPI接口電路,,提高系統(tǒng)通信速度與靈活性,方便系統(tǒng)擴(kuò)展功能模塊,,提高系統(tǒng)整體性能,。
1 節(jié)點(diǎn)的模塊化設(shè)計(jì)及其接口電路
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)采用模塊化的設(shè)計(jì)方法,,每個(gè)節(jié)點(diǎn)包括無線收發(fā)模塊,、核心主控模塊和功能模塊。系統(tǒng)通過無線收發(fā)模塊接收主站發(fā)送的命令碼,,核心主控模塊對(duì)命令解碼,,完成對(duì)各功能模塊的控制(開啟采集、時(shí)統(tǒng)清零等),。系統(tǒng)要完成多次重復(fù)性試驗(yàn),,因此每次試驗(yàn)完畢要把實(shí)驗(yàn)數(shù)據(jù)(沖擊波數(shù)據(jù)、環(huán)境變量信息,、時(shí)統(tǒng)跟定位信息等)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)管理模塊統(tǒng)一管理,,同時(shí)準(zhǔn)備下次試驗(yàn)。系統(tǒng)工作時(shí),,數(shù)據(jù)儲(chǔ)存管理模塊SPI接口一方面工作在從模式,,接收主控模塊發(fā)送的命令;另一方面工作在主模式,,轉(zhuǎn)發(fā)控制其他功能模塊的命令碼并讀取試驗(yàn)數(shù)據(jù)進(jìn)行統(tǒng)一管理,,圖1為在其內(nèi)擴(kuò)展專用工作在主模式下的SPI接口的模塊問鏈接圖。專用工作在主模式下的SPI接口電路,,具有提高模塊間數(shù)據(jù)傳輸速度與靈活性等特點(diǎn),。
2 SPI接口電路設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)管理系統(tǒng)以單片機(jī)和可編程邏輯器件組成核心控制器??删幊踢壿嬈骷﨏PLD依據(jù)其編程靈活,、易修改的特點(diǎn),配合單片機(jī)在其內(nèi)部擴(kuò)展SPI接口電路,,不僅簡(jiǎn)化了接口和控制,,且提高了系統(tǒng)的整體性能及系統(tǒng)擴(kuò)展性。
SPI接口電路設(shè)計(jì)分兩部分:
(1)硬件部分:CPLD內(nèi)擴(kuò)展SPI接口框圖如圖2,。在CPLD內(nèi)部編寫雙向IO總線,、地址鎖存譯碼電路、時(shí)鐘發(fā)生器,、接收和發(fā)送數(shù)據(jù)移位寄存器,、傳輸結(jié)束標(biāo)志SPIF產(chǎn)生器等電路完成SPI接口電路設(shè)計(jì)。READY1為與從機(jī)(沖擊波模塊等)通信時(shí)狀態(tài)標(biāo)志位,,用于當(dāng)主機(jī)與從機(jī)通信時(shí)查詢使用,,READY1為1時(shí),,可讀取沖擊波數(shù)據(jù)。
當(dāng)單片機(jī)發(fā)送數(shù)據(jù)時(shí),,IO總線首先發(fā)送地址碼,,地址鎖存譯碼電路生成數(shù)據(jù)裝載使能片選信號(hào),之后IO總線待發(fā)送字節(jié)鎖存到數(shù)據(jù)寄存器SPDR,,同時(shí)Sek時(shí)鐘發(fā)生器產(chǎn)生8個(gè)Sek時(shí)鐘,,SPDR移位寄存器在Sek的時(shí)鐘沿把待發(fā)送字節(jié)從MOSI順序移出,同時(shí)把MISO引腳數(shù)據(jù)移入SPDR寄存器,,Sek計(jì)數(shù)器計(jì)數(shù)到8個(gè)Sek時(shí)鐘后,,產(chǎn)生SPIF傳輸結(jié)束標(biāo)志,單片機(jī)讀取SPIF標(biāo)志是否為1,,判斷一字節(jié)時(shí)候傳輸完畢,。
(2)軟件部分:?jiǎn)纹瑱C(jī)為主控制器,首先查詢從機(jī)狀態(tài)標(biāo)志位READY是否為1,,判斷是否可以與從機(jī)通信,。從機(jī)準(zhǔn)備就緒時(shí),單片機(jī)可裝載1字節(jié)發(fā)送數(shù)據(jù),,啟動(dòng)CPLD內(nèi)部SPI接口電路,,查詢并等待SPI傳輸結(jié)束標(biāo)志位SPIF為1,完成一字節(jié)數(shù)據(jù)傳輸,,如此重復(fù),。圖3、圖4為主機(jī)發(fā)送與接收1字節(jié)流程圖,。
3 試驗(yàn)結(jié)果與分析
圖5為邏輯分析儀捕獲CPLD擴(kuò)展SPI接口電路讀取沖擊波模塊數(shù)據(jù)時(shí)波形,。
bit8:READY信號(hào),從機(jī)高電平時(shí)主機(jī)讀取數(shù)據(jù),;bit9:Sck時(shí)鐘信號(hào),,主機(jī)查詢READY為高時(shí)裝載發(fā)送字節(jié),并產(chǎn)生8個(gè)Sek時(shí)鐘,,啟動(dòng)SPI傳輸,;bit10:MOSI,主機(jī)輸出端口,;bit11:MISO,,主機(jī)輸入端口,Sek上升沿讀取數(shù)據(jù),,連續(xù)兩個(gè)周期讀取的數(shù)據(jù)分別為0x07(000001 11),,0Xb0(10110000),兩周期時(shí)間間隔為20.400us,傳輸速度可達(dá)4×105bps,,滿足系統(tǒng)要求,。
結(jié)束語
為了滿足系統(tǒng)測(cè)試任務(wù),無線傳感器節(jié)點(diǎn)采用模塊化設(shè)計(jì),,各功能模塊通過SPI接口鏈接,。由于系統(tǒng)功能要求,使一個(gè)模塊與多個(gè)模塊鏈接通信,,其接口電路SPI工作在不同的主從機(jī)模式,,使用單一SPI接口主從切換,勢(shì)必降低模塊間通信速度與靈活性,。依據(jù)可編程邏輯器件CPLD有其編程靈活,、易擴(kuò)展性,在模塊內(nèi)部擴(kuò)展專用SPI接口,,試驗(yàn)證明SPI接口電路設(shè)計(jì),有簡(jiǎn)化模塊間連接,、提高通信速度,、系統(tǒng)擴(kuò)展性強(qiáng),以及提高系統(tǒng)整體性能的特點(diǎn),。