现场总线系统是自动控制系统发展的一种趋势。然而,当前还存在着大量基于各种非现场总线标准的设备,将这些设备全部更新成基于现场总线的设备几乎是不可能或不现实的。因此,开发现有设备到现场总线的接口转换设备,使现场总线技术与传统的设备有机地结合起来,将非现场总线设备集成到LonWorks现场总线系统中,实现基于现场总线的控制系统,是一项非常有意义的工作。
本文的目的是将现场总线技术、非现场总线技术、智能控制技术和单片机技术各自的优势有机地结合起来,设计一种既具有强大现场处理功能,又具有通信功能的智能控制节点。通过该智能控制节点,能够将传统仪器、设备挂接到LonWorks现场总线上,经LonWorks总线进行信息的传输与交换。
如GPIB接口是目前许多仪器的专用接口,通过GPIB总线控制仪器端,实现远程控制。然而GPIB系统却受到一些工作限制,如:①两个设备之间最大距离4m,整个电缆的长度不得超过20m;②GPIB母线上最多可挂15个设备,这主要是受TTL接口收发器驱动能力限制。当测试系统有必要使用多于15个器件时,需在控制器上再添置一个GPIB接口,即可多拉一条母线,多挂14个设备。
本文以具有GPIB总线接口的设备为例,通过设计基于LON总线的智能节点,将基于GPIB总线接口的设备转换成LonWorks现场总线设备,进而将空间位置上分散较远的基于GPIB总线的仪器仪表资源通过LonWorks网络有效联系起来,实现仪器的较远程控制和数据的分析、处理与资源共享。
智能节点的总体设计方案
LonWorks节点是同物理上与之相连的I/O设备交互作用并在网上使用LonTalk协议与其他节点相通信的对象。LonWorks现场控制节点包含:应用CPU、I/O处理单元、通信处理器、收发器和电源等。
LonWorks节点有两种类型:
①以Neuron芯片为核心的控制节点,Neuron芯片直接作为通信处理器和测控处理器,这类节点适合于I/O设备较简单,处理任务不复杂的系统。
②采用主处理器结构的控制节点,即Host Base节点,Neuron芯片只作为通信处理器,充当着LonWorks网的网络接口,节点应用程序由主处理器(一般用微控制器)执行,这类节点适合于对处理能力、输入/输出能力要求较高的系统,如图1所示。
图1 LonWorks智能控制节点
本智能节点采用Host Base节点结构。通信协议处理器采用Neuron 3150芯片,该固件中带有LonWorks网络通信协议,该通信协议集成了ISO全部7层协议。节点采用网络变量的形式发送和接收数据,通信速率可达78.125kbps,对于总线或环型拓扑网络结构,最大通信距离可达2700m;对于星型或自由拓扑网络结构,最大通信距离可达500m,满足了远程测控的需求。
本节点的最主要部分是主处理器,选用STC89C516RD+,它既要接收现场总线控制模块并行发出的信息并且将它转化成非现场总线设备能接收的信息格式,又要将非现场总线设备上的信息转化传送到现场总线控制模块。它是实现LonWorks现场总线系统和非现场总线设备间通信的桥梁。
智能控制节点的总体结构如图2所示,主要分为LonWorks控制模块与主控制模块及其外围设备接口。
图2 智能控制节点总体结构框图
LonWorks控制模块电路设计
本节点将神经元芯片、FLASH ROM、RAM和收发器等集成为一个通用模块,称之为LonControl控制模块。以神经元芯片为核心的LonWorks控制模块主要负责对LON通信网络的管理以及与单片机的并行数据通信。
Neuron芯片3150选型
Neuron芯片是LonWorks技术的核心,每一个神经元芯片被赋予一个唯一的48位码的标识,称为标识码。它既进行通信的管理,也同时具有输入、输出和控制的能力。介质访问控制CPU处理LonTalk 7层协议的第1到第2层,包括驱动通信子系统硬件和执行MAC算法;网络CPU处理LonTalk协议的第3到第6层,包括处理网络变量寻址事务、权限证实、背景诊断、软件计时器、网络管理和路由等,同时还控制网络通信端口、物理的发送和接收数据包;应用CPU执行用户用Neuron C语言编写的代码以及用户代码调用的操作系统命令。芯片内有3个8位流水线作业的CPU,3个CPU分别通过片内的网络缓存器和应用缓存器进行通信。
神经元芯片选用日本东芝公司生产的TMPN3150B1AF,通常为64脚QFP封装。芯片内存储器的地址范围是E800H~FFFFH,包括2kByte的SRAM和512kByte的EEPROM。
神经元芯片外部存储器扩展电路设计
TMPN3150有16根地址线,可寻址64k空间,可以外接存储器,如RAM、ROM、EEPROM或FLASH。根据应用性能和成本要求,该智能节点的外部存储器采用FLASH和RAM。FLASH ROM不仅能够在断电的情况下保证数据不丢失,而且在上电情况下可进行理论上高达10万次的数据写操作。
根据Echelon公司的推荐,这里选用Winbond的W29EE512P作为FLASH ROM扩展。W29EE512P是64k×8bit CMOS FLASH Memory,5V的电压即可对其进行片上编程和擦除。W29EE512P含有4k个扇区,每个扇区为128字节,存储空间总共为512kB。其中低字节空间用于存放神经元芯片的固件(包括LonTalk协议等),高字节空间作为节点应用程序的存储区。
外部数据存储器扩展用于存储附加的应用程序读/写数据和作为附加的网络缓冲区及应用程序缓冲存储空间,SRAM采用HITACH公司生产的HM62256。HM62256含有512个扇区,每个扇区为64字节,总共存储空间为32kB,设计时只使用了24kB。图3为神经元芯片外部存储器扩展电路。
图3 神经元芯片外部存储器扩展电路图
收发器电路设计
收发器是智能节点与Lon网之间的接口。本设计选用ECHELON公司的FTT-10A自由拓扑双绞线收发器,该收发器可以连接到任何基于Neuron芯片的控制系统,支持无极性自由拓扑总线安装形式,它可支持星型、总线型和环型。自由拓扑结构能够减少系统安装时间、降低系统安装成本。[page]
FTT-10A收发器由一个隔离变压器和一个集成的78kbps微分曼切斯特编码收发器组成,收发器管脚与Neuron芯片的通信端口(CP)和时钟线、+5V电源及双绞线网络线相连。FTT-10A收发器自动检测输入时钟频率是在5MHz、10MHz还是20MHz。当无电源供给时收发器输出呈高阻状态,当收发器电源下降时不会影响网络通信。
FTT-10A收发器与神经元芯片的接口电路如图4所示。C1是供电电源的解耦电容,选用“0.1uF,+5VDC”解耦电容;C2是静态放电电容,电容值较小,要尽可能地耐高压,选用1000pF、2kV电容,电路设计时,C2和PCB火花隙连在一起,可有效地防止收发器接入网络瞬间发生的电压“浪涌”现象;C3,C4为DC模块电容,选用22uF、+50V的极性电容;D1~D4为瞬态箱位二极管,保证收发器放电安全可靠,通常选用BAV99或IN4148。
图4 FTT-10A收发器与神经元芯片接口电路图
时钟电路设计
3150 Neuron芯片时钟电路如图5所示。在神经元芯片内有振荡器,利用外接晶振可产生输入时钟。神经元芯片时钟频率范围在625KHz~10MHz之间,有效的输入时钟频率为:10MHz、5MHz、2.5MHz、1.25MHz和625KHz,时钟频率的精度必须为±1.5%或更高。本设计采用外接晶体振荡器的方法来产生10MHz输入时钟。
图5 时钟信号产生电路图
主控制模块及其外围设备接口电路设计
以单片机为核心的主控制模块及其外围设备接口电路主要负责与LonWorks控制模块的并行数据交换、对外围设备输入输出量的控制以及实现人机交互的键盘输入和LCD显示等。
电源与复位电路设计
考虑到设备的集中供电,本设计采用交流13.8V对每个节点或者设备供电。由于系统需要+5V电源,13.8V交流电通过整流桥3KBP06整流得到直流电,对其滤波后送往稳压器件7805进行转换,便可得到相应的稳定工作电压。7805芯片虽然具有输出稳定、温度系数小、内含过流及短路保护等优点,但长时间工作时,往往会散发比较多的热量,因此有必要在芯片的底槽上加固一散热片以保护芯片长期稳定工作,图6为电源电路原理图。
图6 电源电路原理图
复位电路采用复位芯片STC708,它具有较宽范围的用户自定义门限电压,具有上电复位、掉电复位和外部手动复位等功能,能进行电源稳压块前端掉电检测,可实现高/低电平两路复位信号输出,图7为复位电路图。
图7 复位电路图
STC89C516RD+及存储器扩展电路设计
主控制模块单片机选用STC89C516RD+。STC89C516RD+是完全兼容8051内核的单片机,和8051单片机在指令级上兼容,12时钟/机器周期和6时钟/机器周期可反复设置。高达64k的用户应用程序空间和1280字节的片上集成RAM,以及256Byte的内存,最高工作频率可达40MHz,共有32根输入输出线、3个16位计时/计数器、8个中断源和一个串行口。本节点采用外部振荡器,其频率为11.0592MHz。
由于系统在终端显示、与外围设备和Neuron芯片通信等都涉及大量的数据交换和操作,需要占用较大的RAM空间,同时也为了让数据处理的速度更快,设计扩展了一片8k×8数据存储器HM6264。STC89C516RD+的存储器扩展电路如图8所示。
图8 STC89C516RD+存储器扩展电路图
人机交互接口电路设计
人机接口电路主要包括键盘和终端显示等。
为了减少对单片机I/O口的占用,设计采用非编码式2×4矩阵键盘。键盘电路原理如图9所示,DIG0~3与SEGA、B接扩展芯片74LS373上。
图9 键盘电路原理图
本智能节点采用厦门OCULAR公司生产的GDM12864,该LCD模块自带汉字库和常用字符,功能强大,操作简单。它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成,与CPU接口采用8位数据总线并行输入输出。
单片机与液晶控制模块之间通过扩展一个锁存器74LS373的访问方式,使STC89C516RD+利用数据总线与控制信号控制GDM12864液晶显示模块。其中,数据口P0与液晶显示模块的数据口通过锁存器相连,单片机的R/W作为液晶显示模块的读、写控制信号,液晶模块的/RST与外部复位电路的复位端相连,液晶模块的/CE信号端由P2.6进行片选控制,RS信号由单片机I/O口控制,高电平时为指令口地址,低电平时为数据口地址。电位器RW1用来调节显示屏的亮度。液晶模块与STC89C516RD+的电路连接如图10所示。[page]
单片机与神经元芯片通信电路设计
图10 液晶模块与STC89C516RD+电路连接图
主副控制器之间采用并行I/O方式,STC89C516RD+利用数据总线和控制信号与LonWorks控制模块进行通信,并根据控制模块接口J2的引脚定义来设计相互之间的连接。单字节并行通信接口模块由两块74HC574和一块74HC74芯片组成,74HC574是带三态输出控制的8D触发器,数据的输入由CLK脚上升沿控制,数据的输出由OC脚低电平选通。74HC74是带预置端和清除端的双D触发器,接口电路中由于它的数据输入端D接地、输出清除端CD接正电源,所以其数据输出端Q由CLK脚上升沿置低、由SD脚低电平置高。并行通信接口通过其对称的两个接口分别与要进行数据交换的A机(主控制模块)和B机(LonWorks控制模块)相连。主副控制器通信接口电路如图11所示。
(a)主控制器J2接口电路
(b)LonWorks控制模块J2接口电路
图11 主副控制器通信接口电路图
A机向B机发送单个数据的工作原理为:
①A机把数据输出到数据总线D0~D7上;
②控制写信号(WR),即上升沿,把D0~D7上数据选通到U5中锁存,同时使INTS变低,请求B机接收数据;
③B机收到INTS低电平请求信号后,控制IORS产生低电平,把U5中锁存的数据选通输出到数据总线BD0~BD7上,同时使INTS置高,释放数据总线BD0~BD7;
④B机控制IOWS产生上升沿,使INTM变低,通知A机可以继续发送数据;
⑤A机收到INTM低电平后,把RD置低,使INTM变高,消除请求信号;
⑥A机把RD置高,释放数据总线D0~D7。
重复上述步骤,就能实现A机到B机的多个数据传送。B机到A机的数据传送的工作原理同上。
外围设备接口电路设计
本节点设备端使用GPIB专用芯片TNT4882实现GPIB接口功能,TNT4882是美国NI公司的一款单芯片、高速、听/讲功能兼备的GPIB接口专用芯片。TNT4882芯片使用简单灵活,可方便地连接各种8位和16位处理器,除了40MHz的时钟外不需要其他任何外围芯片即能直接与GPIB总线相连。TNT4882有三种不同的硬件接口模式:单片模式、Turbor+7210模式以及Turbor+9914模式,本设计采用单片模式。GPIB实现的硬件连接如图12所示。
图12 GPIB实现的硬件连接图
智能节点的软件设计
软件的主要功能是通过单片机从GPIB总线获取数据,并将数据送到LON网络上相应节点,或将LON网络传送过来的数据发给单片机,经转换后发送至GPIB总线。本节点中Neuron芯片需要完成与单片机之间的通信,同时作为与LonWorks网络的通信处理器还需实现与底层各节点的数据交换。而主控制器单片机则主要完成与LonWorks控制模块的并行通信、控制TNT4882芯片获取GPIB总线上仪器仪表设备的数据以及外围电路的驱动。在此主要介绍单片机与GPIB接口的软件设计。
GPIB系统中各设备的工作速度可能相差悬殊,为了保证多线消息能双向、异步、准确可靠地传递,GPIB母线中设置了三条握手线(DAV、NRFD和NDAC)。源方和受方之间利用三线握手技术以异步方式来进行数据传送。由于本节点采用TNT4882实现GPIB数据的收发,因此对GPIB总线的控制只要对TNT4882进行控制即可,数据传送过程可通过TNT4882芯片自行完成。单片机控制TNT4882对GPIB数据的收发有中断方式、查询方式和DMA方式。本文采用查询方式来控制TNT4882实现对GPIB总线的控制,其工作流程如图13所示。当初始化完成后,程序不断地读取TNT4882的状态位判断当前TNT4882所处的状态,如果为听者状态,单片机接收数据,如果为讲者状态,单片机发送数据。
图13 单片机控制TNT4882工作流程图
结束语
本文以含GPIB接口总线的仪器仪表设备为例,设计了将GPIB总线上的仪器仪表设备接入LonWorks现场总线网络的智能节点,给出了智能节点的总体设计方案;并对智能控制节点进行了详细的硬软件设计,给出了设计电路。
上一篇:基于C51单片机的家庭防盗报警系统
下一篇:基于电磁感应的液体粘度测量系统设计
推荐阅读最新更新时间:2024-03-16 13:47