CAN_DeInit API Error

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
620件の閲覧回数
Embedded_novice
Contributor III

HI.

I attempted to shut down the CAN controller before the BOOTLOADER jumped to the APP, but when I called CAN_DeInit, it actually wasn't re-initialized, resulting in incorrect frames being sent on the CAN bus after the jump. I would like to know if there are any problems with this logical judgment. I have set CtrlState to TRUE, but the reverse initialization requires it to be FALSE in order to execute.CAN_DeInit.png

0 件の賞賛
返信
1 解決策
540件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Embedded_novice

1. The controller modes are defined in the AUTOSAR specification, thus described in the FlexCAN MCAL driver user manual found under the following path: "C:\NXP\S32DS.3.X.X\S32DS\software\PlatformSDK_S32K3\RTD\Can_43_FLEXCAN\doc\RTD_CAN_43_FLEXCAN_UM.pdf"

Snag_a0158d5.png

2. By AUTOSAR standards, yes, it is mandatory. The processing logic depends on the driver implementation. For example, in the FlexCAN driver, functions called are FlexCAN_Ip_SetStartMode() and FlexCAN_Ip_SetStopMode(), both of which enable and disable the module, respectively.

AUTOSAR specification also provides a transition diagram in their CAN specification document:

Snag_a0e08b2.png

Best regards,
Julián

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
584件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Embedded_novice,

Before calling CAN_DeInit, set all controllers to STOPPED to allow it to de-init properly:

/* Stop Can controller */
Can_43_FLEXCAN_SetControllerMode(Can_43_FLEXCANConf_CanController_CanController_0, CAN_CS_STOPPED);

/* De-Initialize Can driver */
Can_43_FLEXCAN_DeInit();

Best regards,
Julián

0 件の賞賛
返信
560件の閲覧回数
Embedded_novice
Contributor III

Hi.

I understand your train of thought now. I would like to know if this state transition diagram is correct. Additionally, I have two more questions:
1. Where can I find this state transition in the manual of the MCU? I didn't see any similar state description in the RM.
2. Is this state transition mandatory? Is the same processing logic applied in other MCU architectures?
Thank you very much for your help!ModeSwitch.png

0 件の賞賛
返信
541件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Embedded_novice

1. The controller modes are defined in the AUTOSAR specification, thus described in the FlexCAN MCAL driver user manual found under the following path: "C:\NXP\S32DS.3.X.X\S32DS\software\PlatformSDK_S32K3\RTD\Can_43_FLEXCAN\doc\RTD_CAN_43_FLEXCAN_UM.pdf"

Snag_a0158d5.png

2. By AUTOSAR standards, yes, it is mandatory. The processing logic depends on the driver implementation. For example, in the FlexCAN driver, functions called are FlexCAN_Ip_SetStartMode() and FlexCAN_Ip_SetStopMode(), both of which enable and disable the module, respectively.

AUTOSAR specification also provides a transition diagram in their CAN specification document:

Snag_a0e08b2.png

