AURIX TC297 MultiCAN_R 用於 CAN FD 功能

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

TC297 坎爾是否支持康德? 我目前測試的CAN節點CAN達到 5Mbit/s。但是,以 5Mbit/s 的速度測試 CANR 節點時,會發生錯誤。

1 解決方案
Translation_Bot
Community Manager
Community Manager
Community Manager

pinDriver 預設為從IfxMultican_Can_Node_initConfig 到 IfxPort_PadDriver_cmosAutomotiveSpeed2,該值在 P34.1(LP 引腳)情況下很弱,且不可用於 CAN FD。將配置更改為 IfxPort_PadDriver_cmosAutomotiveSpeed1(中):

無法配置 .pin 驅動程序 = IFX 端口 _ 墊驅動程序 _ 自動激素速度 1;

如果我記得正確,那麼您必須始終使用帶有相應設置的 MP 或 MP+ 引腳,以匹配上升和下降時間不違反 CAN-FD 規範。

在原始文章中檢視解決方案

0
5 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

您正在使用哪些引腳進行測試?

0
Translation_Bot
Community Manager
Community Manager
Community Manager

這是我的例子:

IFX 多雲 _ 無線模塊配置(G 多支 .canconfig,模塊 _ 可以); & &

G 多點. 可以配置. 節點指針 [0]. 優先級 = 不具有優先級 _ 坎 _ RX;

如果多康 _ 無線模塊(g_Multian.CAN,G 多坎配置); & &

//CANR
IFX 多功能坎 _ 因模配置(G 多支坎配置,模塊 _ CANR); & &

G 多雲端配置. 節點指針 [0]. 優先級 = 不具有優先級 _ 坎爾 _ RX;

IFX 多媒體 _ 無線模塊 (g_Multian.CAN, G 多雲. 坎配置); & &


IFX 多點康 _ 可以節點 _ 伊尼特配置 (G 多康 .cannodeconfig, g_Multian.CAN); & &

//G_多安.cannode配置.循環模式 = 真;
G 多端. 無法配置. 靈活數據 = 真實的;

G 多用戶. 不能配置. fd 配置. = 50 萬;
G 多點. 無法設定. = 8000;
G 多點. 不能配置. fd 配置. 名稱語法跳轉寬度 = 2000;
G 多點. 不能配置. FD 配置. = 2000 萬;
G 多點. 無法設定. FD 組態. 快速取樣點 = 7000;
G 多點. 無法配置. FD 配置. 快速同步跳轉寬度 = 2000;
G 多端. 無法配置. = 0;

IFX 多坎 _ 節點 _ 因特配置 (G 多雲. 坎諾德配置, g_Multian.CAN); & &

//G_多支機. 無法配置. 環回模式 = 真;
g_Multian.cannode 配置. 靈活資料 = 真實的;

G 多雲. 不能配置. fd 配置. 被提名的 = 500 萬;
G_ 多核心. 無法設定. = 8000;
G 多核心. 無法設定. fd 組態. 名稱同步跳轉寬度 = 2000;
G 多核心. 無法配置. FD 配置. = 2000 萬;
G 多核心. 無法設定. FD 組態. 快速取樣點 = 7000;
G 多核心. 無法配置. FD 配置. 快速同步跳轉寬度 = 2000;
G 多雲端. 無法配置. = 0;

/* ================================================== ==== =============================================
* CAN節點0配置與初始化:
* =================================================== == ===========================================
* - 將節點指派給 CAN 節點 0
* - 使用修改後的設定初始化 CAN 節點 0
* =================================================== == ===========================================
*/
g_multican.canNodeConfig.nodeId = IfxMultican_NodeId_0;

G 多點。無法配置 .xpin = & IFX 多點鏈 _ RXD0B_P20_7_ 在; G 多點設定 .X 平模式 = IFX 端口 _ 輸入模式 _ 推出; g_ 多點康。輸出模式 = IFX 端口 _ 輸出模式 _ 推拉;

