在項(xiàng)目調(diào)試過程中,需要監(jiān)控變量通常采用ICS(In Circuit Scope)和DA兩種方法。使用ICS會(huì)占用MCU的資源(UART)以及增加硬件的成本(ICS硬件板);如果MCU的DA引腳已被其他功能占用,當(dāng)這兩種方法都不是很好的選擇的情況下,我們也可以考慮使用GPT來監(jiān)控變量。這里給大家介紹一下如何使用GPT監(jiān)控變量。
一、原理說明
用GPT來模擬DA的功能,例如需要監(jiān)控一個(gè)變量t1,我們把t1通過線性計(jì)算變換為0~1023之間的值,假設(shè)MCU電源為3.3V,當(dāng)t1為0時(shí)輸出0V,當(dāng)t1為1023時(shí)輸出3.3V,其他值成線性關(guān)系。
二、硬件電路
將需要監(jiān)控變量的GPT輸出引腳(GPT)連接如下RC電路,T1為測試點(diǎn),如下圖所示。
硬件電路
三、軟件配置
以下介紹如何在項(xiàng)目中配置GPT來實(shí)現(xiàn)該功能。這里以創(chuàng)建新工程為例,也可以把以下GPT的配置直接加入到已有工程中(從步驟7開始)。
1運(yùn)行e2 studio,選擇“文件”→“新建”→“C/C++ Project”,如圖1。
圖1 創(chuàng)建新項(xiàng)目步驟一
e2 studio(瑞薩IDE)
2選擇“Renesas RX”和“Renesas CC-RX C/C++ Executable Project”,點(diǎn)擊“下一步”,如圖2。
圖2 創(chuàng)建新項(xiàng)目步驟二
3設(shè)置項(xiàng)目目錄,輸入項(xiàng)目名稱,點(diǎn)擊“下一步”,如圖3。
圖3 創(chuàng)建新項(xiàng)目步驟三
4選擇Toolchain版本,選擇MCU型號、“Endian”和仿真器,點(diǎn)擊“下一步”,如圖4。
圖4 創(chuàng)建新項(xiàng)目步驟四
5勾選“Use Smart Configurator”,點(diǎn)擊“完成”,如圖5。
圖5 創(chuàng)建新項(xiàng)目步驟五
6創(chuàng)建完成的程序結(jié)構(gòu)如圖6。
圖6 程序結(jié)構(gòu)圖
7點(diǎn)擊“Components” → “Add component”,選擇“General PWM Timer”,Work mode選擇“Saw-wave PWM mode 1”,Resource選擇“GPT0”(這里以GPT0為例,也可以選擇其他GPT),如圖7。
圖7 添加GPT0
8配置GPT0,如圖8~11。
“Timer operation period” 設(shè)為1024 count,如圖8;
“Count direction” 設(shè)為 “Up-counting”,如圖8;
“GTCCRA operation” 的Compare match后的值可以設(shè)為0~1023的任意值,這里設(shè)為“512”,如圖9;
“GTCIV0”的優(yōu)先級可以根據(jù)項(xiàng)目工程自定,這里設(shè)為“15”,如圖11。
圖8 配置GPT0(1)
圖9 配置GPT0(2)
圖10 配置GPT0(3)
圖11 配置GPT0(4)
9因?yàn)樯厦媸褂昧恕癎TCIV0”中斷,點(diǎn)擊“Interrupts”,把252改成“GTCIV0”后其狀態(tài)會(huì)變更為“Used”,如圖12。
圖12 設(shè)置中斷
10點(diǎn)擊“Generate code”后將會(huì)生成GPT0的代碼,如圖13。
圖13 生成GPT0的代碼
11在main( )中添加如下代碼啟動(dòng)GPT0,如圖14。
圖14 添加GPT0啟動(dòng)代碼
12在GTCIV0中斷中將監(jiān)控變量的值設(shè)置到比較匹配寄存器GTCCRA中,如圖15。
圖15 設(shè)置GTCCRA
13以下為假設(shè)監(jiān)控變量的值(即GTCCRA的值)分別為256、512、768時(shí)輸出的波形,如圖16、17、18。
舉例說明如何算出監(jiān)控變量的值:從圖16中我們可以看出輸出電壓為0.83V,從0.83V*1023/3.3V = 257.3反推出監(jiān)控變量的值為257.3(因?yàn)?a href="http://www.wenjunhu.com/v/tag/577/" target="_blank">示波器測量電壓有誤差,所以反推出的值有誤差)。
圖16 GTCCRA = 256
圖17 GTCCRA = 512
圖18 GTCCRA = 768
從圖16、17、18的波形可以看出來,輸出電壓會(huì)根據(jù)GTCCRA值的變化而變化,從而我們可以反推出監(jiān)控變量的實(shí)時(shí)值。
通過以上硬件電路和軟件配置,我們就實(shí)現(xiàn)了用GPT的比較匹配功能來達(dá)到監(jiān)控變量的目的。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17194瀏覽量
351864 -
瑞薩
+關(guān)注
關(guān)注
35文章
22309瀏覽量
86494 -
引腳
+關(guān)注
關(guān)注
16文章
1206瀏覽量
50711 -
硬件電路
+關(guān)注
關(guān)注
39文章
244瀏覽量
29261 -
GPT
+關(guān)注
關(guān)注
0文章
354瀏覽量
15445
原文標(biāo)題:如何使用GPT監(jiān)控變量
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論