基于LONWORKS的智能频率采集节点设计
扫描二维码
随时随地手机看文章
1.引言
近年来LONWORKS测控网络技术在众多现场总线中异军突起,在数据采集与监控系统(SCADA)、工业控制、楼宇自动化、智能交通等领域广泛的应用。实现LONWORKS测控网络的关键是LONWORKS智能节点的开发。本文提出了两种LONWORKS频率采集节点的设计与实现方法,并对二者的优缺点进行了综合比较。
2.LONWORKS智能节点
LONWORKS智能节点的核心处理器神经元芯片是NEURON 3120或NEURON3150.神经元芯片具有独特的内部结构即:芯片内部集成了三个CPU,CPU-1是介质访问控制器,CPU-2是网络处理器,二者共同完成节点的网络通信功能,CPU-3是应用处理器,主要负责执行用户编写的代码以及用户代码调用的操作系统命令。典型的LONWORKS智能节点的结构有两种类型。一种是以NEURON芯片为核心的节点,NEURON芯片既处理用户应用又负责网络通信,如图1(a)所示;另一种是采用MIP结构的节点,NEURON芯片只充当通信处理器,节点的应用程序由主处理器来执行,如图1(b)所示.
ECHELON公司将双较线收发器FTT-10A与原有的神经元芯片集成在一起新近推出了双较线智能收发器FT3150、FT3120芯片。新的FT3150、FT3120芯片在外围电路的设计上和原有3150芯片是兼容的,从而节省了用户在外围电路设计上所花费的时间,不仅降低了节点的开发难度和开发成本,而且提高了节点的抗干扰性。此外FT3150、FT3120芯片还支持更高的输入时钟,最高输入时钟可达40M赫兹,大大提高了整个芯片的处理速度。因此设计采用FT3150芯片代替图1中的NEURON芯片和收发器,节点的结构更为简单.
3.基于神经元芯片的频率采集节点设计
LONWORKS是专用于工业测控领域的控制网络,为了方便使用NEURON芯片的11个I/O口可以通过编程定义为34种应用对象。其中周期输入对象、脉冲计数对象和总数输入对象都可对现场频率信号进行测量。下面分别给出这三类IO对象的简单应用:
周期输入对象可测量输入信号两个上升沿或两个下降沿之间的时间间隔简单应用如下:
当FT3150采用10M晶振时周期输入对象的分辨率是25.6us,脉冲计数输入对象可通过技术0.8388608s时间内的输入边沿,测量输入信号的平均频率,简单应用如下:
总数输入对象通过定时计数器记录输入信号的上升沿或下降沿跳变总数,当FT3150采用10M晶振时输入信号的最大频率是2.5M赫兹。
简单应用如下:
一种简单的频率测量实现方法就是利用以上三种IO对象来实现的。设计框图如图2所示。
8选1多路模拟开关CD4051通过IO_0~IO_4与FT3150相连,FT3150可以定义IO_0~IO_7相邻的4个IO口作为半字节IO对象用来进行通道选通,我们选用IO_0~IO_3来实现此功能,半字节IO对象的定义如下:IO_0 output nibbleio_select;IO_4为测量信号输入脚。
此类节点可以对8路频率信号进行采集,具有易简单,体积小等特点,其缺点是由于受NEURON芯片自身特性的限制只适用于输入信号频率较低的场合。
4.基于多处理器模式的频率采集节点设计
针对测量频率较高的场合,节点的设计可采用多处理器模式,用AT89C52单片机进行频率测量,FT3150专职负责处理LONWORKS网络通信。输入频率信号经过限幅或放大等信号调理电路后进入可编程器件CPLD进行分频处理,单片机对分频后的信号进行采集后,通过异步串口送入FT3150,并由它转发至LONWORKS网络。
节点硬件设计框图如图3:
设计中CPLD采用可编程器件ISP1016E来实现输入信号进行分频以及通道的切换。
ISP1016E内部有2000个PLD门,32个输入输出(IO)引脚,4个专用输入引脚,引脚TTL电平兼容。ISP1016E采用高性能的E2CMOS技术,最大使用频率为125M赫兹,电可擦除和编程。设计使用ISP1016E的16个IO作为信号的输入端;3个IO口(A,B,C)实现8选1选通;一个IO口(CS)控制是否进行分频,当CS=0时不对输入信号进行分频,输入8路低频信号,当CS=1时对输入信号进行分频处理;然后通过IO输出至单片机采集端口。
FT3150可根据网络上的控制消息向AT89C52发出中断信号,启动数据采集,经过一段延时后通过异步串口接收来自单片机的采集数据。
I0_0 output bit starts;//中断信号发送I/O口starts是自定义的对象名称,output bit表示IO被定义为比特输出对象发送启动采集信号可以通过下面的语句实现。
单片机检测到IO_0引脚的由高到低的电平变化后进入中断采集数据。采集完8个通道的数据后通过异步串口发送采集数据。FT3150接收数据的实现程序如下:
IO_8 input serial baud(4800)data_in;
IO_8定义为串行输入口,波特率为4800b/s,io_in(data_in,in_buffer,17);
接收采集数据并存放与输入缓冲区。
5.结语
实验结果表明,基于多处理器模式的频率采集节点在采集速度、采集精度以及测量范围等方面都明显优于基于神经元芯片的节点,不仅节省了神经元芯片的IO口,更由于多处理器的使用可以很方便的进行功能的扩展。