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

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

3天内不再提示

ECU如何传输数据?

Linux爱好者 来源:Linux爱好者 2023-10-20 16:52 次阅读

前言

前面已经介绍了几种总线协议,那现在如果在汽车上实际应用一种总线协议来通讯的话,你会选择哪一种呢?

答案是 都不行

因为在汽车中许多系统都需要实时控制,而且数据必须可靠,即使面对面对恶劣环境也要正常运行

如何解决这个问题呢?就要看CAN总线了

ECU如何传输数据?

现在将车上的每个设备用一条总线连接起来

58db6dc8-6f13-11ee-939d-92fbcf53809c.jpg

要想CAN通讯,就必须要专门的CAN收发器,经过CAN收发器,普通信号就会转化成差分信号(差分信号由两根线表示)

58e5c9d0-6f13-11ee-939d-92fbcf53809c.jpg

如果输入0,CAN收发器的两根线分别输出3.5V和1.5V(压差为2V)

如果输入1,CAN收发器的两根线都输出2.5V(压差为0V)

58fa9d74-6f13-11ee-939d-92fbcf53809c.jpg

为什么要这样表示数据?

想象一下,如果这条线是0V,受到了干扰,电压就会波动

5918ef90-6f13-11ee-939d-92fbcf53809c.jpg

592efb28-6f13-11ee-939d-92fbcf53809c.jpg

如果是两条线缠绕在一起,用差分信号来表示数据的话,即使受到了干扰,也是两条线一起受到干扰,依旧存在压差

CAN数据格式

这是一帧完整的数据

最开始是起始位(始终为0)

然后是11位的识别码

595dd894-6f13-11ee-939d-92fbcf53809c.jpg

每一个设备都有唯一的11位识别码

596e05ca-6f13-11ee-939d-92fbcf53809c.jpg

紧接着是RTR位用来区分数据帧(0)或远程请求帧(1)

597fff6e-6f13-11ee-939d-92fbcf53809c.jpg

接下来是6位控制码

598f9bcc-6f13-11ee-939d-92fbcf53809c.jpg

其中第一位的IDE位是用来区分是标准帧还是拓展帧(标准帧有11位的识别码,IDE位为0;而拓展码有29位的识别码,IDE位为1)

59a203e8-6f13-11ee-939d-92fbcf53809c.jpg

下面是预留位,它是逻辑0

59ac569a-6f13-11ee-939d-92fbcf53809c.jpg

剩下的4位为DLC位,表示数据长度

59c2a418-6f13-11ee-939d-92fbcf53809c.jpg

每一个数值对应每一个字节(比如如图数值为8,对应数据长度为8个字节)

59dd694c-6f13-11ee-939d-92fbcf53809c.jpg

接下来是16位的CRC循环冗余校验位,它是为了确保收到的数据的准确性

首先是15位CRC校验位,如果和接收到的CRC校验位不一致,就会重新再重发一次

59e7fbdc-6f13-11ee-939d-92fbcf53809c.jpg

最后是CRC界定位,目的是为了与后面的数据区分开来

59f8db96-6f13-11ee-939d-92fbcf53809c.jpg

然后是2位ACK码

第一位是ACK确认槽(发送端是1,接收端就是0)用来表示应答

第2位是ACK界定位(始终为1),目的也是为了和后面的数据区分开来,

5a0015a0-6f13-11ee-939d-92fbcf53809c.jpg

最后是7位结束位(时钟为1)

如果用用差分信号表示,电平是这样的,如图所示

5a1a8f84-6f13-11ee-939d-92fbcf53809c.jpg

如果此时总线上同时有2个设备发出控制信号,究竟优先执行哪一个设备的信号呢?

5a27bf2e-6f13-11ee-939d-92fbcf53809c.jpg

这就得看11位的识别码了,它不仅指定了哪个设备,还表示了优先级

5a41a8f8-6f13-11ee-939d-92fbcf53809c.jpg

当总线同时为1或0,总线会被置为0(即优先执行电平0)

总结

了解完了CAN总线,或许会有一个疑惑点?

CAN总线和RS485是不是有点相似,对吧?

虽然的确有些相似之处,但CAN总线是专门用于汽车领域的,就比如数据可靠性,CAN总线检测到数据不一致,就会重新发送,而485就发一次,不管是不是正确的数据

相对485不止一个优点,碍于文字,就不过多叙述了

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

    关注

    10

    文章

    3390

    浏览量

    105846
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2714

    浏览量

    463328
  • 总线
    +关注

    关注

    10

    文章

    2864

    浏览量

    87972

