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