摘 要: LonWorks總線技術由于其開發(fā)周期短,相對投入較少,通信的效率與可靠性較高,已經(jīng)成為當前最流行的現(xiàn)場總線技術之一。本文介紹了基于LonWorks技術的電能表抄表系統(tǒng)的各功能電路的設計方法,給出具體的硬件實現(xiàn); 并介紹了采集模塊的Neuron C應用軟件、單片機程序的設計及低層硬件驅(qū)動程序設計。
關鍵字: 遠程抄表;電能表;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技術的優(yōu)勢是將通信協(xié)議固化于Neuron(神經(jīng)元)芯片中,并且提供一套完整的開發(fā)與建網(wǎng)工具-LonBuilder和Nodebuilder及LNS。這樣,用戶可以較少關心網(wǎng)絡的通信,而集中于節(jié)點的具體應用開發(fā)。在智能抄表系統(tǒng)中,低層電表信號的采樣及相應的數(shù)據(jù)傳輸是抄表系統(tǒng)性能的最為重要的保證。本系統(tǒng)中作者選擇LonWorks總線解決通信這一目前在智能抄表系統(tǒng)的瓶頸問題。
2 系統(tǒng)組成
[align=center]

圖1 系統(tǒng)結構示意圖[/align]
表頭采樣模塊主處理器選用AT89C51單片機,完成電表脈沖信號采樣、度數(shù)計算和反饋連動。抄表采集器由AT89C51作為主處理器與MC143150Neuron芯片構成的Host-based節(jié)點作為系統(tǒng)的次站,與LON網(wǎng)絡連接。
本設計將Neuron芯片工作方式配置為在從B方式,具體為I/O0~I/O7與AT89C51的P0口相連,經(jīng)此通道AT89C51的管理信息和實時數(shù)據(jù)通過LON網(wǎng)可上傳至工控機和生產(chǎn)管理計算機以及其它LON節(jié)點。系統(tǒng)結構,如圖1所示。反向通道,工控機和生產(chǎn)管理計算機以及其它LON節(jié)點的管理信息和實時數(shù)據(jù)也可經(jīng)此通道送入AT89C51控制器中。圖1中的黑框中部分為電表采集器模塊。
3 抄表模塊硬件詳細設計與實現(xiàn)
3.1 表頭采樣模塊
電表表頭采樣模塊的主處理器選用AT89C51單片機,表頭采集模塊主要負責采集能源對應的數(shù)字量(脈沖信號),由主CPU進行處理,將相應的數(shù)據(jù)信號保存,分時發(fā)送給抄表采集器,通過收發(fā)器,將相應電表的信號送到LON總線。
?。?) 信號采樣
目前,市場上的電表基本上為脈沖電表,即輸出標準脈沖信號。以本系統(tǒng)調(diào)試采用的單相電子式電能表為例,該表電氣特性為:220V-1.5(6) A-3200imp/kWH,表明每輸出3200個脈沖信號耗電能為1千瓦時,脈沖占空比為50%。電表輸出的脈沖信號送到采集模塊,經(jīng)過光電耦合器開關(如圖2),進行信號隔離,再通過74LS14加以整形,然后送到單片機的外部中斷INT0(P3.2)腳,引起CPU產(chǎn)生一次外部中斷。采用中斷方式實現(xiàn)實時計數(shù),排除了漏計的可能。光電耦合器選用TLP521-1,采用單路信號采樣。
[align=center]

