基于傳感器網(wǎng)絡(luò)的巖土工程應(yīng)力監(jiān)測(cè)解決方案
2、軟件設(shè)計(jì)
系統(tǒng)主要通過TI公司提供的編譯器IAR Embedded Workbench 430 4.21進(jìn)行編程,通過對(duì)SPI口、ADC口、定時(shí)器以及CC2420的配置,完成一系列數(shù)據(jù)收發(fā)。本文將以點(diǎn)對(duì)點(diǎn)通信為例,將系統(tǒng)程序分為數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊予以介紹。
2.1 數(shù)據(jù)發(fā)送模塊
本模塊主要負(fù)責(zé)控制傳感器定時(shí)采集數(shù)據(jù),并通過模數(shù)轉(zhuǎn)換將采集到的電信號(hào)轉(zhuǎn)換為數(shù)據(jù),最后通過設(shè)置CC2420將數(shù)據(jù)通過2.4 GHz信道發(fā)送出去。
程序首先對(duì)單片機(jī)的各個(gè)需要模塊進(jìn)行初始化,再通過SPI串口對(duì)CC2420進(jìn)行配置寄存器以及設(shè)置源地址、目的地址等。初始化完成后,單片機(jī)進(jìn)入低功耗模式等待定時(shí)中斷到來。通過軟件設(shè)置,可以設(shè)定采集數(shù)據(jù)周期。當(dāng)采集數(shù)據(jù)數(shù)目達(dá)到預(yù)定值后,將按預(yù)先規(guī)定格式將所采集數(shù)據(jù)、目的地址等依次寫入發(fā)送緩沖器,然后發(fā)送出去。按照自定義協(xié)議,若數(shù)據(jù)成功接收,發(fā)送端將會(huì)接收到確認(rèn)幀。具體發(fā)送流程如圖5所示。
2.2 數(shù)據(jù)接收模塊
數(shù)據(jù)接收模塊的功能是把從發(fā)送節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù),通過單片機(jī)控制GPRS模塊,將數(shù)據(jù)以短信形式發(fā)送出去,具體程序流程如圖6所示 。初始化過程與數(shù)據(jù)采集模塊相同,初始化完成后單片機(jī)進(jìn)入低功耗模式等待接收數(shù)據(jù)。在配置CC2420時(shí),已預(yù)先設(shè)置好觸發(fā)FIFOP中斷的條件,當(dāng)接收數(shù)據(jù)長(zhǎng)度超出預(yù)設(shè)值時(shí),F(xiàn)IFOP電平變化,觸發(fā)單片機(jī)中斷。CC2420首先進(jìn)行地址確認(rèn),若數(shù)據(jù)中的目的地址與本節(jié)點(diǎn)地址吻合,則地址確認(rèn)成功,硬件自動(dòng)發(fā)送確認(rèn)幀。發(fā)送后,按照協(xié)議規(guī)定,依次讀出幀長(zhǎng)度、控制幀以及用戶數(shù)據(jù)等。通過對(duì)收到數(shù)據(jù)的分析,在應(yīng)力數(shù)據(jù)值超過預(yù)定門限值時(shí),調(diào)用函數(shù)將應(yīng)力數(shù)據(jù)通過短信發(fā)送到監(jiān)測(cè)人員手機(jī)。
另外,傳感器采集節(jié)點(diǎn)發(fā)送的整型數(shù)據(jù)需要通過ASCII碼轉(zhuǎn)換將其變?yōu)樽址蛿?shù)據(jù)才能發(fā)送。將編碼后的數(shù)據(jù)封裝到AT命令中,然后通過串口寫入GPRS模塊便可達(dá)到發(fā)送短信的目的。
評(píng)論