《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于W77E58的通訊儀的設(shè)計方案
基于W77E58的通訊儀的設(shè)計方案
丁明亮 張娟
摘要: 本文采用臺灣華邦公司生產(chǎn)的高性能Turbo-51系列單片機W77E58,實現(xiàn)了一種基于單片機的通用數(shù)據(jù)采集和通訊儀的研制,具有較高的實用價值。為了使設(shè)計的數(shù)據(jù)采集儀應(yīng)用方便,系統(tǒng)利用PTR2000無線數(shù)據(jù)傳輸模塊與上位機
Abstract:
Key words :

本文采用臺灣華邦公司生產(chǎn)的高性能Turbo-51系列單片機 W77E58,實現(xiàn)了一種基于單片機的通用數(shù)據(jù)采集通訊儀的研制,具有較高的實用價值。為了使設(shè)計的數(shù)據(jù)采集儀應(yīng)用方便,系統(tǒng)利用PTR2000無線數(shù)據(jù)傳輸模塊與上位機進行通訊,以便能隨時響應(yīng)控制中心的PC機的數(shù)據(jù)上傳命令,將采集到的數(shù)據(jù)實時上傳給控制中心。

  1 系統(tǒng)硬件設(shè)計

  本文設(shè)計的通用數(shù)據(jù)采集和通訊儀能夠?qū)Ω鞣N現(xiàn)場設(shè)備的標準輸出信號進行采集,包括傳感器輸出的0-5V/4-20mA模擬信號;開關(guān)量信號;頻率量信號;此外系統(tǒng)還具有RS-485接口,以便能夠與現(xiàn)場具有485接口的智能儀表相連接。為了實現(xiàn)良好的人機交互,系統(tǒng)擴展了鍵盤輸入,液晶顯示,實時時鐘以及現(xiàn)場故障報警指示電路等模塊。系統(tǒng)總體框圖如圖1所示。

  

系統(tǒng)總體框圖

 

  1.1 電源模塊電路設(shè)計

  在單片機數(shù)據(jù)采集系統(tǒng)中,電源的設(shè)計是非常關(guān)鍵的。本儀表設(shè)計采用電網(wǎng)和充電電池雙電源供電。電源設(shè)計如圖2所示。

  

電源設(shè)計

 

  當電網(wǎng)電壓正常時,220V交流電經(jīng)過24V穩(wěn)壓電源,電解電容器C1濾波后的電壓經(jīng)二極管D1后分成兩路,一路通過三極管Q1到7805三端穩(wěn)壓芯片,完成穩(wěn)壓輸出+5V電壓,供單片機W77E58等芯片所需的電源;另一路通過電阻R1對鎳鎘電池9V進行充電,充電電流選擇約40mA。如果電網(wǎng)停電, C1放電為0V,這時,電池通過D2、Q1到7805向電路供電,使輸出端仍有+5V電壓,從而完成電網(wǎng)短時停電時,單片機后備電源的功能。

  二極管D1起隔離作用,使得當電網(wǎng)偶爾停電時,能夠阻止電池電流流向24V穩(wěn)壓電源。穩(wěn)壓管D3(5.6V)的作用,是防止電池(+9V)過放電,即當電池放電下降到約6V時,因D3作用,三極管Q1截止,電池放電停止,此時單片機將停電。

  1.2 實時時鐘芯片DS12887

  為了能夠?qū)崟r顯示系統(tǒng)時間以及實現(xiàn)按時間日期保存采集到的數(shù)據(jù)的功能,系統(tǒng)擴展了一片并行實時時鐘日歷芯片DS12887。DS12887是DALLAS半導(dǎo)體公司推出的實時時鐘芯片,采用CMOS技術(shù)制成,把時鐘芯片所需的晶振和外部鋰電池相關(guān)電路集成于芯片內(nèi)部。DS12887芯片具有微功耗、外圍接口簡單、精度高、工作穩(wěn)定可靠等優(yōu)點,在現(xiàn)代工業(yè)控制及智能儀器儀表中有著廣泛的用途。

  1.3 鍵盤接口電路

  為便于人機交互,采用專用鍵盤接口芯片8279,配合74LS138譯碼器,系統(tǒng)擴展了3×8=24鍵的鍵盤。鍵盤上設(shè)置有0~9數(shù)字鍵,以便輸入各種信息。同時還設(shè)有各種控制按鍵。通過鍵盤能夠控制對各種類型數(shù)據(jù)進行采集。為提高CPU的效率,鍵盤采用中斷方式。

  1.4 LCD液晶顯示模塊

  為便于實時顯示采集的數(shù)據(jù)及人機交互,系統(tǒng)擴展了圖文液晶顯示模塊MGLS-12032,MGLS-12032是由香港精電公司生產(chǎn)的內(nèi)置SED1520控制驅(qū)動器的LCD模塊,使用簡單方便。液晶顯示模塊MGLS-12032與W77E58的硬件接口。

  

