打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CAN总线通信原理分析

    对于CAN控制器的实现,可以选用集成于系统主控芯片的CAN控制器实现,如恩智浦公司出品的LPC2000系列的微控制器,或者也可以选用分立元件的CAN控制器,如SJA1000。对于CAN收发器的实现,可以选用CTM1050、TJA1050等。若环境干扰噪声较大,则需在控制器和收发器之间添加隔离芯片或采用集成了隔离功能的CAN收发器。值得一提的是,恩智浦公司新推出的LPC11C24微控制器芯片中不仅集成了CAN控制器,同时集成了CAN收发器功能,对于CAN总线系统的快速开发提供了良好的支持。另外,根据实际应用的总线长度及总线上的节点数目,还需考虑收发器芯片的发送和接收的延迟时间。
    对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层根据总线上各节点之间的数据收发关系进行数据包的ID分组、发送数据装包、接收数据处理及应用层总线安全监测等。另外,常用的CAN总线上层协议主要有CANOpen、DeviceNet以及iCAN等。

2 CAN总线同步机制分析
    在进行通信过程中,需要解决的最重要的问题之一就是如何实现收发端数据的同步,即接收端可以正确接收和解析发送端发送的数据。CAN总线协议是一种异步串行通信协议,属于基带通信,其同步的实现源于高级数据链路控制协议(HDLC)。具体来说,CAN总线协议的同步是通过如下所述的3个方面来实现的。
2.1 参数设定
    通信双方通过软件设置相同的波特率、相同的相位调整段长度、相同的同步跳转宽度,通过以上3个元素设置,定义了CAN总线传输过程中的位时间长度以及采样点位置,位结构如图2所示,图中的CAN时钟即是协议中定义的TQ时间,该时钟是通过外部时钟或者CPU外设时钟分频后得到的CAN控制器的基本时钟信号,SS段对应于起始段,总线上的跳变沿应发生在此段时间内,TESG1对应于传输段和相位调整段1,TESG2对应于相位调整段2,对于高速总线,控制器在TESG1和TESG2之间对总线进行采样判别。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
can总线与485总线有什么区别?
串行通信在工业和汽车控制器中的应用
干货分享:RS485通信和Modbus通信协议汇总
基于LIN总线的汽车方向盘按键控制器的设计与实现
如何识别陌生CAN网络的协议?
RS485与Modbus通信协议教程!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服