CAN 總線車載網(wǎng)絡(luò)通訊組件的研究和實(shí)現(xiàn)
3.3 分隔應(yīng)用程序和通訊協(xié)議,保證變更靈活性
如圖 2 所示,新方法為ECU 通訊功能提供了標(biāo)準(zhǔn)的網(wǎng)絡(luò)通訊組件。該組件將應(yīng)用程序和通訊協(xié)議成功分隔開來,使得各自的修改互不影響,保證了協(xié)議修改的靈活性。網(wǎng)絡(luò)通訊組件提供面向總線、應(yīng)用程序和通訊協(xié)議三方面的標(biāo)準(zhǔn)接口。面向應(yīng)用程序的接口是基于信號(hào)的操作,不包含通訊協(xié)議的參數(shù)。面向通訊協(xié)議的接口負(fù)責(zé)識(shí)別通訊協(xié)議。只要遵守接口標(biāo)準(zhǔn),協(xié)議可以進(jìn)行任意改變,而且不影響應(yīng)用程序。
圖 2 分隔應(yīng)用程序和通訊協(xié)議
這種設(shè)計(jì)方案其優(yōu)勢(shì)在于整車廠商可以很容易地修改協(xié)議,不需要供應(yīng)商支持,因此保證了系統(tǒng)變更的靈活性,同時(shí)也增加了系統(tǒng)的可移植性以及應(yīng)用的復(fù)用性。
4 系統(tǒng)設(shè)計(jì)
為了避免傳統(tǒng)設(shè)計(jì)方法的缺點(diǎn),本系統(tǒng)參考新方法理論進(jìn)行設(shè)計(jì)。整個(gè)系統(tǒng)主要分為兩大部分:一、靜態(tài)配置編譯工具;二、網(wǎng)絡(luò)組件,稱為COM 組件。
4.1 靜態(tài)配置編譯工具
該靜態(tài)配置編譯工具使用配置語言進(jìn)行信號(hào)、幀、幀模式等等的配置。配置語言定義了四個(gè)文件的配置規(guī)則語法,這四個(gè)文件分別為:fixed 文件、network 文件、target 文件和private文件。
.fix 文件主要用來描述可用的網(wǎng)絡(luò)接口以及ECU 中的每個(gè)通信接口所收發(fā)的信號(hào)的描述。這些描述內(nèi)容可以在工程的很早階段就可以定義,甚至是在選定供應(yīng)商之前就可以進(jìn)行定以。
.net 文件通常由系統(tǒng)Interator 創(chuàng)建,主要用來描述網(wǎng)絡(luò)接口配置、信號(hào)、幀及其想關(guān)參數(shù)(例如:幀的ID,傳輸類型、周期、偏移以及信號(hào)的映射表),如果應(yīng)用有需要的話,還可以進(jìn)行調(diào)度表的調(diào)度表的定義(應(yīng)用于使用網(wǎng)關(guān)的情況)。這些信息將會(huì)存儲(chǔ)到NVRAM中,并且對(duì)于應(yīng)用軟件不是直接可見的。
.tgt 文件是由ECU 的供應(yīng)商提供的,它包括ECU 的硬件特性描述,比如CPU 類型、存儲(chǔ)數(shù)據(jù)的內(nèi)存的大小和地址等。
.pri 文件主要用來定義信號(hào)的標(biāo)志、超時(shí)以及信號(hào)的重命名等信息。通過使用配置語言配置的這四個(gè)文件實(shí)現(xiàn)了靜態(tài)可裁剪配置,同時(shí)控制了信號(hào)傳遞的時(shí)序,有效地控制了通訊延遲并避免了數(shù)據(jù)的丟失,充分利用了網(wǎng)絡(luò)資源。
經(jīng)過配置后獲得的四個(gè)文件經(jīng)過配置編譯器編譯后生成三個(gè)文件,分別為:s_gen.c 、s_hand.h 以及s_nvram。
s_gen.c 文件包含了一些配置產(chǎn)生的數(shù)據(jù)結(jié)構(gòu),并且這些數(shù)據(jù)結(jié)構(gòu)與ECU 供應(yīng)商提供的ECU 其他部分應(yīng)用軟件代碼進(jìn)行集成編譯和鏈接。應(yīng)用軟件將包含s_hand.h 文件,以便訪問不同的通訊對(duì)象,例如:特定的信號(hào)等。s_nvram 文件是產(chǎn)生的ECU 二進(jìn)制配置數(shù)據(jù)。
評(píng)論