基于AVR單片機的有害氣體紅外檢測及語音警示系統的設計
本系統采用的是串行數據通信方式,接口為RS-232串口,實驗證明這種通信方式簡單易行,符合本系統要求。本系統采用的是半雙工配置,它要求下位機和主機控制器雙方都具有獨立的發送和接收能力。
接收/發送時鐘用來控制通信設備接收/發送字符數據速度,該時鐘信號通常由微機內部的時鐘電路產生。接收數據時,接收器在接收時鐘的上升沿對接收數據采樣,進行數據位檢測。發送數據時,發送器在發送時鐘的下降沿將移位寄存器的數據串行移位輸出。
接收/發送時鐘頻率與波特率有如下關系:

式中:Fe為接收/發送時鐘頻率;n為頻率系數,n=1,16,64;vc為收/發波特率。
接收/發送時鐘的周期Tc與發送的數據位寬Td之間的關系是:

式中:n=1,16,64。
若取n=16,那么異步傳送接收數據實現同步的過程如下:接收器在每一個接收時鐘的上升沿采樣接收數據線,當發現接收數據線出現低電平時就認為是起始位的開始,以后若在連續的8個時鐘周期(因n=16,故Td=16Tc)內檢測到接收數據線仍保持為低電平,則確定它為起始位(不是干擾信號)。通過這種方法,不僅能夠排除接收線上的噪聲干擾,識別假起始位,而且能夠相當精確地確定起始位的中間點,從而提供一個準確的時間基準。從這個基準算起,每隔16Tc采樣一次數據線,作為輸入數據。一般來說,從接收數據線上檢測到一個下降沿開始,若其低電平能保持nTc/2(半位時間),則確定為起始位,其后每間隔nTc時間(一個數據位時間)在每個數據位的中間點采樣。
2通信軟件設計
系統通信軟件由下位機、主機控制器通信軟件和上位機監控軟件3部分組成。下位機通信軟件功能主要是接收主機控制器發送過來的信號,針對各下位機地址發送應答信號,再根據主機控制器發來的控制信號做出相應的反應,隨后發送主機控制器所需數據。其通信功能使用了單片機的串行中斷和查詢收發狀態標志位的方法實現。下位機平時對各監控點進行數據采集并定時存儲,當有串行中斷時執行串行中斷服務程序,判別是否為本機的地址信息,地址信息與本機地址相符時,轉為接收控制命令,并執行相應的操作;地址信息與本站地址不符時則退出中斷。下位機通信流程圖如圖4所示。

主機控制器的通信軟件實現功能主要包括呼叫各從機(下位機),并向各從機發送查詢控制命令。其工作過程為:控制器發送需呼叫的從機的地址,然后等待接收從機的應答信號,若應答信號正確即發送控制命令,若應答信號不正確則重新發送需呼叫的地址,并等待接收應答信號,接收到應答信號后接收下位機發送的數據,存儲在相對應的數據存儲區并在LCD(液晶顯示器)顯示屏中顯示出來。對同一從機多次呼叫而規定時間內無應答信號或應答信號不正確,則提示錯誤信息。圖5為主機控制器通信流程圖。

上位機監控軟件由Visual C++編寫,具有良好的可視效果,功能包括數據查詢、數據存儲、串口通信設置、視頻監控、圖表顯示(單機、多機)等。上位機的數據來自主機控制器,其通過RS-232串口網絡傳送給上位機,它的接口與RS-485網絡的接口是并行的,標準接口有25條線、4條數據線、11條控制線、3條定時線、7條備用和未定義線,但常用的只有9根。
3結束語
針對該系統,除了可以使用自己設計的上位機軟件進行調試,還可以利用一個簡單的串口調試器來實現。該系統覆蓋了單片機技術及一部分模擬、數字電路的知識,系統具有一定的操控性、工作穩定、實現容易、成本低,具有很高的使用價值,在系統建成后,運行結果表明系統工作穩定可靠,在工業控制領域有著廣闊的前景。
評論