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

    文章

    360

    浏览量

    39895
  • 总线
    +关注

    关注

    10

    文章

    2879

    浏览量

    88066
收藏 人收藏

    评论

    相关推荐

    如何通过CAN报文TC375传输数据?

    TX 报文 */ IfxCan_Can_initMessage( g_mcmcan.txMsg); // @suppress(\"字段无法解析\") /* 定义要传输的数据内容
    发表于 05-28 08:30

    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

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

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

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

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

    tcp报文格式详解

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

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

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

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

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

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

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

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

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

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

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

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

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

    什么是北斗短报文功能?如何实现北斗短报文通信?

    报文功能是指北斗卫星导航系统特有的双向报文通信功能。这种功能允许用户通过北斗卫星进行短报文通信,实现双向的数据传输。当用户身处没有移动通信信号覆盖的区域时,通过北
    的头像 发表于 05-25 10:16 4483次阅读
    什么是北斗短<b class='flag-5'>报文</b>功能?如何实现北斗短<b class='flag-5'>报文</b>通信?