CAN协议网关设计:自动位速率检测与互连

4星 · 超过85%的资源 需积分: 9 2 下载量 125 浏览量 更新于2024-09-14 收藏 156KB PDF 举报
"基于自动位速率检测的CAN协议网关" 本文介绍了如何设计一个基于8位微控制器P87C591的CAN协议网关,该网关具备自动位速率检测功能,能够连接使用不同协议的CAN1.2和CAN2.0网络。在CAN总线系统中,不同设备可能采用不同版本的协议,导致通信障碍,因此网关作为桥梁,可以在多个网络间转换数据并确保正确传输。 CAN总线是一种广泛应用的现场总线技术,1991年9月其技术规范从1.2版本升级到2.0版本,增加了扩展帧格式支持。然而,CAN1.2仅支持标准帧,无法处理扩展帧,这可能导致通信错误。为了解决这个问题,CAN协议网关应运而生,它不仅连接物理层,还处理数据链路层和应用层的协议差异。 在设计的网关中,使用了Philips公司的P87C591微控制器,它包含了两个独立的CAN控制器,可以同时处理两个不同速率的CAN网络。硬件结构包含微控制器、CAN控制器、位速率检测电路以及必要的接口电路,如电源管理和信号调理电路。 自动位速率检测是网关的一个关键特性,它允许网关动态适应不同CAN网络的波特率。这一功能的实现通常涉及到对CAN网络初始同步脉冲的捕获和分析,通过测量时间间隔来确定数据位的传输速率。一旦检测到正确的位速率,网关就能正确解码来自不同网络的CAN帧,并将它们转发到另一个网络,反之亦然。 软件实现方面,网关需要具备解析和生成CAN帧的能力,包括标准帧和扩展帧。对于接收的CAN帧,网关需要识别其帧类型,然后根据需要将其转换为另一网络可理解的格式。此外,还需要实现错误处理机制,确保在网络出现异常时,网关能够恢复并继续提供通信服务。 总结来说,这个基于自动位速率检测的CAN协议网关解决了不同版本CAN网络间的兼容性问题,通过智能地检测和转换波特率,确保了跨网络通信的顺畅。这种设计在混合动力电动汽车等需要多种CAN设备协同工作的系统中具有重要的应用价值。