上海羊羽卓进出口贸易有限公司

传感器分阶 EE架构|SOA中的软件架构设计及软硬件解耦方法论

发布时间:2024-10-06 20:10:19

EE架构|SOA中的软件架构设计及软硬件解耦方法论

以下文章来源于焉知智能汽车 ,作者Jessie 侵删

对于下一代集中式电子电器架构而言,采用central+zonal 中央计算单元与区域控制器布局已经成为各主机厂或者tier1玩家的必争选项,关于中央计算单元的架构方式,有三种方式:分离SOC、硬件隔离、软件虚拟化。集中式中央计算单元将整合自动驾驶,智能座舱和车辆控制三大域的核心业务功能,标准化的区域控制器主要有三个职责:电力分配、数据服务、区域网关。因此,中央计算单元将会集成一个高吞吐量的以太网交换机。

随着整车集成化的程度越来越高,越来越多ECU的功能将会慢慢的被吸收到区域控制器当中。而平台化区域控制器则是采用相同的硬件设计、相同的IO接口看,可以更好的满足对于不同车型的扩展性要求。所以,区域控制还同时承担整车硬件抽象的重要职能。其两者之间都会采用高速以太网代替原始的Can通信进行相互连接。概括来讲,可拓展的电子架构就是要屏蔽车型之间的硬件差异。不管采用多少个区域控制器组成的通讯网络,其相互之间的通讯模式,都遵守同样的规则。同时区域控制器也承担其局域网内,ECU功能的抽象之责。

如上以中央计算平台为核心的集中式架构设置了统一的传感器及外设接口,能够支持芯片的升级,其最终目的就是要实现在车生命周期内的硬件可升级,从而延长汽车的智能化生命周期。而各区域控制器各自带有自己的操作系统中间件SOA Core Middleware,可以提供一个分布式计算和通信框架,对下屏蔽各类操作系统系统内核差异,对上提供统一的服务开发框架。涉及功能包括服务管理、网络管理、通信管理、升级、诊断、日志、状态等。

本文将重点重软硬件解耦的方向讲解如何对SOA进行软硬件部署。

SOA的软件架构设计原理

如下图表示了典型的SOA软件架构设计原理。这种以服务为目标的开发架构实际上是实现面向服务开发的SOA架构模型方案,让产品经理专注于服务的设计,而系统软件则深入到产品的开发过程中,这也是解决汽车软件危机的重大突破。整个SOA架构可以总结为由逻辑架构构建起的一个软硬解耦的系统和由服务架构完成的服务抽象与适配,最终建立了一个标准化的服务体系。

其整体逻辑架构设计过程可概括为:

电子电气架构: 设计可拓展的架构(也叫计算与通信架构)需要满足分层设计、分层测试、分层验证要求,避免在开发阶段软件更迭的连锁反应和集成测试中问题集中爆发,使得发现问题更加迅速,软件版本更迭更加快速。

硬件计算平台: 可扩展的硬件平台包括SOA基础服务管理和SOA硬件I/O控制管理,可兼容自动驾驶系统的多个传感器和外部设备,支持多异构芯片和硬件升级。

操作系统内核/服务中间件:作为文件调度和驱动的核心,操作系统在支撑软硬件解耦和软件在硬件上的部署方面可以实现最好的支配能力。

通信架构: 通信架构的可扩展性可以很好的确保平台化车型开发中快速适配,车型之间的差异可以减少到最少,开发下阶段车型秩序进行通信扩展借鉴当前这代产品,不用再进行很多额外的开发工作,这样可以大大减少后期产品线维护的压力。

为了满足车辆控制实时性的要求,核心网将会采用如TSN等的可靠通讯技术。在区域控制器下的局域网内,传统的CAN、Lin等通讯方式将会继续存在。局域网内可以以传统的信号的方式进行通信,在核心的以太网骨干网络中,将会以服务的方式进行数据之间的交互,就需要如DDS等通信中间件。

服务层/应用层: 标准化的服务层及可编排的应用层包含SOA系统功能管理、单元域功能管理、整车功能控制管理、云端服务管理几个重要部分。

SOA中的设备抽象技术

在详细分析以中央域控为核心的软件架构部署核心技术之前,需要详细说明一下相关联的几个重要概念。Autosar中的传感器/执行器设计模式描述了在整体架构环境中ECU如何处理在环的传感器/执行器。

