
書接上文:

基于瑞薩RL78 Smart Configurator的LED雙頻調(diào)光控制(上)
在Configure窗口中,在下拉列表里選擇ms,并將Cycle value設(shè)置為1000,此時可以看到“1000”為紅色,這是因?yàn)闀r鐘頻率過高,導(dǎo)致此時設(shè)定的周期超出范圍,需要調(diào)低時鐘頻率(見14);因?yàn)椴皇褂枚〞r計(jì)數(shù)結(jié)束中斷,所以取消勾選Interrupt設(shè)置;在PWM slave select setting選項(xiàng)中,選擇Channel 1 slave和Channel 2 slave。

點(diǎn)擊可查看大圖
將Clock source從fCLK修改為fCLK/2^9

點(diǎn)擊可查看大圖
對于Channel 1 slave:將PWM duty設(shè)為20%,將Initial output value設(shè)為0,并將Output level設(shè)為Active-high;取消勾選Interrupt設(shè)置。

點(diǎn)擊可查看大圖
對于Channel 2 slave:將PWM duty設(shè)置為70%,將Initial output value設(shè)置為0,并將Output level設(shè)置為Active-high,同樣取消勾選Interrupt設(shè)置。

點(diǎn)擊可查看大圖
接下來再添加一個TAU模塊,打開Timer Array Unit,然后雙擊TAU04。

點(diǎn)擊可查看大圖
打開Software Component Selection窗口。選擇PWM output,然后點(diǎn)擊Next。

點(diǎn)擊可查看大圖
在Resource下拉列表中選擇TAU0_4,然后點(diǎn)擊Finish,此步的目標(biāo)是創(chuàng)建一個占空比為50%的PWM輸出,用作LED驅(qū)動信號。

點(diǎn)擊可查看大圖
在Configure窗口中,在下拉菜單中選擇μs,并將Cycle value設(shè)置為2。不要勾選Interrupt,在PWM slave select setting選項(xiàng)中,應(yīng)選擇Channel 5 slave。

點(diǎn)擊可查看大圖
對于Channel 5 slave:將PWM duty設(shè)置為50%,將Initial output value設(shè)置為0,并將Output level設(shè)置為Active-high,取消勾選Interrupt設(shè)置。

點(diǎn)擊可查看大圖

安裝ELCL模塊:
(1)打開Smart Configurator。
(2)點(diǎn)擊 Components選項(xiàng)卡,然后點(diǎn)擊Add component。

點(diǎn)擊可查看大圖
(3)在New Component窗口點(diǎn)擊Download ELCL modules。

點(diǎn)擊可查看大圖
(4)選擇ELCL AND并下載,同時下載通用設(shè)置文件RL78/G23 Common ELCL Module。

點(diǎn)擊可查看大圖

添加一個ELCL模塊,雙擊Logic and Event Link Controller。

在Software Component Selection窗口中選擇ELCL AND,然后點(diǎn)擊Finish。

點(diǎn)擊可查看大圖
在Common setting選項(xiàng)中,勾選L1L0和L2L0。

點(diǎn)擊可查看大圖
對于L1L0:將TAU0 Channel1 Output設(shè)置為 ELISEL_0,將TAU0 Channel5 Output設(shè)置為 ELISEL_1。Application選擇NAND。在Output signal selector中選擇P10。

對于L2L0:將TAU0 Channel2 Output設(shè)置為ELISEL_4,將TAU0 Channel5 Output設(shè)置為ELISEL_5。Application選擇NAND,在Output signal selector中選擇P11。

點(diǎn)擊可查看大圖
這一步使用了ELCL模塊中NAND應(yīng)用的輸入/輸出功能。在完成上述所有設(shè)置后,窗口中出現(xiàn)紅色錯誤提示。這是因?yàn)樵贓LCL設(shè)置中,兩個模塊選擇了相同的通道作為輸入信號。只要理解相關(guān)規(guī)格,某些內(nèi)容(單一功能)與信號是可以同時使用的。在本工程中,即使存在該錯誤提示,也不會影響代碼生成。
在配置窗口右上角,點(diǎn)擊Generate Code圖標(biāo)來生成項(xiàng)目代碼。

