STM32畢業(yè)設(shè)計論文_第1頁
STM32畢業(yè)設(shè)計論文_第2頁
STM32畢業(yè)設(shè)計論文_第3頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于STM32定時器產(chǎn)生PWM的研究作者XX:222專業(yè)班級:222指導(dǎo)教師:222摘要隨著科技水平的提高,ARM的應(yīng)用越來越廣泛。Withthedevelopoftechnology,ARMisusedinvarioussituations.旨在對ARM的深入學(xué)習(xí),論文對STM32定時器產(chǎn)生PWM(脈沖寬度調(diào)制)輸出進展了研究。OntheintentionofstudyonARM,timerofSTM32producepulsesPWM(widthmodulation)isstudiedinthispaper.PWM就是某個頻率占空比的方波,其應(yīng)用領(lǐng)域包括測量,通信,功率控制與變換,電動機控

2、制、伺服控制、甚至某些音頻放大器,因此研究PWM技術(shù)具有十分重要的現(xiàn)實意義。PWMisthesquarewavewhichhasasureduty-cycleandfrequency.Itsapplicationfieldsincludemeasurement,munication,powercontrolandtransform,motorcontrol,servocontrol,evensomeaudioamplifier.ThereforeitisimportanttoresearchPWMtechnology.本設(shè)計采用STM32定時器產(chǎn)生PWM。Itiseasytousethetim

3、erofSTM32toproducePWMoutput.STM32的PWM由定時器產(chǎn)生,PWM的周期即定時器定時的時間,通過計算方波的頻率,占空比,配置定時器和IO口,最后用示波器顯示相應(yīng)通道占空比的方波即可。PWMisproducedbythetimerofSTM32.ThecycleofPWMisthetimersregulartime.Bycalculatingthefrequencyofsquarewave,duty-cycle,configuringthetimerandIO,thenuseoscilloscopedisplayedthePWM.經(jīng)對STM32開發(fā)板的研究學(xué)習(xí),通過對

4、STM32定時器等的配置,用示波器顯示,完成了PWM輸出。BasedontheSTM32,byconfiguringthetimerofSTM32,PWMisdisplayedbyoscilloscope.關(guān)鍵詞STM32,定時器,PWMStudyfortheoutputofPWMproducebytimerofSTM32BasedonMDKAbstract:Withthedevelopmentoftechnology,ARMisusedinvarioussituations.OntheintentionofstudyonARM,timerofSTM32producepulsesPWM(wid

5、thmodulation)isstudiedinthispaper.PWMisthesquarewavewhichhasasureduty-cycleandfrequency.Itsapplicationfieldsincludemeasurement,munication,powercontrolandtransform,motorcontrol,servocontrol,evensomeaudioamplifier.ThereforeitisimportanttoresearchPWMtechnology.ItiseasytousethetimerofSTM32toproducePWMou

6、tput.PWMisproducedbythetimerofSTM32.ThecycleofPWMisthetimersregulartime.Bycalculatingthefrequencyofsquarewave,duty-cycle,configuringthetimerandIO,thenuseoscilloscopedisplayedthePWM.BasedontheSTM32,byconfiguringthetimerofSTM32,PWMisdisplayedbyoscilloscope.Keywords:STM32,timer,PWM目錄2.3 第1章前言4ARM應(yīng)用背景41

7、.2研究內(nèi)容61.3研究成果6第2章STM32處理器概述7STM32簡介72.2內(nèi)部資源9CORTEX-M3內(nèi)核簡介10STM32定時器簡介112.4.1 通用定時器112.4.2 高級控制定時器122.1 小結(jié)16第3章PWM概述16原理162.1.1 PWM模式174.1 3.1.2互補輸出與死區(qū)插入20PWM輸出的實現(xiàn)22第4章軟件設(shè)計23開發(fā)環(huán)境234.1.1 STM32的開發(fā)軟件234.2 MDK37024軟件實現(xiàn)254.2.1 設(shè)計標(biāo)準(zhǔn)25程序流程圖26第五章測試及結(jié)果275.1JTAG仿真器介紹27測試295.3現(xiàn)象及結(jié)果29結(jié)論31致謝32參考文獻33第1章前目1.1ARM應(yīng)用

8、背景如今,學(xué)習(xí)一種處理器的就有許多ARM內(nèi)核的處理器可供使用,現(xiàn)在社會已步入嵌入式學(xué)習(xí)階段。在嵌入式領(lǐng)域,8位處理器已經(jīng)不再勝任一些復(fù)雜的應(yīng)用,比方GUI,TCP/IP,FILESYSTEM等,而ARM芯片憑借強大的處理能力和極低的功耗,非常適合這些場合?,F(xiàn)在越來越多的產(chǎn)品在選型的時候考慮到使用ARM處理器,ARM的應(yīng)用是相當(dāng)?shù)膹V泛。ARM的嵌入式控制應(yīng)用如:汽車、電子設(shè)備、保安設(shè)備、大容量存儲器、調(diào)制解調(diào)器、打印機等。一個典型的ARM嵌入式工業(yè)控制系統(tǒng)的功能模塊如圖1-1所示。輸入輸出圖1-1ARM嵌入式工業(yè)控制系統(tǒng)的功能模塊目前已有超過85%的無線通信設(shè)備采用了ARM技術(shù),ARM以其高性能

