DeviceNet现场总线特点分析及节点电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D ev iceNet现场总线特点分析及节点电路设计Ξ
方晓柯 徐 林 王建辉 顾树生
(东北大学信息科学与工程学院 沈阳 110004)摘要 对D eviceN et现场总线的低速特性及短帧结构特点进行了深入的分析与研究,为该总线的适用领域提供了理论依据,
指出该总线最适合于以突发性数据传输为主的控制系统;针对D eviceN et控制系统的组成节点提出了具体的设计方案,
给出
了硬件电路图和软件设计思想,并对设计时应注意的问题进行了相应的说明。

关键词 D eviceN et 现场总线 SJA1000
中图分类号 T P336 文献标识码 A 国家标准学科分类代码 120130
Ana lysis of D ev iceNet Character and D esign of Its Node
Fang X iaoke Xu L in W ang J ianhu i Gu Shu sheng (Institu te of Inf or m a tion S cience and E ng ineering,N ortheastern U n iversity,S heny ang110004,Ch ina)
Abstract T he low2speed and sho rt2fram e characteristics of D eviceN et fieldbus are deep ly analyzed and the theo retic basis fo r D eviceN et app licati ons is p rovided.T h is theo retic result show s that th is k ind of fieldbus is the mo st suitable fo r the contro l system w ith spontaneous data trans m issi on requirem ents.A nd the design of node in D eviceN et2based contro l system is p resented,the hardw are circuit and softw are design are given and at last som e p roblem s that should be paid attenti on to during the design p rocess are listed.
Key words D eviceN et F ieldbus SJA1000
1 引 言
D eviceN et是美国罗克韦尔自动化公司于1994年推出的建立在CAN总线基础上的一种低成本、高性能的设备级现场总线[1]。

它采用了新的生产者 消费者的通讯模式,将带有标识的数据帧以广播的方式发送到网络上,各个节点通过对标识符的筛选来决定数据的接收与否,提高了网络的通讯效率。

D eviceN et现场总线具有可靠性高、实时性好、灵活性强等优点,在全球工业自动化领域得到了广泛的推广和应用。

文中对D eviceN et现场总线的特点进行了深入的分析,尤其是对M A C层的控制方法进行了深入的探讨,总结出该总线的适用领域,给出了该系统的组成节点的电路设计。

2 D ev iceNet现场总线分析
D eviceN et现场总线采用了新型的“非破坏性逐位仲裁”(non2destructive bitw ise arbitrati on)机制对总线的使用权进行控制,这种方法相当于是带优先级的CS M A CD(载波监听多路访问 冲突检测)[2]。

其特点为节点的发送是随机的,各个节点不分主从,先监听总线状态,一旦总线空闲就可以发送数据。

当多个节点同时发送数据产生碰撞时,首先进入11位标识符即仲裁区,在此期间,每个节点的发送器都监视总线上当前的电平,并与它发送的位电平进行比较,如果值相等,这个节点继续发送,如果发送一个隐性位(逻辑1),而在总线上检测到一个显性位(逻辑0),那么此节点失去仲裁权,立即停止下一位的发送。

11位仲裁区值最小的(即优先级最高)将赢得总线使用权,其数据不受影
第26卷第11期 仪 器 仪 表 学 报 2005年11月Ξ本文于2004年4月收到,系国家自然科学基金(60474040)资助项目。

响完整地发送出去。

D eviceN et 协议保证每次只有一个节点能够赢得仲裁,其他节点必须等到此次传输结束后,总线空闲时再尝试下一次的发送。

节点通过这种方式达到了“非破坏,逐位仲裁”的目的,克服了采用传统的CS M A CD 方式时等待时间不确定的缺点,使得系统的实时性得到保证。

为了使D eviceN et 在控制系统中得到有效的应用,首先对D eviceN et 低速特性和短帧结构的特点进行理论分析。

(1)D eviceN et 的低速特性
D eviceN et 采用逐位仲裁方式回避冲突。

虽然逐
位仲裁方式能保证系统的实时性,但另一方面却影响了系统的传输速度。

下面通过对仲裁过程的分析来了解D eviceN et 现场总线传输速度受到制约的本质原因。