圖2 信號采樣[/align]
(2) 數(shù)據(jù)保存
當有采樣信號引起中斷,計數(shù)器工作,當脈沖計數(shù)到3200時,產(chǎn)生一次寫操作,將前一地址單元值加一保存到當前地址。存儲器采用可在線電擦除的EEPROM28C17,在讀時將28C17當作程序存儲器,寫時當作外部RAM,工作性能非常穩(wěn)定,讀寫操作從未出現(xiàn)差錯。本系統(tǒng)中定義28C17的地址編碼為7800H-7FFFH, 2K尋址。
(3) 日歷時鐘電路
采樣模塊需要對系統(tǒng)能進行分時計數(shù)功能,所以需要實時時鐘,以完成定時產(chǎn)生中斷、分時顯示、獲取時間和日期等功能,具體選用美國Dallas公司生產(chǎn)的實時時鐘芯片DS 12887。DS 12887是一個實時時鐘的完整子系統(tǒng),其集成度高,內(nèi)部包含有一個鏗電池、一個石英晶振和一個寫保護電路。本系統(tǒng)采用DS12887作為實時時鐘芯片。
?。?) 斷電處理
當出現(xiàn)費用超支時,系統(tǒng)能進行自動斷電處理。基本原理圖如圖3所示。當上位機端發(fā)現(xiàn)某用戶費用超支時,發(fā)出斷電指令給89C51, 89C51通過給端口置零,經(jīng)反相后,送至8050的B極,引起繼電器動作,開關吸和,此時相當于送往電表的開關處于截止狀態(tài),系統(tǒng)斷電。圖中Q1, Q2構成達凌頓管。
[align=center]

圖3 斷路開關電路[/align]
?。?) 顯示模塊
另外系統(tǒng)還可以提供液晶顯示器(使用12232點陣液晶屏,提供漢顯),做到實時顯示功能,能在抄錄某時期內(nèi)、某用戶電能表計數(shù)器窗口累計的全位示數(shù)。眾所周知,手工抄表時代,記錄的讀數(shù)值是表頭累計值,計費是運行后的累計示數(shù)與原始示數(shù)之差才是表計電量,所以說,抄表得到的示數(shù)并非表計電量。另外,除去居民生活用電的直通式電能表之外,用戶的實際用電量還與其表計倍率、計量方式(計量點的設定、表計的套數(shù))等有很大關系。因此說,表計電量也并不是用戶的實際用電量。作者認為,同時抄錄表計序號和表計示數(shù)這兩個數(shù)據(jù),能更直觀地校對抄表數(shù)據(jù)與抄表對象的一致性,而且還為計算表計電量和實際用電量提供了必要條件,從而使得用戶能清楚地知道表計數(shù)總量和當前使用量。
3.2 抄表采集器的硬件設計
抄表采集器的硬件設計主要包括處理器電路、AT89C51與MC143150Neuron芯片之間的通信接口、LON總線網(wǎng)絡接口3部分。
?。?) 主CPU及其外圍擴展電路
主CPU采用常規(guī)單片機89C51,接有一片28C64EEPROM作為在線可電擦除存儲器,保存各采樣模塊送來的數(shù)據(jù)信號。還包括復位電路、時鐘電路、外部RAM擴展、232串口通信電路、電源電路等。
?。?) 主CPU和MC143150Neuron芯片之間的通信接口的設計
本抄表采集模塊采用HOST BASED結構,主CPUAT89C51和從處理器MC143150Neuron芯片之間的通信實現(xiàn)采用從B方式。一般來說,并行接口可配置成Neuron芯片工作在主、從A或從B方式,兩個Neuron芯片以主、從A方式接口;而Neuron芯片同非Neuron芯片以從B方式接口,非Neuron芯片充當主機,Neuron芯片工作在從B方式,進行握手聯(lián)絡來控制指令的執(zhí)行。主從機交換數(shù)據(jù)期間Neuron芯片暫停應用程序的執(zhí)行過程。每次最多可交換255個字節(jié)數(shù)據(jù)。這種并行I/O接口對象方式用在快速交換數(shù)據(jù)的場合是非常有用的。Neuron芯片能充當外部處理器的協(xié)處理器,產(chǎn)生一個網(wǎng)橋、網(wǎng)關或路由器。說明了Neuron芯片在并行接口對象時的典型應用。從B方式屬于并行I/O對象,本系統(tǒng)使用MC 143150Neuron芯片的所有11只腳,其中MC143150的I/O0~I/O7是8位雙向數(shù)據(jù)線,I/O8~I/O 10是3位控制信號線。借助令牌傳遞/握手協(xié)議,實現(xiàn)MC143150Neuron芯片與主處理器之間的雙向數(shù)據(jù)傳輸。相對主CPU而言,MC143150Neuron芯片相當于一個有著8位數(shù)據(jù)線、3位控制線的并行I/O設備,系統(tǒng)接口圖如圖4所示。
[align=center]

