AI输入型LON智能节点设计分析

                                          (海思生产部推荐阅读)

核心提示:LON神经元芯片和单片机双处理器结构的模拟量输入型智能节点的硬件和软件的设计,采用模数转换芯片的数据采集系统、单片机和神经元芯片的接口及神经元芯片和物理网络的接口。数据采集、并行slaveA模式的通信和利用网络变量发送信息三方面的软件程序设计。 

关键词:LonWorks,LonWorks产品,LonWorks节点,神经元芯片单片机AI输入

一、引言 

   信息技术飞速发展为工业过程控制领域对测控系统的速度、精度、成本等方面更高的要求提供了解决方法。

   Lonworks网络技术作为一种监控网络系统的平台,凭借单一的处理器(Neuron神经元芯片)已经很难胜任复杂的系统。大多数LON节点利用神经元芯片完成调度、通信等网络控制任务,由于Neuron芯片是八位处理器,且只提供了11个通用 I/O 口,采用了基于事件巡检的软件调度机制,其控制功能较弱,无法完成实时性高的多进程、多任务的并行处理,常常不能满足采集量和控制量要求较多的现场设备的要求。 

   为减少Neuron芯片在外部事件上的资源占用,以充分发挥它通讯上的优势,能使现场设备之间快速地交换信息,满足系统实时监控的要求,有必要设计一种双处理器结构的LON节点,以提高网络节点的控制能力。但是国内Lonworks开发队伍人才少,门槛高。而单片机开发人才研发这样的LON节点将对Lonworks技术起到重要的作用。在众多类型的LON节点中,模拟量输入(AI)型节点最具有代表性。 

二、LON智能节点的整体设计 

  Lonworks技术给各种各样的控制网络应用提供了端到端的解决方案,为用户方便实现网络环境下的通信、控制、调度和输入/输出功能提供了技术支持。大多数LON点都是以神经元芯片为核心,采用标准的控制网络协议LonTalk,将节点连接各种传感器、执行器、仪表等,构成分布式监控网络,并且通过双绞线、电力线、无线电等各种通信媒体和不同厂商的Lonworks产品实现互操作。 

  Motoral公司的MC143150神经元芯片和ATMEL公司的AT89S51单片机作为节点的处理器,MC143150内部具有3个八位的CPU,分别用于介质访问控制、网络控制、应用处理,11个可编程的I/O口可以配制成34种对象,另外它还可以扩展外部存储器,这样可以扩大芯片的内部资源。 

  LON节点在控制网络中主要负责测控和通信两大任务,AT89S51单片机完成节点的测控任务,即模拟信号和数字信号的采集处理和输出处理;利用MC143150芯片完成节点的通信任务。两处理器的数据传输的速度要求较高,因此采用并行slaveA模式进行通信。

三、LON节点的硬件设计 

1.LON节点测控单元设计 

  LON节点在现场底层利用ADC0809芯片采集模拟信号。ADC0809的数据口直接与单片机的P0口相连,并用74LS373锁存A/D芯片的地址信息。启动信号START由片选线P2.7与写信号WR或非产生,当P2.7为低电平时,或非门敞开,允许写信号通过,即一条向AD0809写操作指令来启动转换。ALE与START相连,即按打入的通道地址接通模拟量通道并启动转换。输出允许信号OE由读信号RD与片选信号P2.7或非产生,即一条ADC0809的读操作将数据输出。时钟信号由ALE输出,采用74LS74触发器进行分频,P3.3与转换结束引脚EOC相连,单片机通过通过查询此引脚的高低电平检验是否完成一次A/D转换。

 2.LON节点通信单元设计 

  LON节点由于应用在节点数不超过64个的网络上,且各节点使用普通电源供电,电路板所支持的数据传输速率最高不超过1.25Mb/s,因此网络配置选择直接驱动接口是较为理想。直接驱动接口使用神经元芯片的内部收发器,并配有外接电阻、保护二极管和ESD(静电放电)保护装置。另外,为了使收发器的输入管脚具有ESD保护,电路配置使用了2kΩ的电阻,并用51Ω的线路平衡电阻来预防短路和实现过压保护。 

