基于體感網(wǎng)的可穿戴運動(dòng)監測系統
3.2 終端節點(diǎn)軟件設計
本文引用地址:http://dyxdggzs.com/article/267435.htm3.2.1 主程序
上電,進(jìn)行時(shí)鐘模塊、定時(shí)器模塊、SPI接口、IIC接口以及無(wú)線(xiàn)通信模塊的初始化配置,將無(wú)線(xiàn)通信模塊配置為接收模式,然后進(jìn)入主循環(huán)。在主循環(huán)中通過(guò)判斷標志位“ComFlag”來(lái)執行相應的操作。當ComFlag為“1”時(shí),打開(kāi)定時(shí)器中斷,讀取傳感器數據并將數據寫(xiě)入Flash。當ComFlag為“2”時(shí),關(guān)閉定時(shí)器中斷,停止數據采集。當ComFlag為“3”時(shí)將Flash數據全部擦除。當ComFlag為“4”時(shí)進(jìn)入無(wú)線(xiàn)發(fā)送狀態(tài),將數據從Flash讀出并發(fā)送。詳見(jiàn)圖6。
3.2.2 無(wú)線(xiàn)接收中斷服務(wù)程序
當接收無(wú)線(xiàn)數據時(shí),通過(guò)“IRQ”引腳可觸發(fā)單片機外部中斷。在中斷服務(wù)程序中進(jìn)行無(wú)線(xiàn)命令字符串的匹配,并給標志位ComFlag賦值。當接收到上傳命令后會(huì )進(jìn)行ID匹配,與本機地址一致時(shí),將ComFlag賦值。此部分的程序流程與網(wǎng)關(guān)節點(diǎn)的中斷服務(wù)程序流程基本一樣,請參考圖5。
3.2.3 定時(shí)器中斷服務(wù)程序
當收到“開(kāi)始”命令后,打開(kāi)定時(shí)器中斷,開(kāi)始讀取傳感器數據,每次讀取為12字節數據,在讀取后將數據寫(xiě)入Flash,記錄Flash地址。用Flash寫(xiě)入的最終地址減去初始地址進(jìn)行數據的統計。具體見(jiàn)圖7。
3.2.4 無(wú)線(xiàn)數據發(fā)送流程
與網(wǎng)關(guān)節點(diǎn)的接收流程對應,終端節點(diǎn)進(jìn)入無(wú)線(xiàn)發(fā)送狀態(tài)后,從Flash中讀取30字節數據,按位相加,將和的奇偶性作為校驗標志,添加至每幀數據尾部,打包發(fā)送一幀數據。進(jìn)入無(wú)線(xiàn)接收狀態(tài),等待網(wǎng)關(guān)節點(diǎn)應答信號,若收到“Success”則表示當前幀發(fā)送成功,繼續發(fā)送下一幀數據,若收到“Fail”則需重新發(fā)送當前數據幀。每幀數據發(fā)送成功后Flash地址增加。當Flash讀取到記錄的最終地址時(shí)候表示數據發(fā)送完畢。詳見(jiàn)圖8。
3.3 網(wǎng)絡(luò )拓撲結構設計
無(wú)線(xiàn)通信模塊負責網(wǎng)關(guān)節點(diǎn)和終端節點(diǎn)間命令的廣播和數據的傳輸,是本系統設計的核心內容,網(wǎng)絡(luò )結構的配置是體感網(wǎng)的設計的關(guān)鍵。
加速度計相關(guān)文章:加速度計原理
評論