實時數(shù)字信號處理 第6章 片上外設(shè) TIMER.ppt_第1頁
實時數(shù)字信號處理 第6章 片上外設(shè) TIMER.ppt_第2頁
實時數(shù)字信號處理 第6章 片上外設(shè) TIMER.ppt_第3頁
實時數(shù)字信號處理 第6章 片上外設(shè) TIMER.ppt_第4頁
實時數(shù)字信號處理 第6章 片上外設(shè) TIMER.ppt_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實時數(shù)字信號處理,第6章 片上外設(shè) TIMER,定時器,12個相同的32-bit通用定時器,每個內(nèi)核還有一個內(nèi)核定時器和一個看門狗定時器 內(nèi)核定時器可為各種系統(tǒng)定時函數(shù)產(chǎn)生周期性中斷 看門狗定時器用軟件方式通過向內(nèi)核產(chǎn)生一個事件以提高系統(tǒng)有效性 通用定時器 可以分別設(shè)置成3種模式 脈寬調(diào)制模式(PWM_OUT) 脈寬計數(shù)及捕獲模式(WDTH_CAP) 外部事件計數(shù)模式(EXT_CLK) 先大致了解下這些工作模式 每個通用定時器專用的雙向引腳TMRx 在PWM_OUT下作為輸出,在WDTH_CAP和EXT_CLK下為輸入。,通用定時器寄存器,每個通用定時器配有4個寄存器 定時器配置寄存器(TIM

2、ERx_CONFIG) 定時器計數(shù)寄存器(TIMERx_COUNTER) 定時器周期寄存器(TIMERx_PERIOD) 定時器脈寬寄存器(TIMERx_WIDTH) TIMERx_CONFIG是16位的,后3個寄存器均為32位 看書理解 12個通用定時器分為2組:Group 1和Group 2,每組共享 定時器使能寄存器(TMRSy_ENABLE) 定時器禁止寄存器(TMRSy_DISABLE) 定時器狀態(tài)寄存器(TMRSy_STATUS) y=8表示Group 1,y=4表示Group 2,定時器使能與禁止寄存器,TMRSy_ENABLE 可以同時使能8個或4個定時器并使它們同步運(yùn)行 每個

3、定時器有單獨的W1S控制位TIMENx,寫1使能相應(yīng)定時器,寫0無作用 12個位可以單獨設(shè)置,也可以是任意組合 16-bit TMRS8_ENABLE的7:0分別對應(yīng)定時器7到0,16-bit TMRS4_ENABLE的位3:0分別對應(yīng)定時器11到8 TMRSy_DISABLE 可以同時禁止8個或4個定時器 每個定時器有單獨的W1C控制位TIMDISx,寫1禁止相應(yīng)定時器,寫0無作用 12個位可以單獨清0,也可以是任意組合 16-bit TMRS8_DISABLE的位7:0分別對應(yīng)定時器7到0,16-bit TMRS4_DISABLE的位3:0分別對應(yīng)定時器11到8 在PWM_OUT模式中,向

4、TMRSy_DISABLE寫1不會立即停止定時器,它將繼續(xù)運(yùn)行,直到當(dāng)前周期末(如果PERIOD_CNT=1)或脈沖末(如果PERIOD_CNT=0)時停止 如有必要,可先寫1到TMRSy_DISABLE相應(yīng)位,再寫1到TMRSy_STATUS的相應(yīng)TRUNx位,可以強(qiáng)迫PWM_OUT模式中的定時器立即停止 在WDTH_CAP和EXT_CLK模式中,向TMRSy_DISABLE寫1將立即停止相應(yīng)的定時器,定時器狀態(tài)寄存器TMRSy_STATUS,標(biāo)示了8個或4個定時器的狀態(tài) 為每一個定時器配置了一個中斷鎖存位TIMILx和一個溢出/錯誤指示位TOVF_ERRx 狀態(tài)位是黏性的,寫1清零; PW

5、M_OUT模式中,定時器在一個周期末停止時,TRUN位可以自行清0 TRUNx位反映了各個模式下定時器運(yùn)行狀態(tài):TRUNx為1表示運(yùn)行,為0表示停止 TMRS8_STATUS是32-bit的 低16位狀態(tài)寄存器如圖6-52所示,與定時器3到0有關(guān);高16位與定時器7到4有關(guān) TMRS4_STATUS是16-bit的 與定時器11到8有關(guān) 每個定時器產(chǎn)生唯一的中斷請求信號 由TIMERx_CONFIG寄存器的相應(yīng)IRQ_ENA位選通 共享的TMRSy_STATUS鎖存了這些中斷 給12個定時器分配了同樣的中斷優(yōu)先級情況下,方便地識別中斷源 若一個中斷狀態(tài)或錯誤發(fā)生,而IRQ_ENA置1了,則TI

6、MILx將置位并產(chǎn)生到內(nèi)核的中斷 若一個中斷狀態(tài)或錯誤發(fā)生,而IRQ_ENA清0了,則TIMILx不置位也不產(chǎn)生到內(nèi)核中斷 若TIMILx已置位而IRQ_ENA被清0了,則TIMILx將一直置位,中斷信號一直聲明 為不錯過定時器事件,在外部事件計數(shù)模式下應(yīng)在ISR開始時復(fù)位鎖存位,脈寬調(diào)制(PWM_OUT)模式,TIMERx_CONFIG的TMODE位為01 TMRx是輸出引腳 位PULSE_HI、PERIOD_CNT、IRQ_ENA、OUT_DIS、CLK_SEL、EMU_RUN、TOGGLE_HI可以單獨地或任何組合形式地設(shè)置 一旦定時器使能,計數(shù)寄存器會加載一個初始值 如果CLK_SEL

