汽车底盘控制系统Autosar初步接触

        最近接触到汽车底盘控制部分,作为小白,原以为汽车底盘也是要自己手敲代码,结果发现完全不是。记录一下最近的学习心得,初步接触东西不全,但可以当作参考。

        对于底盘控制部分的简单理解:simulink做汽车底盘的仿真,类比于RoboMaster中平衡车的控制算法,将各类传感器参数、Heave、Pitch、Roll、加速度等等进行计算,放在simulink中就是将这部分模块化,仿真无误后可以自动生成代码。但是在生成代码之前,需要对汽车相关数据进行标定,所谓标定就是使用CANape查看曲线,调整参数,类比于比赛中的PID参数调参,不过不同的是更为复杂参数更多。

        使用的软件:Matlab的simulink仿真、CANape、CANoe。

因为是新手所以软件的具体使用方法不做说明。

        生成的代码是Autosar代码,因此这里记录一下我对Autosar的浅浅理解和总结

1、AUTOSAR

 Autosar好处是将汽车电子控制单元(ECU)的软件底层做了一个标准的封装。类似于Linux中将内核驱动都封装好(所谓的底层软件都写好),只需要在应用层进行编写程序。

1.1 AUTOSAR架构:

传统嵌入式软硬件无法分割开,AUTOSAR架构隔离了应用软件层、基础软件层(BSP驱动)。摆脱了以往ECU软件开发与验证时对硬件系统的依赖。

AUTOSAR架构中共分六层:

应用软件层(Application Layer):由多种SWC(软件组件)组成,包括控制策略、软件算法、传感器参数计算、执行器控制

运行环境RTE(Runtime Environment):各个架构之间必须经过RTE封装的API进行数据交互,同时还有虚拟功能总线VFB(所有的Component(包括SWC、ECU抽象、服务、复杂驱动)之间的通信),AUTOSAR提供的所有通信机制的总和,SWC之间的通信

基础软件BSW

1 服务层(Services Layer):服务层的目的在于提供给应用层可用的服务内容,主要包括:诊断、操作系统、通信、内存管理等

2 ECU抽象层(ECUAbstraction Layer):ECU层的目的在于使上层软件与ECU硬件电路设计剥离开。其中包括了关于ECU上的芯片驱动和外部设备的IO接口。

3 微控制器抽象层(Microcontroller Abstraction Layer):MCU层的目的在于使上层软件与MCU处理器的型号选型剥离开。其中包括了关于MCU的驱动。

4 复杂驱动(Complex Device Drivers):复杂设备驱动组件的目的在于提供复杂传感器和执行器的驱动,使应用层可直接访问硬件资源。

1.2 基本概念

1.2.1 SWC(software Component):

封装了部分或者全部汽车电子功能的模块,其中包括了具体功能的实现以及对应的描述。

SWC分类:Atomic component(最小的逻辑单元,无法再分)、Composition(可以包含数个SWC的逻辑集合)

1.2.2 Port

Port是SWC之间通信用,算是SWC的组成部分。

Port Interface分两类:R/S port、C/S port

R/S与C/S是AUTOSAR在定义接口模板里比较常用的两种类型

1 R/S接口(receiver/sender)
  1. 生成代码来看:采用接口全局变量的方式传递数据
  2. 通过Data Element Prototypes进行交互。

Data Element是一个全局变量,通过Rte_Write_<name>,Rte_Read_<name>对全局变量进行读写。

2 C/S接口(client/server):
  1. 生成代码来看:采用的是函数的方式传递数据
  2. C/S通过operation prototye实现交互

在swc和swc之间 每一个operation都是一个函数,这个函数在Server端实现,在client端调用。

3 Port prototype和Port Interface

port prototype可以理解成端口,定义两个不同的component连接点,用于两者之间通信。可以是Port提供者或者Port接收者(PPortPrototype、RPortPrototype),看自己怎么定义了。

Port Interface是将两个component连接起来的桥梁。

1.2.3 Runnables:

swc组成的部分,运行在RTE里面,由RTE周期事件触发或者其他事件触发调用,里面包含了实际运行的函数

2 参考文章: 

AUTOSAR Port原理概念详解

我淡定地撸了一遍AUTOSAR的基本概念

整体来讲AUTOSAR更多用于汽车行业,如果想要入职汽车底盘控制相关,还是建议学习一下。只是小白,希望有经验的人看到可以提出宝贵的意见和学习方法~~

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhaorming.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值