浅析嵌入式系统之uboot详解(5.3)—PWM定时器(番外)
bootloader詳解目錄—廢鐵是怎么產(chǎn)生價(jià)值的
淺析嵌入式系統(tǒng)之uboot詳解(1)—板子上電后uboot做了什么
淺析嵌入式系統(tǒng)之uboot詳解(2)—CPU工作模式
淺析嵌入式系統(tǒng)之uboot詳解(3)—看門(mén)狗
淺析嵌入式系統(tǒng)之uboot詳解(4.1)—內(nèi)部中斷
淺析嵌入式系統(tǒng)之uboot詳解(4.2)—外部中斷(GPIO)
淺析嵌入式系統(tǒng)之uboot詳解(4.3)—異常和異常向量
淺析嵌入式系統(tǒng)之uboot詳解(5.1)—時(shí)鐘分頻
淺析嵌入式系統(tǒng)之uboot詳解(5.2)—省電模式(番外)
淺析嵌入式系統(tǒng)之uboot詳解(5.3)—PWM定時(shí)器(番外)
淺析嵌入式系統(tǒng)之uboot詳解(6)—關(guān)閉緩存和mmu
淺析嵌入式系統(tǒng)之uboot詳解(7)—初始化SDRAM
uboot詳解—PWM定時(shí)器(番外)
- 1. 前言
- 2. PWM定時(shí)器
- 2.1 概述
- 2.2 實(shí)例
- 3. 小結(jié)
1. 前言
??這篇文章是一些拓展內(nèi)容,如果想了解uboot的啟動(dòng)過(guò)程,可以先跳過(guò)本章,如果需要掌握一些編寫(xiě)裸機(jī)程序或者內(nèi)核與計(jì)時(shí)器相關(guān)的驅(qū)動(dòng)的知識(shí),可以了解一下。
2. PWM定時(shí)器
2.1 概述
??脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫(xiě),簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在測(cè)量、通信到功率控制與變換的許多領(lǐng)域中——百科上如是說(shuō),科學(xué)語(yǔ)言總是這樣的嚴(yán)謹(jǐn)卻又不好理解,這里用草根語(yǔ)言解釋一下:PWM是改變輸出波形的一種方法,包括改變波形的頻率和占空比。
??模擬信號(hào)的值可以連續(xù)變化,其時(shí)間和幅度的分辨率都沒(méi)有限制。9V電池就是一種模擬器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于9V,而是隨時(shí)間發(fā)生變化,并可取任何實(shí)數(shù)值。與此類似,從電池吸收的電流也不限定在一組可能的取值范圍之內(nèi)。模擬信號(hào)與數(shù)字信號(hào)的區(qū)別在于后者的取值通常只能屬于預(yù)先確定的可能取值集合之內(nèi),例如在{0V, 5V}這一集合中取值。
??模擬電壓和電流可直接用來(lái)進(jìn)行控制,如對(duì)汽車(chē)收音機(jī)的音量進(jìn)行控制。在簡(jiǎn)單的模擬收音機(jī)中,音量旋鈕被連接到一個(gè)可變電阻。擰動(dòng)旋鈕時(shí),電阻值變大或變小;流經(jīng)這個(gè)電阻的電流也隨之增加或減少,從而改變了驅(qū)動(dòng)揚(yáng)聲器的電流值,使音量相應(yīng)變大或變小。與收音機(jī)一樣,模擬電路的輸出與輸入成線性比例。
??盡管模擬控制看起來(lái)可能直觀而簡(jiǎn)單,但它并不總是非常經(jīng)濟(jì)或可行的。其中一點(diǎn)就是,模擬電路容易隨時(shí)間漂移,因而難以調(diào)節(jié)。能夠解決這個(gè)問(wèn)題的精密模擬電路可能非常龐大、笨重(如老式的家庭立體聲設(shè)備)和昂貴。模擬電路還有可能?chē)?yán)重發(fā)熱,其功耗相對(duì)于工作元件兩端電壓與電流的乘積成正比。模擬電路還可能對(duì)噪聲很敏感,任何擾動(dòng)或噪聲都肯定會(huì)改變電流值的大小。
??通過(guò)以數(shù)字方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。此外,許多微控制器和DSP已經(jīng)在芯片上包含了PWM控制器,這使數(shù)字控制的實(shí)現(xiàn)變得更加容易。
??總的來(lái)說(shuō),數(shù)字信號(hào)的波形比模擬信號(hào)的波形規(guī)則穩(wěn)定,而且方便便宜,便于操作,可以用pwm控制器進(jìn)行管理,比如我們?nèi)搜蹖?duì)光比聲音敏感,也許可以用模擬電路產(chǎn)生的時(shí)鐘來(lái)驅(qū)動(dòng)音頻,但是用來(lái)驅(qū)動(dòng)顯示器是不好的,稍微有點(diǎn)偏差就會(huì)影響我們的觀看質(zhì)量。
??我們知道,模擬電路中的波形常常是正弦形式的,有波峰有波谷,但是數(shù)字電路中的波形常常是鋸齒形式的,有高電平有低電平,所以一個(gè)波形的上升沿到下一個(gè)波形的上升沿這段區(qū)間就是一個(gè)周期,然而這中間的下降沿的位置就決定了該波的占空比,這個(gè)下降沿可能位一一個(gè)波的中間,也可能位于一個(gè)波的前三分之一的位置,芯片中的pwm就是用編程的方式來(lái)改變這兩個(gè)量的。
2.2 實(shí)例
??下面將分析怎么使用s3c2440的pwm產(chǎn)生想要的時(shí)鐘。
??s3c2440有5個(gè)16比特的計(jì)時(shí)器,0,1,2,4具有pwm功能,但是4沒(méi)有輸出引腳,用作內(nèi)部時(shí)鐘,計(jì)時(shí)器0有死區(qū)發(fā)生器,用于大電流的設(shè)備。
??計(jì)時(shí)器0和1共用一個(gè)8比特的預(yù)分頻器,計(jì)時(shí)器2,3,4共用另外一個(gè)8位的預(yù)分頻器,每一個(gè)計(jì)時(shí)器有一個(gè)時(shí)鐘除法器,可以分出5種不同等分的時(shí)鐘信號(hào)(1/2,1/4,1/8,1/16和TCLK),每一個(gè)定時(shí)器從相應(yīng)的除法器得到自己的時(shí)鐘信號(hào),這個(gè)8位的預(yù)分頻器是可編程的,它可以將PCLK進(jìn)行分頻,具體分頻的值可以通過(guò)設(shè)置TCFG0和TCFG1來(lái)完成。
??定時(shí)計(jì)數(shù)緩沖寄存器(TCNTBn)包含了一個(gè)當(dāng)使能了定時(shí)器時(shí)的被加載到遞減計(jì)數(shù)器中的初始值。
??定時(shí)比較緩沖寄存器(TCMPBn)包含了一個(gè)被加載到比較寄存器中的與遞減計(jì)數(shù)器相比較的初始值。這種 TCNTBn 和CMPBn的雙緩沖特征保證了改變頻率和占空比時(shí)定時(shí)器產(chǎn)生穩(wěn)定的輸出。
??每個(gè)定時(shí)器有它自己的由定時(shí)器時(shí)鐘驅(qū)動(dòng)的 16 位遞減計(jì)數(shù)器。當(dāng)遞減計(jì)數(shù)器到達(dá)零時(shí),產(chǎn)生定時(shí)器中斷請(qǐng)求通知CPU定時(shí)器操作已經(jīng)完成。當(dāng)定時(shí)器計(jì)數(shù)器到達(dá)零時(shí),相應(yīng)的TCNTBn的值將自動(dòng)被加載到遞減計(jì)數(shù)器以繼續(xù)下一次操作。然而,如果定時(shí)器停止了,例如,在定時(shí)器運(yùn)行模式期間清除 TCONn 的定時(shí)器使能位,TCNTBn的值將不會(huì)被重新加載到計(jì)數(shù)器中。
??TCMPBn的值是用于脈寬調(diào)制(PWM)。當(dāng)遞減計(jì)數(shù)器的值與定時(shí)器控制邏輯中的比較寄存器的值相匹配時(shí)定時(shí)器控制邏輯改變輸出電平。因此,比較寄存器決定PWM輸出的開(kāi)啟時(shí)間(或關(guān)閉時(shí)間)。
定時(shí)器專用寄存器有6種共17個(gè)寄存器
- TCFG0 配置寄存器0
- TCFG1 配置寄存器1
- TCON 控制寄存器
- TCNTBn 計(jì)數(shù)初值寄存器(5個(gè))
- TCMPBn 比較寄存器(4個(gè))
- TCNTOn 觀察寄存器(5個(gè))
從上圖可以看出,要配置一個(gè)定時(shí)器,必須要配置下面這些寄存器:
TCON(定時(shí)器控制寄存器):這個(gè)寄存器是用來(lái)配置每個(gè)寄存器的工作模式的,包括自動(dòng)加載,手動(dòng)配置或者死區(qū)等
TCFG0(定時(shí)器配置寄存0):這個(gè)寄存器是用來(lái)配置prescaler的,設(shè)置prescaler0預(yù)分頻的大小是0 ~ 7bit,最大值是255,16 ~ 23bit用來(lái)設(shè)置死區(qū)的長(zhǎng)度
TCFG1(定時(shí)器配置寄存1):這個(gè)寄存器用來(lái)配置clock divider,包括設(shè)置哪個(gè)除數(shù)和DMA模式選擇
TCMPB和TCNTB:用來(lái)設(shè)置比較寄存器和計(jì)數(shù)初值寄存器
TCNTOn: 觀察寄存器
設(shè)置完這些寄存器以后,就可以在對(duì)應(yīng)的輸出口上獲取到想要的波形了
3. 小結(jié)
??關(guān)于pwm定時(shí)器和實(shí)時(shí)時(shí)鐘用途雖然比較廣泛,但是在uboot的啟動(dòng)過(guò)程卻影響不大,這里只是概述一下。
總結(jié)
以上是生活随笔為你收集整理的浅析嵌入式系统之uboot详解(5.3)—PWM定时器(番外)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 巨量千川投放新手必备知识点
- 下一篇: mac系统下载nvm管理node版本