廣告

新一代汽車電子電氣架構開發的職責邊界

2022-07-14 汽車電子與軟件 閱讀:
近兩年牽頭參與了多個,基于SOA的全新架構項目。在和客戶一起開展項目的過程中,也遇到了很多共性的問題。所以想借這個機會,和大家分享一下,希望對大家有所啟發。有錯誤,不恰當的地方,歡迎大家指正。

前言K5wednc

01K5wednc

近兩年牽頭參與了多個,基于SOA的全新架構項目。在和客戶一起開展項目的過程中,也遇到了很多共性的問題。所以想借這個機會,和大家分享一下,希望對大家有所啟發。有錯誤,不恰當的地方,歡迎大家指正。K5wednc

開發過程中的痛點K5wednc

02K5wednc

近年來,由于汽車電子電氣架構的快速迭代,很多主機廠都處于新老架構交替的重要時期,搭建一個全新的架構,對于任何團隊都將是一個不小的挑戰。任何新生事物的出現,都是對傳統的革命,我們需要抱著積極的心態,至少在一定程度上打破原有的思維和框架,從而建立新的秩序。K5wednc

在SOA架構設計項目中,無論是和主機廠,或是我們團隊內部,都對項目開展了多次復盤總結,大概得出了下圖中的這些共性問題。包括:“職責邊界”,“傳統和變革共存”,“服務是什么”......K5wednc

K5wednc

這些問題需要從宏觀上,或者從思維意識上,給予特別的重視。今天我們就——“職責邊界”,來重點聊一聊。K5wednc

我們知道,汽車電子電氣是個異常復雜的系統,不可能由一個人,一個組織來完成。所以站在主機廠角度,梳理出正確的事情,然后把他們交給正確的組織來做,就顯得異常重要。K5wednc

當然這也涉及到公司的業務策略,對未來的定位,比如公司是否致力于主導打造完整的生態鏈,還是掌握核心的軟件,還是僅僅專注于市場需求的理解及實現,等等。K5wednc

無論如何,宏觀的職責分工在一開始就需要規劃清楚,否則所有的工作是沒法有效開展的,就算開展了,也會逐步偏離初衷,變難以控制。K5wednc

職責定義K5wednc

03K5wednc

在我們討論職責邊界之前,應該先清晰一個問題,“職責由何而來?”,只有清楚了職責的由來,才能梳理出職責的準確定義,并進一步明確職責的邊界。K5wednc

為了得到答案,先讓我們回到最初的起點,看看我們對車輛的定義是怎樣的。車輛是僅僅作為交通工具,還是發展成為所謂的第三生活空間?無論是哪種發展方向,有一點是肯定的:車輛都是為人來服務的。K5wednc

從下圖中,我們可以看到車輛使用時的三個要素:環境,車輛和用戶。車輛需要感知環境,來滿足用戶的需求。從這點來看,也能說明為什么把整個車輛作為系統的邊界來定義用戶需求。(環境和用戶在這里都是廣義的,我們就不展開了。)K5wednc

K5wednc

接下來我們撥開車輛的外殼,進到車輛的內部,來看下車輛是如何感知環境來滿足用戶需求的。這個層級已經屬于解決方案了,核心元素是傳感器,ECU執行器。K5wednc

K5wednc

從上圖中,我們可以看到,環境中的一切物理表象,通過傳感器轉化為對應的電信號,然后這些模擬電信號,傳輸到在ECU內部,轉化為數字信號。然后在軟件世界進行溝通,計算和分析,之后將控制指令轉化為模擬信號。模擬信號傳遞到執行器,執行器遵照這些指令,結合自身的物理特性,執行器完成功能在物理世界的最終實現。這個層級看得見摸得著,傳統的零部件供應商基本也是按照這個職責來劃分。K5wednc

對于傳感器和執行器,目前的現狀和趨勢是各家的技術和方案逐漸趨同,以后應該是向標準化的方向發展了。當然這些不是我們今天討論的范圍,ECU才是我們今天討論的重點。我們可以看到ECU在感知環境和滿足用戶的過程中起到了關鍵的分析與控制的角色,所以ECU才是滿足車輛定義的核心元素。由此,也回答了我們之前的問題,當我們討論架構開發中的職責,其實本質是溯源到ECU所承擔的職責。K5wednc