9、和低本錢,在該領(lǐng)域的地位日益穩(wěn)固。ARM在此方面的應(yīng)用如:手提式計算機、移動、PDA等。隨著寬帶技術(shù)的推廣,采用ARM技術(shù)的ADSL芯片正逐步獲得競爭優(yōu)勢。此外,ARM在語音及視頻處理上進展了優(yōu)化,并獲得廣泛支持。ARM技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒、游戲機、數(shù)碼相機、數(shù)字式電視機、GPS、機頂盒中得到廣泛采用?,F(xiàn)在流行的數(shù)碼相機和打印機中絕大局部采用ARM技術(shù),手機中的32位SIM智能卡也采用了ARM技術(shù)。如圖1-2所示是基丁ARM技術(shù)的數(shù)碼相機的功能模塊9。圖1-2基于ARM技術(shù)的數(shù)碼相機的功能模塊ADCCCD1.2研究內(nèi)容本設(shè)計旨在加深對ARM的學(xué)習(xí),穩(wěn)固大學(xué)四年所學(xué)專業(yè)知識

10、,提升動手能力和思考問題解決問題的能力。本設(shè)計選擇意法半導(dǎo)體的STM32F開發(fā)板,通過對該開發(fā)板的研究學(xué)習(xí),和對STM32F103C8T6芯片的學(xué)習(xí),掌握其各種外設(shè)功能。通過對TIM1定時器進展控制,使之各通道輸出插入死區(qū)的互補PWM輸出,各通道輸出頻率均為17.57KHZ。其中,通道1輸出的占空比為50%,通道2輸出的占空比為25%,通道3輸出的占空比為12.5%各通道互補輸出為反相輸出。TIM1定時器的通道1到4的輸出分別對應(yīng)PA.0&PA.09、PA.10和PA.11引腳,而通道1到3的互補輸出分別對應(yīng)PB.13PB.14和PB.15引腳,中止輸入引腳為PB.12將這些引腳分別接

11、入示波器,在示波器上觀查相應(yīng)通道占空比的方波12。本文第一章講述了該論文寫作背景,主要闡述了ARM應(yīng)用X疇,以及該論文研究的內(nèi)容;第二章講述了該研究課題使用的開發(fā)板的內(nèi)部資源和開發(fā)板核心芯片STM32F103C8的各項參數(shù);第三章著重介紹了PWM的原理及實現(xiàn)方法;第四章介紹了本研究的軟件設(shè)計模塊;第五章介紹了測試方法和結(jié)果。1.3研究成果配置好各通道后,編譯運行工程;點擊MDK的Debug菜單,點擊Start/StopDebugSession通過示波器觀察PA.0&PA.06PA.1&PB.13PB.14PB.15的輸出波形,其中PA.08和PB.13為第一通道和互補通道,PB

12、.09和PB.14為第二通道和其互補通道,PB.10和PB.15為第三通道和其互補通道;第一通道顯示占空比為50%,第二通道占空比為25%笫三通道占空比為12.5%第2章STM32處理器概述2.1STM32簡介24STM32F103xx增強型系列使用高性能的ARM/Cortex-M3/32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標(biāo)準(zhǔn)和先進的通信接口:多達2個I2C和SPI、3個USART、一個US

13、B和一個CAN。STM32F103x對曾強型系列工作于-40C至+105C的溫度X圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應(yīng)用的要求。完整的STM32F103x對曾強型系列產(chǎn)品包括從36腳至100腳的五種不同封裝形式;根據(jù)不同的封裝形式,器件中的外設(shè)配置不盡一樣。下面給出了該系列產(chǎn)品中所有外設(shè)的根本介紹。這些豐富的外設(shè)配置,使得STM32F103xd曾強型微控制器適合于多種應(yīng)用場合:電機驅(qū)動和應(yīng)用控制;醫(yī)療和手持設(shè)備;-PC外設(shè)和GPS平臺;工業(yè)應(yīng)用:可編程控制器、變頻器、打印機和掃描儀警報系統(tǒng),視頻對講,和暖氣通風(fēng)空調(diào)系統(tǒng);2.1.1STM32F103C8勺參數(shù)STM32開

14、發(fā)板核心芯片的參數(shù)如表2-1表2-1器件功能和配置(STM32F103xx增強型)SH32Fl«3CisnmoiKx氏存K宇節(jié))32643264126326412B64128RamGt字節(jié))id201020201020定時器通用232a3233高級i111通信SPIi212222fc2122122LEART23233233曉11I111IICAN1I1111I酬1使口26518012位同步ADC2loast210通道215通道CPU.奉72MHi工作電壓2.侄3.6V工作溫度40至也字C/-如至+105*C封裝IF0渺36郵48WFP64LQPPIOO,3GAW0芯片引腳圖如圖2-2

