999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

新能源整車控制軟件自動化集成的實現

2018-12-28 11:53:40紀淑玲南濤
汽車實用技術 2018年23期

紀淑玲,南濤

(上海汽車集團股份有限公司商用車技術中心,上海 200438)

引言

隨著電動汽車的快速發展,企業對電子控制系統的開發效率以及自動化程度提出了越來越高的要求,基于模型的開發方式是目前汽車控制系統普遍采用的開發方式,這種方法越來越多的取代了傳統手寫代碼的開發方式,尤其是應用層的控制模型普通采用基于模型的方式,底層軟件采用目前流行的AUTOSAR架構的代碼,而一款控制器有了應用層模塊和底層軟件代碼還需要把兩者集成到一起才能實現完整的控制功能。目前主要的集成方法是將應用層模型生成的代碼和底層軟件的代碼放到編譯器里對接口和調度功能以及 CAN矩陣的解析等信息手動編寫代碼進行集成,手動集成時需要手寫代碼,對工程師編寫代碼的能力要求高,周期長,手寫容易出現問題不便于查找問題。自動集成的方式是利用excel表和DBC文件以及數據類來管理接口數據和CAN矩陣的解析,生成統一格式的代碼,有利于代碼的平臺化,一次開發永久復用。

對于基于Simulink應用層模型和AUTOSAR架構的底層軟件的控制平臺來說,接口通用,任務調度周期固定,這種平臺的集成可以編寫一些固定模板的腳步實現自動化集成,利用GUI界面把集成工作顯示在一個界面內,集成人員只需要通過操作控件即可實現應用層和底層軟件的集成,可操作性高,復用性高,開發人員可以把更多精力放到應用層策略開發中。

因此,本論文基于Matlab/Simulink軟件平臺,利用一些腳本實現了軟件集成中需要集成的接口對應、數據存儲、任務調度以及自動生成代碼,并自動對生成的代碼編譯,生成可執行文件和可供標定的文件A2L。

1 軟件自動集成工作主要模塊

圖1 軟件自動集成

圖1是軟件自動化集成的GUI界面,主要包含以下功能:

1)數據管理模塊

2)任務調度

3)CAN解析

4)接口層

5)A2L合并

6)自動代碼生成

7)一鍵集成

功能1~6可分步執行的目的是在集成軟件需要修改部分內容時可只運行部分腳步,如果是想一鍵生成點擊7即可實現軟件集成功能。使用說明里介紹了這個集成界面的用法以及各個模塊功能的簡單介紹。

1.1 數據管理模塊

圖2 自定義數據類

數據管理模塊主要采用 MATLAB的自定義數據類的方式Custom Storage Class Designer。模型的數據主要是一些標定量和測量量,自定義一個數據類 MYCSC,這個數據類是在simulink自帶的數據類mpt基礎上定義的,MYCSC數據類里主要定義了標定量和測量量的數據類型和存儲類型。自定義數據類的界面如圖2所示。

1.1.1 數據類定義

MYCSC數據類借用simulink自帶的mpt數據,又自定義了兩種數據類型CAN_IO和CAL,其中CAN_IO數據類型是定義的CAN矩陣的信號,CAN信號的信息主要在文件my_canTskCode.h定義,所以需要此文件作為輸入,此文件是CAN解析時得到的,請參見CAN解析部分。

圖3 自定義數據類a

數據類型 CAL是與標定量相關的數據,屬于要輸出到A2L文件中的數據,所以Data scope項需要選擇為export,memory section需要選擇一個memory section定義的文件,memory section中會定義數據存儲的方式。

圖4 自定義數據類b

1.1.2 內存分區

內存分區的部分主要把需要存儲的數據放到內存指定的位置,在代碼中會有具體位置的體現,本文主要用下列方式劃分代碼區域:

圖5 內存分區

#define SECTION_SEL MEM_CALDAT

#include "memsect.h"

XXX

XXX需要存儲的數據

#define SECTION_SEL MEM_DEFAULT

#include "memsect.h"

在自定義類中實現如圖5所示。

1.1.3 數據管理的實現

在上文對數據類定義之后,數據管理時即可使用自定義的數據類來定義信號和變量的數據類型。數據管理采用excel表的形式,excel表中包括了數據的基本信息,再利用腳本文件DDM.m將自定義的數據類分配給excel表中不同頁的信號和變量,最后導入workspace中,workspace中的數據信息可供模型運行或生成代碼時使用,以上工作實現了數據信息的定義,存儲,以及導入到workspace空間中,如圖6所示。

