第27章
GPT——通用PWM定時(shí)器
27.1
PWM簡介
PWM的全稱是脈沖寬度調(diào)制(Pulse Width Modulation),簡稱脈寬調(diào)制,通俗的講就是調(diào)節(jié)脈沖的寬度。其原理是通過將有效的電信號分散成離散形式從而來降低電信號所傳遞的平均功率,根據(jù)面積等效法則,可以通過對改變脈沖的時(shí)間寬度,來等效地獲得所需要合成的相應(yīng)幅值和頻率的波形。PWM 有著非常廣泛的應(yīng)用,比如直流電機(jī)控制、開關(guān)電源、逆變器等等。
PWM波形的基本信息如下圖所示。
點(diǎn)擊可查看大圖
脈沖周期(T):單位是時(shí)間,如納秒(ns)、微秒(us)、毫秒(ms)等。
脈沖頻率(f):單位是赫茲(Hz)、千赫茲(KHz)等。頻率與脈沖周期成倒數(shù)關(guān)系,f=1/T。
脈沖寬度(W):簡稱“脈寬”,一般指脈沖中高電平持續(xù)的時(shí)間。單位是時(shí)間。
占空比(D):脈寬除以脈沖周期的值。
以上各信息之間的關(guān)系滿足下列公式:

點(diǎn)擊可查看大圖
27.2
GPT簡介
通用PWM定時(shí)器(GPT,General PWM Timer)是瑞薩RA MCU的其中一種32/16位的定時(shí)器外設(shè)。在GPT當(dāng)中,可分為GPT32和GPT16,它們最主要的區(qū)別是計(jì)數(shù)器的不同。GPT32是32位的定時(shí)器,包含的計(jì)數(shù)器是32位的,所能計(jì)數(shù)的范圍為:0~0xFFFF_FFFF;而GPT16是16位的定時(shí)器,包含的計(jì)數(shù)器是16位的,所能計(jì)數(shù)的范圍為:0~0xFFFF。
定時(shí)器(Timer)最基本的功能就是定時(shí),比如定時(shí)發(fā)送串口數(shù)據(jù)、定時(shí)采集AD數(shù)據(jù)、定時(shí)觸發(fā)中斷處理其它事務(wù)等等。如果把定時(shí)器與GPIO引腳結(jié)合起來使用的話可以實(shí)現(xiàn)更加豐富的功能,可以對輸入信號進(jìn)行計(jì)數(shù),可以測量輸入信號的脈沖寬度,可以輸出單個(gè)脈沖、PWM等波形,等等。通過定時(shí)器生成PWM波形信號來控制電機(jī)狀態(tài)是工業(yè)控制的普遍方法。
GPT模塊可用于計(jì)數(shù)事件、測量外部輸入信號、作為通用計(jì)時(shí)器并產(chǎn)生周期性中斷、以及輸出周期性或PWM信號到GTIOC引腳。GPT也可用于輸出單個(gè)脈沖,但是注意這是通過軟件來實(shí)現(xiàn)的,GPT硬件本身不支持輸出單個(gè)脈沖(One-Shot)功能。當(dāng)使用單個(gè)脈沖(One-Shot)模式時(shí),必須要開啟中斷,計(jì)時(shí)器需要在脈沖周期結(jié)束后在ISR中斷服務(wù)函數(shù)中被停止。
瑞薩RA MCU的不同型號之間可能擁有不同數(shù)量的GPT定時(shí)器,例如:
野火啟明6M5開發(fā)板板載的RA6M5芯片擁有共10個(gè)GPT定時(shí)器(即10個(gè)通道),其中包括4個(gè)32位GPT定時(shí)器(GPT32n (n=0~3))和6個(gè)16位GPT定時(shí)器(GPT16m (m=4~9))。
野火啟明4M2開發(fā)板板載的RA4M2芯片擁有共8個(gè)GPT定時(shí)器(即8個(gè)通道),其中包括4個(gè)32位GPT定時(shí)器(GPT32n (n=0~3))和4個(gè)16位GPT定時(shí)器(GPT16m (m=4~7))。
野火啟明2L1開發(fā)板板載的RA2L1芯片擁有共10個(gè)GPT定時(shí)器(即10個(gè)通道),其中包括4個(gè)32位GPT定時(shí)器(GPT32n (n=0~3))和6個(gè)16位GPT定時(shí)器(GPT16m (m=4~9))。
RA6M5/RA2L1的GPT定時(shí)器通道與模塊名如下圖所示:

