查看: 1795|回復: 0
打印 上一主題 下一主題

【CC3200實(shí)驗教程5】瘋殼·AI語(yǔ)音人臉識別-定時(shí)器

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-8-31 14:02:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
CC3200AI 實(shí)驗教程
——瘋殼·開(kāi)發(fā)板系列
定時(shí)器




    1.1寄存器
    CC3200包含4個(gè)32位用戶(hù)可編程通用定時(shí)器(TimerA0~3),通用定時(shí)器可以對定時(shí)器輸入引腳的外部事件進(jìn)行計數或定時(shí)。每個(gè)定時(shí)器模塊包含2 個(gè)16位的定時(shí)/計數器(TimerA和TimerB),可以作為定時(shí)器或事件計數器獨立工作,也可以作為一個(gè)32位定時(shí)器工作。
    CC3200的定時(shí)器具有多種操作模式:16位或32位可編程單次定時(shí)器;16位或32位可編程周期定時(shí)器;16位通用定時(shí)器,帶8位預分頻器;16位輸入邊沿計數或時(shí)間捕捉模式,帶8位預分頻器;16位脈沖寬度調制模式(PWM),帶8位預分頻器和軟件可編程輸入。具有以下特性:
    a、向上或向下計數;
    b、16個(gè)16位或32位捕捉比較PWM(CCP)引腳;
    c、可以確定產(chǎn)生定時(shí)器中斷到進(jìn)入中斷服務(wù)程序(ISR)的時(shí)間;
    d、可以觸發(fā)使用 DMA 的高效傳輸;
    e、系統時(shí)鐘運行(80MHz)。
    GPTMCFG寄存器主要是配置通用定時(shí)器模塊的全局操作。確定通用定時(shí)器工作于32位模式還是16位模式。該寄存器中的值只能是在GPTMCTL寄存器中的TAEN和TBEN兩位被清零時(shí)改變。如圖1.0.1所示。

   
    圖1.0.1 GPTMCFG寄存器
    2~0位:寫(xiě)入0,配置為32位定時(shí)器模式;寫(xiě)入4,配置為16位定時(shí)器模式。
    GPTMTAMR寄存器配置是基于GPTMCFG寄存器的配置來(lái)進(jìn)行選擇的。在PWM模式中,置位TAAMS位、清除TACMR位和配置TAMR為0x01或者0x02。寄存器如圖1.0.2所示,位定義如圖1.0.3所示。

   
    圖1.0.2 GPTMTAMR寄存器


   
    圖1.0.3 GPTMTAMR寄存器位定義
    GPTMTBMR寄存器控制獨立定時(shí)器B的工作模式。當定時(shí)器A和定時(shí)器B一起使用時(shí)該寄存器被忽略,而是通過(guò)GPTMTAMR來(lái)控制定時(shí)器A和定時(shí)器B的工作模式。注意:除了TCACT位,其它位都必須在GPTMCTL寄存器中的TBEN位清零時(shí)進(jìn)行配置。GPTMTBMR寄存器如圖1.0.4所示,位定義如圖1.0.5所示。

   
    圖1.0.4 GPTMTBMR寄存器


   
    圖1.0.5 GPTMTBMR寄存器位定義
    GPTMCTL寄存器該寄存器為定時(shí)器的控制寄存器,如圖1.0.6所示:

   
    圖1.0.6 GPTMCTL寄存器


   
    圖1.0.7 GPTMCTL寄存器位定義

    GPTMIMR寄存器可以軟件使能/關(guān)閉定時(shí)器的控制電平中斷。置位可以打開(kāi)對應的中斷,清零可以關(guān)閉對應的中斷。寄存器如圖1.0.8所示,該寄存器位定義如圖1.0.9所示

   
    圖1.0.8 GPTMIMR寄存器


   
    圖1.0.9 GPTMIMR寄存器位定義

    GPTMRIS寄存器為中斷源狀態(tài)寄存器,通過(guò)該寄存器可以獲取中斷源。GPTMRIS寄存器如下圖1.1.0所示,寄存器位定義如圖1.1.1所示。

   
    圖1.1.0 GPTMRIS寄存器


   
    圖1.1.1 GPTMRIS寄存器位定義
    GPTMMIS寄存器為中斷掩碼狀態(tài)寄存器,可以檢測是否產(chǎn)生中斷。如圖1.1.3所示為其寄存器,圖1.1.4為寄存器的位定義。

   
    圖1.1.3 GPTMMIS寄存器


   
    圖1.1.4 GPTMMIS寄存器位定義
    GPTMICR寄存器用于清除GPTMRIS和GPTMIS寄存器中的狀態(tài)位,寫(xiě)入1則清除對應的中斷。GPTMICR寄存器如圖1.1.5所示,GPTMICR寄存器位定義如圖1.1.6所示。

   
    圖1.1.5GPTMICR寄存器


   
    圖1.1.6 GPTMICR寄存器位定義
    當通用定時(shí)器被配置為32位模式,GPTMTAILR作為一個(gè)32位寄存器(高16位對應與定時(shí)器B裝載值寄存器的內容)。在16位模式,寄存器的高16位讀取值為0,并且對GPTMTBILR寄存器的狀態(tài)沒(méi)有影響。如圖1.1.7所示為其寄存器及位定義。

   
    圖1.1.7 GPTMTAILR寄存器及位定義
    當通用定時(shí)器配置為32位模式時(shí),GPTMTBILR寄存器中[15:0]位的內容被裝載到GPTMTAILR 寄存器的高16位。讀取該寄存器,則返回定時(shí)器B的當前值,寫(xiě)操作無(wú)效。在 16 位模式,[15:0]位用于裝載值。[31:16]位保留不使用。如圖1.1.8所示為GPTMTBILR寄存器及其位定義。

   
    圖1.1.8 GPTMTBILR寄存器及其位定義
    當通用定時(shí)器被配置為32位模式時(shí),GPTMTAMATCHR作為32位寄存器(高16位對應GPTMTBMATCHR寄存器的內容)。在16位模式,寄存器的高16位讀取為0,并且對GPTMTBMATCHR的狀態(tài)沒(méi)有影響。如圖1.1.9所示為GPTMTAMATCHR及其位定義。

   
    圖1.1.9 GPTMTAMATCHR及其位定義
    當通用定時(shí)器配置為32位模式時(shí),GPTMTBMATCHR寄存器的[15:0]位被裝載到寄存器GPTMTAMATCHR寄存器的高16位。讀取該寄存器得到定時(shí)器B的當前值,寫(xiě)操作無(wú)效。在16位模式中,[15:0]位用于匹配值。[31:16]位保留不使用。如圖1.2.0所示GPTMTBMATCHR寄存器及其位定義。

   
    圖1.2.0 GPTMTBMATCHR寄存器及其位定義

    GPTMTAPR寄存器通過(guò)軟件來(lái)擴展獨立定時(shí)器的范圍。在單次或者周期減計數模式, 該寄存器作為定時(shí)計數器的預分頻器。如1.2.1所示。

   
    圖1.2.1 GPTMTAPR寄存器
    GPTMTBPR寄存器通過(guò)軟件來(lái)擴展獨立定時(shí)器的范圍。在單次或者周期減計數模式, 該寄存器作為定時(shí)計數器的預分頻器。如圖1.2.2所示。

  
    圖1.2.2 GPTMTBPR寄存器
    GPTMTAPMR寄存器擴展獨立定時(shí)器GPTMTAMATCHR的范圍。當寄存器工作于 16 位模式時(shí),該寄存器表示[23:16]位。如圖1.2.3所示。

   
    圖1.2.3 GPTMTAPMR寄存器
    GPTMTBPMR寄存器擴展獨立定時(shí)器GPTMTAMATCHR的范圍。當寄存器工作于16位模式時(shí),該寄存器表示[23:16]位。如圖1.2.4所示。

   
    圖1.2.4 GPTMTBPMR寄存器
    當定時(shí)器配置為32位模式時(shí),GPTMTAR作為32位寄存器使用(高16位對應GPTMTBR寄存器的內容)。在16位輸入邊沿計數,輸入邊沿定時(shí)和PEM模式,[15:0]位包含計數器的值,[23:16]位包含預分頻高8位的值。[31:24]位讀取值始終為0?梢宰x取 GPTMTAV的[23:16]位來(lái)獲取16位模式單次和周期模式的預分頻值。讀取GPTMTAPS寄存器可以獲取定期快照模式下的預分頻值。如圖1.2.5所示為GPTMTAR寄存器及其位定義。

   
    圖1.2.5 GPTMTAR寄存器及其位定義。
    當通用定時(shí)器配置為32位模式時(shí),GPTMTBR寄存器的[15:0]位被裝載到GPTMTAR寄存器的高16位。讀取該寄存器發(fā)揮定時(shí)器B的當前值。在16位模式,[15:0] 位包含計數器的值,[23:16]位包含在輸入邊沿計數、邊沿定時(shí)和PWM模式下的預分頻。[31:24]位讀取為0?梢酝ㄟ^(guò)讀取GPTMTBV寄存器中的[23:16]位可以獲取16位單次和周期模式的預分頻值。讀取GPTMTBPS寄存器可以獲取周期快照模式下的預分頻。如圖1.2.6所示為GPTMTBR寄存器及其位定義。

  
    圖1.2.6 GPTMTBR寄存器及其位定義
    當定時(shí)器配置為32位模式時(shí),GPTMTAV作為32位寄存器(高16位對應GPTMTBV寄存器的內容)。在 6位模式,[15:0]位包含計數器的值,[23:16]位包含分頻值。在單次或周期減計數模式,[23:16]位存儲真實(shí)的預分頻值,意味著(zhù)[15:0]位的值之前,先減[23:16]位的值。[31:24]位讀取始終為0。如圖1.2.7所示為GPTMTAV寄存器及其位定義。

   
    圖1.2.7 GPTMTAV寄存器及其位定義
    當通用定時(shí)器配置為32位模式,GPTMTBV寄存器[15:0]位的值被裝載到GPTMTAV寄存器的高16位。讀取該寄存器,則返回定時(shí)器B的當前值。在16位模式,[15:0]位包含計數器的值,[23:16]位包含當前的預分頻值。在單次或周期模式,[23:16]位為真實(shí)的預分頻值,意味著(zhù)在[15:0]位減數之前,[23:16]位先進(jìn)行減數。[31:24]位讀取值為0。如圖1.2.8所示為GPTMTBV寄存器及其位定義。

   
    圖1.2.8 GPTMTBV寄存器及其位定義
    GPTMDMAEV寄存器允許軟件使能和關(guān)閉定時(shí)器DMA觸發(fā)事件。置位則對應的DMA觸發(fā)使能,清零則關(guān)閉。如圖1.2.9所示GPTMDMAEV寄存器,圖1.3.0為其位定義。

   
    圖1.2.9 GPTMDMAEV寄存器


   
    圖1.3.0 GPTMDMAEV寄存器位定義

    1.2 實(shí)驗現象
    本實(shí)驗在官方CC3200SDK_1.2.0中 timer例程代碼的基礎上修改過(guò)來(lái)的,用IAR打開(kāi)Timer_Demo里的工程,編譯下載(參考GPIO小節),從程序可以看到是利用CC3200的定時(shí)器Timer A0和Timer A1去控制GPIO_9和GPIO_11亮滅時(shí)間。如圖1.3.1所示為該工程的main函數。

   
    圖1.3.1 Timer_Demo的main函數
    在main函數中通過(guò)PinMuxConfig()函數初始化了GPIO_9和GPIO_11,通過(guò)Timer_IF_Init()初始化了TimerA0和TimerA1,頻率和系統時(shí)鐘一致(不分頻),在Timer_IF_Start()函數中對TimerA0裝載了500這一參數,TimerA1裝載了1000,實(shí)際上就是TimerA0定時(shí)500ms進(jìn)入中斷函數TimerBaseIntHandler()、TimerA1定時(shí)1000ms進(jìn)入中斷函數TimerRefIntHandler(),進(jìn)入中斷后對IO口輸出狀態(tài)進(jìn)行反轉。
    打開(kāi)UniFlash下載bin文件到板子上(參考GPIO小節),把D5、D7撥碼開(kāi)關(guān)撥到ON(程序中使用的是D5、D7),按下復位鍵,可以看到D5和D7交替閃爍,如圖1.3.2為實(shí)驗現象。

   
    圖1.3.2 Timer_Demo實(shí)驗現象
    使用邏輯分析儀可以看到GPIO_9端為1000ms(1s)的脈寬,如圖1.3.3所示。

   
    圖1.3.3 GPIO_9脈寬
    如圖1.3.4可以看到GPIO_11端的脈寬為500ms(0.5s)。

   
    圖1.3.4 GPIO_11脈寬




如需定制開(kāi)發(fā),請通過(guò)官網(wǎng)“瘋殼”網(wǎng)頁(yè)底部的“聯(lián)系我們”進(jìn)行聯(lián)系

    文件下載請點(diǎn)擊: 【3】定時(shí)器.pdf (3.52 MB)


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页