接下來我們再撥開ECU的外殼,到ECU內部來看看。這里我們提到的ECU是個泛化概念,對于用戶,不太在乎是1個ECU還是100個ECU實現了他們所期望的功能。但是從架構的角度,我們需要評估需要有哪些ECU,這些ECU分別承擔什么職責是最優化的。K5wednc

我們詳細來看看ECU可能承擔的職責,這里將忽略ECU的中間件,應用層,操作系統......這些是用以 “實現” ECU職責的部件,但我們今天單講 “職責”,不講 “實現”。K5wednc

在下圖中,我們根據不同的職責,將ECU分成多個軟件層級。K5wednc

K5wednc

最底層的是Device (S&A) abstraction,這里是指傳感器,執行器這些物理部件的抽象。K5wednc

K5wednc

當我們和其他人進行溝通,或者協作時,首先要保證有同樣的語言。如果都不能理解對方說了什么,好的溝通結果根本無從保證。K5wednc

K5wednc

這里的Device (S&A) Abstraction其實就是這個作用,他們是在軟件世界里對實際物理設備的抽象,或者說翻譯。K5wednc

除了Device (S&A) abstraction以外,其他的每一層都發揮著獨有的作用,為了更好的理解ECU每一層所承擔的職責,我們可以將他與人體機能進行類比,如下圖所示:K5wednc

K5wednc

  • Device (S&A) abstraction:K5wednc

這個最底層的作用就相當于人的雙手,雙腳,是最終接觸這個世界的對象。K5wednc

  • Device (S&A) control:K5wednc

這層就是對Device的控制,比如對天窗電機的控制,開還是關等等,類似于人手部的肌肉,控制手的活動。K5wednc

  • Gateway of communication:K5wednc

這層主要是通訊的樞紐,類似于人的關節,連接身體的各個部位。K5wednc

  • Domain/zone level control:K5wednc

這層是功能域控制,是對控制之間的協調。比如為了保證車身的穩定,需要考慮如何協調制動控制和轉向控制。類似于神經系統,如何協調手腳,來保持身體平衡。K5wednc

  • Cross-domain/vehicle scope control:K5wednc

這層就是整車范圍內的規劃。比如所謂的場景定義汽車,基于場景來進行整車范圍內的規劃。這類似于人的大腦,處理一個項目,考慮要做哪些事情,前后次序是什么等等。K5wednc

這個層級架構,從下往上,層級越高,處理的事務就越復雜,就越需要規劃和計算,層級越低,越簡單,只需要條件反射。這和人,也是一樣的。K5wednc

在了解了ECU可能承擔的職責以后,接下來我們來看看,架構在演變過程中ECU的職責是怎么變化的。K5wednc

分布式架構K5wednc

首先是最傳統的分布式架構,ECU承擔了設備抽象和設備控制的職責,每個ECU基本上是各司其職,盡可能不打擾對方。這個架構里,人承擔了總體規劃,思考分析,及車輛行為的協調的職責。K5wednc

K5wednc

域(Domain)控架構K5wednc

接下來是功能域架構,在原來的基礎上增加了功能域控制器,來承擔域內的協調及域間的溝通。K5wednc

K5wednc

區域控制+中央計算架構K5wednc

最后,就升級為區域控制+中央計算的架構,在這個架構中,人大腦的職責也要被取代了。到這一步,車輛將真正發展成為數據世界中的一環。K5wednc

K5wednc

因為每個公司或多或少都有遺留的資產或者負擔,包括基于原有架構的打造的,車型,組織架構,流程和工具,原有的零部件和供應鏈體系等等。另外,支持新架構的產品體系還沒有完全打通,尤其是在性能,功能安全等方面,所以這個架構還處于,傳統控制器和新架構控制器同時存在的中間狀態,各自的職責還在不斷的發生演進,這背后會有不同的力量在推動。K5wednc

