国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的綜合實(shí)驗(yàn)平臺設(shè)計

2019-12-27 04:05肖艷軍孫凌宇孟召宗劉偉玲
實(shí)驗(yàn)技術(shù)與管理 2019年12期
關(guān)鍵詞:外設(shè)調(diào)試單片機(jī)

肖艷軍,毛 哲,溫 博,周 圍,孫凌宇,孟召宗,劉偉玲

儀器設(shè)備研制與應(yīng)用

基于STM32的綜合實(shí)驗(yàn)平臺設(shè)計

肖艷軍,毛 哲,溫 博,周 圍,孫凌宇,孟召宗,劉偉玲

(河北工業(yè)大學(xué)機(jī)械工程學(xué)院,天津 300131)

設(shè)計了以STM32單片機(jī)為核心的單片機(jī)實(shí)驗(yàn)平臺,作為對51單片機(jī)學(xué)習(xí)的補(bǔ)充。采用模塊化設(shè)計,考慮到學(xué)生學(xué)習(xí)能力以及需對STM32片上外設(shè)的掌握程度,設(shè)計了相應(yīng)模塊以及對應(yīng)的17個實(shí)驗(yàn)。插孔式連接方式使實(shí)驗(yàn)?zāi)K之間連接更加可靠穩(wěn)定。該實(shí)驗(yàn)平臺已在單片機(jī)教學(xué)中使用,提高了學(xué)生對單片機(jī)的學(xué)習(xí)興趣,鍛煉了學(xué)生的自主創(chuàng)新能力以及工程實(shí)踐能力。

STM32;模塊化設(shè)計;實(shí)驗(yàn)平臺

單片機(jī)作為儀器類專業(yè)本科生的必修內(nèi)容,而且在各行各業(yè)中應(yīng)用廣泛[1-4]。目前本科階段所教授的微控制器對象一般為51單片機(jī)[5-6]。隨著嵌入式技術(shù)的發(fā)展,傳統(tǒng)的8位單片機(jī)無論在片上資源及功能上都漸漸無法滿足市場需求。所以,單片機(jī)實(shí)驗(yàn)教學(xué)課程急需改革,需要注入新的活力[7-9]。

STM32系列單片機(jī)是ST(意法半導(dǎo)體)公司推出的基于ARMv7架構(gòu)的32位單片機(jī),與51單片機(jī)相比,STM32片上資源豐富,功能更加強(qiáng)大,具有極高的性價比[10-11]。在學(xué)習(xí)過51單片機(jī)的基礎(chǔ)上,通過庫函數(shù)開發(fā)的方式,可以快速地學(xué)習(xí)并掌握STM32[12]。目前市面雖有很多STM32的開發(fā)板,但這些開發(fā)板為減小PCB面積、減小生產(chǎn)成本,其外設(shè)與單片機(jī)引腳的連接方式已經(jīng)固定,不能根據(jù)具體需要來隨意支配單片機(jī)的I/O口,不能最大程度地鍛煉學(xué)生的實(shí)踐與操作能力。且I/O口都以插針的形式引出,連接不可靠。基于以上原因,本文設(shè)計了基于STM32F1系列單片機(jī)的綜合實(shí)驗(yàn)平臺并設(shè)計了相關(guān)實(shí)驗(yàn)。

1 功能模塊設(shè)計

以使學(xué)生通過實(shí)驗(yàn)?zāi)軌蚴炀氄莆誗TM32各種片上外設(shè)為原則,以實(shí)現(xiàn)理論教學(xué)與實(shí)踐訓(xùn)練相結(jié)合為目標(biāo),結(jié)合我校“工學(xué)并舉”的辦學(xué)特色,基于模塊化理念,設(shè)計了各種功能模塊。

1.1 基本功能模塊

基本功能模塊為保證實(shí)驗(yàn)板正常工作的模塊,包括單片機(jī)最小系統(tǒng)、電壓轉(zhuǎn)換模塊、BOOT模塊以及USB轉(zhuǎn)TTL模塊。

1.1.1 單片機(jī)最小系統(tǒng)

