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

MATLAB與STM32CubeMX聯(lián)合的嵌入式開(kāi)發(fā)方法

2016-11-26 08:17:47許鵬程李小波
關(guān)鍵詞:嵌入式設(shè)計(jì)

許鵬程,李小波

(中煤科工集團(tuán)重慶研究院救援分院機(jī)器人研究所,重慶414000)

MATLAB與STM32CubeMX聯(lián)合的嵌入式開(kāi)發(fā)方法

許鵬程,李小波

(中煤科工集團(tuán)重慶研究院救援分院機(jī)器人研究所,重慶414000)

利用專門(mén)的軟件STM32Cube MX與MATLAB進(jìn)行嵌入式建模與仿真,仿真成功后,在編譯器中將其翻譯為高效的MDK C語(yǔ)言代碼,大大提高了嵌入式程序的開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期,并且可以同時(shí)利用MATLAB的代碼優(yōu)化工具箱,提高代碼質(zhì)量。實(shí)驗(yàn)結(jié)果表明,利用MATLAB與STM32Cube MX生成的代碼在目標(biāo)系統(tǒng)中運(yùn)行良好,在設(shè)計(jì)效率和易維護(hù)性方面優(yōu)于手工編寫(xiě)的代碼。

STM32Cube MX;MATLAB;嵌入式系統(tǒng)

引 言

2014年ST公司推出了官方的STM32Cube MX工具,為基于STM32所有系列的上百種芯片的嵌入式開(kāi)發(fā)提供了強(qiáng)大的技術(shù)支持,使開(kāi)發(fā)人員能夠快速地完成STM32的開(kāi)發(fā)和維護(hù)工作。傳統(tǒng)的嵌入式開(kāi)發(fā)主要有兩種方法,一種是使用ST公司提供的固件庫(kù)函數(shù)來(lái)配置CPU,建立工程后調(diào)用芯片內(nèi)的各種功能;另一種是通過(guò)直接操作寄存器的方式使用STM32系列芯片。兩種方法均要求開(kāi)發(fā)者熟悉固件庫(kù)函數(shù)或者能夠準(zhǔn)確地掌握眾多寄存器結(jié)構(gòu)及其定義,使開(kāi)發(fā)者將大量精力花費(fèi)在芯片本身的操作上,而不能有效地進(jìn)行控制程序的算法設(shè)計(jì)。

MATLAB是美國(guó)Mathworks公司開(kāi)發(fā)的一款基于矩陣計(jì)算的高性能計(jì)算機(jī)軟件,其包含眾多的Simulink控制模塊,讓使用者能夠在短時(shí)間內(nèi)開(kāi)發(fā)出理想的控制程序。MATLAB2015B版本更是集成了最新的Embedded coder功能,能夠自動(dòng)生成在嵌入式芯片運(yùn)行的C語(yǔ)言代碼,同時(shí)還能夠?qū)Υa的結(jié)構(gòu)和芯片的RAM使用效率進(jìn)行優(yōu)化,可以大大提高用戶的開(kāi)發(fā)效率,降低開(kāi)發(fā)費(fèi)用。本文介紹針對(duì)ST公司STM32Cube MX所支持的芯片與MATLAB進(jìn)行聯(lián)合開(kāi)發(fā),并通過(guò)實(shí)例介紹基于MATLAB控制的STM32嵌入式快速開(kāi)發(fā)方法。

1 STM32-Matlab工具箱

STM32-Matlab工具箱是ST公司推出的使用MATLAB的工具套件,使用STM32-Matlab工具箱能夠快速為STM32芯片開(kāi)發(fā)出基于MATLAB和Simulink的應(yīng)用模型,通過(guò)USB數(shù)據(jù)線連接芯片串口后可以進(jìn)行PIL(處理器循環(huán))實(shí)時(shí)仿真,同時(shí)生成仿真報(bào)告并給出優(yōu)化建議,大量節(jié)約開(kāi)發(fā)時(shí)間與成本。該工具箱含有ADC、CAN、GPIO、SPI、USART等STM32芯片所有外設(shè)模塊,并且能過(guò)通過(guò)MCU CONFIG模塊設(shè)置任意一款STM32Cube MX所支持的芯片與MATLAB所自帶的控制、函數(shù)模塊(如高通濾波、PID控制等)進(jìn)行聯(lián)合編程,然后使用Embedded coder生成基于STM32Cube HAL libraries的C語(yǔ)言代碼,而無(wú)需具體了解底層設(shè)備配置,不用手工編寫(xiě)C語(yǔ)言代碼,能夠同時(shí)滿足對(duì)控制要求高而又有嵌入式編程需求的用戶。

