Architecture decomposition from SYS to SW:



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

 

一、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软件架构图如下:



图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。同时,要提醒驾驶员传感器被遮挡的状态。



图2 Blockage相关参数

 



图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常见存储信息:



图4 FCW/AEB常见EDR信息

 



图5 FCW/AEB常见EDR信息2

 



图5 FCW/AEB常见EDR信息3

 

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



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

 



图8 LDW/LKA常见EDR信息3

 



图9 LDW/LKA常见EDR信息4

 



图10 LDW/LKA常见EDR信息5

 



图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

* Memory Management 内存管理
Flash的Memory Map如下图



图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。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信