现场总线IO对象及其智能节点设计_第1页
现场总线IO对象及其智能节点设计_第2页
现场总线IO对象及其智能节点设计_第3页
现场总线IO对象及其智能节点设计_第4页
现场总线IO对象及其智能节点设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现场总线控制系统现场总线控制系统I/OI/O对象及其智能节点设计对象及其智能节点设计内容提要内容提要1. Neuron芯片的芯片的I/O对象对象2. 现场智能节点设计举例现场智能节点设计举例3. 通信节点设计举例通信节点设计举例1.Neuron 芯片应用I/O对象 1.1 Neuron芯片I/O对象类型 I/O对象简单的讲就是一个定义的输入或输出波形,也可看成是存放在ROM 中供用户程序访问的已编写好的固件例程,如同Windows编程中的各种控件,可直接使用。用户可通过io_out( )和io_in( )系统调用来访问这些I/O对象,并在程序执行期间完成输入/输出操作。同步串行同步串行I/OI

2、/O对象(对象(NeurowireNeurowire) Neurowire可实现与外部器件的同步全双工串行数据格式的传送,它可作为主控收发器(提供同步时钟)或被控收发器(接收同步时钟)。只要遵循SPI或National Semiconductors Microwire TM的接口器件,都可以作为Neurowire的外接器件。例如A/D、D/A以及显示驱动器等。1) 引脚配置如下: 主控方式主控方式 被控方式被控方式语法:语法: IO_8 neurowire masterslaveselect(pin)timeout(pin) kbaud(const-expr)clockedge(+/-) io

3、-name;(1)IO_8:必须指定IO_8,片选IO0-IO7。(2)master:由IO8提供时钟; slave:IO8为输入管脚,最大输入时钟为18kbps,占空比为50/50,此时Neuron输入时钟为10MHz。速度与输入时钟成正比。(3)select:为 master指定片选管脚(IO0IO7)。数据输出前,片选为低电平,数据输出后为高电平。(4)timeout:为 slave 指定一个超时管脚(IO0IO7)每当Neuron芯片等待时钟的上升沿或下降沿时,将检查该管脚的逻辑电平。如果检测到逻辑电平1,则传输被终止。这样就允许使用外部超时信号或内部生成的超时信号来限制传输的持续时间

4、。(5)kbaud为master指定比特率,const-expr的结果可以为1,10,或20。对于10Mhz的Neuron芯片输入时钟缺省为20kbps。不能用于 Slave。(6)clockedge(+/-):时钟信号的极性,缺省为上升沿 。2.1 节点组成方式和节点类型节点组成方式和节点类型宿主节点(仅靠宿主节点(仅靠Neuron芯片)芯片)基于基于HOST的节点(外加处理器)的节点(外加处理器)节点类型节点类型2. 现场智能节点设计现场智能节点设计2.2 节点设计的异同点分析节点设计的异同点分析控制模块相同控制模块相同通信方式相同通信方式相同I/O调理电路各异调理电路各异应用程序描述和应

5、用程序描述和I/O对象定义各异对象定义各异Neuron控制模块控制模块 TXDRXDT2T1FTT-10ACLKGNDVCC+5V10M6P6PCP0CP1CLK1CLK2+5VSERVICEMC143150A0D0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1D7D6D5D4D3D2D1RWEININININININININININ A0A15D0D7A0A15D0D7GAL20V8IO_K1IO_K3IO_K2EECSRDRAMCSWRWRWRRDRDEECSRAMCS扩展口RAMEEPROM 对对MC143150芯片进行存储器扩展,利用芯片保留空间和用户可芯片进

6、行存储器扩展,利用芯片保留空间和用户可用存储器空间扩展用存储器空间扩展20K的的RAM空间和空间和32K的的EEPROM程序存储空程序存储空间,用于存放和运行用户编制的应用程序。间,用于存放和运行用户编制的应用程序。2.3 Neurowire对象对象 Neurowire可实现与外部器件的同步全可实现与外部器件的同步全双工串行数据格式的传送,它可作为主双工串行数据格式的传送,它可作为主控收发器(提供同步时钟)或被控收发控收发器(提供同步时钟)或被控收发器(接收同步时钟)。只要遵循器(接收同步时钟)。只要遵循SPI或或National Semiconductors Microwire TM的接口器

