CAN 總線車載網絡通訊組件的研究和實現
3.3 分隔應用程序和通訊協議,保證變更靈活性
如圖 2 所示,新方法為ECU 通訊功能提供了標準的網絡通訊組件。該組件將應用程序和通訊協議成功分隔開來,使得各自的修改互不影響,保證了協議修改的靈活性。網絡通訊組件提供面向總線、應用程序和通訊協議三方面的標準接口。面向應用程序的接口是基于信號的操作,不包含通訊協議的參數。面向通訊協議的接口負責識別通訊協議。只要遵守接口標準,協議可以進行任意改變,而且不影響應用程序。

圖 2 分隔應用程序和通訊協議
這種設計方案其優勢在于整車廠商可以很容易地修改協議,不需要供應商支持,因此保證了系統變更的靈活性,同時也增加了系統的可移植性以及應用的復用性。
4 系統設計
為了避免傳統設計方法的缺點,本系統參考新方法理論進行設計。整個系統主要分為兩大部分:一、靜態配置編譯工具;二、網絡組件,稱為COM 組件。
4.1 靜態配置編譯工具
該靜態配置編譯工具使用配置語言進行信號、幀、幀模式等等的配置。配置語言定義了四個文件的配置規則語法,這四個文件分別為:fixed 文件、network 文件、target 文件和private文件。
.fix 文件主要用來描述可用的網絡接口以及ECU 中的每個通信接口所收發的信號的描述。這些描述內容可以在工程的很早階段就可以定義,甚至是在選定供應商之前就可以進行定以。
.net 文件通常由系統Interator 創建,主要用來描述網絡接口配置、信號、幀及其想關參數(例如:幀的ID,傳輸類型、周期、偏移以及信號的映射表),如果應用有需要的話,還可以進行調度表的調度表的定義(應用于使用網關的情況)。這些信息將會存儲到NVRAM中,并且對于應用軟件不是直接可見的。
.tgt 文件是由ECU 的供應商提供的,它包括ECU 的硬件特性描述,比如CPU 類型、存儲數據的內存的大小和地址等。
.pri 文件主要用來定義信號的標志、超時以及信號的重命名等信息。通過使用配置語言配置的這四個文件實現了靜態可裁剪配置,同時控制了信號傳遞的時序,有效地控制了通訊延遲并避免了數據的丟失,充分利用了網絡資源。
經過配置后獲得的四個文件經過配置編譯器編譯后生成三個文件,分別為:s_gen.c 、s_hand.h 以及s_nvram。
s_gen.c 文件包含了一些配置產生的數據結構,并且這些數據結構與ECU 供應商提供的ECU 其他部分應用軟件代碼進行集成編譯和鏈接。應用軟件將包含s_hand.h 文件,以便訪問不同的通訊對象,例如:特定的信號等。s_nvram 文件是產生的ECU 二進制配置數據。







評論