假设网络上有两个节点A 和B ,它们之间的时延为ΣAB ,每一位持续的时间为t bit ,节点A 和节点B 前三位分别为011和010,其中第一位是起始位。

由于节点A 先发送和节点B 先发送的分析方法相同,所以当总线空闲时,假设节点A 于t 0时刻先发送数据,此时总线的
状态为显性0。

由于受到传播延时的影响,该信号在t 0
+ΣAB 时刻到达
B 节点。

在此之前,节点B 也认为总线是空闲的,并在t 0+t x 时刻开始发送数据,由于它的驱动方向与节点A 相同,所以总线状态仍为0。

节点A 在t 0
+t bit 时刻产生正跳变,想使总线呈现隐性1状态,但是
节点B 此时还未开始发送第二位,仍为第一位“0”,经过“线与”操作,总线保持显性0状态。

为了保证优先级判断的正确性,节点A 应禁止在此期间进行仲裁操作;节点B 在t 0+t x +t bit 时刻产生正跳变,驱动总线为1,该信号在t 0+t x +t bit +ΣAB 时刻到达A 节点,总线呈隐性1状态。

因此节点A 应该在t 0+t x +t bit +ΣAB 时刻以后进行采样,发现总线电平与自己发送的位电平相同,继续发送。

节点A 第三位为1,对总线状态无影响,直到节点B 产生的负跳变在t 0+t x +2t bit +ΣAB 时刻到达A 节点时,总线呈现显性状态0,此时若节点A 进行仲裁操作,就会发现自己优先级低,自动退出竞争,结束仲裁过程,这时节点B 不受影响继续发送。

仲裁过程如图1所示,其中横坐标表示时间,纵坐标表示节点沿着总线传播
的距离。

图1 仲裁过程
设每一位采样点时刻为at bit ,则有:
t x +ΣAB <at bit <t bit
(1)
见图1中阴影部分。

同理,从节点B 角度来看,正确的采样点时刻应该为:
ΣAB <at bit <t bit +t x (2)并且,设总线中最大点到点传播延时为Σm ax ,得:ΣAB ≤Σm ax
(3)
为了使其具有一般性,取t x =ΣAB =Σm ax ;令每个节点采样点的选取规则相同,取(1)式和(2)式的交集,最后整理得:
2Σm ax <at bit <t bit
(4)即:
2Σm ax <t bit
(5)
2Σm ax 反映了总线中最大点到点间传播的往返时
延,它与总线的物理特性有关,如介质的类型、总线的
长度等,当它们选定后,可以认为是常数。

t bit 与总线的波特率V Baud 成反比,即t bit =1 V Baud ,为满足(5)式的要求,t bit 应足够长,以保证节点能够正常地进行逐位仲裁,因此D eviceN et 现场总线的波特率不会太高,这也是D eviceN et 为低速现场总线的本质原因。

(2)D eviceN et 的短帧结构
D eviceN et 现场总线的控制机制保证了高优先级
的节点先发送数据,但是当有多个节点需要传输数据时,常常会出现优先级倒置的现象。

设节点A 的优先级低于节点B ,如图1所示,假设节点A 于t 0时刻先发送数据,由于传输时延的影响,该信号在t 0+ΣAB 时刻才能到达节点B ,因此从B 节点看,t 0到t 0+ΣAB 这段时间内总线是处于空闲状态的,它可以
5
711 第11期D eviceN et 现场总线特点分析及节点电路设计
随时发送数据,经过仲裁过程获得总线使用权,顺利地将数据发送出去,满足高优先级的节点先发送数据的要求;但是,当节点B错过这段时间,即在t0+ΣAB之后有数据要发送时,由于节点B已经得知总线处于忙的状态,所以不能发送数据,应等节点A发送完数据后,才有可能有机会进行数据发送,这就出现了优先级低的节点比优先级高的节点先发送数据,即优先级倒置的现象。

数据包越大,即帧越长,发送数据所需要的时间就越长,优先级高的节点等待的时间也随之增加,倒置现象越为严重。

因此D eviceN et采用短帧结构,即每一帧的有效数据部分最多为8个字节。

