基于ARM926EJ-S的溫濕度無線監(jiān)控系統(tǒng)的設(shè)計
數(shù)據(jù)采集的設(shè)計與串口傳輸
對無線溫度監(jiān)控系統(tǒng)數(shù)據(jù)采集的設(shè)計和實現(xiàn)可分為人機界面的設(shè)計、數(shù)據(jù)采集的通信協(xié)議的制定、數(shù)據(jù)采集和數(shù)據(jù)采集的串口實現(xiàn)等幾個部分。
系統(tǒng)采集的現(xiàn)場數(shù)據(jù)通過串口發(fā)送到ARM9。數(shù)據(jù)的顯示及對系統(tǒng)的操作,需要用到人機交互界面。人機交互界面主要包括圖形圖像界面和鍵盤操作界面兩部分。鍵盤輸入部分主要用于實現(xiàn)對圖形圖像界面及系統(tǒng)終端的輸入控制。
本系統(tǒng)有2個符合16C550工業(yè)標準的異步串行口UART0和UART1,即有兩個異步串行I/O端口。UARTO和UART1的發(fā)送器和接收器包含16個字節(jié)的FIFO數(shù)據(jù)緩沖區(qū)和移位寄存器,內(nèi)置波特率發(fā)生器。對將要被發(fā)送的數(shù)據(jù),首先得把它寫入FIFO數(shù)據(jù)緩沖區(qū),并復制到發(fā)送移位寄存器,然后將它從數(shù)據(jù)輸出端口進行移位輸出即可。將要被接收的數(shù)據(jù)是從數(shù)據(jù)接收端口移位輸入到移位寄存器,然后復制到FIFO中。
圖4 串口通信相關(guān)程序流程圖(b)
從現(xiàn)場采集的數(shù)據(jù),如何根據(jù)串口通信協(xié)議處理收到的上位機的數(shù)據(jù)、如何給上位機發(fā)送數(shù)據(jù),這些在很多嵌入式系統(tǒng)中都包含的UART(Universal Asynchronous Receiver Transmitter通用異步收發(fā)器)通信,UART單元提供了兩個獨立的異步串行I/O端口,支持的最高波特率為115.2kbps。UART模塊包含波特率發(fā)生器、發(fā)送器、接收器和控制單元。波特率發(fā)生器以MCLK(主時鐘)作為時鐘源。
本系統(tǒng)每隔500毫秒就查詢一次有沒有需要傳送的數(shù)據(jù)到上位機或從上位機發(fā)送的命令。如果檢測到現(xiàn)場溫度低于18℃或者高于35℃,系統(tǒng)就會向用戶發(fā)送相應(yīng)的報警信息,用戶也可以在任何時候發(fā)送命令詢問現(xiàn)場的溫度和濕度。
結(jié)束語
本文以ARM926EJ-S為微處理器,介紹了無線溫濕度監(jiān)控系統(tǒng)相關(guān)硬件,下位機人機界面軟件的設(shè)計思想,及數(shù)據(jù)的采集、發(fā)送以及和上位機的通信,系統(tǒng)的功能等。無線遠程監(jiān)控系統(tǒng)如果要代替有線監(jiān)控系統(tǒng)還需一段時間,它們會向智能化、小型化、簡便化方向發(fā)展,能對遠程終端進行各種各樣的控制,能夠?qū)崿F(xiàn)真正意義上的遠程無線監(jiān)控。
評論