百科 > IT百科 > 綜合 > 電子電路 > 正文

基於W77E58的通訊儀如何設計【方案】

  本文採用台灣華邦公司生產的高性能Turbo-51系列單片機 W77E58,實現了一種基於單片機的通用數據採集和通訊儀的研制,具有較高的實用價值。為了使設計的數據採集儀應用方便,系統利用PTR2000無線數據傳輸模組與上位機進行通訊,以便能隨時響應控制中心的PC機的數據上傳命令,將採集到的數據即時上傳給控制中心。

  1 系統硬體設計

  本文設計的通用數據採集和通訊儀能夠對各種現場設備的標準輸出信號進行採集,包括傳感器輸出的0-5V/4-20mA模擬信號;開關量信號;頻率量信號;此外系統還具有RS-485接口,以便能夠與現場具有485接口的智能儀表相連接。為了實現良好的人機互動,系統擴展了鍵盤輸入,液晶顯示,即時時鐘以及現場故障報警指示電路等模組。

  1.1 電源模組電路設計

  在單片機數據採集系統中,電源的設計是非常關鍵的。本儀表設計採用電網和充電電池雙電源供電。電源設計如圖2所示。

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

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

  1.2 即時時鐘晶片DS12887

  為了能夠即時顯示系統時間以及實現按時間日期保存採集到的數據的功能,系統擴展了一片並行即時時鐘日曆晶片DS12887。DS12887是DALLAS半導體公司推出的即時時鐘晶片,採用CMOS技術制成,把時鐘晶片所需的晶振和外部鋰電池相關電路集成於晶片內部。DS12887晶片具有微功耗、外圍接口簡單、精度高、工作穩定可靠等優點,在現代工業控制及智能儀器儀表中有著廣泛的用途。

  1.3 鍵盤接口電路

  為便於人機互動,採用專用鍵盤接口晶片8279,配合74LS138解碼器,系統擴展了3×8=24鍵的鍵盤。鍵盤上設定有0∼9數字鍵,以便輸入各種資訊。同時還設有各種控制按鍵。透過鍵盤能夠控制對各種類型數據進行採集。為提高CPU的效率,鍵盤採用中斷方式。

  1.4 LCD液晶顯示模組

  為便於即時顯示採集的數據及人機互動,系統擴展了圖文液晶顯示模組MGLS-12032,MGLS-12032是由香港精電公司生產的內置SED1520控制驅動器的LCD模組,使用簡單方便。液晶顯示模組MGLS-12032與W77E58的硬體接口。

  其中D0∼D7與單片機的數據總線相連,A0、A1為單片機的P0口經74LS373地址鎖存器後產生的低兩位地址線,系統用74LS138解碼器產生的Y5、Y6作為MGLS12032兩個控制驅動器工作的選通信號。

  1.5 模擬信號採集電路

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

  MAX197與單片機的典型接口電路如圖4所示。設計採用MAX197的CH0-CH6通道採集7路0-5V電壓信號。而4-20mA電流信號則經過8選 1模擬開關CD4051輪流選通,再經靈敏電阻,放大器轉化為0-5V電壓信號後,進入MAX197的CH7通道進行模數轉換,從而系統可以採集8路電流信號。

  系統透過一片8255晶片來擴展並行口。程式設計使8255的A口為輸入,用於採集8路開關信號。B口為輸出,用於8路開關量的輸出。為了增強系統抗幹擾能力,開關量輸入/輸出通道都採用光電隔離。開關量採集電路圖略。

  1.7 頻率信號測量電路設計

  本系統利用8253晶片的定時器/計數器1和2對兩路待測脈衝個數進行記數,8253的定時器/計數器0用來定時,利用W77E58有多個中斷源的特性,定時結束產生中斷,在中斷服務程式中,讀取8253定時器/計數器1和2的目前記數值,透過計算便可得到待測頻率量。

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

  1.8 串行通訊設計

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

  為了使設計的數據採集儀應用方便,系統利用PTR2000無線數據傳輸模組與上位機進行通訊,以便能隨時響應控制中心的PC機的數據上傳命令,將採集到的數據即時上傳給控制中心。PTR2000是一種超小型、低功耗、高速率的無線收發數據傳輸模組。其通訊速率最高可達20Mbit/s,也可工作在其他速率,如4800bit/s、9600bit/s。

  PTR2000可直接與單片機的串口TXD、RXD相連接。PTR2000無線MODEM的DO和DI引腳分別連接單片機串口的RXD和TXD,這樣單片機就可以和無線數據傳輸模組進行串行通信。PTR2000的PWR腳和單片機的P1.0腳相連,以便對無線數據傳輸模組的電源進行管理,TXEN與單片機的P1.1腳連接,控制PTR2000無線收發模組的收發狀態轉換。上位機透過PTR2000與單片機進行即時通訊。由於上位機串口通常採用RS-232 電平,而單片機串口使用的是TTL電平,故PTR2000與上位機連接時必須將TTL電平轉換成RS-232電平,系統採用MAXM公司的MAX232晶片進行轉換。上位機用串口的RTS與PTR2000的TXEN連接來控制PTR2000無線收發模組的收發狀態轉換。

  2 系統軟體設計

  系統軟體採用模組化設計,主程式首先對各接口晶片進行初始化,然後分別調用各個例程模組以進入各個數據採集子系統,並將採集到的數據存儲在32K位元組的串行E2PROM AT24C256中,以備控制中心查詢,同時將對應的數據在液晶顯示器上顯示。如果系統接收到上位機的數據上傳命令,就將存儲在E2PROM中的數據透過 PTR2000發送給PC機。

  串口通信程式中雙方通信協定是至關重要的,這關係到無線數據傳輸的可靠性,本系統約定雙方的通信協定格式如下:串行通信使用單片機的內部定時器/計數器1 作為波特率發生器,本系統波特率設定為4800 bit/s;幀格式為1位起始位,8位數據位,1位停止位,無奇偶校驗;通信採用中斷方式;上位機採用COM 1通信。在設計時,數據傳輸通道也採用光電隔離來提高系統的抗幹擾能力,並且採用了CRC校驗以確保數據傳輸的準確。單片機系統初始化時,將單片機的 P1.1腳設定為低電平,這就可使得在默認狀態下,PTR2000處於接收狀態,以便時刻監聽上位機的數據上傳命令。當接收到上位機的命令後,中斷服務程式將數據從單片機數據緩衝區取出,同時將模組的接收狀態切換為發射狀態,轉換過程所需時間約5ms,然後將這些數據以FSK的調制形式發射出去, PTR2000模組隨後恢復為接收狀態。從單片機系統發射的數據經上位機系統中的PTR2000接收,由RS232接口進行電平轉換,送進上位機,上位機對數據進行分析和處理後,向單片機系統發送一個確認數據包,以確認單片機系統數據包的正確性。上位機接收完數據後,它的PTR2000模組又恢復為常發射狀態。如果數據在傳輸的過程中有數據丟失,上位機將要求單片機系統重新發送數據,直到數據全部正確為止。

  3 結束語

  本文利用8位單片機設計的通用數據採集系統,可以作為工業現場的遠端監控終端來使用,也可以方便的設計成便攜式智能數據採集和通訊儀表,由於數據傳輸採用了無線方式,使其能夠非常廣泛的應用於工業上需要數據採集的場合,具有比較高的實際應用價值。

網友評論