LLCE CAN Controller can not be working in LLCE_CAN_STARTED but is always in LLCE_CAN_START_PENDING

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LLCE CAN Controller can not be working in LLCE_CAN_STARTED but is always in LLCE_CAN_START_PENDING

跳至解决方案
264 次查看
Bruce_Huang
Contributor I

I am integrating LLCE  1.0.8 on s32g274a device with SW32G_RTD_4.4_4.0.2_P03,but have encountered a problem:after firmware was loaded and started successfully, then Can_43_LLCE_Init was  running ok and the state Can_43_LLCE_eDriverStatus  came to be CAN_43_LLCE_READY,  when Can_43_LLCE_SetControllerMode was called with parameter CAN_CS_STARTED, the firmware executed the cmd LLCE_CAN_CMD_GETCONTROLLERMODE successfully, then Can_Llce_GetControllerMode was called and firmware returned LLCE_FW_SUCCESS, but the returned controller state was always LLCE_CAN_START_PENDING,  I'm not sure what was wrong, so I want to get some useful solutions

标记 (2)
0 项奖励
1 解答
186 次查看
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Thanks for your feedback. As for the questions:

it's required that the llce can controller have to be connected to the can tranceiver which was be enabled correctly in order to get the CAN bus voltage levels,  is that right ?

That is correct. This is a HW requirement by the CAN standard itself, the following is shown under the Integration Manual for LLCE-CAN:

"The CAN physical interface should be connected to the CAN-LLCE module pins in order to get the CAN bus voltage levels.

There has to be at least another CAN node present on the CAN bus in order to get the CAN bus synchronized."

Please, let us know.

在原帖中查看解决方案

0 项奖励
3 回复数
206 次查看
Bruce_Huang
Contributor I

Thanks,

I'm using a custom board and our custom application, but configures the llce can by referring to the llce_sample_app_af examples, now I have resolved this problem, it was caused by the can timeout parameters: (Can Timeout Method) and (Can Timeout Duration);

On our custom board, the llce_can0 and llce_can2 hardware channel doesn't work without can transceiver attached, but llce_can1 and llce_can3 is working normally with TJA1403 being enabled correctly;

In our costom application, (Can Timeout Method) and (Can Timeout Duration)  was set with OSIF_COUNTER_DUMMY and 65,during firstly enabling llce_can0 ,application was always looping with calling Can_Llce_MainFunctionMode,

but after (Can Timeout Method) and (Can Timeout Duration)  was set with OSIF_COUNTER_DUMMY and 0.1, enabling llce_can0 to llce_can3  was normal, and only llce_can1 and llce_can3 were started successfully.

Referring to  5.3 Peripheral Hardware Requirements  of the Integration Manual, it's required that the llce can controller have to be connected to the can tranceiver which was be enabled correctly in order to get the CAN bus voltage levels,  is that right ?

0 项奖励
187 次查看
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Thanks for your feedback. As for the questions:

it's required that the llce can controller have to be connected to the can tranceiver which was be enabled correctly in order to get the CAN bus voltage levels,  is that right ?

That is correct. This is a HW requirement by the CAN standard itself, the following is shown under the Integration Manual for LLCE-CAN:

"The CAN physical interface should be connected to the CAN-LLCE module pins in order to get the CAN bus voltage levels.

There has to be at least another CAN node present on the CAN bus in order to get the CAN bus synchronized."

Please, let us know.

0 项奖励
221 次查看
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Is this a custom board? Or is this with an NXP reference board?

Also, are you using any NXP examples? Or is this a custom application? We are not able to see the behavior you are describing.

Can you share images of the behavior you are seeing?

Please, let us know.

0 项奖励