微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DeviceNet总线的从设备通迅适配器设计

基于DeviceNet总线的从设备通迅适配器设计

时间:11-29 来源:互联网 点击:
 引言
  多年来,过程工业一直致力于开发一种单一的、开放的标准对现场的各类设备进行编址。标准的最初目标是用单一的数字标准取代4-20mA标准。当范围扩展到寻址复杂的、高难度的服务时(如:控制器间的高速通讯、大量快速扫描设备间的时间同步)单一标准的开发变得延迟了。同时,通讯技术的成本近几年已经明显的降低,将简单设备直接连接到网络上(而不必考虑SP50现场总线)的成本由此变得经济。简单设备的这种标准要求同现存的120/220VAC和24VDC离散、硬接线I/O标准具有相同级别的互换性。DeviceNet在允许多个复杂设备互连接的同时,允许简单设备的互换性。除了读取离散设备的状态外,DeviceNet还可以报告马达启动器内温度、读取负载电流、改变驱动器加减速速率、或统计前一小时通过传输带传送的包裹计数。
  DeviceNet是一个开放的网络标准。规范和协议都是开放的 ― 供应商将设备连接到系统时,无需为硬件,软件或授权付费。任何人都能以名义上的复制成本(目前:$250USD+邮费)从开放式DeciceNet供应商协会(ODVA)获得DeviceNet规范。任何制造(或有打算制造)DeviceNet产品的公司都可以加入ODVA,并参加对DeviceNet规范进行增补的技术工作组。
  本文设计针对的DeviceNet从设备特性如下:属于DeviceNet group 2 only 从设备;采用Predefine的通讯连接;可通过硬件开关设置125kbps、250kbps、500kbps波特率;可通过硬件开关设置0~63 MAC ID。在软件、硬件设计前应首先进行从设备(泵/阀)I/O需求分析(即profile文档设计),由于篇幅关系本文从略。
  下面就该从设备通讯适配器的硬件和软件设计做一个详细介绍。

一、通迅适配器硬件系统设计
1 功能简介
  DeviceNet是基于CAN总线的一种总线协议标准。因此,DeviceNet从设备适配器硬件首先应实现CAN总线的基本功能,主要包括:报文收发、访问控制及其他物理层的诸多功能。此外,为实现DeviceNet协议,硬件应具有足够大的程序存贮空间,并具有足够快的运行速度,以保证协议程序的顺利执行。

2 硬件原理
  DeviceNet节点硬件主要由以下几部分组成:电源,单片机系统,看门狗及掉电保护电路,CAN控制器SJA1000,CAN收发器82C251,拨码开关及状态LED显示,双口RAM IDT7005,AnyBus接口。总体设计框图见图1。



各部分功能介绍:
电源
  DeviceNet适配器通过总线获取电源,并将电压降到系统所需的5V。该电源电路的电压输入范围为11-25V,输出5V,并具有防止反接和掉点检测功能。硬件采用7805(1.5A)实现电压转换,并采用场效应管IRFD9120防止电源反接对系统造成损害。
单片机
  DeviceNet适配器选用Winbond公司的高性能8位单片机W78E58。W78E58功能与引脚与80C52完全兼容,并提供256字节的内部RAM以及32K字节的Flash EEPROM,从而使系统不需扩展外部程序存贮器便可满足DeviceNet协议程序的容量要求。W78E58最高可在40MHZ的主频下运行,处理速度完全满足DeviceNet节点通信的实时性要求。
为减少芯片的数量及降低硬件成本,本系统只扩展一片8K的双口RAM,其前面7K字节用于外部数据存贮,最后1K用于提供与其它应用电路的通讯接口。

看门狗及掉电保护电路
  采用MAX706芯片,从而减少了复位及电源检测电路所需的元器件数量,该芯片与分离器件相比具有更高的可靠性。MAX706芯片主要有以下功能:
u 提供单片机和SJA1000所需的上电复位、手动复位信号;
u 提供1.6秒的看门狗定时器;
u 具有电源电压检测功能。
WDI为看门狗定时器清零引脚,如果该引脚保持低电平或高电平超过 1.6秒,则Watch Dog输出引脚WDO将变成低电平使系统复位,从而使程序运行更加可靠。由于SJA1000和单片机分别为低电平和高电平复位,因而RESET引脚的输出通过非门连接到单片机的复位端。

CAN控制器SJA1000
  DeviceNet总线报文的收发以及媒体访问控制等都是依据CAN总线协议,而这些协议都要通过CAN控制器加以实现。DeviceNet通信节点选用目前比较流行的PHILIPS CAN控制器SJA1000,由于DeviceNet总线协议采用11位的identifier,因此应使SJA1000工作在Basic CAN模式。其片选、ALE、以及读写等信号分别与138译码器及单片机的相应信号相连;中断信号连接到单片机的外部中断1(P3.3);选用16MHZ晶振。