點(diǎn)擊可查看大圖
RA4M2的GPT定時(shí)器通道與模塊名如下圖所示:

點(diǎn)擊可查看大圖
以 RA6M5 為例,GPT 定時(shí)器的詳細(xì)功能參數(shù)如下表所示:
GPT 定時(shí)器的功能參數(shù)| 參數(shù) | 描述 |
|---|---|
| 功能 |
每個(gè)計(jì)數(shù)器的遞增計(jì)數(shù)或遞減計(jì)數(shù)(鋸齒波)或遞增遞減計(jì)數(shù)(三角波) 每個(gè)通道可獨(dú)立選擇時(shí)鐘源 每個(gè)通道兩個(gè)輸入/輸出引腳 每個(gè)通道兩個(gè)輸出比較/輸入捕獲寄存器 每個(gè)通道的兩個(gè)輸出比較/輸入捕獲寄存器,提供四個(gè)寄存器作為緩沖寄存器,在不使用緩沖時(shí)可以作為比較寄存器工作 在輸出比較操作中,緩沖器切換可以處于波峰或波谷,從而能夠生成橫向不對稱的PWM波形 用于在每個(gè)通道中設(shè)置幀周期的寄存器,能夠在上溢或下溢時(shí)產(chǎn)生中斷 在 PWM 操作中產(chǎn)生死區(qū)時(shí)間 任意通道同步啟動、停止和清除計(jì)數(shù)器 響應(yīng)最多8個(gè)ELC事件的計(jì)數(shù)開始、計(jì)數(shù)停止、計(jì)數(shù)清除、遞增計(jì)數(shù)、遞減計(jì)數(shù)或輸入捕獲操作 根據(jù)兩個(gè)輸入引腳的狀態(tài)進(jìn)行計(jì)數(shù)開始、計(jì)數(shù)停止、計(jì)數(shù)清除、遞增計(jì)數(shù)、遞減計(jì)數(shù)或輸入捕捉操作 可響應(yīng)最多4個(gè)外部觸發(fā)器以進(jìn)行計(jì)數(shù)開始、計(jì)數(shù)停止、計(jì)數(shù)清除、遞增計(jì)數(shù)、遞減計(jì)數(shù)或輸入捕捉操作 通過檢測輸出引腳之間的短路,從而禁用輸出引腳的功能 可以產(chǎn)生控制無刷直流電機(jī)的 PWM 波形 比較匹配 A 到 F 事件、上溢下溢事件和輸入 UVW 邊緣事件可以輸出到 ELC 可為輸入捕獲和輸入 UVW 啟用噪聲濾波器 周期計(jì)數(shù)功能 通道輸出之間的邏輯運(yùn)算 總線時(shí)鐘:PCLKA,核心時(shí)鐘:PCLKD 頻率比:PCLKA:PCLKD = 1:N(N = 1/2/4/8/16/32/64) |
| 計(jì)數(shù)時(shí)鐘源 |
PCLKD/n(n = 1/2/4/8/16/32/64/256/1024) GTETRGn(n = A, B, C, D) |
| 中斷源(9個(gè)源) |
GTCCRA 比較匹配/輸入捕獲(GPTn_CCMPA) GTCCRB 比較匹配/輸入捕獲(GPTn_CCMPB) GTCCRC 比較匹配(GPTn_CMPC) GTCCRD 比較匹配(GPTn_CMPD) GTCCRE 比較匹配(GPTn_CMPE) GTCCRF 比較匹配(GPTn_CMPF) GTCNT 上溢(GPTn_OVF) GTCNT 下溢(GPTn_UDF) GTPC 計(jì)數(shù)停止(GPTx_PC,x = 0,1,4-6) |
以RA6M5為例,GPT的I/O引腳及其功能用途如下表所示:

點(diǎn)擊可查看大圖
27.3
GPT的框圖分析
如下圖所示,為RA6M5芯片GPT外設(shè)模塊的結(jié)構(gòu)框圖:

