易特驰全栈中间件助力从概念到量产
如何在这些既要又要的需求中,选择一个合适的技术路径一直是各家车企的的核心能力。完成一个车辆应用的开发就像写一个手机应用一样简单成为了理想中的终极目标。
在这个目标的驱使下,选择一款功能强大的中间件至关重要。
总的来说中间件要解决以下主要问题:
1.为应用层提供稳定的SOA架构API
应用层开发者能像手机APP一样调用标准的API和服务框架接口,即使产品换代了也不需要关心他们是否立马不能用。这就是SOA的能力,为实现跨域融合等中央计算平台的发展,高性能SoC产品和中央集中式E/E架构是实现跨域融合的硬件基础,而面向服务的软件架构(SOA)则是实现跨域融合的软件基础。
在汽车软件的领域,最佳实现跨域融合的方式是面向服务的架构(Service-oriented Architecture, SOA)。SOA是一种软件设计方法,其中软件组件被设计为独立的服务,可以通过网络进行通信和交互。在汽车软件中,SOA的应用可以将各种车辆系统,如发动机管理系统、制动系统和娱乐系统等,分解为独立的服务组件,使得这些组件可以更加灵活地进行组合和配置,以满足不同车型和市场的需求。SOA可以提高汽车软件的可靠性、可维护性和可扩展性,使得汽车制造商可以更加容易地开发和维护各种汽车系统。
SOA有助于提高汽车软件的开发效率和质量,通过整合已有的软件模块,可以避免重复开发和测试,同时可以减少软件集成带来的问题和风险,提高软件的可靠性和安全性。
值得注意的是,传统汽车软件开发的中间性工具链并不会被取代,刹车、转向、防爆、车身稳定控制等传统车控软件是由单一ECU控制,并不适用于SOA架构,未来仍会通过基于模型仿真和嵌入式的传统汽车软件开发方式进行开发。但是由于未来新型的车用软件需具备跨域能力,因此无法按照传统单一ECU的开发方式去开发,必须采用SOA架构。
2.高效的调用下层车辆信号
目前大部分车型还是使用CAN的协议,怎么把中间件框架与CAN协议连起来也会遇到复杂的问题,也就是DBC信号映射的难题。
DBC信号示意图
DBC信号映射生成的痛点分析:
1. 编写DBC与API映射关系低效繁琐
在现代汽车工程领域,数据总线通信(DBC)文件扮演着至关重要的角色。这些文件定义了车载网络中各种信号的属性,为整个系统的正常运行提供了基础支撑,行业内已经有成熟的工具来编辑生成DBC。然而,对于大多数工程师来说,编写与上层API的映射关系无疑是一项繁琐且令人头疼的任务,因为上层API的定义是基于车企内部的要求定制的,用到的相关工具链也是内部自研的。
编写映射关系无疑是一个痛苦的过程。工程师需要仔细推敲每个信号定义的格式和内容,如同在茫茫大海中寻找一根针般感到无助和挫败。即使完成了这项艰巨的任务,接下来还需要小心翼翼地检查每一个细节,生怕犯一些低级错误。这就像是一个永无止境的噩梦,让人感觉自己就像是一名专业的"MS文员"。不仅浪费了宝贵的工程师时间和精力,也大大增加了项目的开发成本。每个细微的失误都可能造成严重的后果,使整个车载网络系统陷入瘫痪。因此,迫切需要一种更加高效和可靠的映射关系生成方式,以减轻工程师的负担,提高整个车载网络系统的开发效率。
自动化工具,算法以及校验正确性功能无疑是一个很好的解决方案。通过采用这种方式,工程师可以摆脱半人工编写映射关系的痛苦,专注于更有价值的工程任务。只有这样,我们才能真正提升车载网络系统的开发效率,推动汽车工程技术的不断进步。
2. DBC信号映射关系缺乏可视化
虽然DBC自身的工具链已经很成熟,但业界普遍缺乏可视化的DBC映射关系分析工具。开发者只能依靠文字描述来推测理解各个信号和API的定义,就好比让一个连蚂蚁都捉不住的人去抓野兔一样,完全是痴人说梦。笔者曾经花费大量时间才搞清楚一个DBC文件和对应的上层API接口,结果第二天就又忘记了大部分内容,效率之低下令人发指。
然而,对于汽车电子领域的开发者来说,能否迅速理解和操作DBC以及API,往往直接决定着项目的进度和质量。若能借助可视化工具,将这些繁琐的配置信息直观地呈现出来,必将大大提升开发人员的工作效率。比如,运用漂亮的图表展示各个信号的数据特性以及对应API的变化,或者提供一个直观的关系编辑器,让开发者可以轻松地修改和调试这些关系,无疑会大幅缓解当前映射关系操作的困境。
3. DBC信号映射关系的版本管理困难
在实际应用中,映射关系的版本管理存在诸多问题,需要知道最终生成的文件是由哪个版本的DBC,API版本,映射规则版本以及最终三者经过处理后的产出物的版本等。由于缺乏统一的版本控制机制,当需要追溯之前的文件变更情况时,常常会陷入"大海捞针"般的困境,难以找到准确的历史记录。这无疑给后续的系统集成和故障诊断带来了很多不便。
当前,汽车行业正处于一个关键的转折点。随着电动化、自动驾驶和连接服务的发展,车载软件正变得愈发复杂和关键。传统的软件开发模式已经难以满足日新月异的市场需求,迫切需要寻找全新的解决方案。ETAS公司正是对这一趋势高度重视,并在不同领域进行了积极的探索与实践。值得关注的是,他们在Eclipse开源社区推出了几个重要的项目,试图从根本上改变汽车软件开发的范式。
首先是Velocitas项目,这是一款基于高级语言的应用层开发框架。它旨在简化复杂的软件构建过程,使开发人员能够更加高效地创建车载应用程序。通过Velocitas,工程师可以摆脱底层硬件和操作系统的限制,专注于业务逻辑的实现,大大提高了开发效率。
其次是Kuksa项目,这是一个符合VSS国际标准的车辆模型描述规则。Kuksa建立了一套完整的车辆数据模型,涵盖了从底层硬件到高层应用的各个方面。利用这个统一的数据模型,不同的软件组件可以更好地进行集成和协作,极大地减少了系统复杂性。
最后,Leda项目更是令人兴奋。这是一个能够实现"一键部署"的解决方案,可以将开发好的软件快速部署到真实车辆和仿真平台上。有了Leda,工程师再也不必为复杂的交叉编译、打包等问题而烦恼,大大提高了软件验证的效率。而且,Leda项目团队还在不断升级完善,相信不久后就会有更多令人期待的新功能。
ETAS公司在Eclipse开源社区推出的这些项目,无疑为未来汽车软件开发带来了新的希望。Velocitas、Kuksa和Leda三大项目分别从应用开发、数据建模和自动化部署等关键环节进行了创新,为解决行业痛点提供了有力的支撑。
-
中间件
+关注
关注
0文章
65浏览量
18166 -
SOA
+关注
关注
1文章
286浏览量
27460 -
汽车软件
+关注
关注
0文章
98浏览量
3178
原文标题:易特驰全栈中间件助力从概念到量产
文章出处:【微信号:ETASChina,微信公众号:ETAS易特驰】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论