本申請涉及汽車局域網,特別是涉及一種汽車控制器的can網絡接口的交互方法及相關產品。
背景技術:
1、can(controller?area?network,控制器局域網)相當于汽車的中樞神經系統,汽車里的一種串行數據通信協議。它不僅可以把汽車中多個控制單元連接在一起,實現信息同步、通信和傳輸數據,還能與測試儀器之間進行交互。
2、以tcu(transmission?control?unit,自動變速箱控制器)軟件開發過程中常用的can網絡交互場景為例,現有的can網絡接口的交互方法中,應用層和底層的交互方式是直接調用根據dbc(database?can,數據庫文件)生成的單個信息的接口函數,一旦dbc出現變動,底層接口函數和應用層模型就需要頻繁更改,導致后續的維護成本和出錯率都很高,直接影響軟件開發效率。
3、因此,如何在提高軟件開發效率,是本領域技術人員急需解決的問題。
技術實現思路
1、基于上述問題,本申請提供了一種汽車控制器的can網絡接口的交互方法及相關產品,通過對輸入信號進行轉存和提取,避免應用層和底層直接調用單個信號的接口函數實現信號交互,解決了現有技術導致軟件開發效率低的問題。
2、第一方面,本申請提供了一種汽車控制器的can網絡接口的交互方法,包括:
3、獲取外部控制器發送的輸入信號;
4、基于控制器局域網can的底層,將所述輸入信號對應的數據存儲地址發送至所述can的應用層;
5、基于所述應用層,根據所述數據存儲地址提取與所述輸入信號對應的數組數據;
6、對所述數組數據進行解析,得到所述輸入信號對應的物理值;
7、將所述物理值進行數據類型轉換并直接映射至內部控制器,實現所述外部控制器到所述內部控制器的信號交互。
8、可選的,所述基于控制器局域網can的底層,將所述輸入信號對應的數據存儲地址發送至所述can的應用層,包括:
9、基于控制器局域網can的底層,確定所述輸入信號對應的待存儲數據;
10、將所述待存儲數據存入緩存區buffer中,并將所述待存儲數據在所述buffer中對應的首地址發送至can的應用層。
11、可選的,所述基于所述應用層,根據所述數據存儲地址提取與所述輸入信號對應的數組數據,包括:
12、在所述應用層中,基于所述首地址,調用讀文件read函數在所述buffer中提取與所述輸入信號對應的數組數據。
13、可選的,所述對所述數組數據進行解析,得到所述輸入信號對應的物理值,包括:
14、基于所述應用層,利用報文打包can?pack模塊,將所述數組數據轉換成結構體數據;
15、基于所述應用層,利用報文解析can?unpack模塊,對所述結構體數據進行解析,得到與所述輸入信號對應的物理值。
16、可選的,所述方法還包括:
17、基于所述應用層,獲取內部控制器發送的輸出信號;
18、當所述輸出信號中包含循環冗余校驗crc數據時,提取所述輸出信號中除所述crc數據以外的第一數據;
19、對所述第一數據進行校驗,得到校驗數據;
20、基于所述應用層,對所述輸出信號和所述校驗數據進行打包,得到結構體數據;
21、提取所述結構體數據中的數組data數據,并調用寫文件write函數將所述data數據傳遞給外部控制器,實現所述內部控制器到所述外部控制器的信號交互。
22、可選的,所述提取所述輸出信號中除所述crc數據以外的第一數據,包括:
23、基于所述應用層,利用報文打包can?pack模塊獲取所述輸出信號中除所述crc數據對應的節點byte以外的其他數據的邏輯值,并記作第一數據。
24、可選的,所述調用寫文件write函數將所述data數據傳遞給外部控制器,包括:
25、基于所述應用層,調用寫文件write函數將所述data數據傳遞給所述底層;
26、基于所述底層,將所述data數據存儲到緩存區buffer中,供外部控制器獲取。
27、第二方面,本申請提供了一種汽車控制器的can網絡接口的交互裝置,包括:
28、獲取模塊,用于獲取外部控制器發送的輸入信號;
29、發送模塊,用于基于控制器局域網can的底層,將所述輸入信號對應的數據存儲地址發送至所述can的應用層;
30、提取模塊,用于基于所述應用層,根據所述數據存儲地址提取與所述輸入信號對應的數組數據;
31、解析模塊,用于對所述數組數據進行解析,得到所述輸入信號對應的物理值;
32、映射模塊,用于將所述物理值進行數據類型轉換并直接映射至內部控制器,實現所述外部控制器到所述內部控制器的信號交互。
33、第三方面,本申請提供了一種汽車控制器的can網絡接口的交互設備,其特征在于,包括:
34、存儲器,用于存儲計算機程序;
35、處理器,用于執行所述計算機程序時實現如上述任一項所述汽車控制器的can網絡接口的交互方法的步驟。
36、第四方面,本申請提供了一種可讀存儲介質,其特征在于,所述可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現如上述任一項所述汽車控制器的can網絡接口的交互方法的步驟。
37、從以上技術方案可以看出,相較于現有技術,本申請具有以下優點:
38、本申請首先獲取外部控制器發送的輸入信號,并基于控制器局域網can的底層,將輸入信號對應的數據存儲地址發送至can的應用層。然后基于應用層,根據數據存儲地址提取與輸入信號對應的數組數據。最后對數組數據進行解析,得到輸入信號對應的物理值,并將物理值進行數據類型轉換并直接映射至內部控制器,實現外部控制器到內部控制器的信號交互。如此,通過對輸入信號進行轉存和提取,避免應用層和底層直接調用單個信號的接口函數實現信號交互,降低了后期的維護成本和出錯率,提高了軟件的開發效率。
1.一種汽車控制器的can網絡接口的交互方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述基于控制器局域網can的底層,將所述輸入信號對應的數據存儲地址發送至所述can的應用層,包括:
3.根據權利要求2所述的方法,其特征在于,所述基于所述應用層,根據所述數據存儲地址提取與所述輸入信號對應的數組數據,包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述數組數據進行解析,得到所述輸入信號對應的物理值,包括:
5.根據權利要求1所述的方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的方法,其特征在于,所述提取所述輸出信號中除所述crc數據以外的第一數據,包括:
7.根據權利要求5所述的方法,其特征在于,所述調用寫文件write函數將所述data數據傳遞給外部控制器,包括:
8.一種汽車控制器的can網絡接口的交互裝置,其特征在于,包括:
9.一種汽車控制器的can網絡接口的交互設備,其特征在于,包括:
10.一種可讀存儲介質,其特征在于,所述可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述汽車控制器的can網絡接口的交互方法的步驟。