BEG设备抽象位于RTE(是试运行环境之上),它是从连接到特定ECU的传感器和执行器中抽象出来的一组软件组件,他使用了传感器或执行器软件组件,是RTE之上唯一允许访问ECU抽象接口的组件。设备抽象提取传感器和执行器的原始信号,如像素点、点云、电压、PWM信号、数字信号/消息、频率,并为应用层软件提供物理接口(例如像素点、点云、压力、质量、温度等),实际说来,设备抽象完成了电压值、数字信号、点云等到物理值的转换。

设备抽象体现了应用层软件通过平台软件及底层驱动软件在其他不同硬件变体之间的可互换性。

表1平台软件与设备抽象关系(传感器)

抽象分层

作用

工作原理

工作明细

平台软件

输入原始采集值,输出电压值

解耦软件与硬件连接

提供物理特性原始接口

机械特性、电气特性、功能特性和规程特性。

电气设备驱动

输入电压值,输出过滤后电压值

确保传感器测量值可用性

运行电气设备驱动软件电气诊断(如检测对地、电池短路、开路等)

去噪滤波器

传感器外部供电时的电压补偿

传感器设备驱动

输入电压值,输出传感器含值如像素、点云、温度值

解耦不同传感器差异项

执行传感器设备驱动程序;

控制传感器的物理行为;

· 从原始信号(电信号)到物理值的转换;

· 零点和偏移适应

· 测量值的漂移检测

· 诊断检查

· 物理值检查

· 过滤功能(包括下采样)

虚拟设备驱动

输入传感器含义值,输出补充后完整值,如亮度值

解耦传感器信号补偿端

传感器的虚拟设备驱动用软件程序其物理表示进行抽象

·信号质量评估

·信号原始值替换(如传感器信号质量不足时)

·信号原始值补偿

·信号原始值验证

·功能测试诊断接口

表2 平台软件与设备抽象关系(执行器)

抽象分层

作用

工作原理

工作明细

平台软件

输入PWM,输出PWM值

解耦软件与硬件连接

提供物理特性原始接口

机械特性、电气特性、功能特性和规程特性。

电子设备驱动

输入电压值,输出过滤后电压值

确保执行器执行过程有效性

运行电气设备驱动软件电气诊断(如检测对地、电池短路、开路等)

去噪滤波器

执行器外部供电时的电压补偿

执行器设备驱动

输入PWM,输出保护及相应的PWM值

解耦执行机械过程

解耦执行器能力保护

传感器设备驱动程序代表执行器的物理行为

·叠加输出值以克服驱动器的摩擦

·输出执行信号值并保证执行有效

·限制输出值以防止过度损坏

·控制设定值(配合传感数据闭环)

·提供限制和能力信息的接口

虚拟设备驱动

输入执行器请求值输出PWM值,如阀门开度

解耦传执行器抖动、非线性化、执行超限等处理

虚拟设备执行程序抽象执行器的物理表现

·控制端物理请求值转换

·非线性值转化为线性值

·用于功能测试的诊断测试器接口

·特殊模式处理

·启动执行机构运行

·通过覆盖设定值或滤波消除执行器阶段性抖动

·协调执行器的安全激活

总结来讲,BEG设备抽象概念和设计可概括如下:

应用软件独立于连接到特定ECU的具体传感器和执行器;

不同传感器和执行器之间代码可复用;

不同的代码共享合作模式(软件共享),从而支持不同的商业模式;

将功能部署或重新分配到不同的ECU;

该设计模式也被称为设备抽象;

设备抽象解决了S&A层Module向上暴露功能及服务接口,向下连接平台软件,目标是尽可能地暴露接口,实现软硬件解耦,避免因S&A变化导致地软件变更。

SOA中的设备抽象示例

这里我们列举一个实例说明在SOA架构中如何进行设备抽象。这种方式只需要了解传感器类别(如雷达、摄像头等)来定义输入的原始数据Rawdata,无需了解这些传感器的具体连接方式,对于顶层应用层则是只需要应用最终的传感数据。

以传感器的设备抽象为例,可以表示如下:

首先是在底层物理层MCAL通过访问uC端口的方式进行数据采集并提供原始数据,每隔一定周期(如10ms)检测一次,这里不需要了解器电器连接方式以及相应的数据含义。比如从底层激光雷达传感器采集到原始图像像素点数据,并输入给微控制器MCU/SOC。

其次,MCU/SOC从对应物理地址中按照一定周期取出对应的点云值,通过I/O设备给I/O硬件抽象模块,并通过I/O硬件抽象点检测所测数据测量点的一级电器连接路由,传感器基于路由信息和解读后的原始数据计算的电压值并进行滤波处理,该过程不需要了解所测数据的含义。

