《论文基于DeviceNet总线的从设备通信适配器设计定稿》由会员分享,可在线阅读,更多相关《论文基于DeviceNet总线的从设备通信适配器设计定稿(5页珍藏版)》请在金锄头文库上搜索。
1、摘要:基于DEVICE Net总线的泵/阀控制器从设备通信适配器是用于智能泵/阀控制器与 DEVICE Net网络之间的通信协议设备,用在智能泵/阀控制器和DEVICE Net网络主设备之间 交换I/O数据和其它设定数据。本DEVICE Net总线从设备通信适配器是独立的智能化设备,由 微处理器(W78E58)、双口 RAM( IDT7005 )、SJAIO(X)CAN 控制器、82C251 CAN 收发器、 状态指示发光管、微型开关、电源线路以及其它外围电子线路所组成。设计目的是使通信接口符 合DEVICE Net的协议规范。关键词:DEVICE Ne适配器通信协议从设备引言DEVICE N
2、et 是一个开放的网络标准。规范和协议都是开放的供应商将设备连接到系统时,无需为硬件、 软件或授权付费;任何人都能以名义上的复制成本(目前为250美元+邮费)从开放式DeciceNet 供应商协会(ODVA)获得DEVICE Net规范。本设计针对的DEVICE Net从设备特性如下:属 于DEVICE Net GROUP 2 ONLY从设备;采用Predefine的通信连接;可通过硬件开关设置125 kbps、250 kbps 500 kbps波特率;可通过硬件开关设置063MACID。在软件、硬件设计前应 首先进行从设备(泵/阀)I/O需求分析(即PROFILE文档设计)。由于篇幅关系本文
3、从略。I通信适配器硬件系统设计1.1功能简介DEVICE Net是基于CAN总线的一种总线协议标准。 因此,DEVICE Net从设备适配器硬件首先应实现CAN总线的基本功能,主要包括:报文收发、 访问控制及其它物理层的诸多功能。此外,为实现DEVICE Net协议,硬件应具有足够大的程 序存储空间,并具有足够快的运行速度,以保证协议程序的顺利执行。1.2硬件原理DEVICE Net 节点硬件主要由以下几部分组成:电源、单片机系统、看门狗及掉电保护电路、CAN控制器 SJA1000、CAN收发器82C251、拨吗开关及状态LED显示、双门RAM IDT7005 AnyBus接 口。总体设计框图
4、如图1所示。详细硬件电路图见本刊网站补充版。以下是主要部分功能介绍(1)单片机DEVICE Nel适配器选用WINBOND公司的高性能8位 单片机W78E58。W78E58功能、引脚与80C52完全兼容,并提供256 B的内部RAM以及32 KB的FLASH EEPROM,从而使系统不需扩展外部程序存储器便可满足DEVICE Net协议程序 的容量要求。W78E58最高可在40 MHz的主频下运行,处理速度完全满足DEVICE Net节点 通信的实时性要求。为减少芯片的数量及降低硬件成本,本系统只扩展1片8KB的双门RAM, 其前面7KB用于外部数据存储,最后1KB用于提供与其它应用电路的通信
5、接Ho (2) CAN控 制器SJA1000 DEVICE Net总线报文的收发以及媒体访问控制等都是依据CAN总线协议的,而 这些协议都要通过CAN控制器加以实现。DEVICE Net通信节点选用目前比较流行的PHILIPS CAN控制器SJAlOOOo由于DEVICE Net总线协议采用11位的标识符,因此应使SJA10001 作在 BASIC CAN 模式。(3) CAN 收发器 82C251 CAN 收发器(TRANSCEIVER) 82C251 的主要作用是收发CAN总线上的信号:一方面将总线信号转换为CAN控制器所需的信号;另 一方.面,将CAN控制器的输出信号转化为CAN总线信号
6、。(4)双门 RAM IDT7005 DEVICE Net 适配器通过1个具有中断功能的双口 RAM IDT7OO5提供与其它应用电路的通信接口。TDT7005 具有2套完全独立的数据线、地址线、读写控制线,允许2个CPU对双门RAM的同一个单元 在不同的时间进行读写;具有2套完全独立的中断逻辑,实现2个CPU间的握手控制信号。 IDT7OO5的最高2个字节1FFEH和1FFFH分别兼做2个端口的中断逻辑单元。(5) AnyBus接 口作为一种通用的现场总线通信节点,AnyBus提供了与其它应用电路之间进行数据交换的接口 标准,并对接口的引脚进行了严格的定义。2 DEVICE Net总线通信协
7、议DEVICE Net协议规范 是描述DEVICE Net设备之间实现连接和交换数据的一套协议。在DEVICE Net规范中定义了 DEVICE Net通信协议,详细介绍了连接、信息协议和与通信相关的对象。(1) DEVICE Net是 基于连接的网络DEVICE Net中的连接提供在多种应用之间交换信息的路径。当建立1个连接 时,与连接相关信息的传送就会分配1个标识符,称为连接标识符CID (Connection Identifier) 如果某个连接需要双向数据交换,则应该分配2个不同的连接标识符。DEVICE Net通信协议 是基于连接概念的协议c 一旦建立了连接,就可以在网络设备之间传送
8、I/O数据。此时,DEVICE Net I/O报文的所有协议都包含在II位的CAN标识符中,其它部分都是数据。11位的CAN标 识符用来定义连接IDo DEVICE Net将11位的CAN标识符分为4组,前3祖的连接ID包括 了 6位的媒体访问控制标识符(MAC ID)以及信息标识符(Message ID)O信息组的定义如图2 所示。组4信息用于离线通信。通过设计,DEVICE Net系统中的节点能够对自己的标识符进 行管理。这些标识符交错分布在整个范围内。所有的节点都有一个完整的它们能获得的报文优先 权范围,而-与它们的MAC ID无关。重复MAC ID算法保证了 CAN标识符的唯一性,而不
9、需要 网络集中工具或记录。(2) DEVICE Net的报文传送DEVICE Net使用更为有效的生产者/消费 者模式,取代了传统的源/目的的传输方式。该模式要求对报文打包,使它具有数据标识位域。 标识符还提供解决多级优先权(仲裁中使用)的手段,以便更高效地传送I/O数据,并供多个消 费者使用。DEVICE Net定义了 2种不同类型的报文,称作I/O报文和显式报文。I/O报文适用于实时性要 求较高和面向控制的数据。I/O报文数据帧中的8位数据场不包含任何与协议有关的位,只有当 I/O报文为大报文经过分割后形成的I/O报文片段时,数据位域中有一位由报文分割协议使用。 连接标识符提供了 I/O报
10、文的相关信息,在I/O报文利用连接标识符发送之前,报文的发送和接 收设备都必须先进行设定。设定的内容包括源和目的对象的属性,以及数据生产者和消费者的地 址。显式报文适用于2个设备间多用途的点对点报文传递,是典型的请求响应通信方式,常用 于节点的配置、问题诊断等。显示报文通常使用优先级低的连接标识符,并旦该报文的相关信息 包含在显示报文数据帧的数据位域中,包括要执行的服务和相关对象的属性及地址。(3)预定义 的主/从连接组DEVICE Net提供了一个功能很强的应用层协议,允许动态配置设备间的连接。 但考虑到有些设备根本不需要也没有资源去使用这一强大功能,DEVICE Net指定了一套称为 预定
11、义主/从连接组的连接标识符,用来简化主/从结构中I/O和配置型数据的传送。许多传感器 和执行器要实现的功能在设计时就己经预先决定了(如感受压力、启动马达等等),因此这些设 备将要生产和/或消费的数据的类型和数量在上电前就已经知道了。这些设备通常提供输入数据 或请求输出数据和配置数据。预定义主/从连接组可以满足设备的这些要求,它提供的连接对象 的全部配置在设备上电时就完成了。在启动数据流时,主机设备唯一必须执行的一个步骤就是要 广播对从机内该预定义连接组的所有权。(4) DEVICE Net对象模型与设备描述对象模型。 为管理和实现DEVICE Net产品组件的属性(数据)、服务(方法或步骤)和
12、行为提供了一个模 板。模型为每个属性提供了由4个数字组成的寻址方案,分别是节点地址(MAC ID)、对象类 标识符、实例编号和属性编号。这4级地址与显式报文连接相结合,将数据从DEVICE Net网 络上的一点传送到另一点。表1列出4个地址组件的范围:表1 DEVICE Nel地址组件范围地址 最低最高节点0 63类1 65535实例0 65535属性I 255图3是一个通用DEVICE Net设备的对 象模型;表2是DEVICE Net产品中典型的对象类。设备描述(DEVICE PROFILE s)0 DEVICE Net规范不仅仅是一个物理连接协议规范。它通过定义标准的设备模型促进不同厂商
13、设备之间的 互操作性。属于同一设备模型的所有设备都必须支持共同的标识和通信状态数据。设备描述是针 对各种设备而定义的。设备描述中包括设备各种特定的数据符合设备类型描述的多个供货商提 供的简单设备(例如:按钮、马达启动器、光电池、气动阀执行器)在逻辑上是可互换的。DEVICE Net规范定义了一个电子数据文件(EDS)。EDS是一个简单的文件格式,供货商可以将产品的 特殊信息提供给其它供货商。这样可以具有友好的用户配置工具,可以很容易地更新,无需经常 修正配置软件工具。3通信适配器软件系统设计下面主要介绍通信协议的设计。软件的实现是 以DEVICE Net协议规范的2.0版本为指导的,不同的应用
14、有不同的具体实现。本文只给出设计 的原理和指导思想及原则。3.1 DEVICE Net通信设备的上电状态流图每个设备上电以前都有一 个例行的状态流转过程。该过程描述了设备能够在DEVICE Net上通信之前必须完成的以下工 作(例如重复MAC ID检测等),以及对设备通信产生影响的网络事件。图4是DEVICE Nel设 备上电后的状态流图,其中一共有4个状态:发送重复MAC ID检测报文状态、等待重复MAC ID检测报文状态、在线状态、通信出错状态。3.2 CAN芯片的初始化在建立CAN总线的通信 之前要预先有一些初始化过程。一般,独立式CAN芯片SJA1000在上电后或者上电后进行软件 功能
15、重置时要初始化一下工作寄存器。当系统上电后,处理器首先运行自己的特殊初始化过程, 然后再进入SJA1000的连接建立过程(SJA1000的17引脚获得1个RESET低电平脉冲,并 进入RESET模式)。在初始化SJAI000的寄存器之前,主微处理器应该检测RESET的 niode/request标志。如果S J A1000已经是RESET模式,因为所有的寄存器只能在RESET模式 下进行写操作,所有的寄存器都将获得相应的配置信息。在完成所有的初始化匚作后,SJA1000 就进入工作模式,并且使CAN控制器的中断功能有效。用C51编写的SJAIOOO初始化及一个 模拟发送、接收过程的程序清见本刊
16、网站补充版。 3.3报文收发程序和分段 服务这里所讲的报文收发协议对不同的通信协议有不同的定义。另外,CAN的数据K度不能超 过8个字节,如何支持大于8个字节的报文要涉及到分段服务。分段协议信息由1个字节组成, 其中高2位表示分段的类型,低6位作为分段的计数器,用来标识每个数据包其计算方式是: fragmentCount=(fragmentcount+1) mod 64o 表 3 是具体的分段类型。表2 DEVICE Net产品中典型的对象类对象类编号对象类名称参考DEVICE Net 范1 Identity 卷 II,版本 1.2, 6-32 Message Router 卷 IL 版本 1.2, 6-173 DEVICE Net 卷 I,版本 1.3, 5-504 ASSEMBLY 卷 H,笨 2, 6-255 Connection 卷 II,版本 1.3, 5-66 Parameter卷IL版本1.2, 6-95表3分段协议信息 分段类型值含义0分段后的第