0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

报文的传输原理你了解吗

电子工程师 来源:工程师曾玲 2019-04-25 14:50 次阅读

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

一、节点通讯的原理

报文的传输原理你了解吗

图1CAN节点示意图

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

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

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

报文的传输原理你了解吗

图2CAN-bus信号电平

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

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

报文的传输原理你了解吗

图3ISO11898高速CAN电平

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

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

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

报文的传输原理你了解吗

图 4标准帧格式

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

报文的传输原理你了解吗

图5报文解析实例

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

四、上位机报文显示

报文的传输原理你了解吗

图 6上位机报文显示

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

总结:

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电平
    +关注

    关注

    5

    文章

    338

    浏览量

    39564
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87215
收藏 人收藏

    评论

    相关推荐

    CANopen SDO通讯 客户端总是回复中断传输报文

    使用电脑和驱动器进行信号传输,驱动器处于预操作状态电脑发送SDO请求报文,但是驱动器的回复报文数据位总是00 00 02 06,我查了下这是SDO的abort transfer,表示对象字典中的对象不存在;换了其他的索引,不管是
    发表于 11-14 16:58

    计算机的工作原理你知道哪些

    计算机的工作原理你需要有一定的电学知识,然后就可以去看模拟电路和数字电路相关的书籍了,了解完这两个东西后你就能基本明白计算机是怎么运作起来的了。这里只做简单回答。简单回答的意思是说,这个回答旨在让
    发表于 09-06 08:45

    CAN报文定义

    协议中CAN报文种类报文传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。3. CAN报文的组成通常接收到的CAN报文由很多部分(图1)组成,解析
    发表于 09-14 09:23

    红外遥控的收发原理你都知道吗

    红外遥控的收发原理你都知道吗?红外收发解码有哪些差异?
    发表于 01-24 06:37

    CAN总线报文记录产品简介

    到车辆的运行情况,做出及时的措施。广州致远电子股份有限公司继研发成功 CANREC—— 8 通道 CAN 总线报文波形记录分析仪之后。又推出了一系列带无线数据传输的 CAN 总线记录仪,不但可以离线 CAN 记录仪进行报文记录,
    发表于 10-17 07:33

    报文交换,报文交换是什么意思

    报文交换,报文交换是什么意思 报文交换(Message Switching )又称为存储转发交换,与电路交换的原理不同,不需要提供通信双方的物理连接,而是将
    发表于 03-18 15:31 6502次阅读

    分布式C4ISR系统通信报文传输标准仿真验证系统设计

    通过对分布式C4ISR系统通信报文传输标准仿真验证系统的功能、组成、仿真模型与仿真系统流程的研究,提出了分布式C4ISR系统通信报文传输标准仿真验证系统的设计方案。系统可用于对新提出的C4ISR系统通信报文传输标准进行正确性验证
    发表于 01-04 09:39 7次下载

    tcp报文格式详解

    TCP(Transmission ControProtocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。TCP报文是TCP层传输的数据单元,也称为
    发表于 12-08 11:11 3.2w次阅读
    tcp<b class='flag-5'>报文</b>格式详解

    CAN总线协议教程|CAN报文分析

    CAN协议教程 介绍:CAN总线 CAN总线是广播类型的总线。这意味着所有节点都可以侦听到所有传输报文。无法将报文单独发送给指定节点;所有节点都将始终捕获所有报文。但是,CAN硬件能
    发表于 04-03 15:32 1.4w次阅读

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

    CAN总线的报文是怎么产生以及收发的,遇到通讯异常的问题时从什么角度分析?这篇文章将会带您快速了解报文传输原理。
    的头像 发表于 12-26 02:46 1496次阅读

    CAN总线解决报文传输数据不够用的三种方式

    每个CAN报文只有8字节,当节点需要发送较大的数据报文时很容易受限,所以要传输大于8字节数据时,就要进行分包传输
    发表于 10-25 11:18 3089次阅读

    区域短报文和全球短报文服务的区别在哪里

    北斗系统是全球首个提供区域短报文通信服务和全球短报文服务的卫星导航系统,目前在边防、水利、林业、电力、海上通信等各个行业应用。支持北斗短报文通信服务的产品例如北斗短报文手持终端,北斗短
    的头像 发表于 11-24 16:38 3234次阅读

    基于以太网的网络管理报文

    公共模块,完成数据链路层以及传输层的报文接收与发送任务。 3)Doip模块基于以太网的通讯协议对UDS数据进行传输,主要实现的基于ISO13400中规定的协议功能。在Doip模块收到Soad模块的诊断
    的头像 发表于 10-04 17:26 557次阅读
    基于以太网的网络管理<b class='flag-5'>报文</b>

    CAN报文为什么会发送失败?

    CAN总线调试过程中出现报文发送失败。很多工程师都对此只知其一不知其二,今天我们就以CAN报文发送失败的问题来做一次探讨。在了解CAN报文为什么会发送失败之前我们先看看一帧标准的CAN
    的头像 发表于 04-12 08:25 187次阅读
    CAN<b class='flag-5'>报文</b>为什么会发送失败?

    一帧CANFD报文由多少个位组成?

    要想知道CANFD报文由多少个位组成,那么我们就要了解CANFD帧结构,知道每个段占用位数从而得出CANFD报文位数。
    的头像 发表于 04-27 06:08 377次阅读
    一帧CANFD<b class='flag-5'>报文</b>由多少个位组成?