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

基于Simulink浮點模型和定點模型的問題研究

2019-10-21 10:22:07鄒凡朱宏翔袁凱
汽車實用技術 2019年4期

鄒凡 朱宏翔 袁凱

摘 要:文章介紹了MATLAB/Simulink的自動代碼生成的實現方法和過程。以某新能源汽車油門控制模型為例,重點解釋了浮點模型和定點模型之間的區別,并通過自動生成的代碼和CodeWarrior編譯生成的可執行文件證明定點模型相對于浮點模型所占內存少。

關鍵詞:MATLAB/Simulink;自動代碼生成;浮點;定點

中圖分類號:U462? 文獻標識碼:A? 文章編號:1671-7988(2019)04-131-03

前言

隨著電動汽車的快速發展,企業對電子控制系統的性能與開發效率提出了越來越高的要求,傳統手寫代碼的開發方式周期長、調試難度大,已經很難適用于現代電控系統的開發。在新型電子控制系統的發展中,出現了一套成熟的汽車電控系統開發模式—V模式開發。利用MATLAB/Simulink工具搭建控制模型,在設計初期就可以直觀地反映設計需求,進行系統設計,便于閱讀和修改,使模型的更新與代碼保持一致,而且沒有實施過程中產生的錯誤,并且可以處理很復雜的模型系統。其中,自動代碼生成技術可以直接從圖形模型生成目標處理器上的代碼,不僅保證了代碼與模型的高度一致性,也使得控制器開發更加高效有序。

1 Simulink建模及代碼生成

1.1 Simulink建模

近幾年來,在汽車電子控制領域,Simulink已經成為動態系統建模和仿真領域中應用最為廣泛的軟件之一。由于Simulink是采用模塊組合方式來建模,從而可以使得用戶能夠快速、準確地創建動態系統的計算機仿真模型,特別是對復雜的不確定非線性系統更為方便。

1.2 自動代碼生成技術

在Simulink模型中要進行自動代碼生成,至少有3部分需要配置:解算器(solver);目標硬件設置(hardware imple mentation);系統目標文件(system target file)。

一般情況下,Simulink的模型只生成應用層代碼,其應用層軟件與底層軟件結合只能通過手動集成。現基于Freescale的一款芯片自主開發出一鍵式自動代碼生成技術,通過編程自動集成應用層軟件與底層軟件,即可將控制模型自動生成可執行代碼。

對于解算器(solver),其類型需設置為固定步長。由于模型是用于生產嵌入式代碼,并下載到單片機中運行,而單片機總是以時鐘源提供的穩定頻率運行,無法進行變步長運算,所以兩采樣點間的時間間隔要設為固定。步長的大小取決于對計算精度和速度的平衡,步長越小,精度越高,而計算的速度越慢。在目標硬件為通用的情況下,對代碼生成沒有影響,當前設置為0.01s。

其次在目標硬件設置(hardware implementation)中,設備供應商(Device vendor)選擇為Freescale,設備類型(Device type)選擇為對應的芯片型號。因為目前使用的整車控制器芯片平臺已經達到成熟量產的狀態,所以目標硬件設置將所選芯片設置為默認狀態。

再次在Code Generation界面中,將系統目標文件選擇為Embedded Coder對應芯片的.tlc文件。Embedded Coder是可生成用于嵌入式單片機的實時C代碼的編譯器。TLC文件的作用是將模型編譯出的RTW文件轉換為支持某平臺或硬件的代碼,其Template makefile選擇targetcoder.tmf。取消勾選Generate code only,否則編譯只能生成C代碼,無法生成可執行文件。

完成以上設置后,點擊Build Model或者Ctrl+B快捷鍵即可生成C代碼和可執行文件。

2 浮點數模型和定點數模型

2.1 浮點數模型

Simulink建立的模型默認情況下以double型變量定義,并且參數和信號都以結構體形式生成代碼,這會使得參數和信號在調用時都產生冗長的代碼,降低可讀性,并加重RAM的儲存和單片機的計算負擔。

2.2 定點數模型

Simulink定點軟件支持整型數和定點數,它們之間的主要區別是小數點。在定點型硬件中,數據是以二進制的形式進行存儲。定點數和它們的數據類型以字長、二進制小數點、有符號還是無符號為特征。目前整車控制器使用的為Freescale的16位芯片,其支持的是定點型數據,所以整車控制模型是以整數形式建模,但是其中的查表模塊(Lookup Table)因條件限制,其中的數據類型為single形式,隨著整車控制軟件功能的增加,其中的查表模塊使用的頻次增多,生成的代碼會加大對芯片內存的占用,導致整車控制程序運行效率降低。所以通過使用Fixed-Point工具,對查表模塊的數據進行定點化(fixdt)處理。

