本篇文章將以RA6E2為例,介紹如何使用瑞薩電子FSP CAN-FD lite的堆棧來設(shè)計和實現(xiàn)基于CAN的簡易系統(tǒng)。最后,使用兩套FPB-RA6E2和CAN收發(fā)器模塊通過CAN實現(xiàn)相互通信,按下一塊板上的按鍵S1會發(fā)送CANFD數(shù)據(jù)。
1安裝和準(zhǔn)備
本節(jié)要點:
本節(jié)學(xué)習(xí)如何搭建應(yīng)用實例以及如何將套件連接至電腦端。
1.1 首先確保已安裝所有實例工具
e2 studio 2023-01及以上版本
FSP 4.3.0及以上版本
GCC ARM Embedded 10.3.1.20210824及以上版本
下載e2 studio 2023-04 + FSP 4.4.0
1.2 本實例將用到如下組件
兩塊FPB-RA6E2,兩塊CANFD收發(fā)器模塊,兩根USB micro-B線,十三根跳線。


CANFD收發(fā)器模塊,由瑞薩AE自制,如果有需要,請聯(lián)絡(luò)瑞薩銷售或者代理。也可使用其他CANFD收發(fā)器模塊。
1.3 使用杜邦線連接FPB板和CANFD收發(fā)器模塊
FPB-RA6E2和CANFD收發(fā)器模塊的連接方式:
FPB-RA6E2的J3:2(P401)與CANFD收發(fā)器模塊的CTX相接(母轉(zhuǎn)母杜邦線)
FPB-RA6E2的J3:3(P402)與CANFD收發(fā)器模塊的CRX相接(母轉(zhuǎn)母杜邦線)
FPB-RA6E2的J2:6(GND)與CANFD收發(fā)器模塊的GND相接(公轉(zhuǎn)母杜邦線)
FPB-RA6E2的J2:4(3.3V)與CANFD收發(fā)器模塊的3V3相接(公轉(zhuǎn)母杜邦線)
FPB-RA6E2的J2:5(5V)與CANFD收發(fā)器模塊的5V相接(公轉(zhuǎn)母杜邦線)
2塊CANFD收發(fā)器模塊的連接方式:
使用3根母轉(zhuǎn)母杜邦線分別連接兩個收發(fā)器模塊上的CANH、CANL和GND。
1.4 連接示意



1.5 使用Micro USB連接FPB-RA6E2,Micro USB一端接PC,另一端接FPB-RA6E2的J8。驗證如下現(xiàn)象:
Debug USB端口(J8)附近的綠色LED(POWER)是否亮起且不閃爍。
板子右上角的橙色LED(LED6)是否亮起。

2CANFD:創(chuàng)建FPB-RA6E2 Blinky工程
本節(jié)要點:
本節(jié)學(xué)習(xí)項目開發(fā),熟悉e2 studio和FSP,創(chuàng)建簡單的Blinky工程,驗證FPB-RA6E2可以正常運行。
2.1 運行e2 studio,并打開workspace執(zhí)行如下步驟:
在菜單中選擇“New”。
下拉菜單中選擇“Renesas RA”。

2.2 輸入fpb_ra6e2_canfd_lab,您也可以自定義名稱。(但是不可以有中文、特殊字符)

2.3 選擇FPB-RA6E2,確保您使用的是FSP 4.3.0及以上,確保GCC版本為10.3.1.20210824:

2.4 下一頁面選擇默認(rèn)選項。
●工程類型:Flat (Non-TrustZone) Project
● RTOS選擇:No RTOS
最后一個頁面選擇Bare Metal - Blinky

2.5 如果系統(tǒng)提示打開“Configuration”透視圖,請單擊“Open Perspective”。
2.6 打開FSP Configuration
如果仍未打開,請在預(yù)覽窗口雙擊 configuration.xml 文件。

2.7 點擊
編譯代碼。

2.8 高亮fpb_ra6e2_canfd_lab工程
按下調(diào)試按鈕
2.9 運行代碼
檢查FPB-RA6E2板上的兩個綠色LED(LED1和LED2)燈是否同步閃爍。