STM32的最小系統(tǒng)與51單片機(jī)的類似,都包括晶振、復(fù)位、電源以及單片機(jī)。區(qū)別是STM32晶振一般為8 MHz,電源電壓為3.3 V。此外,在單片機(jī)OSC32_IN以及OSC32_OUT之間還需接入一振蕩頻率為32.768 kHz的晶振,該晶振可作為STM32-RTC(實(shí)時時鐘)的外部時鐘源。在VBAT引腳接入備用電源,單片機(jī)掉電后,實(shí)時時鐘可繼續(xù)計時。最小系統(tǒng)原理圖如圖1所示。

圖1 單片機(jī)最小系統(tǒng)原理圖

1.1.2 電壓轉(zhuǎn)換模塊

由圖1可知,單片機(jī)所需工作電壓都為3.3 V,實(shí)驗(yàn)板通過USB口供電,USB所提供的電壓為5 V,所以通過電壓轉(zhuǎn)換模塊將電壓轉(zhuǎn)換為3.3 V,電壓轉(zhuǎn)換模塊通過ASM1117-3.3 V芯片將5 V電壓輸入轉(zhuǎn)換為3.3 V電壓輸出,為單片機(jī)提供工作電源。

1.1.3 BOOT模塊

STM32單片機(jī)有2個引腳BOOT0與BOOT1,單片機(jī)在上電時通過檢測這2個引腳電平的高低以決定其啟動方式,啟動方式的不同決定啟動區(qū)域的不同。具體啟動方式見表1。

內(nèi)部Flash啟動即正常啟動方式,程序下載到單片機(jī)內(nèi)部即存儲到內(nèi)部Flash中,該啟動模式下,單片機(jī)將自動執(zhí)行內(nèi)部Flash中所存儲的程序。

系統(tǒng)存儲器為單片機(jī)中一塊特殊的存儲區(qū)域,在出廠時就被固化了一段啟動程序。在系統(tǒng)存儲器被 選為啟動區(qū)域時,程序燒錄軟件可以通過,可以通 過該程序與單片機(jī)進(jìn)行通信,將程序下載到內(nèi)部 Flash中。

表1 STM32啟動模式表

內(nèi)部SRAM沒有存儲功能,掉電后數(shù)據(jù)消失,但其速度較Flash快,且無需擦除,所以可以在程序調(diào)試時使用該啟動項,將程序下載到SRAM中進(jìn)行調(diào)試,調(diào)試完成后再將程序下載到Flash中。

1.1.4 USB轉(zhuǎn)TTL模塊

在整個實(shí)驗(yàn)平臺中,USB既是電源又是與PC進(jìn)行通信的通信接口,所以,通過CH340芯片實(shí)現(xiàn)USB轉(zhuǎn)TTL,這樣單片機(jī)就可以通過USB接口與PC進(jìn)行通信,實(shí)現(xiàn)串口下載程序。

1.1.5 JTAG/SWD下載接口

通過該接口可以使用下載/仿真器進(jìn)行程序下載與硬件仿真。

1.2 其他功能模塊

其他功能模塊主要為依據(jù)STM32片上外設(shè)所設(shè)計,以體現(xiàn)其功能與用法。

(1)LED燈模塊??赏ㄟ^LED燈的亮滅判斷I/O口輸出電平的高低。

(2)數(shù)碼管模塊。通過I/O口控制數(shù)碼管顯示。

(3)蜂鳴器模塊。通過I/O口控制蜂鳴器發(fā)聲。

(4)按鍵模塊。通過I/O口檢測高低電平來判斷按鍵是否被按下。

(5)光敏電阻、熱電阻模塊。光敏電阻以及熱電阻分別可根據(jù)光強(qiáng)的大小以及溫度的高低改變自身阻值,再通過A/D轉(zhuǎn)換得到其阻值,即可得到光強(qiáng)與溫度的大小,同時,STM32芯片內(nèi)部集成有溫度傳感器,可將兩者測得的溫度值進(jìn)行對比。

(6)串口通信模塊(RS485與RS232通信接口)。集成了工業(yè)上常用RS232與RS485通信接口,通過MAX232芯片以及MAX3485芯片將TTL電平與232與485電平之間進(jìn)行轉(zhuǎn)換,使單片機(jī)能夠與支持232與485接口的設(shè)備進(jìn)行通信,如組態(tài)觸摸屏等。