液晶顯示模塊MGLS-12032與W77E58的硬件接口

 

  其中D0~D7與單片機的數(shù)據(jù)總線相連,A0、A1為單片機的P0口經(jīng)74LS373地址鎖存器后產(chǎn)生的低兩位地址線,系統(tǒng)用74LS138譯碼器產(chǎn)生的Y5、Y6作為MGLS12032兩個控制驅(qū)動器工作的選通信號。

  1.5 模擬信號采集電路

  系統(tǒng)采用12位并行A/D轉(zhuǎn)換器MAX197對傳感器輸出的0-5v/4-20mA 模擬電信號進行采集。MAX197是美國Maxim公司推出的多量程(本系統(tǒng)采用0-5V量程)、8通道、12位快速A/D轉(zhuǎn)換器,采用逐次逼近工作方式,片內(nèi)含有高精度的參考電壓源和時鐘電路,使它可以在不需要任何外部電路和時鐘的情況下完成一切A/D轉(zhuǎn)換功能,應(yīng)用非常方便。并且MAX197內(nèi)部具有輸入跟蹤/采樣保持電路,其并行輸出口很容易與單片機連接,僅需外接幾個電容即可。

  MAX197與單片機的典型接口電路如圖4所示。設(shè)計采用MAX197的CH0-CH6通道采集7路0-5V電壓信號。而4-20mA電流信號則經(jīng)過8選 1模擬開關(guān)CD4051輪流選通,再經(jīng)靈敏電阻,放大器轉(zhuǎn)化為0-5V電壓信號后,進入MAX197的CH7通道進行模數(shù)轉(zhuǎn)換,從而系統(tǒng)可以采集8路電流信號。

MAX197與單片機的典型接口電路

1.6 開關(guān)量采集電路設(shè)計

 

  系統(tǒng)通過一片8255芯片來擴展并行口。編程使8255的A口為輸入,用于采集8路開關(guān)信號。B口為輸出,用于8路開關(guān)量的輸出。為了增強系統(tǒng)抗干擾能力,開關(guān)量輸入/輸出通道都采用光電隔離。開關(guān)量采集電路圖略。

  1.7 頻率信號測量電路設(shè)計

  本系統(tǒng)利用8253芯片的定時器/計數(shù)器1和2對兩路待測脈沖個數(shù)進行記數(shù),8253的定時器/計數(shù)器0用來定時,利用W77E58有多個中斷源的特性,定時結(jié)束產(chǎn)生中斷,在中斷服務(wù)程序中,讀取8253定時器/計數(shù)器1和2的當前記數(shù)值,通過計算便可得到待測頻率量。

  頻率信號測量電路如圖5所示。其中D0-D7與W77E58數(shù)據(jù)總線相連,單片機P2口高三位經(jīng)138譯碼器譯出的Y0與8253的CS引腳相連,用來選通8253芯片,8253的A0、A1直接與低二位地址線相連,因此8253的端口地址為1FFCH~1FFFH。

  

頻率信號測量電路

 

  1.8 串行通訊設(shè)計

  利用MAX485芯片,W77E58單片機的增強串口用來擴展485接口,以便能夠與工業(yè)現(xiàn)場具有485接口的智能儀表相連接。單片機與MAX485芯片的連接只需要外加幾個電阻,非常簡便,在此不再詳述。

  為了使設(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所示。

系統(tǒng)無線數(shù)據(jù)傳輸原理圖

 

  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所示。

系統(tǒng)主程序流程

 

  串口通信程序中雙方通信協(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ù)上傳命令。當接收到上位機的命令后,中斷服務(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所示。

串行中斷服務(wù)程序

  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)用價值。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。