2.10 按下斷開按鈕
3CANFD:發(fā)送CANFD數(shù)據(jù)
本節(jié)要點:
本節(jié)學(xué)習(xí)如何發(fā)送CANFD數(shù)據(jù),要求按下任意一塊FPB-RA6E2板上的S1按鈕后,發(fā)送CANFD數(shù)據(jù)。
3.1 打開FSP Configuration
如果仍未打開,請在預(yù)覽窗口雙擊configuration.xml文件。

3.2 選擇Pins Tab,點擊 IRQ,確認(rèn)目前IRQ9已設(shè)為P304:

3.3 設(shè)置Stacks
點擊New Stack,選擇External IRQ (r_icu)。

3.4 設(shè)置External IRQ (r_icu)的屬性
Name: g_external_irq
Channel: 9
Digital Filtering: Enabled
Callback: user_irq_callback

3.5 點擊
生成代碼
3.6 在Project Explorer窗口,雙擊src文件夾下的hal_entry.c文件。
在26行添加以下內(nèi)容:
左右滑動查看更多
#define APP_ERR_TRAP() __asm("BKPT #0
") /* trap upon the error */
/* Boolean flag to determine switch is pressed or not.*/
volatile bool g_sw_press = false;
3.7 在hal_entry函數(shù)中第43行添加下方內(nèi)容(API可以通過從Developer Assistance下面拖拽的方式完成):

左右滑動查看更多
fsp_err_t err = FSP_SUCCESS;
/* Initialize External IRQ driver*/
err = R_ICU_ExternalIrqOpen(&g_external_irq_ctrl, &g_external_irq_cfg);
if(FSP_SUCCESS != err)
{
APP_ERR_TRAP();
}
/* Enable External IRQ driver*/
err = R_ICU_ExternalIrqEnable(&g_external_irq_ctrl);
/* Handle error */
if(FSP_SUCCESS != err)
{
APP_ERR_TRAP();
}
3.8 hal_entry.c文件中R_BSP_WarmStart()后,添加callback函數(shù)(也可以通過從Developer Assistance下面拖拽的方式完成)。

左右滑動查看更多
/* Callback function */
void user_irq_callback(external_irq_callback_args_t *p_args)
{
/* TODO: add your own code here */
fsp_err_t err = FSP_SUCCESS;
/* Make sure it's the right interrupt*/
if(9 == p_args->channel)
{
g_sw_press = true;
}
}
3.9 點擊
編譯代碼。

3.10 高亮fpb_ra6e2_canfd_lab工程
按下調(diào)試按鈕
3.11 在user_irq_callback中設(shè)置斷點(126行左側(cè)地址或者行數(shù)顯示處雙擊鼠標(biāo)左鍵)。

3.12 運行代碼
,并確認(rèn)按下板上S1時,能正確進(jìn)入callback中。


確認(rèn)后,請將這個斷點取消(斷點處雙擊鼠標(biāo)左鍵)。
3.13 選擇Pins Tab,點擊CANFD0,Pin Group Selection選擇_B Only的情況下,Operation Mode選擇Enabled,發(fā)生引腳使用沖突。

在Ports中找到P402,打開Mode的下拉菜單點擊Disabled,由于已經(jīng)設(shè)置了CANFD的引腳,此時Mode會自動切換為Peripheral mode,并確認(rèn)當(dāng)前P402為CANFD0_CRX0。


同樣地,修改P401的設(shè)置。


經(jīng)過以上修改,可以看到Pins Tab上的error
就沒有了。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
147文章
19160瀏覽量
404730 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3840瀏覽量
111476 -
瑞薩電子
+關(guān)注
關(guān)注
39文章
2987瀏覽量
74530 -
CANFD
+關(guān)注
關(guān)注
0文章
106瀏覽量
5958
發(fā)布評論請先 登錄
瑞薩RA系列MCU的外部引腳中斷詳解
構(gòu)建RA MCU生態(tài)圈!RA MCU 生態(tài)1.0發(fā)布
如何使用M460系列MCU周期性傳送CANFD信息
使用RA2E1 MCU和FSP實現(xiàn)超低設(shè)計
RA MCU CAN和CANFD IP介紹
CAN和CANFD協(xié)議簡介(上)
CAN和CANFD協(xié)議簡介(下)
RA MCU CAN和CANFD IP介紹
瑞薩RA家族RA4L1低功耗MCU量產(chǎn)上市
RA MCU CANFD的應(yīng)用實例(上)
評論