历史上的今天
今天是:2025年03月18日(星期二)
2018年03月18日 | 基于LONWORKS的智能频率采集节点设计方案
2018-03-18 来源:eefocus
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口,更由于多处理器的使用可以很方便的进行功能的扩展。
史海拾趣
|
提出的选择原则是将电机特性与负载特性分离开 ,并用图解的形式表示 ,这种表示方法使得驱动 装置的可行性检查和不同系统间的比较更方便 ,另外 ,还提供了传动比的一个可能范围.… 查看全部问答> |
|
最近在学Ardence RTX实时系统软件,有很多不懂的地方,下面是一个定时器程序,不太明白? 最近在学Ardence RTX实时系统软件,有很多不懂的地方,下面是一个定时器程序,不太明白?请路过大虾们帮忙看看。 下面是源代码,包括两个文件,一个头文件,一个源文件。如下所示: /////////////////////////////////////////////////////// ...… 查看全部问答> |
|
各位大哥大姐好,工作就是问题叠问题,小弟我又来了... 开发板上有几个跳线,我写了一个测试的程序,却出问题了,大家帮忙看看... 跳线驱动部分内容: BOOL Addr_Init() { //地址映射 } BOOL WINAPI DllEntry(HANDLE hI ...… 查看全部问答> |
|
很奇怪的事情,是这样的: 在OAL初始化里添加了对GPIO的操作,很简单的操作,就是拉高拉低的操作; 写代码的地方是在OEMInit函数里的OALTimerInit,里面对GPB2操作(电路上接的是蜂鸣器),操作顺序如下: 1.设置GPB的控制寄存器,设定其为输出 ...… 查看全部问答> |
|
我用make zImage编译好2.6.13的内核文件后,把/arch/arm/boot/zImage 文件烧进板子后,linux解压出错.错误信息如下: VIVI version 0.1.4 (root@localhost.localdomain) (gcc version ...… 查看全部问答> |
|
请问,板子上把芯片尺寸画大了怎么办? 我不小心把板子上面芯片的尺寸单位看错了,板子做出来芯片尺寸大了N多... 请问怎么解决? 有没有转接器之类的?可以把LQFP 48封装的线引出来啊??… 查看全部问答> |
|
我要做多路的温度采集,用的是K型热电偶,电源用电荷泵转换模块,信号调理部分想用AD620和OP07做二级放大,现在有几个地方不太有把握,请做过的帮忙! 一是电源,我现在用12v电瓶供电,用电荷泵转换成+/-12v,这样的电压有一定的纹波,对信号的采 ...… 查看全部问答> |
|
iBeacons 是苹果iOS 7.0 中新推出的一项\"隐藏功能\",虽然目前还没有公开全部的API详细资料,但它的潜力不容小视。 iBeacons 想要通过蓝牙4.0一站解决之前手机端遇到的一大批问题,包括认证、支付、室内定位、广告推送等,避免了NFC、二维码等没 ...… 查看全部问答> |




