ADAS/AD控制器模块开发04 - 软件架构设计及需求定义

Architecture decomposition from SYS to SW:

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第1张图片

系统架构向软件架构的过渡框图

 

一、Host 软件架构

Host作为主芯片,包含很多general的系统Building Blocks,对应的SW-layer,也存在不少相似的模块组成,例如:Power Mode Manager(电源模块管理者)、Voltage Range Monitor (电压监控者)、Vision Output Processing (视觉输出处理)、EDR(事件数据记录器)、Feature Models(功能Simulink模型)、Feature Switch(功能开关处理)、High Side/Low Side Driver(高边/低边驱动)、Heater Control & FET Protection Strategy(加热控制及场效应管的保护策略)、VCAN Interface Handler(车辆CAN接口处理者)、SPI Communication(SPI通信)、Diagnostic(诊断)、Configuration & Calibration & Tuning Files(配置/标定模块)、Keep-Alive Memory Manager(KAM管理者)、Memory Management(内存管理)、MCU常见软件机制的实现(如数据写保护、NVM、晶体与晶振等)。以下针对几个较为重要的模块进行详细展开。Host软件架构图如下:

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第2张图片

图1 Host芯片的软件架构

 

  • Vision Output Processing

视觉输出处理模块,包括了温度处理模块、遮挡探测模块、Feature与Host-SW之间参数的Mapping模块(Feature接口)、Host与EyeQ3之间关于Feature参数的Mapping(Feature的SPI接口)、TSR Feature等;

a. 温度处理模块:板上温度传感器的对应温度直方图信息要存储在NVM中(NVM的DataFlash部分,不能存在CodeFlash中);且数据可以通过UDS诊断服务(PID-ECU Internal Temp)读取;温度采样周期一般120秒;一般温度状态有三个等级,Normal正常、HighTemp高、OverTemp过高。

b. 遮挡探测模块:遮挡算法会持续的探测传感器是否被遮挡;一旦被遮挡,算法会持续探测clear scene,即探测遮挡物什么时候被移除。算法初始化后,会默认进入未遮挡状态;对于摄像头传感器,一旦探测到被遮挡,就会触发加热功能来尝试解决遮挡条件(霜、雾等);如果加热仍旧不能解决遮挡问题,那么Host-SW会disable相关的视觉Features。同时,要提醒驾驶员传感器被遮挡的状态。

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第3张图片

图2 Blockage相关参数

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第4张图片

图3 Blockage相关参数 辅表

 

c. Feature接口:feature接口需要具备检测来自传感器层的状态。该模块需要检测的状态包括:RadarSystemNotOperational、VisionSystemNotOperational、RadarAlignmentOutOfRange、VisionAlignmentOutOfRange、RadarBlockageDetected、VisionBlockageDetected、SensorDataUpdating、CommunicationError、RadarExternalConditionsNotOK、VisionExternalConditionsNotOK、RadarAlignmentIncomplete、RadarAlignmentNotStarted、VisionAlignmentIncomplete、VisionAlignmentNotStarted。

d. Feature的SPI接口:有些SPI signals可以与feature signals直接mapping,但是还有一些signals需要在host-sw中做些转换与处理才能mapping到features中;这些接口中,与刹车使能相关的几个信号的功能安全要求非常高,因此需要做好以下两项措施:1)刹车使能相关信号的checksum(总和校验码)有效性验证;2)RollingCounter(滚动计数)有效性验证。除了刹车信号外,SPI接口还有一些配置信息需要设置,例如:变速箱类型(手动/自动)、AHBC自动远光灯控制功能的交通类型(靠左行驶还是靠右行驶,这是为了inhibit对于无来车侧的探测,例如在中国车辆靠右行驶,那么对向来车都在左边,右前方就不需要detection)。除了可以配置交通类型外,也可以根据视觉感知来检测识别交通类型,即检测左右两侧车流的车速,假如检测到的情况是: 右边车流车速有同向行驶的(RangeRate为正或RangeRate为负,且负值的RangeRate大于一定值,这里假设一个数,-30m/s),也有对向行驶(RangeRate < -30m/s),而左边车流的车速始终为同向行驶的(-30m/s < RangeRate < Max RangeRate Detection value),且这种状况满足了一定时间要求,那么就可以判断车辆是靠左行驶的。因为左边车流都是同向行驶,而右侧同向行驶时,因为在右边也有同向车道,但是右侧更远的位置因在对向车道,所以能检测出很多对向来车。

