PWM定時器
S3C2410共有5個定時器
其中0、1、2、3有PWM功能,都有一個輸出引腳,可以通過定時器來控制引腳周期性的高、低電平變化;
定時器沒有輸出引腳;
一、定時器的時鐘源
定時部件的時鐘源為PCLK,首先通過兩個8位預(yù)分頻器降低頻率;
定時器0、1共用第一個預(yù)分頻器;
定時器2、3、4共用第二個預(yù)分頻器;
預(yù)分頻器的輸出將進入第二級分頻器,輸出5種頻率的時鐘:2分頻、4分頻、8分頻、16分頻、外部時鐘TCLOK0/TCLK1;
每個定時器的工作時鐘都可以在這5種頻率中選擇;
二、定時器的工作原理
1、設(shè)定TCMPBn、TCNTBn兩個寄存器,它們表示定時器n的比較值,初始計數(shù)值;
2、啟動定時器n,通過設(shè)置TCON,TCMPBn、TCNTBn的值被裝入TCMPn、TCNTn中,
在定時器n的工作頻率下,TCNTn開始減1計數(shù),其值可以通過TCNTOn寄存器讀取;
3、當TCNTn的值等于TCMPn的值時,定時器n的輸出管腳TOUTn反轉(zhuǎn);
TCNTn繼續(xù)減1計數(shù);
4、當TCNTn的值到達0時,其輸出管腳TOUTn再次反轉(zhuǎn),并觸發(fā)定時器n的中斷(如果中斷使能);
5、如果在TCON寄存器中將定時器n設(shè)為“自動加載”,則TCMPB0和TCNTB0寄存器的值被自動裝入TCMP0和TCNT0中,開始下一個計數(shù)流程。
定時器n的輸出管腳TOUTn初始狀態(tài)為高電平,當TCNTn的值等于TCMPn的值、TCNTn的值等于0時都會發(fā)生反轉(zhuǎn),
也可以通過TCON寄存器設(shè)置其初始電平,這樣TOUTn的輸出就完全反相了,
通過設(shè)置TCMPBn與TCNTBn的值可以設(shè)置管腳TOUT輸出信號的占空比,這就是所謂的可調(diào)制脈沖(PWM),所以這些定時器又被稱為PWM定時器。
三、寄存器使用方法
1、TCFG0
【7:0】、【15:8】分別用于控制預(yù)分頻器0、1,經(jīng)過預(yù)分頻器出來的時鐘頻率為:PCLK/(perscaler value + 1);
2、TCFG1
設(shè)置第二級分頻,
【3:0】設(shè)置定時器0
【7:4】設(shè)置定時器1
【11:8】設(shè)置定時器2
【15:12】設(shè)置定時器3
【19:16】設(shè)置定時器4
0b0000——1/2
0b0001——1/4
0b0010——1/8
0b0011——1/16
0b01xx——External TCLK0/TCLK1;
3、TCNTBn
4、TCMPBn
沒有TCMPBn,定時器4沒有輸出引腳
5、TCNTOn
6、TCON
TCON有4個作用:
(1)第一次啟動定時器時,將TCNTBn、TCMPBn的值裝入TCNTn、TCMPn中;
(2)啟動、停止定時器;
(3)設(shè)置自動重載;
(4)設(shè)置TOUTn是否反轉(zhuǎn);
【3:0】用于定時器0
【11:8】用于定時器1
【15:12】用于定時器2
【19:16】用于定時器3
【22:20】用于定時器4,沒有輸出引腳反轉(zhuǎn)位
位0: 0——停止定時器, 1——開啟定時器;
位1: 1——將TCNTBn、TCMPBn的值裝入TCNTn、TCMPn中;
位2: 0——TOUTn不反轉(zhuǎn), 1——TOUTn反轉(zhuǎn);
位3: 0——不自動加載, 1——自動加載;
在第一次使用定時器時,需要設(shè)置“位1”,使TCNTBn/TCMPBn的值裝入TCNTn、TCMPn中。
編輯:admin 最后修改時間:2018-05-18