版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于STM32定期器產(chǎn)生PWM的研究作者姓名:222專業(yè)班級:222指導(dǎo)老師:222摘要伴隨科技水平的提高,ARM的應(yīng)用越來越廣泛。Withthedevelopoftechnology,ARMisusedinvarioussituations.意在對ARM的深入學(xué)習(xí),論文對
STM32定期器產(chǎn)生PWM(脈沖寬度調(diào)制)輸出進(jìn)行了研究。OntheintentionofstudyonARM,timerofSTM32producepulsesPWM(widthmodulation)isstudiedinthispaper.PWM就是某個頻率占空比的方波,其應(yīng)用領(lǐng)域包括測量,通信,功率控制與變換,電動機(jī)控制、伺服控制、甚至某些音頻放大器,因此研究PWM技術(shù)具有十分重要的現(xiàn)實意義。PWMisthesquarewavewhichhasasureduty-cycleandfrequency.Itsapplicationfieldsincludemeasurement,communication,powercontrolandtransform,motorcontrol,servocontrol,evensomeaudioamplifier.ThereforeitisimportanttoresearchPWMtechnology.本設(shè)計采用
STM32定期器產(chǎn)生PWM。ItiseasytousethetimerofSTM32toproducePWMoutput.
STM32的PWM由定期器產(chǎn)生,PWM的周期即定期器定期的時間,通過計算方波的頻率,占空比,配置定期器和IO口,最終用示波器顯示對應(yīng)通道占空比的方波即可。PWMisproducedbythetimerofSTM32.ThecycleofPWMisthetimer’sregulartime.Bycalculatingthefrequencyofsquarewave,duty-cycle,configuringthetimerandIO,thenuseoscilloscopedisplayedthePWM.經(jīng)對STM32開發(fā)板的研究學(xué)習(xí),通過對STM32定期器等的配置,用示波器顯示,完畢了PWM輸出。BasedontheSTM32,byconfiguringthetimerofSTM32,PWMisdisplayedbyoscilloscope.關(guān)鍵詞STM32,定期器,PWMStudyfortheoutputofPWMproducebytimerofSTM32BasedonMDKAbstract:Withthedevelopmentoftechnology,ARMisusedinvarioussituations.OntheintentionofstudyonARM,timerofSTM32producepulsesPWM(widthmodulation)isstudiedinthispaper.PWMisthesquarewavewhichhasasureduty-cycleandfrequency.Itsapplicationfieldsincludemeasurement,communication,powercontrolandtransform,motorcontrol,servocontrol,evensomeaudioamplifier.ThereforeitisimportanttoresearchPWMtechnology.ItiseasytousethetimerofSTM32toproducePWMoutput.
PWMisproducedbythetimerofSTM32.ThecycleofPWMisthetimer’sregulartime.Bycalculatingthefrequencyofsquarewave,duty-cycle,configuringthetimerandIO,thenuseoscilloscopedisplayedthePWM.BasedontheSTM32,byconfiguringthetimerofSTM32,PWMisdisplayedbyoscilloscope.Keywords:STM32,timer,PWM
目錄第1章序言 51.1ARM應(yīng)用背景 51.2研究內(nèi)容 61.3研究成果 7第2章STM32處理器概述 82.1STM32簡介 82.2內(nèi)部資源 102.3Cortex-M3內(nèi)核簡介 102.4STM32定期器簡介 122.4.1通用定期器 122.4.2高級控制定期器 122.4.3小結(jié) 15第3章PWM概述 163.1原理 163.1.1PWM模式 163.1.2互補輸出與死區(qū)插入 193.2PWM輸出的實現(xiàn) 21第4章軟件設(shè)計 224.1開發(fā)環(huán)境 224.1.1STM32的開發(fā)軟件 224.1.2MDK370 224.2軟件實現(xiàn) 234.2.1設(shè)計原則 234.2.2程序流程圖 25第五章測試及成果 265.1JTAG仿真器簡介 265.2測試 275.3現(xiàn)象及成果 28結(jié)論 31道謝 32參照文獻(xiàn) 33
第1章序言1.1ARM應(yīng)用背景如今,學(xué)習(xí)一種處理器的就有許多ARM內(nèi)核的處理器可供使用,目前社會已步入嵌入式學(xué)習(xí)階段。在嵌入式領(lǐng)域,8位處理器已經(jīng)不再勝任某些復(fù)雜的應(yīng)用,例如GUI,TCP/IP,F(xiàn)ILESYSTEM等,而ARM芯片憑借強(qiáng)大的處理能力和極低的功耗,非常適合這些場所。目前越來越多的產(chǎn)品在選型的時候考慮到使用ARM處理器,ARM的應(yīng)用是相稱的廣泛。ARM處理器ADCI/O接口鍵盤ARM處理器ADCI/O接口鍵盤RAMLED傳感器轉(zhuǎn)換器LCDDACEPROM主機(jī) 輸入 輸出圖1-1ARM嵌入式工業(yè)控制系統(tǒng)的功能模塊目前已經(jīng)有超過85%的無線通信設(shè)備采用了ARM技術(shù),ARM以其高性能和低成本,在該領(lǐng)域的地位日益鞏固。ARM在此方面的應(yīng)用如:手提式計算機(jī)、移動電話、PDA等。伴隨寬帶技術(shù)的推廣,采用ARM技術(shù)的ADSL芯片正逐漸獲得競爭優(yōu)勢。此外,ARM在語音及視頻處理上進(jìn)行了優(yōu)化,并獲得廣泛支持。ARM技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機(jī)頂盒、游戲機(jī)、數(shù)碼相機(jī)、數(shù)字式電視機(jī)、GPS、機(jī)頂盒中得到廣泛采用。目前流行的數(shù)碼相機(jī)和打印機(jī)中絕大部分采用ARM技術(shù),手機(jī)中的32位SIM智能卡也采用了ARM技術(shù)。如圖1-2所示是基于ARM技術(shù)的數(shù)碼相機(jī)的功能模塊[9]。ARMARM處理器LCD控制器主機(jī)接口CCDADC控制電路和編碼電路存儲器圖1-2基于ARM技術(shù)的數(shù)碼相機(jī)的功能模塊1.2研究內(nèi)容本設(shè)計意在加深對ARM的學(xué)習(xí),鞏固大學(xué)四年所學(xué)專業(yè)知識,提高動手能力和思索問題處理問題的能力。本設(shè)計選擇意法半導(dǎo)體的STM32F開發(fā)板,通過對該開發(fā)板的研究學(xué)習(xí),和對STM32F103C8T6芯片的學(xué)習(xí),掌握其多種外設(shè)功能。通過對TIM1定期器進(jìn)行控制,使之各通道輸出插入死區(qū)的互補PWM輸出,各通道輸出頻率均為17.57KHz。其中,通道1輸出的占空比為50%,通道2輸出的占空比為25%,通道3輸出的占空比為12.5%。各通道互補輸出為反相輸出。 TIM1定期器的通道1到4的輸出分別對應(yīng)PA.08、PA.09、PA.10和PA.11引腳,而通道1到3的互補輸出分別對應(yīng)PB.13、PB.14和PB.15引腳,中斷輸入引腳為PB.12。將這些引腳分別接入示波器,在示波器上觀查對應(yīng)通道占空比的方波[12]。本文第一章講述了該論文寫作背景,重要論述了ARM應(yīng)用范圍,以及該論文研究的內(nèi)容;第二章講述了該研究課題使用的開發(fā)板的內(nèi)部資源和開發(fā)板關(guān)鍵芯片STM32F103C1.3研究成果配置好各通道后,編譯運行工程;點擊MDK的Debug菜單,點擊Start/StopDebugSession;通過示波器察看PA.08、PA.09、PA.10、PB.13、PB.14、PB.15的輸出波形,其中PA.08和PB.13為第一通道和互補通道,PB.09和PB.14為第二通道和其互補通道,PB.10和PB.15為第三通道和其互補通道;第一通道顯示占空比為50%,第二通道占空比為25%,第三通道占空比為12.5%。
第2章STM32處理器概述2.1STM32簡介[24]STM32F103xx增強(qiáng)型系列使用高性能的ARM/Cortex-M3/32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達(dá)128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號的器件都包括2個12位的ADC、3個通用16位定期器和一種PWM定期器,還包括原則和先進(jìn)的通信接口:多達(dá)2個I2C和SPI、3個USART、一種USB和一種CAN。STM32F103xx增強(qiáng)型系列工作于-40℃至+105完整的STM32F103xx增強(qiáng)型系列產(chǎn)品包括從36腳至100腳的五種不一樣封裝形式;根據(jù)不一樣的封裝形式,器件中的外設(shè)配置不盡相似。下面給出了該系列產(chǎn)品中所有外設(shè)的基本簡介。這些豐富的外設(shè)配置,使得STM32F103xx增強(qiáng)型微控制器適合于多種應(yīng)用場所:·電機(jī)驅(qū)動和應(yīng)用控制;·醫(yī)療和手持設(shè)備;·PC外設(shè)和GPS平臺;·工業(yè)應(yīng)用:可編程控制器、變頻器、打印機(jī)和掃描儀;·警報系統(tǒng),視頻對講,和暖氣通風(fēng)空調(diào)系統(tǒng);2.1.1STM32F103CSTM32開發(fā)板關(guān)鍵芯片的參數(shù)如表2-1
表2-1器件功能和配置(STM32F103xx增強(qiáng)型)芯片引腳圖如圖2-2:圖2-2STM32F103xx增強(qiáng)型LQPFP48管腳圖2.2內(nèi)部資源STM32有豐富的內(nèi)部資源,如下所示:·RealViewMDK(MiertocontrollerDevelopmentKit)基于ARM微控制器的專業(yè)嵌入式開發(fā)工具;·內(nèi)置閃存存儲器;·內(nèi)置SRAM;·嵌套的向量式中斷控制器(NVIC);·外部中斷/事件控制器(EXTI);·時鐘和啟動;·自舉模式;·DMA;·RTC(實時時鐘)和后備寄存器;·窗口看門狗;·I2C總線;·通用同步/異步接受發(fā)送器(USART);·串行外設(shè)接口(SPI);·控制器區(qū)域網(wǎng)絡(luò)(CAN);·通用串行總線(USB);·通用輸入輸出接口(GPIO);·ADC(模擬/數(shù)字轉(zhuǎn)換器);·溫度傳感器;·串行線JTAG調(diào)試口(SWJ-DP)。2.3Cortex-M3內(nèi)核簡介Cortex-M3內(nèi)核包括一種合用于老式Thumb和新型Thumb-2指令的譯碼器、一種支持硬件乘法和硬件除法的先進(jìn)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ù)途徑、寄存器庫和基于老式ARM7處理器的系統(tǒng)只支持訪問對齊的數(shù)據(jù),沿著對齊的字邊界即可對數(shù)據(jù)進(jìn)行訪問和存儲。Cortex-M3處理器采用非對齊數(shù)據(jù)訪問方式,使非對齊數(shù)據(jù)可以在單核訪問中進(jìn)行傳播。 Cortex-M3處理器是專為那些對成本和功耗非常敏感但同步對性能規(guī)定又相稱高的應(yīng)用而設(shè)計的。憑借縮小的內(nèi)核尺寸和杰出的中斷延遲性能、集成的系統(tǒng)部件、靈活的配置、簡樸的高級編程和強(qiáng)大的軟件系統(tǒng),Cortex-M3處理器將成為從復(fù)雜的芯片系統(tǒng)到低端微控制器等多種系統(tǒng)的理想處理方案。表2-3為Cortex-M3處理器與ARM7作比較。表2-3Cortex-M3與ARM7相比較2.4STM32定期器簡介2.4.1通用定期器[22]STM32F103xx增強(qiáng)型系列產(chǎn)品中內(nèi)置了多達(dá)3個同步的原則定期器。每個定期器均有一種16位的自動加載遞加/遞減計數(shù)器、一種16位的預(yù)分頻器和4個獨立的通道,每個通道都可用于輸入捕捉、輸出比較、PWM和單脈沖模式輸出,在最大的封裝配置中可提供最多12個輸入捕捉、輸出比較或PWM通道。它們還能通過定期器鏈接功能與高級控制定期器共同工作,提供同步或事件鏈接功能。在調(diào)試模式下,計數(shù)器可以被凍結(jié)。任一種原則定期器都能用于產(chǎn)生PWM輸出。每個定期器均有獨立的DMA祈求機(jī)制。2.4.2高級控制定期器[22]高級控制定期器(TIM1)由一種16位的自動裝載計數(shù)器構(gòu)成,它由一種可編程預(yù)分頻器驅(qū)動。它適合多種用途,包括測量輸入信號的脈沖寬度(輸入捕捉),或者產(chǎn)生輸出波形(輸出比較,PWM,嵌入死區(qū)時間的互補PWM等)。使用定期器預(yù)分頻器和RCC時鐘控制預(yù)分頻器,可以實現(xiàn)脈沖寬度和波形周期從幾種微秒至幾種毫秒的調(diào)整。高級控制(TIM1)和通用(TIMx)定期器是完全獨立的,它們不共享任何資源,它們可以同步操作。高級控制定期器(TIM1)可以被當(dāng)作是一種分派到6個通道的三相PWM發(fā)生器,它還可以被當(dāng)成一種完整的通用定期器。四個獨立的通道可以用于:·輸入捕捉;·輸出比較;·產(chǎn)生PWM(邊緣或中心對齊模式);·單脈沖輸出;·反相PWM輸出,具有程序可控的死區(qū)插入功能;配置為16位原則定期器時,它與TIMx定期器具有相似的功能。配置為16位PWM發(fā)生器時,它具有全調(diào)制能力(0~100%)。在調(diào)試模式下,計數(shù)器可以被凍結(jié)。諸多功能都與原則的TIM定期器相似,內(nèi)部構(gòu)造也相似,因此高級控制定期器可以通過定期器鏈接功能與TIM定期器協(xié)同操作,提供同步或事件鏈接功能。TIM1定期器的功能包括:·16位上,下,上/下自動裝載計數(shù)器;·16位可編程預(yù)分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值;·4個獨立通道:?輸入捕捉;?輸出比較;?PWM生成(邊緣或中間對齊模式);?單脈沖模式輸出;?死區(qū)時間可編程的互補輸出?!な褂猛獠啃盘柨刂贫ㄆ谄骱投ㄆ谄骰ミB的同步電路;·在指定數(shù)目的計數(shù)器周期之后更新定期器寄存器;·剎車輸入信號可以將定期器輸出信號置于復(fù)位狀態(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_CNT);·預(yù)分頻器寄存器(TIM1_PSC);·自動裝載寄存器(TIM1_ARR);·周期計數(shù)寄存器(TIM1_RCR);自動裝載寄存器是預(yù)先裝載的。寫或讀自動重裝載寄存器將訪問預(yù)裝載寄存器。根據(jù)在TIM1_CR1寄存器中的自動裝載預(yù)裝載使能位(ARPE)的設(shè)置,預(yù)裝載寄存器的內(nèi)容被永久地或在每次的更新事件UEV時傳送到影子寄存器。當(dāng)計數(shù)器到達(dá)溢出條件(向下計數(shù)時的下溢條件)并當(dāng)TIM1_CR1寄存器中的UDIS位等于0時,產(chǎn)生更新事件。更新事件也可以由軟件產(chǎn)生。隨即會詳細(xì)描述每一種配置下更新事件的產(chǎn)生。計數(shù)器由預(yù)分頻器的時鐘輸出CK_CNT驅(qū)動,僅當(dāng)設(shè)置了計數(shù)器TIM1_CR1寄存器中的計數(shù)器使能位(CEN)時,CK_CNT才有效。(有關(guān)更多的計數(shù)器使能的細(xì)節(jié),請參見控制器的從模式描述)。注:真正的計數(shù)器使能信號CNT_EN是在CEN后的一種時鐘周期后被設(shè)置。預(yù)分頻器描述。預(yù)分頻器可以將計數(shù)器的時鐘頻率按1到65536之間的任意值分頻。它是基于一種(在TIM1_PSC寄存器中的)16位寄存器控制的16位計數(shù)器。由于這個控制寄存器帶有緩沖器,它可以在工作時被變化。新的預(yù)分頻器的參數(shù)在下一次更新事件到來時被采用。圖2-4和圖2-5給出了某些在預(yù)分頻器工作時,更改其參數(shù)的狀況下計數(shù)器操作的例子。圖2-4當(dāng)預(yù)分頻器的參數(shù)從1變到2時,計數(shù)器的時序圖圖2-5當(dāng)預(yù)分頻器的參數(shù)從1變到4時,計數(shù)器的時序圖2.4.3小結(jié)通過比較和針對設(shè)計需要,使用定期器預(yù)分頻器和RCC時鐘控制預(yù)分頻器,可以實現(xiàn)脈沖寬度和波形周期從幾種微秒至幾種毫秒的調(diào)整。高級控制(TIM1)和通用(TIMx)定期器是完全獨立的,不共享任何資源,可以同步操作。高級控制定期器(TIM1)還可以被當(dāng)作是一種分派到6個通道的三相PWM發(fā)生器,它還可以被當(dāng)成一種完整的通用定期器。因此該設(shè)計選擇高級控制定期器(TIM1)。
第3章PWM概述3.1原理PWM是PulseWidthModulation的縮寫,中文意思就是脈沖寬度調(diào)制,簡稱脈寬調(diào)制。它是運用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù),其控制簡樸、靈活和動態(tài)響應(yīng)好等長處而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,其應(yīng)用領(lǐng)域包括測量,通信,功率控制與變換,電動機(jī)控制、伺服控制、調(diào)光、開關(guān)電源,甚至某些音頻放大器,因此研究基于PWM技術(shù)的正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器具有十分重要的現(xiàn)實意義。PWM是一種對模擬信號電平進(jìn)行數(shù)字編碼的措施。通過高辨別率計數(shù)器的使用,方波的占空比被調(diào)制用來對一種詳細(xì)模擬信號的電平進(jìn)行編碼。PWM信號仍然是數(shù)字的,由于在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的反復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時候即是直流供電被加到負(fù)載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。多數(shù)負(fù)載(無論是電感性負(fù)載還是電容性負(fù)載)需要的調(diào)制頻率高10Hz,一般調(diào)制頻率為1kHz到200kHz之間。占空比是接通時間與周期之比;調(diào)制頻率為周期的倒數(shù)。目前,運動控制系統(tǒng)或電動機(jī)控制系統(tǒng)中實現(xiàn)PWM的措施重要有老式的數(shù)字電路方式、專用的PWM集成電路、單片機(jī)實現(xiàn)方式和可編程邏輯器件實現(xiàn)方式。用老式的數(shù)字電路實現(xiàn)PWM,電路設(shè)計較復(fù)雜,體積大,抗干擾能力差,系統(tǒng)的控制周期較長。專用的PWM集成電路或帶有PWM的單片機(jī)價格較高。對于單片機(jī)中無PWM輸出功能的狀況,實現(xiàn)PWM將消耗大量的時間,大大減少了CPU的效率,并且得到的PWM信號精度不太高[15]。3.1.1PWM模式脈沖寬度調(diào)制模式可以產(chǎn)生一種由TIM1_ARR寄存器確定頻率、由TIM1_CCRx寄存器確定占空比的信號。在TIM1_CCMRx寄存器中的OCxM位寫入“110”(PWM模式1)或“111”(PWM模式2),可以獨立地設(shè)置每個通道工作在PWM模式,每個OCx輸出一路PWM。必須通過設(shè)置TIM1_CCMRx寄存器OCxPE位使能對應(yīng)的預(yù)裝載寄存器,最終還要設(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_CNT和TIM1_CCRx一直在進(jìn)行比較,(根據(jù)計數(shù)器的計數(shù)方向)以確定與否符合TIM1_CCRx≤TIM1_CNT或者TIM1_CNT≤TIM1_CCRx。根據(jù)TIM1_CR1寄存器中CMS位的狀態(tài),定期器可以產(chǎn)生邊緣對齊的或中央對齊的PWM信號。PWM邊緣對齊模式·向上計數(shù)配置當(dāng)TIM1_CR1寄存器中的DIR位為低的時候執(zhí)行向上計數(shù)。當(dāng)TIM1_CNT<TIM1_CCRx時PWM參照信號,OCxREF為高,否則為低。假如TIM1_CCRx中的比較值不小于自動重裝載值(TIM1_ARR),則OCxREF保持為“1"。假如比較值為0,則OCxREF保持為“0"。圖3-1為TIM1_ARR=8時邊緣對齊的PWM波形實例。圖3-1邊緣對齊的PWM波形(ARR=8)·向下計數(shù)的配置當(dāng)TIM1_CR1寄存器的DIR位為高時執(zhí)行向下計數(shù)。在PWM模式1,當(dāng)TIM1_CNT>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_CR1寄存器中的計數(shù)方向位(DIR)由硬件更新,不要用軟件修改它。圖3-2給出了某些中央對齊的PWM波形的例子·TIM1_ARR=8;·PWM模式1;·TIM1_CR1寄存器中的CMS=01,在中央對齊模式1時,當(dāng)計數(shù)器向下計數(shù)時標(biāo)志被設(shè)置。[21]圖3-2中央對齊的PWM波形(APR=8)3.1.2互補輸出與死區(qū)插入高級控制定期器TIM1可以輸出兩路互補信號并且可以管理輸出的瞬時關(guān)斷和接通。這段時間一般被稱為死區(qū),應(yīng)當(dāng)根據(jù)連接到輸出的器件和它們的特性(電平轉(zhuǎn)換的延時、電源開關(guān)的延時等)來調(diào)整死區(qū)時間。配置TIM1_CCER寄存器中的CCxP和CCxNP位,可認(rèn)為每一種輸出獨立地選擇極性(主輸出OCx或互補輸出OCxN)?;パa信號OCx和OCxN通過下列控制位的組合進(jìn)行控制:TIM1_CCER寄存器的CCxE和CCxNE位,TIM1_BDTR和TIM1_CR2寄存器中的MOE、OISx、OISxN、OSSI和OSSR位,帶剎車功能的互補輸出通道OCx和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輸出信號與參照信號相似,只是它的上升沿相對于參照信號的上升沿有一種延遲?!CxN輸出信號與參照信號相反,只是它的上升沿相對于參照信號的下降沿有一種延遲。假如延遲不小于目前有效的輸出寬度(OCx或OCxN),則不會產(chǎn)生對應(yīng)的脈沖。圖3-3,3-4顯示了死區(qū)發(fā)生器的輸出信號和目前參照信號OCxREF之間的關(guān)系(假設(shè)CCxP=0、CCxNP=0、MOE=1、CCxE=1并且CCxNE=1)。圖3-3帶死區(qū)插入的互補輸出圖3-4死區(qū)波形延遲不小于負(fù)脈沖
3.2PWM輸出的實現(xiàn)[12]STM32的高級定期器時鐘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_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%。TIM1波形可以在示波器上顯示出來。輸出信號觀測下列引腳分別依次接到示波器上(兩個一組),示波器接線正接觸線下列引腳,負(fù)接觸線接地(GND)?!IM1_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自問世至今,采用過如下軟件,皆有利弊?!ARIAR是STM32開發(fā)使用最多的軟件平臺。IAR官方提供IAR
for
ARM
兩種類型的版本供免費評估:32K學(xué)習(xí)版,只能支持編譯32K目的代碼,等效無時間限制;30天評估版,無編譯代碼限制?!DK自從keil被ARM收購后來,在keil中集成了ARM自己的編譯器,更名MDK?!IDE該軟件支持GCC編譯器開發(fā)STM32產(chǎn)品。該套開發(fā)板使用keilmdk370開發(fā)軟件,該軟件使用簡樸,keil是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯編譯仿真于一體,支持匯編,PLM語言和C語言的程序設(shè)計,界面清晰,易學(xué)易懂。這里選用的是keilmdk370,4.1.2節(jié)著重簡介。4.1.2MDK370[11]RealViewMDK(MiertocontrollerDevelopmentKit)是ARM企業(yè)最先推出的基于ARM微控制器的專業(yè)嵌入式開發(fā)工具。它采用了ARM的最新技術(shù)編工具RVCT,集成了享譽全球的μVisionIDE,因此尤其易于使用,同步具有非常高的性能。它適合不一樣層次的開發(fā)者使用,包括專業(yè)的應(yīng)用程序開發(fā)工程師和嵌入式軟件開發(fā)的入門者。MDK包括符合工業(yè)原則的RealView編譯工具、測試器以及實時內(nèi)核等組件,支持所有基于ARM的設(shè)備,能協(xié)助工程師按照計劃完畢項目。·MDK提供啟動代碼生成向?qū)А岣唛_發(fā)效率;·MDK提供強(qiáng)大的設(shè)備模擬器——縮短開發(fā)周期:目的設(shè)備的所有組件都可仿真,代碼可在整個設(shè)備上運行。完全的目的硬件仿真,完整的目的,高效指令集仿真,中斷仿真,片內(nèi)外圍設(shè)備有ADC,DAC,EBI,Timers,UART,CAN,I2C,包括外部信號和I/O。充足的仿真信息,包括在設(shè)備數(shù)據(jù)庫里?!DK提供高效的性能開發(fā)工具;·MDK支持最新的Cortex-M3處理器:Cortex-M3處理器是ARM企業(yè)推出的最新的針對微控制應(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)4.2.1設(shè)計原則該設(shè)計對TIM1定期器進(jìn)行控制,使之各通道輸出插入死區(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.08、PA.09、PA.10引腳,而通道1到3的互補輸出分別對應(yīng)PB.13、PB.14和PB.15引腳,這些處理器引腳在開發(fā)板上已經(jīng)以插針形式引出。由于TIM1計數(shù)器的時鐘頻率為72MHz,各通道輸出頻率fTIM1為17.57KHz,根據(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_OCInitStructure.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_OCNPolarity=TIM1_OCNPolarity_Low;TIM1_OCInitStructure.TIM1_OCIdleState=TIM1_OCIdleState_Set;TIM1_OCInitStructure.TIM1_OCNIdleState=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) 使用KeiluVision3編譯鏈接工程;(2) 點擊MDK的Debug菜單,點擊Start/StopDebugSession;(3) 通過示波器察看PA.08、PA.09、PA.10、PB.13、PB.14、PB.15的輸出波形,其中PA.08和PB.13為一組,PB.09和PB.14為一組,PB.10和PB.15為一組。
4.2.2程序流程圖整個設(shè)計程序流程如圖4-1所示:初始化初始化TIM1TIM1設(shè)置配置各通道配置為PWM模式各通道配置為PWM模式 否 是TIM1計數(shù)使能TIM1計數(shù)使能輸出使能輸出使能否 是讀通道數(shù)據(jù)讀通道數(shù)據(jù)輸出
輸出第5章測試及成果5.1JTAG仿真器簡介[11]J-Link是支持仿真ARM內(nèi)核芯片的JTAG仿真器。配合IAREWARM,ADS,KEIL,WINARM,RealView等集成開發(fā)環(huán)境支持所有ARM7/ARM9內(nèi)核芯片的仿真,通過RDI接口和各集成開發(fā)環(huán)境無縫連接,操作以便、連接以便、簡樸易學(xué),是學(xué)習(xí)開發(fā)ARM最佳最實用的開發(fā)工具。DQ電子推出的J-LinkV7仿真器采用原版固件,參照原版原理圖,通過DQ團(tuán)體的長時間精工制作,板型合理,元件布局美觀大方,走線嚴(yán)謹(jǐn)精致,并且每一種產(chǎn)品都通過功能和老化測試,功能完全與原版一致,支持在線升級。J-LinkARM重要特點:·IAREWARM集成開發(fā)環(huán)境無縫連接的JTAG仿真器?!ぶС炙蠥RM7/ARM9內(nèi)核的芯片,以及cortexM3,包括Thumb模式?!ぶС諥DS,IAR,KEIL,WINARM,REALVIEW等幾乎所有的開發(fā)環(huán)境?!は螺d速度高達(dá)ARM7:600kB/s,ARM9:550kB/s,通過DCC最高可達(dá)800kB/s*最高JTAG速度12MHz。·目的板電壓范圍1.2V-3.3V?!ぷ詣铀俣茸R別功能。·監(jiān)測所有JTAG信號和目的板電壓?!ね耆床寮从谩!な褂肬SB電源(可接通J12跳線給目的板供電,出廠時未接通)?!SB連接線和20芯JTAG連接排線。·支持多JTAG器件串行連接?!ぴ瓌t20芯JTAG仿真插頭。·帶J-LinkTCP/IPserver,容許通過TCP/IP網(wǎng)絡(luò)使用J-Link支持的內(nèi)核:·ARM7TDMI(Rev1);·ARM7TDMI(Rev3);·ARM7TDMI-S(Rev4);·ARM720T;·CORTEXM3。5.2測試在電腦主機(jī)USB接口上插入開發(fā)板的電源線和J-LINK的連接線,同步給示波器供電,示波器兩個通道接線的負(fù)接線與開發(fā)板STM32的GND連接,正接線分別接通道n(n=1,2,3)和其互補通道。其中,通道1到3的輸出分別對應(yīng)PA.08、PA.09、PA.10引腳,而通道1到3的互補輸出分別對應(yīng)PB.13、PB.14、PB.15引腳。前序工作準(zhǔn)備好后,再在KeiluVision3環(huán)境里打開TIM1的工程,編譯連接運行,觀測示波器圖像,并記錄。5.3現(xiàn)象及成果通道1和其互補通道,頻率為17.57kHz,占空比為50%,PWM輸出顯示如圖5-1:圖5-1通道1與其互補通道的PWM輸出圖通道2頻率17.57kHz,占空比為25%,其互補通道頻率17.57kHz,占空比為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定期器進(jìn)行控制,使之各通道輸出插入死區(qū)的互補PWM輸出,各通道輸出頻率均為17.57KHz。 其中,通道1輸出的占空比為50%,通道2輸出的占空比為25%,通道3輸出的占空比為12.5%。各通道互補輸出為反相輸出。 TIM1定期器的通道1到3的輸出分別對應(yīng)PA.08、PA.09、PA.10引腳,而通道1到3的互補輸出分別對應(yīng)PB.13、PB.14和PB.15引腳,將這些引腳分別接入示波器正接線,GND引腳接示波器負(fù)接線,在示波器上看到了對應(yīng)通道占空比的PWM輸出。
道謝本論文從最初的選題到系統(tǒng)設(shè)計、程序編寫直到論文的撰寫過程中都得到了劉易老師的悉心指導(dǎo)與指正,您細(xì)心教導(dǎo)和熱心關(guān)懷使得我可以順利完畢本文。同步,劉易老師在每次論文檢查過程中都極其負(fù)責(zé)任,提出很好的意見和提議,使得我的論文有了更完善的體系構(gòu)造和更豐富的內(nèi)容。劉老師熱心的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,也使我受益匪淺,終身難忘。同步要感謝我們測控專業(yè)陳茂林同學(xué),你細(xì)心地給我分析該設(shè)計的設(shè)計流程,耐心地講解程序運行過程,并給設(shè)計的局限性提出很好的提議和方針,是你的協(xié)助,讓我對本設(shè)計理解更透徹,在此表達(dá)衷心地感謝.畢業(yè)在即,大學(xué)四年我過的很充實快樂,大學(xué)剛開始的時候,在不熟悉的環(huán)境中,感覺很迷茫,不懂得怎樣走過自己的四年大學(xué)生涯,是班主任王敏老師給我了很大的協(xié)助,讓自己的目的更清晰,在背面的兩年里,接觸學(xué)習(xí)諸多專業(yè)知識,班主任周建斌老師予以我們的關(guān)懷,給我們鼓舞,讓自己在學(xué)習(xí)上有了諸多自信,尚有諸多專業(yè)課老師,劉易老師,周偉老師,王磊老師,吳旖旎老師等謝謝你們予以我學(xué)習(xí)上的指導(dǎo)和協(xié)助,是你們的孜孜不倦,讓我
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湘教新版選擇性必修3物理上冊階段測試試卷含答案
- 2025年度面料質(zhì)量認(rèn)證與采購合同范本4篇
- 2025版牛羊養(yǎng)殖基地與養(yǎng)殖戶合作銷售合同范本4篇
- 二零二五年度苗圃場租賃與農(nóng)業(yè)生態(tài)保護(hù)合作合同4篇
- 擔(dān)保合同執(zhí)行協(xié)議書(2篇)
- 2025年度模板腳手架租賃與施工一體化合同標(biāo)準(zhǔn)版4篇
- 2025版美容院員工培訓(xùn)與職業(yè)發(fā)展規(guī)劃合同4篇
- 2025年度ICP證年審專項服務(wù)合同4篇
- 2025版玫瑰花茶養(yǎng)生飲品連鎖經(jīng)營許可合同
- 2025年度重慶協(xié)議離婚合同范本:標(biāo)準(zhǔn)操作指南6篇
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗
- 春節(jié)文化常識單選題100道及答案
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級第二次考試數(shù)學(xué)試題(含解析)
- 12123交管學(xué)法減分考試題及答案
- 2025年寒假實踐特色作業(yè)設(shè)計模板
- 24年追覓在線測評28題及答案
- 高考滿分作文常見結(jié)構(gòu)
- 心肌梗死診療指南
- 食堂項目組織架構(gòu)圖
- 原油脫硫技術(shù)
- GB/T 2518-2019連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
評論
0/150
提交評論