自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 关于AUTOSAR 系列文章的一点想法

1.本人所写的AUTOSAR 系列文章并不适合初学者和资深AUTOSAR专家,如果你能完全看懂AUTOSAR Offical Spec ,可以不用看我写的内容. 很多内容过于抽象需要有一点基础2.目前完成的30多篇主要介绍的是AUTOSAR 所能实现的功能,很少涉及架构涉及,性能优化。后续会增加部分内容(作为AUTOSAR 架构首先要知道AUTOSAR 能做什么, 有多少种方案,性能如何,才能设计出合理的架构)3.本人所写内容是基于7年AUTOSAR 使用和架构设计经验总结而成,并不是对AUTOSA

2021-09-19 21:51:44 2036 4

原创 AUTOSAR BSWM Configuration for $28 Functionality

通过BSWM 控制通信开启与停止,主要是控制PDU 的启停功能,PDU 被按照规则被分配到不同的PDU GROUP, BSWM 通过控制PDU GROUP 的启停就可以控制其里面包含的所有PDU收发需要说明的时,28 服务只是应用BSWM 控制通信开启与停止的一个实例, 其还有更多的应用场景,比如在运行期根据配置动态控制报文的开启与停止(Part offline/partition network), 总之任何涉及到APP message 通信开启与停止的功能都可以通过BSWM 配置来完成需要.

2021-09-25 22:00:28 1521 1

原创 AUTOSAR CANTP(ISO15765-2) Introduction -- Part 2

Unexpected arrival of frame单工 :单工就是指A只能发信号,而B只能接收信号,通信是单向的半双工:半双工就是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行全双工:全双工比半双工又进了一步。在A给B发信号的同时,B也可以给A发信Segmented Transmitted in progress指的是发送SF /FC, 收到FF/ CF的一端Single Frame receptionCASE 1:接收到的FF/CF 之后 发送新的

2021-09-25 16:41:39 800 1

原创 AUTOSAR CANTP(ISO15765-2) Introduction -- Part 1

AUTOSAR CAN TP 是基于ISO 15765-2 所要求的功能实现的, 因此看懂ISO15765 -2 是理解 CAN TP的基础OverviewUnsegmented MessageSegmented MessageFormat OverviewSingle FrameFormat$0x $xx $xx $xx $xx $xx $xx $xxAttributeSF_DL单一帧的数据长度Range:0~8 ,如SF_DL超出范围,

2021-09-25 16:38:08 740

原创 AUTOSAR Security Diagnosis

前面介绍AUTOSAR Crypto 时,介绍过Crypto的一个使用场景就是Security Diagnosis为什么需要它Security Access 功能好比是个安全屏障,ECU 一些重要的功能需要Security Access 通过后,才可以执行,如果诊断仪或者其他工具可以不加限制的访问ECU 内部的所有内容,将对ECU 造成威胁,比如重要数据被修改,删除, 重要的Fault 被清除,意外触发了某些功能传统Security Access的劣势Seed 并非“随机” 而更多的是一些特

2021-09-21 17:37:42 862 1

原创 AUTOSAR LIN Introduction

GeneralLIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办 公设备等多种领域LIN 的拓扑结构为单线总线,应用单主机多从机的概念。LIN总线电平为 12V,传输位速率(Bitrate)最高为 20kbps。由于物理层限制,

2021-09-19 20:12:05 1354

原创 AUTOSAR PDUR Introduction

GeneralPDU ROUTER : PDU 路由器,作用是负责数据路由,比如,当我们从CAN BUS 收到一条报文之后,CAN IF 是如何正确的将数据传递给COM 中正确的Indication Callback的呢? 这其中起到关键作用的就是PDUR, PDUR 好像是邮局,里面定义了每个PDU的流转地址, 其他模块主要需要将PDU 人给PDUR, PDUR 就会根据预定义好的流转地址,将PDU 传给正确的Component.正如上面描述, PDUR 主要把包括两部分功能PDUR Modu

2021-09-15 23:21:53 2537 1

原创 AUTOSAR Functional Safety

