簡介在引入SOA架構(gòu)之后,,汽車軟件工程師不得不面臨的一個(gè)問題是,,基于以太網(wǎng)的服務(wù)(service)的域控制器,區(qū)域控制器等,,如何能和只有基于信號(signal)工作的ECU相互兼容并工作,。 這個(gè)問題之前并沒有被AUTOSAR規(guī)范所定義,所以也沒有類似于其他BSW模塊的基礎(chǔ)模塊,,或者參考解決方案以使用,,基本上OEM或者Tier1需要新建一個(gè)SWC/APP來做這個(gè)轉(zhuǎn)換,至于是部署在CP端還是AP端,,這個(gè)不同的團(tuán)隊(duì)都會根據(jù)實(shí)際硬件性能或者軟件架構(gòu)進(jìn)行思考,。 在AUTOSAR組織發(fā)布20-11版本規(guī)范之后,我們可以在AUTOSAR_TPS_System Template文檔的6.16章節(jié)閱讀到對于Signal to Service(下稱S2S)的實(shí)現(xiàn)參考,。當(dāng)然,,這里也只是一個(gè)參考,并沒有相應(yīng)的SWS文檔進(jìn)行詳細(xì)規(guī)范定義,,所以仍舊需要各供應(yīng)商或者軟件團(tuán)隊(duì)自己進(jìn)行實(shí)現(xiàn),。 今天,,我們一起來解讀一下規(guī)范中是如何說明S2S的功能的,。 大體方案
部署S2S的時(shí)候,團(tuán)隊(duì)可以根據(jù)實(shí)際需求決定是部署在CP或者AP上,,同時(shí),,也要考慮是否加上E2E或者SecOC的功能。 架構(gòu)上圖展示了S2S功能以SWC的方式部署在CP端的形式,。 無論是基于信號還是基于服務(wù)的通信部分,,CP端的COM協(xié)議棧都可以提供完整支持,再配合E2E Transformer,,SecOC等模塊功能,,可以實(shí)現(xiàn)功能安全以及信息安全的保護(hù),。 S2S可以完成Event,F(xiàn)ield的轉(zhuǎn)換,,由于Method只能基于以太網(wǎng)而且Method本身必須做序列化,,通信雙方必定能夠互相識別,所以沒有必要再對Method做轉(zhuǎn)換,。 數(shù)據(jù)映射S2S的數(shù)據(jù)映射需要定義在Arxml文件當(dāng)中,,以SignalServiceTranslationProps表示,例如: (由于是20-11規(guī)范定義的屬性,,筆者未找到合適SWC設(shè)計(jì)軟件以圖形化界面查看,,如果有小伙伴知道有哪個(gè)工具可以,歡迎留言) 和S2S功能相關(guān)的屬性如上圖,。 Props就是一組數(shù)據(jù)映射,,所有的Props都在PropsSet下。
而對于SignalServiceTranslationEventProps:
我們先來看一個(gè)信號和服務(wù)一對一映射的一個(gè)簡單示例,R1收到signal以后進(jìn)行信號服務(wù)轉(zhuǎn)換,,然后P1發(fā)出,。 對于SignalServiceTranslationElementProps:
服務(wù)發(fā)現(xiàn)控制從S2S的角度來看,它需要能夠控制對應(yīng)服務(wù)的提供和訂閱,,大體框架如下圖: 當(dāng)然,,這里涉及到一個(gè)問題,S2S在何時(shí)可以開始轉(zhuǎn)換功能呢,? 如果有注意到的話,,上文已經(jīng)提到過一個(gè)屬性——serviceControl,它對應(yīng)有三個(gè)值,,代表了服務(wù)可用的時(shí)間節(jié)點(diǎn):
ECU啟動時(shí),,也可以理解為自啟動,服務(wù)實(shí)例會自動進(jìn)行offer,,SWC也不需要通過BswM控制服務(wù)狀態(tài),。 網(wǎng)絡(luò)上線(激活)時(shí),也即在網(wǎng)絡(luò)可用時(shí),,轉(zhuǎn)換過的服務(wù)實(shí)例才會提供offer/subscribe的功能,。 有的場景下,基于信號的PDU是由SD控制的,,所以需要在服務(wù)生效時(shí),,開啟轉(zhuǎn)換功能。 Safety and Security當(dāng)引入了E2E頭部信息或者加密通信特性時(shí),,需要先完成對應(yīng)的封包/解包等,,再進(jìn)行信號服務(wù)轉(zhuǎn)換,。 上圖是和E2E相關(guān)的示意圖,當(dāng)safeTranslation設(shè)置為True時(shí),,這個(gè)流程就起效了,。 對于加密通信來說,需要設(shè)置secureTranslation為True,,至于是使用SecOC還是TLS進(jìn)行底層加解密,,就看各團(tuán)隊(duì)自己的需求了。 AP端S2S實(shí)現(xiàn)在AP端,,可以將S2S作為一個(gè)進(jìn)程部署,,至于具體實(shí)現(xiàn),可以沿用CP的協(xié)議棧,,部署在對應(yīng)的POSIX系統(tǒng)上,。 |
|