(7)外部存儲器模塊,包括Flash與EEPROM。采用AT24C20 EEPROM芯片,可通過I2C接口與芯片通信實(shí)現(xiàn)數(shù)據(jù)存取。Flash采用W25X16芯片,可通過SPI接口與芯片進(jìn)行通信實(shí)現(xiàn)數(shù)據(jù)存取。

(8)無線射頻模塊。使用NRF24L01芯片,可通過I2C通信控制。

(9)藍(lán)牙模塊。使用HC-05芯片,單片機(jī)通過串口與之通信收發(fā)數(shù)據(jù)。

(10)紅外接收模塊??膳c遙控器等紅外設(shè)備進(jìn)行通信。

(11)音頻模塊。使用VS1053芯片,單片機(jī)可通過SPI接口與其通信實(shí)現(xiàn)音頻播放與錄音保存的功能。

(12)SD卡模塊。通過STM32的SDIO與之通信實(shí)現(xiàn)數(shù)據(jù)存取。

(13)高精度AD轉(zhuǎn)換模塊。采用HX711 芯片,該芯片為24位高精度A/D轉(zhuǎn)換芯片。配合稱重傳感器可實(shí)現(xiàn)高精度測量。

(14)LCD模塊。用于連接液晶屏進(jìn)行顯示。

圖2為該實(shí)驗(yàn)箱實(shí)物圖。

圖2 實(shí)驗(yàn)箱實(shí)物圖

2 程序編寫與調(diào)試

2.1 編程軟件

編程軟件使用Keil MDK軟件,Keil軟件是一款單片機(jī)C語言開發(fā)軟件,且同時支持匯編語言開發(fā)。根據(jù)所支持的單片機(jī)的種類分為4種:Keil C51、Keil MDK、Keil C251以及Keil C166(見圖3)。Keil MDK支持的是ARM系列的單片機(jī)。

圖3 KEIL官網(wǎng)提供的4款Keil軟件下載

2.2 編程方法

STM32作為32位單片機(jī),其內(nèi)部的寄存器數(shù)量多且大都為32位,若仍直接通過編程對寄存器操作進(jìn)行編程,則不僅編程工作量大,而且可移植性較差。為此,ST公司提供了STM32的標(biāo)準(zhǔn)固件庫,開發(fā)者只需調(diào)用固件庫中的函數(shù)即可實(shí)現(xiàn)對寄存器的操作,這樣就使程序的編寫更加高效且可移植性好,不同的STM32芯片所編寫的程序只需稍加修改甚至不必修改便可互相移植。

既然需要庫函數(shù),那么在創(chuàng)建工程時就需要添加所需要用到的庫函數(shù)文件,在使用的STM32芯片型號不經(jīng)常變更的情況下,比如實(shí)驗(yàn)板上的芯片型號是不會變化的,為了避免每次創(chuàng)建工程時都需要添加庫函數(shù)文件,可以直接創(chuàng)建一個具有完整庫函數(shù)文件的工程模板,在需要建立新工程時,只需將模板復(fù)制1份即可。在官方提供的庫函數(shù)文件Project文件夾中,提供了一個芯片型號為STM32F100系列的工程模板,見圖4,可參照該模板建立自己的工程模板。

圖4 固件庫中提供的工程模板

2.3 程序下載與調(diào)試

2.3.1 ISP下載與調(diào)試

ISP下載是通過USB轉(zhuǎn)TTL模塊將程序下載到芯片。在程序下載前,需配置BOOT引腳電平,使單片機(jī)進(jìn)入內(nèi)部存儲器啟動模式,下載完成后再更改BOOT引腳電平使單片機(jī)進(jìn)入內(nèi)部Flash啟動模式并開始執(zhí)行程序。該過程較為繁瑣,所以,在USB轉(zhuǎn)TTL模塊中,通過CH340芯片的DTR與RTS控制BOOT引腳,如圖5所示,不同的電路選擇不同的方式進(jìn)入內(nèi)部存儲器啟動模式。這樣,只需在程序下載上位機(jī)配置DTR與RTS 2個引腳即可,實(shí)現(xiàn)一鍵下載。程序編寫完成且編譯出HEX文件后,在ISP下載軟件中選擇要下載的文件下載即可。

ISP下載沒有調(diào)試的功能,只能將程序下載到單片機(jī)后觀察單片機(jī)的程序運(yùn)行情況。但在下載程序之前,可以在Keil軟件中進(jìn)行軟件模擬,不通過單片機(jī),直接在Keil軟件中觀察程序運(yùn)行的情況。