3.MC143150与AT89S51接口设计

  LON节点中MC143150与AT89S51的连接采用并行slave A模式。单片机作为主处理器,神经元芯片作为通信端口与网络进行数据通信。单片机的P1口与神经元芯片MC143150的IO0~IO7相连作为8位数据总线,P2口的  P2.3、P2.4、P2.5作为MC143150的片选信号CS、读/写信号R/ W及握手信号HS,分别与神经元芯片MC143150 的IO8~IO10相连接。HS信号由神经元芯片MC143150的内部固件控制,当HS为高电平时,表示神经元芯片MC143150正在读写数据、处于忙状态,当HS为低电平时,表示神经元芯片MC143150数据处理完毕,可以进行下一次通信。在总线上AT89S51和MC143150之间不断交换一个虚拟的写令牌,令牌的拥有者有写数据或传递数据的权力。当单片机AT89S51判断到HS信号为低时,在CS信号的下降沿将数据写入数据总线,在CS信号的上升沿数据被神经元芯片MC143150的输入缓冲区截取,同时导致HS  端变为高电平,当数据读取结束时,HS被置低,等待下次通信。

四、LON节点的软件设计 

  LON节点的软件部分包括单片机AT89S51程序设计和神经元芯片MC143150程序设计,AT89S51用C51语言编制,MC143150用Neuron C语言编制。 

  ADC0809 七个模拟通道的地址为7FF8H~7FFFH,单片机AT89S51通过查询引脚EOC的高低电平检验是否完成一次A/D 转换。然后AT89S51向神经元芯片MC143150 传输数据,要将数据发送给MC143150,AT89S51必须模拟并行slaveA 模式的虚拟令牌传输协议,才能保证通信正常,MC143150由固件自动执行令牌传递协议,在任何给定的时间内,仅有一个设备拥有令牌,该令牌是一虚拟令牌,它决定着哪一设备拥有写总线权,若 AT89S51 拥有令牌,它有权将准备好的数据发送给或将令牌交给MC143150,若MC143150 拥有令牌,它可将准备好的数据发送给AT89S51或交出令牌,因而令牌在AT89S51与 MC143150之间以乒乓方式来回传递。最后MC143150通过Lontalk协议将信息发送到网络上,具体实现采用网络变量这一形式。应用程序赋值给输出网络变量,然后Lontalk协议透明地将修改后的值构成网络变量消息并将该消息传递到网络层,网络层将地址信息附加到消息中后传递到MAC(介质访问控制)层,MAC层再附加上更多的信息到网络变量消息中,并将消息传递到通道上能与之共享该网络变量数据的其它节点,实现控制信息的传输。以下代码为节点程序的关键语句。 

/*单片机应用程序*/ 

#include 

#include 

#define  ADC0809  XBYTE[0x7ff8]

adc0809 

sbie eoc=P3^3; sbit cs=P2^3; 

sbit hs=P2^5;    sbit rw=P2^4; 

void adc0809(unsigned char *ad) 

{    unsigned char i; 

      unsigned char *ad_adr; 

      ad_adr=& ADC0809; 

       for(i=0;i<8;i++) 

       { *ad_adr=0;    

         While(eoc==0);  

         ad[i]=* ad_adr;  

       ad_adr++;}}  

void main ( ) 

{    unsigned char j; 

unsigned char AD[8]; 

  adc0809(AD); 

while(hs==0);   

  rw=0;                    

for(j=0;j<8;j++)                                

{ cs=0;        

P1=AD[j]; 

cs=1; } 

}                                         

/*神经元芯片应用程序*/              

#define data_size 255 

IO_0 parallel slave pbus;  

Struct parallel_io_interface  

{ unsigned int length; 

unsigned int data[data_size];}piofc; 

Network output SNVT_temp_f nvovar; 

When(io_in_ready(pbus)) 

{ piofc.length=10; 

nvovar=io_in(pbus,&  piofc);

另外,根据实际测控网络的应用要求,还可以对节点的配置属性进行声明,包括心跳和时限阈,配置属性声明的格式如下: 

nv_properties   

{    nciMinSendT,            

nciMaxSendT }

(本文节选自网络,不保证其正确性与完整性)

    版权所有:南京海思自动化系统有限公司    网站地图:Sitemap        苏ICP备13027346号-1
电话:025-52804590 52804690 地址:南京市白下高新产业园区永丰大道8号B2-503室 网址: www.highsys.com.cn
版权所有:南京海思自动化系统有限公司
总机:025-52804590 / 52804690
市场部:8008分机  售后部:8006分机
手机:18905184663(市场)  邮箱:highsys@163.com
南京市白下高新产业园区永丰大道8号B2-503室