《嵌入式系統(tǒng)設(shè)計(jì)》第10章-Exynos4412的PWM控制_第1頁(yè)
《嵌入式系統(tǒng)設(shè)計(jì)》第10章-Exynos4412的PWM控制_第2頁(yè)
《嵌入式系統(tǒng)設(shè)計(jì)》第10章-Exynos4412的PWM控制_第3頁(yè)
《嵌入式系統(tǒng)設(shè)計(jì)》第10章-Exynos4412的PWM控制_第4頁(yè)
《嵌入式系統(tǒng)設(shè)計(jì)》第10章-Exynos4412的PWM控制_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章Exynos4412的PWM控制脈寬調(diào)制(Pulse-WidthModulation,PWM)是嵌入式控制系統(tǒng)中使用較多的直流電機(jī)調(diào)速技術(shù),大多用在閉環(huán)伺服控制系統(tǒng)中,具有調(diào)速范圍寬、升降速穩(wěn)定、使用方便的優(yōu)點(diǎn),有廣泛的應(yīng)用場(chǎng)合,應(yīng)看懂例子,學(xué)會(huì)編程。主要內(nèi)容§10.1PWM定時(shí)器概述§10.2PWM輸出電平控制§10.3PWM定時(shí)器控制寄存器§10.4PWM實(shí)驗(yàn)§10.1PWM定時(shí)器概述10.1.1什么是脈寬調(diào)制在嵌入式控制系統(tǒng)中,有許多場(chǎng)合需要用直流電機(jī)作為驅(qū)動(dòng)。直流電機(jī)給定直流電壓就可以旋轉(zhuǎn)。給定的電壓高,電機(jī)轉(zhuǎn)速就快;給定的電壓低,電機(jī)轉(zhuǎn)速就慢。這樣,控制給定電壓的大小就可以控制電機(jī)的轉(zhuǎn)速。假定用定時(shí)器控制在微處理器的I/O端口輸出周期為500μs的方波,一個(gè)周期中,高低電平各占250μs。人們把高電平占整個(gè)周期的時(shí)間比率稱為“占空比”,上面周期為500μs的方波的占空比為50%。用占空比可以改變的方波控制直流電機(jī),就可以改變直流電機(jī)的輸入平均電壓,進(jìn)而控制電機(jī)速度。占空比可以改變的方波叫作PWM。PWM大多用在直流電機(jī)調(diào)速上。10.1.2Exynos4412的PWM及其控制Exynos4412有5個(gè)32位定時(shí)器,其中定時(shí)器0、1、2、3具有PWM功能,定時(shí)器4具有內(nèi)部定時(shí)作用,但是沒(méi)有輸出引腳。定時(shí)器0、1具有死區(qū)生成器,可以控制大電流設(shè)備。定時(shí)器0和1共用一個(gè)8位預(yù)定標(biāo)器,定時(shí)器2、3和4共用另一個(gè)8位預(yù)定標(biāo)器,每個(gè)定時(shí)器都有一個(gè)時(shí)鐘分頻器,信號(hào)分頻輸出有5種模式:1/2、1/4、1/8、1/16和外部時(shí)鐘TCLK。定時(shí)器結(jié)構(gòu)框圖如圖10-1所示。每個(gè)定時(shí)器模塊都從時(shí)鐘定標(biāo)器接收自己的時(shí)鐘信號(hào),時(shí)鐘分頻器接收的時(shí)鐘信號(hào)來(lái)自于8位預(yù)定標(biāo)器??删幊?位預(yù)分頻器根據(jù)存儲(chǔ)在TCFG0和TCFG1中的數(shù)據(jù)對(duì)PCLK進(jìn)行預(yù)分頻。分頻器的功能如表10-1所示。當(dāng)時(shí)鐘被允許后,定時(shí)器計(jì)數(shù)緩沖寄存器(TCNTBn)把計(jì)數(shù)初值下載到減法計(jì)數(shù)器TCNTn中。定時(shí)器比較緩沖寄存器(TCMPBn)把初始值下載到比較寄存器中,和減法計(jì)數(shù)器的值相比,這種TCNTBn和TCMPBn雙緩沖寄存器特性能使定時(shí)器產(chǎn)生穩(wěn)定的輸出,且占空比可變。圖10-1