圖5 ISP下載軟件中的DTR與RTS選項

2.3.2 仿真器下載與調(diào)試

與ISP下載相比,仿真器下載不需要配置BOOT引腳,只需在Keil軟件中進(jìn)行與仿真器相關(guān)配置即可。配置完成后,也不需要專用的下載軟件,點(diǎn)擊Keil軟件中LOAD按鈕即可下載,見圖6。若需要硬件調(diào)試,在程序編譯完成之后,點(diǎn)擊Keil軟件中DEBUG按鈕即可,程序會自動通過仿真器下載到單片機(jī)中。調(diào)試時可以實(shí)現(xiàn)單步運(yùn)行,復(fù)位等功能,還可具體追蹤某一參數(shù)的數(shù)值變化等。

圖6 Keil軟件中的LOAD與DEBUG選項

3 實(shí)驗(yàn)項目

為使學(xué)生能夠充分理解學(xué)習(xí)STM32單片機(jī),配合所設(shè)計模塊,設(shè)計了基礎(chǔ)實(shí)驗(yàn)項目,如表2所示,高級實(shí)驗(yàn)項目見表3。

表2 實(shí)驗(yàn)箱基礎(chǔ)實(shí)驗(yàn)項目表

表3 實(shí)驗(yàn)箱高級實(shí)驗(yàn)項目表

基礎(chǔ)實(shí)驗(yàn)是為學(xué)習(xí)STM32片上外設(shè)所設(shè)計的,一般只涉及單一外設(shè)的實(shí)驗(yàn),由于GPIO外設(shè)的特殊性,所有實(shí)驗(yàn)都要使用到。高級實(shí)驗(yàn)是綜合多個外設(shè)所形成的綜合性實(shí)驗(yàn),或者是實(shí)驗(yàn)難度較大的實(shí)驗(yàn)。其中自主設(shè)計實(shí)驗(yàn)為開放性實(shí)驗(yàn),不限實(shí)驗(yàn)所用器件,學(xué)生根據(jù)所學(xué)知識與實(shí)驗(yàn)平臺資源和外部資源,設(shè)計出一個完整的測控系統(tǒng)。

圖7為學(xué)生自主搭建的溫度檢測與控制系統(tǒng),檢測環(huán)境溫度并通過STM32的高級定時器輸出不同占空比的PWM波經(jīng)L298N控制直流電機(jī)的轉(zhuǎn)速。同時通過示波器觀察STM32輸出的波形變化。

圖7 學(xué)生搭建的溫度檢測與控制系統(tǒng)

4 結(jié)語

本文圍繞STM32單片機(jī)的片上外設(shè)以及單片機(jī)本科教學(xué),設(shè)計了STM32實(shí)驗(yàn)平臺與配套的實(shí)驗(yàn),使本科階段的單片機(jī)教學(xué)能夠追趕嵌入式技術(shù)發(fā)展的潮流。新的教學(xué)內(nèi)容與新的單片機(jī)也激發(fā)了學(xué)生對于單片機(jī)學(xué)習(xí)的興趣,對儀器類專業(yè)綜合實(shí)驗(yàn)平臺的建設(shè)具有重要意義。

[1] 許京雷.嵌入式系統(tǒng)課程內(nèi)容設(shè)置[J].中國教育技術(shù)裝備,2017(8): 85–86.

[2] 張萍,馬樹軍,史可福.基于51單片機(jī)的指紋電子密碼鎖的設(shè)計與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2018, 37(8): 141–145, 168.

[3] 侯衛(wèi)周,顧玉宗.一款單片機(jī)系統(tǒng)控制的溫控智能水杯設(shè)計[J].實(shí)驗(yàn)室研究與探索,2017, 36(3): 70–74.

[4] 張仲明,郭東偉,呂巍,等.基于DS18B20溫度傳感器的溫度測量系統(tǒng)設(shè)計[J].實(shí)驗(yàn)技術(shù)與管理,2018, 35(5): 82–85, 94.

[5] 王琳霖,王偉,曹國強(qiáng),等.基于單片機(jī)的機(jī)電控制實(shí)訓(xùn)平臺設(shè)計[J].實(shí)驗(yàn)技術(shù)與管理,2018, 35(4): 82–85.