對整車控制模型中的油門控制算法進行定點化:

3 生成結果分析

基于MATLAB/Simulink生成的浮點型代碼和定點化后生成的代碼數據如下:

定點數是用整數表達的小數,在單片機存儲上面的數據時,是以整數來存儲,如圖7所示,數據都為uint16_T類型,此數據類型在單片機中占用2個字節,而如圖6所示,數據都為real32_T類型數據,此數據類型在單片機內存中占據4個字節;如圖6所示,查表的浮點數據總共是22個數據,定點化后是整數類型是33個數據。浮點型的存儲會占用的內存是22*4=88個字節;如果定點化后存儲數據占用的內存是33*2=66個字節。

而現在我們采用的是Freescale的16位單片機是定點處理器;這樣會大大的減少數據在單片機中存儲。

在CodeWarrior編譯器的右下方顯示(2.000000MHZ),表示晶振是2MHz,晶振后面就是時間。由圖8和圖9對比,圖8顯示的運行時間是1197,圖9顯示的運行時間是2780,定點化后運行同樣一個算法所使用的時間只占到了浮點模型運行時間的一半不到。

綜上所述,Simulink模型經過定點化處理后,其代碼占用的內存變小,程序運行的時間也大大縮短,從而可以提高整車控制器整個程序的運行效率和質量。

4 結束語

本文介紹了MATLAB/Simulink的自動代碼生成技術,并著重介紹了浮點模型和定點模型生成代碼的區別。后期建立的Simulink模型可以朝定點數方向發展,進一步高效的利用單片機的資源。

參考文獻

[1] 孫忠瀟,Simulink仿真及代碼生成技術入門到精通[M],北京:北京航空航天大學出版社,2015:350-374.

[2] 劉杰,翁公羽,周宇博,基于模型的設計-MCU篇[M],北京,北京航空航天大學出版社,2011:458-465.

主站蜘蛛池模板: 国产v精品成人免费视频71pao | 色噜噜狠狠狠综合曰曰曰| 五月综合色婷婷| 99中文字幕亚洲一区二区| 伊人蕉久影院| 99久久婷婷国产综合精| 国产日韩欧美视频| AV在线天堂进入| 国产一区成人| 人人艹人人爽| AⅤ色综合久久天堂AV色综合| 天堂在线www网亚洲| 男人天堂亚洲天堂| 久草视频精品| 四虎影视国产精品| 四虎国产在线观看| 亚洲无线视频| 国产一级裸网站| 日韩 欧美 小说 综合网 另类| 久久精品视频亚洲| 露脸真实国语乱在线观看| 亚洲人在线| 日本三级欧美三级| 亚洲成a人片77777在线播放| 免费全部高H视频无码无遮掩| 国产福利微拍精品一区二区| 无码电影在线观看| 无码粉嫩虎白一线天在线观看| 国产人成乱码视频免费观看| 国产美女无遮挡免费视频网站| 免费看一级毛片波多结衣| 女人毛片a级大学毛片免费| 性视频一区| 免费看久久精品99| 久久大香伊蕉在人线观看热2| 日韩不卡高清视频| 免费一级毛片完整版在线看| 婷五月综合| 激情综合图区| 青青青国产视频手机| 国产成人精品一区二区免费看京| 国产1区2区在线观看| 亚洲中文字幕在线观看| 亚洲中文制服丝袜欧美精品| 老熟妇喷水一区二区三区| 久久青草视频| 国产探花在线视频| а∨天堂一区中文字幕| 中文字幕第1页在线播| 亚洲国产中文精品va在线播放| 欧美日韩一区二区三区在线视频| 国产人人射| 人人爽人人爽人人片| 精品国产自在现线看久久| 亚洲欧洲自拍拍偷午夜色无码| 无码国内精品人妻少妇蜜桃视频| 色久综合在线| 99在线视频精品| 国产无码高清视频不卡| 喷潮白浆直流在线播放| 亚洲一区二区三区香蕉| 国产网站免费| 亚洲午夜国产片在线观看| 最新精品久久精品| 国产欧美高清| 日韩精品无码免费一区二区三区| 亚洲视频三级| 国产成人1024精品下载| 亚洲人成网线在线播放va| 中文字幕在线观看日本| 欧美69视频在线| 国产精品吹潮在线观看中文| 久久婷婷国产综合尤物精品| 亚洲欧洲日韩国产综合在线二区| 极品私人尤物在线精品首页| 国产欧美网站| 成人午夜亚洲影视在线观看| 亚洲黄色网站视频| 色婷婷电影网| 超碰色了色| 欧美五月婷婷| 国产精品19p|