7、=0,定時器計數(shù)器從0 x1開始 如果CLK_SEL=1,定時器計數(shù)器復(fù)位為0 x0s 計數(shù)器遞增計數(shù),當(dāng)與周期寄存器相等時,計數(shù)器在下一個時鐘復(fù)位為0 x1 在PWM_OUT模式中,位PERIOD_CNT控制定時器產(chǎn)生單脈沖還是多脈沖 清0為單脈沖模式,定時器使用TIMERx_WIDTH寄存器,產(chǎn)生一個建立沿和一個撤銷沿,然后產(chǎn)生一個中斷并停止 置1為連續(xù)脈沖模式,定時器使用TIMERx_WIDTH和TIMERx_PERIOD寄存器產(chǎn)生重復(fù)的(而且可能是調(diào)制的)波形,并在每一個周期末產(chǎn)生一個中斷,脈寬調(diào)制(PWM_OUT)模式,單脈沖產(chǎn)生 可用于產(chǎn)生一個精確延時 脈沖寬度由TIMERx_WI

8、DTH定義,在脈沖末中斷鎖存位TIMILx置位,定時器自動停止 PULSE_HI置位就在TMRx引腳上產(chǎn)生一個高電平有效脈沖,否則產(chǎn)生一個低電平有效脈沖 脈沖寬度調(diào)制波形產(chǎn)生 產(chǎn)生周期及占空比定義明確的矩形波,也為實時信號處理產(chǎn)生周期性中斷 周期和脈寬寄存器設(shè)置為定時器計數(shù)周期值及脈沖寬度調(diào)制輸出值 每當(dāng)定時器計數(shù)器的值與定時器脈沖寬度寄存器的值相等,TMRx引腳就被置為無效狀態(tài),當(dāng)周期期滿(或定時器重新開始)TMRx引腳再次被置為有效狀態(tài) PWM應(yīng)用中,當(dāng)定時器運(yùn)行時,軟件需要更新周期值及脈沖寬度值 為了在TMRx輸出引腳產(chǎn)生最高頻率,應(yīng)設(shè)置周期值為2,脈寬為1,這使TMRx在每個SCLK切

9、換,產(chǎn)生50%占空比,脈寬計數(shù)和捕獲(WDTH_CAP)模式,TMRx是輸入引腳 內(nèi)部計時的定時器用來決定外部的矩形波的周期和脈寬 該模式下使能時復(fù)位TIMERx_COUNTER計數(shù)值為0 x1 在TMRx引腳上檢測到第1個前沿時開始遞增計數(shù) 當(dāng)檢測到一個波形的后沿就捕獲TIMERx_COUNTER當(dāng)前的32-bit值并寫入寬度緩沖寄存器 在下一個前沿將TIMERx_COUNTER當(dāng)前的32-bit值轉(zhuǎn)移到周期緩沖寄存器 計數(shù)器寄存器再次重置為0 x1,繼續(xù)計數(shù)和捕獲,直到禁止 控制TMRx引腳的“前沿”與“后沿”的定義 PULSE_HI清0,則在下降沿測量,而在上升沿將定時器計數(shù)寄存器捕獲到

10、定時器脈沖寬度緩沖寄存器,并在下一個下降沿捕獲到定時器周期寄存器 若置位,則在上升沿測量,而在下降沿將定時器計數(shù)寄存器捕獲到定時器脈沖寬度緩沖寄存器,并在下一個上升沿捕獲到定時器周期寄存器,脈寬計數(shù)和捕獲(WDTH_CAP)模式,在WDTH_CAP模式3個事件作為一個整體同時發(fā)生 1)TIMERx_PERIOD被周期緩沖寄存器更新 2)TIMERx_WIDTH被脈寬緩沖寄存器更新 3)定時器中斷鎖存位TIMILx置位(如果使能了),但不產(chǎn)生一個錯誤 這3個事件合起來稱為一個測量報告,在產(chǎn)生測量報告時定時器計數(shù)器溢出錯誤鎖存位不置位,測量報告最多每個輸入信號周期發(fā)生一次 TIMERx_CONFI

11、G的PERIOD_CNT位控制這套事件的時間點 當(dāng)PERIOD_CNT位置1,測量報告將立即發(fā)生在周期緩沖寄存器捕獲它的數(shù)值后(在前沿) 當(dāng)PERIOD_CNT位清0,測量報告將立即發(fā)生在脈寬緩沖寄存器捕獲它的數(shù)值后(在后沿)。 為了測量一個只有一個前沿和一個尾沿的波形的脈沖寬度,應(yīng)設(shè)置PERIOD_CNT=0,外部事件計數(shù)模式(EXT_CLK),該模式下,TMRx引腳作為輸入 TMRx輸入引腳的最大頻率是SCLK/2 定時器作為一個計數(shù)器 由外部源計時,外部源與系統(tǒng)時鐘可以是異步的 TIMERx_COUNTER的當(dāng)前計數(shù)值反映了檢測到的前沿事件的數(shù)目 TIMERx_PERIOD編程為定時器的最大的外部計數(shù)值 周期可編程為1到(2321)間的值,包括1和(2321)在內(nèi) 使能定時器后重置定時器計數(shù)寄存器為0 x0 等待TMRx引腳的第1個前沿,這個沿使得定時器計數(shù)寄存器增加為0 x1 每個后續(xù)的前沿都將增加計數(shù)寄存器的值,達(dá)到周期值后TIMILx置位,中斷產(chǎn)生 下一個前沿重新加載定時器計數(shù)寄存器為0 x1,定時器繼續(xù)計數(shù),直到被禁止 PULSE_HI位用于決定前沿是上升沿還是下降沿,內(nèi)核定時器,內(nèi)核定時器是可編程的計時器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論