2 STM32使用Simulink模型快速開(kāi)發(fā)過(guò)程

使用STM32-Matlab工具箱,快速開(kāi)發(fā)過(guò)程包括建模、仿真(Normal、SIL、PIL三種模式)、代碼優(yōu)化、代碼移植、編譯、調(diào)試等。這里重點(diǎn)介紹建模、仿真與移植。

2.1 開(kāi)發(fā)環(huán)境的設(shè)置

為了保證軟件的兼容性、可操作性和版本的連續(xù)性以及計(jì)算機(jī)程序運(yùn)行的流暢性,需要合理配置相關(guān)軟件和硬件。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,在Microsoft Windows 7下使用STM32-Matlab模塊的最低軟硬件配置如下:

配置完成后,可在意法半導(dǎo)體公司的官方網(wǎng)站下載STM32Cube MX和STM32-Matlab軟件,下載完成后分別安裝好即可。

2.2 建模與仿真

當(dāng)成功安裝了STM32-Matlab工具箱后,新建一個(gè)Simulink mode,進(jìn)入Model configuration parameters模式,找到Code Generation中的System target file并將其設(shè)置更改為stm32.tlc,然后保存,打開(kāi)系統(tǒng)仿真庫(kù)(Simulink library),找到Target support package-STM32Adapter中的MCU CONFIG模塊,并將其添加到Simulink model 中,如圖1所示。

圖1 建模界面

雙擊該圖標(biāo),在彈出的Block parameters對(duì)話框中,單擊select STM32 configuration file,選擇通過(guò)STM32Cube MX已設(shè)置好外設(shè)的硬件目標(biāo)板芯片型號(hào)(本文選擇的是STM32F103ZET6,如圖2所示)并保存,然后根據(jù)設(shè)計(jì)需要,在Target support package-STM32Adapte中合理地選擇功能模塊(比如GPIO、USART等)進(jìn)行設(shè)計(jì)。對(duì)于應(yīng)用于實(shí)際系統(tǒng),在Simulink環(huán)境中可用多個(gè)子模塊建立嵌入系統(tǒng)的軟件模型。

圖2 選擇界面

2.3 生成代碼

在MATLAB/Simulink環(huán)境中建模并完成系統(tǒng)仿真的模型,選擇Simulink model中code命令中的子命令C/C++ code,并在利用Embedded coder功能后,會(huì)生成C語(yǔ)言代碼,其中包含用于建立工程的多個(gè).c文件和.h文件。選擇Keil vision5作為目標(biāo)嵌入式系統(tǒng)的軟件編譯環(huán)境。

在STM32CubeMX軟件中,把已經(jīng)設(shè)置好外設(shè)的目標(biāo)板芯片文件(IOC文件)進(jìn)行C語(yǔ)言自動(dòng)轉(zhuǎn)換,將會(huì)得到該型號(hào)芯片的底層硬件設(shè)備配置文件及驅(qū)動(dòng)程序,最后將Embedded coder生成的main.c代碼移植到STM32Cube MX生成的main.c文件中,對(duì)軟件程序工程進(jìn)行編譯,將編譯結(jié)果下載到目標(biāo)系統(tǒng)中執(zhí)行,即可完成設(shè)計(jì)工作。

3 應(yīng)用實(shí)例

實(shí)際工程中經(jīng)常需要對(duì)芯片進(jìn)行GPIO接口的操作,而且需要產(chǎn)生滿足一定要求的信號(hào)波形,下面的實(shí)例說(shuō)明如何利用Simulink自帶的函數(shù)發(fā)生器,快速操作I/O接口并通過(guò)DAC模塊轉(zhuǎn)換成需要的波形。本設(shè)計(jì)中讓STM32的DAC分別產(chǎn)生正弦信號(hào)(y=sin(0.5×x))以及單位脈沖信號(hào)波形。