硬件设计原理图
CAN收发器82C251
  CAN收发器82C251(Transceiver)的主要作用是收发CAN总线上的信号,即,一方面将总线信号转换为CAN控制器所需的信号,另一方面,将CAN控制器的输出信号转化为CAN总线信号。DeviceNet通信节点选用PHILIPS PCA82C251收发器,其TXD、RXD引脚分别与SJA1000的TXD和RXD引脚相连,CANL、CANH引脚分别连接到DeviceNet Connector的2、4端。

拨码开关及状态LED显示
  DeviceNet适配器通过一组拨码开关和两个双色二极管实现节点的MAC地址、波特率设置以及节点和网络状态显示。由于DeviceNet最多支持64个从节点,并且只有三种波特率可供选择,因此只需一个八位的DIP开关便可实现MAC地址和波特率的设置(其中六位用以设置MAC地址,两位用来选择波特率)。对节点和网络状态分别采用一个双色二极管进行指示。由于单片机接口的限制,硬件中通过一片74HC273锁存器扩展了一个输出接口,从而驱动两个双色二极管进行显示。
  硬件中将DIP开关通过上拉电阻接到单片机的P1口,并将其中的高两位用作波特率设置、低六位用于MAC地址选择。将138译码器的片选输出Y3与单片机的写信号相或后连到273的CLK输入端,由此扩展一个输出口用以驱动双色二极管进行状态显示。

双口RAM IDT7005
  DeviceNet适配器通过一个具有中断功能的双口RAM IDT7005提供与其它应用电路的通讯接口。IDT7005具有两套完全独立的数据线、地址线、读写控制线,允许两个CPU对双口RAM的的同一个单元在不同的时间进行读写。具有两套完全独立的中断逻辑,实现两个CPU间的握手控制信号。IDT7005的最高两个字节1FFEH和1FFFH分别兼做两个断口的中断逻辑单元。
  硬件中双端口RAM IDT7005右端口的地址、数据及读写控制线分别与单片机系统的相应信号线相连,中断信号连接单片机的外部中断0(P3.2)。其左端口的地址、数据及读写、中断控制线依据AnyBus的接口标准连接到34针接口的相应管脚。

AnyBus接口
  AnyBus作为一种通用的现场总线通讯节点提供了与其他应用电路之间进行数据交换的接口标准,并对接口的引脚进行了严格的定义。

二、 DeviceNet总线通信协议
  DeviceNet协议规范是描述DeviceNet设备之间实现连接和交换数据的一套协议。另外,为了实现不同厂商生产的设备之间的互交换性和互操作性,ODVA维护并根据工业领域的需要不断更新和修改该标准。
  在DeviceNet规范卷I的第3章、第4章和第5章中定义了DeviceNet通讯协议。这些章节分别详细介绍连接,信息协议和与通讯相关的对象。
  使用DeviceNet的应用同标准或应用特定对象相结合产生所谓的设备描述。设备描述是从网络的角度对设备的定义。DeviceNet规范卷II的第6章对对象库进行了详细的描述。DeviceNet规范卷II的第3章是设备描述库。
  DeviceNet支持选通,查询,周期,状态改变和应用触发的数据通讯方式,用户可根据设备性能和应用要求选择主/从、多主和点对点或三种方式组合的配置。数据通讯方式的选择,可以明显加快系统的反应时间。流行的DeviceNet应用采用标准的,预定义的连接组,使设备在主/从连接组之下工作。

DeviceNet是基于连接的网络
  DeviceNet中的连接提供在多种应用之间交换信息的路径,当建立一个连接时,与连接相关的信息的传送就会分配一个标识符,称为连接标识符(CID, Connection Identifier)。如果某个连接需要双向数据交换,则应该分配两个不同的连接标识符。
DeviceNet通讯协议是基于连接概念的协议。要想同设备交换信息,就必须先与它建立连接。要想建立一个连接,每个DeviceNet产品,都必须具有一个未连接信息管理器(UCMM)或一个未连接埠,二者都是通过保留某些可用的CAN标识符实现其功能的。DeviceNet规范卷I的第4章详细介绍了UCMM。
  当用UCMM或未连接端口建立一个显式报文连接时,这个连接可用于从一个节点向其它节点传送信息,或建立附加的I/O连接。一旦建立了连接,就可以在网络设备之间传送I/O数据。此时,DeviceNet I/O报文的所有协议都包含在11位的CAN标识符中,其它部分都是数据。
  11位的CAN标识符用来定义连接ID。DeviceNet将11位的CAN标识符分为4组,前三组的连接ID包括了6位的媒体访问控制标识符(MAC ID)以及信息标识符(Message ID)。信息组的定义如下图所示,组4信息用于离线通讯。设备可以是客户机或服务器或兼之。客户机和服务器可是生产者,消费者或兼之。在典型的客户机设备中,它的连接将产生请求和消费响应。在典型的服务器设备中,它的连接将消费请求和生产响应。DeviceNet提供几种该模式的变形。某些客户机或服务器中的连接只能消费报文。这些连接将是周期或状态改变报文的目的地。类似的,某些客户机或服务器中的连接只能生产信息。这些连接是周期或状态改变报文的源,使用周期和状态改变连接可以大幅度降低对网络带宽的要求。