随后,将硬件抽象模块中的电压值按照8bit驱动进行分阶处理,并由传感器电子设备驱动调用生成基础原始值。该值通过传感器虚拟设备驱动Virtual Device Dri 行人、路标等。

最终,AP Autosar中的应用软件通过实时运行环境RTE对传感器感知目标级数据进行实时的读取,用于后续的应用软件的规划控制和决策控制。

从如上示例可看出,设备抽象具备如下优势,Sensor&Actuator的变化不会引起平台软件和应用软件的连带更改,总结起来大致有如下几种变换导致的软硬件解耦类型。

对于替换不同型号的感知传感器,ECU的选型不再受限制于ECU支持的信号分析模式的型号。如NTC和PTC型号的替换,只需要修改位于Device Driver中软件模块即可。同一类型的传感器和执行器模块可共用某些相同的处理模块,比如对于侧视摄像头的处理模式,可以直接将对其中一个侧视摄像头的处理算法直接应用于其余三个,而只需要重新对该三个摄像头的相机参数进行标定即可,如果有部分摄像头需要更新换代为更高分辨率摄像头,对于底层驱动软件和平台软件来讲也是无需做很大变动的,至少I/O接口形式和数据输入模式都不用在动,只是在处理图像的算法模块需要重新进行调优,比如原来采用的低分辨率处理算法可能无法达到高分辨率处理模块对其实时性的要求,这时需要研究神经网络加速模型的优化方式,但是整体的算法架构模型是仍旧不变的。

总结

当前众多主机厂比较倡导的开发方式是进行平台化产品开发,而平台化讲求的就是软硬件解耦的核心思想,采用SOA架构模式则是便于形成产品线和平台线的分工,产品线负责具体车型项目,平台线,负责构建技术中台。新平台的开发,技术链路往往非常长且复杂,分层的架构设计和软硬件解耦的方式,可很好的便于进行分层测试与验证,减少集成测试的压力,问题发现的更充分,也能够提高版本发布的速度。

不是所有屏幕都能准确显色,你的屏幕可能也需要校色

​​我们为什么需要校色仪

非常高端的显示器在经过了长久的使用之后,也一定会老化。屏幕背光的衰减、Gamma 值的变化,都非常直接的影响到,你眼睛看到的色彩。

多台显示器,在统一显示效果的方面,也非常依赖校色仪的帮助。从摄影到调色再到打印,这一个完整的流程中更是少不了校色的存在。

校色仪能为我们做什么

对于老化的显示器,校色仪会检测当下用户的显示器属性,并生成一个校正文件,将失真色彩显示成正确的色彩,对于用户而言眼睛看着更舒服非常重要。

对于多台显示器,校色仪是用来统一显示色彩的,红蜘蛛校色仪的作用是让「同一张图」在「不同的显示器」呈现出一致的观感,并「尽可能接近标准色彩」。 比如下图中左边的就是未校色的状态;右边是校色后的状态,能看的出显示器都是在基于一个标准去呈现画面的。

校色仪不能帮你把1000块的显示器调校成10000块的,硬件素质仍然是一块显示器的天花板。但确实能帮你把未经良好调校的显示器,提升到不错的观感,比如上图最右边的显示器。

不废话先看看东西

这个时候,我们需要把目光全部聚焦到 Datacolor SpyderX Elite 校色仪上。要完成屏幕的校色工作,校色仪必不可少。

打开包装首先看到的是欢迎卡片,上面印有保修信息和软件的下载地址。揭开缓冲固定的塑料,就是 Datacolor SpyderX Elite 校色仪本体了。

产品下面贴着用于激活配套软件工具的唯一序列码,校色仪和软件缺一不可。

SpyderX 用于和电脑连接的线缆采用标准 USB-A 接口,在线缆上还扣了一个磁屏蔽环。

SpyderX 侧面一端还有一个的1/4" 螺口,在需要给投影仪进行校色和分析的时候,就需要用到它了。

SpyderX 的保护盖通过螺纹和卡扣进行固定,在进行校色操作时,保护盖还可以充当调整校色仪位置的配重块。

SpyderX 通过这个半球状的传感器来检测屏幕,这是全新的镜头式光学传感器。通过内置独立的SoC,优化了 Spyder X 的校色速度和处理精度两个方面。相比过往产品更是首次内置了光学引擎,并且阴影细节及白平衡的处理也更加准确

