摘 要: LonWorks總線技術(shù)由于其開發(fā)周期短,相對(duì)投入較少,通信的效率與可靠性較高,已經(jīng)成為當(dāng)前最流行的現(xiàn)場(chǎng)總線技術(shù)之一。本文介紹了基于LonWorks技術(shù)的電能表抄表系統(tǒng)的各功能電路的設(shè)計(jì)方法,給出具體的硬件實(shí)現(xiàn); 并介紹了采集模塊的Neuron C應(yīng)用軟件、單片機(jī)程序的設(shè)計(jì)及低層硬件驅(qū)動(dòng)程序設(shè)計(jì)。
關(guān)鍵字: 遠(yuǎn)程抄表;電能表;LonWorks
Abstract: The LonWorks fieldbus technology is becoming one of the most popular fieldbus technologies due to its short period, low cost, high communication efficiency and high reliability. The author gives every functional circuit‘s designing method of power meter intelligent reading system based on LonWorks in detail, the author gives a detailed hardware designing project of collection device, based on which the author expounds designing project of intelligent nodes‘ applying software Neuron C and singlechip program.
Keywords: Remote Reading; Power Meter; LonWorks
1 引言
LonWorks技術(shù)的優(yōu)勢(shì)是將通信協(xié)議固化于Neuron(神經(jīng)元)芯片中,并且提供一套完整的開發(fā)與建網(wǎng)工具-LonBuilder和Nodebuilder及LNS。這樣,用戶可以較少關(guān)心網(wǎng)絡(luò)的通信,而集中于節(jié)點(diǎn)的具體應(yīng)用開發(fā)。在智能抄表系統(tǒng)中,低層電表信號(hào)的采樣及相應(yīng)的數(shù)據(jù)傳輸是抄表系統(tǒng)性能的最為重要的保證。本系統(tǒng)中作者選擇LonWorks總線解決通信這一目前在智能抄表系統(tǒng)的瓶頸問題。
2 系統(tǒng)組成
[align=center]
圖1 系統(tǒng)結(jié)構(gòu)示意圖[/align]
表頭采樣模塊主處理器選用AT89C51單片機(jī),完成電表脈沖信號(hào)采樣、度數(shù)計(jì)算和反饋連動(dòng)。抄表采集器由AT89C51作為主處理器與MC143150Neuron芯片構(gòu)成的Host-based節(jié)點(diǎn)作為系統(tǒng)的次站,與LON網(wǎng)絡(luò)連接。
本設(shè)計(jì)將Neuron芯片工作方式配置為在從B方式,具體為I/O0~I(xiàn)/O7與AT89C51的P0口相連,經(jīng)此通道AT89C51的管理信息和實(shí)時(shí)數(shù)據(jù)通過LON網(wǎng)可上傳至工控機(jī)和生產(chǎn)管理計(jì)算機(jī)以及其它LON節(jié)點(diǎn)。系統(tǒng)結(jié)構(gòu),如圖1所示。反向通道,工控機(jī)和生產(chǎn)管理計(jì)算機(jī)以及其它LON節(jié)點(diǎn)的管理信息和實(shí)時(shí)數(shù)據(jù)也可經(jīng)此通道送入AT89C51控制器中。圖1中的黑框中部分為電表采集器模塊。
3 抄表模塊硬件詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
3.1 表頭采樣模塊
電表表頭采樣模塊的主處理器選用AT89C51單片機(jī),表頭采集模塊主要負(fù)責(zé)采集能源對(duì)應(yīng)的數(shù)字量(脈沖信號(hào)),由主CPU進(jìn)行處理,將相應(yīng)的數(shù)據(jù)信號(hào)保存,分時(shí)發(fā)送給抄表采集器,通過收發(fā)器,將相應(yīng)電表的信號(hào)送到LON總線。
?。?) 信號(hào)采樣
目前,市場(chǎng)上的電表基本上為脈沖電表,即輸出標(biāo)準(zhǔn)脈沖信號(hào)。以本系統(tǒng)調(diào)試采用的單相電子式電能表為例,該表電氣特性為:220V-1.5(6) A-3200imp/kWH,表明每輸出3200個(gè)脈沖信號(hào)耗電能為1千瓦時(shí),脈沖占空比為50%。電表輸出的脈沖信號(hào)送到采集模塊,經(jīng)過光電耦合器開關(guān)(如圖2),進(jìn)行信號(hào)隔離,再通過74LS14加以整形,然后送到單片機(jī)的外部中斷INT0(P3.2)腳,引起CPU產(chǎn)生一次外部中斷。采用中斷方式實(shí)現(xiàn)實(shí)時(shí)計(jì)數(shù),排除了漏計(jì)的可能。光電耦合器選用TLP521-1,采用單路信號(hào)采樣。
[align=center]
圖2 信號(hào)采樣[/align]
?。?) 數(shù)據(jù)保存
當(dāng)有采樣信號(hào)引起中斷,計(jì)數(shù)器工作,當(dāng)脈沖計(jì)數(shù)到3200時(shí),產(chǎn)生一次寫操作,將前一地址單元值加一保存到當(dāng)前地址。存儲(chǔ)器采用可在線電擦除的EEPROM28C17,在讀時(shí)將28C17當(dāng)作程序存儲(chǔ)器,寫時(shí)當(dāng)作外部RAM,工作性能非常穩(wěn)定,讀寫操作從未出現(xiàn)差錯(cuò)。本系統(tǒng)中定義28C17的地址編碼為7800H-7FFFH, 2K尋址。
?。?) 日歷時(shí)鐘電路
采樣模塊需要對(duì)系統(tǒng)能進(jìn)行分時(shí)計(jì)數(shù)功能,所以需要實(shí)時(shí)時(shí)鐘,以完成定時(shí)產(chǎn)生中斷、分時(shí)顯示、獲取時(shí)間和日期等功能,具體選用美國(guó)Dallas公司生產(chǎn)的實(shí)時(shí)時(shí)鐘芯片DS 12887。DS 12887是一個(gè)實(shí)時(shí)時(shí)鐘的完整子系統(tǒng),其集成度高,內(nèi)部包含有一個(gè)鏗電池、一個(gè)石英晶振和一個(gè)寫保護(hù)電路。本系統(tǒng)采用DS12887作為實(shí)時(shí)時(shí)鐘芯片。
?。?) 斷電處理
當(dāng)出現(xiàn)費(fèi)用超支時(shí),系統(tǒng)能進(jìn)行自動(dòng)斷電處理?;驹韴D如圖3所示。當(dāng)上位機(jī)端發(fā)現(xiàn)某用戶費(fèi)用超支時(shí),發(fā)出斷電指令給89C51, 89C51通過給端口置零,經(jīng)反相后,送至8050的B極,引起繼電器動(dòng)作,開關(guān)吸和,此時(shí)相當(dāng)于送往電表的開關(guān)處于截止?fàn)顟B(tài),系統(tǒng)斷電。圖中Q1, Q2構(gòu)成達(dá)凌頓管。
[align=center]
圖3 斷路開關(guān)電路[/align]
?。?) 顯示模塊
另外系統(tǒng)還可以提供液晶顯示器(使用12232點(diǎn)陣液晶屏,提供漢顯),做到實(shí)時(shí)顯示功能,能在抄錄某時(shí)期內(nèi)、某用戶電能表計(jì)數(shù)器窗口累計(jì)的全位示數(shù)。眾所周知,手工抄表時(shí)代,記錄的讀數(shù)值是表頭累計(jì)值,計(jì)費(fèi)是運(yùn)行后的累計(jì)示數(shù)與原始示數(shù)之差才是表計(jì)電量,所以說,抄表得到的示數(shù)并非表計(jì)電量。另外,除去居民生活用電的直通式電能表之外,用戶的實(shí)際用電量還與其表計(jì)倍率、計(jì)量方式(計(jì)量點(diǎn)的設(shè)定、表計(jì)的套數(shù))等有很大關(guān)系。因此說,表計(jì)電量也并不是用戶的實(shí)際用電量。作者認(rèn)為,同時(shí)抄錄表計(jì)序號(hào)和表計(jì)示數(shù)這兩個(gè)數(shù)據(jù),能更直觀地校對(duì)抄表數(shù)據(jù)與抄表對(duì)象的一致性,而且還為計(jì)算表計(jì)電量和實(shí)際用電量提供了必要條件,從而使得用戶能清楚地知道表計(jì)數(shù)總量和當(dāng)前使用量。
3.2 抄表采集器的硬件設(shè)計(jì)
抄表采集器的硬件設(shè)計(jì)主要包括處理器電路、AT89C51與MC143150Neuron芯片之間的通信接口、LON總線網(wǎng)絡(luò)接口3部分。
?。?) 主CPU及其外圍擴(kuò)展電路
主CPU采用常規(guī)單片機(jī)89C51,接有一片28C64EEPROM作為在線可電擦除存儲(chǔ)器,保存各采樣模塊送來的數(shù)據(jù)信號(hào)。還包括復(fù)位電路、時(shí)鐘電路、外部RAM擴(kuò)展、232串口通信電路、電源電路等。
?。?) 主CPU和MC143150Neuron芯片之間的通信接口的設(shè)計(jì)
本抄表采集模塊采用HOST BASED結(jié)構(gòu),主CPUAT89C51和從處理器MC143150Neuron芯片之間的通信實(shí)現(xiàn)采用從B方式。一般來說,并行接口可配置成Neuron芯片工作在主、從A或從B方式,兩個(gè)Neuron芯片以主、從A方式接口;而Neuron芯片同非Neuron芯片以從B方式接口,非Neuron芯片充當(dāng)主機(jī),Neuron芯片工作在從B方式,進(jìn)行握手聯(lián)絡(luò)來控制指令的執(zhí)行。主從機(jī)交換數(shù)據(jù)期間Neuron芯片暫停應(yīng)用程序的執(zhí)行過程。每次最多可交換255個(gè)字節(jié)數(shù)據(jù)。這種并行I/O接口對(duì)象方式用在快速交換數(shù)據(jù)的場(chǎng)合是非常有用的。Neuron芯片能充當(dāng)外部處理器的協(xié)處理器,產(chǎn)生一個(gè)網(wǎng)橋、網(wǎng)關(guān)或路由器。說明了Neuron芯片在并行接口對(duì)象時(shí)的典型應(yīng)用。從B方式屬于并行I/O對(duì)象,本系統(tǒng)使用MC 143150Neuron芯片的所有11只腳,其中MC143150的I/O0~I(xiàn)/O7是8位雙向數(shù)據(jù)線,I/O8~I(xiàn)/O 10是3位控制信號(hào)線。借助令牌傳遞/握手協(xié)議,實(shí)現(xiàn)MC143150Neuron芯片與主處理器之間的雙向數(shù)據(jù)傳輸。相對(duì)主CPU而言,MC143150Neuron芯片相當(dāng)于一個(gè)有著8位數(shù)據(jù)線、3位控制線的并行I/O設(shè)備,系統(tǒng)接口圖如圖4所示。
[align=center]
圖4 單片機(jī)與3150的接口[/align]
?。?) Lon網(wǎng)絡(luò)接口
作者采用了支持FTT-10A自由拓補(bǔ)雙絞線收發(fā)器的Control Module作為采集器與LON總線的接口。FTT-10A收發(fā)器主體是一個(gè)隔離變壓器,該變壓器集成了一個(gè)78Kbps差分曼徹斯特編碼通信收發(fā)器。FTT-10A收發(fā)器能自動(dòng)檢測(cè)5M, 10M或20M三種時(shí)鐘頻率,它在未加電時(shí)呈現(xiàn)高阻狀態(tài),不會(huì)影響網(wǎng)絡(luò)通信,是常用的收發(fā)器之一。FTT-10A收發(fā)器提供了與神經(jīng)元通信芯片接口和網(wǎng)絡(luò)接口的引腳。接口如圖5所示。
[align=center]
圖5 收發(fā)器接口電路[/align]
4 抄表模塊的軟件設(shè)計(jì)
抄表模塊分為表頭模塊和抄表表采集器兩個(gè)部分,但兩個(gè)部分低層驅(qū)動(dòng)軟件設(shè)計(jì)一是單片機(jī)部分程序設(shè)計(jì),另一部分是NODEBUILDER的NEURON C部分程序設(shè)計(jì),上層監(jiān)控則主要使用Echelon公司提供的LonMaker, NodeBuilder, LNS結(jié)合其他開發(fā)工具。
表頭模塊每隔24小時(shí)將采集到的數(shù)據(jù)通過串行通信的方式將實(shí)時(shí)數(shù)據(jù)發(fā)送給采集器,采集器在接受到各個(gè)用戶分時(shí)段的電表數(shù)據(jù)后,將之保存在28C64中,同時(shí)還將接受到的數(shù)據(jù)送到LON總線。LON節(jié)點(diǎn)的軟件開發(fā)采用專用的NERON C程序設(shè)計(jì)語(yǔ)言。NEURON C主要完成單片機(jī)部分和LON總線網(wǎng)絡(luò)的數(shù)據(jù)交換及通信實(shí)現(xiàn)功能。根據(jù)系統(tǒng)的任務(wù),軟件的主要功能是從AT89C51獲得數(shù)據(jù),然后將獲得的數(shù)據(jù)送到LON總線網(wǎng)絡(luò)。Neuron C程序總體結(jié)構(gòu)源程序一般是首先定義變量、函數(shù)以及I/O口的使用情況,然后編寫子程序及when()語(yǔ)句調(diào)度程序。
在采集器節(jié)點(diǎn)的調(diào)試過程中,作者利用LONMAKER創(chuàng)建一個(gè)網(wǎng)絡(luò)YTY,利用VISIO為L(zhǎng)onMaker網(wǎng)絡(luò)中添加一個(gè)開發(fā)目標(biāo)設(shè)備Development Target Device,啟動(dòng)NODEBUILDER,同時(shí)創(chuàng)建一個(gè)工程項(xiàng)目YTY; 在NodeBuilder中,進(jìn)行Neuron C編程,并且編譯下載該設(shè)備模板程序,同時(shí)獲得設(shè)備模板YTY; 設(shè)備模塊使用NodeBuilder編譯產(chǎn)生的模板YTY。
本文作者創(chuàng)新點(diǎn):本文完成了抄表模塊的軟、硬件設(shè)計(jì),實(shí)現(xiàn)單片機(jī)與神經(jīng)元芯片的并行通信;同時(shí),在進(jìn)行抄表采集器設(shè)計(jì)的基礎(chǔ)之上,還對(duì)LonWorks技術(shù)進(jìn)行了探索與研究,利用LON的開發(fā)工具完成了抄表系統(tǒng)的軟件設(shè)計(jì)。
參考文獻(xiàn):
[1] 洪利.CY7C53120神經(jīng)元芯片及其應(yīng)用[J],國(guó)外電子元器,2002 (2),12-16
[2] 顏廷勇,邵如平,林錦國(guó),劉定球.基于LON總線技術(shù)的智能節(jié)點(diǎn)研究與開發(fā)[J],淮陰工學(xué)院學(xué)報(bào),2002,5,52-55
[3] 趙君. 現(xiàn)場(chǎng)總線技術(shù)進(jìn)展[J]. 哈爾濱理工大學(xué)學(xué)學(xué)報(bào), 2002(3), 57-61
[4] 高群,李大興,鄭強(qiáng). USB-HOST技術(shù)在遠(yuǎn)程抄表系統(tǒng)中的應(yīng)用[J]. 微計(jì)算機(jī)信息, 2007, 8-2: 277-278