- 博客(26)
- 收藏
- 关注
原创 一篇易懂的E2E通信保护协议介绍
本文试说明两个点:功能安全需要考虑通信失效造成的影响,因此E2E通信保护协议被提出,以满足功能安全要求;简单介绍E2E通信保护协议机制。
2024-09-17 07:45:00 1054
原创 【底盘域控3】线控技术
线控底盘技术是指利用传感器感知驾驶员驾驶意图(方向,油门和制动),并将其通过硬线输送给底盘域控制器,然后底盘域控制器计算或决策出线控驱动、线控转向、线控制动和线控悬挂的控制指令,然后响应的执行控制器根据控制指令来实现汽车的转向、制动、驱动等功能,从而取代传统汽车靠机械或液压来传递操纵信号的控制方式。线控转向系统,即Steer-By-Wire,能够无束缚地得到无人驾驶进行转弯的指令目标输入和汽车转向轮的变化之间的关系,可以控制转向机构和行驶需要之间的关系,这样就能够对车辆进行调节。1 底盘域控制器的概念。
2024-09-14 07:45:00 819
原创 【底盘域控2】制动系统基础
EPB主要由EPB开关,电控单元ECU,卡钳和卡钳电机组成,其工作原理是驾驶员按下EPB开关,电控单元ECU检测到驻车功能激活,就会计算和发出控制指令来驱动执行电机,进而执行电机会使卡钳卡紧刹车片,从而控制停车制动。当然,如果电控机械制动系统EMB方案(即四个液压轮缸被四个电机和卡钳取代,制动指令传输到轮端电机,电机控制卡钳直接在轮端作用制动力)最终能成熟落地,那么将实现完全线控,这时就能正真将行车制动和驻车制动合二为一。车辆行驶时,EPB系统参与紧急制动,结合ESP系统,实现车辆的稳定控制。
2024-09-13 07:45:00 1132
原创 【底盘域控1】制动系统基础
面对日益紧张的能源问题,对于汽车,一方面,需要发动机的燃烧效率不断提升,这时需要采取将更多的空气通入气缸的方法来提升燃烧效率,而这种方法会导致真空度降低,对制动助力产生不利影响。随着汽车的不断发展,汽车变得越来越大,也越来越重,人力机械制动系统不再好使了,同时伴随着科技的不断进步,一些新技术被引入到汽车制动系统,真空助力液压制动系统被设计出来。如下图所示,真空助力制动系统组成包括制动踏板,真空助力器,制动液,制动油管,制动主缸,制动轮缸和车轮制动器(盘式/鼓式制动器)等。
2024-09-12 06:49:11 961
原创 【CAN通讯系列10】负载率怎么计算?
通俗地讲,就好比一条报文就是CAN总线上一辆辆飞驰的汽车,如果发送的报文太快太频繁,可能会出现拥挤,而导致传输阻塞,信息延迟或丢失等问题,因此,在设计一条CAN总线有多少报文,报文多快频率发送时,就用负载率来衡量。在给定时间内,CAN总线所采用的通信参数与总线容量之比,大白话就是CAN总线具备1s传递1000bit数据的能力,而目前设计如果要求1s传递500 bit数据,那么负载率就是50%,如果要求1s传递1000bit数据,那么负载率就是100%。CAN总线正常的发送过程中,帧间隔有3个隐性位。
2024-09-12 06:47:23 1035
原创 【CAN通讯系列9】揭开波特率的神秘面纱
就这么一个小小功能的解析,其实已经包含了从基本原理到软件实现,再到实际应用,后续继续以这种思路,解析更多CAN通讯内容,欢迎持续关注。已经详细介绍了波特率,CAN位时间,同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)和相位缓冲段2(PBS2),采样点等概念。然后,要设置的波特率为500Kbps,换算时间表示则为1/500 Kbps =2000ns。如果CAN位时间为24个tq,那么tq=83.33ns,tq不为整数,也不成立!综上,就可以确定CAN位时间应为8个tq,tq=250ns,取。
2024-08-03 07:00:00 710
原创 【CAN通讯系列8】如何准确接收数据?
在总线空闲状态,接收节点检测出帧起始(SOF位)时,会调整当前位的同步(SS)段,调整宽度不限,这就是硬同步,即接收节点直接将此下降沿的位置认为是SS段,强行将自己的SS段与发送节点的SS段直接拉齐,然后按照位时序对信号进行采样,达到同步的效果。发送节点当前位的SS段诞生2Tq时长之后,接收节点当前位才产生SS段;发送节点在发送SOF位时,SOF位的下降沿在SS段,此时接收节点发现自己当前位的SS段和发送节点SOF位的SS段不同步,于是接收节点强行将自己的SS段拉到与SOF位的SS段同步。
2024-08-02 07:00:00 1276
原创 【CAN通讯系列7】波特率是什么?
同步段的Tq数是固定的1Tq,传播时间段的Tq数设为2Tq,相位缓冲段2的Tq数是根据采样率来计算,定义采样点在相位缓冲段1和相位缓冲段2之间,采样率为前三段的Tq数与四段的总Tq数比值的百分比,如下图,第1个采样率 =(7Tq/10Tq) x 100% = 70%,第2个采样率为60%。2)CAN时钟周期,由系统时钟分频而来的一个时间长度值,即类似于机器周期与晶振时钟周期的关系,按照特定的公式计算:CAN时钟周期 =2 x 晶振时钟周期 x BRP,其中,BRP叫做波特率分频值。首先,获取晶振时钟周期。
2024-08-01 07:00:00 2157
原创 【CAN通讯系列6】 CAN总线定义
1 CAN总线定义继续之前例子,VCU和MCU采用CAN通讯进行信息交互,他俩是以两根双绞线的物理总线形式连接,一根称为CAN_H,另一个根称为CAN_L。在这两根CAN总线上,信号表现为电压形式,通过CAN_H和CAN_L线上的电位差来表示CAN信号。当CAN_H和CAN_L的电压均为2.5v,两者电压差为0v,就规定CAN信号为逻辑0;当CAN_H的电压为3.5v,CAN_L的电压为1.5v,两者电压差为2v,就规定CAN信号为逻辑1。
2024-07-31 07:00:00 1357
原创 【CAN通讯系列5】CAN数据帧及其仲裁
Node_A和Node_B都是标准格式,那么仲裁发生在11位ID范围,即从D10-D0,采用线与机制(逢0变0),逐位进行比较,一旦某位出现不同,如上图的ID7位,则显性位覆盖隐性位,仲裁结束,显性位的对应节点Node_A胜出。如果都一样,则标准格式的节点胜出,因为11位ID后1位,标准格式的RTR位恒为显性,扩展格式的SRR位恒为隐性,显性位的对应节点胜出。数据段的数据有几个字节,取决于控制段的数据长度码DLC的数值,DLC可以取0-15的值,但是它取9-15时没意义,因为已经超过数据段的长度。
2024-07-30 07:00:00 1642
原创 【CAN通讯系列4】CAN通讯如何传递信号?
本着从实际问题出发,信号如何从一个控制器传递到另一个控制器,本文展现了这么一个自然的思考过程,我想应该对本文的例子(VCU如何通过CAN通讯发送给MCU信号)有了一个初步的认识,当然,其中也引入CAN数据帧定义的相关内容,我想通过理论与实际相结合的方式,更有助于理解CAN标准或协议这些相对抽象的内容,甚至会发现这些标准或协议是如何精妙。显然,还需要额外的数据段来装剩下的信号,一个数据段不够,那就再用一个数据段,直到够用为止。比如目标转速请求信号通常占用16位,那就意味着数据段最多能放4个这样的信号。
2024-07-29 07:00:00 955
原创 一篇易懂的E2E通信保护协议介绍
在发送端,E2E 会根据发送端的状态机,首先计算Sequence C0unter并写入数据Buffer,然后根据被保护的数据、静态配置好的数据ID列表以及Sequence counter,计算CRC校验和,并写入发送 Buffer。软件故障:像通信栈模块,RTE等软件可能存在故障,而这些故障是系统性的,可能发生在系统生命周期的规范,设计,制造,运行和维护的任一阶段,并且在情况(例如根本原因的触发条件)相同时,它们总会出现,其后果可能导致通信失败,比如发送数据中断,接收器溢出等故障。
2024-07-20 07:00:00 1728
原创 【CAN通讯系列3】如何学习CAN通讯?
那么,在软件中具体如何实现CAN通讯,包括两方面数据流和控制流,即一方面是数据是以怎样的形式在软件模块中传递,另一方面是CAN通讯相关的模块中,不同模块或同一模块的函数是怎样的调用关系。因此,不管你从事的具体是什么岗位,都可以去了解CAN通讯,总之自己的目标得定位好,比如你做系统集成的,别想着干底层软件的CAN通讯开发。对于汽车行业从业者,如何学习CAN通讯,最重要的是取决于你的岗位职责。,可能是不同的传输速率,CAN网络需要通过网关才能通讯,就如上图的动力网的安全带控制器与车身网的车门控制器通讯。
2024-07-18 07:00:00 2028
原创 【CAN通讯系列2】与CAN通讯的故事
后面又接触了应用层软件中的CAN通讯模块,这时能模块中有做信号转换的逻辑,有做ID , checksum, rolling counter等信息检查的逻辑,有做信号有效性校验的逻辑,另外,也需要去CAN通讯模块的测试,比如使用CANalyzer或CANape发送一条报文,看软件是否按照预期的逻辑执行。最初接触CAN通讯,那时刚工作,在主机厂的研发部门,经常需要去车上采集和分析数据。这时,仍需要选定CAN的波特率,同时需要配置这个报文的发送ID和接收ID,还要选择A2L文件,然后再去选定测量信号和标定量。
2024-07-17 07:00:00 1037
原创 【CAN通讯系列1】需求解析(下)
上文介绍完了CAN通讯在系统层面的基本需求,最后再从利益相关者视角来回顾一下,如果你是客户,你会提哪些需求?首先,基于车载网络架构可知有几路CAN,与我的控制器产生信息交互的又有几路CAN,诊断和标定是否需要单独的1路CAN,这时我就可以确定该向供应商提需要几路CAN,是否需要配置终端电阻。然后,对于每路CAN的功能或性能要求是什么?需要支持哪些CAN类型,哪些CAN帧类型,哪些CAN帧格式,每条CAN的传输速率是多少,是否需要具备CAN唤醒功能,如果需要对唤醒方式是否有要求。
2024-07-15 07:00:00 1078
原创 【CAN通讯系列1】需求解析(上)
现代汽车有非常多的控制器(ECU,Electronic Control Unit), 这些控制器可以实现各种各样的功能。有些功能只需要一个控制器就可以实现,而更多功能是需要多个控制器联合控制才能实现,这就意味着这些控制器之间需要进行信息交互,比如电机控制功能,电机控制器(MCU,Motor Control Unit)一方面需要获取整车控制器(VCU,Vehicle Control Unit)的目标电机扭矩或目标电机转速等信息,另一方面MCU需要反馈实际电机扭矩或实际电机转速等信息给VCU。
2024-07-14 09:54:23 981
原创 【汽车故障诊断7】一文了解愈合与老化、驾驶循环和点灯
本系列前6篇文章中介绍了DTC和故障诊断系统的部分内容,本文将再补充一些故障诊断相关的概念信息,包括愈合与老化,驾驶循环和点灯,以此将能够基本读懂故障诊断列表的需求。
2024-07-11 07:30:48 1618
原创 【汽车故障诊断6】一文了解Debounce算法
为什么需要Debounce故障诊断中使用debounce(去抖动)的原因是为了解决信号抖动问题。信号抖动是指在电路中接收到一个短暂的不稳定信号,可能是由于电源噪声、开关的物理特性或其他干扰因素引起的。当进行故障诊断时,通常需要监测输入信号的状态,并根据信号状态进行相应的判断和操作。如果信号存在抖动,可能会导致误判,从而产生错误的诊断结果。为了解决这个问题,就引入了debounce算法。
2024-07-09 20:03:09 1029
原创 【汽车故障诊断5】ECU如何进行故障诊断
ECU怎么进行故障诊断?汽车上任何零件或任何零件间都有可能出现故障,即使故障的概率极低,但也没法完全保证无故障。我们只能尽可能去识别潜在的故障,最大限度去避免人员伤害。
2024-07-08 19:53:03 945
原创 【汽车故障诊断4】一文了解故障诊断码DTC验证程度、快照和扩展数据
1 什么是DTC严重程度DTC严重程度占用1个字节数据,包含两部分信息,DTC严重程度信息(3位)和DTC类别信息(5位),如下所示:DTC严重程度信息是指一个特定的诊断故障代码的影响程度或严重性。它表明故障的严重性,并帮助确定诊断和处理问题的必要行动的优先次序。严重程度通常对已确定的故障的潜在后果和影响进行分类,ISO14229-1中将其分为三类,如下:仅维修(maintenanceOnly):当诊断代码或警告表明一个非紧急问题或一个需要注意的常规维护任务,但不需要立即采取行动时。
2024-07-07 10:20:55 1280
原创 【汽车故障诊断3】一文了解诊断故障码DTC状态位
1 什么是DTC状态位但并不是每一位不一定都要使用,具体取决于各OEM的需求,在ISO14229-1中,除了bit3: ConfirmedDTC是强制约束外,其他都没有强制约束。首先了解几个概念:测试(test),操作循环(operation cycle)和老化(aging)测试,是指在一个操作循环内,在线诊断软件算法去判断一个组件或系统的故障状态的过程,在一个操作循环,有可能只跑一次测试,也有可能周期性循环地跑测试。操作循环。
2024-07-06 11:36:25 1278
原创 【汽车故障诊断1】汽车上都有哪些类型的故障?
具体介绍汽车ECU的故障诊断,包括:有哪些故障?ECU怎么进行故障诊断?如何进行故障处理?又是如何进行故障修复?本文将回答第一个问题:有哪些故障?
2024-07-03 21:04:32 1049
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人