吳海峰, 李德敏, 鄒 劍
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
M-Bus是一種專門用于公共事業(yè)儀表的總線結(jié)構(gòu)。在歐洲,戶用儀表總線的通訊方式以M-Bus為主,目前國內(nèi)諸多大型水電氣熱表企業(yè)已采用M-Bus總線通訊技術(shù)。M-Bus總線的提出滿足了公用事業(yè)儀表的組網(wǎng)和遠(yuǎn)程抄表的需要,同時它還可以滿足遠(yuǎn)程供電或電池供電系統(tǒng)的特殊要求。并且,其串行通信方式的總線型拓?fù)浣Y(jié)構(gòu)非常適合公用事業(yè)儀表的可靠、低成本的組網(wǎng)要求,可以在幾公里的距離上連接幾百個從設(shè)備[1]。M-Bus儀表總線的應(yīng)用前景廣泛,但是,目前市場上可用的主機芯片很少,而且價格不菲,不利于M-Bus的推廣。為解決以上問題,本文設(shè)計了基于M-Bus總線的智能水表數(shù)據(jù)采集器。新設(shè)計的集中器成本低,穩(wěn)定性較好,對于小型企業(yè)而言,具有很好的經(jīng)濟(jì)價值。
M-Bus是一個主從層次化的系統(tǒng),由一個主設(shè)備、若干從設(shè)備和2根連接線纜組成,主設(shè)備引出2根M-Bus總線,所有從設(shè)備都掛接在總線上,由主設(shè)備控制所有從設(shè)備和上位機之間的通信。M-Bus主從結(jié)構(gòu)如圖1所示。
圖1 M-Bus層次化結(jié)構(gòu)
M-Bus通信協(xié)議規(guī)定:M-Bus主機發(fā)送電路通過控制總線電壓變化向從機發(fā)送信息,而從機通過自身的電流消耗向主機反饋信息。當(dāng)總線通信時,存在2種情況,即主機分別處于發(fā)送狀態(tài)和接收狀態(tài)。在主機向從機發(fā)送相關(guān)命令時,具體的電壓變化如下:傳送邏輯“1”時對應(yīng)的電壓為34 V,傳送邏輯“0”時對應(yīng)的電壓為24 V;在主機接收從機數(shù)據(jù)時,具體的總線電流變化如下:傳邏輯“1”用0~1.5 mA的恒定電流表示,傳邏輯“0”則需在0~1.5 mA的基礎(chǔ)上再增加約11~20 mA 的電流。當(dāng)總線空閑時,主機和從機都應(yīng)該保持邏輯“1”狀態(tài)。
硬件設(shè)計主要包括發(fā)送電路和接收電路的設(shè)計。發(fā)送電路是通過調(diào)制M-Bus總線電壓的跳變來實現(xiàn)數(shù)據(jù)的傳輸?shù)?,且跳變的差值要大于等? V(由終端設(shè)備的TSS721芯片[2]決定);而接收電路是從機通過自身的電流消耗向主機反饋信息的,因此,需要將電流的變化轉(zhuǎn)化為電壓的變化,以便于單片機接收。圖2是M-Bus總線驅(qū)動電路的框架[3]。
圖2 M-Bus總線驅(qū)動電路
根據(jù)M-Bus通信協(xié)議,設(shè)計的發(fā)送電路如圖3所示。
圖3 發(fā)送電路
圖3中,穩(wěn)壓塊芯片L7824的輸入端接三端可調(diào)正穩(wěn)壓器LM317的輸出端,輸出端引出M-Bus總線,且對地接1個10 V的穩(wěn)壓管,同時接到晶體管的集電極,晶體管的基極接到光耦的輸出。當(dāng)控制器通過串口發(fā)送低電平時,光耦不導(dǎo)通,從而晶體管導(dǎo)通,M-Bus總線上的電壓為24 V。相反,當(dāng)控制器通過串口發(fā)送高電平時,光耦導(dǎo)通,從而晶體管截止,芯片L7824輸出電壓被抬高了10 V,M-Bus總線上的電壓變?yōu)?4 V。這樣,通過控制MCU輸出的高低電平來控制光耦的通斷,就可以得到M-Bus總線上的電壓的跳變,跳變的幅度為10 V,從而實現(xiàn)上位機向終端傳輸信息。
設(shè)計的接收電路[4]如圖4所示,其中,采樣電阻為R11。
在圖4中,采用的主要芯片是四運放LM324。其中,第一路運放和晶體管將檢測到的電壓進(jìn)行放大,第二路運放構(gòu)成一個跟隨器電路,主要是為了穩(wěn)定第一路輸出的電壓信號。此時,如果直接去接光耦的輸入端的話,無法保證光耦在低電平時能夠嚴(yán)格地被關(guān)掉。所以,運放三及其外圍電路構(gòu)成了一個減法裝置,目的是暫時抬高對應(yīng)的電壓,最后一個運放及其外圍電路構(gòu)成了一個電壓比較器,最終得到能夠嚴(yán)格控制光耦通斷的電平變化(0~5 V)。
圖4 接收電路
數(shù)據(jù)采集器是連接上位機和終端的中間環(huán)節(jié)。當(dāng)上位機發(fā)送相關(guān)命令時,控制器首先要對該命令進(jìn)行分析,做出相應(yīng)的響應(yīng)。要將上位機發(fā)送的信息傳送到終端;當(dāng)終端有響應(yīng)后,集中器需要將終端的響應(yīng)信息存儲在自身的存儲器中,然后上傳給上位機。需要說明的是,在實際應(yīng)用中,采用的控制器是STC系列的雙串口單片機STC11F04E,它是一款分時復(fù)用的雙串口單片機。終端是型號為 ZENNER multidata S1compact 德國真蘭智能水表,其內(nèi)部有 M-Bus終端所必需的TSS721芯片和控制器芯片以及相關(guān)的存儲設(shè)備,我們可以通過手持抄表器對水表的原有地址進(jìn)行復(fù)位和更改。圖5是集中控制器的主程序流程。
圖5 主程序流程
論文給出了基于M-Bus總線的智能水表遠(yuǎn)程抄表系統(tǒng)中的數(shù)據(jù)采集器的設(shè)計與實現(xiàn)方案。重點介紹了M-Bus總線硬件電路和驅(qū)動程序的設(shè)計。在實際的應(yīng)用中,M-Bus布線非常靈活,相比485總線來說具有很大的優(yōu)勢,也使的它有較廣的發(fā)展前景,特別是對住宅小區(qū)智能化建設(shè)具有重要意義。隨著M-Bus總線在遠(yuǎn)程水表抄表系統(tǒng)中的推廣應(yīng)用,將給我們的日常生活帶來更多方便。
[1]胡志華,郭其一. M-BUS儀表總線原理研究[J]. 微計算機信息,2005(18): 117-119.
[2]陶永明,劉立國,陳永剛. M-BUS終端收發(fā)芯片TSS721的原理及應(yīng)用[J]. 國外電子元器件,2002(09): 31-34.
[3]曹贇,葉樺. 遠(yuǎn)程抄表系統(tǒng)中集中器及M-Bus總線通信模塊的設(shè)計與實現(xiàn)[J]. 工業(yè)控制計算機,2009, 22(08): 7-9.
[4]徐樂年,韓進(jìn),劉坤. M-BUS總線主機接口裝置.中國專利,2006-08-16.