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