&

IFX 多康 _ 可以節點 _ 初始化(G 多康 .cannode0,G 多康 .cannodeconfig); & &

/* ================================================== ==== =============================================
* CAN節點1配置與初始化:
* =================================================== == ===========================================
* - 將節點指派給 CAN 節點 1
* - 使用修改後的設定初始化 CAN 節點 1
* =================================================== == ===========================================
*/
g_multicanr.canNodeConfig.nodeId = IfxMultican_NodeId_0;

G 多點。無法配置 .xpin = IFX 端口 _ RXD0B_P14_1_ 在; G 多點。無法配置 .X 平模式 = IFX 端口 _ 輸入模式 _ 推拉; G_ 多點安裝配置 .tpin = & IFXCANR_TXD0__P14 多點輸出模式 = IFX 端口 _ 輸出模式 _ 推拉;

&

IFX 多康 _ 坎 _ 節點 _ 初始化(G _ 多點支 .Cannode0,G 多坎諾德配置); & &

/* ================================================== ==== ================================================ ===== =============
* 源碼標準訊息物件配置和初始化:
* =================================================== == ================================================== === ===============
* - 將預設的CAN訊息物件配置載入到配置結構中
*
* - 將訊息物件定義為傳輸訊息物件(所有來源訊息物件的通用設定)
* - 定義僅使用匹配的 IDE 接受訊框(所有來源訊息物件的通用設定)
*
* - 定義訊息對象ID(每個訊息對象ID值應該是唯一的)
* - 定義仲裁階段所使用的CAN訊息ID
* - 定義要使用的標準或擴充框架
* - 定義儲存資料位元組 8 到 35 的訊息物件(頂部訊息)
* - 定義儲存資料位元組 36 到 63 的訊息物件(底部訊息)
*
* - 定義傳輸資料的長度(與 MOFCRn.DLC、MOFCRn.FDF、MOFGPR.BOT 和 MOFGPR.TOP 位元欄位相關)
* - 定義位元率切換的用法(與MOFCRn.BRS位元域相關)
*
* - 使用修改後的配置初始化來源標準 CAN 訊息對象
* ------------------------------------------------- -------------------------------------------------- -------------
* 這些CAN報文物件被指派給CAN節點0
* =================================================== == ================================================ === ===============
*/
IfxMultican_Can_MsgObj_initConfig(&g_multican.canMsgObjConfig, &g_multican.canNode0);

幀 = 如果多支 _ 幀傳輸; G 多媒體框架傳輸; G 多媒體支架配置.

