国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2017|回復(fù): 0
打印 上一主題 下一主題

【開(kāi)發(fā)教程8】瘋殼·AI語(yǔ)音人臉識(shí)別-PWM

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-25 17:32:13 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
CC3200AI實(shí)驗(yàn)教程
——瘋殼·開(kāi)發(fā)板系列




    PWM(Pulse Width Modulation)即脈沖寬度調(diào)制。PWM運(yùn)用非常的廣泛,大到航天飛船,小到便攜式USB風(fēng)扇都可以見(jiàn)到PWM的身影。
    許多MCU的定時(shí)器均帶有PWM模式,CC3200也不例外。
    1.1寄存器
    CC3200通用定時(shí)器支持PWM模式。在PWM模式下,定時(shí)器被配置為一個(gè)24位的減計(jì)數(shù)器,初始值在GPTMTnILR和GPTMTnPR寄存器中進(jìn)行定義。在該模式中,PWM頻率和周期是同步事件,這樣可以消除毛刺。PWM模式可以通過(guò)向寄存器 GPTMTnMR中的TnAMS位寫(xiě)入0x01,TnCMR位寫(xiě)入0x00,TnMR位寫(xiě)入0x02。當(dāng)定時(shí)器使能時(shí),裝載到定時(shí)器寄存器中的值如表1.0.1所示。
    表1.0.1 裝載到定時(shí)器的值

   
    表1
    當(dāng)通過(guò)軟件寫(xiě)GPTMCTL寄存器中的TnEN位時(shí),計(jì)數(shù)器開(kāi)始進(jìn)行減計(jì)數(shù)直到0。在周期模式中的下一個(gè)計(jì)數(shù)循環(huán),計(jì)數(shù)器從GPTMTnILR和GPTMTnPR寄存器中裝載初始值,并重新開(kāi)始計(jì)數(shù)直到通過(guò)軟件清除GPTMCTL寄存器中的TnEN位進(jìn)行關(guān)閉。該定時(shí)器可以通過(guò)上升沿、下降沿和邊沿觸發(fā)這3種類(lèi)型的事件來(lái)產(chǎn)生中斷。事件類(lèi)型通過(guò)GPTMCTL寄存器中的TnEVENT位來(lái)進(jìn)行配置。中斷通過(guò)
    GPTMTnMR寄存器中的TnPEMIE位來(lái)進(jìn)行使能。當(dāng)事件發(fā)生時(shí),GPTMRIS寄存器中的CnERIS位被置位。并且一直保持到通過(guò)GPTMICR寄存器來(lái)進(jìn)行清除。如果捕捉模式事件中斷通過(guò)GPTMIMR寄存器進(jìn)行使能,則通用定時(shí)器也要置位GPTMMIS寄存器中的CnEMIS位。需要注意的是中斷狀態(tài)只有在TnPWMIE被置位時(shí)才會(huì)更新。
    另外,通過(guò)置位GPTMCTL寄存器中的TnOTE位和GPTMDMAEV寄存器中的
    CnEDMAEN位使能DMA觸發(fā)模式,則當(dāng)TnPWMIE被置位并且發(fā)生捕捉時(shí)間時(shí), 定時(shí)器自動(dòng)產(chǎn)生DMA的觸發(fā)事件。
    在PWM模式中,GPTMTnR和GPTMTnV寄存器始終保持相同的值。
    當(dāng)計(jì)數(shù)器的值等于GPTMTnILR和GPTMTnPR寄存器的值時(shí),輸出PWM信號(hào), 當(dāng)計(jì)數(shù)器的值等于GPTMTnMATCHR和GPTMTnPMR寄存器的值時(shí),信號(hào)進(jìn)行翻轉(zhuǎn)。可以通過(guò)軟件設(shè)置GPTMCTL寄存器中的TnPWML位,來(lái)對(duì)PWM信號(hào)的電平進(jìn)行翻轉(zhuǎn)。這里要注意的是如果PWM輸出翻轉(zhuǎn)使能了,那么邊沿檢測(cè)的行為就會(huì)相反,本來(lái)上升沿有效的,現(xiàn)在就變成了下降沿有效。
    如圖1.0.1就是一個(gè)產(chǎn)生PWM信號(hào)的例子。

  
    圖1.0.1 產(chǎn)生PWM信號(hào)的例子
    圖1
    GPTMCFG寄存器配置通用定時(shí)器模塊的全局操作。確定通用定時(shí)器工作于32位模式還是16位模式。該寄存器中的值只能是在GPTMCTL寄存器中的TAEN和TBEN 兩位被清零時(shí)改變。如圖1.0.2所示為該寄存器及其位定義。


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

   
    圖1.0.3 GPTMTAMR寄存器
    圖3


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

   
    圖1.0.5 GPTMTBMR寄存器
    圖5

   
    圖1.0.6 GPTMTBMR寄存器位定義
    圖6

    GPTMCTL寄存器為定時(shí)器的控制寄存器,如圖1.0.7為GPTMCTL寄存器,如圖1.0.8為其位定義。

   
    圖1.0.7 GPTMCTL寄存器
    圖7

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

   
    圖1.0.9 GPTMIMR寄存器
    圖9

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

   
    圖1.1.1 GPTMRIS寄存器
    圖11

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

  
    圖1.1.3 GPTMMIS寄存器
    圖13

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

   
    圖1.1.5 GPTMICR寄存器
    圖15

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

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

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

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

   
    圖1.2.0 GPTMTBMATCHR寄存器及其位定義
    圖20
    GPTMTAPR寄存器通過(guò)軟件來(lái)擴(kuò)展獨(dú)立定時(shí)器的范圍。在單次或者周期減計(jì)數(shù)模式下該寄存器作為定時(shí)計(jì)數(shù)器的預(yù)分頻器。如圖1.2.1所示為GPTMTAPR寄存器及其位定義。

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

   
    圖1.2.2 GPTMTBPR寄存器及其位定義
    圖22
    GPTMTAPMR寄存器擴(kuò)展獨(dú)立定時(shí)器GPTMTAMATCHR的范圍。當(dāng)寄存器工作于16位模式時(shí),該寄存器表示[23:16]位。如圖1.2.3所示為GPTMTAPMR寄存器及其位定義。

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

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

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

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

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

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

   
    圖1.2.9 GPTMDMAEV寄存器
    圖29

   
    圖1.3.0 GPTMDMAEV寄存器位定義
    圖30
    1.2 實(shí)驗(yàn)現(xiàn)象
    打開(kāi)Pwm_Demo,在該次工程中主要是實(shí)現(xiàn)板子上三顆LED的“呼吸燈”效果,即要把GPIO_9、GPIO_10、GPIO_11三個(gè)IO口配置為PWM模式,逐次增加或降低該些端口的占空比即可使LED“呼吸”。如圖1.3.1為Pwm_Demo的main函數(shù)。

   
    圖1.3.1 Pwm_Demo的main函數(shù)
    圖31
    首先看到mian函數(shù)中的PinMuxConfig()函數(shù),如圖2.x所示為該函數(shù)的代碼。
    在該代碼中,先使能時(shí)鐘,然后把Pin64(GPIO_9)、Pin01(GPIO_10)、Pin02(GPIO11)分別配置為模式3,即PWM模式。為什么呢?在datasheet中可以里看到,如圖1.3.2所示的端口復(fù)用圖,在該圖中可以看到Pin64(GPIO_9)在模式3下會(huì)被復(fù)用為PWM_05;Pin01(GPIO_10)在模式3下會(huì)被復(fù)用為PWM_06;Pin02(GPIO_11)在模式3下會(huì)被復(fù)用為PWM_07。

   
    圖1.3.2 PinMuxConfig0函數(shù)代碼
    圖32

   
    圖1.3.3 端口復(fù)用圖
    圖33
    配置好PWM輸出引腳后,就該把定時(shí)器與該輸出引腳關(guān)聯(lián)起來(lái),在main函數(shù)中的InitPWMModules()函數(shù)是關(guān)鍵,如圖1.3.4為InitPWMModules()函數(shù)。

   
    圖1.3.4 InitPWMModules()函數(shù)
    圖34
    在該函數(shù)中的SetupTimerPWMMode()把Timer2的Timer B與PWM_5即GPIO_9關(guān)聯(lián)起來(lái);把Timer3的Timer B與PWM_6即GPIO_10關(guān)聯(lián)起來(lái);把Timer3的Timer A與PWM_7即GPIO_11關(guān)聯(lián)起來(lái)。問(wèn)題來(lái)了,為什么這樣就能關(guān)聯(lián)起來(lái)了呢?打開(kāi)CC3200的《Technical Reference Manual》即常說(shuō)的參考手冊(cè),可以看到一個(gè)定時(shí)器與引腳映射圖,如圖1.3.5所示。

   
    圖1.3.5 定時(shí)器與引腳映射圖
    圖35
    在該圖中可以清楚的看到PWM_5正是對(duì)應(yīng)著Timer2的Timer B;PWM_6正是對(duì)應(yīng)著Timer3的Timer A;PWM_7正是對(duì)應(yīng)著Timer3的Timer B。
    回到main函數(shù)中,實(shí)現(xiàn)LED呼吸的部分代碼,如圖1.3.6所示。

   
    圖1.3.6 LED“呼吸”實(shí)現(xiàn)部分代碼
    圖36
    該代碼主要就是不斷地改變輸出端的占空比,從而實(shí)現(xiàn)LED的“呼吸”。編譯代碼,打開(kāi)UniFlash,把Bin文件下載到板子上(參考GPIO小節(jié))。把撥碼開(kāi)關(guān)D5、D6、D7撥到“ON”,按下復(fù)位,可以看到如圖1.3.7所示的LED“呼吸”效果。

   
    圖1.3.7 LED“呼吸”效果
    圖37



