您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于CAN总线气体监测系统的通讯可靠性分析

基于CAN总线气体监测系统的通讯可靠性分析

来源:华佗小知识
维普资讯 http://www.cqvip.com 基于CAN总线气体监测系统的通讯可靠性分析 基于CAN总线气体监测系统的通讯可靠性分析 Communication Reliability Analysis of Gas Monitor System Based on CAN BUS 申 剑 赵向阳 (北京航空航天大学自动化科学与电气工程学院,北京100083) 摘 要 对基于CAN总线的大型气体监测系统的通讯可靠性从网络容量、系统硬件、系统软件和CAN总线上层通讯协议等方 面进行了详细的分析,并给出了相应的设计方法,经过对样机的系统测试,可靠性得到了显著提高。 关键词:CAN总线,气体监测,可靠性 Abstract This paper introduces communication reliability of gas monitor system from net capabilityhardware of system,software of ,system and CAN bus upper communication protocol,and proposes some method of design.Through the testing of prototypethe results show the reliability is improved. , Keywords:CAN bus,gas monitor,reliability 传统的气体监测系统的通讯都是由RS485总线实现的。但在 监测大型的被测对象时,传输距离在几千米,监测点数多达几百 个,现场工作环境比较恶劣时RS485总线就不能满足系统要求 了,主要不足体现在系统故障隔离能力差,网络总体可靠性比较 低,系统容量有限等。为克服以上RS485总线的不足,目前对于大 的位时钟周期偏差、差分信号的幅值衰减4方面因素的影响。 1)CAN总线的拓扑结构主要采用总线型结构,但实际连接 中总线上挂接探测器时总线型拓扑结构还分为“T型”和“串型” 连接。当CAN总线采用‘‘丁型”连接时,两线接13简化了探测器 的接13设计,但对于单一T型分支的长度和无中继器时支路中 总的分支长度却有所,因为‘‘T型”结构的采用会产生信号 的反射,增加信号的衰减和干扰。所以在长距离通讯中,应采用 串行连接的总线型拓扑结构。这样,探测器必须采用四线接13。 型被测对象多采用CAN总线来构成气体监测系统的通讯平台。 1 系统结构框图 整个系统由连接到于路的上位机和若于条支路组成,每条 支路包含一个控制器和若干个探测器。在每条支路中,由探测器 采集被测气体浓度值,定时把数据传送到控制器,控制器起着对 本支路通讯监控和管理的作用,并有系统故障自检测、查询报警 历史纪录、探测器标定和调零、电源管理等功能,支路通讯工作 在CAN控制器特有的多主竞争方式。在干路中,通讯采用主从 方式,由上位机通过中继器定时向控制器收集数据。 2)总线线路的延时和各个节点的位时钟偏差对通讯可靠性 的影响主要表现在信息同步上。在CAN通讯协议中规定,通讯 波特率、每个位周期的取样个数和位置都可以由用户自己设定, 这就为通讯可靠性的提高提供了设计空间。在国际标准De. viceNet中,规定了波特率的标准值,但在长距离多节点通讯中, 最好依照系统容量自己求解位定时参数,以达到更优的目的。位 周期取样位置的偏后,将能够容忍较大的信号传输延时,相应的 就延长了总线通讯距离,但这样又会减少系统对节点间参考时 钟误差的容忍。所以必须综合考虑,求得定时参数的最优。以通 讯距离4000m波特率为10kbps为例。利用已选定的波特率和 2系统通讯可靠性分析 一 CAN总线的每帧信息都有CRC校验,其通讯错误主要由 信号衰减、信息同步失败引起,报文丢失主要由发送失败引起, 下文主要从网络容量、系统构成的硬件和软件设计、上层通讯协 议四方面来分析其对系统通讯可靠性的影响。 CAN控制器的晶体振荡器的频率可以计算出CAN信号在传输 4000m时的典型延时值,再根据文献[1]里提供的公式,选取同 步跳转宽度为3,采样点为0_7至0.8之间,就可以计算出满足 系统要求的位定时参数。 3)CAN总线的差分信号主要被总线电缆电阻所衰减,而在 电缆截面积一定时总线长度就主要决定了总线电缆电阻。此外, 最大总线长度还与终端匹配电阻、节点数、总线电缆电阻率、差 分信号驱动电压有关。在终端匹配电阻等于120Q,差分信号驱 动电压大于4.9V,总线电阻率一定时,总线长度越长会导致差 分信号衰减越多,相应的节点数也有所减少。 2_2系统硬件构成对通讯可靠性的影响 在通讯平台的施工中,除了不采用“T型”连接和较细的电缆 外,还要保证中继器和上位机通讯适配卡有足够快的处理速度。 图1 系统结构框图 中继器起着连接于路和支路通讯、过滤通讯量、增加网络容 量和整个网络可靠性的作用,当支路满载工作时,会有大量数据 流经中继器,一旦中继器转发速度不够快就会产生数据溢出,而 CAN控制器中的数据溢出是在无任何提示前提下丢失的,为了 2.1网络容量对通讯可靠性的影响 现场总线CANBUS的网络容量是指网络中节点间的通讯距 离和节点总数。它主要受总线拓扑结构、总线线路延时、各个节点 维普资讯 http://www.cqvip.com 《工业控制计算机}2007年2O卷第6期 防止数据丢失,应在中继器内存中开辟较大空间的缓存区,并提 高中继器中处理器的工作速度。 在CAN适配卡的选择上,目前主要有PCI、ISA、USB、 RS232总线和CAN协议转换的适配卡,当数据流量较大时,不 宜选用RS232与CAN转换的适配卡,而应采用PCI—CAN或 差积累使得各个节点的报文发送时刻出现重叠,又开始了报文 发送优先级仲裁的竞争。所以,周期性的让系统中所有定时器同 步清零一次,以减少定时器的时间误差累计。 2)定时器的同步清零是利用广播报文来实现的。CAN控制 器有单滤波和双滤波两种工作模式,采用双滤波模式时,CAN 控制器的滤波器被配置成两个短滤波器,从网络上检测到的报 文要和这两个滤波器都进行比较,至少有一个滤波器表示为“接 收”,接收的报文才有效。利用这个特点,可以实现系统中所有探 测器同时收到控制器发送的报文,探测器收到相应命令后重新 USB—CAN适配卡,其工作频率可达40Mhz以上,完全可以满 足高速数据采集的要求。对于ISA总线目前的PC机主板上一 般已不配置该类型插槽,所以不推荐使用ISA—CAN适配卡。 2.3上层通讯协议对通讯可靠性的保证 传统的多机通讯采用主从模式,而CAN总线引入了非破坏 性总线仲裁技术,当多个节点同时向总线发送信息出现冲突时, 初始化定时器,就可以实现定时同步了。试验表明,在传输距离 4000m,单一支路挂接64个节点,波特率为10kbps时,每工作 优先级较低的节点会主动退出发送,而优先级最高的节点可不 3小时开始出现误码,工作4小时误码率达O.5%,故在控制器 受影响地继续传输数据。但当系统节点数较多,数据量较大时, 中设定,每2.5小时发送一帧广播报文用于定时器同步。 会产生优先级较低的节点在参与总线仲裁时总出现失败的现 3)为了进一步提高通讯可靠性,设置报文重发。在探测器的 象,致使某些节点长期不能发出数据,出现“死机”现象。为此,引 主循环中,每次报文发送后都要检查CAN控制器的中断寄存 入“时间片”的机制,即依次为系统中的每个节点分配一段时间 器,查看是否发生了仲裁丢失,一旦仲裁丢失寄存器置位,则表 用于发送数据,以此避开多节点参与竞争,导致优先级低的节点 明本次发送失败,则再次发送报文。最多重发3次。以此来降低 总发送失败的现象。 因优先级竞争而导致的报文丢失率。 在气体监控系统中,国标要求报警时间不大于1Os,考虑一 3结束语 定裕量,决定所有节点每8s发送一次数据。工程目标要求满载 结合以上分析,在CAN总线的软硬件设计中,采用文中提 时单一支路挂接64个节点。利用单片机的定时器实现8s定时, 到的相应措施可以实现CAN总线通讯长期可靠的稳定运行,目 并结合计数器,利用定时器溢出时得到的计数值,获得一个时间 前该系统已在气体监测领域特别是监测大型被测对象时,得到 片,由于所有节点定时器同时清零,再结合节点自身的ID号(在 了广泛的应用。 系统中是唯一的)和时间片即可获得一个在8s定时内唯一属于 自己的报文发送时刻,这样人为地把8s时间平均分配给总线上 参考文献 的所有节点,避开了多节点参与竞争可能导致的报文丢失。 [1]GB 16808—1997可燃气体报警控制器技术要求和试验方法[S] 2.4系统软件设计对通讯可靠性的影响 [2]吴永.CAN总线位定时参数的确定[J].单片机及嵌入式系统应用, 为了保证时间片机制能可靠的运行,又引入了定时器同步 2004(10):12215 和广播报文。并利用报文重发机制进一步提高通讯的可靠性。 [4]饶运涛,邹继军现场总线CAN原理与应用技术【M].北京:北京航空 1)引入时间片后,系统可以良好的工作,每个节点都可以得 航天大学出版社,2003 到发送报文的机会,但长时间工作后,由于单片机内定时器的误 [收稿El期:2006.11.3] (上接第33页) 界面控制图形刷新频率,例如60Hz。显示线程将按照用户的设 定,定时对屏幕进行刷新。 由于在内存中保存了最新的数据,屏幕图形重新绘制的时 候就可以利用最新的数据。例如屏幕图形可以显示500个数据, 那么只要将缓冲区开到可以容纳600个数据,就可以保证每次 绘图都使用有效的数据。 实际上,如果绘图频率为60Hz,数据接收为1600个/s,在 两次绘图的间隔中新的数据只有不到3O个,可见屏幕图像显示 将可以完全包含每一个数据。 图2测试界面 实践表明,即使车速达到100km/h,上位机也可以完全实 的匹配,而且使数据实时性达到最佳状态。 时的显示所有传感器的数据,当通过定时器和消息处理进行绘 图时,显示的最高刷新频率只和系统性能有关,每次的显示也仅 参考文献 仅相当于普通的Windows应用程序,不会给系统带来很大负 [1]殷志华,郑海,杨浩.单片机与PC机串El通信的实现[J].中国数据通 荷。在试验中,由于“最新数据缓存”的作用,即使刷新率只有 信,2004(1) 30Hz,屏幕上的图形更新依然非常流畅。 [2]毛建东,高宗海,李大成.Delphi环境下单片机与PC机串El通信的 5结束语 一种实现方法[J].现代电子技术,2004(2) 经过上面的讨论和实际的检验,把串口通信的数据处理与 [3]王伟,王敏.多线程技术在串El通信中的应用及实现[J].计算机应用 显示进行分离可以使系统达到很好的实时性和稳定性,而且对 与软件,2004(2) 系统资源消耗最小。数据处理和显示的分离表面上看好像使数 [4]龙飞,李晓帆,蔡志开,等一个利用多线程及重叠I/O实现的串口通 据表现与实时数据产生异步,实际上由于屏幕是一个低速外设, 信类[J].微机发展,2004(3) 通过“最新缓冲区”内的数据,不仅解决了屏幕显示与高速通信 『收稿日期:2006.10.241 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务