3.1 使用Simulink生成波形函數(shù)

找到simulink library中的Sources庫(kù),將sine wave模塊和pulse generator模塊添加到新建的simulink model 中,同時(shí)在Target support package-STM32Adapter庫(kù)中,找到MCU CONFI以及DAC模塊,添加到simulink model中,按照上面要求的設(shè)置將system target file設(shè)為stm32.tlc,并按照設(shè)計(jì)要求將系統(tǒng)方框圖連接好,并保存,如圖3所示。

3.2 使用STM32CubeMX與MATLAB生成嵌入式工程文件

打開(kāi)STM32CubeMX程序,點(diǎn)擊generate source code basic on user setting功能,在Project settings面板中在toolchain中選擇MDK-RAM V5,將會(huì)生成名為Drivers、Inc、MDK-ARM、Src的4個(gè)文件夾,其包含了該芯片及外設(shè)的所有底層硬件驅(qū)動(dòng)代碼。

圖3 simulink使用界面

在Simulink中運(yùn)行Embedded code將會(huì)生成一個(gè)模型名_STM32文件夾,該文件中包含一系列.c及.h文件,將該文件夾中.c文件移動(dòng)到Src文件夾,.h文件文件移動(dòng)到Inc文件夾中,并將main.c中的代碼移植到MKD ARM文件夾中的main.c文件中。

將工程編譯好后,下載到目標(biāo)開(kāi)發(fā)板中并用示波器測(cè)量DAC1(見(jiàn)圖4)、DAC2(見(jiàn)圖5)端口輸出波形。

圖4 DAC1端口輸出波形

結(jié) 語(yǔ)

利用MATLAB與STM32Cube MX可以同時(shí)實(shí)現(xiàn)復(fù)雜的控制算法與嵌入式代碼編程,與傳統(tǒng)的開(kāi)發(fā)方式相比,無(wú)論在質(zhì)量上還是效率上均有較大提高,特別適合于對(duì)控制算法要求較高的嵌入式編程環(huán)境。

圖5 DAC2端口輸出波形

[1]ST Company.STM32-MAT/TARGET[EB/OL].[2016-05].http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-softwar e-development-tools/stm32-utilities/stm32-mat-target.html.

[2]ST Company.STM32Cube initialization code generator[EB/ OL].[2016-05].http://w ww.stmicroelectronics.com.cn/ web/catalog/tools/FM147/CL1794/SC961/SS1533/PF2592 42?s_searchtype=partnumber.

許鵬程(碩士研究生),主要研究領(lǐng)域?yàn)闄C(jī)器人SLAM技術(shù)、STM32嵌入式編程;李小波(副研究員),主要研究方向?yàn)闄C(jī)器人控制理論與方法。

13Implementation of Intelligent Warehouse Based on EPC/ RFID and WSN[C]//Applied Mechanics and Materials, Trans Tech Publications,2012.

[4]Zhang B,Hu K,Zhu Y.Network Architecture and Energy A-nalysis of the Integration of RFID and Wireless Sensor Network[C]//2010 Chinese Control and Decision Conference, 2010:13791382.

[5]徐然,李文耀.一種可用于移動(dòng)支付的讀卡器設(shè)計(jì)研究[J].電視技術(shù),2013,37(5):8791.

[6]潘敏.音頻盾的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院大學(xué),2014.

[7]孟治國(guó).基于音頻接口的數(shù)據(jù)傳輸模塊設(shè)計(jì)[J].電子科技, 2013,26(3):4547.

[8]方武,盧愛(ài)紅,王典洪,等.基于智能手機(jī)音頻接口的便攜式環(huán)境感知系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(11):38073809.

[9]Hijack[EB/OL].[201604].http://web.eecs.umich.edu/~prabal/projects/hijack/.

[10]Kuo Y S,Verma S,Schmid T,et al.Hijacking power and bandwidth from the mobile phone's audio interface[C]// Proceedings of the First ACM Symposium on Computing for Development,2010:24.

[11]孟治國(guó).基于音頻線路傳輸數(shù)字信號(hào)的設(shè)計(jì)與應(yīng)用[J].電子設(shè)計(jì)工程,2014,22(14):99-102.

