新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > 電表設(shè)計中的紅外和RS-485通信

電表設(shè)計中的紅外和RS-485通信

——
作者: 時間:2007-01-26 來源:《Maxim公司》 收藏

在設(shè)計電表時,通信往往是最后考慮的問題。目前的電表設(shè)計需要收集越來越多的信息,并且能夠自動地把這些信息傳輸?shù)诫娏尽T趍ax3120電表參考設(shè)計中,通信子系統(tǒng)的工作既是用于這一目的。

為什么要進行通信?

本文引用地址:http://butianyuan.cn/article/21406.htm

在設(shè)計電表時,通信往往是最后考慮的問題。傳統(tǒng)電表使用老式的被動通信方式傳輸用電信息:抄表員定期抄表并讀取數(shù)值。而新一代電表需要收集的信息越來越多。如果對工作人員進行培訓,用手工方式從每個電表收集大量數(shù)據(jù),并且還要滿足精度要求,似乎是不切實際的想法。取而代之的是利用電子裝置自動把用電信息傳輸?shù)诫娏?。在max3120電表參考設(shè)計中,通信子系統(tǒng)既是用于這一目的。

兩個通道

max3120電表參考設(shè)計中包括兩個通信通道:一個用于與手持終端通信的紅外(ir)通道,另一個是完全隔離的多點rs-485通道。

兩個通道使用相同的通信協(xié)議,但具體工作情況有所不同。紅外通道始終是點對點模式;手持終端每次只能與一個電表通信。由于手持終端不能同時訪問多個電表,因此電表可單方面響應(yīng)廣播消息。但是,在網(wǎng)絡(luò)環(huán)境中,這種工作方式會導致嚴重的數(shù)據(jù)沖突。

rs-485通道的工作情況與之不同。由于網(wǎng)絡(luò)中有許多電表(雖然不會有一個以上的主機),沒有電表能夠發(fā)送數(shù)據(jù)包以響應(yīng)網(wǎng)絡(luò)廣播。主機發(fā)出一個消息后,主機收發(fā)器需要經(jīng)過一定延時,為接收數(shù)據(jù)做好準備。因此,謹慎的措施是在電表響應(yīng)之前設(shè)置一個傳輸延時,以防數(shù)據(jù)丟失。

通信原理

盡管有傳輸通道之分,通信協(xié)議所使用的原理卻是相同的。首先,鏈路特征相同:通道以1200比特每秒的速率進行通信,處于異步工作方式,使用一個終止位和偶校驗。其次,如圖1所示,鏈接協(xié)議是相同的。最后,用于兩個通道的命令含義相同:在ir通道上發(fā)送命令,與在rs-485通道上發(fā)送命令所起到的作用相同。

圖1. 通信協(xié)議示意圖

數(shù)據(jù)包具有以下結(jié)構(gòu):

開始標志: 1個字節(jié),0x68.

電表地址: 6個字節(jié),為變量。網(wǎng)絡(luò)中的每個電表都具有一個唯一的網(wǎng)絡(luò)地址。相比之下,主機(運行網(wǎng)絡(luò)的個人計算機或手持終端)沒有地址;主機用來啟動所有通信過程,是電表發(fā)送任何消息的目標。因此,地址字段的功能是主機向電表發(fā)送消息的目標地址,以及電表向主機發(fā)送消息的源地址。地址99 99 99 99 99 99作為廣播地址予以保留。

分隔符號: 一個字節(jié),0x68.

命令字節(jié): 一個字節(jié),具有以下格式:

命令字節(jié)中包括如下字段:

一個方向位: 當數(shù)據(jù)包由主機發(fā)送給電表時清零,當數(shù)據(jù)包由電表發(fā)送給主機時置1。

一個誤差位: 用于指示電表檢測到主機發(fā)送的消息中存在誤碼。

一個冗余位: 指示電表對某條消息的響應(yīng)時間過長,該消息已被劃分成多條消息。

一個功能字段::

0x01: 讀操作,表示主機要求讀取電表的某些寄存器值。

0x02: 讀下一個數(shù)據(jù),表示主機接收到多條消息標記,要求讀取下一部分。

0x03: 重讀操作,指示主機沒有正確接收上一個消息段,要求重新發(fā)送該消息段。

0x04: 寫操作,主機要求在電表寄存器中存儲一個值。這個數(shù)據(jù)包括2個字節(jié)的寄存器地址長度可變的數(shù)據(jù)。

0x08: 同步操作。這個數(shù)據(jù)字段包含時間和日期。如果電表的內(nèi)部時鐘與消息中給出的時間和日期不同,并且相差小于10分鐘,那么內(nèi)部時鐘調(diào)整為給出的時間,否則,內(nèi)部時間不變,返回一個誤差指示信號。

0x0a: 設(shè)置網(wǎng)絡(luò)地址,始終是一條廣播消息。該數(shù)據(jù)字段包含6個字節(jié)的地址,電表將它作為網(wǎng)絡(luò)地址。電表的設(shè)置地址按鈕激活表明它接受該地址。

0x0c: 改變波特率命令。波特率可以更改為給定的速率,但只在本次事務(wù)中有效,以后又會恢復到1,200bps。

0x0f: 改變密碼命令。該數(shù)據(jù)字段包含8個字節(jié),包含:(1) 超級用戶密碼標志符(通常為零); (2) 超級用戶密碼; (3) 改變密碼的標志符;(4) 新密碼。

0x10: 清除最大需求量寄存器命令。當電表接收到該命令時,會清零全月中幾個子域中的最大需求寄存器。

長度標記: 一個字節(jié)。表示整個消息的長度,從開始標志到終止標志。

數(shù)據(jù): 變量。

校驗和: 一個字節(jié)。這是消息中所有字節(jié)以256為模后的求和數(shù),從開始標志到終止標志。 紅外通道工作特性。

終止標志:一個字節(jié),0x16。

紅外通道工作特性

紅外通道按照簡單的音頻調(diào)制技術(shù)工作。即有紅外光束(38khz調(diào)制頻率,波長850nm)時表示‘0’,無紅外光束表示‘1’。下圖(圖2)顯示了字母‘a(chǎn)’ (0x41)的傳輸過程。

圖2. 紅外通道音頻調(diào)制技術(shù)示意圖

通過max3120 cpu中的調(diào)制器傳輸紅外線的物理通道很容易實現(xiàn),該調(diào)制器集成了其中一個定時通道的輸出和其中一個uart通道。通過一個外部集成的紅外接收器進行解調(diào)(圖3)。

圖3. 一個外部集成的紅外接收器,用于解調(diào)

rs-485通道工作特性

rs-485通道有兩個特殊要求,因此比紅外通道更加復雜:rs-485通道采用精確的半雙工通信,必須與線纜進行電氣隔離。第一個必要條件可以借助于maxim的半雙工收發(fā)器實現(xiàn),可達到滿意的效果。第二個必要條件可以通過使用價格低廉的光藕進行電氣隔離,見圖4。

圖4. 通過使用一個maxim的半雙工收發(fā)器和價格低廉的光耦實現(xiàn)rs-485通信



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