1. 引言
LonWorks网络控制技术是近年来迅速发展起来的现场总线控制技术,其集计算机、网络、控制于一体,集成了ISO/OSI的全部七层协议,同时具有通信和控制功能,并支持双绞线、同轴电缆、电力线、射频、红外线、光纤等多种通讯媒介,且工作温度范围宽(-40℃~85℃),组网灵活,开放性好,已在工业、楼宇、运输、能源等自动化领域得到广泛应用。本文设计的智能节点就是运用LonWorks技术的种种优势在电力线上实现数据的可靠、准确、快捷的传输。该方式节省了通讯线路的基建投资和日常的维护费用,也不占用日益紧张的频率资源,具有一定的经济可行性,应用前景十分广泛。
2. 节点硬件设计
LonWorks技术是一种控制网络层次上的技术,因此节点的开发离不开对网络的整体考虑。根据控制策略的不同,节点的开发会有所不同。但对于一个控制网而言,不外乎由传感器、执行器、获取和传输数据的网络、执行控制逻辑的控制和程序等构成。而对于组成网络重要部分的节点而言,所完成的任务无非是获取和传输数据,并根据所获取的数据信息来执行相应的控制逻辑。因此,一个典型的LonWorks现场总线节点就是以神经元芯片为核心,外加收发器,扩展内存(只适用于3150芯片),外围I/O电路,复位及服务电路和电源供应电路等。其组成结构如图1所示。
2.1神经元芯片及内存扩展
节点的核心——神经元芯片(Neuron chip)是一个带有多个处理器、读写/只读存储器(RAM和ROM)以及通信和I/O接口的单芯片系统。在每个神经元芯片的ROM中包含一个能够执行LonTalk协议的神经元芯片固件,节点就依照固件中的LonTalk协议与网络上其它的节点进行通信。现在市场上的Neuron芯片主要分为3120与3150两个系列,其中3150系列因可进行内存扩展设计方便而广为使用。东芝公司的Neuron 3150,其内部只有512字节EEPROM和2KROM,现使用一片32K8FLASH内存芯片作为3150的全部扩展内存。FLASH芯片的低16K装入系统固件,并必须使用EPROM 编程器写入。而其高16K用来装入应用代码和数据。图2给出内存扩展电路。
2.2 收发器及服务、复位电路
电力线收发器PLT-22是美国Echelon公司为实现在电力线上进行数据传输而专门开发的调制解调芯片,其内核为数字信号处理器(DSP),并采用了BPSK技术。PLT-22的数据传输采用双频模式,其中132.5KHz为主载,如果主频被噪声干扰,则会自动采用115KHz的付载频传输数据,从而利用双载波频率的自动调整解决因断续的噪声干扰、阻抗变化和信号衰减等原因造成的电力线通信的恶劣情况。这一点对于在干扰源多、噪声大的电网上进行数据传输尤为适用。
在LonWorks节点的配置、安装和维护中,服务管脚发挥着不可小视的作用。作为输出它驱动一个LED,当节点有故障时,LED可以通过显示一定的信号给予提示。对于LED所给出的信号以及其所表示的状态,常见的情况如下:
1.从上电起,若LED全亮或是全暗,则说明节点有硬件故障
2.在上电或复位时,若LED先亮后暗,然后持续亮,则可能是节点无应用程序或是应用程序和固件不匹配
3.LED闪动时,则意味着节点还没有配置
对于一个节点而言,一个上电复位电路是必须的,此处用DS1233作为低压保护器件LVI(Low Voltage Interrupt),并加了一个手动复位安钮以便在网络通信出现阻塞时用来复位。
2.3 外部I/O设备
Neuron芯片有11个双向可编程I/O口、34种可选工作模式,支持电平、脉冲、频率等信号,可与各种传感器配合实现各种参数的测量和控制。其中包括串行I/O方式。数据速率可由软件设置为600,1200,2400和4800bps,且其工作方式为半双工。设计采用串行1200bps、半双工的工作方式,其外部I/O设备分为显示与温度采集、转换两部分。
显示部分:参考美国Echelon公司提出的典型节点设计选用MC14489B LED驱动芯片驱动四盏LED,Neuron芯片的IO3管脚作为MC14489的片选端口,IO8管脚为时钟端口,IO9为控制字输入端。图3列出了显示电路。
温度采集、转换部分:以LM35DZ用于温度的采集,LM35DZ采集范围是0~100度(摄氏度),每10mv/1度。A/D转换采用MAX186 12位数据采集芯片。它集成了8通道多路开关、大带宽跟踪/保持电路和SPI串行接口,具有转换速率高,功耗极低的特点。此器件可使用单一+5V电源或±5V电源进行工作,其模拟输入可由软件设置为单极性/双极性和单端/差分工作方式。现采用主控模式(neurowire master),即Neuron芯片的IO8管脚作为时钟信号,IO6控制字输出端口(Data in),IO10是控制字输入端口(Data out)。 电路如图4所示。
2.4 硬件抗干扰
Lon Works网络节点的工作现场往往是处在非常复杂的电磁环境中,节点各部分与周围其它电子设备之间,都不可避免地存在各种形式的电磁干扰和静电放电。为了保证通信的准确无误,延长硬件使用寿命,该节点在设计上结合LonWorks电路自身特点,采用有关接地、屏蔽和滤波的适当处理,进而有效减小电磁干扰的影响。针对收发器PLT-22,设计时运用了一系列耦合电路,以隔离工频电路。对于电磁干扰,尽量保证强噪声源(如时钟电路等)远离收发器PLT-22。
3. 节点软件设计
Neuron芯片中的软件可以分为三个主要部分:系统映射(System Image)、应用映射(Application Image)和网络映射(Network Image)。系统映射包括Lontalk协议、NeuronC的应用函数库和任务调度程序(Task Scheduler)。在芯片3150中,系统映射储存在扩展ROM中。因在芯片中,系统映射和网络映射是由相应的开发系统自动生成的。对开发人员而言,它们是隐性的,就可以使开发人员把主要的精力放在应用程序的开发上,以减少系统开发的工作量。Neuron软件的编写采用的是一种专门为神经元芯片设计的、基于标准C编程语言——Neuron C,其直接支持神经元芯片的固件(Fireware),并具有一些新特点,如网络变量(network variables)。
在节点的应用程序中,网络变量可由如下的语法声明:
networkinput/output [netvar-modifier] [class] type [connection-info] identifie
当一个节点中的输出网络变量发生变化时,与其相联的其他节点的所有输入网络变量也同时更新它们的值。这样,节点与节点之间的通信就隐性的完成而不需要用户的干预。网络变量的使用大大简化了分布式系统的开发工作。开发者不必考虑通信中信息缓存、节点寻址、请求、应答、重试处理等一些低层次的细节工作。网络变量的采用,使得网络通信就像通常应用程序调用其中的一个普通变量一样,极大地方便了节点编程。此外在节点的应用程序中,没有C语言中常见的主函数(main function),而是由一种系列的when语句组成。When语句包含一个表达式,当其为TRUE时,则执行相应的任务,如下所示:
when (timer-expires(led timer))
{//Turnofftheend
io-out ( io-led,OFF); }
在上面这个例子中,当时钟led timer结束时,相应的LED将被关闭。多个when语句可与单个任务相联,但when语句不可嵌套。When语句可以设定优先级,优先级高的when语句优先进行条件判断。它们的逻辑控制是由任务调度器完成。
现借用Neuron 芯片与MAX186接口程序片段管窥Neuron C新特点:
IO8 neuron ware master select(IO4)MAX186;// IO8时钟引脚,IO6数据输出,IO10数据输入;主模式,片选信号IO4 //
IO4 output bit MAX186-CS = 1;//选择IO4为位输出 //
when ( timer_expires (clock_1) );// 定时/计数器clock_ 1满事件驱动 //
Io_out (MAX186_cs, 0) ; // 选中 MAX186 //
Io_out (MAX186,10001111) ;// 送MAX186控制字:通道0,单极性,单端输入,外部时钟模式 //
In_put = io_in(MAX18612,&in_put,16);// 输入转换结果 //
Io_out (MAX186_cs,1) ; //MAX186cs无效,结束信号采集 //
系统程序流程图如图6所列。
4.结论
本文设计的节点实现了通过电力线对远端节点现场温度信息的监视,并可在节点端进行本地温度和远端温度的切换显示。智能节点的开发设计是实现分散式智能控制网络系统的重要环节,根据用户的不同要求可以实现很多功能如防火、防盗、人体感应、门禁等报警功能,形成网络监控管理功能,实现家庭安防系统智能化,并能实现工业网络仪表智能化。
参考文献
[1] 阳宪惠. 现场总线技术及应用. 清华大学出版社. 1999
[2] 孙君曼. 马莉. 基于现场总线Lonworks技术的智能节点的开发与设计. 计算机自动测量与控制. 2001,10
[3] 杨育红. LON网络控制技术及应用. 西安电子科技大学出版社. 1999
[4] 汤同奎. Lonworks现场总线应用研究. 上海交通大学出版社. 2000
[5] Echelon 公司. Parallel I/O Interface to the Neuron Chip
[6] Echelon Corp. Neuron chip data book. Februrary,1995
|