亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于nRF24L01+的飛行器狀態(tài)監(jiān)測系統(tǒng)研究

        2022-01-18 08:32:50張月魁吳永紅蔡惠華高小強
        宇航計測技術(shù) 2021年4期
        關(guān)鍵詞:微控制器中斷飛行器

        張月魁 姜 祝 吳永紅 蔡惠華 高小強

        (1.北京航天計量測試技術(shù)研究所,北京 100076)

        1 引 言

        飛行器在運輸、存儲、飛行過程中需要對其各種狀態(tài)進行監(jiān)測用于判斷飛行器的健康狀況。飛行器需要監(jiān)測的狀態(tài)包括振動、沖擊、溫度、濕度、氣壓等。以往狀態(tài)監(jiān)測使用的傳感器多采用有線方式連接至采集裝置,電纜數(shù)量多,布線復雜,導致飛行器增加了負擔,降低了有效載荷的攜帶能力。將傳感器的數(shù)據(jù)傳輸方式變更為無線方式將可有效改善這一問題。

        目前的無線傳輸方式包括ZigBee、WIFI、藍牙等方式,其中ZigBee技術(shù)在飛行器狀態(tài)監(jiān)測中使用廣泛。但ZigBee的傳輸速度較慢,有效數(shù)據(jù)的傳輸速度實測在24Kb/s左右,當需要采集頻率較高的沖擊數(shù)據(jù)時,該技術(shù)不能保證數(shù)據(jù)傳輸?shù)挠行?,需要在?shù)據(jù)處理時采用相應算法對欠采樣的數(shù)據(jù)進行處理,甚至可能無法得到有效的結(jié)果。WIFI、藍牙具有高的數(shù)據(jù)傳輸速率,但功耗較高,在飛行器狀態(tài)監(jiān)測中使用較少。nRF24L01+是一款工作于ISM頻段的無線單片收發(fā)芯片。該芯片的體積小、功耗低(0dBm功率發(fā)送數(shù)據(jù)時,電流為11.3mA,空氣傳播速率2Mbps時,接收電流為13.5mA),傳輸速度適中(空氣中傳播速率最快2Mbps),適合應用于低功耗、中等速度的飛行器狀態(tài)監(jiān)測系統(tǒng)中。

        本文以nRF24L01+為無線傳輸核心芯片,設(shè)計了一種采用無線方式傳輸狀態(tài)數(shù)據(jù)的飛行器狀態(tài)監(jiān)控系統(tǒng),實現(xiàn)了飛行器沖擊、振動、溫度、濕度、氣壓的監(jiān)測。

        2 系統(tǒng)總體結(jié)構(gòu)

        系統(tǒng)總體結(jié)構(gòu)如圖1所示。

        圖1 飛行器狀態(tài)監(jiān)控系統(tǒng)總體結(jié)構(gòu)圖

        狀態(tài)監(jiān)控系統(tǒng)由三部分組成:數(shù)據(jù)讀取計算機、主節(jié)點、各狀態(tài)監(jiān)測子節(jié)點。數(shù)據(jù)讀取計算機通過USB(TTL電平)轉(zhuǎn)換器監(jiān)控或讀取主節(jié)點的狀態(tài)監(jiān)測數(shù)據(jù)。主節(jié)點通過無線方式獲取各狀態(tài)監(jiān)測節(jié)點的狀態(tài)數(shù)據(jù)。狀態(tài)監(jiān)測節(jié)點完成狀態(tài)數(shù)據(jù)的獲取。

        3 硬件設(shè)計

        3.1 數(shù)據(jù)讀取計算機選型

        數(shù)據(jù)讀取計算機可使用工控機或筆記本電腦,由于系統(tǒng)僅用于數(shù)據(jù)監(jiān)測或讀取,不需要過高的配置,除運行系統(tǒng)必要的資源外,運行監(jiān)控軟件只需512MBytes內(nèi)存和512MBytes硬盤存儲空間即可。

        3.2 主節(jié)點硬件設(shè)計

        主節(jié)點以微控制器為核心,通過SPI接口分別與nRF24L01+和FLASH存儲器通信,完成無線數(shù)據(jù)傳輸和數(shù)據(jù)存儲。其結(jié)構(gòu)如圖2所示。

        圖2 主節(jié)點硬件結(jié)構(gòu)圖

        主節(jié)點微控制器選擇STM32F103RET6,其采用ARM公司Cortex M3內(nèi)核,運行時鐘可達72MHz,內(nèi)部集成FLASH存儲器和SRAM,可在不擴展外部存儲的情況下,完成最小系統(tǒng)的搭建,內(nèi)部資源及接口豐富,具有3個SPI硬件接口,接口最快時鐘頻率為18MHz,具備4種工作模式,滿足節(jié)點對控制器硬件的需求。

        FLASH存儲器采用W25N01GVZEIT,其容量為128MBytes,可通過SPI接口與外部進行數(shù)據(jù)交換,數(shù)據(jù)讀寫速度快且功耗低至82.5mW,可進行100000次擦寫,所存儲數(shù)據(jù)可以保存10年以上,滿足本設(shè)計對容量、速度和功耗的要求。

        無線數(shù)據(jù)傳輸芯片的有效數(shù)據(jù)傳輸速度實測最大值為440kb/s,由于系統(tǒng)采用非標準協(xié)議進行數(shù)據(jù)傳輸,為減輕數(shù)據(jù)擁塞及CPU負擔,主節(jié)點使用兩個nRF24lL01+進行數(shù)據(jù)傳輸,充分利用了微控制器的SPI接口。

        3.3 狀態(tài)監(jiān)測節(jié)點硬件設(shè)計

        狀態(tài)監(jiān)測節(jié)點同樣以微處理器為核心,通過SPI接口與nRF24L01+通信完成數(shù)據(jù)的傳輸,通過模擬或數(shù)字接口連接傳感器,獲取狀態(tài)數(shù)據(jù),如圖3所示。

        圖3 狀態(tài)監(jiān)測節(jié)點硬件結(jié)構(gòu)圖

        狀態(tài)監(jiān)測節(jié)點的微控制器同樣采用STM32F103RET6,該款單片機內(nèi)部集成了模數(shù)轉(zhuǎn)換器和SPI等數(shù)字接口,符合節(jié)點對微控制器的要求。

        系統(tǒng)對飛行器的以下狀態(tài)進行監(jiān)測:沖擊、振動、溫度、濕度、氣壓。其中,沖擊、低頻振動傳感器輸出的是模擬信號,需要經(jīng)過信號調(diào)理電路后由微控制器內(nèi)部的ADC進行數(shù)據(jù)采集。高頻振動、溫度、濕度、氣壓傳感器的輸出為數(shù)字信號,由微控制器的SPI或數(shù)字接口進行數(shù)據(jù)采集。各傳感器的技術(shù)指標如表1所示。

        從表1中可以看出,數(shù)據(jù)傳輸速度相對最大數(shù)據(jù)傳輸速度有較大裕量,因此各狀態(tài)監(jiān)測節(jié)點中只需1片nRF24L01+即可保證數(shù)據(jù)的傳輸。而在主節(jié)點中,nRF24L01+_1負責與沖擊狀態(tài)監(jiān)測節(jié)點進行通信,nRF24L01+_2負責與其它狀態(tài)監(jiān)測節(jié)點進行通信。

        表1 飛行器狀態(tài)監(jiān)測參數(shù)技術(shù)指標

        4 軟件設(shè)計

        本部分按照狀態(tài)監(jiān)測數(shù)據(jù)采集、傳輸、存儲和讀取的順序說明系統(tǒng)軟件的工作過程。

        4.1 狀態(tài)監(jiān)測節(jié)點軟件設(shè)計

        狀態(tài)監(jiān)測節(jié)點負責狀態(tài)數(shù)據(jù)的采集并將數(shù)據(jù)傳輸至主節(jié)點。狀態(tài)監(jiān)測節(jié)點軟件包括主函數(shù)、無線芯片中斷處理函數(shù),定時器1中斷處理函數(shù)和定時器2中斷處理函數(shù)。函數(shù)的工作流程如圖4所示。

        圖4 狀態(tài)監(jiān)測節(jié)點程序流程圖

        主函數(shù)負責數(shù)據(jù)的整體處理流程。節(jié)點上電后,微控制器首先對自身的系統(tǒng)資源進行初始化,包括GPIO口、定時器、SPI接口、USART接口的初始化。其次,程序?qū)λ褂玫牡淖兞窟M行初始化,對中斷資源進行配置并打開相應中斷。最后,主函數(shù)在是否處理nRF24L01+中斷、是否切換nRF24L01+收發(fā)狀態(tài)、是否復位nRF24L01+三個狀態(tài)之間不斷進行切換,完成相應工作。

        nRF24L01+接口有IRQ引腳,用于指示nRF24L01+中斷的狀態(tài),在IRQ引腳拉低后,程序觸發(fā)nRF24L01+中斷,在中斷處理函數(shù)中,程序僅置位相應標志,中斷的處理則放置在主函數(shù)中。觸發(fā)nRF24L01+中斷的事件有三類,數(shù)據(jù)發(fā)送完成、數(shù)據(jù)接收完成和數(shù)據(jù)重傳完成。nRF24L01+以32個字節(jié)數(shù)據(jù)為一幀進行傳輸,當數(shù)據(jù)傳輸完成時觸發(fā)數(shù)據(jù)發(fā)送完成中斷,此時程序判斷是否還有待發(fā)送幀以決定是否繼續(xù)傳輸。數(shù)據(jù)接收完成中斷在主節(jié)點發(fā)送數(shù)據(jù)請求命令時產(chǎn)生,當狀態(tài)監(jiān)測節(jié)點收到命令后,開始數(shù)據(jù)的傳輸。數(shù)據(jù)重傳中斷發(fā)生在通信質(zhì)量不佳的情況下,此時需要重傳數(shù)據(jù)并開始通信質(zhì)量不佳的計數(shù),當通信質(zhì)量持續(xù)不佳時,將nRF24L01+復位為數(shù)據(jù)接收狀態(tài)。通信質(zhì)量不佳除通信信號弱的原因外,還有可能是由于主節(jié)點和狀態(tài)監(jiān)測節(jié)點同時處于發(fā)狀態(tài)造成的。

        nRF24L01+收發(fā)狀態(tài)的切換在以下情況發(fā)生:當接收到主節(jié)點的數(shù)據(jù)請求命令后,nRF24L01+的狀態(tài)由收變?yōu)榘l(fā);當向主節(jié)點發(fā)送完64幀數(shù)據(jù)后,nRF24L01+的狀態(tài)由發(fā)變?yōu)槭铡?/p>

        當nRF24L01+處于空閑狀態(tài)時間過長時,nRF24L01+復位為收狀態(tài),以保證節(jié)點間輪詢時間過長或發(fā)生其它未知錯誤時,nRF24L01+始終處于接收主節(jié)點數(shù)據(jù)請求命令的狀態(tài)。

        定時器1中斷用于節(jié)點計時及傳感器數(shù)據(jù)的采集。狀態(tài)監(jiān)測節(jié)點具有自身的時間基準,同時在接收的主節(jié)點數(shù)據(jù)幀中包含主節(jié)點的時間信息,兩者結(jié)合能得到整個系統(tǒng)的統(tǒng)一時間標準,節(jié)點的計時周期為1ms。當?shù)竭_數(shù)據(jù)采集的時間結(jié)點時進行數(shù)據(jù)采集,由于每次數(shù)據(jù)采集的時間最多在10us左右,因此數(shù)據(jù)采集放在中斷程序中執(zhí)行。

        定時器2中斷用于收發(fā)及復位狀態(tài)的計時。節(jié)點設(shè)置了收發(fā)狀態(tài)轉(zhuǎn)換時的中間態(tài),用于保證數(shù)據(jù)收發(fā)時序的正確執(zhí)行,減少主節(jié)點和狀態(tài)監(jiān)測節(jié)點同時處于發(fā)狀態(tài)的幾率。中間態(tài)由定時器2進行計時。當節(jié)點由收狀態(tài)經(jīng)中間態(tài)到達發(fā)狀態(tài)時,由定時器2程序開始第一幀首字節(jié)數(shù)據(jù)的傳輸。同時,定時器2還有類似看門狗的功能,當數(shù)據(jù)收發(fā)時間過長,不能定時清零定時器2的復位計數(shù)時,復位設(shè)置被執(zhí)行,狀態(tài)監(jiān)測節(jié)點回到收狀態(tài)。

        4.2 主節(jié)點軟件設(shè)計

        主節(jié)點負責輪詢各狀態(tài)監(jiān)測節(jié)點數(shù)據(jù)并將數(shù)據(jù)存入FLASH存儲器,同時,數(shù)據(jù)可通過串口被數(shù)據(jù)讀取計算機讀取。根據(jù)系統(tǒng)使用環(huán)境的不同,主節(jié)點的工作模式可設(shè)置為命令啟動數(shù)據(jù)采集或上電啟動數(shù)據(jù)采集。當飛行器處于運輸、存儲環(huán)節(jié)時,系統(tǒng)可設(shè)置為命令啟動數(shù)據(jù)采集,此時數(shù)據(jù)讀取計算機可以向主節(jié)點發(fā)送開始數(shù)據(jù)采集命令,主節(jié)點可向數(shù)據(jù)讀取計算機定時發(fā)送數(shù)據(jù),使系統(tǒng)的工作狀態(tài)受控。當飛行器處于飛行環(huán)節(jié)時,系統(tǒng)可設(shè)置為上電啟動數(shù)據(jù)采集,此時,主節(jié)點FLASH中存儲的數(shù)據(jù)將在飛行器飛行結(jié)束后,由工作人員將主節(jié)點取回并由數(shù)據(jù)讀取計算機讀取數(shù)據(jù)。主節(jié)點軟件可分為主函數(shù)、定時器1中斷處理函數(shù)和定時器2中斷處理函數(shù)。函數(shù)的工作流程如圖5所示。

        圖5 主節(jié)點程序流程圖

        主函數(shù)負責數(shù)據(jù)的整體處理流程,包括兩個nRF24L01+的輪詢策略以及FLASH數(shù)據(jù)存儲。節(jié)點上電后,微控制器對系統(tǒng)資源、使用的的變量進行初始化,對中斷資源進行配置并打開相應中斷。隨后,主函數(shù)在是否處理nRF24L01+_1/2中斷、是否切換nRF24L01+_1/2收發(fā)狀態(tài)或復位、是否向FLASH中寫入數(shù)據(jù)三個狀態(tài)之間不斷進行切換,完成相應工作。

        nRF24L01+_1/2中斷同樣是由IRQ引腳觸發(fā),在中斷處理函數(shù)中,程序僅置位相應標志,中斷的處理放在主函數(shù)中。nRF24L01+_1/2的中斷事件類型與狀態(tài)監(jiān)測節(jié)點一致。nRF24L01+_1/2的發(fā)送完成中斷發(fā)生在數(shù)據(jù)請求命令傳輸完成之后。nRF24L01+_1/2的接收完成中斷發(fā)生在接收一幀監(jiān)測數(shù)據(jù)之后,當接收到64幀數(shù)據(jù)之后,置位相應標志,nRF24L01+_2還需進行狀態(tài)監(jiān)測節(jié)點的切換。數(shù)據(jù)重傳中斷發(fā)生的nRF24L01+_1/2復位,將nRF24L01+_1復位為發(fā)送沖擊狀態(tài)監(jiān)測數(shù)據(jù)請求命令,將nRF24L01+_2復位為發(fā)送高頻振動狀態(tài)監(jiān)測數(shù)據(jù)請求命令。

        nRF24L01+_1/2收發(fā)狀態(tài)的切換在以下情況發(fā)生:當接收到狀態(tài)監(jiān)測節(jié)點的64幀數(shù)據(jù)后,nRF24L01+_1/2的狀態(tài)由收變?yōu)榘l(fā);當向狀態(tài)監(jiān)測節(jié)點發(fā)送完數(shù)據(jù)請求命令后,nRF24L01+_1/2的狀態(tài)由發(fā)變?yōu)槭眨琻RF24L01+_1/2收發(fā)狀態(tài)轉(zhuǎn)換同樣有過渡的中間態(tài)。

        當nRF24L01+_1/2處于空閑狀態(tài)時間過長時,nRF24L01+_1/2復位,復位后的狀態(tài)與重傳中斷一致。

        向FLASH中寫入數(shù)據(jù)的條件是節(jié)點接收到完整的64幀數(shù)據(jù)并且節(jié)點處于收發(fā)轉(zhuǎn)換的中間態(tài)。為提高讀寫效率并延長FLASH的使用壽命,F(xiàn)LASH讀寫為頁讀寫。所用FLASH存儲器中一頁包含2048字節(jié),nRF24L01+的一幀數(shù)據(jù)包含32字節(jié),因此以64幀為一個完整讀寫單位。對于溫度、濕度、氣壓三種數(shù)據(jù)采集慢的狀態(tài)監(jiān)測節(jié)點,有效數(shù)據(jù)為60字節(jié),其余字節(jié)為無效數(shù)據(jù),以避免該類節(jié)點長時間無數(shù)據(jù)寫入。

        定時器1中斷用于節(jié)點計時,計時周期為1ms。

        定時器2中斷用于nRF24L01+_1/2收發(fā)及復位狀態(tài)、狀態(tài)監(jiān)測節(jié)點切換的計時。主節(jié)點收發(fā)狀態(tài)轉(zhuǎn)換時的中間態(tài)由定時器2進行計時。當節(jié)點由收狀態(tài)經(jīng)中間態(tài)到達發(fā)狀態(tài)時,由定時器2程序開始數(shù)據(jù)請求命令的傳輸。同樣,定時器2有復位計時功能,復位狀態(tài)與前述一致。當主節(jié)點向某狀態(tài)監(jiān)測節(jié)點索要數(shù)據(jù)時間過長時,主節(jié)點認為通信出現(xiàn)問題或狀態(tài)監(jiān)測節(jié)點本身出現(xiàn)問題,此時進行節(jié)點切換,以保證其他狀態(tài)監(jiān)測節(jié)點的數(shù)據(jù)傳輸不受影響。

        4.3 數(shù)據(jù)讀取軟件設(shè)計

        數(shù)據(jù)讀取軟件用于向主節(jié)點發(fā)送開始數(shù)據(jù)采集命令、監(jiān)控網(wǎng)絡(luò)運行狀態(tài)和主節(jié)點存儲數(shù)據(jù)的讀取。數(shù)據(jù)讀取軟件由面向?qū)ο笳Z言C#開發(fā),開發(fā)環(huán)境為Visual Studio 2010,軟件界面如圖6所示。

        圖6 數(shù)據(jù)讀取軟件界面

        該軟件包含兩部分功能:當飛行器處于運輸或存儲狀態(tài)時,軟件可以監(jiān)控系統(tǒng)運行狀態(tài),此時圖形以每2k字節(jié)抽取固定數(shù)據(jù)顯示監(jiān)測結(jié)果;當飛行器處于飛行狀態(tài)后,軟件只能以后處理方式讀取FLASH中存儲的數(shù)據(jù),并以圖形方式顯示。圖6是存儲狀態(tài)下,各狀態(tài)監(jiān)測節(jié)點的數(shù)據(jù)情況。圖中,沖擊值在0到1之間漂移是由模擬量采集后進行數(shù)字化造成的,沖擊值只有飛行器受到大的沖擊(飛行或擊中目標)時才有意義;振動部分為1g的值表示垂直地球表面的重力加速度;氣壓、溫度、濕度值分別為0.1Mpa、26℃、49(46)%,其表示當前的存儲環(huán)境為常規(guī)狀態(tài)??梢?,所設(shè)計系統(tǒng)實現(xiàn)了飛行器狀態(tài)的有效監(jiān)測。

        5 結(jié)束語

        針對飛行器狀態(tài)監(jiān)測的實際需求,設(shè)計了包含數(shù)據(jù)讀取計算機、主節(jié)點、狀態(tài)監(jiān)測節(jié)點架構(gòu)的狀態(tài)監(jiān)測系統(tǒng),實現(xiàn)了飛行器的狀態(tài)監(jiān)測,為飛行器狀態(tài)監(jiān)測方式的發(fā)展提供了一種有效可行的解決方案。

        猜你喜歡
        微控制器中斷飛行器
        高超聲速飛行器
        復雜飛行器的容錯控制
        電子制作(2018年2期)2018-04-18 07:13:25
        物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學中的應用
        電子制作(2017年14期)2017-12-18 07:07:58
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        神秘的飛行器
        Atmel針對新一代物聯(lián)網(wǎng)應用發(fā)布全新32位微控制器
        最新STM32設(shè)計工具增加對混合信號微控制器的支持
        意法半導體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
        AT89C51與中斷有關(guān)的寄存器功能表解
        欧美xxxxx高潮喷水麻豆| 国产免费一区二区av| 国产高清不卡在线视频| 日本一区二区在线免费视频| 久久99精品久久久久久9蜜桃| 国产美女遭强高潮网站| 日韩无码尤物视频| 亚洲捆绑女优一区二区三区| 久久精品亚洲精品国产色婷| 男人边吃奶边做好爽免费视频 | 国产精品兄妹在线观看麻豆| 亚洲影院天堂中文av色| 亚洲免费无毛av一区二区三区| 91九色播放在线观看| av中文字幕潮喷人妻系列| 精品午夜福利1000在线观看| 国产一区二区内射最近人| 久久精品一区二区三区蜜桃| 一本久久a久久精品vr综合| 二区三区视频| 91亚洲最新国语中文字幕| 日本视频一区二区三区一| 影音先锋男人站| 久久精品国产免费观看99| 高清成人在线视频播放| 久久久精品午夜免费不卡| 国外精品视频在线观看免费| 久久久久综合一本久道| 成av人片一区二区久久| 免费成人在线电影| 国产一区a| 日本高清色一区二区三区| 精品亚洲麻豆1区2区3区| 亚洲av无码一区二区三区系列| 尤物yw午夜国产精品视频 | 亚洲av区,一区二区三区色婷婷| 99精品国产一区二区三区| 国产精品成人午夜久久| 国产不卡av一区二区三区| 无码gogo大胆啪啪艺术| 老熟女毛茸茸浓毛|