1、什麼是pwm波形?
(1)pwm(pulse wide modulation脈寬調變)
(2)pwm波形是乙個週期性波形,週期為t,每個週期有乙個高電平和低電平組成。
(3)pwm波形有兩個重要的引數:乙個是週期t,另乙個是占空比duty(占空比就是乙個週期內高電平的時間的商)。
(4)對於乙個pwm波形,知道了週期t和占空比duty,就可以算出這個波形的所有細節。譬如高電平時間為t*duty,低電平為t*(1-duty)。
(5)pwm波形有很多用途,譬如通訊上用pwm來進行脈寬調變對基波進行載波調製;在led燈亮度無極調節。
2、pwm波形的生成原理
(1)pwm就是通過時間來控制高低電平時間,理所應當用定時器來實現pwm波形
(2)早期微控制器(譬如51)沒有專門的pwm定時器,我們自用gpio和定時器來產生pwm波形。
(3)後來因為定時器經常和pwm產生糾結一起,所以設計的時候就把定時器和gpio內部引腳繫結起來,在定時器內部就可以產生pwm波形。 優點是方便定時器產生波形,同時不需要進入中斷函式isr中;缺點是引腳固定,死板,不能隨意更改。
(4)s5pv210中,pwm波形產生有兩個暫存器很關鍵,乙個是tcntb、乙個是tcmtb。其中,tcntb決定了pwm波形的週期,tcmpb決定了pwm波形的占空比。
(5)最終生成的pwm波形的週期是:tcntb*時鐘週期(pclk_psys經過兩級分頻後得到的時鐘週期)
(6)最終產生的pwm占空比=tcmtb/tcntb
3、輸出電平翻轉器
(1)pwm定時器規定:當tcnt>tcmpb時為高電平,當tcnt(2)當duty從30%變為70%時,我們tcmpb暫存器中的值就要改(較麻煩),210pwm定時器提供了乙個電平翻轉器。
(3)電平翻轉器在電路上就是乙個電平取反部件,在程式設計上反映是乙個暫存器,寫0翻轉,寫1保持。30%就能變為70%
(4)s5pv210給大家提供了自帶死區生成器,應用於簡單的功能。
S5PV210的定時器程式模組程式
s5pv210的定時器程式模組程式 參考朱有鵬arm裸機程式 1 pwm定時器的初始化 步奏分析 1 因為我們是輸出pwm波,所以需要將需要的gpio口設定成pwm模式 所以我們需要配置我們的兩個分頻器 3 接著,是pwm波的關鍵暫存器 rtcntb2 250 頻率 這個數可以得出我們需要知道的週期...
S5PV210 裸機中斷
這裡我以外部中斷為例畫出了中斷響應的過程。當外部中斷得到響應,會由硬體自動轉到異常向量表,執行對應的異常處理程式。在這裡指的就是irq的處理程式。在異常處理程式irq handle中將會執行現場的保護與恢復,以及最重要的中斷處理函式 注意,這裡就來到了中斷處理部分,而不是異常處理了,相當於是乙個兩級...
S5PV210控制蜂鳴器
s5pv210帶有乙個蜂鳴器,十分吵鬧,本章將學習如何控制蜂鳴器。相關引腳 蜂鳴器的操作十分簡單,原理跟操作led一樣,通過控制gpdo o這個引腳就可以達到控制蜂鳴器的目的。1.start.s start.s做了下面3件事 第一步 關看門狗 第二步 設定棧,以便呼叫c函式 第三步 呼叫main函式...