摘要:本文主要叙述了基于lonworks的智能网络测控系统的设计思想,其中包括电源电路、mc143150与at89c52的接口、神经元芯片3150的存储器扩展等硬件电路的设计及at89c52单片机程序和neuron芯片的应用程序两部分的流程图,最后对系统的硬件和软件的抗干扰性措施作了简单的介绍。
关键词:lonworks;智能节点;智能网络测控
现场总线控制系统fcs是针对传统的dcs系统的不足之处提出来的,它跨越了电子、控制、仪器仪表、自动化、计算机和网络等领域,因此具有一定的学术意义。在众多总线中,lonworks现场总线以其完全支持iso/osi七层协议,支持多种通信媒介,可靠性高,可互操作,兼容性和灵活性好等独特的优点成为现场总线的主流。
本文对基于lonworks的高可靠性、全开放的智能网络进行研究和应用,通过大量的实验,开发和设计智能测控系统。
1 lonworks智能节点的设计概述
基于神经元芯片的开发可以分为两种:
(1)基于控制模块的硬件设计方法;(2)基于收发器的硬件设计方法。
控制模块中通常包括神经元芯片、flash、程序存储器、收发器以及ram等,用户只需设计自己的应用电路,可缩短产品的开发周期。而基于收发器的设计方法除了考虑应用电路设计,还必须考虑神经元芯片与flash存储器以及ram的接口电路。采用这种方法时,电路板设计加工以及生产工艺要求较高,但可以降低产品成本,提高设备的市场竞争力。WWw.133229.Com为了学习和以后研究的需要,本文采用第二种设计方案。lonworks技术是一种控制网络层次上的技术,故节点的开发离不开对网络的整体考虑,根据控制策略的不同,节点的开发会有所不同,但对于一个控制网而言,不外乎由传感器、执行器、获取和传输数据局的网络、执行控制逻辑的控制和程序等构成。而对于组成网络重要部分的节点而言,所完成的任务无非是获取和传输数据,并根据所获取的数据信息来执行相应的控制逻辑。故此,一个通用节点可由图1表示。
下面将讨论lonworks节点的硬件设计和开发以及lonworks节点的逻辑编程。
2 lonworks智能节点的硬件电路设计
2.1 电源电路设计
交流电源电压经过全波整流后,采用7805芯片变成节点电路需要的5v的直流电源。设计如图2所示。
2.2 mc143150与at89c52的接口
该节点采用at89c52作为主处理器,与神经元芯片接成并行i/o对象的操作模式。神经元芯片的并行i/o对象允许以最高为3.3mbps的速率双向传输数据。并行i/o对象的物理接口通过神经元芯片的11个i/o引脚完成。应用在并行i/o状态下的神经元芯片不再能有其他的i/o对象来处理物理接口,神经元芯片固件还可实现令牌传递和握手协议来实现同步和防止总线竞争。为增加设计的灵活性,神经元芯片提供几种并行i/o对象的操作模式:主模式,从a模式和从b模式。本节点中神经元芯片与单片机at89c52的连接采用从a模式,其接口电路如图3所示。
由于神经元芯片3150的握手信号hs是集电极开路的,因此需要接上一个10kω的上拉电阻。在slave a模式中,神经元芯片3150是在主处理器的控制下工作的,对主处理器来说,神经元芯片3150是含8个数据位和3个控制位的并行i/o设备。单片机的p0口与神经元芯片3150的io0~io7相连作为8位数据总线,p1.7与神经元芯片3150的io10相连接作为握手信号端,p1.5与io8相连作为cs信号端。hs信号由神经元芯片3150的内部固件控制,当hs为高电平时,表示神经元芯片3150正在读写数据、处于忙状态,当hs为低电平时,表示神经元芯片3150数据处理完毕,可以进行下一次通信了。在总线上主处理器和从处理器之间不断交换一个虚拟的写令牌,令牌的拥有者有写数据或传递数据的权力。主处理器写时,当at89c52单片机判断到hs信号为低时,在cs信号的下降沿将数据写入数据总线,在cs信号的上升沿数据被神经元芯片3150的输入缓冲区截取,同时导致hs端变为高电平,当数据读取结束时,hs被置低,等待下次通信。
2.3 神经元芯片3150的存储器扩展
本节点中,系统的固件存储在片外的eprom中,地址为0x0000~0x3fffh;应用程序也存储在片外的eprom中,地址为0x4000~0x7fffh;片外ram的地址为0x8000~0xdfffh。地址空间的分配如图4所示。图4是神经元芯片外接32kb eprom和24kb ram的电路原理图。由于系统固件的存储地址要求从0x0000h开始,所以32kb eprom的地址应设计成0x0000h~0x7fffh;而ram的地址是0x8000h~0xdfffh(24kb)。将地址线a15直接作为eprom的选片信号线。当a15为低电平时,eprom被激活,因此保证了eprom的地址从0x0000h到0x7fffh。
地址线a13和a14进行与非逻辑再和a15与非后作为ram存储器的选片信号线,这样,当地址信号线最高三位是100、101及110时,ram存储器的选片信号才为低电平,所以ram存储器的地址为1000 0000 0000 0000 ~ 1101 1111 11111111,即0x8000h~0xdfffh,一共为24kb。
2.4 主处理器at89c52外围电路设计
图5为主处理器外围接口电路图。该节点采用27256扩展了32kb的ram,用于存储各模拟通道输入和输出数据。
2.5 硬件抗干扰性措施
lonworks设备工作在复杂的电磁环境中,其自身各部分及与周围其他电子设备之间不可避免地存在各种形式的电磁干扰emi,此外静电放电esd产生的脉冲电压、电流也是瞬态干扰因素,因此在产品开发时应增强设备自身的抗干扰能力,切断内外干扰。为有效地避免因外界emi和esd导致自身工作性能的降低,同时结合lonworks电路自身特点,要考虑的主要问题有:寄生耦合问题、电源分配及vcc解耦、传输介质、esd的防护措施。
3 lonworks智能节点的软件设计
3.1据采集模块的软件设计
智能节点的数据采集部分采用maxim公司的12位das芯片max197位必须一致(即d2、d1、d0位必须一致)。max197提供了一个标准的中断信号,转换结束后输出数据准备就绪时,中断信号int变为低电平,本程序中通过轮询p1.7口的状态来判断转换是否结束。
at89c52单片机可根据定时常数来决定什么时候去触发数据采集开始,因此定时常数有2个,前m次采样的定时常数为tsd+t,后n-m次的定时常数为ts,采样得到的数据保存在扩展的ram中。
综上所述,编写的数据采集子程序流程图如图6所示。
3.2 lonworks通信模块的软件设计
本装置的主处理器是at89c52,从处理器是mc143150,主处理器负责将测得的数据发送给mc143150,而mc143150则负责将测得的参数实时发送到lonworks网络上。neuron芯片程序的编写使用neuron c语言。
本装置中主机在完成参量的采集、处理和存储后通过并行通信方式将测量结果发送给neuron芯片,由neuron芯片将测得的数据发送到lonworks网络上。因此通信模块包括了80c196kc与neuron芯片的通信和neuron芯片的网络通信两各部分。neuron芯片以并行从b方式与主机通信,在该方式下neuron芯片的io0~io7为双向数据总线(其中io0为数据的低位和握手信号共用位)、io8作为片选信号cs、io9为读写控制信号r/w、io10作为选择输入a0。主机与neuron芯片的通信程序流程图如图7所示。