點(diǎn)擊可查看大圖
展開項(xiàng)目的文件夾,并確認(rèn)已生成Config_AND、Config_TAU0_0和Config_TAU0_4文件夾,以及相應(yīng)的Code Generator代碼。

點(diǎn)擊可查看大圖
根據(jù)RL78/G23-64p FPB原理圖可知,P53控制LED1,P52控制LED2。但是在ELCL的規(guī)格中,P52和P53不能被選作輸出信號。因此,需要手動將P10與P52(LED2)相連,并將P11與P53(LED1)相連。

點(diǎn)擊可查看大圖
如下面所示,在RL78/G23-64p FPB上使用杜邦線將P10與P52相連、將P11與P53相連。

點(diǎn)擊可查看大圖
在MCU/MPU Package(封裝)視圖中,可以看到已分配的引腳,如下圖所示:

點(diǎn)擊可查看大圖
最后,切換到Pins選項(xiàng)卡。注意其中關(guān)于TAU和ELCL AND引腳分配的信息。這些信息可以通過多種不同方式查看(按字母順序、按組件、其他方式等)。

例如下方所示的Pins視圖

點(diǎn)擊可查看大圖

點(diǎn)擊可查看大圖

點(diǎn)擊可查看大圖

點(diǎn)擊可查看大圖

點(diǎn)擊可查看大圖


添加工程代碼

在Project Explorer窗口中打開文件夾smc_gen->Config_AND。
在編輯器中打開Config_AND.c文件。
在Config_AND.c文件中,復(fù)制函數(shù)R_Config_AND_Start。
在RL78G23_SC_Sample.c中,將其粘貼到main函數(shù)里,并放在EI()語句之后。
在Project Explorer窗口中,打開文件夾 smc_gen->Config_TAU0_0。
在Project Explorer窗口中,打開Developer Assistance,將需要的函數(shù)拉到代碼中。

點(diǎn)擊可查看大圖
將R_Config_TAU0_0_start()函數(shù)拖到main()下。

點(diǎn)擊可查看大圖
將R_Config_TAU0_4_start()函數(shù)拖到main()下。

點(diǎn)擊可查看大圖
最后,在main()末尾加入一個簡單的while (1)循環(huán)。

點(diǎn)擊可查看大圖
編譯、運(yùn)行工程。

可以看到LED1和LED2在閃爍
(1)LED1和LED2同時點(diǎn)亮;
(2)200ms后,LED2熄滅;
(3)700ms后,LED1熄滅;
(4)回到(1)。
重復(fù)周期為1秒。
如果使用示波器或邏輯分析儀,可以觀察P10和P11的如下波形:

點(diǎn)擊可查看大圖


總結(jié)

本文基于RL78單片機(jī)與Smart Configurator,介紹了一種雙頻PWM的LED調(diào)光方案,充分利用了RL78 MCU內(nèi)部豐富的定時器與可配置邏輯資源,并結(jié)合Smart Configurator圖形化開發(fā)工具完成外設(shè)初始化與配置。通過TAU生成高、低兩種頻率PWM,并結(jié)合ELCL硬件NAND邏輯實(shí)現(xiàn)信號組合,同時引入LVD模塊提升系統(tǒng)供電可靠性,在無需CPU持續(xù)參與的情況下,實(shí)現(xiàn)了LED的調(diào)光控制。實(shí)驗(yàn)結(jié)果表明,LED能夠按照設(shè)定邏輯實(shí)現(xiàn)穩(wěn)定的閃爍效果。
如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,可識別下方二維碼或復(fù)制網(wǎng)址到瀏覽器中打開,進(jìn)入瑞薩MCU/MPU官方技術(shù)論壇尋找答案或獲取在線技術(shù)支持。
https://bbs.21ic.com/renesas
1
END
1
推薦閱讀
名單揭曉|瑞薩RA6M4+傳感器專題挑戰(zhàn)賽
瑞薩低成本和低功耗觸摸系統(tǒng)選型指南
瑞薩嵌入式AI技術(shù)漫談· 瑞薩AFCI邊緣部署實(shí)戰(zhàn)與完整解決方案全景