圖4 單片機與3150的接口[/align]
(3) Lon網(wǎng)絡接口
作者采用了支持FTT-10A自由拓補雙絞線收發(fā)器的Control Module作為采集器與LON總線的接口。FTT-10A收發(fā)器主體是一個隔離變壓器,該變壓器集成了一個78Kbps差分曼徹斯特編碼通信收發(fā)器。FTT-10A收發(fā)器能自動檢測5M, 10M或20M三種時鐘頻率,它在未加電時呈現(xiàn)高阻狀態(tài),不會影響網(wǎng)絡通信,是常用的收發(fā)器之一。FTT-10A收發(fā)器提供了與神經(jīng)元通信芯片接口和網(wǎng)絡接口的引腳。接口如圖5所示。
[align=center]

圖5 收發(fā)器接口電路[/align]
4 抄表模塊的軟件設計
抄表模塊分為表頭模塊和抄表表采集器兩個部分,但兩個部分低層驅(qū)動軟件設計一是單片機部分程序設計,另一部分是NODEBUILDER的NEURON C部分程序設計,上層監(jiān)控則主要使用Echelon公司提供的LonMaker, NodeBuilder, LNS結合其他開發(fā)工具。
表頭模塊每隔24小時將采集到的數(shù)據(jù)通過串行通信的方式將實時數(shù)據(jù)發(fā)送給采集器,采集器在接受到各個用戶分時段的電表數(shù)據(jù)后,將之保存在28C64中,同時還將接受到的數(shù)據(jù)送到LON總線。LON節(jié)點的軟件開發(fā)采用專用的NERON C程序設計語言。NEURON C主要完成單片機部分和LON總線網(wǎng)絡的數(shù)據(jù)交換及通信實現(xiàn)功能。根據(jù)系統(tǒng)的任務,軟件的主要功能是從AT89C51獲得數(shù)據(jù),然后將獲得的數(shù)據(jù)送到LON總線網(wǎng)絡。Neuron C程序總體結構源程序一般是首先定義變量、函數(shù)以及I/O口的使用情況,然后編寫子程序及when()語句調(diào)度程序。
在采集器節(jié)點的調(diào)試過程中,作者利用LONMAKER創(chuàng)建一個網(wǎng)絡YTY,利用VISIO為LonMaker網(wǎng)絡中添加一個開發(fā)目標設備Development Target Device,啟動NODEBUILDER,同時創(chuàng)建一個工程項目YTY; 在NodeBuilder中,進行Neuron C編程,并且編譯下載該設備模板程序,同時獲得設備模板YTY; 設備模塊使用NodeBuilder編譯產(chǎn)生的模板YTY。
本文作者創(chuàng)新點:本文完成了抄表模塊的軟、硬件設計,實現(xiàn)單片機與神經(jīng)元芯片的并行通信;同時,在進行抄表采集器設計的基礎之上,還對LonWorks技術進行了探索與研究,利用LON的開發(fā)工具完成了抄表系統(tǒng)的軟件設計。
參考文獻:
[1] 洪利.CY7C53120神經(jīng)元芯片及其應用[J],國外電子元器,2002 (2),12-16
[2] 顏廷勇,邵如平,林錦國,劉定球.基于LON總線技術的智能節(jié)點研究與開發(fā)[J],淮陰工學院學報,2002,5,52-55
[3] 趙君. 現(xiàn)場總線技術進展[J]. 哈爾濱理工大學學學報, 2002(3), 57-61
[4] 高群,李大興,鄭強. USB-HOST技術在遠程抄表系統(tǒng)中的應用[J]. 微計算機信息, 2007, 8-2: 277-278