(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf_第1页
(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf_第2页
(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf_第3页
(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf_第4页
(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(通信与信息系统专业论文)基于canopenucos_Ⅱ平台的主从节点通信.pdf.pdf 免费下载

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

文档简介

中文摘要 c a n o p e n 是基予c a n 总线的应硝层协议。在c a n 总线数据传输豹基础上, 对不同的帧结构进行定义,形成了p d o 、s d o 、h e a r t b e a t 等一系列子协议,由 这些子协议组成了成了数据传输应用层协议c a n o p e n 。 u c o su 是一个源码公开豹实时多任务操作系统。其内核提供任务调度与 管理、时间管理、任务问同步与通信、内存管理和中断服务等功能。u c o si i 逑会小型控制系统,具有执行效率高、占j 焉空间小、实时性熊优良和可扩展性强 等特点。 p h i l i p s 公司的a r m 7 芯片l p c 2 1 2 9 是一个支持实时铸真和跟踪憋3 2 位 a r m 7 t d m i sc p u ,并带脊2 5 6 k 字节( 1 【b ) 嵌入的高速f l a s h 存储器。l p c 2 1 2 9 除了其有多个3 2 位定时器、4 路1 0 靛a d c 、p w m 通道、4 6 个g p i o 以及多达 9 个外部中断之外,还拥有2 个独立的内置c a n 控制器昀c a n 总线接口。 论文介绍了在p h i l i p s 公司的a r m 7 芯片l p c 2 1 2 9 上实现c a n o p e n + u c o si i 鹩主从节点闷通信系统晌软伴结构设计和硬件的调试过程。主要工作 包括:在a r m 7 芯片l p c 212 9 上移植u c o su ,移植c a n o p e n ,在u c o s i i 操作系统中嵌入c a n o p e n 内核,设计系统c a n o p e n 主从节点闻通信的软件结构, 编写软件,调试硬件电路。 c a n o p e n 是当今基于c a n 总线豹主流应用层协议之一。基子c a n o p e n 的 数据通信被应用于汽车电子,工监控制,海运电予设备,医疗仪器设备等领域, 当前c a n o p e n 发展趋势强劲,不断被应用予各种领域,必将成为行业的发展重 点。 关键词:c a n 总线 a r m 7 c a n o p c n 协议 u c o su 操俸系统 主从节点问通信 a bs t r a c t c a n o p e n i sa l la p p l i c a t i o nl a y e rp r o t o c o lb a s e do nc a nb u s o nt h eb a s i so f d a t at r a n s m i s s i o no nc a nb u s ,c a n o p e nd e f i n ed i f f e r e n tf r a m eo ft h es t r u c 姐e , f o r m i n gas e r i e so fd e r i v a t i v ep r o t o c o l ss u c h 豁p d o ,s d o ,h e a r t b e a ta n ds oo i l t h e s ep r o t o c o l sf o r mt h ec a n o p e na p p l i c a t i o nl a y e rp r o t o c o lo fd a t at r a n s m i s s i o n u c o s i ii saf r e eo p e n - s o u r c ec o d e ,am u l t i t a s k i n go p e r a t i n gs y s t e m 诵t ha r e a l t i m ek e r n e l i t sk e r n e lc a l l p r o v i d es o m es e r v i c e ss u c ha ss c h e d u l i n ga n d m a n a g i n gt a s k , t i m em a n a g e m e n t , c o m m u n i c a t i o na n ds y n c h r o n i z a t i o na m o n gt a s k s , m e m o r ym a n a g e m e n ta n di n t e r r u p t i o ns e r v i c ea n ds oo i l u c o s _ i ss u i t a b l ef o r s m a l lc o n t r o ls y s t e mw h i c hh a ss o m ef e a t u r e ss u c ha sh i 【啦e f f i c i e n c y , s m a l l e rs i z e , g o o d r e a l - t i m ep e r f o r m a n c e ,g o o ds e a l a b i l i t ya n ds oo n 。 t h ea r m 7c h i pl p c 2 1 2 9m a d ei np h i l i p si sa3 2 b i ta r m 7 t d m i - sc p u w h i c hs u p p o r t sr e a l t i m es i m u l a t i o na n dt r a c k i n g ,i th a sa2 5 6 k be m b e d d e d 瓠i 曲一s p e e df l a s hm e m o r y b e s i d e so fan u m b e ro f3 2 b i tt i m e r , f o u rlo b i ta d ca n d p w m c h a n n e l s ,4 6g p i o sa n da sm a n ya sn i n ee x t e r n a li n t e r r u p t i o n s ,l p c 212 9a l s o h a st w oi n d e p e n d e n tc a ni n t e r f a c e sw i t hc a nc o n t r o l l e r t h ep a p e ri n t r o d u c e st h ed e b u g g i n gp r o c e s so fh a r d w a r ea n dt h ed e s i g n i n go f s o f t w a r ea b o u tt h ec o m m u n i c a t i o nb e t w e e nm a s t e ra n ds l a v en o d e sb a s e do n c a n o p e n + u c o s i io nt h ea r m 7c h i pl p c 212 9m a d ei np h i l i p s i ti n c l u d e s : t r a n s p l a n t i n gc a n o p e na n du c o s i io nt h el p c 2 12 9 ,e m b e d d i n gt h ec a n o p e n k e r n e li n t ou c o s ,d e s i g n i n gt h es o f t w a r ea b o u tc o m m u n i c a t i o nb e t w e e nm a s t e r a n ds l a v en o d e so fc a n o p e n ,p r o g r a m m i n gs o f t w a r ea n d d e b u g g i n gh a r d w a r e c u r r e n t l y , c a n o p e ni so n eo ft h em a i n s t r e a mc a n - b u sa p p l i c a t i o nl a y e r p r o t o c o l s d a t ac o m m u n i c a t i o nb a s e do nt h ep r o t o c o lo fc a n o p e nh a sb e e nu s e di n a u t o m o b i l ee l e c t r o n i c s ,i n d u s t r i a l c o n t r o l l i n g ,m a r i t i m ee l e c t r o n i c s ,m e d i c a l e q u i p m e n ta n do t h e rf i e l d s i nt h ec u r r e n t ,t h ed e v e l o p m e n tt r e n do fc a n o p e ni sv e r y s t r o n g c a n o p e ni sc o n t i n u o u s l yb e i n ga p p l i e dt oav 翟u r i e 够o fa r e a sa n dw i l lb e c o m e t h ef o c u so ft h ei n d u s t r y k e yw o r d s :c a nb u s c a n o p e np r o t o c o lu c o s _ no p e r a t i n gs y s t e m a 王泓7c o m m u n i c a t i o nb e t w e e nm a s t e ra n ds l a v en o d e s 独创性声明 本入声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得云洼太堂或其他教育机构的学位或证 书焉使用过酌材料。与我一网工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位擞作者签名王撕归 签字基期1 年f 月纱日 学位论文版权使用授权书 本学位论文作者完全了解云洼太堂有关保留、使用学位论文的规定。 特授权丞淫太堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阕。同意学校 蠢国家有关部f j 或辊构送交论文的复翠件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:王搠多 签字圜期:砷了年。月,圈 导师签名:。孑旅望 签字目期:爱力7 年参胃哆圜 第一章绪论 1 1 引言 第一章绪论 当今的社会科学技术发展迅速,新技术取代旧技术使人类的生产生活水平 不断的进步。在传统的工业控制中广泛被人们使用的数据传输方式是r s 2 3 2 和 r s 4 8 5 通信,虽然r s 2 3 2 和r s 4 8 5 数据通信结构棚对简单,但是存在各种各样 的问题。r s 2 3 2 、r s 4 8 5 只能代表通讯豹物理介质层和链路层,如果要实现数据 的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合i s o o s i 的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在 r s 2 3 2 或r s 4 8 5 设备联成的设备网中,如果设备数量超过2 台,就必须使用r s 4 8 5 做通讯介质,r s 4 8 5 网的设备阆要想互通信息只有通过主( m a s t e r ) 设备中转才 能实现,这个主设备通常是p c ,而这种设备网中只允许存在一个主设备,其余 全部是从( s l a v e ) 设备,这样的结构显然在多主竞争的系统中应用中有很大的 限制。丽现场总线技术是以i s o o s i 模型为基础的,具有完整的软件支持系统, 能够解决总线控制、冲突检测、链路维护等阀题。c a n 总线是现场总线的种, 随着现场总线的飞速发展,c a n 总线的应用领域也越来越丰富。c a n 技术在汽 车电子控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运 输等方面均得到了广泛的应用。c a n o p e n 是c a n 总线的瘦用层协议,c a n o p e n 协议基于c a n 总线的帧结构对网络的数据通信细节进行定义,c a n o p e n 技术在 国外取得了广泛认可和臣大的成功,随着国内的业界越来越多的对c a n 总线和 c a n o e p n 技术的关注和研究,可以期待c a n 总线和c a n o p e n 技术将在会在国 内取得巨大发展和广泛应用。 1 2c a n o p e n 简介及其发展 1 2 1c a n 总线简介【1 】 c a n 总线是德国b o s c h 公司从8 0 年代初为解决现代汽车中众多的控制与 测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线, 通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1 m b p s 。c a n 总 线通信接口中集成了c a n 协议的物理层和数据链路层功能,可完成对通信数据 第一章绪论 的成帧处理,包括位壤充、数据块编码、循环冗余检验、优先级判别等项工作圆。 c a n 总线采用了位仲裁技术,网络中要对数据进行实时处理,就必须将数据 快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送 数据时,要求快速地进行总线分配。c a n 总线仲裁机制可以满足快速分配总线 的要求。 c a n 总线以报文为单位进行数据传送,报文的优先级结合在l l 位标识符中, 具有最低二进刳数的标识符有最高的优先级。这种优先级一旦在系统设计时被确 立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。当几个站同时发送 报文时,如果站l 的报文标识符为0 1 1 1 1 1 1 ;站2 的报文标识符为0 1 0 0 1 1 0 ;站3 的报文标识符为0 1 0 0 1 l l 。所有标识符都有相同的两位0 l ,直到第3 位进行比较 时,站l 的报文被丢掉,因为它的第3 位为高,而其它两个站的报文第3 位为低。 站2 和站3 报文的4 、5 、6 位相同,直到第7 位时,站3 的报文才被丢失。这样, 总线中的信号持续跟踪最后获得总线读取权的站的报文。在这个例中,站2 的报 文被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报 文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总线读取权的 站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。 c a n 具有较高的效率是因为总线仅仅被那些请求总线悬丽未决的站剩用, 这些请求是根据报文在整个系统中的重要性按顺序处理的。这种方法在网络负载 较重时有很多优点,因为总线读取的优先级己被按顺序放在每个报文中了,这可 以保证在实时系统中较低盼个体隐伏时间。 对于主站的可靠性,由于c a n 协议执行非集中化总线控制,所有主要通信, 包括总线读取( 许可) 控制,在系统中分几次完成。这是实现有较高可靠性的通信 系统的唯一方法。 c a n 的报文格式如图1 - 1 所示,在总线中传送的报文,每帧由7 部分组成, c a n 协议支持两种报文格式,其唯一的不同是标识符( 1 1 3 ) 长度不同,标准格 式为l l 位,扩展格式为2 9 位。 图1 - 1c a n 帧格式 在标准格式中,报文的起始位称为帧起始( s o f ) ,然后是由l l 位标识符和 2 第一章绪论 远程发送请求位( 期限) 组成的仲裁场。r t r 使标明是数据帧还是请求帧,在请求 帧中没有数据字节。 控制场包括标识符扩展位( i d e ) ,指潞是标准格式还是扩展格式。它还包括 个保留位( r o ) ,为将来扩展使用。它的最后四个字节用来指明数据场中数据的 长度( d l c ) 。数据场范围为0 - - - 8 个字节,其后有一个检测数据错误的循环冗余 检查( c r c ) 。 应答场( a c k ) 包括应答位和应答分隰符。发送站发送的这两位均为隐性电平 ( 逻辑1 ) ,这时正确接收报文的接收站发送主控电平( 逻辑0 ) 覆盖它。用这种方 法,发送站可以保证网络中至少有一个站能正确接收到报文。 报文的尾部由帧结束标出。在相邻的两条报文阉有一缀短的溺隔位,如果这 时没有站进行总线存取,总线将处于空闲状态。 c a n 总线的数据错误检测不同于其它总线,c a n 协议不能使用应答信息。 事实上,它可以将发生的任何错误用信号发出。c a n 协议可使用五种检查错误 的方法,其中前三种为基于报文内容检查。 c a n 总线循环冗余检查( c r c ) 在一帧报文中加入冗余检查位可保证报文正 确。接收站通过c r c 可判断报文是否有错。 c a n 总线帧检查这种方法通过健场检查帧的格式和大小来确定报文的正确 性,用于检查格式上的错误。 c a n 总线应答错误如前所述,被接收到的帧由接收站通过明确的应答来确 认。如采发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,a c k 场已损坏或网络中的报文无站接收。c a n 协议也可通过位检查的方法探测错误。 总线检测,c a n 中的一个节点可监测自己发出的信号。因此,发送报文的 站可以观测总线电平并探测发送位和接收位的差异。 c a n 总线位填充,一帧报文中的每一位都由不归零码表示,可保证位编码的 最大效率。然两,如果在一帧报文中有太多相同电平的位,就有可能失去同步。 先保证同步,同步沿用位填充产生。在五个连续相等位后,发送站自动插入一个 与之互补的补码位,接收时,这个填充位被盘动丢掉。例如,五个连续的低电平 位后,c a n 自动插入一个高电平位。c a n 通过这种编码规则检查错误,如果在 帧报文中有6 个相同位,c a n 就知道发生了错误。如果至少有一个站通过以上 方法探测到一个或多个错误,它将发送出错标志终止当前的发送。这可以阻止其 它站接收错误的报文,并保证网络上报文的一致性。当大量发送数据被终止后, 发送站会自动地重新发送数据。作为规则,在探测到错误后2 3 个位周期内重新 开始发送。在特殊场合,系统的恢复时间为3 1 个位周期。这种方法存在一个问 题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。因此, 3 第一章绪论 如果不采取自监测措施,总线系统应采用模块化设计。必此,c a n 协议提供种 将偶然错误从永久错误和局部站失败中区别出来的办法。这种方法可以通过对出 错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响 的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正 确的数据面被终止p j 。 c a n 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数 据块进行编码。采用这种方法的优点可使网终内的节点令数在理论上不受限制, 数据块的标识码可由l l 位或2 9 位二进铡数组成,这种按数据块编码的方式,还 可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中菲常有用。 数据段长度最多8 个字节,可满足通常工业领域中控制命令、工作状态及测试数 据的一般要求。同时,8 个字节不会占用总线时间过长,从而保证了遥信的实时 性。c a n 协议采用c r c 检验并可提供相应的错误处理功能,保证了数据通信的 可靠性。c a n 卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监 控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总 线之一。 另外,c a n 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的 串行总线以及广播逶信的特点。c a n 总线上任意节点可在任意时刻主动地向网络 上其它节点发送信息丽不分主次,因此可在各节点之闻实现自由通信。c a n 总线 协议己被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价毙 高,特别适用于分布式测控系统之间的数通讯。c a n 总线插卡可以任意插在p c a tx t 兼容机上,方便地构成分布式监控系统问。 由于c a n 为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报 文的标准化。为此,1 9 9 1 年9 月p h i l i p ss e m i c o n d u c t o r s 制订并发布了 c a n 技术规范( v e r s i o n 2 o ) 。该技术规范包括a 和b 两部分。2 0 a 给出了曾 在c a n 技术规范版本1 2 中定义的c a n 报文格式,两2 。0 b 给出了标准的和扩 展的两种报文格式。此后,1 9 9 3 年1 1 月i s o 正式颁布了道路交通运载工具一数 字信惠交换一高速通信控制器髑部网( c a n ) 冒际标准( 1 s o l l 8 9 8 ) ,力控制器 局部网标准化、规范化推广铺平了道路。 1 。2 2c a n o p e n 协议介绍【5 】【6 】【7 】【 ;】 c a n o p e n 协议是c a n i n a u t o m a t i o n ( c i a ) 定义的标准之一,并且在发布后 不久就获得了广泛的承认。尤其是在欧洲,c a n o p e n 协议被认为是在基于c a n 的工业系统中占领导地位的标准。1 9 9 5 年,c a n o p e n 规范被移交给c i a 的国际 用户与制造商。最初,c a n o p e n 的通讯轮廓是基于c a n 的应用层协议( c a l ) 。 4 第一章绪论 c a n o p e n ( c i a d s3 0 1 ) 的v e t 4 已经是e n 5 0 3 2 5 - 4 标准了。 c a n o p e n 的规范涉及应用层和通讯描述( c 认d s3 0 1 ) ,同时也是一个可编 程设备( c i a3 0 2 ) 的框架,推荐运用于电缆,连接器( c i a3 0 3 1 ) ,s i 单元和 前缀表示法( c i a3 0 3 2 ) 。基于c a n 的应用层协议描述在软件中实现。c i a 的 成员开发的标准化描述( 设备、接口和应用描述) ,简化了系统设计者去集成一 个c a n o p e n 网络系统的工作、成套的设备( o f f - t h e s h e l fd e v i c e s ) 、t 具、和 协议栈,只需支付合理的费用就可以使用。对于系统设计人员,重用应用软件是 非常重要的,这不仅需要通讯的兼容性,也需要设备的互操作性和互换性,在 c a n o p e n 的设备和接口描述中,定义了应用层对像,以实现c a n o p e n 设备的互 换性。c a n o p e n 是一个非常灵活,菲常开放的协议,制造商可以在设备中自己 定义功能,这些功能还可以在描述文件中写明并被加入到通用功能里。c a n o p e n 去除了开发者为处理c a n 协议的细节而进行的工作,如时序( b i t t i m i n g ) 和执 行规范功能,它为实时数据( p r o c e s sd a t ao b j e c t s ,p d o ) ,配置数据( s e r v i c ed a t a o b j e c t s ,s d o ) 和特殊功能( 时间戳t i m es t a m p 、同步消息、紧急消息) 提供了 标准的通讯对象,同时也为网络管理数据( b o o t - u pm e s s a g e n m tm e s s a g e ,a n d e r r o rc o n t r 0 1 ) 等提供标准通讯对象。c a n o p e n 的协议、构架、和描述都可以从 c 逡总部获得。 c a n o p e n 标准最核心的部分是透过对象字典( o b j e c td i c t i o n a r y ) 黠设备功 能进行描述。对象字典分为两部分,第一部分包括基本的设备信息,例如设备i d , 制造商,通信参数等等。第二部分描述了特殊的设备功能。一个1 6 位的索引和 一个8 位的子索引唯一确定了对象字典的入口。通过对象字典的入口可以对设备 的“应用对象进行基本网络访问,设备的“应用对象 可以是输入输出信号、 设备参数、设备功能和网络变量等等。 c a n o p e n 设备的功能及特性以电子数据单( e d s ) 的形式描述,e d s 采用 a s c h 格式,可以将e d s 理解成某种形式的表格。实际的设备设置通过所谓的 设备配置文件( d c f ) 进行描述。e d s 和d c f 都露以从i n t e r n e t 上下载,并可 以存储在设备之中。 c a n o p e n 指定有四类通信对象,用8 个字节的数据字段把过程数据对象 p d o ( p r o c e s sd a t ao b j e c t s ) 映象到一个单一的c a n 帧,从而传输应用对象。每个 p d o 有一个唯一的标识符,且可以仅通过一个节点发送。但其接收者可不止一 个( 生产者消费者通信) 。发送p d o 可用多种方式,如由内部事件驱动、由内部 定时器驱动、由远程请求驱动和由接收到来自特定的节点的一个同步信息驱动。 应用对象和支持的传送方式的缺省映象在对象字典中对每一个p d o 都作了描 述,p d o 标识符具有高优先级,以确保良好的实时性能,如果需要硬实时控制, 第一章绪论 那么系统的设计者可以为每个p d o 组态一个禁止时问( i n h i b i t - t i m e ) ,该榉禁止时 间严禁在特定的时间内发送这个对象,因此,设计者可对多个对象设计一个确 定的p d o 行为。发送p d o 无需确认。在p d o 映象对象中定义了被在p d o 内传 送的应用对象,它描述了所映象的应用对象的顺序和长度。在预操作状态 ( p r e o p e r a t i o n a ls t a t e ) 期间,支持动态p d o 映象的设备必须支持这个功能,若在 预操作状态下支持动态映象,则服务数据对象s d o 客户负责数据的一致性。 第二类通信对象是传送组态数据的服务数据对象s d o ( s e r v i e ed a t a o b j e c t s ) 。组态数据有时多子8 个字节。s d o 传输协议允诲传送任意长度的数据 对象,第一段内的第一个字节包含必须的数据流控制信息,它包括为克服众所周 知的双重接收c a n 帧的问题蔼设置的一个触发位,第一段内的第2 - 4 字节包含 要读出或写入的对象字典登入项的索弓| 和子索引,第一段内的最后四个字节可用 于组态数据。用同样的c a n 标识符,第二段以及其后继段包含控制字节和多达 7 个字节的组态数据,接收者确认每个字节以便有点对点通信( 客户月艮务器) 。 第三类通信对象是网络管理对象:节点保护对象( n o d eg u a r d i n go b j e c t ) 和 n m t 对象。节点保护对象是由n m t 主站节点远程请求的具有一个字节的c a n 帧,数据字节主要包含节点的状态,节点保护时间在对象定期发送。节点保护时 闯在对象字典中也作了规定,并且可以由s d o 进行组态。此外,还规定了保护 时闻寿命( l i f eg u a f d m gt i m e ) ,在该时闯区肉n m t 主站必须保护一个n m t 从 站,这就确保了酃使在主站不存在的情况下,节点仍能以用户指定的方式作出反 应。n m t 对象映象到一个单一的带有2 个字节数据长度的c a n 帧,它的标识符 为0 。第一个字节包含命令说明符,第二个字节包含必须执行此命令的设备的节 点标识符( 当节点标识符为0 时所有的节点必须执行此命令) 。由n m t 主站发 送的n m t 对象强制节点转换成另一个状态。c a n o p e n 状态机规定了初始化状 态,子程序操作,操作状态和停止( 正式为:准备) 状态。在加电盾每个c a n o p e n 处于初始化状态,然后自动地转换到预操作状态,在此状态下提供了同步对象和 节点保护,还允许s d o 的传送。如果n m t 主站已将一个或多个节点设置为操 作状态则允许他们发送和接收p d o 。在停止状态除n m t 对象外,不允许遥信。 朝始化状态又分成三个子状态,以使全部绒部分的节点复位。在r e s e t a p p l i c a t i o n 子状态中,制造商专用( m a n u f a c t u r e s p e c i f i c ) 行规区域和标准化设备行。规区域的 参数均设置成它们的缺省值。在r e s e tc o m m u n i c a t i o n 子状态中,通信行规区域 的参数设定为它们的通电( p o w e r - o n ) 值。第三个子状态是初始化状态,在通电后 或复位通信后或复位应用后节点自动地进入此状态,通电值( p o w e r - o n ) 是上一次 存储的参数。 c a n o p e n 还定义了三个特定的用于同步应急指示和时间标记的对象。同步 6 第一章绪论 对象由同步发生器定期广播,该对象提供了基本网络时钟,同步报文之阌的时阀 由通信循环周期对象定义,它可在b o o t - u p 过程由组态工具写入到应用设备,可 能会产生时间偏差,产生偏差的原因或者是由于存在一些其它的具有较高优先权 标识符的对象,它是由同步发生器传送过程中产生的或者由在间步对象之前正在 传送的那个帧造成的,同步对象被映象到个单一的带有标识符1 2 8 的帧,用缺 省配置,同步对象不带任何数据,但它可具有多达8 个字节的用户专用数据。 应急对象由设备内部出现致命错误来触发,并从相关应用设备上的应急客户 发送,因此应急对象适用予中断类型的报警信号。每个“错误事件”( e r r o re v e n t ) 炅能发送一次疵急对象,只要在设备土不发生薪的错误就不得荐发送应急对象, 零个或多个应急对象消费者可接收这些。应急消费者的反应是由应用指定的。 c a n o p e n 定义了应急对象中要传送的若干个应急错误代码,它是一个单一的具 有8 个数据字节的c a n 帧。 利用时间标记对象( t i m es t a m po b j e c t ) ,一个通用的时间帧参考被提供给应 用设备,它包含一个时间和日期的值,该对象传送紧跟在生产者消费者推进方 式( p u s hm o d e ) 之后,相关的c a n 帧有标识符2 5 6 和一个6 个字节长度的数据字 段。 由对象字典f o b ) ,电子数据单( e d s ) ,进程数据对象( p d o ) ,服务数据对象 ,网络管理,同步应急指示和时闯标记,构成了c a n o p c n 通信协议的主 要部分。 1 3 本论文的工作内容 由以上介绍可知,c a n 总线及c a n o p e n 技术在国内外发展迅速,应用广范, 又具有国际标准,其良好优越的发展蘸景让勿庸置疑。本课题的任务是在 c a n o p e n 蠹核的基戤上,实现c a n o p e n 主从节点间的数据遥信,透信的格式严 格按照c a n o p e n 标准协议进行,并且开发用户的应用程序,实现了基于c a n o p e n 协议的实际应用。主要的工作主要包括:一、通读c a n o p e n 协议集,解读c a n o p e n 协议内核代码;誓、移植c a n o p e n 内核代码到a r m 7 ,实现两路c a n 通信; 三、嵌入c a n o p e n 内核到u c o si i 操作系统,设计系统软件结构,调试硬件电 路;四、基于c a n o p e n + u c o su 系统开发编写用户应用程序,实现主从节点 的通信;五、系统e m c 研究与改进。 本课题实现了基于c a n o p e n + u c o su 的主从节点闻通信在海运电子系统 中的应用,设计了机舱智能阀控排水系统的主从节点,系统采用双q 州总线冗 余通信,硬件核心处理器使用p 翔乞撙s 公司a r m 7 芯片王磐e 2 1 2 9 ,c a n 总线通 7 第一章绪论 信采用光电隔离。具体工作内容说明如下: l 、通读c a n o p e n 协议集d s 3 0 1 、d s 3 0 2 、d s 3 0 7 、d s 4 0 1 对c a n o p e n 协议的 基本功能深入了解,解读c a n o p e n 内核软件,了解p d o 、s d o 、h e a r t b e a t 、 e d s 功能,通过实验直观观察c a n o p e n 数据通信的结构。 2 、移植c a n o p g m 协议到a r m 7 芯片l p c 2 1 2 9 。了解l p c 2 1 2 9 的c a n 总线接 嬲的使用,解读c a n o p g m 内核程序,修改底层数据驱动层d l l 相关程序, 实现移植。 3 、学习u c o si i 内核的知识,了解任务调度原理,中断管理等知识,嵌入 c a n o p e n 内核到u c o si i ,其巾整理修改了两个系统中不遥豹数据结构阆的 冲突。 4 、编写阀控排水系统主从节点程序,设计元件结构,主节点控制下面四个从节 点,一个从节点管理= 个电子阀门,从节点通过p d o 发送阀门状态,主节点 通过s d o 配黄从节点并发送命令,主从节点间采用h e a r t b e a t 协议监控,实 现节点离线报警。系统实现c a n o p e n 协议s a v e ,l o a d 功能,可以在f l a s h 中存储数据,实现上电装入历史记录的功能。 5 、关予系统的电磁兼容设计。船舶电子设备工作环境恶劣,存在着雷击,浪涌 等严重的电磁干扰,电源部分的高速串扰脉冲会打乱m c u 程序,使系统死 机,基于对电磁干扰的研究,在系统的各个部分加入电磁兼容器件,圜时完 善了软件结构,保证系统的稳定工作。 1 4 本课题的研究进展与成果 经过一年来的努力,本课题组通读c a n o p e n 协议集,解读c a n o p e n 内核软 件,完成了c a n o p e n 内核的移植与嵌入u c o s u 操作系统的工作,编写的用户 应用软件成功的完成了应用任务和c a n o p e n 的数据传输。软件系统稳定,数据 传输准确迅速,电磁兼容设计完善。目前,市场上的同类产品多为国外公司统治, 市场前景良好,只要进一步进行认证测试就能批量生产。 8 第二章c a n o p e n 内棱解读与移植 第二章c a n o p e n 内核解读与移植 c a n o p e n 内核程序是系统的主要部分,负责系统数据的接收收和发送,是 系统通信的桥粱,也是本课题的重点之一。通过对c a n o p e n 内核的就读,可以 加深对c a n o p e n 主从节点协议栈的理解,对移植c a n o p e n 也又很重要的帮助。 在通读了c a n o p e n 协议集之后,本课题从解读c a n o p e n 内核软件开始。 c a n o p e n 丰从节点协议栈c 源程序版权归德国i x x a t 公司,通过联系贿耍协 议商讨本课题组得到i x x a t 的授权,具有使用和修改源程序的权利,除课题组 之外的第三方未经允许不得转载盗用论文中的有关内容。 21c a n o p e n 协议栈的基本结构 c a n o p e n 协议栈由几个重要的模块组成,包括对象字典o b 模块、p d o 模块、 s d o 模块、同步模块、紧急消息模块、网络管理模块、l s s 模块、f l y i n g 模块 等部分。这些模块在c a n o 口e n 内核的管理之下各自完成协议内容,构成了 c a n o p e n p 嗽。c a n o 口e n 内核的构成示意图如图2 - 1 所示例: 图2 - ic a n o p 曲内核结构 该系统接收来自c a n 总线上的c a n o p c n 格式的数据。当数据到达,先通 过模块判断是什么类型的数据,分配给对应的模块,经过前端的模块处理把数据 第二章c a n o p e n 内核耩读与移植 得出,在经过对象字典的定义得出数据的含义。然霜就可以给应用程孝使用了, 这样应厢程序不管数据是什么格式传输的,唯一的定义在对象字典量定义了应用 数据的格式。 2 1 。1 对象字典 ? 在c a n o p e n 协议中对象字典规定了设备的数据类型,p d d ,s d o 映射对象 和数据类型,每个设备都有自己的一个特殊的对象字典,管理着自己的c a n o p e n 通信的数据格式,用户通过修改设备的对象字典就能修改透信数据的格式和含 义,可以自由的分配映射对象到传输接收的数据中,所以说对象字典是c a n o p e n 中重要向导性的组成。对象字典的通用结构如表2 - 1 所示: 表2 - 1 对象字典的通用结构 索引对象 0 0 0 0n o t u s e d 0 0 0 1 0 0 1 f 静态数据类型( 标准数据类型,如b o o l e a n ,i n t e g e r1 6 ) 复杂数据类型 0 0 2 0 0 0 3 f ( 预定义由简单类型组合成的结构如p d o c o m m p a r , s d o p a r a m e t e r ) 0 0 4 0 0 0 5 f镧造商规定韵复杂数据类鍪 0 0 6 0 0 0 7 f设备子协议j j j i 定的静态数据类型 0 0 8 0 0 0 9 f 设备子协议规定的簧杂数据类型 o 觚0 一举l fr e s e r v e d 通讯子协议区域 1 0 0 0 1 f f f ( 如设备类型,错误寄存器,支持的p d 0 数量) 2 0 0 0 5 f 耀 豢4 造齑特定予协议区域 6 0 9 f f f 标准的设备予协议区域 a o 一翻瞪翠r e s e r v e d 对象字典( o d :o b j e c td i c t i o n a r y ) 是一个有序的对象组;每个对象采用 个1 6 位的索引值来寻址,为了允许访闯数据结构中的单个元素,同时定义了 个8 位的子索引,对象字典的结构参照图2 - 2 。对象字典中索弓l 值低予o x 0 f f f 的“d a t at y p e s 项是一些数据类型定义。一个节点的对象字典的有关范围在 0 x 1 0 0 0 到0 x 9 f f f 之间。对象字典中定义了设备的数据类型,其中包括c a n o p e n 定义的数据类型和用户设备生产商定义的数据类型,还定义了通信的数据结构, l o 第二章c a n o p e n 内核解读与移植 p d o ,s d o 的映射关系。 在设备的对象字典中对通信的地址帧经行了定义,也就是对c o b i d 进行了 分配。c o b i d 是c a n o p e n 协议对c a n 总线地址帧数据称呼,每个不通的数据 通信对象拥有一类c o b i d ,通过不同的c o b i d 来区分不通的数据格式。对象字 典根据协议内容在每个通信数据对象对应的索引中用子索引条目对c o b i d 经行 分配。分配可以按照用户自已的定义进行,同时c i a 组织给出了对c o b i d 分配 的预定义集,如表2 - 2 : 表2 - 2c o b i d 预定义集 功能码 对象c o b m 通讯参数在o d 中的索引 ( i d - b i t sl o - 7 ) n m tm o d u l ec o n t r o l0 0 0 00 0 0 h s y n c0 0 0 10 8 0 hl 5 h ,1 0 0 6 h ,1 0 0 7 h 下粼嚣s s t a j 涯p0 0 1 01 0 e h1 0 1 2 h ,1 0 1 3 h c a n o p e n 主从连接集的对等对象 功能码 对象功能码c o b 。m通讯参数在o d 中的索引 ( 1 d - b i t s1 0 7 ) 紧急0 l0 8 1 h - 0 f f h1 0 2 4 h ,1 0 1 5 h p d 0 1 ( 发送) o o l l1 8 l h 1 f f h1 8 0 0 h p d o i ( 接收) 0 1 0 02 0 l h 一2 7 f h1 4 0 0 h p d 0 2 ( 发送) o l o l 2 8 l h 2 f f h1 8 0 l h p d 0 2 ( 接收) o ll o3 0 1h 一3 7 f h1 4 0 1 珏 p d 0 3 ( 发送) o ll l3 8 l h 一3 f f h1 8 0 2 h p d 0 3 ( 接收) 1 0 0 04 0 1 h - 4 7 f h1 4 0 2 h p d 0 4 ( 发送) 1 0 0 l4 8i h - 4 f f h1 8 0 3 h p d 0 4 ( 接收) l o l o 5 0 1 h 一5 7 f 】 重1 4 0 3 h s d o ( 发送服务器) 1 0 l l5 8 l h 5 f f h 1 2 珏 s d o ( 接收客户) 1 1 0 06 0 l h 一6 7 f h1 2 0 0 h n m te r r o rc o n t r o l1 l l o7 0 l h 一7 7 f h 1 0 1 6 h 1 0 1 7 h 对于简单的系统应用使用预定义的集的分配就可以了,如果有特殊的需要可 以对对象字典进行修改就可以实现满足要求的c o b i d 的分配。 2 。1 2p 0 0 模块 过程数据对象p d o 模块完成p d o 传输的功能,用来传输实时数据。p d o 的数据传输模式是生产者消费者模式,数据从一个生产者传到一个或多个消费 者。数据传送限制在l 到8 个字节( 例如,一个p d o 可以传输最多“个数字f o 值,或者4 个1 6 位的a d 值) 。p

温馨提示

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

评论

0/150

提交评论