Best regards,
Julián

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2189148%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ECAN_DeInit%20API%20%E3%82%A8%E3%83%A9%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2189148%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%3C%2FP%3E%3CP%3EBOOTLOADER%20%E3%81%8C%20APP%20%E3%81%AB%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%20CAN%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81CAN_DeInit%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%81%AF%E5%86%8D%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%95%E3%82%8C%E3%81%9A%E3%80%81%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97%E5%BE%8C%E3%81%AB%20CAN%20%E3%83%90%E3%82%B9%E3%81%AB%E8%AA%A4%E3%81%A3%E3%81%9F%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%81%8C%E9%80%81%E4%BF%A1%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%93%E3%81%AE%E8%AB%96%E7%90%86%E7%9A%84%E5%88%A4%E6%96%AD%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82CtrlState%20%E3%82%92%20TRUE%20%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E9%80%86%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%20FALSE%20%E3%81%AB%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CAN_DeInit.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22CAN_DeInit.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361650i4E55AA0680B38758%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CAN_DeInit.png%22%20alt%3D%22CAN_DeInit.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190903%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN_DeInit%20API%20Error%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190903%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F213197%22%20target%3D%22_blank%22%3E%40Embedded_novice%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E1.%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AF%20AUTOSAR%20%E4%BB%95%E6%A7%98%E3%81%A7%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E6%AC%A1%E3%81%AE%E3%83%91%E3%82%B9%E3%81%AB%E3%81%82%E3%82%8B%20FlexCAN%20MCAL%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%20%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AB%E8%A8%98%E8%BC%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%3A%20%22%20%3CSTRONG%3EC%3A%5CNXP%5CS32DS.3.XX%5CS32DS%5C%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%5CPlatformSDK_S32K3%5CRTD%5CCan_43_FLEXCAN%5Cdoc%5CRTD_CAN_43_FLEXCAN_UM.pdf%3C%2FSTRONG%3E%20%22%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snag_a0158d5.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snag_a0158d5.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F362154iC909B41A57E9BC49%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snag_a0158d5.png%22%20alt%3D%22Snag_a0158d5.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E2.%20AUTOSAR%20%E6%A8%99%E6%BA%96%E3%81%A7%E3%81%AF%E5%BF%85%E9%A0%88%E3%81%A7%E3%81%99%E3%80%82%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%AF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%95%B0%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81FlexCAN%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%A7%E3%81%AF%E3%80%81%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%82%8B%E9%96%A2%E6%95%B0%E3%81%AF%3CSPAN%3EFlexCAN_Ip_SetStartMode()%20%E3%81%A8%3C%2FSPAN%3E%3CSPAN%3EFlexCAN_Ip_SetStopMode()%20%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E3%81%A9%E3%81%A1%E3%82%89%E3%82%82%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E6%9C%89%E5%8A%B9%E5%8C%96%E3%81%8A%E3%82%88%E3%81%B3%E7%84%A1%E5%8A%B9%E5%8C%96%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAUTOSAR%20%E4%BB%95%E6%A7%98%E3%81%A7%E3%81%AF%E3%80%81CAN%20%E4%BB%95%E6%A7%98%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AB%E9%81%B7%E7%A7%BB%E5%9B%B3%E3%82%82%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snag_a0e08b2.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snag_a0e08b2.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F362155i2F6D00495DE4E6C0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snag_a0e08b2.png%22%20alt%3D%22Snag_a0e08b2.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%81%3CBR%20%2F%3E%E3%82%B8%E3%83%A5%E3%83%AA%E3%82%A2%E3%83%B3%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190348%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN_DeInit%20API%20Error%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190348%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E8%80%83%E3%81%88%E3%81%AE%E6%B5%81%E3%82%8C%E3%81%8C%E7%90%86%E8%A7%A3%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%93%E3%81%AE%E7%8A%B6%E6%85%8B%E9%81%B7%E7%A7%BB%E5%9B%B3%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%84%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%E3%81%95%E3%82%89%E3%81%AB%E3%80%812%E3%81%A4%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%201.%E3%81%93%E3%81%AE%E7%8A%B6%E6%85%8B%E9%81%B7%E7%A7%BB%E3%81%AF%20MCU%20%E3%81%AE%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AE%E3%81%A9%E3%81%93%E3%81%AB%E8%A8%98%E8%BC%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3FRM%20%E3%81%AB%E3%81%AF%E5%90%8C%E6%A7%98%E3%81%AE%E7%8A%B6%E6%85%8B%E3%81%AE%E8%AA%AC%E6%98%8E%E3%81%AF%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%202.%20%E3%81%93%E3%81%AE%E7%8A%B6%E6%85%8B%E9%81%B7%E7%A7%BB%E3%81%AF%E5%BF%85%E9%A0%88%E3%81%A7%E3%81%99%E3%81%8B%3F%E4%BB%96%E3%81%AE%20MCU%20%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%AB%E3%82%82%E5%90%8C%E3%81%98%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0%20%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%8C%E9%81%A9%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8B%3F%3CBR%20%2F%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22ModeSwitch.png%22%20style%3D%22width%3A%20844px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22ModeSwitch.png%22%20style%3D%22width%3A%20844px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361982iEC375E02605EABA1%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22ModeSwitch.png%22%20alt%3D%22ModeSwitch.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190147%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN_DeInit%20API%20Error%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190147%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F213197%22%20target%3D%22_blank%22%3E%40Embedded_novice%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3ECAN_DeInit%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%89%8D%E3%81%AB%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%82%92%20STOPPED%20%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%80%81%E9%81%A9%E5%88%87%E3%81%AB%20de-init%20%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*%20Stop%20Can%20controller%20*%2F%0ACan_43_FLEXCAN_SetControllerMode(Can_43_FLEXCANConf_CanController_CanController_0%2C%20CAN_CS_STOPPED)%3B%0A%0A%2F*%20De-Initialize%20Can%20driver%20*%2F%0ACan_43_FLEXCAN_DeInit()%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%81%3CBR%20%2F%3E%E3%82%B8%E3%83%A5%E3%83%AA%E3%82%A2%E3%83%B3%3C%2FP%3E%3C%2FLINGO-BODY%3E