由于字节数的减少,使得节点每次发送的数据包长度不会太长,节点每次传输数据的时间比较短,使得优先级倒置问题得到了很好的缓解。

综上所述,由于D eviceN et的低速特性,因此不适合以大量数据传输为主的控制系统,同时短帧结构也不允许在一个帧中携带大量的有效数据,所以, D eviceN et现场总线是一个设备级网络,最适合于以突发性数据传输为主的控制系统,即各个节点不分主从,且每次传输的数据量比较少,对总线的传输速率要求不是太高。

在实际中可应用于以开关量、离散量或数字量为主的现场级控制系统中。

下面就针对D eviceN et 现场总线控制系统的组成节点进行具体的设计。

3 节点设计
3.1 总体设计
D eviceN et现场总线构成的控制系统由多个不分主从的节点组成,每个节点的结构大体相同,主要由现场设备、总线控制器和总线收发器组成。

这里的“设备”是一个泛称,可以为传感器、变送器、阀组、PC机等,它们是数据信息的发源地。

除PC机以外,其它种类的设备所采集或产生的信息一般都需要进行适当的处理后再使用。

总线控制器主要用于完成D eviceN et协议的转换工作,它们一般都需要与单片机相结合使用。

总线收发器主要用来将需要进行传输的数据发送到D eviceN et总线上,或者从总线上将需要接收的数据存入总线控制器中。

3.2 硬件设计
D eviceN et是一个设备级现场总线,由其构成的控制系统节点的硬件结构如图2所示。

(1)单片机部分:单片机的选择比较灵活,用户可以根据实际需要选取不同的种类,以提高自己产品的性价比。

通常,当节点传送的数据量很少时,可以选用功能比较简单,价格比较便宜的单片机;当节点传送的数据量比较多时,可以选用功能比较强大,片内ROM、RAM容量比较大的单片机;当节点处理的数据量很大时,应加入双口RAM,以提高数据传送的性能。

本文以常用的89C51
为例进行硬件设计。

图2 节点硬件结构图
(2)控制器部分:控制器部分与单片机部分相结合,完成D eviceN et的协议转换功能。

目前流行的CAN 控制器芯片主要有两大类[3]:一是嵌入式CAN控制器,二是分离式CAN控制器。

在设计时主要以分离式CAN控制器为主,选用了目前应用最为广泛的PH I L IPS公司生产的SJA1000型控制器,它是原来PCA82C200型控制器的替代产品,它增加了许多新的功能,并且与原来的控制器兼容。

另外,为了保护CAN 控制器,提高抗干扰能力,在设计时一般都应加入光电耦合器件,它主要起隔离作用。

在设计时应注意的是,由于光耦的引入,使得系统的延时增加,因此应选用高速器件。

目前常用的、性能比较好的是6N137型,它的最高速度可达10M bs,可满足大多数场合的应用。

(3)收发器部分:这一部分是CAN控制器和物理总线之间的接口,它主要完成数据的接收和发送任务。

设计时要注意,原来的82C250芯片未接电源时阻抗过低,上线时容易损坏总线,为此可采用性能更好的82C251芯片。

(4)设置与显示部分:设置部分用来完成节点地址和波特率的选择。

它们的设定可以用软件来实现,但在具体实施时比较繁琐,所以,若无特殊要求,建议尽可能通过硬件装置,如采用拨码开关等来设定,此法比较简单。

使用时只需注意在同一个网络中选择所有节点的波特率为一个相同的值即可。

由于D eviceN et协议规定[4],网络中最多可以挂接64个节点,这需要六位拨码开关;而D eviceN et只支持三种波特率:125kbp (500m),250kbp(250m),500kbp(100m),这需要两位拨码开关;因此,要完成上述功能只需配备一个八位拨码开关即可。

显示部分主要用来显示设备当前的工作状态,使用时可以根据实际情况来具体设定,一般采用一个双色二极管即可。

具体节点硬件电路图见图3。

此图是最基本的电
6711仪 器 仪 表 学 报 第26卷 
图3 节点硬件电路图
路图。

