论文部分内容阅读
摘 要:论述了基于Neuron芯片开发智能节点的方法。利用智能节点。模拟工控现场进行组网。上位机选用LNS DDEServer和Lon总线设备进行通信:基于LNS的LonMaker for Windows网络集成工具将各网络变量捆绑。并负责管理
整个网络:利用iLon100e3和Contribute开发测控网络的控制界面。
关键词:LonWorks技术 智能节点 LNS
中图分类号 TF273 文献标识码 A 文章编号:1002-2422(2007)03-0012-02
1 智能节点的建立
1.1 节点的硬件电路设计
系统硬件设计主要由两部分组成:神经元芯片的控制模块(Control Module)的硬件设计,它相当于普通单片机硬件设计的最小系统;基于神经元芯片的硬件接口电路设计,采用神经元芯片作为CPU,设计实现预定功能的I/0硬件接口电路。由于篇幅所限,只对其中关键的硬件设计进行列举。
1.1.1 神经元芯片3150存储器扩展电路
控制模块存储器采用FLASH EPROM,能够在掉电的情况下保证数据不丢失,同时在上电的情况下还能够对它进行有限次数的数据写操作。在FLASH EPROM中,27C256与3150时序配合最为合适,存储空间为32k。
1.1.2 温度数据采集电路
采用LM34检测温度并转换为电压信号。MAX186在此处主要采用单端内部电压工作模式,CHO为MAX186模拟信号输入端,输出端选用神经元芯片的IO_5作为片选信号,CS与IO_5相连。由于神经元芯片的NeumwireI/O对象必须采用IO_8作为时钟,IO_10为数据输出,IO_9为数据输入,因此,MAX186的串行输入偷出脚SCLK,DIN,DOUT分别与神经元芯片的IO_8,IO_9,IO_1O相接。
1.1.3 温度显示及驱动电路
此处显示温度,5位数字基本满足要求,MC14489B与MC14489B的bank1-bank5分别与各LED的公共电极COM相接。对神经元芯片,采用串行通信方式接法,IO_8,IO_9
1.2 节点的应用程序开发
Neuron C是专门为Neuron芯片设计的程序设计语言,它在ANSI C的基础上进行了自然扩展,直接支持Neuron芯片的固化软件,并删除了ANSIC中一些不需要的功能(如浮点运算、文件I/O等)。程序设计思路为:通过定时器对象tmrA2DSample设定采样时间,Neuron C处理定时器事件,在when(Timer_expires(tmrA2DSamph))程序段中,进行数据采集,并进行输出网络变量nvoTempemture更新,同时把温度送到七段码显示器上进行显示。
在Neuron C程序设计的过程中,两部分主要功能模块都要使用串行Neurowire IO对象,该对象通过Neuron芯片的11个引脚中的IO_8-IO_10进行三线串行传输。
数据采集部分程序如下:
when(timer_expires(tmrA2DSample)){unsigned Long A2DBuffer;
A2DBuffer=0:
IO_in(ioA2D,
整个网络:利用iLon100e3和Contribute开发测控网络的控制界面。
关键词:LonWorks技术 智能节点 LNS
中图分类号 TF273 文献标识码 A 文章编号:1002-2422(2007)03-0012-02
1 智能节点的建立
1.1 节点的硬件电路设计
系统硬件设计主要由两部分组成:神经元芯片的控制模块(Control Module)的硬件设计,它相当于普通单片机硬件设计的最小系统;基于神经元芯片的硬件接口电路设计,采用神经元芯片作为CPU,设计实现预定功能的I/0硬件接口电路。由于篇幅所限,只对其中关键的硬件设计进行列举。
1.1.1 神经元芯片3150存储器扩展电路
控制模块存储器采用FLASH EPROM,能够在掉电的情况下保证数据不丢失,同时在上电的情况下还能够对它进行有限次数的数据写操作。在FLASH EPROM中,27C256与3150时序配合最为合适,存储空间为32k。
1.1.2 温度数据采集电路
采用LM34检测温度并转换为电压信号。MAX186在此处主要采用单端内部电压工作模式,CHO为MAX186模拟信号输入端,输出端选用神经元芯片的IO_5作为片选信号,CS与IO_5相连。由于神经元芯片的NeumwireI/O对象必须采用IO_8作为时钟,IO_10为数据输出,IO_9为数据输入,因此,MAX186的串行输入偷出脚SCLK,DIN,DOUT分别与神经元芯片的IO_8,IO_9,IO_1O相接。
1.1.3 温度显示及驱动电路
此处显示温度,5位数字基本满足要求,MC14489B与MC14489B的bank1-bank5分别与各LED的公共电极COM相接。对神经元芯片,采用串行通信方式接法,IO_8,IO_9

1.2 节点的应用程序开发
Neuron C是专门为Neuron芯片设计的程序设计语言,它在ANSI C的基础上进行了自然扩展,直接支持Neuron芯片的固化软件,并删除了ANSIC中一些不需要的功能(如浮点运算、文件I/O等)。程序设计思路为:通过定时器对象tmrA2DSample设定采样时间,Neuron C处理定时器事件,在when(Timer_expires(tmrA2DSamph))程序段中,进行数据采集,并进行输出网络变量nvoTempemture更新,同时把温度送到七段码显示器上进行显示。
在Neuron C程序设计的过程中,两部分主要功能模块都要使用串行Neurowire IO对象,该对象通过Neuron芯片的11个引脚中的IO_8-IO_10进行三线串行传输。
数据采集部分程序如下:
when(timer_expires(tmrA2DSample)){unsigned Long A2DBuffer;
A2DBuffer=0:
IO_in(ioA2D,