文件下載請(qǐng)點(diǎn)擊: 【6】PWM.pdf (3.73 MB)

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本精品一区二区三区在线观看 | 99玖玖爱视频在线观看 | 一级待一黄aaa大片在线还看 | 国产午夜人做人免费视频中文 | 亚洲欧美高清视频 | 三级福利视频 | 欧美日韩免费播放一区二区 | 麻豆成人久久精品二区三 | 四虎永久免费最新在线 | 99精品免费视频 | 精品国产日韩亚洲一区二区 | 国产精品每日更新在线观看 | 国内激情视频 | 天堂bt在线| 国产三级在线观看视频 | xx在线视频 | 欧美成人高清手机在线视频 | 精品国产一区二区三区香蕉 | 欧美激情视频一区二区 | 麻豆国产视频 | 四虎影院精品在线观看 | 男女拍拍免费视频30分钟 | 欧美高清milf在线播放 | 99re九精品视频在线视频 | 亚洲成人精品久久 | 国产亚洲亚洲精品777 | 成年人在线观看网站 | 老鸭窝综合三区 | 欧美日韩另类视频 | 天天拍夜夜添久久精品中文 | 成人三级视频 | 欧美a∨ | 日本精品一区二区在线播放 | 在线免费亚洲 | 日韩城人免费 | xxxx日本免费高清视频 | 国产日韩精品一区在线观看播放 | 色樱桃影院亚洲精品影院 | 无限看片动漫的视频在线观看免费 | 国产久视频 | va在线播放 |