[6] 朱向慶,黎東濤,蘇超益,等.適合于項目教學(xué)法的三合一單片機(jī)實(shí)驗(yàn)箱設(shè)計[J].實(shí)驗(yàn)技術(shù)與管理,2013, 30(7): 55–59.

[7] 肖艷軍,周圍,楊澤青,等.測控專業(yè)單片機(jī)實(shí)驗(yàn)教學(xué)模式的探索[J].教育教學(xué)論壇,2016(46): 265–266.

[8] 肖艷軍,楊澤青,周圍,等.測控專業(yè)人才培養(yǎng)目標(biāo)及培養(yǎng)模式創(chuàng)新性研究[J].實(shí)驗(yàn)技術(shù)與管理,2016, 33(3): 20–22.

[9] 肖艷軍,孫英培,孟憲樂,等.關(guān)于單片機(jī)原理及應(yīng)用和PLC課程的教學(xué)改革[J].科技信息,2014(8): 23–23.

[10] 滿紅,鄭富榮,胡偉華,等.基于STM32單片機(jī)的教學(xué)用尋跡平衡車的設(shè)計與實(shí)現(xiàn)[J].機(jī)器人技術(shù)與應(yīng)用,2018(4): 39–42.

[11] 楊剛,千博,陳建安,等.四軸飛行器嵌入式教學(xué)實(shí)驗(yàn)平臺的構(gòu)建[J].實(shí)驗(yàn)科學(xué)與技術(shù),2018, 16(1): 132–136, 140.

[12] 盛慶華,杜永均,羅飛,等.基于STM32機(jī)械臂解魔方算法研究[J].實(shí)驗(yàn)室研究與探索,2017, 36(4): 29–32.

Design of comprehensive experimental platform based on STM32

XIAO Yanjun, MAO Zhe, WEN Bo, ZHOU Wei, SUN Lingyu, MENG Zhaozong, LIU Weiling

(School of Mechanical Engineering, Hebei University of Technology, Tianjin 300131, China)

The experimental platform of the SCM with STM32 as the core is designed as a supplement to the learning of 51 SCM. With the modular design and in consideration of students’ learning ability and the need to master the peripherals of STM32 chip, the corresponding modules and 17 corresponding experiments are designed. The socket connection mode makes the connection between the experimental modules more reliable and stable. The experimental platform has been used in the teaching of SCM, which improves students’ interest in learning SCM and trains their ability of independent innovation and engineering practice.

STM32; modular design; experimental platform

TP368.2;G484

A

1002-4956(2019)12-0072-05

10.16791/j.cnki.sjg.2019.12.017

2019-04-16

教育部產(chǎn)學(xué)研協(xié)同育人項目(201801013016);河北省高等學(xué)校教育改革研究與實(shí)踐項目(2017GJJG026)

肖艷軍(1976—),男,河北滄州,博士,教授,從事嵌入式系統(tǒng)應(yīng)用、余熱利用技術(shù)、新能源裝備及其關(guān)鍵技術(shù)等研究。E-mail: x_yanjun2009@163.com

劉偉玲(1973—),女,河北邢臺,博士,副教授,主要研究方向?yàn)闇y控儀器設(shè)計。

猜你喜歡
外設(shè)調(diào)試單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計與實(shí)現(xiàn)
基于單片機(jī)的層次漸變暖燈的研究
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測量儀
基于航拍無人機(jī)的設(shè)計與調(diào)試
FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
核電廠主給水系統(tǒng)調(diào)試
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
外設(shè)天地行情
外設(shè)天地行情
沾化县| 益阳市| 吴堡县| 威远县| 夏邑县| 白山市| 华宁县| 犍为县| 包头市| 崇文区| 五指山市| 松江区| 新安县| 彭山县| 甘泉县| 达尔| 东城区| 昌平区| 哈巴河县| 清苑县| 巴林右旗| 定远县| 漠河县| 锡林郭勒盟| 兖州市| 庆安县| 新宾| 克拉玛依市| 巴中市| 南平市| 酒泉市| 闽侯县| 于田县| 米脂县| 浙江省| 遵义县| 高州市| 乃东县| 麦盖提县| 化隆| 罗甸县|