传感器周围一圈还有防滑胶垫,可以辅助校色仪更好的爬在屏幕上。

校色仪是如何还原真实色彩的

硬件必不可少但 Datacolor 开发的软件,带来的配套算法和色彩标准更是这款产品的核心竞争力。

首先需要通过盒内提供的地址下载对应的软件,之后通过贴在盒子上的序列码注册即可正常使用了。

​Datacolor SpyderX Elite 校色仪作为旗舰产品,除了校准屏幕还额外提供了软打样的功能,这个功能对印刷行业的从事人员特别友好,全链条的提供着校色方面的便利。

这也是 SpyderX 作为旗舰产品,目前独占的几个功能之一。

在进行校色前,需要将屏幕开机工作一个小时,并且避免强光直射屏幕。跟随流程,在做完校色前准备工作后,就可以接着往下选择,屏幕类型了。可以选择桌面显示器、笔电自带显示器以及投影仪,三个校色对象类型。

接着会要求你对设备进行命名,这是为了后面生成的 ICC 文件可以针对不同的设备作区分。

对于屏幕的 OSD 提供的功能也要做细化的识别,大部分中低端的显示器是不支持色温调节的,如实勾选即可。

不少高端的显示器都用上了更好屏幕背光技术,在这一栏的选项中包括有 宽屏LED、标准LED、一般、GB LED。

广泛意义上的宽屏LED和标准LED,基本可以对应广色域和标准色域,我们目前用的最多的的也是这两种背光技术。

​针对不同的用户需求,Datacolor 提供了三种工作流程,一种是针对单独设备提供的渐进式检测流程,一种是对于工作室多台显示器的统一校色,最后一种是为专业人员提供的更细化的开放度更高的自定义校色。

在进行校准前可以选择是重新校准还是检测校准精度,选择首次校准会给用户推荐光度以及色温的目标。屏幕亮度可以自己选择,软件也会通过 Datacolor SpyderX Elite 校色仪上的环境光传感器检测到的环境光数值,给出推荐的屏幕亮度。

在设置完毕之后就可以放置传感器开始进行校色了。因为内置了独立的 SoC 让 Datacolor SpyderX Elite 校色仪的检测速度有了极大的提升,整个检测过程只花了一分钟出头。

在检测结束后,会生成一个针对这块屏幕的检测数据得出的 ICC 描述文档。ICC 是一个校正文件,用于将失真色彩显示成正确的色彩。

比如我的显示器是有一些轻微偏红的,某图重的纯蓝部分(0.0.255)被显示成轻微的紫红(51.0.255),经 Datacolor SpyderX Elite 校色仪 校正后,会生成一个“滤镜”式的色彩校正文件,将输出到这台轻微偏红的显示器上,自动滤去20%的红色,让图片中的纯蓝显示为正确的(0.0.255)

当然了以上只是校色方向的一个部分,整个校色不可能就是如此的简单粗暴,软件在校色结束后还提供了四组十六张图片以供对比。

左边未校色,右边校色后

通过样例对比可以得知,在校色后针对颜色的饱和度亮度都做出了调整,不同色阶之间的对比更加明显,整体是朝着讨好眼球的方向去的,但是 Datacolor SpyderX Elite 校色仪在校色时控制了亮度,所以眼睛并不会因此疲乏。

在人像方面,校色方向是凸出皮肤的色泽和饱和感,人像呈现一改校色前的苍白,肤色更加自然。风景大片则更加凸出颜色过渡,以及景物的细节对比,整体更有层次感,观感更加通透。

而在黑白照片对比时,就能明显感受到我前面说的「滤镜」式的校色手段。

左边未校色,右边校色后

​在这样对比图中的的感受则更加明显,图中所有墙体以及墙体附近的云朵因为偏色导致的泛红,都在加在 ICC 矫正文件后别滤掉了,白色表现出正常的白,天空的蓝也是正常的蓝。

下图中,红色机械吊臂红色的过饱和以及亮度偏高现象,在校色后也得到了抑制。

在生成 ICC 文件之后,软件还会提供一个与标准色域的对比,让用户知道这块屏幕在加载 ICC 文件之后的表现如何。我这块屏幕便宜,素质不优秀,各方面的分数都是平平。

校色仪的作用就仅限于此了?

事实上 Datacolor SpyderX Elite 校色仪 首先是一个优秀的屏幕检测仪器,其次才是校色仪,校色只是在找出屏幕问题后软件给出的解决方案。

