S32K344 六路CAN FD調(diào)試

如果使用 S32DS3.4 IDE和RTD1.0.0編譯附件 CAN工程就會(huì)報(bào)上述錯(cuò)誤,可以看到只安裝了 RTD S32K3XX 1.0.0軟件版本。這是因?yàn)樵摴こ淌窃?RTD2.0.0環(huán)境下測(cè)試的,需要下載 S32K3 Real?Time?Drivers?Version?2.0.0。

?在官網(wǎng)找到RTD_4_4_2.0.0,下載完成后,點(diǎn)擊Help菜單欄中的Install?New?Software,選擇剛才下載的 SW32K3_RTD_4.4_2.0.0_DS_updatesite_D2204.zip!

勾選 RTD S32K3XX,RTD S32K3XX 2.0.0以后進(jìn)行安裝。


?
附件RTD2.0.0下應(yīng)用程序的目的是展示FlexCAN模塊的使用情況,該模塊配置為使用S32 RTD API使用CAN FD和增強(qiáng)RXFIFO。此演示應(yīng)用程序需要兩個(gè)板,或使用CAN工具連接單板。
——CAN FD以500/2000 kbps的比特率啟用
——MB0被配置為傳輸標(biāo)準(zhǔn)ID或擴(kuò)展ID
——MB1配置為接收擴(kuò)展ID 0xFACE,MB2配置為接收標(biāo)準(zhǔn)ID 0x1
——啟用增強(qiáng)型RXFIO,并定義了3個(gè)增強(qiáng)型RXIFO濾波器元件(濾波器+掩碼方案)
帶掩碼0x1FFFFFFF的擴(kuò)展ID 0xABCD,帶掩碼0x7FF的標(biāo)準(zhǔn)ID 0x123,帶掩碼0x7FF的標(biāo)準(zhǔn)ID 0x456。
——回調(diào)功能也用于處理MBs郵箱TX和RX的過程和增強(qiáng)型RXFIFO
——如果在板上使用TJA1153,則可以調(diào)用setupCanXCVR函數(shù)。
它期望收發(fā)器處于Vanilla狀態(tài),并將TPL設(shè)置為通過所有標(biāo)準(zhǔn)和擴(kuò)展ID,并且不阻止任何來自總線的消息,最后離開配置模式,而不需要寫入非易失性存儲(chǔ)器,也不鎖定收發(fā)器。
*測(cè)試硬件:S32K344/S32K312 EVB
*單片機(jī)型號(hào):S32K344 1P55A
*編譯器:S32DS.ARM.3.4
*SDK版本:SW32K3_RTD_4_4_2_0_D2203
*調(diào)試器:JLINK
*目標(biāo):Internal_FLASH
將附件代碼拷貝到 RTD2.0.0安裝目錄如下所示。
S32DS.3.4\S32DS\software\PlatformSDK_S32K3_2022_03\SW32K3_RTD_4_4_2_0_0_D2203
?


S32K344/S312 EVK開發(fā)板采用的是 CAN0通信接口,使用PTC3(作為 S32K344端的發(fā)送引腳)和PTC2(作為 S32K344端的接收引腳)。
?

如果需要繼續(xù)使用 S32DS3.4和RTD1.0.0平臺(tái)的話,可以選擇RTD1.0.0里面自帶的 CAN例程。使用Mcu_InitClock,它初始化時(shí)鐘源、時(shí)鐘樹,并配置外圍設(shè)備時(shí)鐘門控。所使用的時(shí)鐘配置將啟用并使用PLL作為源時(shí)鐘。然后,應(yīng)用程序?qū)⒆鳛檩喸儼l(fā)送和接收,1個(gè)CAN幀在環(huán)回中。接收和發(fā)送通過CanIf_RxIndication和CanIf_TxConfirmation進(jìn)行確認(rèn)。備注:代碼里面沒有使能引腳配置工具。

?