侵权投诉
订阅
纠错
加入自媒体

电平、逻辑、报文是怎么来的

2019-04-23 14:33
ZLG致远电子
关注

CAN总线的报文是怎么产生以及收发的,遇到通讯异常的问题时从什么角度分析?这篇文章将会带您快速了解报文的传输原理。

1节点通讯的原理

图1 CAN节点示意图

如图1所示是一个CAN节点的示意图,整体包括了CAN收发器、CAN控制器和MCU。我们以节点发送报文为例,当我们使用上位机软件发送一段报文时,报文会通过MCU发送给CAN控制器。CAN控制器将这段报文解析成逻辑信号后,再发送给CAN收发器。CAN收发器根据CAN-bus标准将接收到的逻辑信号转换成电信号,再通过CAN_H和CAN_L两根总线将电信号传到总线上的其他节点上。

简单说就是MCU将报文发送给控制器,控制器将报文转换成符合规范的CAN报文后,通过CAN收发器以电信号的形式在总线上进行传输。

2电平是如何转换成逻辑?

图2 CAN-bus信号电平

如图2所示,CAN总线使用的是双线差分信号,所以分为CAN_H和CAN_L两根总线,根据两根总线之间电压的差值大小来判断其显隐性。而线缆上传输的电平信号只有两种可能,分别为显性电平和隐性电平,其中显性电平代表逻辑0,隐性电平代表逻辑1。

当接受到报文时,首先就要通过CAN收发器将电信号转换成逻辑信号。根据图3所示的ISO11898高速CAN电平标准进行判断,但是线路上经常会受到各种干扰,为了保证传输的稳定性。所以差分电平小于0.5V就是隐性电平代表逻辑1,差分电平大于0.9V就是显性电平代表逻辑0。

图3 ISO11898高速CAN电平

3逻辑信号如何转换成报文?

CAN控制器是CAN-bus设备的核心元件,集成了CAN规范中数据链路层的全部功能,能够自动完成CAN-bus协议的解析。

当CAN收发器将逻辑信号传送给CAN控制器后,CAN控制器会将逻辑信号转换成符合CAN规范的CAN帧。而CAN帧的类型包括了数据帧、远程帧、帧间空间、错误帧和超载帧。

图4 标准帧格式

以最常见的数据帧为例,图4就是标准帧的格式,包括了帧起始、仲裁场、控制场、数据场等。

图5 报文解析实例

图5就是报文解析的实例,当接受到对应的逻辑信号后,CAN控制器就会根据规定的CAN帧格式进行解析,并将报文发给MCU。

4上位机报文显示

图6 上位机报文显示

如图6所示,当CAN控制器完成了CAN-bus协议的解析后,就会将报文传输到MCU中在上位机软件中进行显示。像帧起始、CRC场、ACK场这样的数据不读取,所以我们上位机软件只显示数据帧类型、帧ID和帧数据等信息。

5总结

对于CAN总线报文错误来说,百分之90的错误都来自于物理层,而CANScope总线分析仪可以对CAN 波形与报文同步发送和接收,快速对CAN总线进行各项测试,帮助工程师们快速完成故障定位和问题排查。

声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    电子工程 猎头职位 更多
    扫码关注公众号
    OFweek电子工程网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号