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

    文章

    2968

    浏览量

    104776
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459246
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87216

原文标题:总结

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    汽车ECU以及外围线路

    汽车ECU以及外围线路 有没有做过汽车ECU的,公司现在想要外面公司给我们做个控制器。需要提出技术协议,我能想到的有2方面:1:个环境要求(最好能不能介绍个标准)。其中包括ECU单元和外围线路。2:性能要求,这个需要我自己来提。
    发表于 05-16 17:04

    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之间的数据交换

    在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使用的一种车载诊断协议标准是KWP2000 (Keyword
    发表于 08-20 06:20

    汽车中的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

    ECU/MCU软件开发

    汽车电子技术——ECU/MCU软件开发1. ECU/MCU软件开发知识储备1.1 ECU/MCU相关基础知识1.2 C语言编程知识1.3 外围电路2 MCU开发板实践学习2.1 STM32F103
    发表于 09-10 08:13

    ECU是怎么启动或关闭的呢?ECU启动方式有没有一般规律呢

    前言当你看到ECU从启动状态至正常运行状态,再从正常运行状态至休眠或关闭的过程时,你是否曾想过以下一些问题呢?ECU是怎么启动或关闭的呢?ECU启动方式有没有一般规律呢?按照AUTOSAR标准
    发表于 02-10 06:07

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

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

    INCA Prof文件刷新,校准更改不会反映在用于刷新ECU数据中是怎么回事?

    刷写)总是将 ECU 上的代码和校准数据返回到原始版本。换句话说,我在 INCA 中对校准变量所做的任何更改在闪烁时都会被“忘记”,并且 ECU(以及工作页面和参考页面校验和)会返回到其原始状态。从
    发表于 05-05 12:55

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

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