微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于STM32F105微控制器的双CAN冗余设计方案

基于STM32F105微控制器的双CAN冗余设计方案

时间:05-15 来源:维库 点击:

3 双总线冗余的可靠性分析与测试

对双CAN 冗余系统的可靠性进行定量分析, 引入平均无故障运行时间(M ean T ime To Fa ilure, MTTF)的概念。MTTF描述一个系统从开始工作到发生故障的时间间隔, 也即平均寿命。为简化分析作如下假设: 每路CAN总线的故障率相同; CAN 总线的损坏属于物理损坏, 即不可修复的损坏。指数分布可以很好地用来描述电子元器件的寿命, 假设CAN总线的寿命分布服从指数分布, CAN 总线的可靠性模型如图3所示。

图3 CAN 总线可靠性模型图

模型1为单总线的可靠性模型, 因为总线寿命服从指数分布, 根据单一CAN总线无故障运行时间MTTF1 = 1 /λ。模型2为双CAN总线冗余可靠性模型, 系统由两条独立的总线并联而成, 即只有当这2条总线都失效时系统通信才会失败, 于是系统的平均寿命MTTF2 = 3 /2。采用双线冗余设计使CAN 通信的平均无故障时间增加了50%。

双线CAN 冗余系统的另一关键指标是总线切换时间, 它等于检测错误所需时间与处理故障总线未发送报文所需时间之和, 切换时间越短, 总线故障对报文传输造成的延迟就越小。检测错误所需时间,即从总线错误出现到被冗余程序检测到所需的时间。以总线断开故障为例, 发送器每发送一个报文产生一次应答错误, 错误计数器每次加8, 需连续进行16次发送, 使错误计数器值达到128引起总线切换。在位速率125kbps情况下, 发送最长为128位的报文, 若忽略控制器重发间隔时间, 从故障发生到被检测到的响应时间为:

为避免在总线切换时丢失报文, 冗余算法需回读故障控制器中未发送报文, 由此产生额外的故障处理时间, 因为每个发送邮箱最多存储3个报文, 假定位速率125kbps不变, 备份总线发送时即取得仲裁,最长故障处理时间为:

因此总线切换时间为16. 38+ 3. 07= 19. 45m s。

通过实验测得在125kbps位速率下连续发送不同报文长度的总线切换时间如表1所示:

表1 总线切换时间

  在125kbps位速率下切换时间为22. 80ms, 比理论计算值稍长, 这是由总线切换时运行冗余算法及读取控制器错误寄存器( ESR)所额外消耗的, 但在实际应用中, 发送报文获取仲裁所需的等待时间远大于切换时间, 总线故障并不频繁发生, 冗余切换算法对系统的运行并无显着影响。

  4 结束语

与传统单片机总线外扩两片CAN 控制器的冗余方案相比, 本设计充分利用STM32F105微控制器内置的两路CAN 控制器, 简化电路设计, 相对降低了成本, 同时双CAN 冗余通信系统的采用提高了系统整体可靠性。所使用双总线负载均衡技术, 可以提高总线带宽, 平衡通信负荷。系统船舶机舱监控系统的图像和数据信号的传输中取得很好的效果。

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

网站地图

Top