定時(shí)器結(jié)構(gòu)框圖每個(gè)定時(shí)器都有自己的用定時(shí)器時(shí)鐘驅(qū)動(dòng)的32位減法計(jì)數(shù)器TCNTn。當(dāng)減法計(jì)數(shù)器減到0時(shí),就會(huì)產(chǎn)生定時(shí)器中斷來(lái)通知CPU,定時(shí)器操作完成。當(dāng)定時(shí)器減法計(jì)數(shù)器減到0時(shí),相應(yīng)的TCNTBn的值被自動(dòng)重載到減法計(jì)數(shù)器TCNTn中繼續(xù)下一次操作。然而,如果定時(shí)器停止了,如在運(yùn)行時(shí)通過(guò)清除TCON中的定時(shí)器使能位來(lái)中止定時(shí)器的運(yùn)行,則TCNTBn的值不會(huì)被重載到減法計(jì)數(shù)器中。TCMPBn的值用于PWM。當(dāng)定時(shí)器的減法計(jì)數(shù)器的值與TCMPBn的值相等時(shí),定時(shí)器輸出改變輸出電平。因此,比較寄存器決定了PWM的占空比。10.1.3Exynos4412定時(shí)器的特性Exynos4412定時(shí)器具有如下特性:●5個(gè)32位定時(shí)器?!?個(gè)8位預(yù)定標(biāo)器和2個(gè)8位分頻器。●可編程改變PWM輸出占空比。●自動(dòng)重載模式或單個(gè)脈沖輸出模式。●具有死區(qū)生成器?!褡詣?dòng)重載與雙緩沖?!窬哂械瓜?定時(shí)器輸出電平取反)功能。Exynos4412具有雙緩沖功能,能在不中止當(dāng)前定時(shí)器運(yùn)行的情況下,重載下一次定時(shí)器運(yùn)行參數(shù),盡管新的定時(shí)器的值已被設(shè)置好,當(dāng)前操作仍能成功完成。定時(shí)器的值可以被寫(xiě)入定時(shí)器計(jì)數(shù)緩沖寄存器(TCNTBn),當(dāng)前計(jì)數(shù)器的值可以從定時(shí)器計(jì)數(shù)觀察寄存器(TCNTOn)中讀出。讀出的TCNTBn的值并不是當(dāng)前計(jì)數(shù)器的值,而是下次重載的計(jì)數(shù)器值。減法計(jì)數(shù)器TCNTn的值等于0時(shí),自動(dòng)重載,把TCNTBn的值載入減法計(jì)數(shù)器TCNTn,只有當(dāng)自動(dòng)重載允許并且減法計(jì)數(shù)器TCNTn的值等于0時(shí)才會(huì)自動(dòng)重載。如果減法計(jì)數(shù)器TCNTn=0,自動(dòng)重載禁止,則定時(shí)器停止運(yùn)行,具體如圖10-2所示。使用手動(dòng)更新完成定時(shí)器的初始化和倒相位:當(dāng)計(jì)數(shù)器的值減到0時(shí),會(huì)發(fā)生自動(dòng)重載操作,所以TCNTn的初始值必須由用戶提前定義好,在這種情況下,就需要手動(dòng)更新啟動(dòng)值。以下幾個(gè)步驟給出了更新過(guò)程:(1)向TCNTBn和TCMPBn寫(xiě)入初始值。(2)置位相應(yīng)定時(shí)器的手動(dòng)更新位,不管是否使用倒相功能,推薦設(shè)置倒相位。(3)啟動(dòng)定時(shí)器,清除手動(dòng)更新位。注意:如果定時(shí)器被強(qiáng)制停止,TCNTn將保持原來(lái)的值;如果要設(shè)置一個(gè)新的值,必須手動(dòng)更新位。另外,手動(dòng)更新位要在定時(shí)器啟動(dòng)后清除,否則不能正常運(yùn)行。只要TOUT的倒相位改變,不管定時(shí)器是否處于運(yùn)行狀態(tài),TOUT都會(huì)倒相。因此,在手動(dòng)更新時(shí)需要設(shè)置倒相位,定時(shí)器啟動(dòng)后清除。10.1.4定時(shí)器操作示例定時(shí)器操作示例如圖10-3所示:各字母選項(xiàng)的含義如下。A:允許自動(dòng)重載功能,TCNTBn=160,TCMPBn=110。置位手動(dòng)更新位,配置倒相位,手動(dòng)更新位被置位后,TCNTBn和TCMPBn的值被自動(dòng)載入TCNTn和TCMPn。B:?jiǎn)?dòng)定時(shí)器,清零手動(dòng)更新位,取消倒相功能,允許自動(dòng)重載,定時(shí)器開(kāi)始啟動(dòng)減法計(jì)數(shù)。C:當(dāng)TCNTn(160-50=110)和TCMPn(=110)的值相等時(shí),TOUT輸出電平由低變高。D:當(dāng)TCNTn的值等于0時(shí)產(chǎn)生中斷,并在下一個(gè)時(shí)鐘到來(lái)時(shí)把TCNTBn的值載入暫存器。E:在中斷服務(wù)子程序中,把80和40分別載入TCNTBn和TCMPBn。F:當(dāng)TCNTn(80-40=40)和TCMPn(0=40)的值相等時(shí),TOUT輸出電平由低變高。G、H:當(dāng)TCNTn=0時(shí),產(chǎn)生中斷,在中斷服務(wù)程序中把TCNTBn(80)和TCMPBn(60)的值分別自動(dòng)載入TCNTn和TCMPn,并在中斷服務(wù)程序中,禁止自動(dòng)重載和中斷請(qǐng)求來(lái)中止定時(shí)器的運(yùn)行。I:當(dāng)TCNTn(80-20=60)和TCMPn(=60)的值相等時(shí),TOUT輸出電平由低變高。J、K:盡管TCNTn=0,但是定時(shí)器會(huì)停止運(yùn)行,也不再發(fā)生自動(dòng)重載操作,因?yàn)槎〞r(shí)器自動(dòng)重載功能被禁止,不再產(chǎn)生新的中斷。10.1.5死區(qū)生成器當(dāng)PWM控制用于電源設(shè)備時(shí)需要用到死區(qū)功能。這個(gè)功能允許在一臺(tái)設(shè)備關(guān)閉和另一臺(tái)設(shè)備開(kāi)啟之間插入一個(gè)時(shí)間間隔。這個(gè)時(shí)間間隔可以防止兩臺(tái)設(shè)備同時(shí)關(guān)閉、同時(shí)開(kāi)啟或一臺(tái)關(guān)閉的同時(shí)另一臺(tái)開(kāi)啟。TOUT0是定時(shí)器0的PWM輸出,假設(shè)nTOUT0是TOUT0的倒相信號(hào),如果死區(qū)功能被允許,TOUT0和nTOUT0的輸出波形就變成了TOUT0_DZ和nTOUT0_DZ,如圖10-4所示。有了死區(qū)間隔,TOUT0_DZ和nTOUT0_DZ的關(guān)閉和開(kāi)啟就不會(huì)同時(shí)進(jìn)行。死區(qū)間隔時(shí)間可以通過(guò)軟件進(jìn)行設(shè)定,以達(dá)到防止兩臺(tái)設(shè)備同時(shí)動(dòng)作的目的。10.2.2PWM輸出控制1.輸出電平倒相PWM在不改變占空比的情況下,輸出電平還可以倒相,即把輸出電平取反。在PWM控制寄存器中有一個(gè)逆變位,通過(guò)修改這個(gè)逆變位的值可方便地實(shí)現(xiàn)倒相。2.編程改變輸出頻率PWM的輸出頻率很容易改變,具體方法如右邊的程序所示?!?0.2PWM輸出電平控制§10.3PWM定時(shí)器控制寄存器10.3.1定時(shí)器配置寄存器0定時(shí)器配置寄存器0(TCFG0)如表10-2所示:10.3.2定時(shí)器配置寄存器1定時(shí)器配置寄存器1(TCFG1)如表10-3所示:定時(shí)器輸入時(shí)鐘頻率的計(jì)算公式如下:fTCLK=(fPCLK/(Prescaler+1))/分頻器其中,Prescaler為預(yù)定標(biāo)值(0~255);分頻器(表10-3中的4選1開(kāi)關(guān))的分頻值為2、4、8和16。PWM輸出時(shí)鐘頻率=定時(shí)器輸入時(shí)鐘頻率(fTCLK)/定時(shí)器計(jì)數(shù)緩沖器值(TCNTBn)。PWM輸出占空比=定時(shí)器比較緩沖器值(TCMPBn)/定時(shí)器計(jì)數(shù)緩沖器值(TCNTBn)。10.3.3減法緩沖寄存器和比較緩沖寄存器定時(shí)器減法緩沖寄存器(TCNTBn)和比較緩沖寄存器(TCMPBn)的定義如表10-4所示。10.3.4定時(shí)器控制寄存器定時(shí)器控制寄存器(TCON)如表10-5所示。10.3.5減法計(jì)數(shù)器觀察寄存器定時(shí)器0~4減法計(jì)數(shù)器TCNTn是內(nèi)部寄存器,它們的值可通過(guò)相應(yīng)的減法計(jì)數(shù)器觀察寄存器TCNTOn讀出,讀出的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論