(通信与信息系统专业论文)can总线实时性能研究和改进.pdf_第1页
(通信与信息系统专业论文)can总线实时性能研究和改进.pdf_第2页
(通信与信息系统专业论文)can总线实时性能研究和改进.pdf_第3页
(通信与信息系统专业论文)can总线实时性能研究和改进.pdf_第4页
(通信与信息系统专业论文)can总线实时性能研究和改进.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学学位论文使用授权声明 删删 y 1 7 3 芝4 苦 本人完全了解苏州大学关于收集、保存和使用学位论文的规定, 即:学位论文著作权归属苏州大学。本学位论文电子文档的内容和纸 质论文的内容相一致。苏州大学有权向国家图书馆、中国社科院文献 信息情报中心、中国科学技术信息研究所( 含万方数据电子出版社) 、 中国学术期刊( 光盘版) 电子杂志社送交本学位论文的复印件和电子 文档,允许论文被查阅和借阅,可以采用影印、缩印或其他复制手段 保存和汇编学位论文,可以将学位论文的全部或部分内容编入有关数 据库进行检索 涉密论文口 本学位论文属 在年一月解密后适用本规定。 非涉密论文n 论文作者签名:垃 e l 导师签名。巡整日期:抄p c a n 总线实时性能研究和改进中文摘要 c a n 总线实时性能研究和改进 中文摘要 在现场总线控制系统中,c a n 总线由于其低成本、开发环境友好以及本身固有 的多主通信机制得到了高速发展。但随着网络规模和应用领域的不断扩大,这给 c a n b u s 系统通信的实时性带来了严重挑战。 论文以c a n 总线的实时性能问题为研究对象,在系统分析了c a n 总线协议的 特点并指出c a n 总线的主要局限性的基础上,对c a n 总线网络通信的实时性问题 进行了理论分析。并且,根据c a n 协议的数据链路层特点,提出了基于优先级晋升 的c a n 应用层协议u c a n 协议,该协议适合应用于非周期报文为主导的c a n 网络 中。在软件方面给出了基于u c a n 协议的详细代码,解决了在u c a n 网络中如何依 据实时c a n 报文截止期的时间单元大小对报文进行解析和管理。最后,完成u c a n 网络测试平台的设计与开发,通过实验形象地展示了信息碰撞激烈的u c a n 网络特 征。 本论文提出了一种针对非周期报文为主导的c a n 网络的具体解决方案,希望能 够为拓展c a n 的应用领域作出一定的贡献。 关键词:c a n 总线,i c a n ,u c a n ,实时性,驱动程序,l p c 2 3 6 8 作者:成进 指导老师:施国梁 n e t w o r kc o m m u n i c a t i o n a n da c c o r d i n gt ot h ed a t al i n k l a y e rf e a t u r e s ,p r o p o s i n g p r i o f i t y - b a s e dc a na p p l i c a t i o nl a y e rp r o t o c o l ,u c a np r o m o t i o na g r e e m e n tw h i c hs u i t s f o rn o n - p e r i o d i cm e s s a g e - d r i v e nc a n n e t w o r k g i v e i n gt h es o f t w a r ec o d eb a s e do nu c a n d e t a i l e da g r e e m e n tt oa d d r e s sh o wt op a r s ea n dm a n a g et h ec a nm e s s a g ei nt h eu c a n n e t w o r kb a s e do nt h es i z eo fr e a l t i m ed e a d l i n et i m eu n i t a tl a s t id e s i g na n dd e v e l o pt h e u c a nn e t w o r kt e s tp l a t f o r m ,t h r o u g ht h ee x p e r i m e n t a li m a g et od i s p l a yt h ei n f o r m a t i o n c h a r a c t e r i s t i c so ft h ec o l l i s i o ni n t e n s eu c a nn e t w o r k t h i sp a p e rp u tf o r w a r das p e c i f i cs o l u t i o ni nt h en o n - c a np a c k e t o r i e n t e dn e t w o r k a n dh o p e st om a k eac e r t a i nc o n t r i b u t i o nt oe x p a n dt h ea p p l i c a t i o nf i e l do fc a n - b u s k e y w o r d s :c a n - b u s ,i c a n ,u c a n ,r e a l t i m e ,d r i v e r s ,l p c 2 3 6 8 i i w r i t t e nb y :c h e n gj i n s u p e r v i s e db y :s h ig u o l i a n g 目录 第一章绪论1 1 1 课题研究的背景及意义1 1 2c a n 总线的国内外研究动态2 1 3 论文的主要工作2 第二章c a n 总线基本原理4 2 1c a n 简介4 2 2c a n 的分层结构5 2 2 1 物理层5 2 2 2 数据链路层5 2 3c a n 总线的报文传输6 2 4c a n 总线仲裁7 2 5 i c a n 协议8 2 6 本章小结9 第三章c a n 网络的实时性分析及改进1 0 3 1c a n 报文延迟分析1 0 3 2 报文截止期的时间单元1 2 3 3 周期性和非周期性报文调度13 3 3 1t t c a n 的应用1 3 3 3 2 非周期性报文调度1 4 3 4 改进后的i c a n 协议l5 3 5i c a n 协议的改进思想1 6 3 5 1 协议改进遵守的规则1 6 3 5 2 两种协议的差别1 9 3 6 本章小结2 0 第四章基于u c a n 的驱动程序设计2 1 4 1c a n 控制器介绍21 4 2 报文的发送和接收2 3 4 2 1 报文的发送2 3 4 2 2 报文的接收2 3 4 3 驱动程序设计总体思想:2 4 4 3 1 i _ t c o s i i 操作系统2 4 4 3 2 i t c o s i i 在l p c 2 3 6 8 上的移植2 5 4 3 3 驱动程序分层结构2 6 4 4 c a n 设备控制层和接口控制层2 7 4 5 c a n 协议层2 8 4 6 应用层31 4 6 1 中断服务程序31 4 6 2 报文结构体组织链表3 4 4 6 3 时间单元的计算误差3 4 4 7 本章小结3 5 第五章c a n 总线网络实验平台搭建。3 6 5 1 实验平台的硬件设计3 6 5 1 1 高速c a n 收发器t j a l 0 4 0 3 6 5 1 2 节点的分裂终端3 8 5 1 3 电缆选择3 9 5 1 4d b 9 连接器3 9 5 2c a n 总线测试软件的设计4 0 5 2 1 现有c a n 总线测试软件4 0 5 2 2l a b v i e w 简介4 1 5 2 3c a n 网络测试软件结构4 2 5 3 系统运行及实验结果4 5 5 3 1 信息碰撞条件的建立4 5 5 3 2 实验结果分析4 6 5 3 3u c a n 网络的整体构建步骤4 8 5 4 本章小结4 8 第六章总结与展望4 9 6 1 全文工作总结4 9 6 2 展望4 9 参考文献51 作者攻读硕士学位期间的学术成果5 3 至炙谢5 4 c a n 总线实时性能研究和改进 第一章绪论 1 1 课题研究的背景及意义 第一章绪论 随着控制系统向智能化、网络化、分散化发展,网络控制系统成为目前控制系统 研究的热点和主流,尤其是分布式实时控制系统。分布式实时控制系统在实时性、协 调性、灵活性和容错性等方面的功能都较一般的通用系统更为突出和强大。分布式实 时系统已经应用于科学研究和工业生产等很多领域,随着对大型军事指挥系统和大型 工业控制系统的需求的增长,分布式实时系统有着越来越广阔的应用前景。 自2 0 世纪9 0 年代初出现的现场总线控制系统是一种数字化实时工业控制网络,它 是新一代的全分布式控制系统,适应了控制系统向智能化、网络化、分散化发展的趋 势,具有强大的生命力,它将使控制系统的体系结构以及自动化技术发生一次根本性 变革。引起国内外业界的广泛关注和高度重视,并成为世界范围的自动化技术发展的 热点之一。应该说,现场总线的工业过程智能化自动化仪表和现场总线的开发自动化 系统构成了新一代全开放自动化控制系统的体系结构。 现场总线以单个分散的,数字化、职能化的测量和控制设备作为网络节点,用数 字通信总线相连接,实现相互交换信息,共同完成自动化控制功能的网络系统和控制 系统,具有如下特点: 实时性:具有较高的数据传输速率,合理分配总线资源,每个节点均能够及 时收发信息。 互操作:性实现互联设备间的信息传送与沟通。 开放性:现场总线的初衷是建立统一的底层网络的开放系统。 智能化:现场设备的智能化与功能自治性。 安全性:现场总线需要具有本质安全性。 可靠性:现场总线需要解决适应工业现场的网络生存性。 其中的实时性更是衡量现场总线性能的一个重要标准。在现场总线控制系统中, 各种不同的总线对信息的传输调度不尽相同。节点间的通信实时性主要取决于通信网 第一章 绪论c a n 总线实时性能研究和改进 络的媒体控带i j m a c ( m e d i u ma c c e s sc o n t r 0 1 ) 层的信息调度策略和应用层用户的任务 调度策略。不当的调度可能引起通信网络过载和阻塞,影响网络系统通信实时性。大 多数现场总线产品已经固化了通信网络的媒体控制m a c 层协议,应用层的通信调度 将是用户应该主要解决的问题。 本课题通过研究c a n 的实时性能对国内周立功制定的i c a n 协议进行了改良,并 详细阐述了改良协议的设计原理和过程。改良的协议能够适应以非周期报文为主导的 c a n 网络的实时性需求,在这种c a n 网络应用环境中,本文提出的方案体系结构完 整、脉络清楚,稳定性高,具有一定的参考和实用价值。同时本文在一些细节上面的 探讨也有助于更进一步地加深对c a n 网络实时性能的特点和其实现难点的理解,为以 后这方面的研究者和工作者提供一定帮助。 1 2c a n 总线的国内外研究动态 在理论和实验研究方面,国外的一些学者主要针对c a n 总线的数据链路层做了 实时性方面的一些理论上的研究和改进。葡萄牙学者l u f sa l m e i d a 等针对t t - c a n 的灵活性方面的欠缺提出了f t t - c a n 协议;德国乌尔姆大学的科研人员j o r g k a i s e r 等对c a n 协议和t c p i p 的系统集成方面做了很多工作。在国内一些高等学校科研单 位也进行了一些研究工作,并撰写了大量c a n 总线工程实现方面的专著;尤其要指 出的是广州周立功公司一直致力于c a n 总线的技术推广,不仅代理国外一些著名公 司的c a n 总线产品( 例如n x p ) ,自身也逐步具备了较强的c a n 总线产品研发能力, 拥有一套较为完整的基于i c a n 协议的产品,这些研究工作无疑将大大推动c a n 总 线在工业中的应用。 1 3 论文的主要工作 本论文是研究c a n 的实时性能并给出了具体的实现方法,主要的内容有: ( 一) 研究了c a n 网络的实时性能,并对i c a n 协议进行了改良,制定出了一种 动态优先级晋升的u c a n 协议。 ( 二) 对u c a n 协议的设计过程和原理进行了详尽的阐述,并结合i c a n 协议对他 们进行了针对性地比较和分析。 2 c a n 总线实时性能研究和改进第一章绪论 ( 三) 以a r m 7 内核的l p c 2 3 6 8 芯片为硬件平台核心,结合肛c o s i i 操作系统和 u c a n 协议原理编写了详尽的c a n 驱动程序代码并进行了移植。 ( 四) 构建了u c a n 网络实验平台,采用l p c 2 3 6 8 和t j a l 0 4 0 构成c a n 节点,采 用l a b v i e w 为开发平台设计出- f n 试针对u c a n 网络性能的软件。 ( 五) 对u c a n 网络性能进行检测和结果分析。 适合工业现场监控设备的互联。相对于其他总线,c a n 有以下优点: 采用数据块编码,可实现多主工作方式,数据收发方式灵活。 采用非破坏性基于优先权的总线仲裁技术。 信号传输用短帧结构( 8 个字节) ,传输时间短,受干扰的概率低。 发送的信息遭到破坏后,可自动重发。 不关闭总线即可任意连接或拆除节点,增了系统的灵活性和可扩展性。 采用统一的标准和规范,使各设备间具有较好的互操作和互换性。 通信介质可采用双绞线,现场布线和安装简单,易于维护,经济性好。 作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通信控制方式, c a n b u s 已经被广泛应用到各个自动化控制及检测系统中,从高速的网络到低价位的 多路连接都可以使用c a n b u s ,例如汽车汽车电子、自动控制、智能大厦、电力系统、 安防监控等领域。 4 c a n 总线实时性能研究和改进第二章c a n 总线基本原理 2 2c a n 的分层结构 c a n 遵循i s 0 0 s i 标准模型,分为数据链路层及物理层。c a n 分层结构图2 1 所示: 2 2 1 物理层 0 s i 基本参照模型c a n 分层结构 图2 1c a n 现场总线分层结构 物理层是将c a n 节点连接至总线的电路实现。节点的总数将受限于总线上的电 气负载。c a n 的物理层划分为三部分:物理信令子层、p m a 子层、m d i 子层。物理 信令实现与位表示,定时和同步相关的功能。p m a 实现总线发送接收的功能电路并 提供总线故障检测方法。m d i 实现物理媒体和节点之间机械和电器接口。 2 2 2 数据链路层 按i e e e 8 0 2 2 和8 0 2 3 标准,数据链路层又划分为l l c 子层和m a c 子层。 l l c 子层的主要功能是接收过滤、超载通知和恢复管理。l l c 子层( 为用户) 提供 两类非连接方式的传送服务:非应答数据发送服务和非应答远程数据请求服务。存在 两种类型传送给用户的帧:l l c 数据帧和远程帧。l l c 子层亦接受m a c 子层提供的服 5 发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元为接收 器。 对于报文发送器和接收器,报文实际有效时刻是不同的。对于发送器而言,如 果直到帧结束末尾一直未出错,则对于发送器报文有效。如果报文受损,则允许按照 优先权顺序自动重发。为了能同其它报文进行总线访问竞争,总线一旦空闲,重发送 将立即开始。而对于接收器,如果直到帧结束的最后一位一直未出错,则对于接收器 报文有效。 c a n 总线上的信息以不同的固定报文格式发送,但长度受限。c a n 2 0 b 的版本 协议中有两种不同的帧格式,不同之处为标识符域的长度不同。其中含有1 1 位标识 符的帧称为标准帧,而含有2 9 位标识符的帧称为扩展帧。无论哪种帧格式,在报文 传输时都有以下四种不同类型的帧: 数据帧( d a t af r a m e ) :数据帧携带数据从发送器传输到接收器。 远程帧( r e m o t ef r a m e ) :总线单元发出远程帧,请求发送具有同一标识 符的数据帧。 错误帧( e r r o rf r a m e ) :任何单元检测到总线错误就发出错误帧。 过载i , h 贞( o v e r l o a df r a m e ) :它在相邻数据帧或远程帧之间提供附加延时。 6 c a n 总线实时性能研究和改进第二章c a n 总线基本原理 数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧 和远程帧可以使用标准帧及扩展帧两种格式。 2 4c a n 总线仲裁 c a n 被设计为一个多主系统,每个节点都可以初始化报文并且在总线空闲时发 送报文。当有报文需要发送的节点检测到总线上出现7 个连续的隐性位,也就是总线 处于空闲状态时就可以发送报文。 如果多个节点等待当前的传输任务完成,然后同时开始发送报文时,通过仲裁来 决定哪个节点可以赢得总线的使用权。仲裁期间,每个发送器都对发送位的电平与被 监控的总线电平进行比较。如果检测到的状态与发送的数据位一致,则继续发送下一 位数据。如果发送的是隐性位,而监测到的是显性位时,表明本节点报文在总线上与 具有更高优先级的节点报文发生冲突,则自动退出发送状态,转入接收状态,等待下 一次总线空闲时再发送数据。逐位仲裁可以确保总线无信息和带宽丢失。总线访问控 制被称为“总线监听 ( 带有冲突检测的载波侦听多路存取) 和非破坏性的逐位仲裁 ( 冲突避免) ,统称c s m a c a 。图2 2 举例说明总线仲裁逻辑。 节点a 节点b 节点c u s 厂 l 厂1 ;广一 l 1lj 图2 2c a n 总线c s m a c d 访问与仲裁 a 、b 、c - - 个节点将要传送帧,第一次当总线空闲,发送时隙到来时,同时传送 帧,其标志段逐位进行仲裁,可见:第0 ,1 ,2 ,3 位发送时,a 、b 、c 都没有监测到 冲突,b 在第4 位发送1 ,而从c a nb u s 总线上收n o ,因而检测到冲突,退出竞争仲裁, 也就停止后面位的传送,此时a 、c 没有检测到冲突继续发送。c 在第7 个位发送1 ,而 收n o ,检测到冲突,因此也要退出仲裁。由于a 没有检测到冲突继续发送后面的比 7 fy一p一!盯l -i一-n 八 第二章c a n 总线基本原理c a n 总线实时性能研究和改进 特直至发送完毕。这样在第一次仲裁中,由于b 的优先级小于a 和c 而不能发送帧。第 二次由于c 的优先级小于a 而退出仲裁,所以a 获得了最终的总线使用权。正因为c a n 有这样的仲裁机制,使得它难以抵抗高优先级攻击和重发报文攻击。 2 5i c a n 协议 c a n 现场总线只实现了物理层和数据链路层而没有规定应用层,本身并不完整, 而在基于c a n b u s 的发布式控制系统中,有些附件功能需要一个高层协议来实现。例 如,c a n 报文中的11 2 9 位标示符和8 字节数据的使用,发送大于8 字节的数据块,如 何响应或者确定报文的发送,网络的启动和监控,网络中c a n 节点故障的识别和标示 等。因此,在c a n b u s 应用网络中需要建立一个高层协议,即基于c a n 总线的应用层 协议,使其能够在c a n 网络中实现统一的通信模式,执行网络管理功能,以及提供设 备描述方式。 目前已经存在一些国际上标准的c a n b u s 高层协议,女i d e v i c e n e t 协议和c a n o p e n 协议。d e v i c e n e t 协议适合于工业自动化控制和电力通信领域。c a n o p e n 协议适合于 产品部件内部的嵌入式网络,在汽车、电梯、医疗仪器以及船舶运输等领域中均得到 了广泛应用。但是d e v i c e n e t 和c a n o p e n 协议规范比较复杂,理解和开发难度都比较 大。用户在前期开发阶段投入较大的资金、人力,所以这些国际协议在国内一时也不 能够形成成熟的应用氛围,对于一些并不复杂的基于c a n 总线的控制网络不太适合。 为此,国内周立功c a n 开发组织根据实际应用制定了一套简单的c a n 应用层协议i c a n 协议。i c a n 协议使用符合c a n 2 0 b 标准的具有2 9 位帧标识符的扩展数据帧,但对报 文的2 9 位帧标识符和数据部分进行了重定义i c a n 的报文格式如图2 3 所示: t d 2 8 1 d 0 p t f 獗缓缓戮缓缓笏缓缓缓缓獭磊 嗽产隧 嘲冀嚣甍产 分段妈功能妈参数j 数据 凇骞( i b y t e )( 7 b y t e ) 1 历扎r i | | n 芒r 一 c a n 总线实时性能研究和改进第二章c a n 总线基本原理 当源节点为0 x 仟值时,标识本次发送的是特殊类型帧,用于建立通信。 目标节点:接收i c a n 报文节点的m a c i d 地址,i c a n 网络中的i c a n 节点只处理 目标节点为广播地址( o x f 0 或与自身m a c i d 相同的i c a n 报文。 应答位:用于指示该帧i c a n 报文是否需要接收节点应答。 功能码:指示该帧i c a n 报文需要完成何种功能,如建立连接、读写设备资源等。 资源节点:指示该帧报文访问的设备的内部资源的地址,分配为8 位。 分段码:确定该帧i c a n 报文是否使用分段传输。 功能码参数数据:i c a n 报文中传输的数据。 从i c a n 报文格式再结合c a n 总线的仲裁机制可以看出,节点的m a c i d 地址越小 ,节点的报文优先级也就越高,在发生仲裁的时候就能够获得总线使用权。所以在依 据i c a n 协议构建的c a n 网络系统中,应该给较重要的节点分配较低的m a c i d 地址, 这样能够保证重要节点的报文及时顺利的发送出去。但是当存在大量连续的高优先级 报文时必将阻塞低优先级报文的发送,将严重影响低优先级节点的实时性。这时候系 统将大部分带宽进行了不合理的分配,过于的倾斜于高优先级节点,况且并不是高优 先级节点发出的所有报文的实时性需求都比低优先级节点发送的报文高,所以这种采 用一刀切的带宽分配方式在实时性需求较高的c a n 网络中显得并不合理。下一章将对 这部分内容进一步进行阐述。 2 6 本章小结 本章首先介绍了c a n 总线,并对c a n 总线的技术特点、分层结构及工作原理 进行了阐述,最后介绍了周立功制定的c a n 应用层协议i c a n 协议。 9 第三章 面。具体地,控制网络的实时性主要与以下几个方面有关: 网络本身的硬件性能,包括网络的拓扑结构、通信媒体、网络接口的传送速率等 等。通讯媒体的传输速率越高、网络接口的传输速率越快,网络的实时性越高。 网络的通讯协议,包括媒体的访问控制方式、网络通讯协议的层次结构、传输的 可靠性、有无连接控制等等。层次结构越简单,系统的实时性越高。 网络的消息量,也称网络的负载,是指网络在一定时间内需要传送的消息的多少。 网络传送信息量越少,其实时性越高。 实时性与通信子网的信道利用率是相互矛盾的。在控制网络中,为了提高网络的 实时性。不得不牺牲一部分信道的利用率。 在负载和带宽确定的情况下,如何合理得制定c a n 应用层协议来提高整个c a n 网络的实时性能是本章研究的重点。 3 1c a n 报文延迟分析 每一个实时报文m 都由三个要素组成,m = ( s m ,l m ,d m ) 。其中,s m 是报文产 生的时刻,l m 是报文的内容,d m 是报文的截止期。设报文传输的任意时n t , ,报 文传输时间为t m ,要想实时报文能够被成功处理必须要满足: 删 一s a c ) + + 掰 ( 3 - 1 ) 是实时报文从发送节点的应用层传递到接收节点应用层的总延迟。实时报文 的延时模型如图3 1 所示: 1 0 c a n 总线实时性能研究和改进 第三章c a n 网络的实时性分析及改进 传感器 执行器 传感器 执行器 图3 1实时报文延迟模型 用九,咄一d 表示应用层发送报文的延迟,包括处理延迟和排队延迟。处理延迟包 括产生信息的时间,如应用程序产生用户报文和应用层信息包的时间。排队延迟包括 等待处理的时间和等待传输到下层的时间。 用d 删c 喇材表示报文在发送节点的m a c 层的延迟,数据链路层数据帧在发送 缓冲区中等待m a c 协议发送的时间。 用f 表示传播延迟,他表示网络总最大的端到端之间的报文传播延迟。 用c - 栅魄表示接收端m a c 层的延迟,数据链路层数据帧存贮在接收站网络适 配器缓存内排队等待传送给高层协议的时间。 用“一一表示接收端应用层的延迟,信息在高层排队等待剥去信息头并传递给 任务的时间。 所以,一个报文在多路访问的控制网络中,从应用层到应用层的延迟为: 矽石= 口j p - 鼢d + d 么c - s e n d + f + 绣磐+ d ! 仁燃( 3 2 ) 第三章c a n 网络的实时性分析及改进 3 2 报文截止期的时间单元 任务到任务的信息延迟是由网络和主机共同决定的 迟以胁耐依赖c a n 节点的系统软件和处理器存储器的 迟c 一删。取决于处理器响应m a c 层接收中断的时间 通常是固定的。报文传播延迟f 由报文长度和信号的传播速度决定,c i a 标准的典型 电缆延迟为5 5 n s m ,这个延迟在具体应用的c a n 网络中可认为是确定的。发送站 m a c 层排队延迟d 删c 喇材随不同的应用层协议改变很大,因此优化应用层协议便成 为实现网络控制实时性要求的关键环节所在。 c a n 支持的最高通信波特率为1 m b p s ,一个传输1 0 0 b i t 的完整c a n 报文的时间 为t = 1 0 0 1 m = 0 1 m s 。而现在的r a m 速度以m s 级来计算,6 0 m h z 运行速率的a r m 处理器在0 1 m s 内能够完成多达n = 6 0 m * 0 1 m = 6 0 0 0 条单周期a r m 指令。根据上面 的分析可以看到的所有组成部分中除了d 删c 喇耐其他都是以m s 级别来计算,而 c a n 的通信波特率是以m s 级来计算,并且随着技术的发展,处理器的运算速度和 r a m 的访问速度不断提高,由于c a n 传输速率的局限性,这个差距将会越来越大。 综上所述,黔+ f + 绣粥,嘲譬+ 矽俨,嘲p ,并且根据c a n 总线仲裁技术和 d 删c 一卵n d 的定义,它本身的大小也是由它等待正在传输报文的t m 大小决定。因此 我们以t m 作为实时报文截止期的时间单元的参考标准,t m = l m b t r ,b t r 是c a n 通信波特率。由于c a n 网络中报文的长度不一,我们无法精确地定义时间单元,但 是以t m 作为截止期时间单元的场合中,d m = n t m = n l m b t r ( n 为大于1 的整数) , c a n 报文1 b t r 级别的实时精度解决方案并不是本文探讨的范畴,下文开始t m 用 t 来代替。 虽然d 一尸叫材、一觇和c 一艄慨比t m 小的多但是并不是说他们不再重要, 首先在注重价格和性能标准的实际应用中,不可能一味的追求高性能处理器来减少应 用层的延迟;其次,合理完善的应用程序应该继续遵守整个系统报文的实时规则,尤 1 2 c a n 总线实时性能研究和改进第三章c a n 网络的实时性分析及改进 其是在如何合理组织待发送报文顺序和处理接收报文的优先次序上需要和m a c 层实 时性保持一致,是片面提高处理器性能无法解决的问题,具体应用程序设计将在第四 章中详细阐述。 3 3 周期性和非周期性报文调度 在应用层,现场总线提供给用户统一开放的通信标准,现场节点之间的信息传递 方式是通过节点间的通信任务交互实现,要保证信息交互的实时性,就要满足各个通 信任务的截止期要求。通信信息按报文产生的时间,我们可以把通信信息分为周期性 报文和非周期性报文。周期性报文一般由时间触发产生,非周期性信息一般是由事件 触发产生。一个实时系统中,常常是周期信息和非周期信息同时存在,那么实时信息 传输就包括周期信息传输和非周期信息的传输同时传输。 3 3 1t t c a n 的应用 t t c a n ( 时间触发c a n ) 协议( 在i s o11 8 9 8 4 中进行标准化) 是c a n ( 控制器局域 网) 数据链路层顶部的高层协议,采用时间触发的消息响应调度方式,使得数据通讯 在本质上具有确定性。时间触发通讯意味着活动随着流逝的时间段被触发。在时间触 发的通讯系统中,在系统开发期间定义消息传输的各个时间点。时间触发的通讯系统 是周期性数据通讯应用的理想 t t c a n 基本的同步调度机制是:当一个有效的参考帧被发送或者接收时,同步标 志寄存器中的值将被导入参考标志寄存器中,同时循环时间开始计数。循环时间等于 本地时间减去参考标志寄存器的值。t t c a n 节点通过时间标志来确定自己的工作时 窗,将自己的时标与循环时间比较,当系统时间到达本节点的时标时,节点的通讯动作 就会被触发。两个参考帧之间的时间称作基本周期,一个基本周期从参考消息帧开始, 包含多个不重叠的时间窗,包括专用时间窗、仲裁时间窗和自由时间窗。专用时间窗 用于传送一个特定的报文,其他报文不能竞争总线;在仲裁时间窗中,节点报文可以 通过仲裁竞争来获得总线使用权;自由时间窗用于扩展。当节点检测到帧起始位时, 将本地时间存到同步标志寄存器中。 在实际应用过程中,经常会碰到包含多个控制循环和具有不同周期信息传送的情 r j【-f-lr pl , 第三章c a n 网络的实时性分析及改进c a n 总线实时性能研究和改进 况,使用单一的基本周期时间调度方式很难满足需要。因此,t t c a n 允许使用多个 基本周期构成系统信息阵( s y s t e mm a t r i x ) 的方式提高信息调度的灵活性,各周期组 成的t t c a n 矩阵周期如图3 2 所示。 赞奠捌 一”:4 、:o : :一1 峨飘窝通曼尘黔鼠画 : : :l i 峨羔篓璺童燕交蓟燕萄 : : : :l l 啼 : :j 匡娅橐鎏麓囊霞。搠) 受拳灏霞两昏 : :l l 苎查苎! ! - :二二翟鬈_ 乏兹:喜黪瓮:蓄? 空嘲皇缓i 乏一。一 3 3 2 非周期性报文调度 图3 2t t c a n 矩阵周期 t t c a n 本质上是一种基于表的静态调度,其底层采用c a n 协议自身的仲裁机 制,而在会话层中定义了调度时刻表。t t c a n 静态调度算法最主要的研究工作是就 是要确定矩阵周期的整体结构,并将消息合理的安排到各个时间窗中。其中的仲裁窗 口虽然可以支持非周期实时报文的调度,但是在事件触发产生的非周期报文非常频繁 的网络中,t t c a n 这种静态的调度方式就严重制约了非周期报文的实时性。首先非 周期报文不能够在专用时间窗中进行传输,必须要进行等待,直到仲裁窗的到来才能 够进行仲裁传输,这样增加了报文的延迟;其次,事件触发的非周期报文被限制到仲 裁窗口中,必然增加报文仲裁竞争的概率,容易造成仲裁失利的报文过期;最后,由 于非周期报文的不确定性,很难静态的分配仲裁窗口来良好解决报文的竞争传输问 题。 所以t t c a n 对于周期性报文为主导的c a n 网络来说是一个理想的解决方案,通 过将周期报文发送的时间段正交,避免了周期性报文的冲突。但是在非周期报文为主 1 4 c a n 总线实时性能研究和改进第三章c a n 网络的实时性分析及改进 导的c a n 网络中,t t c a n 则显得过于死板。所以在非周期报文为主导的网络中,本 文并不建立c a n 的会话层,而是将网络中的周期信号也作为一种非周期信号来对待, 依据改进后的i c a n 协议来动态地竞争总线的使用权。 3 4 改进后的i c a n 协议 使用i c a n 协议为每个节点静态的分配唯一的m a c i d ,可以防止不同的节点 发送相同的标识符以至于同时获得总线使用权,造成在报文数据部分传输过程中发生 总线错误。但是这种静态的m a c i d 分配方式在网络负载较大的时候,容易出现高优 先级节点长期占用总线,从而造成低优先级节点不能顺利发送实时报文的情况。如图 3 3 所示:假设节点a 、b 和c 的优先级排序为足 b 只,节点发送的实时报文的 截止期排序为d m 一 d m 口 d m c 。在图1 中,具有最高优先级的节点c 长期占用总 线,当c 发送完第三个报文c 3 的时候,报文b 1 超出了截止期,在发送完第四个报 文c 4 的时候,报文a 1 超出了截止期。在这个过程中由于节点a 和b 的优先级低于 节点c ,所以无法在仲裁中获得总线使用权。但是在这种情况下理想的方案是图2 所 示。c 节点在发送完报文c 1 后发送报文b 1 ,然后再发送报文c 2 、c 3 和c 4 ,这种 情况下既保证了c 节点四个报文的实时性也使b 1 报文能够在截止期之前顺利得到执 行,从整体上提高了c a n 网络的实时性能。但如果按照i c a n 协议静态地分配 m a c i d ,那么b 节点和a 节点都不可能将在这个过程中及时得将报文发送出去。 图1 a c o d cdbd t b 隧覆 c 0 d cd8d t 图3 3 报文竞争 从上面的分析可以看到,静态的分配标识符并不能满足c a n 网络的实时性需求, 尤其是在非周期性实时报文产生频率较高的c a n 网络中,这种报文信息产生的不确 1 5 , l 第三章c a n 网络的实时性分析及改进 c a n 总线实时性能研究和改进 定性将严重影响整个c a n 网络的实时性能。为了解决这个问题,这里在i c a n 协议 的基础上进行了改进,以适应c a n 网络的实时性要求。改进后的动态报文格式图3 4 所示: 监 t 。0 8 i d op t r 甏 。黛j ? 2 i 蕊幺| 巍j黝缀溺巍磁缀戮筏凌瘸曩 罐l 群t,(栋7b苇it点)|篓弼xl藿 孽(4b能it码)|潞(源4b节i 0 点 分段码 功能码参数? 皴撼 ( i 务p ) t i b t e )若发生优先缀脯跃 。缀i ( 1 b 群掩 第1 字节订艘繇节赢 位、i b i t ) 图3 4 动态报文格式 改动的部分在图中用黑色实线和黑色字体标出。与原本的i c a n 协议相比,将 8 b i t 的源节点部分改为了7 b i t ,多出的l b i t 用于最高优先级位:同时将8 b i t 的目标节 点部分改为了7 b i t ,多出的l b i t 用于表示节点优先级跳跃;若发生了优先级跳跃,则 功能码参数数据部分的第一字节用于存放源节点的m a c i d ,i c a n 的其他部分不改 动。 3 5i c a n 协议的改进思想 3 5 1 协议改进遵守的规则 ( 一) 当一个节点发生仲裁丢失中断的时候,说明有更高优先级的节点正在发送报 文,仲裁失利的实时报文已经消耗了一个时间单元来等待下一次的发送机会。但是这 个节点并不知道c a n 网络以后会发生什么情况,可能下一次不会有高优先级的节点 和他仲裁竞争,也可能依然有高优先级节点再次阻止其报文的发送。由于报文的实时 性需求和网络数据的不确定性,最好的策略则是比较勤奋的未雨绸缪策略,节点在第 一次仲裁失利后,将自己的优先级暂时提高到折中的高度来竞争下一次的总线使用 权。 ( 二) 当节点在提高了优先级之后,进行到c a n 实时报文截止期的倒数第二个时间 单元依然没有机会获得总线使用权的时候,该节点将清零图3 4 中的最高优先级位。 这个优先级将凌驾于所有没有清零该位的节点优先级之上,这种强硬的获得总线使用 1 6 c a n 总线实时性能研究和改进 第三章c a n 网络的实时性分析及改进 权的方式,可以理解为报文的狗急跳墙式的策略。为确保获得发送实时报文的最后机 会,必须要采取紧急的应急措施来应对。处于这个优先级位置,该节点顺利发送报文 的概率是非常的大的,除非原本优先级别比他高的节点也清零了最高优先级位,那么 该节点将再一次失去发送机会。即使发生这种情况,该节点依然有最后一个时间单元 的机会将报文发送出去。 ( 三) 当系统中产生只占两个或者两个以内时间单元的实时报文的时候,该报文不 管是从哪个优先级节点产生的,一诞生就应该清零最高优先级位,保证它能够满足第 二条规则。 ( 四) 当节点的报文在超过他的截止期之后还没有发送出去,则这个实时报文已经 失效,应该将报文删除,不再发送。 ( 五) 低优先级节点通过优先级晋升或者清零最高优先级位获得总线使用权的情况 下不应该影响高优先级节点的实时性。这点主要是通过高优先级节点能够跳跃到更高 的优先级以及同时在清零最高优先级状态下,高优先级节点能够通过赢得源节点段的 仲裁比低优先级节点优先获得总线使用权来实现。 ( 六) 若报文通过优先级晋升跳跃或者清零最高优先级位的方式获得总线使用权发 送当前报文之后,在发送下一个报文的时应该继续遵守前面的五条规则。 根据上面的分析,当节点在规则一中发生优先级跳跃的时候,它跳跃到的新优先 级位置为c a n 网络中所有优先级比它高的m a c i d 的中间位置。例如该节点的 m a c i d 为1 4 ,网络中比他高的优先级节点的m a c i d 分别为:3 、6 、8 、1 1 ,那么 它的跳跃的中间位置为8 ;若网络中比他高的优先级节点的m a c i d 分别为3 、6 、8 、 1 1 、1 3 ,那么他跳跃的中间位置为9 或1 0 中的一个。跳跃后在“源节点段 放置晋 升的新优先级m a c i d ,并且置位优先级跳跃位。同时占用协议的“功能码参数数据 段”的第一个字节存放原来的m a c i d 。当节点状态发展到需要清零最高优先级位的 时候,“源节点段 重新放置原本的m a c i d ,同时也不再需要占用“功能码参数数 据段”的第一个字节。下面结合节点状态流程图3 5 和3 6 来举例说明。其中红色圆 圈表示仲裁失利,绿色圆圈表示获得总线使用权进行发送,t 代表实时报文截止期的 时间单元。 1 7 第三章c a n 网络的实时性 3 的实时性,因为在系统中每一种实时报文只要是在其规定的截止期内顺利发送,那 么早一点发送和晚一点发送并没有改变报文的实时本质。 ooo oooo oo 仲裁失利l 仲裁失利 r1rr o o 图3 5 静态分配优先级的节点状态迁移图 1 8 o j - 仲裁失利 失利 拶 图3 6 动态分配优先级的节点状态迁移图 3 5 2 两种协议的差别 失利 失利 为了下文的陈述方便,这里将改进后的i c a n 协议称为u c a n 协议。表3 1 为两种 协议的简要比较。 表3 1 i c a n 与u c a n 的比较 醪黟甥缪移爹嬲翳缪黝嬲

温馨提示

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

评论

0/150

提交评论