一种应用SOA 汽车音乐灯光秀功能实现方案
2023-03-18刘建峰顾强源吕洪智耿伟峰
柴 华, 刘建峰, 顾强源, 吕洪智, 耿伟峰
(长城汽车股份有限公司 河北省汽车技术创新中心, 河北 保定 071000)
在每辆车上,我们都会看到车辆的外灯(近光灯、远光灯、转向灯、雾灯等),根据市场的需求,灯光所起到的作用不仅是照明,还承担了车辆的娱乐气氛烘托。随着技术的发展,外部灯光也由普通的卤素大灯逐步升级为LED大灯,LED技术让灯光更加智能化,尤其是目前市场流行的贯穿式前后大灯造型,给了整车更多应用场景,灯光闪烁并伴随音乐播放的音乐灯光秀,顺应了用户对车辆个性化功能的追求,它也成为了各个车企争先开发研究的热点功能。
现有音乐灯光秀功能是通过存储灯光秀效果软件到各个控制器。由整车厂提出需求,供应商开发供货到整车厂,整车厂只能得到固定的音乐对应固定的灯光秀效果,若市场和用户想要改变或增加新的灯光秀功能,需要再次功能定义,功能开发,整车相关系统再次变更测试,周期长、成本高。为解决此问题,降低周期和成本,应用SOA服务架构开发音乐灯光秀功能应运而生。
1 现状
现有车辆音乐灯光秀功能,采用“独立软件+特定硬件”,ECU的软硬件开发全部由供应商完成,用户只能在主机页面选择车辆已经存储好的音乐和灯光秀。因为已经提前预设在车内控制器软件中,不会存在延时问题,但是生成预设软件需要投入很大的成本,且更新升级周期长,软件占用空间大,需要各控制器具备较大的存储空间,这对ECU软硬件资源和能力的浪费是显而易见的。
现有音乐灯光秀架构如图1所示。
图1 音乐灯光秀架构
1) 影音系统:为整车提供影音娱乐功能和人机交互页面设置软件,可以进行音乐设置和音量控制。通过功放驱动扬声器进行播放,音乐频率通过CAN从影音系统传输到整车控制系统。
2) 整车控制系统:主要负责实现音乐灯光秀功能逻辑软件,通过CAN信号从车辆电源系统和挡位系统获取整车电源状态和挡位状态,用于判断音乐灯光秀功能进入条件是否满足,进入条件满足后,通过CAN信号将灯光秀模式传递到车辆外灯系统和车窗系统。
3) 电源系统:提供整车电源状态,并通过CAN信号传递到整车控制系统。
4) 挡位系统:提供整车挡位状态,并通过CAN信号传递到整车控制系统。
5) 外灯系统:接收整车控制系统CAN信号,并提供整车外灯状态及外灯驱动。外灯包含整车外部所有灯光:远光灯、近光灯、前雾灯、后雾灯、前转向灯、后转向灯、昼间行车灯、制动灯、牌照灯、角灯。
6) 车窗系统:接收整车控制系统CAN信号,并在灯光秀开启时驱动车窗开启。
7) 车窗:车窗执行单元。
8) 外灯:外灯执行单元。
音乐灯光秀功能设计开发采用CP-AUTOSAR,涉及到的各系统之间交互均采用CAN通信协议,通过硬线或网络信号进行系统间交互,涉及到信号发送方和接收方。举例见表1。
表1 功能设计开发示例
新功能优化或新增首先会影响信号的变更,且嵌入式软件的开发会影响到各系统信号定义及信号接收方发送方的改变,成本高、更改量大、周期长,不能快速响应市场新功能的需求。
2 SOA架构音乐灯光秀系统开发
本文意在介绍应用SOA服务架构设计开发音乐灯光秀功能系统方案,通过较低的成本、较短的研发周期、较小更改量来满足市场对新功能快速迭代的需求,开发一款可以自我成长的汽车。
2.1 SOA服务架构
SOA(Service-Oriented Architecture) 面向服务的一种架构,是一种设计思想和方法论。在SOA架构中会涉及到服务、接口等概念,但服务是最核心的抽象手段和系统最基础的描述单元;接口是指能被其他模块调用的函数名称或一个封装的API。
服务分为服务提供者(实现服务功能)、服务消费者(使用服务接口,调用服务),如图2~图4所示。
图2 只消费A
图3 只消费B
图4 消费A+B
服务是SOA服务架构的最小单元,根据消费者调用服务的方法,服务提供者和服务消费者有以下3种关系。图2,消费方只请求服务A,此时可以理解为功能A的开发;图3,消费方只请求服务B,此时可以理解为功能B的开发;图4,消费方同时请求服务A和B,虽然仍然是A和B的接口,但是服务提供方不再单一,可以理解为一个新功能C的开发。
若音乐灯光秀功能开发采用SOA服务架构,可根据外灯系统和影音系统中不同的服务接口组合,根据不同的功能需求请求不同的音乐和灯光秀服务接口,可快速生成不同种类的音乐灯光秀效果,更改周期会大大缩短。SOA服务架构图如图5所示。
图5 音乐灯光秀SOA架构
在SOA架构,音乐灯光秀功能可拆分为外灯控制服务(远光灯控制接口、近光灯控制接口、转向灯控制接口、位置灯控制接口…)、外灯状态服务(远光灯状态接口、近光灯状态接口、转向灯状态接口、危险报警灯状态接口、位置灯状态接口…)、电源状态服务、挡位状态服务、车窗控制服务等,见表2。
表2 音乐灯光秀功能
2.2 音乐灯光秀架构组成说明
1) 影音系统: 提供HMI页面设置,用户可在上面选择音乐灯光秀APP,APP版本可根据后台功能的更新随时更新。提供用户音乐设置和音量控制,并能语音开启音乐灯光秀。作为音乐灯光秀功能的消费方,可直接请求中央处理单元服务接口来判断进入音乐灯光秀功能条件,并控制音乐灯光秀的开启和关闭。
2) 中央处理单元:作为服务提供方,提供音乐灯光秀服务:外灯控制服务、外灯状态服务、电源状态服务、挡位状态服务、车窗控制服务。通过S2S模块将服务接口转换成CAN信号,通过CAN将信号传递到区域控制器。
3) 区域控制器:将中央处理单元传送的CAN信号进行整理并进行灯光秀软件逻辑处理。同步驱动外灯和车窗。
4) S2S:服务转换信号处理模块。
5) 车窗:车窗执行单元。
6) 外灯:外灯执行单元。
2.3 音乐灯光秀功能实现讲解
1) 用户通过HMI人机交互页面进行音乐灯光秀设置。影音系统根据用户开启功能需求,请求中央处理单元的电源状态服务接口、挡位状态服务接口、危险报警灯状态服务接口。
2) 影音系统根据电源状态服务接口、挡位状态服务接口、外灯状态服务中的危险报警灯状态服务接口信息,判断整车是否满足进入音乐灯光秀功能,当电源状态服务接口为1(OFF)时,挡位状态服务接口为0(P)且危险报警灯状态服务接口为1(未激活)时,则成功进入音乐灯光秀功能;当电源状态服务接口为非1(OFF)时,或挡位状态服务接口为非0(P)时,或危险报警灯服务接口为非1(未激活)时,则进入音乐灯光秀功能失败,需在影音系统中控页面显示失败原因提示用户,3s后消失。同步影音系统退出音乐灯光秀页面,恢复到HMI人机交互首页。
3) 当成功进入音乐灯光秀功能后,音乐开始播放,影音系统同步将音乐频律用CAN传递到区域控制器,同时影音系统请求外灯控制服务和车窗控制服务。当功能定义灯光秀只涉及到远光灯、近光灯、位置灯时,则影音系统请求远光灯控制服务接口为0(开启),请求近光灯控制服务接口为0(开启)、位置灯控制服务接口为0(开启),影音系统请求车窗控制服务接口为0(开启);当服务成功执行后,近光灯控制服务接口、远光灯控制服务接口、位置灯控制服务接口、车窗控制服务接口均反馈到影音系统。
4) 中央处理单元通过S2S将服务转换成信号通过CAN传递到区域控制器处理。区域控制器收到CAN信号后(音乐频律和车窗、外灯开启信号) 驱动车窗开启,近光灯、远光灯、位置灯伴随音乐同步闪烁。
5) 音乐播放完毕后,影音系统判断音乐灯光秀功能退出,影音系统请求外灯控制服务和车窗控制服务。当功能定义灯光秀只涉及到远光灯、近光灯、位置灯时,则影音系统请求远光灯控制服务接口为1(关闭),请求近光灯控制服务接口为1(关闭),位置灯控制服务接口为1(关闭),影音系统请求车窗控制服务接口为1(关闭)。当服务成功执行后,近光灯控制服务接口、远光灯控制服务接口、位置灯控制服务接口、车窗控制服务接口均反馈到影音系统。
6) 音乐灯光秀功能退出,影音系统恢复到HMI人机交互首页,为下一次用户使用音乐灯光秀做准备。
备注:若功能定义灯光秀只涉及到远光灯、转向灯两个灯时,则影音系统可只请求远光灯控制服务接口为0(开启),请求转向灯控制服务接口为0(开启) 即可,当服务成功执行后,远光灯控制服务接口、转向灯控制服务接口均反馈到影音系统。
音乐灯光秀在功能定义变更时可以通过服务接口不同组合快速进行功能迭代,极大缩短了周期和开发成本,能快速响应市场的需求并增强用户体验感。
3 方案亮点及效果
1) 本方案中音乐灯光秀功能采用SOA电子电气架构,功能集成化,软件可统一控制处理。
2) 本方案中将实现音乐灯光秀功能各系统能力抽象为标准服务,方便消费方订阅多个或单个服务接口,扩大了使用场景。
3) 本方案中音乐灯光秀功能需要有多个灯光效果时,标准服务接口可根据功能定义随意组合,车辆会以低成本、短周期、小更改量,来满足市场的需求。
4 结束语
为了满足市场对功能的快速迭代需求,缩短变更周期,本方案中音乐灯光秀功能应用面向服务SOA架构,采用软硬件解耦,通过标准服务接口进行交互,功能应用层进行组合,实现不同的灯光秀功能定义,在最小范围内完成功能升级,以最快捷有效的方式来满足市场用户的需求。