7、件,都可以作为的接口器件,都可以作为Neurowire的外接器件。例如的外接器件。例如A/D、D/A以及显示驱动器等。以及显示驱动器等。2.3.1 2.3.1 主控方式主控方式IO8引脚输出同步时钟,引脚输出同步时钟,IO9 串行数据输出,串行数据输出,IO10串行数据输入。串行数据输入。引脚引脚IO9的串行数据输出和的串行数据输出和引脚引脚IO10的串行数据输入是在同一时间完成的的串行数据输入是在同一时间完成的。默认是在同步时钟的上升沿串行数据输入和输出,默认是在同步时钟的上升沿串行数据输入和输出,可通过程序可改为下降沿有效。可通过程序可改为下降沿有效。 IO0-IO7中的一个或多个管脚可被

8、用作片选中的一个或多个管脚可被用作片选信号,允许将多个信号,允许将多个Neurowire设备连接到设备连接到Neuron芯片的芯片的3总线上。在总线上。在10Mhz输入时钟的输入时钟的Neuron芯片上,芯片上,IO8输出的同步时钟速率可指输出的同步时钟速率可指定为定为1、10、20kbps。这些值与输入时钟成正。这些值与输入时钟成正比。比。2.3.2 2.3.2 被控方式被控方式( (从模式)从模式)IO8: 接收同步时钟接收同步时钟IO9:数据输出数据输出 IO10:串行数据输入串行数据输入输入输出在同一时间完成,输入输出在同一时间完成,默认上升沿完成。默认上升沿完成。IO0-IO7:超时

9、引脚,管脚上的逻辑超时引脚,管脚上的逻辑1电平使电平使Neruon从属从属I/O操作在被传输完指定的位数之操作在被传输完指定的位数之前终止。这样就防止了前终止。这样就防止了Neuron芯片看门狗定芯片看门狗定时器由于外部时钟传输的位数比要求的位数少时器由于外部时钟传输的位数比要求的位数少而复位芯片。无论在主控还是被控方式,一次而复位芯片。无论在主控还是被控方式,一次可以传送可以传送255位位的数据,处理时的数据,处理时Neuron I/O挂挂起应用程序处理,直到操作完成。起应用程序处理,直到操作完成。2.4 增强型节点的结构增强型节点的结构单片机单片机Neuron芯片芯片IO_7IO_7IO_

10、8IO_9IO_10P1.2P3.3P1.3P1.4现场应用:单片机现场应用:单片机与网络通信:与网络通信:Neuron芯片芯片单片机与单片机与Neuron芯片间的数据交换用芯片间的数据交换用Neurowire对象对象时钟片选单片机对单片机对Neurowire对象的模拟对象的模拟给P1.4赋下一个要传送的比特时钟信号为高?P3.3=1?从P1.3取数据并保存时钟信号为低?P3.3=0?数据传送完毕?返回已传送的比特数,结束NYYYNN单片机模拟从方式:单片机模拟从方式:单片机在同步时单片机在同步时钟的上升沿从引脚钟的上升沿从引脚P1.3读取读取1位数据,位数据,同时从同时从P1.4输出输出1位

11、数据。位数据。查询时钟输入信查询时钟输入信号的高低,实为查号的高低,实为查询时钟输入信号的询时钟输入信号的上升沿或下降沿上升沿或下降沿。2.5 现场智能节点设计现场智能节点设计2.5.1 节点的功能需求节点的功能需求8路模拟量输入路模拟量输入通信功能通信功能2.5.2 节点的基本组成节点的基本组成 MAX186的数据采集操作的数据采集操作 要启动MAX186进行一次数据采集(即A/D变换),首先需要把图8.7所示的一个控制字与时钟同步送入DIN。当为低电平时,SCLK的每一个上升沿把一个位从DIN送入MAX186的内部移位寄存器。在变低后第一个到达的逻辑“1”定义控制字节的最高有效位,在此之前

