柴 華, 劉建峰, 顧強(qiáng)源, 呂洪智, 耿偉峰
(長(zhǎng)城汽車(chē)股份有限公司 河北省汽車(chē)技術(shù)創(chuàng)新中心, 河北 保定 071000)
在每輛車(chē)上,我們都會(huì)看到車(chē)輛的外燈(近光燈、遠(yuǎn)光燈、轉(zhuǎn)向燈、霧燈等),根據(jù)市場(chǎng)的需求,燈光所起到的作用不僅是照明,還承擔(dān)了車(chē)輛的娛樂(lè)氣氛烘托。隨著技術(shù)的發(fā)展,外部燈光也由普通的鹵素大燈逐步升級(jí)為L(zhǎng)ED大燈,LED技術(shù)讓燈光更加智能化,尤其是目前市場(chǎng)流行的貫穿式前后大燈造型,給了整車(chē)更多應(yīng)用場(chǎng)景,燈光閃爍并伴隨音樂(lè)播放的音樂(lè)燈光秀,順應(yīng)了用戶(hù)對(duì)車(chē)輛個(gè)性化功能的追求,它也成為了各個(gè)車(chē)企爭(zhēng)先開(kāi)發(fā)研究的熱點(diǎn)功能。
現(xiàn)有音樂(lè)燈光秀功能是通過(guò)存儲(chǔ)燈光秀效果軟件到各個(gè)控制器。由整車(chē)廠提出需求,供應(yīng)商開(kāi)發(fā)供貨到整車(chē)廠,整車(chē)廠只能得到固定的音樂(lè)對(duì)應(yīng)固定的燈光秀效果,若市場(chǎng)和用戶(hù)想要改變或增加新的燈光秀功能,需要再次功能定義,功能開(kāi)發(fā),整車(chē)相關(guān)系統(tǒng)再次變更測(cè)試,周期長(zhǎng)、成本高。為解決此問(wèn)題,降低周期和成本,應(yīng)用SOA服務(wù)架構(gòu)開(kāi)發(fā)音樂(lè)燈光秀功能應(yīng)運(yùn)而生。
現(xiàn)有車(chē)輛音樂(lè)燈光秀功能,采用“獨(dú)立軟件+特定硬件”,ECU的軟硬件開(kāi)發(fā)全部由供應(yīng)商完成,用戶(hù)只能在主機(jī)頁(yè)面選擇車(chē)輛已經(jīng)存儲(chǔ)好的音樂(lè)和燈光秀。因?yàn)橐呀?jīng)提前預(yù)設(shè)在車(chē)內(nèi)控制器軟件中,不會(huì)存在延時(shí)問(wèn)題,但是生成預(yù)設(shè)軟件需要投入很大的成本,且更新升級(jí)周期長(zhǎng),軟件占用空間大,需要各控制器具備較大的存儲(chǔ)空間,這對(duì)ECU軟硬件資源和能力的浪費(fèi)是顯而易見(jiàn)的。
現(xiàn)有音樂(lè)燈光秀架構(gòu)如圖1所示。
圖1 音樂(lè)燈光秀架構(gòu)
1) 影音系統(tǒng):為整車(chē)提供影音娛樂(lè)功能和人機(jī)交互頁(yè)面設(shè)置軟件,可以進(jìn)行音樂(lè)設(shè)置和音量控制。通過(guò)功放驅(qū)動(dòng)揚(yáng)聲器進(jìn)行播放,音樂(lè)頻率通過(guò)CAN從影音系統(tǒng)傳輸?shù)秸?chē)控制系統(tǒng)。
2) 整車(chē)控制系統(tǒng):主要負(fù)責(zé)實(shí)現(xiàn)音樂(lè)燈光秀功能邏輯軟件,通過(guò)CAN信號(hào)從車(chē)輛電源系統(tǒng)和擋位系統(tǒng)獲取整車(chē)電源狀態(tài)和擋位狀態(tài),用于判斷音樂(lè)燈光秀功能進(jìn)入條件是否滿(mǎn)足,進(jìn)入條件滿(mǎn)足后,通過(guò)CAN信號(hào)將燈光秀模式傳遞到車(chē)輛外燈系統(tǒng)和車(chē)窗系統(tǒng)。
3) 電源系統(tǒng):提供整車(chē)電源狀態(tài),并通過(guò)CAN信號(hào)傳遞到整車(chē)控制系統(tǒng)。
4) 擋位系統(tǒng):提供整車(chē)擋位狀態(tài),并通過(guò)CAN信號(hào)傳遞到整車(chē)控制系統(tǒng)。
5) 外燈系統(tǒng):接收整車(chē)控制系統(tǒng)CAN信號(hào),并提供整車(chē)外燈狀態(tài)及外燈驅(qū)動(dòng)。外燈包含整車(chē)外部所有燈光:遠(yuǎn)光燈、近光燈、前霧燈、后霧燈、前轉(zhuǎn)向燈、后轉(zhuǎn)向燈、晝間行車(chē)燈、制動(dòng)燈、牌照燈、角燈。
6) 車(chē)窗系統(tǒng):接收整車(chē)控制系統(tǒng)CAN信號(hào),并在燈光秀開(kāi)啟時(shí)驅(qū)動(dòng)車(chē)窗開(kāi)啟。
7) 車(chē)窗:車(chē)窗執(zhí)行單元。
8) 外燈:外燈執(zhí)行單元。
音樂(lè)燈光秀功能設(shè)計(jì)開(kāi)發(fā)采用CP-AUTOSAR,涉及到的各系統(tǒng)之間交互均采用CAN通信協(xié)議,通過(guò)硬線(xiàn)或網(wǎng)絡(luò)信號(hào)進(jìn)行系統(tǒng)間交互,涉及到信號(hào)發(fā)送方和接收方。舉例見(jiàn)表1。
表1 功能設(shè)計(jì)開(kāi)發(fā)示例
新功能優(yōu)化或新增首先會(huì)影響信號(hào)的變更,且嵌入式軟件的開(kāi)發(fā)會(huì)影響到各系統(tǒng)信號(hào)定義及信號(hào)接收方發(fā)送方的改變,成本高、更改量大、周期長(zhǎng),不能快速響應(yīng)市場(chǎng)新功能的需求。
本文意在介紹應(yīng)用SOA服務(wù)架構(gòu)設(shè)計(jì)開(kāi)發(fā)音樂(lè)燈光秀功能系統(tǒng)方案,通過(guò)較低的成本、較短的研發(fā)周期、較小更改量來(lái)滿(mǎn)足市場(chǎng)對(duì)新功能快速迭代的需求,開(kāi)發(fā)一款可以自我成長(zhǎng)的汽車(chē)。
SOA(Service-Oriented Architecture) 面向服務(wù)的一種架構(gòu),是一種設(shè)計(jì)思想和方法論。在SOA架構(gòu)中會(huì)涉及到服務(wù)、接口等概念,但服務(wù)是最核心的抽象手段和系統(tǒng)最基礎(chǔ)的描述單元;接口是指能被其他模塊調(diào)用的函數(shù)名稱(chēng)或一個(gè)封裝的API。
服務(wù)分為服務(wù)提供者(實(shí)現(xiàn)服務(wù)功能)、服務(wù)消費(fèi)者(使用服務(wù)接口,調(diào)用服務(wù)),如圖2~圖4所示。
圖2 只消費(fèi)A
圖3 只消費(fèi)B
圖4 消費(fèi)A+B
服務(wù)是SOA服務(wù)架構(gòu)的最小單元,根據(jù)消費(fèi)者調(diào)用服務(wù)的方法,服務(wù)提供者和服務(wù)消費(fèi)者有以下3種關(guān)系。圖2,消費(fèi)方只請(qǐng)求服務(wù)A,此時(shí)可以理解為功能A的開(kāi)發(fā);圖3,消費(fèi)方只請(qǐng)求服務(wù)B,此時(shí)可以理解為功能B的開(kāi)發(fā);圖4,消費(fèi)方同時(shí)請(qǐng)求服務(wù)A和B,雖然仍然是A和B的接口,但是服務(wù)提供方不再單一,可以理解為一個(gè)新功能C的開(kāi)發(fā)。
若音樂(lè)燈光秀功能開(kāi)發(fā)采用SOA服務(wù)架構(gòu),可根據(jù)外燈系統(tǒng)和影音系統(tǒng)中不同的服務(wù)接口組合,根據(jù)不同的功能需求請(qǐng)求不同的音樂(lè)和燈光秀服務(wù)接口,可快速生成不同種類(lèi)的音樂(lè)燈光秀效果,更改周期會(huì)大大縮短。SOA服務(wù)架構(gòu)圖如圖5所示。
圖5 音樂(lè)燈光秀SOA架構(gòu)
在SOA架構(gòu),音樂(lè)燈光秀功能可拆分為外燈控制服務(wù)(遠(yuǎn)光燈控制接口、近光燈控制接口、轉(zhuǎn)向燈控制接口、位置燈控制接口…)、外燈狀態(tài)服務(wù)(遠(yuǎn)光燈狀態(tài)接口、近光燈狀態(tài)接口、轉(zhuǎn)向燈狀態(tài)接口、危險(xiǎn)報(bào)警燈狀態(tài)接口、位置燈狀態(tài)接口…)、電源狀態(tài)服務(wù)、擋位狀態(tài)服務(wù)、車(chē)窗控制服務(wù)等,見(jiàn)表2。
表2 音樂(lè)燈光秀功能
1) 影音系統(tǒng): 提供HMI頁(yè)面設(shè)置,用戶(hù)可在上面選擇音樂(lè)燈光秀APP,APP版本可根據(jù)后臺(tái)功能的更新隨時(shí)更新。提供用戶(hù)音樂(lè)設(shè)置和音量控制,并能語(yǔ)音開(kāi)啟音樂(lè)燈光秀。作為音樂(lè)燈光秀功能的消費(fèi)方,可直接請(qǐng)求中央處理單元服務(wù)接口來(lái)判斷進(jìn)入音樂(lè)燈光秀功能條件,并控制音樂(lè)燈光秀的開(kāi)啟和關(guān)閉。
2) 中央處理單元:作為服務(wù)提供方,提供音樂(lè)燈光秀服務(wù):外燈控制服務(wù)、外燈狀態(tài)服務(wù)、電源狀態(tài)服務(wù)、擋位狀態(tài)服務(wù)、車(chē)窗控制服務(wù)。通過(guò)S2S模塊將服務(wù)接口轉(zhuǎn)換成CAN信號(hào),通過(guò)CAN將信號(hào)傳遞到區(qū)域控制器。
3) 區(qū)域控制器:將中央處理單元傳送的CAN信號(hào)進(jìn)行整理并進(jìn)行燈光秀軟件邏輯處理。同步驅(qū)動(dòng)外燈和車(chē)窗。
4) S2S:服務(wù)轉(zhuǎn)換信號(hào)處理模塊。
5) 車(chē)窗:車(chē)窗執(zhí)行單元。
6) 外燈:外燈執(zhí)行單元。
1) 用戶(hù)通過(guò)HMI人機(jī)交互頁(yè)面進(jìn)行音樂(lè)燈光秀設(shè)置。影音系統(tǒng)根據(jù)用戶(hù)開(kāi)啟功能需求,請(qǐng)求中央處理單元的電源狀態(tài)服務(wù)接口、擋位狀態(tài)服務(wù)接口、危險(xiǎn)報(bào)警燈狀態(tài)服務(wù)接口。
2) 影音系統(tǒng)根據(jù)電源狀態(tài)服務(wù)接口、擋位狀態(tài)服務(wù)接口、外燈狀態(tài)服務(wù)中的危險(xiǎn)報(bào)警燈狀態(tài)服務(wù)接口信息,判斷整車(chē)是否滿(mǎn)足進(jìn)入音樂(lè)燈光秀功能,當(dāng)電源狀態(tài)服務(wù)接口為1(OFF)時(shí),擋位狀態(tài)服務(wù)接口為0(P)且危險(xiǎn)報(bào)警燈狀態(tài)服務(wù)接口為1(未激活)時(shí),則成功進(jìn)入音樂(lè)燈光秀功能;當(dāng)電源狀態(tài)服務(wù)接口為非1(OFF)時(shí),或擋位狀態(tài)服務(wù)接口為非0(P)時(shí),或危險(xiǎn)報(bào)警燈服務(wù)接口為非1(未激活)時(shí),則進(jìn)入音樂(lè)燈光秀功能失敗,需在影音系統(tǒng)中控頁(yè)面顯示失敗原因提示用戶(hù),3s后消失。同步影音系統(tǒng)退出音樂(lè)燈光秀頁(yè)面,恢復(fù)到HMI人機(jī)交互首頁(yè)。
3) 當(dāng)成功進(jìn)入音樂(lè)燈光秀功能后,音樂(lè)開(kāi)始播放,影音系統(tǒng)同步將音樂(lè)頻律用CAN傳遞到區(qū)域控制器,同時(shí)影音系統(tǒng)請(qǐng)求外燈控制服務(wù)和車(chē)窗控制服務(wù)。當(dāng)功能定義燈光秀只涉及到遠(yuǎn)光燈、近光燈、位置燈時(shí),則影音系統(tǒng)請(qǐng)求遠(yuǎn)光燈控制服務(wù)接口為0(開(kāi)啟),請(qǐng)求近光燈控制服務(wù)接口為0(開(kāi)啟)、位置燈控制服務(wù)接口為0(開(kāi)啟),影音系統(tǒng)請(qǐng)求車(chē)窗控制服務(wù)接口為0(開(kāi)啟);當(dāng)服務(wù)成功執(zhí)行后,近光燈控制服務(wù)接口、遠(yuǎn)光燈控制服務(wù)接口、位置燈控制服務(wù)接口、車(chē)窗控制服務(wù)接口均反饋到影音系統(tǒng)。
4) 中央處理單元通過(guò)S2S將服務(wù)轉(zhuǎn)換成信號(hào)通過(guò)CAN傳遞到區(qū)域控制器處理。區(qū)域控制器收到CAN信號(hào)后(音樂(lè)頻律和車(chē)窗、外燈開(kāi)啟信號(hào)) 驅(qū)動(dòng)車(chē)窗開(kāi)啟,近光燈、遠(yuǎn)光燈、位置燈伴隨音樂(lè)同步閃爍。
5) 音樂(lè)播放完畢后,影音系統(tǒng)判斷音樂(lè)燈光秀功能退出,影音系統(tǒng)請(qǐng)求外燈控制服務(wù)和車(chē)窗控制服務(wù)。當(dāng)功能定義燈光秀只涉及到遠(yuǎn)光燈、近光燈、位置燈時(shí),則影音系統(tǒng)請(qǐng)求遠(yuǎn)光燈控制服務(wù)接口為1(關(guān)閉),請(qǐng)求近光燈控制服務(wù)接口為1(關(guān)閉),位置燈控制服務(wù)接口為1(關(guān)閉),影音系統(tǒng)請(qǐng)求車(chē)窗控制服務(wù)接口為1(關(guān)閉)。當(dāng)服務(wù)成功執(zhí)行后,近光燈控制服務(wù)接口、遠(yuǎn)光燈控制服務(wù)接口、位置燈控制服務(wù)接口、車(chē)窗控制服務(wù)接口均反饋到影音系統(tǒng)。
6) 音樂(lè)燈光秀功能退出,影音系統(tǒng)恢復(fù)到HMI人機(jī)交互首頁(yè),為下一次用戶(hù)使用音樂(lè)燈光秀做準(zhǔn)備。
備注:若功能定義燈光秀只涉及到遠(yuǎn)光燈、轉(zhuǎn)向燈兩個(gè)燈時(shí),則影音系統(tǒng)可只請(qǐng)求遠(yuǎn)光燈控制服務(wù)接口為0(開(kāi)啟),請(qǐng)求轉(zhuǎn)向燈控制服務(wù)接口為0(開(kāi)啟) 即可,當(dāng)服務(wù)成功執(zhí)行后,遠(yuǎn)光燈控制服務(wù)接口、轉(zhuǎn)向燈控制服務(wù)接口均反饋到影音系統(tǒng)。
音樂(lè)燈光秀在功能定義變更時(shí)可以通過(guò)服務(wù)接口不同組合快速進(jìn)行功能迭代,極大縮短了周期和開(kāi)發(fā)成本,能快速響應(yīng)市場(chǎng)的需求并增強(qiáng)用戶(hù)體驗(yàn)感。
1) 本方案中音樂(lè)燈光秀功能采用SOA電子電氣架構(gòu),功能集成化,軟件可統(tǒng)一控制處理。
2) 本方案中將實(shí)現(xiàn)音樂(lè)燈光秀功能各系統(tǒng)能力抽象為標(biāo)準(zhǔn)服務(wù),方便消費(fèi)方訂閱多個(gè)或單個(gè)服務(wù)接口,擴(kuò)大了使用場(chǎng)景。
3) 本方案中音樂(lè)燈光秀功能需要有多個(gè)燈光效果時(shí),標(biāo)準(zhǔn)服務(wù)接口可根據(jù)功能定義隨意組合,車(chē)輛會(huì)以低成本、短周期、小更改量,來(lái)滿(mǎn)足市場(chǎng)的需求。
為了滿(mǎn)足市場(chǎng)對(duì)功能的快速迭代需求,縮短變更周期,本方案中音樂(lè)燈光秀功能應(yīng)用面向服務(wù)SOA架構(gòu),采用軟硬件解耦,通過(guò)標(biāo)準(zhǔn)服務(wù)接口進(jìn)行交互,功能應(yīng)用層進(jìn)行組合,實(shí)現(xiàn)不同的燈光秀功能定義,在最小范圍內(nèi)完成功能升級(jí),以最快捷有效的方式來(lái)滿(mǎn)足市場(chǎng)用戶(hù)的需求。