[12]胥京宇.恩智浦Quick Jack方案將智能手機(jī)音頻插孔轉(zhuǎn)變?yōu)槎喙δ茏怨╇姅?shù)據(jù)端口[J].世界電子元器件,2014(7):46-46.

[13]孫書(shū)鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開(kāi)發(fā)與應(yīng)用[J].微計(jì)算機(jī)應(yīng)用,2010(12):59-63.

[14]陳勇,陸遙.基于AS3992的超高頻RFID閱讀器的設(shè)計(jì)及仿真[J].半導(dǎo)體光電,2013(1):41.

[15]歐陽(yáng)宏志,單長(zhǎng)虹,黃智偉.物聯(lián)網(wǎng)中UHF頻段RFID讀寫(xiě)器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2013,21(22):23-25.

鄧浩海,研究方向?yàn)橹悄苄畔⑻幚?薛健(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用。

Combined Embedded Development Method of MATLAB and STM32CubeMX

Xu Pengcheng,Li Xiaobo

(Robot Research Institute in Chongqing Research Institute of CCTEG,Chongqing 414000,China)

The specialized software MATLAB and STM32Cube MX are used to carry out the embedded modeling and simulation.After successful simulation,the compiler will translate it into a highly efficient MDK C language code,which can greatly improve the development efficiency of the embedded program,shorten the development cycle,and can also use the code optimization toolbox of MATLAB, that improves the quality of the code.The experimental results show that using MATLAB and STM32Cube MX generated code runs well in the target system in the design,the efficiency and maintain ability are better than the hand written codes.

STM32Cube MX;MATLAB;embedded system

TP368

A

(責(zé)任編輯:薛士然2016-05-03)

(責(zé)任編輯:薛士然2016-04-20)

猜你喜歡
嵌入式設(shè)計(jì)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 福利视频一区| 日韩第九页| 乱色熟女综合一区二区| 久久夜色撩人精品国产| 三级国产在线观看| 在线观看亚洲人成网站| 欧美激情视频在线观看一区| 成人看片欧美一区二区| 亚洲精品图区| 欧美A级V片在线观看| 国产不卡国语在线| 免费一级毛片在线观看| 99久视频| 国产成人免费观看在线视频| 亚洲av综合网| 国产精品无码AV片在线观看播放| 欧洲日本亚洲中文字幕| 国产在线视频二区| 日韩高清一区 | 毛片在线看网站| 国产高潮流白浆视频| 一级黄色网站在线免费看| 国产电话自拍伊人| 午夜福利网址| 无码又爽又刺激的高潮视频| 潮喷在线无码白浆| 久久精品只有这里有| 国产成人1024精品| 真实国产乱子伦视频| 色婷婷久久| 99热这里只有精品在线播放| 日韩天堂网| 国产麻豆永久视频| 成人国产精品2021| 欧美中出一区二区| 综合亚洲色图| 午夜丁香婷婷| www亚洲精品| 国产无吗一区二区三区在线欢| 国产在线观看一区精品| 成年A级毛片| 熟女视频91| 亚洲区第一页| 九色免费视频| 日韩在线成年视频人网站观看| av色爱 天堂网| 国产午夜福利在线小视频| 日韩无码黄色网站| 97国产成人无码精品久久久| 久久综合五月婷婷| 在线观看无码a∨| 中文字幕 91| 久久久黄色片| 五月婷婷综合色| 亚亚洲乱码一二三四区| 国产极品美女在线播放| 97成人在线观看| 天天躁狠狠躁| 亚洲高清无码精品| 欧美成人精品高清在线下载| 99视频精品全国免费品| 国产精品页| 国产乱人激情H在线观看| 亚洲精品天堂自在久久77| 2022国产无码在线| 精品无码视频在线观看| 黑人巨大精品欧美一区二区区| 国产99热| 91福利国产成人精品导航| 97国产精品视频自在拍| 网友自拍视频精品区| 国模私拍一区二区| 香蕉国产精品视频| 广东一级毛片| 99中文字幕亚洲一区二区| 欧美色伊人| 国产91精品最新在线播放| 成人在线观看不卡| 欧美一区二区三区国产精品| 国产一区二区丝袜高跟鞋| 高清免费毛片| 欧美国产三级|