15、:SaSagofl_費CL&n_0100(0000.富CLrtlss>nnnnrrnnrrnnnVEATCPC13-TAPJIPEH-RTCCPC14-CJSC12JNCPC15-OSC22_61tPDOOSCJNCFD1OSC_OUTCNRSTcVSSAEVDDACF思*UPERME唯匚<4fl474fi1LQFP必-=w我,2.2"B1011/25nnrrrrnnnrrnnnVDDJ2YSS2M13PA12PA11PA10PA9呻PB15PWPB13PB12<13415IS17TB1C202122212*/UUJJULJLJLJUUI一Lu?Ls理meL

16、CLWSaR寸任圖2-2STM32F103xx增強型LQPFP48管腳圖2.2內(nèi)部資源STM32有豐富的內(nèi)部資源,如下所示:-RealViewMDKMiertocontrollerDevelopmentKit基丁ARM微控制器的專業(yè)嵌入式開發(fā)工具;-內(nèi)置閃存存儲器;-內(nèi)置SRAM;嵌套的向量式中斷控制器(NVIC);-外部中斷/事件控制器(EXTI);時鐘和啟動;-自舉模式;-DMA;-RTC(實時時鐘)和后備存放器;-窗口看門狗;I2C總線;-通用同步/異步承受發(fā)送器(USART);-申行外設(shè)接口(SPI);控制器區(qū)域網(wǎng)絡(luò)(CAN);-通用申行總線(USB);-通用輸入輸出接口(GPIO);

17、-ADC(模擬/數(shù)字轉(zhuǎn)換器);-溫度傳感器;-申行線JTAG調(diào)試口(SWJ-DP)2.3Cortex-M3內(nèi)核簡介Cortex-M3內(nèi)核包含一個適用于傳統(tǒng)Thumb和新型Thumb-2指令的譯碼器、一個支持硬件乘法和硬件除法的先進ALU、控制邏輯和用于連接處理器其他部件的接口。Cortex-M3處理器是首款基于ARMv7-M架構(gòu)的ARM處理器。中央Cortex-M3內(nèi)核使用3級流水線哈佛架構(gòu),運用分支預(yù)測、單周期乘法和硬件除法功能實現(xiàn)了出色的效率1.25DMIPS/MHz。Cortex-M3處理器是一個32位處理器,帶有32位寬的數(shù)據(jù)路徑、存放器庫和基于傳統(tǒng)ARM7處理器的系統(tǒng)只支持訪問對齊的

18、數(shù)據(jù),沿著對齊的字邊界即可對數(shù)據(jù)進展訪問和存儲。Cortex-M3處理器采用非對齊數(shù)據(jù)訪問方式,使非對齊數(shù)據(jù)可以在單核訪問中進展傳輸。Cortex-M3處理器是專為那些對本錢和功耗非常敏感但同時對性能要求乂相當(dāng)高的應(yīng)用而設(shè)計的。憑借縮小的內(nèi)核尺寸和出色的中斷延遲性能、集成的系統(tǒng)部件、靈活的配置、簡單的高級編程和強大的軟件系統(tǒng),Cortex-M3處理器將成2-3為為從復(fù)雜的芯片系統(tǒng)到低端微控制器等各種系統(tǒng)的理想解決方案。表Cortex-M3處理器與ARM7作比擬表2-3Cortex-M3與ARM7相比擬ARM7Cor1cxM3架構(gòu)ARMvlT(馮諾屈景)指令粕數(shù)據(jù)總戰(zhàn)共用,會出現(xiàn)觥領(lǐng)ABMvTf

19、(哈徵指今和我據(jù)總線分開,無旅濱指令集32位ARM指尊+16位Thu成指身兩磨n令之間需夏進行狀杰切換ThimibfrliimibJ指4集16也和U位指書可直接混寫,無需陶網(wǎng)換流水統(tǒng)3M水線蓄出現(xiàn)轉(zhuǎn)移則看要刷新流水統(tǒng),損失慘直3緩流水蛇4-分重琪迥出現(xiàn)醇移時流水哉無耕劇新,幾乎無損失性能QWDMIPSrmz功1茂式)L知皿缽險功群OJSinW-TMHz0如ilv.MHz征功耗模式無內(nèi)置睡眠模式O.tildtru2(僅內(nèi)校)O.Sdiirui*(內(nèi)檬+外設(shè)中斯普通中斷IRQWS中監(jiān)f!Q太ih丈童外該不偌不算吊中斷八可康征中斷NMI+12羚個物理中斷使個外追都可以牧占一個中斷,鷺率吾7-4?個時

20、鐘周期.緩慢12個時鐘周期,最快只需6個中斷壓松較作手工壓棧,代蜂長且斂潭低噢件目訪壓桃,無等代ill成率高存怯善俁護T8陵存俺器保護單元LMPU)內(nèi)核奇存器哥律器分為多組,售均復(fù)親,白核因程務(wù)寄存器不分組(SPXM簡單工作蟆式7種工作模式.比較晚只有統(tǒng)巷模式W噠等模式兩神:荷申乘除法指令多周期素法指令無除法拒令單同期柬總指暑,21£用耕除法指令恒頓作T訪問外設(shè)寄存器需分如讀改與'3步走5ti£fnBil-bmd悻撐作技術(shù)擊亙接間外設(shè)芝荏器的某個位系統(tǒng)節(jié)拍定時先內(nèi)置系統(tǒng)節(jié)拍定曠器,有利干膜作系綻移蟠2.4STM32定時器簡介2.4.1通用定時器22STM32F103

21、xd曾強型系列產(chǎn)品中內(nèi)置了多達3個同步的標(biāo)準(zhǔn)定時器。每個定時器都有一個16位的自動加載遞加/遞減計數(shù)器、一個16位的預(yù)分頻器和4個獨立的通道,每個通道都可用于輸入捕獲、輸出比擬、PWM和單脈沖模式輸出,在最大的封裝配置中可提供最多12個輸入捕獲、輸出比擬或PWM通道。它們還能通過定時器功能與高級控制定時器共同工作,提供同步或事件功能。在調(diào)試模式下,計數(shù)器可以被凍結(jié)。任一個標(biāo)準(zhǔn)定時器都能用于產(chǎn)生PWM輸出。每個定時器都有獨立的DMA請求機制。2.4.2高級控制定時器22高級控制定時器(TIM1)由一個16位的自動裝載計數(shù)器組成,它由一個可編程預(yù)分頻器驅(qū)動。它適合多種用途,包含測量輸入信號的脈沖寬

22、度(輸入捕獲),或者產(chǎn)生輸出波形(輸出比擬,PWM,嵌入死區(qū)時間的互補PWM等)。使用定時器預(yù)分頻器和RCC時鐘控制預(yù)分頻器,可以實現(xiàn)脈沖寬度和波形周期從幾個微秒至幾個毫秒的調(diào)節(jié)。高級控制(TIM1)和通用(TIMx)定時器是完全獨立的,它們不共享任何資源,它們可以同步操作。高級控制定時器(TIM1)可以被看成是一個分配到6個通道的三相PWM發(fā)生器,它還可以被當(dāng)成一個完整的通用定時器。四個獨立的通道可以用于:輸入捕獲;輸出比擬;產(chǎn)生PWM(邊緣或中心對齊模式);單脈沖輸出;反相PWM輸出,具有程序可控的死區(qū)插入功能;配置為16位標(biāo)準(zhǔn)定時器時,它與TIMx定時器具有一樣的功能。配置為16位PWM

23、發(fā)生器時,它具有全調(diào)制能力(0100%)。在調(diào)試模式下,計數(shù)器可以被凍結(jié)。很多功能都與標(biāo)準(zhǔn)的TIM定時器一樣,內(nèi)部構(gòu)造也一樣,因此高級控制定時器可以通過定時器功能與TIM定時器協(xié)同操作,提供同步或事件功能。TIM1定時器的功能包括:-16位上,下,上/下自動裝載計數(shù)器;-16位可編程預(yù)分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為165535之間的任意數(shù)值;-4個獨立通道:-輸入捕獲;-輸出比擬;-PWM生成(邊緣或中間對齊模式);-單脈沖模式輸出;-死區(qū)時間可編程的互補輸出。使用外部信號控制定時器和定時器互連的同步電路;-在指定數(shù)目的計數(shù)器周期之后更新定時器存放器;剎車輸入信號可以將定時器輸出信號置于復(fù)

24、位狀態(tài)或者一個狀態(tài);如下事件發(fā)生時產(chǎn)生中斷/DMA:-更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā));-觸發(fā)事件(計數(shù)器啟動,停頓,初始化或者由內(nèi)部/外部觸發(fā)計數(shù));-輸入捕獲;-輸出比擬;-剎車信號輸入時基單元可編程高級控制定時器的主要局部是一個16位計數(shù)器和與其相關(guān)的自動裝載存放器。這個計數(shù)器可以向上計數(shù)、向下計數(shù)或者向上向下雙向計數(shù)。此計數(shù)器時鐘由預(yù)分頻器分頻得到。計數(shù)器、自動裝載存放器和預(yù)分頻器存放器可以由軟件讀寫,即使計數(shù)器還在運行讀寫仍然有效。時基單元包含:計數(shù)器存放器(TIM1_T);預(yù)分頻器存放器(TIM1_PSC);自動裝載存放器(TIM1_ARR

25、);周期計數(shù)存放器(TIM1_RCR);自動裝載存放器是預(yù)先裝載的。寫或讀自動重裝載存放器將訪問預(yù)裝載存放器。根據(jù)在TIM1_CR1存放器中的自動裝載預(yù)裝載使能位(ARPE)的設(shè)置,預(yù)裝載存放器的內(nèi)容被永久地或在每次的更新事件UEV時傳送到影子存放器。當(dāng)計數(shù)器到達溢出條件(向下計數(shù)時的下溢條件)并當(dāng)TIM1_CR1存放器中的UDIS位等于0時,產(chǎn)生更新事件。更新事件也可以由軟件產(chǎn)生。隨后會詳細(xì)描述每一種配置下更新事件的產(chǎn)生。計數(shù)器由預(yù)分頻器的時鐘輸出CK_T驅(qū)動,僅當(dāng)設(shè)置了計數(shù)器TIM1_CR1存放器中的計數(shù)器使能位(CEN)時,CK_T才有效。(有關(guān)更多的計數(shù)器使能的細(xì)節(jié),請參見控制器的從模

26、式描述)。注:真正的計數(shù)器使能信號T_EN是在CEN后的一個時鐘周期后被設(shè)置。預(yù)分頻器描述預(yù)分頻器可以將計數(shù)器的時鐘頻率按1到65536之間的任意值分頻。它是基丁一個(在TIM1_PSC存放器中的)16位存放器控制的16位計數(shù)器。因為這個控制存放器帶有緩沖器,它能夠在工作時被改變。新的預(yù)分頻器的參數(shù)在下一次更新事件到來時被采用。圖2-4和圖2-5給出了一些在預(yù)分頻器工作時,更改其參數(shù)的情況下計數(shù)器操作的例子。ckfsc_rLrLrLrLrLrLrLn_rLrLrLrLrLrLrLnCount#叫眥F7間同際而口.用(姑:乒Prescalercounr圖2-4當(dāng)預(yù)分頻器的參數(shù)從1變到2時,計數(shù)器

