基于S3C2440A的直流電機(jī)轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)
3 系統(tǒng)的軟件設(shè)計(jì)
S3C2440A有5個(gè)16位的定時(shí)器。定時(shí)器0,1,2,3有脈寬調(diào)制功能。定時(shí)器4有一個(gè)沒有輸出引腳的內(nèi)部定時(shí)器,定時(shí)器0有一個(gè)用于大電流設(shè)備的死區(qū)生成器。
定時(shí)器0和1共用一個(gè)8位預(yù)分頻器,定時(shí)器2,3,4共用另一個(gè)8位預(yù)分頻器。每個(gè)定時(shí)器有1個(gè)時(shí)鐘分頻器,可以生成5種不同的分頻信號(hào):1/2,1/4,1/8,1/16和TCLK。每個(gè)定時(shí)器模塊從時(shí)鐘分頻器接收自己的時(shí)鐘信號(hào),其分頻器從相應(yīng)的8位預(yù)分頻器接收時(shí)鐘。8位預(yù)分頻器是可編程的并且根據(jù)裝載的值來分頻PCLK,它的值存儲(chǔ)在TCFG0和TCFG1寄存器。
3.1 定時(shí)器工作方式
在S3C2440A中,每個(gè)定時(shí)器都有自己的16位減法計(jì)數(shù)器,由定時(shí)器時(shí)鐘驅(qū)動(dòng)。當(dāng)定時(shí)器使能,定時(shí)器計(jì)數(shù)緩存寄存器(TCNTBn)得到一個(gè)被裝載到遞減計(jì)數(shù)器中的初始值。定時(shí)器比較緩存寄存器(TCMPBn)有一個(gè)被裝載到比較寄存器中用來和遞減計(jì)數(shù)器的值作比較的初始值。TC-NTBn和TCMPBn的雙緩存特點(diǎn)使得當(dāng)頻率與負(fù)荷比發(fā)生改變時(shí),定時(shí)器可以有1個(gè)穩(wěn)定的輸出。
定時(shí)器的啟動(dòng)步驟如下:
(1)寫初始值到TCNTBn和TCMPBn。
(2)設(shè)置對(duì)應(yīng)定時(shí)器的手動(dòng)更新位,反相器設(shè)置為off狀態(tài)。
(3)設(shè)置對(duì)應(yīng)定時(shí)器的啟動(dòng)位開啟定時(shí)器,同時(shí)清除手動(dòng)更新位。
此時(shí)定時(shí)器開始倒數(shù),當(dāng)定時(shí)器計(jì)數(shù)器為0時(shí),定時(shí)器發(fā)出中斷請求,通知處理器定時(shí)結(jié)束。此時(shí),對(duì)應(yīng)TCNTBn的值將自動(dòng)載入計(jì)數(shù)器,從而可以進(jìn)入下一個(gè)操作。如果定時(shí)器已經(jīng)停止,清除TCONn中的定時(shí)器使能位,則TCNTBn中的值將不會(huì)被載入到計(jì)數(shù)器中。
3.2 PWM脈寬調(diào)制
對(duì)于定時(shí)器來說,其時(shí)鐘源輸入頻率一般不變。電動(dòng)機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成正比,而電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成正比,占空比越大,電機(jī)轉(zhuǎn)速越快。而S3C2440A系統(tǒng)中PWM頻率由TCNTBn決定,PWM脈沖寬度由TCMPBn決定,占空比即為TCMPBn/TCNTBn。
如果使電機(jī)轉(zhuǎn)速下降,可以減少TCMPBn的值;相反可以增加TCMPBn的值。由于雙緩沖的特性,為了獲得下一個(gè)正確的PWM周期,可以在當(dāng)前PWM周期的任意點(diǎn)通過ISR或其他程序來寫TCMPBn。
S3C2440A設(shè)置PWM的流程圖如圖3所示。
評(píng)論