前言功能安全(Functional Safety)是一项系统特性,由于基于功能安全的设计会影响到系统设计,所以从系统开发初始阶段就要进行考虑。由于软件的复杂度会影响 到功能安全的设计,所以在AUTOSAR规范中,包含了部分与功能安全相关的需求,这些新技术和概念能够帮助降低功能安全相关组件的复杂度。不过需要强调的是,AUTOSAR虽然通过提供安全措施和机制来支持基于功能安全产品开发,但这些独立的安全措施(Safety Measure)并不能形成整体的安全解决方案。在功能安全标准(ISO 262..

2021-09-15 21:03:06 1345

原创 AUTOSAR CAN Wakeup Analysis

Active Wakeup对于主动唤醒,当Application检测到唤醒源之后,可以调用EcuM_SetWakeupEvent发送Wakeup Event,另外对于主动唤醒需要显示的调用 ComM_RequestComMode(0,COMM_FULL_COMMUNICATION);如果这个Wakeup Source定义了Validation Time, 并不能立刻触发网络管理功能,则还需要在规定的时间验证Wakeup Source(EcuM_CheckValidation被周期的触发, ...

2021-09-13 00:15:21 2378

原创 AUTOSAR Basic Communication Structure

General 本文主要介绍的是简单的CAN 通信的基本配置结构,虽然EB/VECTOR 都支持通过导入ARXML/DBC 文件自动生成配置,当然我更喜欢手动配置所有内容,好处如下可以更好的理解AUTOSAR 结构 当出现问题时更容易排查(都是自己配置的) 可以避免因为输入文件(ARXML/DBC)错误,导致产生一些错误的配置被自动导入以下内容是要完成一个简单的CAN 通信, 哪些模块需要更改Normal TX Message StructureNormal R..

2021-09-11 15:28:50 798 1

原创 AUTOSAR RTE Introduction -- Part 4(Data Type)

Data Type虽然通过Davinci可以较容易的配置出需要的类型,但本章节以VECTOR 输出的DATATYPE.ARXML 内容进行介绍,可以摆脱对于Davinci工具的依赖Base Type定义了基本数据类型,需要说明Base Type 中定义的类型,只是声明了这种类型,定义了这种类型的属性, 并不能真正直接使用Base Type中定义的类型,通常在Implementation Data Type 中引用Base Type, SW Component 可使用在Implementa

2021-09-09 23:53:38 695

原创 AUTOSAR RTE Introduction -- Part 3(Mode Switch Functionality)

Mode Switch FunctionalityMode Switch 功能可以理解为是个高级的S/R请求。 对于S/R 请求, Receiver side Runnable被触发的条件为是否接收到Data,是无法定义接到特殊值才能触发RUNNABLEMode Switch 正是完善了这一点,可以定义接收到特定值,或者数值按照特定方式进行变化才可以触发对应Runnable同时Mode Switch 中定义的Mode 是以Text Value 呈现的,比单纯的数值更容易理解,可以认为Mode

2021-09-09 17:43:54 1284

原创 AUTOSAR RTE Introduction -- Part 2(C/S Functionality)

最基础的函数调用,分为同步方式和异步方式异步方式的函数调用: 不建议使用,因为RTE 生成的异步函数调用相比过于复杂,相比之下由APPLICATION 来实现一个异步方式来代替RTE的异步函数调用更加合理这里只做简单说明, 异步方式有两种实现方式,Polling ,WaitingPolling : 当Server Side 执行完函数请求之后会反过来通知Client Side 函数执行完毕,通知方式可以用Polling 或者Os Event TriggerWaiting : 当Client

2021-09-08 22:20:10 1231 1

原创 AUTOSAR RTE Introduction -- Part 1(S/R Functionality)

GeneralSwCompentPrototype整个RTE 由 多个SwCompentProtoType 构成, 每个SwCompentProtoType都是SWCompentType的一个实例我们最常用的的SWCompentType 如下ApplicationSwCompentTypeAUTOSAR SWC, 不需要与HW直接交互的Components 可以被认为AUTOSAR BSWComplexDeviceDriverSwCompentTypeAUTOSAR.

2021-09-07 21:17:18 1159 2

原创 AUTOSAR ECUM Introduction -- Part 2

ECUM SLEEP当NM 进入BUS SLEEP阶段之后 ,如果没有USER Lock Post Run/ Run State 且 Shutdown Target选择的是 SLEEP. 则ECUM 会进去SLEEP STATE针对SLEEP mode 下wakeup source 可以单独设置,如下,也就是说SLEEP Mode的下唤醒源和IG ON 的wakeup source是可以分别设置的,只有满足SLEEP MODE 下的唤醒源才能在SLEEP 下被唤醒当ECU 从Sleep Mo

2021-09-04 11:28:08 637

原创 AUTOSAR ECUM Introduction -- Part 1

ECUM Basic introductionEcuM 负责管理整个ECU 的STARTUP/SHUTDOWN/WAKEUP/SLEEP 流程Vector Solution ECUM STATEECUM STARTUPEcuM Startup功能分为两部分, 第一部分在EcuM_Init 完成,主要执行一些ECU 启动的必要初始化内容,其中StartOS是其最后步骤,第二部分由OS init Task 调度的EcuM_StartupTwo完成,如BswM_Init

2021-09-04 11:25:57 1455

原创 AUTOSAR COM Introduction -- Part 3(Appendix)

AppendixTransmission ProcessReception ProcessUser Cases

2021-09-04 11:00:32 417

原创 AUTOSAR COM Introduction -- Part 2(Reception Process)

Reception ProcessReception of a SignalApplication 通过Com_ReceiveSignal 请求获取接收到的Signal Value, 需要注意的是一定要先收到RX Indication, 在去请求Com_ReceiveSignal 才能获取到接收到的Signal Value,CAN Read ProcessReception of a Signal Group对于RX 也和TX类似存在SIGNAL GROUP的概念, 对.

2021-09-04 10:57:23 1027

原创 AUTOSAR COM Introduction -- Part 1(Transmission Process)

GeneralAUTOSAR COM 在整个COM STACK COMPOENT中起到承上启下的作用, 主要负责和APPLICATION, IF 交互发送和接收数据。具体内容在后文分析其由Signal /Signal Group/PDU 等信息, 无论是LIN/CAN/FR 的应用报文最终都会映射到COM Layer, 也就是说在COM Layer只有Signal /Signal Group/PDU的概念 ,不会关注其是通过什么方式传输的(LIN/CAN/FR)Tr...

2021-09-04 10:43:53 1120

原创 AUTOSAR CAN DRIVER Introduction

GeneralAUTOSAR CAN DRIVER COMPONENT 属于MCAL中的一部分,对应的是MCU 中CAN Controller, 其主要功能如下分配Mailbox Can Controller 配置 Wakeup Support 波特率 关联的Clock Can Process (Wakeup/BusOff/Rx/Tx) CAN Controller State TransitionsCAN controller state UNINIT ...

2021-09-03 00:15:28 803

原创 AUTOSAR Crypto Stack Introduction -- Part 4(Algorithm)

Symmetric-key algorithms在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。

2021-09-03 00:06:22 919

原创 AUTOSAR Crypto Stack Introduction -- Part 3(Algorithm)

AlgorithmHash Algorithm Name Algorithm Input Length Output Length Reversible? MD5 Hash Any 128 bits No SHA -1 Hash Le

2021-09-03 00:01:17 688

原创 AUTOSAR Crypto Stack Introduction -- Part 2(API)

APIHash InterfaceCsm_HashMAC InterfaceCsm_MacGenerate Csm_MacVerifyCipher Interface包括对称加密算法和非对称加密算法,比如AES 和RSA EncryptCsm_EncryptCsm_Decrypt Random InterfaceThe random interface provides generation of random numbers. A

2021-09-02 23:02:51 1254

原创 AUTOSAR Crypto Stack Introduction -- Part 1

Crypto Stack IntroductionAUTOSAR Crypto Stack是整个AUTOSAR 架构体系中负责数据加密保护和密钥管理的模块,其典型的使用场景如下ECU 通信加密 (如CMAC) Security Access (27 Services)流程保护, 如,Request Seed 通过HSM 产生 “真随机数” , compare Key的时候是由RSA进行签名验证 KEY 的管理这里只进行功能介绍,不谈设计General IntroductionC

2021-09-02 23:00:48 2077 3

原创 AUTOSAR NVM Introduction -- Part 2

NVM API 使用NvM_ReadAll用于上电读取多个NVRAM Block数据被读取的Block Type不能为DataSet, 只有Immediate write job 可以中断ReadAll 操作, 需要指定GLOBAL RAM BLOCK 或者使用RAM MIRROR 才可以启用此功能 可使用RAM MIRROR 异步处理方式Service ID: NVM_READ_ALL_API_IDNvM_WriteAll用于下点 写入多个NVRAM Block数据被读取

2021-09-02 22:28:15 1859

原创 AUTOSAR NVM Introduction -- Part 1

ArchitectureNVRAM Block 的 构成NV DataNVM层存储器的定义对象,用作管理和存储非易失性数据。NV Block存储在FEE/EA中的单一BlockNV Block Header目前只存储Static Block ID信息, 如果Check Static Block ID功能未开启, 则此Header不存在,NV BLOCK CRC如CRC check 功能激活, 则此部分(空间需要被分配)RA...

2021-09-02 22:26:37 1228

原创 AUTOSAR BSWM Introduction

What is the BSWM BSWM 在AUTOSAR 架构体系下是一个信息收集中心,负责收集SWC/BSW的运行状态,同时通过配置一些RULE使得SWC/BSW可以请求其帮助监听其他模块的运行状态, 同时BSWM 在多MPU User, 多ECU Partition 设计中是不可或缺的功能BSWM CompositionBswMRuleBSWM 最基本的仲裁单元。包含一个Expression, 一个 TrueActionList ,一个FalseActionList.

2021-09-02 21:52:17 1201 1

原创 AUTOSAR OS Introduction -- Part 5(OS Protection)

Protection AUTOSAR架构旨在支持多个供应商的软件集成到同一个ECU上。在车辆系统设计中其有很多优势,主要是可以在车辆中使用更少更强大的ecu,降低成本并提高电气系统的可靠性。然而,这些好处也带来了新的挑战。当一个ECU包含多个逻辑上不同的、共享同一处理器的应用程序时,一个应用程序的失效错误可能会对其他应用程序产生影响一个应用程序可能出现的错误场景1.覆盖属于其他应用程序的内存2.访问其他应用使用的对象(例如:激活某个别的应用程序的Task)3.覆盖OS使用的内存,导致

2021-09-02 21:11:25 1151

原创 AUTOSAR OS Introduction -- Part 4(OS Hook)

OS Startup and Shutdown OS StartOS ShutdownOS HookOs_Cbk_StackOverrunHook在SC1/SC2 当StackOverrun之后会触发此函数,其中有如下重要属性(REASON)OS_BUDGETOS_BUDGET is similar to OS_ECC_START it identifies a situation where the stack has overrun OS_B...

2021-09-02 21:09:01 1216

原创 AUTOSAR OS Introduction -- Part 3(Schedule Table)

Schedule Table在一个Time Line上可以设置多个“触发点”每个“触发点”可以触发多个Activate/SetEventSynchronization Strategy分为None/Implicit/Explicit. 其中Explicit需要使用到外部Counter,这里不做讨论,三者的区别如下图PropertyInitial Offset: 从0 到第一个Expiry Point的距离Offer:从0 到指定的Expiry Point的距离

2021-09-02 21:01:28 1762

原创 AUTOSAR OS Introduction -- Part 2(Task Property)

Event Event 主要用于为Extended Task 提供多个同步点,每个Event 可以关联多个TaskEvent trigger condition显示调用SetEvent 通过Alarm TriggerTASK(Execution_Task){ EventMaskType ev; for(;;) { (void)WaitEvent(EVENT1 | EVENT2 | EVENT3); /* PRQA S 3417 */ /* MD_Rte_Os ...

2021-09-02 20:57:23 1115 1

原创 AUTOSAR OS Introduction -- Part 1(Task&ISR)

GeneralAUTOSAR OS 由OSEK OS 衍生出来,同时也满足ISO-17356-3对于实施操作系统的要求,本文以ETAS OS 为例进行介绍Task我们写的所有Function都需要被OS 调度才可以运行,那么负责调度这些Function就是OS TaskTask TypeOs Task 依据是否关联OS Event. 可以分为Basic Task(不包含OS Event)和Extended Task(包含OS Event)Basic Task不包含

2021-09-02 20:53:54 2753 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除