27、的時序圖ck_psc_rLrLrLrLrLrLn_rLrLrLrLrLrLrLrLnCNT-ENQfl01PrescalercomerwmimnCcxinrerregierF7亦郡醐克圖2-5當(dāng)預(yù)分頻器的參數(shù)從1變到4時,計數(shù)器的時序圖2.4.3小結(jié)經(jīng)過比擬和針對設(shè)計需要,使用定時器預(yù)分頻器和RCC時鐘控制預(yù)分頻器,可以實現(xiàn)脈沖寬度和波形周期從幾個微秒至幾個毫秒的調(diào)節(jié)。高級控制(TIM1)和通用(TIMx)定時器是完全獨立的,不共享任何資源,可以同步操作。高級控制定時器(TIM1)還可以被看成是一個分配到6個通道的三相PWM發(fā)生器,它還可以被當(dāng)成一個完整的通用定時器。因此該設(shè)計選擇高級控制定時

28、器(TIM1)。第3章PWM概述3.1原理PWM是PulseWidthModulation的縮寫,中文意思就是脈沖寬度調(diào)制,簡稱脈寬調(diào)制。它是利用微處理器的數(shù)字輸出來對模擬電路進展控制的一種非常有效的技術(shù),其控制簡單、靈活和動態(tài)響應(yīng)好等優(yōu)點而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,其應(yīng)用領(lǐng)域包括測量,通信,功率控制與變換,電動機控制、伺服控制、調(diào)光、開關(guān)電源,甚至某些音頻放大器,因此研究基于PWM技術(shù)的正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器具有十分重要的現(xiàn)實意義。PWM是一種對模擬信號電平進展數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進展編碼。PWM信號仍然是數(shù)