在实际应用时,用户可以根据实际情况进行进一步完善,如加入复位电路、看门狗和掉电保护电路等,用来完成复位、保证程序顺利执行、线路接错保护、掉电检测等功能。

3.3 软件设计
从硬件设计中发现,控制器、收发器等器件实现了D eviceN et的物理层和数据链路层的大部分工作,因此软件设计相对来讲就比较简单,主要由控制器的初始化、重复帧检测、数据接收和发送等部分组成。

(1)控制器的初始化
对CAN控制器进行初始化是节点正常工作的前提,也是软件设计的一个重点。

该程序主要是通过对SJA1000控制器控制段中的寄存器写入控制字,从而确定控制器的工作方式。

控制器初始化程序运行后的首要任务为关掉CAN中断源,以确保控制器不受外界影响进行初始化。

之后,控制器响应复位请求,进入复位程序的处理中。

上电复位、SJA1000退出总线以及软件置位复位请求都可引导控制器进入复位程序。

复位程序对时钟分频寄存器、接收代码寄存器 接收屏蔽寄存器、总线定时寄存器、输出控制寄存器等寄存器分别进行初始化设置。

由于这些寄存器直接决定了控制器运行状态和系统的整个操作,所以通过上述设置可以使得控制器进入相应的工作状态。

设置成功后,控制器处理进入正常状态的请求,打开CAN中断源,退出初始化程序,进入主程序,控制器的初始化完成。

(2)重复帧检测
当节点上线时首先进行的就是重复帧检测程序,它用来确保不同的节点拥有不同的地址。

其工作过程如下:当一个D eviceN et节点连接到网络上时,以1s的时间间隔向总线上发送两次重复介质访问控制标识符(M A C I D)检测请求信息,同时监听总线状态,等待回应。

若此节点在2s内未收到任何与之相关的反馈信息,它就会自动上线,成为一个正常的可以工作的节点。

(3)发送程序和接收程序
数据从CAN控制器发送到
D eviceN et总线是由CAN控制器自动完
成的。

发送程序只需把要发送的数据送到
CAN发送缓冲区,并启动发送命令即
可[5]。

接收程序可以采用查询方式或中断
方式。

由于查询方式比较简单,下面重点
讨论一下中断方式。

中断方式主要分为两
部分:一部分为主程序,另一部分为中断
服务程序。

主程序运行后首先要开CAN
发送中断源,允许数据以中断的方式发送,之后判断发送缓冲区是否为空,空时将数据送到发送缓冲器,并启动发送命令;满时把信息帧暂存到临时存储区,并设置暂存标志。

中断服务程序主要负责把临时存储区中的暂存信息发送出去,并清除暂存标志。

同理,数据的接收过程大部分也由CAN控制器自动完成,接收程序只需从接收缓冲区读取要接收的数据即可。

它也可以采用查询方式或中断方式,编程思路与发送程序类似,这里就不再赘述。

上述软件设计为开发D eviceN et节点时所涉及的基本软件程序。

在使用时根据实际情况可以进行相应的修改和完善,如加入数据过载处理、应急处理等。

4 结 论
文中深入地研究了D eviceN et现场总线的低速特性及短帧结构特点,通过理论分析,总结出该总线最适用于以突发性数据传输为主的控制系统中。

在此基础之上针对用D eviceN et现场总线组成系统的节点提出了具体的设计方案,给出了相应的节点硬件结构图和节点硬件电路图;并对软件设计中涉及的主要内容进行了详细的阐述。

该节点设计方案具有较强的通用性,可以移植到其它的更为复杂的设备中。

若在此基础上进一步完善和改进,生产出相关的产品,则会具有较大的经济效益和社会效益。

参考文献
1 Steve B iegack i.T he app licati on of D eviceN et in p rocess con tro l[J].ISA T ran sacti on s,1996,35(2):169~176.
2 Robert Patzke.F ieldbu s basics[J].Compu ter Standards &In terface,1998,19(5~6):275~293.
3 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996,110~112.
(下转第1210页)
7711
 第11期D eviceN et现场总线特点分析及节点电路设计
0121仪 器 仪 表 学 报 第26卷 。

相关文档
最新文档