圖6 數據管理

1.2 任務調度

基于AUTOSAR架構的底層軟件帶有OS功能,任務調度由OS實現,應用層的不同周期的任務可以在excel表里選擇周期,腳本文件會自動識別任務的周期將應用層的任務分配到OS的不同周期內。

腳步語言主要完成以下工作:

The electric field at the gate–oxide and channel interface is assumed to be continuous in GSGCDMT-SON MOSFET, we have

分析excel表中函數的名稱及周期,并在底層軟件OS.c中搜索到對應的調度周期,把函數放到對應的調度周期中,并在 OS.h文件中搜索是否包含了函數所在的頭文件,如果沒包含將函數所在的頭文件包含進OS.h文件中。

1.3 CAN解析

CAN解析的方法常用的有兩種:一種是用simulink自帶的pack和unpack兩個模塊由應用層建模時實現,一種是底層模塊實現,本文采用的是利用腳步把 CAN矩陣直接解析成.c/.h文件供底層使用,CAN矩陣中信號的具體信息在數據管理模塊已經導入到workspace中,本部分主要功能把CAN矩陣中信號的信息傳遞給底層 CAN收發模塊,要傳遞的信息底層軟件會提前給出來函數的格式及需求,不同的底層要求不同,本文利用的底層軟件要求傳的參數如CAN報文發送模塊包括CAN ID,報文 長度DLC,報文的數據Data,因此腳本生成.c/.h文件需要把CAN矩陣里的CAN信號全部打包成CAN Massage的形式以適應底層CAN發送模塊的需要。下圖7是CAN解析用的腳本文件和生成的CAN模塊相關的.c/.h文件。

圖7 CAN解析文件

1.4 接口層的功能

接口層主要是應用層輸入輸出接口的信號名稱與底層軟件的參數名稱匹配,本部分功能也是采用excel表的形式管理,然后利用腳本為模型自動生成一個外圍接口層,將應用層信號與底層參數一一匹配起來,信號和變量在excel表中定義格式如圖8所示,SW_BSWIO表中不同的頁定義了不同的數據形式,每一頁都根據信號或變量的名稱、數據類型、偏移量定義好。

圖8 接口管理表

利用腳本解析出上述 excel表中的內容,然后為應用層模型生成一個外圍接口層,運行后的結果如圖9所示。

圖9 帶接口層的應用層模型

1.5 A2L合并

圖10 perl腳本

Simulink模型生成的A2L文件只包含了測量量和標定量的名稱,不包含變量的內存地址,本部分的功能是為了生成一個帶地址的可供標定工具使用的A2L文件,利用perl腳本文件合成 A2L文件,在自動代碼生成的控制文件里將 perl腳本文件添加進去,在生成代碼的過程中自動生成可供標定工具使用的A2L文件。

Perl腳本生成帶地址的A2L文件主要做了以下工作:

1)首先利用正則運算查找模型生成的A2L文件中變量名與map文件中匹配的位置,抓取出map文件中變量名中的地址;

2)將抓取到的地址賦給A2L文件中的變量。

1.6 自動代碼生成

本部分主要是為了能自動生成代碼做的一些配置文件的編寫,simulink提供了模板,可以直接在模板上修改成項目需要的形式,自動代碼生成過程如圖11所示。

圖11 自動代碼生成過程

主要包括以下幾個文件:

1)makefile:這個文件是和項目使用的編譯器相關的,里邊包含了對項目文件的編譯連接的過程的定義,是開發過程中的重要內容。

2)系統TLC文件:對整個代碼生成過程的控制。

3)Hook文件:用于對代碼生成的各個階段操作處理,可以在這個文檔里自定義一些編譯鏈接相關的內容,A2L合并的文件就是在這個文件里的“after_make”階段調用的。

4)Template makefile file:文件的作用是按照編譯器編譯鏈接的格式生成一個和代碼編譯鏈接相關的 makefile文件,對模型生成的代碼與底層代碼庫一起編譯鏈接生成一個可執行文件和一個A2L文件。

圖12 自動代碼生成

測試的例子中生成了可執行文件elf和A2L,把兩個文件加載到標定工具 INCA中可以看到測量量 BS_BrakePedal SwitchSts_BCAN_01的值。