29、字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時候即是直流供電被加到負(fù)載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進展編碼。多數(shù)負(fù)載(無論是電感性負(fù)載還是電容性負(fù)載)需要的調(diào)制頻率高10Hz,通常調(diào)制頻率為1kHz到200kHz之間。占空比是接通時間與周期之比;調(diào)制頻率為周期的倒數(shù)。目前,運動控制系統(tǒng)或電動機控制系統(tǒng)中實現(xiàn)PWM的方法主要有傳統(tǒng)的數(shù)字電路方式、專用的PWM集成電路、單片機實現(xiàn)方式和可編程邏輯器件實現(xiàn)方式。用傳統(tǒng)的數(shù)字電

30、路實現(xiàn)PWM,電路設(shè)計較復(fù)雜,體積大,抗十?dāng)_能力差,系統(tǒng)的控制周期較長。專用的PWM集成電路或帶有PWM的單片機價格較高。對于單片機中無PWM輸出功能的情況,實現(xiàn)PWM將消耗大量的時間,大大降低了CPU的效率,而且得到的PWM信號精度不太高15。3.1.1PWM模式脈沖寬度調(diào)制模式可以產(chǎn)生一個由TIM1_ARR存放器確定頻率、由TIM1_CCRx存放器確定占空比的信號。在TIM1_CCMRx存放器中的OCxM位寫入“110”(PWM模式1)或“11T(PWM模式2),能夠獨立地設(shè)置每個通道工作在PWM模式,每個OCx輸出一路PWM。必須通過設(shè)置TIM1_CCMRx存放器OCxPE位使能相應(yīng)的預(yù)

31、裝載存放器,最后還要設(shè)置TIM1_CR1存放器的ARPE位使能自動重裝載的預(yù)裝載存放器(在向上計數(shù)或中心對稱模式中)。因為僅當(dāng)發(fā)生一個更新事件的時候,預(yù)裝載存放器才能被傳送到影子存放器,因此在計數(shù)器開場計數(shù)之前,必須通過設(shè)置TIM1_EGR存放器中的UG位來初始化所有的存放器。OCx的極性可以通過軟件在TIM1_CCER存放器中的CCxP位設(shè)置,它可以設(shè)置為高電平有效活和低電平有效。OCx輸出通過CCxE、CCxNE、MOE、OSSI和OSSR位(在TIM1_CCER和TIM1_BDTR存放器中)的組合控制。在PWM模式(模式1或模式2)下,TIM1_T和TIM1_CCRx始終在進行比擬,(依

32、據(jù)計數(shù)器的計數(shù)方向)以確定是否符合TIM1_CCRx<TIM1_T或者TIM1_T<TIM1_CCRx。根據(jù)TIM1_CR1存放器中CMS位的狀態(tài),定時器能夠產(chǎn)生邊沿對齊的或中央對齊的PWM信號。PWM邊沿對齊模式-向上計數(shù)配置當(dāng)TIM1CR1存放器中的DIR位為低的時候執(zhí)行向上計數(shù)。當(dāng)TIM1_T<TIM1_CCRx時PWM參考信號,OCxREF為高,否那么為低。如果TIM1_CCRx中的比擬值大丁自動重裝載值(TIM1_ARR),那么OCxREF保持為1”。如果比擬值為0,那么OCxREF保持為“0”。圖3-1為TIM1_ARR=8時邊沿對齊的PWM波形實例。圖3-1邊沿

