基于W77E58單片機的通用數(shù)據(jù)采集和通訊儀的設(shè)計
為了使設(shè)計的數(shù)據(jù)采集儀應(yīng)用方便,系統(tǒng)利用PTR2000無線數(shù)據(jù)傳輸模塊與上位機進行通訊,以便能隨時響應(yīng)控制中心的PC機的數(shù)據(jù)上傳命令,將采集到的數(shù)據(jù)實時上傳給控制中心。PTR2000是一種超小型、低功耗、高速率的無線收發(fā)數(shù)據(jù)傳輸模塊。其通訊速率最高可達20Mbit/s,也可工作在其他速率,如4800bit/s、9600bit/s。系統(tǒng)無線數(shù)據(jù)傳輸原理圖如圖6所示。本文引用地址:http://www.ex-cimer.com/article/173610.htm
PTR2000可直接與單片機的串口TXD、RXD相連接。PTR2000無線MODEM的DO和DI引腳分別連接單片機串口的RXD和TXD,這樣單片機就可以和無線數(shù)據(jù)傳輸模塊進行串行通信。PTR2000的PWR腳和單片機的P1.0腳相連,以便對無線數(shù)據(jù)傳輸模塊的電源進行管理,TXEN與單片機的P1.1腳連接,控制PTR2000無線收發(fā)模塊的收發(fā)狀態(tài)轉(zhuǎn)換。上位機通過PTR2000與單片機進行實時通訊。由于上位機串口通常采用RS-232 電平,而單片機串口使用的是TTL電平,故PTR2000與上位機連接時必須將TTL電平轉(zhuǎn)換成RS-232電平,系統(tǒng)采用MAXM公司的MAX232芯片進行轉(zhuǎn)換。上位機用串口的RTS與PTR2000的TXEN連接來控制PTR2000無線收發(fā)模塊的收發(fā)狀態(tài)轉(zhuǎn)換。
2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件采用模塊化設(shè)計,主程序首先對各接口芯片進行初始化,然后分別調(diào)用各個子程序模塊以進入各個數(shù)據(jù)采集子系統(tǒng),并將采集到的數(shù)據(jù)存儲在32K字節(jié)的串行E2PROM AT24C256中,以備控制中心查詢,同時將對應(yīng)的數(shù)據(jù)在液晶顯示器上顯示。如果系統(tǒng)接收到上位機的數(shù)據(jù)上傳命令,就將存儲在E2PROM中的數(shù)據(jù)通過 PTR2000發(fā)送給PC機。系統(tǒng)主程序流程如圖7所示。
串口通信程序中雙方通信協(xié)議是至關(guān)重要的,這關(guān)系到無線數(shù)據(jù)傳輸?shù)目煽啃?,本系統(tǒng)約定雙方的通信協(xié)議格式如下:串行通信使用單片機的內(nèi)部定時器/計數(shù)器1 作為波特率發(fā)生器,本系統(tǒng)波特率設(shè)定為4800 bit/s;幀格式為1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗;通信采用中斷方式;上位機采用COM 1通信。在設(shè)計時,數(shù)據(jù)傳輸通道也采用光電隔離來提高系統(tǒng)的抗干擾能力,并且采用了CRC校驗以確保數(shù)據(jù)傳輸?shù)臏蚀_。單片機系統(tǒng)初始化時,將單片機的 P1.1腳設(shè)置為低電平,這就可使得在默認狀態(tài)下,PTR2000處于接收狀態(tài),以便時刻監(jiān)聽上位機的數(shù)據(jù)上傳命令。當(dāng)接收到上位機的命令后,中斷服務(wù)程序?qū)?shù)據(jù)從單片機數(shù)據(jù)緩沖區(qū)取出,同時將模塊的接收狀態(tài)切換為發(fā)射狀態(tài),轉(zhuǎn)換過程所需時間約5ms,然后將這些數(shù)據(jù)以FSK的調(diào)制形式發(fā)射出去, PTR2000模塊隨后恢復(fù)為接收狀態(tài)。從單片機系統(tǒng)發(fā)射的數(shù)據(jù)經(jīng)上位機系統(tǒng)中的PTR2000接收,由RS232接口進行電平轉(zhuǎn)換,送進上位機,上位機對數(shù)據(jù)進行分析和處理后,向單片機系統(tǒng)發(fā)送一個確認數(shù)據(jù)包,以確認單片機系統(tǒng)數(shù)據(jù)包的正確性。上位機接收完數(shù)據(jù)后,它的PTR2000模塊又恢復(fù)為常發(fā)射狀態(tài)。如果數(shù)據(jù)在傳輸?shù)倪^程中有數(shù)據(jù)丟失,上位機將要求單片機系統(tǒng)重新發(fā)送數(shù)據(jù),直到數(shù)據(jù)全部正確為止,串行中斷服務(wù)程序如圖8所示。
3 結(jié)束語
本文利用8位單片機設(shè)計的通用數(shù)據(jù)采集系統(tǒng),可以作為工業(yè)現(xiàn)場的遠程監(jiān)控終端來使用,也可以方便的設(shè)計成便攜式智能數(shù)據(jù)采集和通訊儀表,由于數(shù)據(jù)傳輸采用了無線方式,使其能夠非常廣泛的應(yīng)用于工業(yè)上需要數(shù)據(jù)采集的場合,具有比較高的實際應(yīng)用價值。
評論