1.7 一鍵生成代碼

一鍵生成代碼其實包含了以上的6個部分內容,把上述6部分內容的腳步文件全部鏈接到一鍵生成代碼按鈕下邊,按執行順序調度,最后的效果也和分步執行相同。

1.8 驗證結果

利用上述的自動集成方法:從統計變量信息制作 excel表,利用現有DBC,設計集成文件的格式,寫腳本到一鍵生成代碼,應用在一款純電動車整車控制器軟件集成上,可快速對生成的代碼做測試,并搭建了測試環境對生成的可執行文件和A2L文件做了功能測試,圖13是把可執行文件和A2L文件加載到INCA工具中,通過刷寫可執行文件到控制器中,以及監控 CAN通訊報文的操作,對可執行文件的功能做了測試,測試結果證明了此種軟件集成方式的可靠性和準確性。

圖13 控制器通訊報文

2 結論

本文實現了對基于simulink應用層模型生成的代碼與基于AUTOSAR底層軟件代碼的自動化集成,減少了手寫代碼量,縮短了軟件集成的時間,有利于軟件開發的平臺化發展,應用到實際項目中驗證了可行性,大大降低了集成工程師的工作量。

a)首次自動集成應用,由于搭建流程及腳本文件,開發時間可能比手動集成時間稍長三四天,后續開發好的流程及腳本文件可直接擴展到其他整車控制器開發項目,復用性高。

b)這種方法不僅適用于整車控制器的軟件集成,同樣適用于新能源其他電控系統軟件的集成,可以加快新能源控制軟件的開發進度。

c)目前,對于不基于 AUTOSAR架構的底層軟件來說不適用,需繼續研究開發一套可以把底層接口函數封裝成統一的接口形式,完善通用性,使自動集成的過程對底層限制減少。

主站蜘蛛池模板: 国产va在线观看免费| 日本一本正道综合久久dvd| 永久在线播放| 国产成人三级| 亚洲电影天堂在线国语对白| 凹凸国产熟女精品视频| 欧美日一级片| 亚洲av无码人妻| 亚洲国产精品无码AV| 91视频区| 无码AV日韩一二三区| 最新日本中文字幕| 超碰91免费人妻| 刘亦菲一区二区在线观看| 亚洲人成在线免费观看| 真实国产乱子伦视频| 日本高清有码人妻| 国产99精品久久| 国产亚洲精品自在线| 91免费国产高清观看| 中文字幕在线一区二区在线| 不卡午夜视频| 国产理论精品| 最新国产网站| 亚洲第一成年免费网站| 久久综合婷婷| 亚洲成人精品| 亚洲中文字幕无码爆乳| 伊人久久精品亚洲午夜| 国产欧美日韩综合一区在线播放| 2021国产精品自产拍在线| 97免费在线观看视频| 亚洲免费福利视频| 波多野结衣中文字幕一区二区| 四虎成人精品在永久免费| 毛片网站免费在线观看| 亚洲高清国产拍精品26u| 国国产a国产片免费麻豆| 911亚洲精品| 欧美综合成人| 白浆免费视频国产精品视频| 久久久久亚洲精品无码网站| 2020国产免费久久精品99| 成人午夜免费视频| 人人妻人人澡人人爽欧美一区| 精品无码日韩国产不卡av| 国产一二视频| 欧美精品不卡| 美女毛片在线| 1级黄色毛片| 亚洲IV视频免费在线光看| 综合五月天网| 国产大片喷水在线在线视频 | 国产第一页屁屁影院| 高h视频在线| 青青青视频蜜桃一区二区| 久久精品国产一区二区小说| 国产最新无码专区在线| 99国产精品免费观看视频| 69综合网| 国产成人精品免费视频大全五级| 国产在线精彩视频论坛| 欧美日韩亚洲国产| www.狠狠| 免费国产黄线在线观看| 国产精品浪潮Av| 国产精品成人久久| 日韩精品无码免费专网站| 免费aa毛片| 亚洲swag精品自拍一区| 国产黄色视频综合| 无码日韩精品91超碰| 国产精品手机视频| 亚洲第一页在线观看| 亚洲国产综合精品中文第一| 国产精品污污在线观看网站| 国产视频大全| 色噜噜久久| 午夜福利网址| 国产h视频免费观看| 欧美一区二区福利视频| 试看120秒男女啪啪免费|