33、對齊的PWM波形(ARR=8)向下計數(shù)的配置當(dāng)TIM1_CR1存放器的DIR位為高時執(zhí)行向下計數(shù)。在PWM模式1,當(dāng)TIM1_T>TIM1_CCRx時參考信號OCxREF為低,否那么為高。如果TIM1_CCRx中的比擬值大于TIM1_ARR中的自動重裝載值,那么OCxREF保持為“1”。該模式下不能產(chǎn)生0%的PWM波形。PWM中央對齊模式當(dāng)TIM1_CR1存放器中的CMS位不為00時為中央對齊模式(所有其他的配置對OCxREF/OCx信號都有一樣的作用)。根據(jù)不同的CMS位的設(shè)置,比擬標(biāo)志可能在計數(shù)器向上計數(shù)時被置1、在計數(shù)器向下計數(shù)時被置1、或在計數(shù)器向上和向下計數(shù)時被置1。TIM1_

34、CR1存放器中的計數(shù)方向位(DIR)由硬件更新,不要用軟件修改它。圖3-2給出了一些中央對齊的PWM波形的例子-TIM1_ARR=8;-PWM模式1;-TIM1_CR1存放器中的CMS=01,在中央對齊模式1時,當(dāng)計數(shù)器向下計數(shù)時標(biāo)志被設(shè)置。215merreqiMer10Ctfb(=7-CMS=01CMS-11TCMS=10or11rrCMS=01CMSMCMS二114r4rCMS=O1CMS=10CMS-114rCMADIfCMS=10,CMSF14CCxIFGG)dFC&IFCGxFCCXIF<1OCxREFCCRt-03職EFGGR)f>0心建FCCRx=4圖3-2中

35、央對齊的PWM波形(APR=8)3.1.2互補輸出與死區(qū)插入高級控制定時器TIM1能夠輸出兩路互補信號并且能夠管理輸出的瞬時關(guān)斷和接通。這段時間通常被稱為死區(qū),應(yīng)該根據(jù)連接到輸出的器件和它們的特性(電平轉(zhuǎn)換的延時、電源開關(guān)的延時等)來調(diào)整死區(qū)時間。配置TIM1_CCER存放器中的CCxP和CCxNP位,可以為每一個輸出獨立地選擇極性(主輸出OCx或互補輸出OCxN)?;パa信號OCx和OCxN通過下列控制位的組合進行控制:TIM1_CCER存放器的CCxE和CCxNE位,TIM1_BDTR和TIM1_CR2存放器中的MOE、OISx、OISxN、OSSI和OSSR位,帶剎車功能的互補輸出通道OC

36、x和OCxN的控制位。特別的是,在轉(zhuǎn)換到IDLE狀態(tài)時(MOS下降到0)死區(qū)被激活。同時設(shè)置CCxE和CCxNE位將插入死區(qū),如果存在剎車電路,那么還要設(shè)置MOE位。每一個通道都有一個10位的死區(qū)發(fā)生器。參考信號OCxREF可以產(chǎn)生2路輸出OCx和OCxN。如果OCx和OCxN為高有效:-OCx輸出信號與參考信號一樣,只是它的上升沿相對丁參考信號的上升沿有一個延遲-OCxN輸出信號與參考信號相反,只是它的上升沿相對丁參考信號的下降沿有一個延遲。如果延遲大丁當(dāng)前有效的輸出寬度(OCx或OCxN),那么不會產(chǎn)生相應(yīng)的脈沖。圖3-3,3-4顯示了死區(qū)發(fā)生器的輸出信號和當(dāng)前參考信號OCxREF之間的關(guān)

37、系(假設(shè)CCxP=0、CCxNP=0、MOE=1、CCxE=1并且CCxNE=1)。OCXN圖3-3帶死區(qū)插入的互補輸出OCxREFOCXOCxNdelayVA圖3-4死區(qū)波形延退大于負(fù)脈沖3.2PWM輸出的實現(xiàn)12STM32的高級定時器時鐘TIM1CLK為固定72MHz,TIM1預(yù)分頻為0x0系統(tǒng)高速時鐘不分頻,所以TIM1計數(shù)器時鐘頻率為72MHz。I/O口時鐘為固定值50MHz,PA8、PA9、PA10、PA11設(shè)為推拉模式。TIM1在下面定義的頻率下工作:TIM1頻率=TIM1CLK/(TIM1_Period+1)=17.57KHz。TIM1CC1存放器的值為0x7FFF,所以TIM1

38、_CH1和TIM1_CH1N產(chǎn)生一個頻率為17.57KHz的信號,這個信號的占空比為:TIM1_CH1占空比=TIM1_CCR1/(TIM1_Period+1)=50%。TIM1CC2存放器的值為0x3FFF,所以TIM1_CH2和TIM1_CH2N產(chǎn)生一個17.57KHz的信號,它的占空比為:TIM1_CH2占空比=TIM1_CCR2/(TIM1_Period+1)=25%。TIM1CC3存放器的值為0x1FFF,所以TIM1_CH3和TIM1_CH3N產(chǎn)生一個17.57KHz的信號,它的占空比為:TIM1_CH3占空比=TIM1_CCR3/(TIM1_Period+1)=12.5%。TIM

39、1波形可以在示波器上顯示出來。輸出信號觀察以下引腳分別依次接到示波器上兩個一組,示波器接線正接觸線以下引腳,負(fù)接觸線接地GND。-TIM1_CH1pin(PA8);-TIM1_CH1Npin(PB13);- TIM1_CH2pin(PA9);TIM1_CH2Npin(PB14);-TIM1_CH3pin(PA10);- TIM1_CH3Npin(PB15);- TIM1_CH4pin(PA11)。第4章軟件設(shè)計4.1開發(fā)環(huán)境4.1.1STM32的開發(fā)軟件STM32自問世至今,采用過如下軟件,皆有利弊。-IARIAR是STM32開發(fā)使用最多的軟件平臺。IAR官方提供IARforARM兩種類型的版