點(diǎn)擊可查看大圖
27.3.1
計(jì)數(shù)器
見圖中標(biāo)注①處。
GTCNT是GPT定時(shí)器模塊內(nèi)部的計(jì)數(shù)器,實(shí)際上,計(jì)數(shù)器是實(shí)現(xiàn)定時(shí)器外設(shè)的各種功能的基礎(chǔ)。因此,了解計(jì)數(shù)器的規(guī)格和功能非常重要。
對于RA6M5,共有10個(gè)GPT定時(shí)器(GPT0~9),而GPT又分為GPT32和GPT16。GPT32有4個(gè)(GPT0~3),計(jì)數(shù)器為32bit,在上圖中用GPT320~GPT323來表示;而GPT16有6個(gè)(GPT4~9),計(jì)數(shù)器為16bit,在上圖中用GPT164~GPT169來表示。
GPT的計(jì)數(shù)器支持遞增計(jì)數(shù),遞減計(jì)數(shù)和遞增/遞減計(jì)數(shù)(即遞增與遞減計(jì)數(shù)輪流進(jìn)行)。
27.3.2
時(shí)鐘輸入
見圖中標(biāo)注②處。
GPT定時(shí)器的時(shí)鐘輸入可以選擇內(nèi)部的PCLKD分頻后輸入或者選擇通過GTETRGn引腳輸入外部時(shí)鐘。這兩類中只能選擇一個(gè),若選擇外部時(shí)鐘輸入則定時(shí)器不能對內(nèi)部時(shí)鐘輸入進(jìn)行計(jì)數(shù)。
PCLKD/n(n=1/2/4/8/16/32/64/256/1024)
GTETRGA,GTETRGB,GTETRGC, GTETRGD(通過POEG)
注
PCLKD/1表示的是不分頻。
27.3.3
周期設(shè)置和周期設(shè)置緩沖寄存器
見圖中標(biāo)注③處。
GTPR周期設(shè)置寄存器是一個(gè)可讀寫的寄存器,用戶可通過該寄存器設(shè)置計(jì)數(shù)器GTCNT的最大計(jì)數(shù)值,計(jì)數(shù)超過該值就會溢出,因此該值決定了計(jì)數(shù)器的計(jì)數(shù)周期。GTPR的有效大小與GTCNT(16位或32 位)相同。如果GTPR的有效大小為16位,則用戶讀取其高16位始終為0,并且其高16位的寫入作會被忽略。
GTPBR周期設(shè)置緩沖寄存器同樣也是一個(gè)可讀寫的寄存器,用作GTPR的緩沖寄存器,GPT計(jì)數(shù)器每計(jì)數(shù)溢出一次,就會將GTPBR的值寫入GTPR。GTPBR的有效大小也與GTCNT(16位或32位)相同。如果GTPBR的有效大小為16位,則用戶讀取其高16位始終為0,并且其高16位的寫入作會被忽略。
27.3.4
控制寄存器
見圖中標(biāo)注④處。
這部分的寄存器較多、也較復(fù)雜,它們都屬于用于控制定時(shí)器功能的寄存器。
27.3.5
比較器和比較/輸入捕獲寄存器
見圖中標(biāo)注⑤處。
這部分包含一個(gè)比較器和6個(gè)GTCCRx寄存器(x= A,B,C,D,E,F(xiàn))。這6個(gè)GTCCRx寄存器的功能并不完全相同:
GTCCRA和GTCCRB是用于輸出比較和輸入捕捉的寄存器。
GTCCRC和GTCCRE可用作比較匹配寄存器,也可以分別作為GTCCRA和GTCCRB 的緩沖寄存器(構(gòu)成GTCCRA和GTCCRB 的單緩沖寄存器)。
GTCCRD和GTCCRF可用作比較匹配寄存器,也可以分別作為GTCCRC和GTCCRE 的緩沖寄存器(構(gòu)成GTCCRA和GTCCRB 的雙緩沖寄存器:即GTCCRC和GTCCRD 作為GTCCRA的雙緩沖,GTCCRE和GTCCRF作為GTCCRB的雙緩沖)。
比如,在普通的PWM輸出模式下,比較器將計(jì)數(shù)器GTCNT與GTCCRA和GTCCRB進(jìn)行比較,若匹配(比較結(jié)果相等),則根據(jù)GTIOR(General PWM Timer I/O Control Register)寄存器的GTIOA[4:0] 和GTIOB[4:0]的配置來切換GTIOCA和GTIOCB的輸出電平??梢詫TIOCA和GTIOCB切換為低電平、高電平、或者反轉(zhuǎn)電平。
27.3.6
中斷請求信號
見圖中標(biāo)注⑥處。
圖中顯示的是GPT0的中斷請求信號,中斷請求信號用于產(chǎn)生中斷、或者通過ELC鏈接到其他模塊。
GPT提供以下中斷源:
GTCCR輸入捕捉/比較匹配
GTCNT計(jì)數(shù)器上溢(超出GTPR設(shè)置的值)/下溢
周期計(jì)數(shù)功能完成
每個(gè)中斷源都有自己的狀態(tài)標(biāo)志。當(dāng)一個(gè)中斷源信號產(chǎn)生時(shí),相關(guān)的狀態(tài)標(biāo)志會被硬件自動設(shè)置為1。狀態(tài)標(biāo)志可以通過寫入0來清除。需要注意的是,如果標(biāo)志設(shè)置和標(biāo)志清除同時(shí)發(fā)生,標(biāo)志清除優(yōu)先于標(biāo)志設(shè)置。
27.3.7
IO輸入輸出引腳
見圖中標(biāo)注⑦處。
GTIOCnA和GTIOCnB是GPT的IO輸入輸出引腳,用于信號輸出和輸入捕獲。它們還配備了噪聲濾波器(Noise Filter),噪聲濾波器以采樣時(shí)鐘對輸入信號進(jìn)行采樣,并去除長度小于3個(gè)采樣周期的脈沖。用戶可設(shè)置是否啟用噪聲濾波器。
噪聲濾波器功能的時(shí)序圖如下所示:

