神经元芯片的并口I/O对象及其应用
扫描二维码
随时随地手机看文章
关键词:Lonworks;神经元芯片;并行口I/O模式;TMPN3150
1 引言
1993年美国Echelon公司发明了Lonworks技术,该技术提供了一个开放性很强且无专利权的底层通讯网络——局部操作网络(LON)。该通信协议采用Lontalk协议,网络上的节点采用神经元芯片。神经元芯片(Neuron 芯片)是Lonworks技术的核心,它含有Lontalk 协议的固态软件(简称为固件),因而能进行可靠地通讯。为了实现Neuron芯片与I/O设备之间的通信,Neuron芯片的11个引脚可定义为34种I/O对象,其中包括并行I/O对象、串行I/O对象、直接I/O对象、定时/计数器输入对象等。用户可根据实际应用的需要在应用程序中定义不同的I/O对象,然后调用io in??或io out??等函数来实现对I/O对象的数据读写操作,即实现Neuron 芯片与I/O设备之间的通信。文中介绍了神经元芯片的一种I/O应用模式,即并行I/O模式(Parallel I/O Mode)。该神经元芯片采用日本东芝公司的TMPN3150芯片。
RS-232标准是一种常见的电气和通讯接口标准,而Lonworks现场总线在网络通讯方面具有突出的优点(如网络物理层支持多种通信介质,支持多种网络拓扑结构等),它以其突出的统一性、开放性及互操作性受到各行各业的重视,并且作为现场总线中的佼佼者在国内各个领域的测控系统中广泛流行。因此,将现场设备的RS-232信号转换为包含LonTalk协议的信息来实现与其它LON节点以及LON网络管理设备之间的通讯,具有拓宽LON应用范围的意义。笔者基于神经元芯片的并行I/O应用模式设计了一个适配器,从而实现了RS-232通信网络与Lonworks现场总线的集成。
图1 基于TMPN3150的RS-232网络与Lonworks现场总线的适配器硬件框图
2 神经元芯片的并行I/O应用模式
通过定义并行I/O对象,Neuron芯片可以实现与外接各类微处理器之间的双向数据通信,并行口的速率可达3.3Mbps。并行I/O对象利用Neuron的11个I/O口进行通信,其中IO0~IO7为8根数据线,IO8~IO10为控制信号线。并行口的工作方式有3种,即master、slave-A和slave-B。在不同模式下,IO8~IO10这3根控制信号线的意义不同。笔者应用的是slave-A模式,即从A模式。
在从A模式中,IO8为片选信号线(CS),IO9为读写信号线(R/ W),IO10为握手信号线(HS)。在此模式中,应将Neuron芯片作为从机(slave),微处理器作为主机(master),主机和从机之间的数据传输可通过虚拟的写令牌传递协议(virtual write token-passing protocol)来实现。主机和从机交替地获得写令牌(write token),拥有写令牌的一方既可以写数据(不超过255个字节),也可以不写任何数据而传送一个空令牌。传送的数据要遵从一定的格式,即在要传送的数据前面加上命令码和所传数据的长度,命令码有CMD_XFER(写数据)、CMD_NULL(传递空令牌)、CMD_RESYNC(要求从机同步)、CMD_ACKSYNC(确认同步)等四种,最后以EOM字节结束。其中写数据和传递空令牌的格式分别为:
在通信以前,主机和从机之间应先建立握手信号,即HS信号有效(由TMPN3150的固件自动实现),然后,主机再送一个CMD_RESYNC命令要求从机同步。当从机接收到这个信号后,则发送CMD_ACKSYNC以表示同步完成,可以通信了。此后,写令牌就在主机和从机之间无限的交替传递,拥有写令牌的一方可以向数据总线上写数据,即主机可以往从机写数据,从机也可以将数据传往主机。
3 实例应用
基于上述神经元芯片TMPN3150的并行I/O应用模式来实现RS-232通信网络与Lonworks现场总线的集成适配器主要由Lonworks控制模块和MCS51系列的P89C51单片机两大部分组成。其中Lonworks控制模块用于Lonworks现场总线的网络通信管理,P89C51和MAX232芯片则用来实现RS-232通信网络的链路和协议。其硬件框图如图1所示。
适配器的软件编写应包括两个部分。一部分为对主机程序的编写,可用C语言编写。因为从机(TMPN3150芯片)的并行模式是在芯片内部定义的,它遵从虚拟的写令牌传递协议,所以需要编写P89C51程序来模拟TMPN3150的I/O并行口的从A模式,该程序主要完成与TMPN3150的同步、握手、令牌的传送以及并行口数据的读写等四项工作。另一部分是编写从机程序,该程序应使用神经元芯片的编程语言——Neuron C语言来编写。当从机将并口得到的报文进行解析后,本系统将利用Neuron C的消息传送机制将解析的消息传送给适配器下层的应用节点,同时将适配器下层的应用节点以消息形式传送上来的数据或信息所构成的P89C51能识别的报文通过并口传送给P89C51。
4 结论
利用Neuron芯片的并行I/O模式实现Lonworks控制模块和微处理器之间的数据交换是构造Lon-works现场总线与RS-232通信网络适配器的关键,这种简单、可靠、实用的接口方法可以推广到Lon-works控制模块与其它计算机的并行数据通信中,特别是对已有的测控装置改造为Lonworks现场总线节点、或者测控功能比较复杂而仅仅需要Neuron作为通讯处理器的场合,同时,也可用于需用高档CPU来进行数据处理的Lonworks现场节点的应用方面。