40、本供免費評估:32K學(xué)習(xí)版,只能支持編譯32K目標(biāo)代碼,等效無時間限制;30天評估版,無編譯代碼限制。-MDK自從keil被ARM收購以后,在keil中集成了ARM自己的編譯器,改名MDK。-RIDE該軟件支持GCC編譯器開發(fā)STM32產(chǎn)品。該套開發(fā)板使用keilmdk370開發(fā)軟件,該軟件使用簡單,keil是眾多單片機應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯編譯仿真于一體,支持匯編,PLM語言和C語言的程序設(shè)計,界面活晰,易學(xué)易懂這里選用的是keilmdk370,4.1.2節(jié)著重介紹。4.1.2MDK37011RealViewMDKMiertocontrollerDevelopmentKit是ARM

41、公司最先推出的基于ARM微控制器的專業(yè)嵌入式開發(fā)工具。它采用了ARM的最新技術(shù)編工具RVCT,集成了享譽全球的VisionIDE,因此特別易于使用,同時具備非常高的性能。它適合不同層次的開發(fā)者使用,包括專業(yè)的應(yīng)用程序開發(fā)工程師和嵌入式軟件開發(fā)的入門者。MDK包括符合工業(yè)標(biāo)準(zhǔn)的RealView編譯工具、測試器以及實時內(nèi)核等組件,支持所有基于ARM的設(shè)備,能幫助工程師按照方案完成工程。-MDK提供啟動代碼生成向?qū)б灰惶岣唛_發(fā)效率;-MDK提供強大的設(shè)備模擬器一一縮短開發(fā)周期:目標(biāo)設(shè)備的所有組件都可仿真,代碼可在整個設(shè)備上運行。完全的目標(biāo)硬件仿真,完整的目標(biāo),高效指令集仿真,中斷仿真,片內(nèi)外圍設(shè)備有

42、ADC,DAC,EBI,Timers,UART,CAN,I2C,包含外部信號和I/O。充足的仿真信息,包含在設(shè)備數(shù)據(jù)庫里。-MDK提供高效的性能開發(fā)工具;-MDK支持最新的Cortex-M3處理器:Cortex-M3處理器是ARM公司推出的最新的針對微控制應(yīng)用的內(nèi)核,提供業(yè)界領(lǐng)先的高性能和低本錢解決方案,將成為MCU應(yīng)用的熱點和主流。但是目前能支持Cortex-M3構(gòu)架的開發(fā)工具很少,包括SDT,ADS1.2等多數(shù)開發(fā)工具都不支持。MDK是目前性價比最高的支持Cortex-M3處理器的開發(fā)工具。-MDK集成了Flash編程模塊;-MDK提供業(yè)界最好的VisionIDE一易學(xué)易懂。4.2軟件實現(xiàn)

43、4.2.1設(shè)計標(biāo)準(zhǔn)該設(shè)計對TIM1定時器進展控制,使之各通道輸出插入死區(qū)的互補PWM輸出,各通道輸出頻率均為17.57KHZ。I/O口時鐘為固定值50MHz,PA8、PA9、PA10、PA11設(shè)為推拉模式。其中,通道1輸出的占空比為50%,通道2輸出的占空比為25%,通道3輸出的占空比為12.5%。各通道互補輸出為反相輸出。TIM1定時器的通道1到4的輸出分別對應(yīng)PA.0&PA.06PA.10引腳,而通道1到3的互補輸出分別對應(yīng)PB.13PB.14和PB.15引腳,這些處理器引腳在開發(fā)板上已經(jīng)以插針形式引出。由于TIM1計數(shù)器的時鐘頻率為72MHz,各通道輸出頻率fTIM1為17.57

44、KHZ,根據(jù):fTIM1=TIM1CLK/(TIM1_Period+1),可得到TIM1預(yù)分頻器的TIM1_Period為0xFFFF。根據(jù)通道輸出占空比TIM1_CCRx/(TIM1_Period+1),可以得到各通道比擬/捕獲存放器的計數(shù)值。其中:TIM1_CCR1存放器的值0x7FFF、TIM1_CCR2存放器的值為0x3FFF、TIM1_CCR3存放器的值為0x1FFF。程序局部原代碼:/*Channel1,2,3and4ConfigurationinPWMmode*/TIM1_OCInitStructure.TIM1_OCMode=TIM1_OCMode_PWM2;TIM1_OCIn

45、itStructure.TIM1_OutputState=TIM1_OutputState_Enable;TIM1_OCInitStructure.TIM1_OutputNState=TIM1_OutputNState_Enable;TIM1_OCInitStructure.TIM1_Pulse=CCR1_Val;TIM1_OCInitStructure.TIM1_OCPolarity=TIM1_OCPolarity_Low;TIM1_OCInitStructure.TIM1_OPolarity=TIM1_OPolarity_Low;TIM1_OCInitStructure.TIM1_OCId

46、leState=TIM1_OCIdleState_Set;TIM1_OCInitStructure.TIM1_OIdleState=TIM1_OCIdleState_Reset;TIM1_OC1Init(&TIM1_OCInitStructure);TIM1_OCInitStructure.TIM1_Pulse=CCR2_Val;TIM1_OC2Init(&TIM1_OCInitStructure);TIM1_OCInitStructure.TIM1_Pulse=CCR3_Val;TIM1_OC3Init(&TIM1_OCInitStructure);運行過程:(1)