27.3.8
ELC事件輸入
見圖中標(biāo)注⑧處。
GPT可以執(zhí)行以下操作以響應(yīng)最多8個(gè)來自ELC的事件信號輸入:
開始計(jì)數(shù),停止計(jì)數(shù),清除計(jì)數(shù)
遞增計(jì)數(shù),遞減計(jì)數(shù)
進(jìn)行一次輸入捕獲
27.3.9
輸出相位切換
見圖中標(biāo)注⑨處。
輸出相位切換(GPT_OPS)功能通過輸出相位切換控制寄存器(OPSCR)進(jìn)行控制,用于實(shí)現(xiàn)輕松控制無刷直流電機(jī)運(yùn)行的功能。圖中的三相PWM波形生成器接收來自比較器的GPT320.GTIOC0A的PWM 信號輸入后,輸出三相PWM用于驅(qū)動直流無刷電機(jī)。
注:
GPT_OPS功能在RA6M5中只有一個(gè),并不是每個(gè)GPT定時(shí)器都對應(yīng)有一個(gè),也就是說通過該功能只能輕松控制一個(gè)直流無刷電機(jī)。
未完待續(xù)
-
PWM
+關(guān)注
關(guān)注
116文章
5890瀏覽量
226495 -
瑞薩
+關(guān)注
關(guān)注
38文章
22516瀏覽量
91164 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3372瀏覽量
124446 -
GPT
+關(guān)注
關(guān)注
0文章
371瀏覽量
16956
原文標(biāo)題:GPT:通用PWM定時(shí)器——瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南(97)
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之I2C讀寫EEPROM實(shí)驗(yàn)
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之ADC簡介和結(jié)構(gòu)框圖
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之DAC簡介和結(jié)構(gòu)框圖
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之使用GPT基本定時(shí)功能實(shí)驗(yàn)
瑞薩e2studio(1)----瑞薩芯片之搭建FSP環(huán)境
【瑞薩RA6E2地奇星開發(fā)板試用】開發(fā)板介紹及環(huán)境搭建
【瑞薩RA4系列開發(fā)板體驗(yàn)】開發(fā)環(huán)境搭建和新手點(diǎn)燈指南
【瑞薩RA4系列開發(fā)板體驗(yàn)】4. PWM驅(qū)動LED
【瑞薩RA4系列開發(fā)板體驗(yàn)】體驗(yàn)過程
【有獎直播預(yù)報(bào)名】瑞薩電子RA系列產(chǎn)品開發(fā)工具之FSP4.0.0新特性介紹
【視頻教程】瑞薩RA單片機(jī)FSP開發(fā)(3)FSP架構(gòu)-解釋Blinky架構(gòu)[上]
瑞薩電子RA系列微控制器的可擴(kuò)展性強(qiáng)的配置軟件包 (FSP)安裝下載與使用指南
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之SPI通訊協(xié)議的結(jié)構(gòu)和功能
瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南之GPT簡介和結(jié)構(gòu)框圖
評論