1.確定目標
在明確目標時首先強調,時序圖沒有優劣好壞高下之分,它的作用是幫助設計者傳達出作者的設計理念,以便讀者更夠快速、無誤的理解。
比如我們作為系統工程師,是對于系統整體最了解的人,是最清楚ADCU域內各模塊之間數據交互的人;所以我們的設計的時序圖,力圖要將各模塊之間的交互梳理清楚,讓感知、融合、定位、規劃、控制等模塊的Owner能夠清楚的知道,在什么時間下該模塊需要與其他模塊進行什么樣的握手,而該模塊內部的信號邏輯,則歸屬于該模塊的負責人去設計。
好的,那么對于自動泊車系統來說,APA整體功能流程錯綜復雜,為避免時序圖臃腫與繁瑣導致的可讀性下降;我們將APA功能分解為若干個功能過程,分別對每個過程中的時序進行逐一描述,將各過程拼接后能夠得到清晰明白的功能時序。
2.選擇合適的顆粒度
作為系統工程師,我們當然選擇 通過功能解構來分別繪制時序圖 。本文不對APA功能邏輯做詳細介紹,那么熟悉APA的同學都知道,APA過程可以簡單的分為車位搜索、選擇車位、泊入泊出過程、中斷恢復等,下圖通過這種思路簡單的做時序圖分解。
于是我們知道了,需要分別設計“激活泊車功能”、“退出泊車功能”、“前臺搜車位”、“后臺搜車位”、“點擊選擇車位”、“自動泊車過程”、“泊車過程中斷”等等時序圖。
3.命名規則
另外描述的顆粒度應該選擇為模塊間的交互信號,如在設計初期該信號未定義,可以選擇用語義性的信號進行描述,通俗易懂即可,最好前綴明確標注為什么類型的信號,如以太網、CAN、FR、或域內的交互信號。
比如用戶按下激活泊車按鍵,這是一個以太網信號,以Eth為前綴,采用大駝峰命名法(個人習慣),描述為Eth_ApaBtn(1:EnterApa),括號內為該信號此時應該發送的值。
4.布局合理
整體布局方面,這個主要符合美觀要求就好,一般我們設計模塊交互圖時,左邊為輸入,右邊為輸出。我們可以遵循這個原則,進行設計。
APA系統交互分為域外與域內,域外會與用戶輸入、DHU、底盤動力、轉向等ECU進行交互,域內為各模塊之間的交互。
我們將域內與域外的對象用不同顏色表示,從左邊開始為原始輸入,按照時間順序排列對象和消息,并使用對齊和間距來提高可讀性。
5.注釋和說明
在時序圖最左側以Diagram Conventions的形式將對象進行說明。在時序圖后通過文字對每一條跳轉進行詳細描述。
6.簡化和抽象
**避免繁雜與重復,巧用組合片段用來解決交互執行的條件和方式。**比如Opt選項、Alt抉擇、Loop循環等,能夠幫助你節約大量時間,并且提高可讀性,還顯得很專業。
最喜歡這種偷懶又實用的技巧。
7.使用工具支持設計
由于作者是在家設計,使用的是試用版的EA,畫面簡潔漂亮,給EA的設計師點贊,也是花費無數心血完成的軟件,無腦吹起來就好。不過個人感覺UML建模好像用的越來越少了,可能是個人局限性原因吧,畫畫圖還是很好用的。
現在鋪墊都已經做好了,接下來無腦進行功能邏輯描述就好了,以最基本的,我們剛剛分解的“激活自動泊車”功能時序圖為例。
1.首先進行功能描述:
激活自動泊車功能:用戶開啟通過操作開啟自動泊車功能,滿足開啟功能條件,狀態機進行跳轉并通知下游模塊,進入自動泊車功能;不滿足開啟功能條件,APA返回DHU功能開啟失敗原因提示。
2.然后附上時序圖:
該時序圖為簡單描述,僅作說明示意
3.進行注釋說明:
1.用戶點擊中控軟開關或語音開啟自動泊車功能,DHU通過Flexray發送APA功能激活信號Flexray_BtnPush == 1:EnterAPA至ADCU;
2.ADCU MCU Flexray Transceiver接收信號并通過以太網傳輸給SOC;
3.SOC中的HMI Arbitration模塊解析該信號并分發給下游ParkingModeManager模塊;
4.SOC端Signal Service接收后轉發APA_ActivationReq至HMI Arbitration模塊;
5.HMI Arbitration模塊將請求轉發給Parking Mode Manager;
6.Parking Mode Manage收到激活信號后,根據泊入泊出策略,選擇當前進入的泊入泊出模式,并發送給下游模塊;
7.狀態機進行狀態跳轉判斷:
a)若當前為Mag_APAModSts==2: APA_Standby,成功進入Searching狀態,Parking Mode Manage將APAModSts == 3: APA_SEARCHING狀態發送給下游其他節點。
b)若當前為Mag_APAModSts==1: APA_OFF,則無法開啟APA功能,Parking Mode Manage將APAModSts == 1: APA_OFF狀態發送給下游其他節點。
8.通過以太網返回APA狀態Ethernet_apa_state以及文言提示Ethernet_AlarmInfo給DHU作為顯示;
OK,如此便完成了一個簡單的時序圖設計。對于其余車位搜素、泊車過程等功能的時序圖,照貓畫虎繼續完成即可,就不再一一展示了。
-
以太網
+關注
關注
40文章
5424瀏覽量
171690 -
CAN總線
+關注
關注
145文章
1951瀏覽量
130752 -
SoC芯片
+關注
關注
1文章
612瀏覽量
34921 -
狀態機
+關注
關注
2文章
492瀏覽量
27539 -
HMI系統
+關注
關注
0文章
20瀏覽量
1027
發布評論請先 登錄
相關推薦
評論