47、使用KeiluVision3編譯工程;點擊MDK的Debug菜單,點擊Start/StopDebugSession通過示波器觀察PA.0&PA.09KPA.1CKPB.13PB.14PB.15的輸出波形,其中PA.08和PB.13為一組,PB.09和PB.14為一組,PB.10和PB.15為一組。4.2.2程序流程圖整個設(shè)計程序流程如圖4-1所示:各通道配置為PWM模式5.1JTAG仿真器介紹11J-Link是支持仿真ARM內(nèi)核芯片的JTAG仿真器。配合IAREWARM,ADS,KEIL,WINARM,RealView等集成開發(fā)環(huán)境支持所有ARM7/ARM9內(nèi)核芯片的仿真,通過RDI接

48、口和各集成開發(fā)環(huán)境無縫連接,操作方便、連接方便、簡單易學(xué),是學(xué)習(xí)開發(fā)ARM最好最實用的開發(fā)工具。DQ電子推出的J-LinkV7仿真器采用原版固件,參照原版原理圖,經(jīng)過DQ團隊的長時間精工制作,板型合理,元件布局美觀大方,走線嚴(yán)謹(jǐn)精致,并且每一個產(chǎn)品都經(jīng)過功能和老化測試,功能完全與原版一致,支持在線升級。J-LinkARM主要特點:-IAREWARM集成開發(fā)環(huán)境無縫連接的JTAG仿真器。支持所有ARM7/ARM9內(nèi)核的芯片,以及cortexM3,包括Thumb模式。支持ADS,IAR,KEIL,WINARM,REALVIEW等幾乎所有的開發(fā)環(huán)境。下載速度高達ARM7:600kB/s,ARM9:5

49、50kB/s,通過DCC最高可達800kB/s*最高JTAG速度12MHz。目標(biāo)板電壓X圍1.2V3.3V。-自動速度識別功能。監(jiān)測所有JTAG信號和目標(biāo)板電壓。-完全即插即用。使用USB電源可接通J12跳線給目標(biāo)板供電,出廠時未接通。帶USB連接線和20芯JTAG連接排線。支持多JTAG器件申行連接。標(biāo)準(zhǔn)20芯JTAG仿真插頭。帶J-LinkTCP/IPserver,允許通過TCP/IP網(wǎng)絡(luò)使用J-Link支持的內(nèi)核:-ARM7TDMIRev1;-ARM7TDMIRev3;-ARM7TDMI-SRev4;-ARM720T;-CORTEXM3。5.2測試在電腦主機USB接口上插入開發(fā)板的電源線

50、和J-LINK的連接線,同時給示波器供電,示波器兩個通道接線的負(fù)接線與開發(fā)板STM32的GND連接,正接線分別接通道nn=1,2,3和其互補通道。其中,通道1到3的輸出分別對應(yīng)PA.08PA.09KPA.10引腳,而通道1到3的互補輸出分別對應(yīng)PB.13PB.14PB.15弓I腳。前序工作準(zhǔn)備好后,再在KeiluVision3環(huán)境里翻開TIM1的工程,編譯連接運行,觀察示波器圖像,并記錄。5.3現(xiàn)象及結(jié)果通道1和其互補通道,頻率為17.57kHz,占空比為50%,PWM輸出顯示如圖5-1:圖5-1通道1與其互補通道的PWM輸出圖通道2頻率17.57kHz,占空比為25%,其互補通道頻率17.5

51、7kH乙占空比為75%,PWM輸出顯示如圖5-2。圖5-2通道2與其互補通道的PWM輸出圖通道3頻率17.57kHz,占空比為12.5%,其互補通道頻率17.57kHz,占空比為87.5%,PWM輸出顯示如圖5-3。圖5-3通道3與其互補通道的PWM輸出圖結(jié)論通過對TIM1定時器進展控制,使之各通道輸出插入死區(qū)的互補PWM輸出,各通道輸出頻率均為17.57KHZ。其中,通道1輸出的占空比為50%,通道2輸出的占空比為25%,通道3輸出的占空比為12.5%。各通道互補輸出為反相輸出。TIM1定時器的通道1到3的輸出分別對應(yīng)PA.0&PA.09、PA.10引腳,而通道1到3的互補輸出分別對

52、應(yīng)PB.13PB.14和PB.15引腳,將這些引腳分別接入示波器正接線,GND引腳接示波器負(fù)接線,在示波器上看到了相應(yīng)通道占空比的PWM輸出。致謝本論文從最初的選題到系統(tǒng)設(shè)計、程序編寫直到論文的撰寫過程中都得到了X易教師的悉心指導(dǎo)與指正,您細(xì)心教誨和熱心關(guān)心使得我能夠順利完本錢文。同時,X易教師在每次論文檢查過程中都極其負(fù)責(zé)任,提出很好的意見和建議,使得我的論文有了更完善的體系構(gòu)造和更豐富的內(nèi)容。X教師熱心的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,也使我受益匪淺,終生難忘。同時要感謝我們測控專業(yè)陳茂林同學(xué),你細(xì)心地給我分析該設(shè)計的設(shè)計流程,耐心地講解程序運行過程,并給設(shè)計的缺乏提出很好的建議和方針,是你的幫助,讓我對本設(shè)計理解更透徹,在此表示衷心地感謝.畢業(yè)在即,大學(xué)四年我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論