基于89C2051單片機的熱表通訊模塊的開發(fā)
1 引言
集中供熱方式的普及以及計量供熱的實施是建筑節(jié)能的有效手段,但需要通過供熱系統(tǒng)運行管理的自動化來實現(xiàn)。為了研究熱網(wǎng)的控制調(diào)節(jié)方法,建立了熱網(wǎng)模擬實驗平臺,并且配置了自動監(jiān)測控制系統(tǒng)。在設備選型時,采用了丹麥Kamstrup 熱量表作為實驗管網(wǎng)中各主要管段輸送熱量及實驗系統(tǒng)熱量的測量采集裝置,但該熱表配備的數(shù)據(jù)通訊接口模塊只能通過專用外接插口與計算機或相應的數(shù)據(jù)終端進行一對一的RS - 232 串行通訊,難以滿足現(xiàn)場的通訊要求。
2 通訊模塊的核心器件
在系統(tǒng)中,單片機一般稱為下位機,通常用來完成數(shù)據(jù)的采集和上傳,由PC 機、網(wǎng)絡設備、數(shù)據(jù)庫服務器組成的后臺應用部分則統(tǒng)稱為上位機,對下位機的上傳數(shù)據(jù)進行分析并處理。系統(tǒng)充分發(fā)揮了單片機在實時數(shù)據(jù)采集和微機對圖形處理、顯示以及數(shù)據(jù)庫管理上的優(yōu)勢,使得單片機的應用不局限于自動監(jiān)測或控制,而形成了向以網(wǎng)絡為核心的分布式多點系統(tǒng)發(fā)展。在實驗臺監(jiān)測控制系統(tǒng)中,選用單片機同工控機配合建立了如圖1 所示的通訊網(wǎng)絡,實現(xiàn)對熱表采集數(shù)據(jù)的讀取。
圖1 工控機、熱表通訊網(wǎng)絡
RS - 485 通訊標準針對RS - 232 存在的通訊距離近、抗干擾性能差等缺陷在提高傳輸速率和距離、抗干擾特性上都做了很大改進。所以考慮到通訊的可靠性,為工控機選配了RS - 485 的串口卡建立通訊。
單片機數(shù)字信號遵循CMOS 電平協(xié)議,傳輸距離短,達不到分布式控制系統(tǒng)傳輸距離的要求,需要電平轉(zhuǎn)換芯片構(gòu)成接口電路與上位機連接。同時,單片機與熱表連接時也要通過相應的接口電路達到電平的匹配。
另外,單片機是工控機與熱表進行數(shù)據(jù)交換的通訊樞紐,擔負著同時與工控機和熱表進行串行通訊的責任,因此需要兩個串行通訊端口。有3 種方法供選擇:
- 采用多串口的單片機;
- 采用通用異步串口擴展芯片;
- 采用普通I/ O 端口模擬實現(xiàn)串行通信。
第3 種方法最簡單經(jīng)濟,并且可以實現(xiàn)高速率通信。另外,考慮到對硬件資源的充分利用,選用ATMEL 公司生產(chǎn)的89C2051 單片機進行開發(fā)。
3 通信模塊的開發(fā)
3.1 硬件接口
理論上,利用軟件的方法可使普通I/ O 口擴展成的串行口與標準的串行口具有同樣的功能。但是,根據(jù)實際情況,單片機自帶的串行口容易通過專用的電平轉(zhuǎn)換芯片實現(xiàn)RS - 485 電平與上位機連接;熱表數(shù)據(jù)通訊接口對發(fā)送和接收數(shù)據(jù)有不同的波特率要求,在模擬串口的程序中只要作相應的延時處理,就能滿足。因此,用標準串口通過電平轉(zhuǎn)換連接上位機(見圖2) ,用普通I/ O 口模擬的串口經(jīng)相應的接口電路與熱表相連(見圖3) 。
圖2 RS - 485 電平轉(zhuǎn)換
圖2 中單片機的標準串口通過75176 芯片轉(zhuǎn)換為RS - 485 電平,75176 為8 個管腳,DIP 封裝。RO 為數(shù)據(jù)接收端;RE 為數(shù)據(jù)接收允許端,低電平有效;DI 為數(shù)據(jù)發(fā)送端;DE 為數(shù)據(jù)發(fā)送允許端,高電平有效;DT+ 、DT - 腳為電流環(huán)回路端。圖2 中把RE、DE 腳連結(jié)在一起,當P3. 7 腳為高電平時,允許數(shù)據(jù)發(fā)送,當P3. 7 為低電平時,允許數(shù)據(jù)接收。R 為電路匹配電阻,可增強系統(tǒng)抗差模干擾的能力。
圖3 單片機與熱表接口電路
圖3 中虛線框內(nèi)為熱表本身的數(shù)據(jù)通訊接口電路,熱表通過該接口連接專用的外接插頭可以同計算機或相應的數(shù)據(jù)終端進行RS - 232 通訊。利用示波器檢測熱表在與計算機一對一的通訊過程中收發(fā)端的電平信號特征,采用分立元器件搭建了接口電路,使之與單片機端口達到電平的匹配。在單片機同熱表的通訊過程中,為保證通訊的可靠且能保證單片機及時地接收熱表傳來的數(shù)據(jù),采用中斷的接收方式,P3. 2 為中斷觸發(fā)端,所以選用該端口作為模擬串口的接收端,選用了P3. 4 作為模擬串口的發(fā)送端。
評論