對於 (目前可能消息對象 = 0; 目前消息對象編號 _ 的 _ CAN < _FD_ 案例; 目前可能消息對象 ++) {G 多點數據對象 = 對象變量 [當前無法消息對象]. 消息 ID;



G 多點. 可以更改. 控制. 擴展框架 = G 消息對象 CONF [當前可以消息對象]. 擴展幀;
控制。頂部信息標識 =(2 * 當前可能消息對象)+ SRC_EXTENDED_MO_ 偏移; G_ 多點。無法更改配置。控制。
= G 多人. 坎姆斯哥比吉配置. 控制.

控制. 消息元素 = G _ 消息對象 CONF [當前可能消息對象]. 消息元;
控制快速比特率 = G _ 消息對象 CONF [當前可能消息對象]. 快速比特率;

如果多媒體 _ 坎 _ MSGOBJ_ 初始化 (G 多媒體信息庫 BJ [當前可能消息對象], G 多媒體. & &
}

/* ================================================== ==== ================================================ ===== =============
* 目的地標準訊息物件配置和初始化:
* =================================================== == ================================================== === ===============
* - 將預設的CAN訊息物件配置載入到配置結構中
*
* - 將訊息物件定義為接收訊息物件(所有目標訊息物件的通用設定)
* - 定義僅使用匹配的 IDE 接受訊框(所有目標訊息物件的通用設定)
* - 在接收 CAN 訊息時啟用中斷產生(所有目標訊息物件的通用設定)
* - 定義要使用的中斷節點指標(所有目標訊息物件共用相同節點)
*
* - 定義訊息對象ID(每個訊息對象ID值應該是唯一的)
* - 定義仲裁階段使用的 CAN 訊息 ID(應與來源訊息物件 ID 相符)
* - 定義要使用的標準或擴充框架
* - 定義儲存資料位元組 8 到 35 的訊息物件(頂部訊息)
* - 定義儲存資料位元組 36 到 63 的訊息物件(底部訊息)
*
* - 定義接收資料的長度(與MOFGPR.BOT和MOFGPR.TOP位元域相關)
*
* - 使用修改後的配置初始化來源標準 CAN 訊息對象
* ------------------------------------------------- -------------------------------------------------- -------------
* 這些CAN訊息物件被指派給CAN節點1
* =================================================== == ================================================ === ===============
*/
IfxMultican_Can_MsgObj_initConfig(&g_multicanr.canMsgObjConfig, &g_multicanr.canNode0);

框架 = IFX 多框架接收; G 多媒體配置. 控制. 匹配 ID = 真; G_ 多核心組態 .rx 中斷。啟用 = 真; g_ 多點針對設定 .rx 中斷。啟用 = 真;


對於 (目前可能消息對象 = 0; 目前可以消息的對象<編號 _ 的 _ CAN_FD_ 案例; 目前可以消息對象 ++) {G _ 多點通信對象 + DST_MOBJID = (IFX 多點支持) (當前可以消息對象 + DST_MOR.BJID) 配置. 消息 ID = G 消息對象變量 [當前可以消息對象]. 消息 ID;



G 多點人參考. 控制. 擴展框架 = G 消息對象 CONF [當前可以消息對象]. 擴展幀;
控制. Topmsgobjid = (2 * 目前可能訊息物件) + DST_ 延伸 _ MO_ 位移; G_ 多重應用程式.
= G 多人. 坎姆斯戈比吉配置. 控制.

G_Messagelen = G 消息對象設置 [當前可能消息對象]. 消息屬性;

IFX 多媒體 _ 坎 _ 姆斯戈比杰初始化 (G _ 多媒體. 燭光 [目前可能消息對象], G 多媒體. 坎姆斯戈比杰配置); & &
}
}

0
Translation_Bot
Community Manager
Community Manager
Community Manager

P14.0/P14.1 可用於 CAN 節點 1,但不可用於 CANr。

您必須使用可用於 canR 的引腳。 請注意,TXD 引腳應該是 MP 或 MP+ 引腳。

0
Translation_Bot
Community Manager
Community Manager
Community Manager

如果我使用 CanR 節點 0 引腳:

無法配置 .nodeid = IFX 多康 _ 節點 _ 0; 無法配置 .xpin = 如果多點康 _RXD0G_P34_2_ 在; 不能配置 .txpin = IFX 多媒體 _TXD0_P34_1_OUT;
&
&

(CAN 2.0可正常輸出)

DevinHuang_0-1695365364343.png

 

 

(使用CAN FD會顯示ERROR From訊號)

DevinHuang_1-1695365839088.png

我使用的分析工具支持 CANFD

所以我很好奇CAN r是否支援CAN FD功能?

 

 

0
Translation_Bot
Community Manager
Community Manager
Community Manager

pinDriver 預設為從IfxMultican_Can_Node_initConfig 到 IfxPort_PadDriver_cmosAutomotiveSpeed2,該值在 P34.1(LP 引腳)情況下很弱,且不可用於 CAN FD。將配置更改為 IfxPort_PadDriver_cmosAutomotiveSpeed1(中):

無法配置 .pin 驅動程序 = IFX 端口 _ 墊驅動程序 _ 自動激素速度 1;

如果我記得正確,那麼您必須始終使用帶有相應設置的 MP 或 MP+ 引腳,以匹配上升和下降時間不違反 CAN-FD 規範。

0