现场总线是用于现场仪表与控制系统和控制室间的全分散、数字化、智能、双向、多变量、多点、多站的通信系统。它把单个分散的测量控制设备变成网络节点,以现场总线为纽带,把它们连接成可以相互沟通信息,共同完成自控任务的网络系统与控制系统,广泛用于过程控制、制造业、交通、楼宇等自动化系统中。现场总线控制系统是工业控制系统发展的必然趋势。但是,在工业现场还存在着大量的基于各种标准模拟信号(如4—20 mA或1—5 V等)的设备,因此,开发现有模拟设备到现场总线之间的接口电路可以使现场总线技术与传统的模拟设备有机地结合,将非现场总线设备集成到现场总线系统中,实现基于现场总线的控制系统。
LON Works现场总线(LON总线)是美国Echelon公司推出的主要用于设备联网的局部操作网络。在LON Works总线技术中有用以实现通信管
理、输入、输出和控制等功能的神经元芯片(Neuronchip),它是LON Works总线技术的核心,不仅是LON总线的通信处理器,也是数据采集和控制的通用处理器。LON Works总线技术中所有网络的操作实际上都是通过它来完成的。本文从硬件和软件两方面给出LON Works现场总线与模拟设备接口电路的设计方案。
1 接口电路
输入输出接口电路的结构如图1所示。图1a中,A/D转换部分将各种设备的模拟信号转换成数字信号,经光电耦合隔离后由I/O口送给Neuron芯片,由Neuron芯片输出的片选信号将数据送往LonWorks总线网络,完成了各路模拟信号的输入,实现了对测量信号的采集。如图1b所示,来自LONWorks的网络信号,经Neuron芯片的控制和运算处理,由D/A转换电路变成模拟信号送给现场设备,实现了对模拟设备的输出控制。电路中采用Neuron芯片,利用其I/O和控制功能,完成信息的输入、处理和输出,并可通过不同的收发器与不同的通信介质连接,方便地实现网络通信。
2 硬件设计
2.1 Neuron芯片
Neuron芯片选用可外带存储器,2048 RAM,512E2PROM,64个管脚的MC143150,有11个可编程的I/O引脚,提供四种类型共34种I/O对象预编程设置。通过引脚的不同配置,为外部硬件提供灵活的接口,实现对不同I/O对象的测量、控制。Neuron芯片的I/O预编程对象选用串行I/O对象中的Neuronware,该对象具有最多256位的双向串行数据输入输出,通过Neuron芯片IO.8-IO.10的引脚实现三线串行传输,IO.0-IO.7可作为片选信号输出。这样,一个Neuron芯片可接收8个A/D转换电路测量信号。
2.2 输入接口电路
输入接口电路对输入的模拟信号进行采集和转换,选用Maxim公司的高速、串行12位、8通道模/数转换器MAX186。该芯片采用单+5 V或±5 V工作电源,可以转换0~5 V模拟输入电压。片内带有快速采样保持电路。MAX186有内部4.096 V精密参考电压,4条串行接口线,可高速串行输出转换后的数据。输入信号经电阻转换成0.8~4 V电压信号,送到MAX186的输入通道。MAX186的各个输入通道由控制字进行选择。为了正确控制和读取MAX186转换后的数据,采用IO.0和IO.8-IO.10模拟串口。在Neuron C中引脚定义如下:
IO_0 output bit CS; //片选信号输出
IO_8 output bit SCLK; //时钟信号输出
IO_9 input bit Din;//A/D转换结果串行读人
IO_10 output bit Dout; //控制字输出
输入接口电路MAX186控制字的写入与转换数据的输出通过串行数据线完成。MAX186的主要引脚接线如图2所示。
2.3 输出接口电路
采用12位串行数/模转换器MAX538和电压/电流转换器AD694。MAX538是电压输出型,带有三线制串行总线接口及串行数据输出引脚,可实现芯片的级连。MAX538采用单一+5 V供电,电压输出范围0~2.6 V。Neuron芯片的IO.8,IO.9引脚分别与MAX538的SCLK,DIN引脚相连,为信号输出端;IO.1与MAX538的/CS端相连,为片选信号输出端。一个D/A电路需占用Neuron芯片三个I/O引脚。
AD694是一种电压/电流转换器,可将0~2 V的电压信号转换成4~20 mA的电流信号输出。如图3所示,MAX538的脚7与AD694的脚3相连,将D/A转换得到的电压送给AD694。AD694的脚7与脚8相连后与~tAX538的脚6相连,为MAX538提供2 V参考电压;AD694的脚1与脚2相连,输入缓冲放大器接成跟随器方式;脚4与脚5相连,使AD694的输入电压范围为0~2 V;脚9与脚5相连,实现4 mA偏流,当输入电压0~2 V时,输出电流为4~20 mA。
3 软件设计
3.1 输入接口程序
IO_8 neuronware master select (IO_0)MAX186;
// 选择I/O对象为neuronware,IO.8为时钟输出引脚,IO.9为串行数据输出引脚,IO.10为串行数据输入引脚;选择主模式,MAX186的片选信号由IO.0输出//
IO_0 output bit MAX186 cs=1;
// 选择IO.0为位输出,作MAX186的片选信号//
When(timer-espires(clock- 1));
// 定时/计数器clock-l满事件驱动//
Io_out(MAX186_cs,0);
//选中MAX186//
Io_out(MAX186,10001111);
// 送MAX186控制字;通道0:单极性,单端输入,外部时钟模式//
Input= Io_in(MAX186,&input,16);
// 输入转换结果//
Input = input>> 4;
Io_out(MAX186_cs,1);
// MAX186_cs无效,结束信号采集//
3.2 输出接口程序
IO_8 neuronware master select(IO_1)MAX538;
IO_1 output bit MAX538_cs=1;
Io_out(MAX538_cs,0);
Input= Io_jn(MAX538,&input,16);
Io_out(MAX538_cs,1);
4 结束语
当今的生产现场,大量的数据是模拟量,大量的仪器、仪表设备采用模拟输入、输出信号,在今后相当长的时间内,生产现场的控制系统中仍将是数字量和模拟量并存。因此,LON Works现场总线与模拟设备接口电路设计开发,不仅可节约设备改造投资,而且对推广现场总线的应用具有重要意义。