DeviceNet具有4个定义的信息组

  通过设计,DeviceNet系统中的节点能够对自己的标识符进行管理。这些标识符交错分布在整个范围内。所有的节点都有一个完整的它们能获得的报文优先权范围,而与它们的MAC ID无关。重复MAC ID算法保证了CAN标识符的唯一性,而不需要网络集中工具或记录。与此相关的问题是重复节点的检测。因为DeviceNet的设备地址是在CAN的标识场中,CAN的标识场提供了检测设备地址重复的机制。防止地址重复优于问题发生后再解决问题 其它基于CAN的网络则没有考虑到这些问题。

DeviceNet的报文传送
  DeviceNet应用层定义如何分配标识符(控制优先权),如何用CAN数据场指定服务,传送数据以及判断它的含义。报文在通讯网络中流动的方式是很重要的。老式的通讯技术是由具有特定源和目的地址的报文组成的。DeviceNet使用更为有效的生产者/消费者模式,取代了传统的源/目的的传输方式。该模式要求对报文打包,使它具有数据标识场。标识符还提供解决多级优先权(仲裁中使用)的手段,以便更高效传送I/O 数据,并供多个消费者使用。
  带有数据的设备用正确的标识符在网络上发送数据。所有需要数据的设备在总线上监听报文。设备通过对识别标识符来决定是否接受该报文。采用生产者 ― 消费者模式,报文将不再专属于特定的源或目的。控制器发出的一个信息,用很窄的带宽就可以供多个马达启动器使用。
  DeviceNet定义了两种不同类型的报文,称作I/O报文和显式报文。I/O报文 适用于实时性要求较高和面向控制的数据。I/O报文数据帧中的8位数据场不包含任何与协议有关的位,只有当I/O报文为大报文经过分割后形成的I/O报文片段时,数据场中有一位由报文分割协议使用。连接标识符提供了I/O报文的相关信息,在I/O报文利用连接标识符发送之前,报文的发送和接受设备都必须先进行设定。设定的内容包括源和目的对象的属性,以及数据生产者和消费者的地址。显式报文 则适用于两个设备间多用途的点对点报文传递,是典型的请求-响应通讯方式,常用于节点的配置、问题诊断等。显示报文通常使用优先级低的连接标识符,并且该报文的相关信息包含在显示报文数据帧的数据场中,包括要执行的服务和相关对象的属性及地址。

预定义的主/从连接组
  DeviceNet提供了一个功能很强的应用层协议,允许动态配置设备间的连接。但考虑到有些设备根本不需要也没有资源去使用这一强大功能,DeviceNet指定了一套称为预定义主/从连接组的连接标识符,用来简化主/从结构中I/O和配置型数据的传送。
  许多传感器和执行器要实现的功能在设计时就已经预先决定了(如,感受压力、启动马达等等),因此这些设备将要生产和/或消费的数据的类型和数量在上电前就已经知道了。这些设备通常提供输入数据或请求输出数据和配置数据。预定义主/从连接组可以满足设备的这些要求,它提供的连接对象的全部配置在设备上电时就完成了。在启动数据流时,主机设备唯一必须执行的一个步骤就是要广播对从机内该预定义连接组的所有权。
  信息组2用于定义这些标识符组2信息的一个明显不同之处在于MAC ID没有指定为源MAC ID,允许使用目的MAC ID。该类连接的使用有严格的规则,以防止总线上出现重复CAN标识符。目的MAC ID的使用允许被集中的设备和必须同许多节点通讯的设备(主机)向其它节点借用标识符。此外,预留了MAC ID和信息ID区。从而允许组ID和MAC ID进入CAN标识场最高的8个有效位。这点非常重要,因为许多低成本,8位的CAN芯片只能硬件过滤前8位。目的MAC ID的使用进一步体现了允许设备利用硬件进行过滤的优点。另一主要的优点就是预定义主/从组大幅度简化了连接的建立,只需要用很少的信息来建立和运行I/O连接。预定义组包括一个显式报文连接和可选的几个不同的I/O连接,包括位选通命令/响应,查询命令/响应,状态改变和周期。

DeviceNet对象模型与设备描述
  对象模型 为管理和实现DeviceNet产品组件的属性(数据),服务(方法或步骤)和行为提供了一个模板。模型为每个属性提供了由4个数字组成的寻址方案。它们分别是节点地址(MAC ID),对象类标识符,实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。下表列出四个地址组件的范围:

DeviceNet地址组件的范围


下图是一个通用DeviceNet设备的对象模型:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top