e. TSR Scene Separation:TSR功能在Vision Output Processing模块中,需要有一个配置参数,用来配置速度的单位,是kph还是mph。

 

  • EDR

EDR的Trigger(触发)条件有:AEB紧急制动事件发生时,要记录;发生碰撞事件时要记录。EDR的数据要保存在NVM中的Dataflash中。EDR记录的事件要包含6秒钟的信息,其中包括Trigger时间点前两秒和Trigger时间点后4秒。

EDR的Ring-Buffer:RingBuffer(循环缓冲区)需要在NVM中实现,用于循环存储data和Images。RingBuffer需要设计足够的存储空间,用来保存至少一次pre-trigger(预触发)记录。若后续有新增pre-trigger记录,则覆盖原记录,只保存最新记录。且对于以下几个参数的信息,新record复写旧record之间要停顿20个IGN以上的点火周期,才允许复写,他们分别是:EDRTriggerEvntSync、RstrnImpactEvntStatus、RstrnImpactEvnt

以下是FCW/AEB的EDR常见存储信息:

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第5张图片

图4 FCW/AEB常见EDR信息

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第6张图片

图5 FCW/AEB常见EDR信息2

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第7张图片

图5 FCW/AEB常见EDR信息3

 

以下是LDW/LKA的EDR常见存储信息:

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第8张图片

图6 LDW/LKA常见EDR信息1 图7 LDW/LKA常见EDR信息2

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第9张图片

图8 LDW/LKA常见EDR信息3

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第10张图片

图9 LDW/LKA常见EDR信息4

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第11张图片

图10 LDW/LKA常见EDR信息5

 

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第12张图片

图11 LDW/LKA常见EDR信息6

 

另外,一旦Host的EDR触发,也需要通过SPI通知到VFP。VFP会基于当前全局实际时间,将一帧图片存储在NVM中。该方式只支持EyeQ3,不支持EyeQ3Lite。

 

  • Feature Models 功能模型

支持双盒模式(Two-Box Mode),即通过DID可设置一个开关量,在等于0时代表Normal模式:feature model在ADAS-ECU的Host中运行,并通过VCAN输出信号;在等于1时代表Autobox模式:禁止host的feature model向VCAN上发消息,避免与Autobox发出的消息冲突。

 

  • VFP Mode Manager

VFP有4中模式:Vision Application Mode、Target Auto-Calibration Mode、Service-Station Mode和Diagnostic Mode。

其中Vision Application Mode视觉应用模块,是默认的正常工作模式;

Target Auto-Calibration Mode即EOL下线标定模式;

Service-Station Mode即4S店标定模式;

Diagnostic Mode即诊断模式。

 

  • SPI通信

Host 在检测到SPI timeout(超时)后应该等待500ms,仍无响应,再重置EyeQ3芯片。

SPI消息包括以下几类:

Vehicle Independent Calibration Parameters

Vehicle Dependent Calibration Parameters

Vision Drive-Cycle Parameters

AHBC/TAC/SPC Parameters

Vision Obstacle Parameters

Delphi VFP SW Parameters

CWMP VEH STATE MSG (CWMP即为Host MCU)

CWMP CONTROL MSG

 

二、General Software Requirement

  1. Memory Management 内存管理

Flash的Memory Map如下图

ADAS/AD控制器模块开发04 - 软件架构设计及需求定义_第13张图片

图12 LDW/LKA常见EDR信息6

 

a. Application Memory: 支持ICAN标定(Instrumentation CAN Calibration),且在标定过程中,需要disable掉checksum的检查。因为checksum在官方标定版本释放后是固定值,标的过程中一定会改一些参数,造成checksum的改变,如果继续做周期检查,肯定会报错,因此需要disable掉。

b. Calibration Memory:Host应该包括三个local配置标定块儿,即SWP1、SWP2和SWP4.这些local的配置标定块儿中,应该包含hardware和vehicle variants信息。对于这些memory的刷写,无需重新编译APP code。

 

2. MCU的需求:

数据写保护:所有的NVM数据应该有三个副本。即便一部分数据被改写,仍旧可以通过其他副本(最近版本)来恢复。副本的有效寿命为20ms。

你可能感兴趣的:(ADAS/AD笔记)