<acronym id="56cqn"></acronym>
<var id="56cqn"></var>
<big id="56cqn"></big>
    <blockquote id="56cqn"><ruby id="56cqn"></ruby></blockquote>
    <meter id="56cqn"></meter>

  1. <progress id="56cqn"><span id="56cqn"></span></progress>

    新闻中心

    EEPW首页 > 测试测量 > 设计应用 > 【CAN基础】电平、逻辑、报文是怎么来的

    【CAN基础】电平、逻辑、报文是怎么来的

    作者:时间:2019-04-28来源:电子产品世界收藏

    CAN总线通讯是我们每天都会使用的工业通讯总线,工程师更多的是关注报文是否能够正常接收,解析结果是否正确。却忽略了CAN总线的报文是怎么产生以及收发的,所以遇到通讯异常的问题时就会无从下手。那么这篇文章将会带您快速了解报文的传输

    本文引用地址:http://www.bftj.tw/article/201904/399979.htm

    一、节点通讯的

    1556418429586836.jpg

    图1  CAN节点示意图

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

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

    二、电平是如何转换成逻辑?

    1.png

    图2  CAN-bus信号电平

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

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

    1556418465425160.png

    图3  ISO11898高速CAN电平

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

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

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

    1556418494363934.png

    图 4  标准帧格式

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

    1556418512485450.png

    图5  报文解析实例

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

    四、上位机报文显示

    1556418529485329.png

    图 6  上位机报文显示

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

    总结:

    对于CAN总线报文错误来说,百分之九十的错误都来自于物理层,而CANScope总线分析?#24378;?#20197;对CAN 波形与报文同步发送和接收,快速对CAN总线进行各项测试,帮助工程师们快速完成?#25910;?#23450;位和问题排查。



    关键词: CAN基础 原理

    评论


    相关推荐

    技术专区

    关闭
    49选7开奖历史记录