接下來,我們聊下為什么要分層?K5wednc

這和我們對架構的理解,以及供應商合作方式都有很大的關系。K5wednc

K5wednc

我們暫且以ECU這個顆粒度來舉例。在上圖中,如果把一個ECU和另一個ECU的交互定義為一個復雜度,那么左邊這平級架構中的每個ECU因為自身功能,需要溝通的話,都將有3個可能的復雜度。最終,這4個ECU組成的架構,一共將存在3*4,12個復雜度。K5wednc

而如果把其中一個ECU提高一個層級,通過這個ECU來協調底層的ECU。這個ECU將依然保持3個復雜度,但是底層的每個ECU,復雜度都將變成1。那這4個ECU組成的架構,就變為6個復雜度。K5wednc

大家可以看下這個差異。同樣是4個ECU的總數,但最終的復雜度數量卻減少了一半。ECU數量越大,兩種架構的復雜度差異也將越大。K5wednc

另外,因為不同層級復雜度的明確,對于如何宏觀分配資源,規劃平臺,我們就心中有數了。K5wednc

需要注意的是,這個例子,只是以ECU為單位,對功能實現來講,顆粒度必須下沉到軟件單元才有意義。這種情況下,因為架構分層引起的數量差就更加可怕了。K5wednc

從這點上,也能理解,為什么在傳統的架構和供應商體系中,有任何小的改動都如此緩慢和昂貴了。我們如果不從根本上解決復雜度,其他的措施都是揚湯止沸,治標不治本。K5wednc

職責邊界K5wednc

04K5wednc

從車輛定義再到ECU層級的拆解,我們對開發過程中ECU所承擔的職責已經較為清晰了。最后,根據ECU所承擔的職責,我也對實際開發過程中的職責邊界給出自己的看法。K5wednc

K5wednc

在上圖中,我們先將整個開發分為兩個大的階段,需求開發和產品開發,然后根據之前提到的ECU層級,將產品開發劃分為3級,每一級又拆分為軟件產品和硬件產品。然后基于這個分類,應當由主機廠,還是合作商來承擔某一分類的職責,在圖中給出了推薦程度。K5wednc

因為傳統OEM的開發設計人員,不太懂軟件,而傳統的軟件商只關注單個ECU,沒有整車視野,所以在這個變革的歷史階段,市場上需要有能結合兩種能力和視野的方案供應商,來彌補缺失的地方。(在實際的情況中,方案商也可能是軟件供應商。)K5wednc

最后,重點說明兩點:K5wednc

  1. 在新的架構體系下,主機廠除了負責需求開發,還應該掌控域控制器及中央控制器的軟件開發,只有這樣,才真正培養迭代能力,保證產品質量,擁有真正的話語權。K5wednc

    注:掌控不一定代表需要事必躬親,什么都是自己來做。K5wednc

  2.  最底層的ECU,建議軟硬件同一供應商,因為在這一層軟硬件耦合性較大。再往上,域和中央控制器的ECU,建議軟硬分離,由不同的供應商負責,而且因為領域的不同,可能存在多個軟件供應商,如此一來,主機廠的協調溝通就尤其重要。K5wednc

作者介紹K5wednc

05K5wednc

K5wednc

ENDK5wednc

責編:Admin
文章來源及版權屬于汽車電子與軟件,EDN電子技術設計僅作轉載分享,對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。如有疑問,請聯系Demi.xia@aspencore.com
汽車電子與軟件
汽車電子與軟件
  • 微信掃一掃
    一鍵轉發
  • 最前沿的電子設計資訊
    請關注“電子技術設計微信公眾號”
廣告
熱門推薦
廣告
廣告
EE直播間
在線研討會
廣告
廣告
面包芯語
廣告
向右滑動:上一篇 向左滑動:下一篇 我知道了
激情亚洲av无码日韩色 嗯嗯~,女生~哦~自慰~啊啊~舒服 国产AV人人夜夜澡人人爽 手机在线看永久av片免费 欧美色播 中年熟妇精品BBBB