基于STM32F105微控制器的双CAN冗余的方案设计
品慧电子讯控制局域网又称CAN,是一种多主方式的串行通讯总线。CAN总线以其抗电磁干扰性强、位速率高、错误检测机制完善的特点被广泛应用于航空航天、汽车制造等工业领域。尤其是船在行驶时,环境恶劣,通信方面的准确性和可靠性高,双CAN冗余总线的通信完全符合条件。针对这种情况,本文中的方案设计是基于STM32F105微控制器的双CAN 冗余设计方案。 一、硬件设计
1、平台搭建 STM32F105是一款基于ARM Co rtex- M3内核的32位微控制器, 其内核是专门设计于满足高性能、低功耗、实时应用的嵌入式领域的要求。由于采用Thumb - 2指令集,与ARM7微控制器相比STM32运行速度最多可快35% 且代码最多节省45% 。较高的主频和代码执行效率使系统在进行CAN 总线数据收发的同时仍可运行总线冗余算法。STM32F105微控制器内部集成2路独立的CAN 控制器, 控制器集成在芯片内部, 避免了总线外扩引入的干扰, 同时简化了电路设计、降低成本。2、方案设计 系统使用两条完全独立的CAN 总线, 两个CAN 总线收发器和总线控制器, 实现物理层、数据链路层的全面冗余。在初始化时两个控制器被同时激活, 一个作为主CAN, 另一个作为从CAN, 为主控制器的备份。正常运作时, 数据通过主CAN 优先发送; 当主CAN 总线繁忙时, 从CAN 总线分担部分通信流量; 而当主CAN 总线发生故障时, 数据转移至从CAN 控制器传输, 反之亦然。在任一总线发生故障时,数据都能经由另一条总线传输, 而当两条总线都正常时, 使用两总线同时传输, 增加约1倍的通信带宽,这样在保证了通信可靠性的同时提高了实时性。 CAN 总线接口电路设计如图1所示,使用TJA1050作为总线收发器,它完成CAN 控制器与物理总线之间的电平转换和差动收发。尽管TJA1050本身具备一定的保护能力,但其与总线接口部分还是采用一定的安全和抗干扰措施;TJA1050的CANH 和CANL与地之间并联两只10pF的小电容, 可以滤除总线上的高频干扰;另外,为了增强CAN 总线节点的抗干扰能力,总线输入端与地之间分别接入一只瞬态抑制二极管,当两输入与地之间出现瞬变干扰时,收发器输入端电压被钳位在安全范围。 为防止总线过压造成节点损坏,STM32F105内置CAN 控制器的数据收发引脚并不与TJA1050直接相连,通过ADuM1201磁隔离器实现信号隔离传输。与传统光耦隔离相比,磁隔离简化了隔离电路设计,并且磁隔离芯片的功耗很低,大约相当于光耦隔离的1/10。除了将CAN 数据信号隔离外,TJA1050T使用的电源和地也必须与系统完全隔离,使用5V 隔离输出的开关电源模块IB0505LS提供隔离电源。由于CAN 总线数据传输率较高,为了提高信号质量,网络拓扑结构应尽量设计成单线结构以避免信号反射, 同时终端连接120欧姆左右的匹配电阻。


- 第一页:基于STM32F105微控制器的双CAN冗余的方案设计(1);
- 第二页:基于STM32F105微控制器的双CAN冗余的方案设计(2)
三、双总线冗余的可靠性分析与测试 对双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位的报文,若忽略控制器重发间隔时间,从故障发生到被检测到的响应时间为:



结语:此次设计方案充分利用了微控制器STM32F105,在其中内置了两路CAN控制器,这种设计思路与传统的在单片机总线外扩两片CAN控制器的冗余方案相比,电路设计更加简单,成本更低,系统的整体可靠性得到了提高。利用双总线负载均衡技术,能够平衡通信负荷,提高总线带宽。在船舶机舱监控系统中能够获得良好的信号传输。
相关阅读:
通信系统设计:基于CAN总线的电动汽车电源管理设计
关于CAN总线通讯的电磁兼容设计
用于汽车电池监控的CAN智能传感器<上一页12
- 第一页:基于STM32F105微控制器的双CAN冗余的方案设计(1);
- 第二页:基于STM32F105微控制器的双CAN冗余的方案设计(2)