12、与时钟同步送入DIN的任意个逻辑“0”位均无效。一个8位控制字的格式及意义如图所示。数据采集程序 用软件方式控制一次数据采集(即A/D变换)的操作步骤可归纳为: 设置图8.7所示的控制字TB1; 使MAX186的变低; 发送TB1,并接收一个需忽略的字节RB1; 发送全零字节,同时接收RB2; 发送全零字节,同时接收RB3; 将MAX186的拉高。上述过程得到的字节RB2、RB3是A/D变换的结果。在单极性输入方式下,得到的是标准二进制数;对于双极性输入方式下得到的是模2补码。两者所表示的数据均以最高有效位在前的格式输出。由于RB2、RB3两个字节所表示的二进制数据格式中,包含有1个前导零和3

13、个结尾零,因此实际变换结果为: ADV = RB2 32 + RB3 8IO_0 output bit ADC_CS = 1; /定义IO_0为位输出对象,作片选信号 IO_8 neurowire master select(IO_0) ADC_IO; /定义神经元I/O对象,用作双向串行接口unsigned short C8 = 0, 4, 1, 5, 2, 6, 3, 7; /顺序定义ADC的通道选择地址mtimer tmAD = 500; /定义毫秒定时器,以500ms为数据采集的间隔msg_tag mess_out; /定义报文标签when(timer_expires(tmAD) /当

14、定时间隔500ms到时,驱动该事件处理程序int i,temp;unsigned int adc_info;unsigned long ADH; unsigned long ADL;unsigned long ADV8; for (i = 0; i 8 ; i +) /依次对8个通道进行数据采集 /数据采集部分 adc_info = (Ci + 8) * 16 + 14; /设置A/C变换控制字TB1 io_out(ADC_IO, &adc_info, 8); /发送TB1,忽略第一个字节R B1 adc_info = 0 x00; /设置全零字节 io_out(ADC_IO, &adc_in

15、fo, 8); /发送全零字节 ADH = adc_info; /接收第二个字节R B2 adc_info = 0 x00; /设置全零字节 io_out(ADC_IO, &adc_info, 8); /发送全零字节 ADL = adc_info; /接收第三个字节R B3 ADVi = ADH * 32 + ADL / 8; /对本次采集数据进行换算 tmAD = 500; /设置500ms间隔 该程序将8个通道的采集数据组成一个如下格式的显式报文,并通过网络发送给网络适配器。msg_out.code 远程智能采集装置的编号msg_out.data0 发送的数据类型(88为采样数据)msg_

16、out.data1 发送的节点类型(2为远程智能数据采集装置)msg_out.data2 0通道采样数据的低8位msg_out.data3 0通道采样数据的高8位:msg_out.data2i+2 i通道采样数据的低8位msg_out.data2i+3 i通道采样数据的高8位 :msg_out.data16 7通道采样数据的低8位msg_out.data17 7通道采样数据的高8位报文处理和发送 msg_out.code =IO_Value;/设置远程装置的编号 msg_out.DATA0 = 88; /发送的数据类型,88为实时采样值 msg_out.DATA1 = NODE_TYPE2;

17、/发送的节点类型 msg_out.service = UNACKD_RPT;/设置报文的服务方式 msg_out.tag = mess_out;/设置报文标签 msg_out.dest_addr.no_address = BROADCAST;/设置目的寻址方式 msg_send();/发送报文tmAD = 1000; 3. 通信节点设计通信节点设计 及相关软件开发及相关软件开发3.1 控制网络的基本结构控制网络的基本结构双绞线 PC监控机.AI或AODI或DO.AI或AORS-232节点PC监控机通信节点通信节点其它仪表或仪器3.2 通信节点的功能通信节点的功能 通信节点是控制网络与监控用通信

18、节点是控制网络与监控用PC机相互连接的适配接口,机相互连接的适配接口,是实现分布系统信息收集、数据处理、现场智能节点动作控制是实现分布系统信息收集、数据处理、现场智能节点动作控制等功能的枢纽,在通信过程中起着关键作用。当然,要实现这等功能的枢纽,在通信过程中起着关键作用。当然,要实现这些功能,智能网络适配器的设计需要以些功能,智能网络适配器的设计需要以Neuron神经元多处理神经元多处理器芯片为核心,用来加强和改善通信管理,节省占用器芯片为核心,用来加强和改善通信管理,节省占用PC机的机的时间;利用采用曼彻斯特编译码方式的收发器,实现与网上时间;利用采用曼彻斯特编译码方式的收发器,实现与网上各

19、智能节点之间的双向数据通信;用双口各智能节点之间的双向数据通信;用双口RAM充当通信过程充当通信过程中现场信息的接收、发送缓冲区,完成最近发送到达的交换数中现场信息的接收、发送缓冲区,完成最近发送到达的交换数据的存储转发功能,实现网络与据的存储转发功能,实现网络与PC机之间的数据传输,缓解机之间的数据传输,缓解和避免系统缓存的紧张和瓶颈的产生,保证数据的实时畅通;和避免系统缓存的紧张和瓶颈的产生,保证数据的实时畅通;用非易失性存储器用非易失性存储器EEPROM存放存放LonTalk网络协议固件、多任网络协议固件、多任务调度程序、网络适配器通信管理程序以及网络配置信息等。务调度程序、网络适配器通

20、信管理程序以及网络配置信息等。 3.3 3.3 通信节点(通信节点(LonWorks-PC接口、接口、网络适配器)的基本组成器件网络适配器)的基本组成器件Neuron芯片芯片LonWorks总线收发器总线收发器程序存储器、数据存储器程序存储器、数据存储器双口双口RAM基于基于ISA总线的通信节点结构总线的通信节点结构PC机EEPROMService电路Neuron芯片双口存储器 收发器ISA总线 LonWorks总线 在这类应用系统中,实际上仅在这类应用系统中,实际上仅把把Neuron芯片作为芯片作为通信处理器通信处理器用,由其按照用,由其按照LonTalk协议与协议与LonWorks网网络上

21、的所有智能节点进行通信;而让络上的所有智能节点进行通信;而让数据处理、高级数据处理、高级监控等复杂应用程序放在监控等复杂应用程序放在PC机上机上运行。因此,智能网运行。因此,智能网络适配器的通信管理程序严格来说应包括两大部分:络适配器的通信管理程序严格来说应包括两大部分:其一是其一是由运行在由运行在Neuron芯片上的网络接口软件实现芯片上的网络接口软件实现15层层LonTalk协议协议,其二是,其二是由由PC机应用系统的网络驱动机应用系统的网络驱动程序和应用程序实现程序和应用程序实现67层层LonTalk协议协议。这样,。这样,PC机机应用系统可依赖网络驱动程序来实现与网络接口协议应用系统可

22、依赖网络驱动程序来实现与网络接口协议有关的功能,而网络驱动程序则采用有关的功能,而网络驱动程序则采用PC机的接口硬件机的接口硬件(即智能网络适配器上的双口(即智能网络适配器上的双口RAM)与网络接口(即)与网络接口(即智能网络适配器上的智能网络适配器上的Neuron芯片)进行通信。芯片)进行通信。 应用模式应用模式PC机LonWorks网络 收发器接口I/O接口驱动程序接口PC机应用程序网络驱动程序PC机接口网络接口 网络适配器软件负责监控计算机与现场节点网络适配器软件负责监控计算机与现场节点之间数据的之间数据的“上传下达上传下达”,当节点数据到达时,当节点数据到达时,适配器接收节点数据并按预

23、定软件协议写入双口适配器接收节点数据并按预定软件协议写入双口RAM数据区中,提供给监控计算机用于计算、分数据区中,提供给监控计算机用于计算、分析、显示、打印;同时当监控计算机须对节点进析、显示、打印;同时当监控计算机须对节点进行运行参数设置时,监控软件通过行运行参数设置时,监控软件通过PCI总线控制总线控制器把运行参数写入双口器把运行参数写入双口RAM参数区,参数区,Neuron通过通过标志位判断是否有参数设置,如果有,把参数数标志位判断是否有参数设置,如果有,把参数数据组成参数报文发送给现场智能节点。据组成参数报文发送给现场智能节点。 双口双口RAM访问控制访问控制 当数据从现场监控单元以显

24、式报文的形式发送到监控计算机网当数据从现场监控单元以显式报文的形式发送到监控计算机网卡时,卡时,Neuron芯片通过总线收发器把数据读入,进行相应的芯片通过总线收发器把数据读入,进行相应的格式转换和必要的运算后,按规定的软件协议写入双口格式转换和必要的运算后,按规定的软件协议写入双口RAM中。当然,在访问双口中。当然,在访问双口RAM时,需要知道其存储单元的有效时,需要知道其存储单元的有效地址,此时需对双口地址,此时需对双口RAM存储区进行寻址,其中存储区进行寻址,其中Neuron对双对双口口RAM的寻址算法定义为:的寻址算法定义为:EAF(t,n,d);F即为地址换算函数,它与现场监控单元的

25、类型、地址和通道即为地址换算函数,它与现场监控单元的类型、地址和通道等信息有关。其中等信息有关。其中EA代表有效地址,代表有效地址,t为现场监控单元类型,为现场监控单元类型,n为现场监控单元地址,为现场监控单元地址,d为现场监控单元中所对应的通道号。为现场监控单元中所对应的通道号。 if(msg_in.data0= =1)/判断报文类型判断报文类型p=(unsigned int *)DRAM2;/数据存储在双口数据存储在双口RAM2中中for(i=0;i4;i+)*(p+5*nodeno+i)=msg_in.datai+1;/存储规则存储规则*(p+nodeno*5+4)=1;nowonlin

26、enodeno=1;if(msg_in.data0= =2)/判断报文类型判断报文类型p=(unsigned int *)DRAM1; /参数存储在双口参数存储在双口RAM1中中for(i=0;i16;i+)*(p+16*nodeno+i)=msg_in.datai+1;/存储规则存储规则网络接口软件网络接口软件 网络接口软件需完成两个主要任务:其一,采用网络接口软件需完成两个主要任务:其一,采用事件驱动方式事件驱动方式,监视网络中各现场智能节点传送来的,监视网络中各现场智能节点传送来的显式报文,负责将其转换成规范的数据表示格式,通显式报文,负责将其转换成规范的数据表示格式,通过寻址算法的定位

27、后再将其存入双口过寻址算法的定位后再将其存入双口RAM中的对应中的对应单元,供网络驱动软件读取后,转发给单元,供网络驱动软件读取后,转发给PC机的应用程机的应用程序;其二,利用序;其二,利用定时中断方式定时中断方式,查询,查询PC机有无命令或机有无命令或参数需要下达的标志信息,及时从双口参数需要下达的标志信息,及时从双口RAM的命令的命令区读取区读取PC机下达给现场智能节点的命令或参数,完成机下达给现场智能节点的命令或参数,完成显式报文的打包处理后,以广播方式发送到网上,让显式报文的打包处理后,以广播方式发送到网上,让相关的现场智能节点予以接收。相关的现场智能节点予以接收。 在网络接口软件中,

28、极为重要的一个环节是对双口在网络接口软件中,极为重要的一个环节是对双口RAM单元的单元的访问,在此主要运用访问,在此主要运用Neuron C语言中的指针来实现。下列的程序段语言中的指针来实现。下列的程序段示意了示意了Neuron芯片对双口芯片对双口RAM 的读写方法。的读写方法。#define BYTES 256 /设置单元数unsigned int *pnc; /定义指针unsigned long NCBaddr = 0 xD000;/基地址unsigned int i; /定义循环变量for(i=0;iBYTES;i+) /读写存储器单元.pnc=(unsigned int *)(NCBa

29、ddr+i);/指针指向某一单元*pnc=NCWBuffer; /写存储器单元.NCRBuffer=*pnc; /读存储器单元.网络驱动软件网络驱动软件 网络驱动软件主要是通过对双口网络驱动软件主要是通过对双口RAM的直接访问,的直接访问,实现实现PC机与网络接口之间的数据交换功能。机与网络接口之间的数据交换功能。 对双口对双口RAM单元的频繁访问过程采用时钟中断方单元的频繁访问过程采用时钟中断方式驱动。式驱动。 通信节点软件流程通信节点软件流程 PC侧软件操作过程是PC侧操作设置节点参数把参数按协议写入双口RAM中并设置相应标志位读取双口RAM中的节点运行数据提供给监控系统使用否定时时间到是否Neuron 芯片侧操作定时时间到是读标志位读取报文Neuron 芯片侧软件操作读取双口RAM中的参数组成报文发送按软件协议把节点数据写入双口RAM有报文到有参数设置是是设置数据到标志位function ReadWMem(Segment:word;Offset: Word): Word; / Segment:段地址;Offset:偏移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论