原文标题:总结

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    BOB,测试盒,HIL设备接线测试,ECU,负载测试

    ecu
    爱动手的土匪哥
    发布于 :2023年04月26日 15:05:35

    基于鲁班猫的ECU升级和测试工具,可用于工厂生产

    ecu
    今生
    发布于 :2023年05月14日 14:42:19

    CANoe:网络和ECU开发、测试和分析的专业工具

    可以运用类C的CAPL编程语言编程实现仿真、分析和测试 可以创建用户自定义界面来控制仿真和测试过程或显示分析数据特殊功能:附加模块可以适应OEM的具体要求和协议(传输协议,网络管理,交互层,等)诊断
    发表于 10-09 17:42

    ECU的静态电流

    谁能帮忙解释下ECU的静态电流是指ECU处在什么状态时候的耗电量?是指在上电状态,但是输入输出还没工作时的耗电量吗?比如发动机ECU,钥匙打在Key on还没启动的时候的状态?这和芯片处于休眠模式(Standby模式)的耗电量有
    发表于 06-27 09:37

    ECU的原理是什么?

    ECU( electronic control unit )即电子控制单元,泛指汽车上所有电子控制系统。随着汽车电子自动化程度的越来越高,汽车零部件中也出现了越来越多的ECU参与其中,线路之间复杂程度也急剧增加。为了使电路简单化,精细化,小型化,汽车电子中引进了CAN总线
    发表于 10-16 09:12

    车载ECU的Bootloader实现方法概述

    车载ECU的Bootloader实现方法概述Flash Bootloader软件架构CAN驱动(CAN Driver)Flash驱动(Flash Driver)传输层(Transport
    发表于 07-23 06:33

    汽车中的ECU, VCU, MCU, HCU分别是什么

    效率和功率、扭力等。3.发动机工作在各种转速、档位、负荷、温度等条件时‘所对应’的进气量,喷油量,点火时间等信息,以数据库方式记录在ECU中,这个数据库称为“M.A.P.”。4.刷ECU
    发表于 08-27 07:06

    汽车ECU分类

    汽车ECU分类现如今ECU已经成为汽车上最为常见的部件之一,依据功能的不同可以分为不同的类型。最常见的有如下几种ECU:EMS(Engine Mangement System)发动机管理系统,应用在
    发表于 08-31 07:09

    CSEc MASTER ECU KEY更新错误的原因?

    我在 S32K144 MCU 上使用 CSEc 外围设备,在配置 MASTER ECU KEY 时偶尔会出现错误(90% 的时间工作正常):第一次配置 MASTER_ECU_KEY 时,CSEC
    发表于 03-27 08:53

    汽车ECU是什么?ECU是如何工作的

    如果把发动机比喻成汽车的“心脏”,那么汽车的“大脑”就应该是ECU了。何为ECUECU是如何工作的?本文详细解析。
    发表于 06-14 09:31 1.2w次阅读

    ECU刷写流程之压缩刷写技术解析

    在现代汽车电子技术中,ECU(电子控制单元)的软件升级是一项关键任务。为了提高数据传输的效率和安全性,压缩刷写技术应运而生。通过数据压缩传输,我们可以有效地增加带宽利用率,减少刷写工具
    的头像 发表于 05-16 08:24 582次阅读
    <b class='flag-5'>ECU</b>刷写流程之压缩刷写技术解析

    ECU故障诊断工具 如何选择合适的ECU

    在现代汽车维修领域,电子控制单元(ECU)扮演着核心角色,负责管理车辆的多种功能。 1. 了解ECU故障诊断工具的基本功能 ECU故障诊断工具的基本功能包括读取故障码(DTCs)、清除故障码、实时
    的头像 发表于 11-05 10:23 175次阅读

    ECU和OBD的区别

    来自各种传感器的数据来监控和调整发动机的性能、燃油喷射、点火时机等。ECU的主要目的是优化发动机效率,减少排放,并提高驾驶性能。 工作原理: ECU通过复杂的算法处理传感器输入的数据
    的头像 发表于 11-05 10:31 504次阅读

    理解ECU数据流的分析方法

    随着汽车电子化程度的提高,ECU在车辆中扮演的角色越来越重要。它们不仅控制着发动机管理、变速箱、制动系统等关键功能,还涉及到车辆的舒适性和安全性。 ECU数据流分析的重要性 故障诊断 :通过
    的头像 发表于 11-05 11:07 279次阅读

    解析CAN总线

    正常运行 如何解决这个问题呢?就要看CAN总线了   ECU 如何传输数据? 现在将车上的每个设备用一条总线连接起来 要想CAN通讯,就必须要专门的CAN收发器,经过CAN收发器,普通信号就会转化成差分信号(差分信号由两根线表示
    的头像 发表于 11-19 13:35 178次阅读
    解析CAN总线