钢琴上的汽车软件
汽车电子软件开发高级工程师,负责过多个主机厂和零部件厂的项目开发,在自动驾驶、车联网领域有近7年的经验,目前专注于AUTOSAR系统开发和应用
展开
-
Classic AUTOSAR精讲专栏目录
欢迎大家来到钢琴上的汽车软件创建的《Classic AUTOSAR精讲系列专栏》,期待在这里能够与大家一起进步,分享成功,分享喜悦!下面蓝色的文章标题都是传送门,点击直接跳转到对应文章。原创 2023-03-04 15:10:31 · 1413 阅读 · 1 评论 -
AUTOSAR OS的启停
目标硬件必须在OS启动之前被初始化OS在StartOS()调用之前不会运行tdown Hook在执行ShutdownOS() API调用期间被调用。原创 2024-05-17 09:05:43 · 18 阅读 · 0 评论 -
CANFD帧能否唤醒CAN网络
本文的撰写起因是源于AUTOSAR技术群中一位朋友的提问。他提出的问题是关于AUTOSAR网络管理功能是否支持CAN FD报文的实现。朋友:Autosar网络管理功能有用CANFD报文实现的吗?我:有啊,Autosar网络管理不限制报文类型是标准CAN还是CANFD朋友:数据收发还是8字节的方式,只是报文类型可以是CANFD?我:对,另外报文长度其实也没啥限制,只要符合规范要求。原创 2024-04-23 13:32:39 · 230 阅读 · 0 评论 -
AUTOSAR OS Alarm讲解
使用中断ISR可以构建以不同速率激活任务的系统。然而,对于复杂的系统,这种方式效率不高且不切实际。alarm(警报)提供了一种更方便、更灵活的调度系统的方式。一个计数器一个或多个与计数器关联的alarmalarm指定当达到特定的计数器值时要执行的动作。系统中的每个计数器都可以附加任意数量的alarm。当计数器的值等于附加在该计数器上的警报值时,称该警报已经过期。在到期时,OS将执行与警报相关的操作。动作可以是激活一个任务,执行一个警报回调例程,设置一个事件或驱动一个软件计数器。原创 2024-04-22 14:12:10 · 302 阅读 · 0 评论 -
AUTOSAR OS Event讲解
在AUTOSAR系统中,event(事件)用于向任务发送信号信息。事件可以为Extended task提供多个同步点,如下图:extended task可以等待事件,这将导致任务进入等待状态。当系统中的任务或ISR设置事件时,等待任务将进入就绪状态。当它成为最高优先级的就绪任务时,OS将选择它来运行。事件由与其关联的extended task拥有。通常,extended task将作为一个无限循环运行,其中包含对其拥有的事件的一系列受保护的等待调用。因此,事件机制允许我们构建事件驱动的状态机。原创 2024-04-18 09:13:26 · 276 阅读 · 0 评论 -
AUTOSAR Resource讲解
访问由任务和中断共享的硬件或者数据是不可靠的且危险的。这是因为当低优先级的任务或者中断更新共享数据时可能产生抢占,即这是一种竞争条件。访问共享数据的语句序列成为临界区。为了提供对临界区中引用的代码和数据的安全访问,我们需要强制互斥。即必须确保在临界段期间,系统中没有其他任务或者2类中断能够抢占当前正在执行的任务。AUTOSAR操作系统提供了基于资源(Resource)的互斥机制。Resource只是一个二进制信号量。当一个任务或2类中断获得资源时,其他任务或者中断无法获得该资源。原创 2024-04-17 13:11:43 · 61 阅读 · 0 评论 -
AUTOSAR Interrupt讲解
在SuspendOSInterrupts()之后,除了SuspendAllInterrupts()/ResumeAllInterrupts()对和SuspendOSInterrupts()/ResumeOSInterrupts()对之外的API调用不被允许。在SuspendAllInterrupts()之后,不允许调用SuspendAllInterrupts()/ResumeAllInterrupts()和SuspendOSInterrupts()/ResumeOSInterrupts()之外的API。原创 2024-04-15 14:12:08 · 171 阅读 · 0 评论 -
AUTOSAR Task快速熟悉手册
必须同时执行许多不同活动的系统称为并发系统。这些活动可能有一些软件部分,因此提供它们的程序必须并发执行。这些程序必须在必要时进行合作,例如,当它们需要共享数据时。实时系统中的每个并发活动都由一个表示。大多数应用程序代码存在于任务中。如果您有许多必须同时执行的任务,则需要提供一种允许并发的方法。一种方法是为每个任务设置一个单独的处理器。您可以使用并行计算机,但是这种解决方案对于许多应用程序来说过于昂贵。原创 2024-04-12 09:19:44 · 309 阅读 · 0 评论 -
AUTOSAR OS详细介绍及配置说明(更新版20240115)
AUTOSAR OS扩展了OSEK/VDX标准中的操作系统,所以本文结合OSEK/VDX的标准来介绍AUTOSAR OS,并借助Vector Configurator讲解AUTOSAR OS的配置。源于德语,英文意思是:“车载电子设备的开发系统和接口”,它是一个标准,用来产生嵌入式操作系统的规范,通讯协议栈,和汽车网络管理协议,也产生其他相关的规范。OSEK被设计来提供整车的各种电子控制单元的软件标准架构。原创 2024-01-16 08:49:40 · 322 阅读 · 1 评论 -
硬件安全HSM介绍
随着汽车智能化和网联化的发展,汽车软件面临着更加严重的安全风险问题,为了应对一系列软件安全问题,就离不开硬件安全模块这个扮演着安全之锚的角色。HSM是硬件安全模块的英语缩写,全称是Hardware Security Module。HSM可以用于车辆安全信息(比如密钥)的生成、存储以及处理,且能够隔离外部恶意软件的攻击。HSM可以用于构建、验证可靠的软件,以保护在软件加载并初次访问之前的安全启动。HSM包含有加密/解密硬件加速功能,和软件解决方案相比能够有效降低CPU负载。原创 2023-12-07 09:18:33 · 1077 阅读 · 0 评论 -
AUTOSAR CAN Busoff处理
CAN通信Busoff即总线关闭态,一个CAN节点有三种状态,主动错误状态、被动错误状态以及总线关闭态。如下图可知进入Busoff的原因是因为发错错误大于255,在此状态节点不能收发报文。原创 2023-11-10 14:38:35 · 930 阅读 · 0 评论 -
AUTOSAR EcuM,ComM,CanNm的关联
然后当ComM进入Full Communication后也会默认往Ready Sleep状态里面去跑,除非持续收到外部的唤醒,否则不会去保持Network的唤醒状态。在Slient状态下没有收到NM Message,并且这时收到了NM Bus-Sleep的指示,则让CanSM去关闭通道,然后进入No Communication的状态。进入Full Communication后由于是内部唤醒,会首先进入Network Requested,执行正常的报文收发,能一直主动去保持Network的唤醒状态。原创 2023-11-03 16:39:00 · 647 阅读 · 0 评论 -
AUTOSAR CAN协议栈架构总览介绍
在知道了Classic AUTOSAR层级架构后,我们就可以根据该架构列出CAN协议栈的层级关系,如下图服务层涉及的模块有:Can NM,DCM,COM,PDUR,Can TPECU抽象层涉及的模块有:Can Interface微控制器层涉及的模块有:Can Driver注:图片来源于网络,如有侵权,联系删除。原创 2023-10-31 13:54:16 · 630 阅读 · 0 评论 -
车载网络SOA服务之SOMEIP介绍
随着ADAS,自动驾驶,OTA等业务的兴起,对于通信带宽的需求越来越迫切。传统的方式CAN,FlexRay甚至MOST等总线已经不能满足当下的需求,所以汽车工业需要考虑一种高带宽,高速率的通信网络,另外传统面向信号的通信方式也需要随着新业务的需要转向面向服务的通信方式。考虑到这种需求,以太网通信被引入车载网络中。以太网作为工业界广泛接受的协议,很多协议比如TCP/IP和UDP也经过了几十年严格的研发和协议的验证。原创 2023-10-25 11:31:23 · 261 阅读 · 0 评论 -
AUTOSAR CAN通信 TxConfirmation RxIndication ACK介绍
CAN的错误帧中有一种就是ACK错误,ACK错误由发送方负责检测,发送方在ACK段发送2个隐性位,接收发收到该帧时将ACK槽置为显性位(ACK应答),由于“线与“原则,ACK段会由”01“组成,发送方在发送CAN帧时同时监听总线,如果发生方在ACK槽中检测出隐性电平就会检测出ACK错误(由于没有接收方在ACK槽填充),同时会发出ACK错帧帧。中断模式是在中断ISR中调用CanIf_TxConfirmation通知CanIf,然后CanIf通过User_TxConfirmation通知上层User。原创 2023-10-24 09:41:37 · 426 阅读 · 0 评论 -
AUTOSAR IdsM介绍
车辆中的许多新功能建立在车载和后台服务之上,需要面对保护车辆免受网络攻击的挑战。为车辆的E/E架构配置了安全机制,更新签名软件、安全启动和安全车载通信系统正在逐步建立。目前,IDS(Intrusion Detection System)作为一种额外的安全机制正在引起OEM和供应商的关注。原创 2023-10-20 13:51:53 · 477 阅读 · 0 评论 -
汽车基础软件信息安全与AUTOSAR
随着汽车网联化和智能化,汽车不再孤立,越来越多地融入到互联网中。在这同时,汽车也慢慢成为潜在的网络攻击目标,汽车的网络安全已成为汽车安全的基础,受到越来越多的关注和重视。AUTOSAR 作为目前全球范围普遍认可的汽车嵌入式软件架构,已经集成的相关信息安全模块对实现信息安全需求有着充分的支持,例如保护车内通信或保护机密数据。由于 CP AUTOSAR 和 AP AUTOSAR 的体系结构不同,目前信息安全模块的相关技术实现也存在差异。在车载网络中,CAN 总线作为常用的通讯总线之一,其大部分数据是以明文方式广原创 2023-04-22 13:54:49 · 1250 阅读 · 0 评论 -
硬件安全HSM介绍
随着汽车智能化和网联化的发展,汽车软件面临着更加严重的安全风险问题,为了应对一系列软件安全问题,就离不开硬件安全模块这个扮演着安全之锚的角色。HSM是硬件安全模块的英语缩写,全称是Hardware Security Module。HSM可以用于车辆安全信息(比如密钥)的生成、存储以及处理,且能够隔离外部恶意软件的攻击。HSM可以用于构建、验证可靠的软件,以保护在软件加载并初次访问之前的安全启动。HSM包含有加密/解密硬件加速功能,和软件解决方案相比能够有效降低CPU负载。原创 2023-10-13 10:49:09 · 1633 阅读 · 1 评论 -
AUTOSAR RTE介绍(更新版230925)
这是最常见的RTE生成结果,但一些集成商也更喜欢为每个SWC生成单独的RTE文件(.c 和 .h),这些文件进一步包含在主RTE文件中,只是为了便于管理项目的RTE文件,这样的生成选项可能因AUTOSAR GUI工具而异。在任何基于AUTOSAR的系统中,RTE是为每个ECU单独生成的,因为每个ECU的SWC可能有自己独特的要求,因此RTE是为满足这些要求而定制的。RTE是在SWC集成之后生成的,因此RTE服务确保SWC之间,SWC与BSW之间的通信,从而确保系统按照预期工作,而不管SWC部署在哪里。原创 2023-09-25 14:08:34 · 1835 阅读 · 0 评论 -
AUTOSAR CAN主动与被动唤醒分析
从AUTOSAR网络管理的状态迁移图中,也就是状态从Bus-Sleep Mode切换到Network Mode的Repeat Message State的触发源不一样,主动唤醒是本地调用网络请求接口触发迁移,被动唤醒是接收到网络管理报文触发迁移。中的三种方式都属于被动唤醒,方式一和方式二唤醒之后都需要检查是否收到合法的唤醒CAN报文,如果不是合法唤醒CAN报文,ECU唤醒之后还会继续睡眠,方式三则只能被合法的唤醒CAN报文。主动唤醒是当ECU上电并检测到。被动唤醒是当ECU上电并。,则ECU启动网络通信。原创 2023-09-15 13:47:25 · 1222 阅读 · 0 评论 -
AUTOSAR 通信Update Bit介绍
Update Bit是AUTOSAR COM模块提供的一种机制。Update bit定义在通信矩阵中,接收方通过Update Bit能够识别Signal或Signal Group是否有更新。原创 2023-09-13 16:01:29 · 494 阅读 · 0 评论 -
汽车ECU软件升级方案介绍
随着汽车网联化的发展,现在的汽车电子架构都支持软件空中升级,即大家常说的OTA(Software Update and Upgrade Over the Air),传统的软件升级常常是离线升级,需要车主将车开到维修保养中心进行软件更新。不过OTA升级方式带来方便之处需要考虑的问题也随之增多,比如软件升级的安全,升级包的验证,升级失败的处理等等。本文将从三个方面介绍OTA业务在汽车中的应用。原创 2023-09-11 09:26:35 · 737 阅读 · 0 评论 -
AUTOSAR Partial Network介绍
使用PN的最大好处是可以使当前功能所需的ECU保持唤醒工作,其他的ECU睡眠,从而降低整车能源消耗。使用PN功能要求CAN收发器具有唤醒帧过滤功能,即只有当接收到特定的唤醒帧后才能唤醒ECU,其他帧则被忽视。原创 2023-09-04 17:09:58 · 529 阅读 · 0 评论 -
AUTOSAR OS详细介绍及配置说明(更新版230918)
AUTOSAR OS扩展了OSEK/VDX标准中的操作系统,所以本文结合OSEK/VDX的标准来介绍AUTOSAR OS,并借助Vector Configurator讲解AUTOSAR OS的配置。OSEK源于德语,英文意思是:“车载电子设备的开发系统和接口”,它是一个标准,用来产生嵌入式操作系统的规范,通讯协议栈,和汽车网络管理协议,也产生其他相关的规范。OSEK被设计来提供整车的各种电子控制单元的软件标准架构。原创 2023-08-31 16:08:13 · 636 阅读 · 0 评论 -
AUTOSAR DoIP介绍
名称含义DoIP实体,实现了DoIP协议的节点DoIP网关,实现DoIP协议,并且能进行报文转发的节点DoIP nodeDoIP节点,实现DoIP协议,但是不能进行报文转发的节点DoIP边缘节点,与外部诊断设备直接连接,有以太网激活线的节点连接在IP网络上,但是不实现DoIP协议的节点用于重编程的外部诊断设备用于诊断的外部诊断设备。原创 2023-06-08 11:13:25 · 1157 阅读 · 0 评论 -
如何设计出结构清晰布局漂亮的SWC结构图
使用该选项可以自动布局ports位置,非常实用。选中单个port或者批量选中多个ports,然后点击该图标选项,可以自动布局ports位置根据字母A->Z顺序布局ports位置根据字母Z->A顺序布局ports位置这两个不常用底部对齐,不常用顶部对齐,不常用向右对齐,根据喜好使用向左对齐,根据喜好使用将选中的ports均匀展开,使用时调整好所有ports需要占用的距离,然后选中之后使用该选项展开port,非常实用将选中的ports挤压在一起,不常用。原创 2023-05-04 13:30:21 · 799 阅读 · 1 评论 -
面向服务通信与面向信号通信
服务员说,没有油泼面。而至于为什么没有油泼面,那就是服务员在接收到你的消息之后,根据他的大脑分析得到的结果,也是就是服务的内部代码处理的结果。在远程调用时,就需要借助中间件及网络传输实现信息传输,如图中C区域所示,这种通信就是面向服务的通信,就是要通过一定的方式对服务的相关信息进行打包,打包后再把这些信息在网络上进行传递。在这种通信方式下,最常用的就是通信矩阵,熟悉VECTOR DBC文件的朋友都知道,在通信矩阵中以信号作为主要对象,体现出信号被封装在哪条报文中,信号由哪个节点发送,被哪个节点接收。原创 2023-04-26 17:16:09 · 380 阅读 · 0 评论 -
AUTOSAR存储服务之FEE换页策略介绍
如下图是AUTOSAR Memory Stack的架构图,对于Memory Stack的介绍请参考AUTOSAR MemoryStack详细介绍_钢琴上的汽车软件的博客-CSDN博客随着现在MCU携带的内置flash空间越来越大,从成本节省以及方便使用等方面考虑,在产品设计和开发过程中常用Flash EEPROM Emulation技术,故名思意就是使用flash来模拟EEPROM的存储特性,最重要的是达到如EEPROM一样的几十万乃至百万次的擦写次数。原创 2023-04-19 09:09:45 · 1317 阅读 · 0 评论 -
AUTOSAR Gateway介绍
熟悉整车电子架构的朋友们都知道,Gateway(网关)在整车网络架构中协调不同物理链路数据的交换,发挥着数据中枢作用。本文为大家介绍AUTOSAR架构中Gateway的应用方式。在AUTOSAR架构中,Signal、Signal Group或者PDU从一个源总线接收可以发送到一个或相同或不同协议的总线。在AUTOSAR架构中有两种类型的Gateway,分别是Signal Gateway和PDU Gateway。原创 2023-04-13 10:34:59 · 1250 阅读 · 0 评论 -
AUTOSAR E2E详细介绍
E2E(End-To-End)是AUTOSAR为功能安全ISO26262提出的一个安全模块。这里的端(End)并不是指ECU与ECU之间,而是指通信ECU上的SW-C与SW-C之间。在车载网络中,信息交换通常是从一个ECU发送信号,另一个ECU接收信号。对E2E而言,通常是从源SW-C生成信号,经过RTE(Run-Time Environment)、BSW(Basic Software)并在物理总线上传输后到达目标SW-C。原创 2023-04-11 14:17:24 · 2446 阅读 · 0 评论 -
Adaptive AUTOSAR架构和特性介绍
本文主要内容分为两章节。第一章节简要介绍了AUTOSAR的软件架构,设计理念以及方法论,对Classic Platform和Adaptive Platform做了简单的比较。第二章主要介绍了Adaptive Platform的特性。AUTOSAR(AUTomotiveOpenSystemARchitecture)是汽车和软件行业领先公司的全球合作联盟,为智能移动开发和建立标准化的软件框架以及开放的E/E系统架构。原创 2023-04-07 10:04:16 · 663 阅读 · 0 评论 -
Classic AUTOSAR架构和开发方法论介绍
AUTOSAR(AUTomotiveOpenSystemARchitecture)是汽车和软件行业领先公司的全球合作联盟,2003年由9家汽车行业的巨头(宝马、博世、大陆、戴姆勒、福特、通用、PSA、丰田、大众)建立后,这个联盟现在已经拥有了很多高级会员和开发成员。如今很多中国厂商也是AUTOSAR联盟成员,例如华为,长城,上汽,吉利等。AUTOSAR联盟为智能移动开发和建立标准化的软件框架以及开放的E/E系统架构。原创 2023-04-07 10:01:31 · 1263 阅读 · 0 评论 -
AUTOSAR MemAcc模块介绍
Memory Access(MemAcc)模块是AUTOSAR在R21-11标准释放的BSW模块,该模块的目的是为不同memory技术的设备提供基于地址的访问。MemAcc模块由一个或多个Memory Driver(Mem)完善补充。MemAcc模块可以使用在不同的存储技术设备,如flash,EEPROM, RAM等。MemAcc模块和Memory Driver与Fls和Eep驱动程序位于AUTOSAR架构的同一层,但将这些模块分为一个硬件独立部分(MemAcc)和一个硬件依赖部分(Mem)。原创 2023-04-06 11:17:26 · 897 阅读 · 0 评论 -
CAN CANFD通信采样点原理介绍及计算测量
本文介绍了采样点原理以及计算公式、比特率和波特率的概念、晶振时钟周期和CAN时钟周期的概念,并且以RH850为例介绍如何配置采样点以及影响采样点误差的因素,以及分享了如何基于VH6501测试采样点采样点是节点判断信号逻辑电平的位置,对CAN/CAN FD总线来说极其重要,尤其是在组网的时候,多个节点要尽量保持同一个采样点。CAN/CAN FD网络在通信过程需要通过对总线电平进行采样,从而判断信号逻辑是0还是1。若网络中节点采样点不一致可能会导致同样的采样频率出现采样错误,进而使整个网络出现故障。原创 2023-03-25 09:34:11 · 3299 阅读 · 0 评论 -
浅谈汽车软件的质量保证
ASPICE是Automotive SPICE的简称,即汽车行业软件过程改进与能力评定的过程评估模型。(SPICE是software process im英文缩写。)ASPICE包括32个过程,分主要生命周期过程(20个过程),组织生命周期过程(5个过程),支持生命周期过程(7个过程),如下图,其中每个过程又可以细分为若干个小的过程组。笔者个人觉得一个好的软件是设计出来的,但往往设计很难考虑很多种异常,就需要进行各种测试才能挖掘出缺陷,然后进行修复,迭代,最后优化出一个质量可靠,可以量产的软件。原创 2023-03-21 09:48:28 · 563 阅读 · 0 评论 -
AUTOSAR MemoryStack详细介绍
持久化存储在电子设备中起着非常重要的作用,可以说任何电子设备都离不开持久化存储的需要。同样在车辆ECU中也有很多信息需要通过持久化存储来保存,比如车辆VIN码、行驶里程、ECU的软硬件版本信息、运行过程产生的故障DTC等等都需要持久化存储。在Classic AUTOSAR架构中,通过NVRAM Manager来管理存储,为上层SWCs和BSW模块来提供服务接口。接下来为大家讲述Classic AUTOSAR架构中的Memory Stack。原创 2023-03-17 06:00:00 · 816 阅读 · 0 评论 -
AUTOSAR NVM功能介绍和相关配置
NvM(NVRAM Manager)属于AUTOSAR BSW中一个基本软件模块,该模块用来抽象非易失性(non-volatile)存储的使用,可以是EEPROM或者Flash。为了避免数据访问时的冲突以及不一致,NvM是唯一可以访问非易失性存储的模块。在应用层,采用基于block形式对NvM进行访问。NvM访问MEMIF(Memory Abstraction Interface),其抽象了底层存储设备,比如Flash模拟的EEPROM(FEE)或者EEPROM(EA)。所以说NvM是硬件独立的。原创 2023-03-15 11:11:19 · 1770 阅读 · 0 评论 -
FOTA在AUTOSAR中的应用
移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备:例如手机、平板电脑、便携式媒体播放器、移动互联网设备等提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升级,完成系统修复和优化。(百度百科)随着汽车成为下一代移动终端,FOTA技术被引入到了汽车软件升级中,FOTA提供了汽车行驶中完成软件升级的技术,即当汽车在行驶中时,一个新的软件在后台完成安装。安装过程可以被中断,如果包比较大需要安装的时间比较长,那么安装过程可能持续好几个驾驶周期。原创 2023-03-10 15:35:13 · 795 阅读 · 0 评论 -
AUTOSAR FunctionalSafety
随着汽车功能复杂度的急剧增加,功能安全作为一个系统特征开始被重视,影响着系统设计决策。软件作为一个因素影响着系统级的复杂度。新的技术和概念可以被用在软件开发中来减少复杂度,来实现功能安全。AUTOSAR提供了一些安全措施和机制来支持安全系统开发,但是并不是说应用了AUTOSAR就符合功能安全。原创 2023-03-04 15:01:56 · 378 阅读 · 0 评论 -
CAN DBC数据库文件介绍
DBC(Database CAN的缩写)是CAN网络数据库文件。这种文件格式由德国VECTOR公司制定,关于这种格式的了解可以参考规范文件《DBC File Format Document》,可以在附件中的链接获取。DBC文件可以定义CAN网络的节点(Network Node)、报文(Message)、信号(Signal),以及每个节点收发哪些报文,每个报文包含的信号,信号的位置等等。原创 2023-02-17 16:25:33 · 1537 阅读 · 0 评论