探究一块屏幕的素质,做到对一块屏幕的信息了如指掌,更是 Datacolor SpyderX Elite 校色仪 的拿手好戏。

​针对屏幕更详细的分析测试一共从六个纬度进行更深度的解析,其中包括 色域、色调响应、亮度与对比度、白点值、屏幕均匀性、色彩精准度。

对屏幕进行测试的过程,和校色中出现的简单检测类似,但是要流程项目细致的多,整个流程在十分钟以内。

在对屏幕进行详细测试时,需要进行很多人工的搭配操作,比如分阶调整屏幕亮度;比如移动 Datacolor SpyderX Elite 校色仪 调整到不同的检测位置。在检测结束后,会生成一个检测报告,里面的内容很详细,我一一来解读。

1.色域​

​首当其冲的是一块屏幕的关键性素质——色域。

色域这块屏幕能表现出的颜色的多少,色域值越大,就一位置显示器能显示的颜色的范围越大。我们经常用到的色彩空间主要有 RGB、CMYK、Lab 等。

而 RGB 色彩空间又有 AdobeRGB、AppleRGB、sRGB 等几种,这些 RGB 色彩空间大多与显示设备、输入设备(数码相机、扫描仪)相关联,Adobe RGB 与 sRGB 则是我们最为常见的。

我这块屏幕的色域覆盖的成绩平平,也就是基本能用的状态。

2.色调响应度

伽马曲线呈现的结果代表着,越能够正确重置屏幕亮度和对比度的显示器,其亮度系数曲线接近标准曲线(光度2.2下);如果其亮度系数曲线偏离越大,则意味着显示器重置亮度和对比度的能力越糟糕。

灰阶测试出的曲线,则色温接近 6500K 且浮动范围不大,曲线较为平滑越好。

3.亮度与对比度

这个测试的目的在于,挖掘出屏幕在不同亮度的情况下,白点值即色温的稳定性。这个测试阶段也开始需要人工手动的帮助了。

最终测试的结果 ,由0%到100%每25%为一个档位,对屏幕亮度进行手动调节,每个档位的色温都非常接近6500K 的色温标准值,而且色温值变动稳定。

4.屏幕均匀性

目前显示器市场的产品,基本都是有由 LED 作为显示背光,所以屏幕上不同区域的色彩和亮度必定会有差异,差异的大小某种程度上则决定了屏幕的好坏。

在屏幕的均匀性测试中,Datacolor 把屏幕分成了九块区域分别测试。并在结果中通过等高线的形式,让用户更直观的感受到屏幕在均匀性测试中的表现。

通过等高线也可以看出来,数值的差异越小屏幕的表现也就越均匀。

在屏幕色彩均匀性的表现中也引入了 Delta-E 的标准,Delta-E 时能够将色彩还原的准确性量化为一个数值,Delta-E 数值能够准确地反映显示器表现色彩的准确性,数值越小颜色还原的就越准,数值越高说明色彩失真越明显。

5.色彩准确度

关于色彩准确度的评判,同样还是要应用 Delta-E 的标准,测试时我选用了一共 48 组颜色进行测试。

​整体测试下来,我的这款显示器在各个颜色的表现上,Delta-E 基本都能控制在 2 以内,个别颜色有了明显的失真,整体平均得分 1.4,这对一款中低端显示器算是不错的成绩了。

6.显示器额定值

​最后额定值评分图算是这个软件对之前全部的内容,做一个综合性的评价,也能让你对前面的测试结果心理做到有数。

结语

Datacolor SpyderX Elite 校色仪操作简单,应付得了新手也能兼顾得了专业人士。校色过程速度快,两分钟解决问题,校色效果拔群。同时功能丰富,能够支持更深度的屏幕测试,进一步的发挥校色仪的潜力。

当然 Datacolor SpyderX Elite 校色仪 也有做的不够好的地方,一些参数数据显得太专业,没有详尽的简单易懂的解释,用户有一定的学习成本。

最后我还希望,Datacolor SpyderX Elite 校色仪能像友商学一学,在软件方面支持到移动端的测试,让 Datacolor SpyderX Elite 校色仪成为更全能的产品。

相关问答

皮带传动中带轮受到的摩擦力的算法求计算公式_作业帮

[回答]物体在皮带上匀速运动.皮带是水平的话,不受摩擦力.若皮带斜向上与水平面成a角,f=mgsina物体在皮带上加速运动.皮带水平,f=umg皮带斜向上与水平面成...

展开全部内容