CAN driver recovery

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

CAN driver recovery

493 次查看
ganavi1
Contributor II

Hello,

I am working on the FlexCAN driver (interrupt mode) in the FRDM-A-S32K344 platform. I want to verify whether the CAN driver supports automatic recovery from CAN bus faults without a system or ignition reset. If this recovery feature exists in SDK version 3.0.0, where is it implemented or reflected in the driver, and where should I check it?

0 项奖励
回复
4 回复数

444 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @ganavi1,

As @shep mentioned, the FlexCAN driver from the RTD package can enable the "AutoBus Recovery" feature.

Julin_AragnM_0-1779302922996.png

This is set by default, and no additional settings are required. Once the bit is enabled, FLEXCAN will automatically try to recover from the bus-off state to the normal state (assuming the external conditions that caused the bus-off are removed).

Best regards,
Julián

447 次查看
shep
Contributor I

The S32K FlexCAN register has support for automatic bus-off recovery. I don't have the SDK manual, but you can search thru the relevant section to see if it interacts with the bit described in the reference manual.

Here is the text from the reference manual:

CTRL1 Register
BOFFREC
Bus Off Recovery
Determines how FlexCAN recovers from Bus Off state. If 0, automatic recovering from Bus Off state occurs according to the CAN Specification 2.0B. If 1, automatic recovering from Bus Off is disabled. The module remains in Bus Off state until you write 1 to this field.
If this field becomes 0 before 128 sequences of 11 recessive bits are detected on the CAN bus, Bus Off recovery happens as if this field had never become 1. If this field becomes 0 after 128 sequences of 11 recessive bits occurred, FlexCAN resynchronizes to the bus. It waits for 11 recessive bits before joining the bus.
After this field becomes 0, it can become 1 again during Bus Off, but it will only be effective the next time the module enters Bus Off. If this field becomes 0 when the module is in Bus Off, writing 1 to this field is not effective for the current Bus Off recovery.
See Bus Off in the CAN protocol standard ISO 11898-1:2015 for details.
NOTE
0b - Enabled
1b - Disabled

The default value of the bit is 0, so by default it will perform bus-off recovery automatically.

0 项奖励
回复

454 次查看
db16122
Contributor III

Here is some error correction feature as below, hope it helps.

Detection and correction of errors in memory read accesses:
—Each byte of FlexCAN memory is associated to five parity bits.
—The error correction mechanism ensures that errors in one bit of this 13-bit word can be corrected (correctable errors).
—Errors in two bits can be detected but not corrected (noncorrectable errors).

0 项奖励
回复

399 次查看
ganavi1
Contributor II

Thanks for your reply

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2368455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ECAN%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%81%A2%E5%A4%8D%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%20FRDM-A-S32K344%20%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%BC%80%E5%8F%91%20FlexCAN%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%88%E4%B8%AD%E6%96%AD%E6%A8%A1%E5%BC%8F%EF%BC%89%E3%80%82%E6%88%91%E6%83%B3%E9%AA%8C%E8%AF%81%20CAN%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81%E5%9C%A8%E6%B2%A1%E6%9C%89%E7%B3%BB%E7%BB%9F%E6%88%96%E7%82%B9%E7%81%AB%E9%87%8D%E7%BD%AE%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%BB%8E%20CAN%20%E6%80%BB%E7%BA%BF%E6%95%85%E9%9A%9C%E4%B8%AD%E8%87%AA%E5%8A%A8%E6%81%A2%E5%A4%8D%E3%80%82%E5%A6%82%E6%9E%9C%20SDK%20%E7%89%88%E6%9C%AC%203.0.0%20%E4%B8%AD%E5%AD%98%E5%9C%A8%E6%AD%A4%E6%81%A2%E5%A4%8D%E5%8A%9F%E8%83%BD%E3%80%81%E5%9C%A8%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%EF%BC%8C%E5%AE%83%E6%98%AF%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E6%88%96%E5%8F%8D%E6%98%A0%E7%9A%84%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2368705%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN%20driver%20recovery%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368705%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F252154%22%20target%3D%22_blank%22%3E%40ganavi1%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%AD%A3%E5%A6%82%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256461%22%20target%3D%22_blank%22%3E%40shep%3C%2FA%3E%20%E6%89%80%E6%8F%90%E5%88%B0%E7%9A%84%EF%BC%8CRTD%20%E5%8C%85%E4%B8%AD%E7%9A%84%20FlexCan%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%8F%AF%E4%BB%A5%E5%90%AF%E7%94%A8%20%22%20AutoBus%20Recovery%20%22%20%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Julin_AragnM_0-1779302922996.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_0-1779302922996.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_0-1779302922996.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F386213i82B02A3307AB5705%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Julin_AragnM_0-1779302922996.png%22%20alt%3D%22Julin_AragnM_0-1779302922996.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E8%BF%99%E6%98%AF%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%EF%BC%8C%E6%97%A0%E9%9C%80%E9%A2%9D%E5%A4%96%E8%AE%BE%E7%BD%AE%E3%80%82%E5%90%AF%E7%94%A8%E8%AF%A5%E4%BD%8D%E5%90%8E%EF%BC%8CFLEXCAN%20%E5%B0%86%E8%87%AA%E5%8A%A8%E5%B0%9D%E8%AF%95%E4%BB%8E%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E7%8A%B6%E6%80%81%E6%81%A2%E5%A4%8D%E5%88%B0%E6%AD%A3%E5%B8%B8%E7%8A%B6%E6%80%81%EF%BC%88%E5%81%87%E8%AE%BE%E5%AF%BC%E8%87%B4%E6%80%BB%E7%BA%BF%E6%96%AD%E5%BC%80%E7%9A%84%E5%A4%96%E9%83%A8%E6%9D%A1%E4%BB%B6%E5%B7%B2%E6%B6%88%E9%99%A4%EF%BC%89%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2368627%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN%20driver%20recovery%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368627%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ES32K%20FlexCAN%20%E5%AF%84%E5%AD%98%E5%99%A8%E6%94%AF%E6%8C%81%E8%87%AA%E5%8A%A8%E6%80%BB%E7%BA%BF%E6%96%AD%E8%B7%AF%E6%81%A2%E5%A4%8D%E3%80%82%E6%88%91%E6%B2%A1%E6%9C%89%20SDK%20%E6%89%8B%E5%86%8C%EF%BC%8C%E4%BD%86%E4%BD%A0%E5%8F%AF%E4%BB%A5%E6%90%9C%E7%B4%A2%E7%9B%B8%E5%85%B3%E9%83%A8%E5%88%86%EF%BC%8C%E7%9C%8B%E7%9C%8B%E5%AE%83%E6%98%AF%E5%90%A6%E4%B8%8E%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%8F%8F%E8%BF%B0%E7%9A%84%E9%83%A8%E5%88%86%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E3%80%82%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E6%98%AF%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%EF%BC%9A%3C%2FP%3E%3CP%3ECTRL1%20%E6%B3%A8%E5%86%8C%20%3CBR%20%2F%3E%20BOFFREC%20%3CBR%20%2F%3E%20%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E6%81%A2%E5%A4%8D%3CBR%20%2F%3E%E7%A1%AE%E5%AE%9A%20FlexCAN%20%E5%A6%82%E4%BD%95%E4%BB%8E%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E7%8A%B6%E6%80%81%E4%B8%AD%E6%81%A2%E5%A4%8D%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%BA%200%EF%BC%8C%E5%88%99%E6%A0%B9%E6%8D%AE%20CAN%20%E8%A7%84%E8%8C%83%202.0B%20%E8%87%AA%E5%8A%A8%E4%BB%8E%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E7%8A%B6%E6%80%81%E4%B8%AD%E6%81%A2%E5%A4%8D%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%BA%201%EF%BC%8C%E5%88%99%E7%A6%81%E7%94%A8%E4%BB%8E%20Bus%20Off%20%E8%87%AA%E5%8A%A8%E6%81%A2%E5%A4%8D%E3%80%82%E5%9C%A8%E6%82%A8%E5%90%91%E8%AF%A5%E5%AD%97%E6%AE%B5%E5%86%99%E5%85%A5%201%20%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%A8%A1%E5%9D%97%E5%B0%86%E4%BF%9D%E6%8C%81%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E7%8A%B6%E6%80%81%E3%80%82%3CBR%20%2F%3E%E5%A6%82%E6%9E%9C%E5%9C%A8%20CAN%20%E6%80%BB%E7%BA%BF%E4%B8%8A%E6%A3%80%E6%B5%8B%E5%88%B0%2011%20%E4%B8%AA%E9%9A%90%E6%80%A7%E4%BD%8D%E7%9A%84%20128%20%E4%B8%AA%E5%BA%8F%E5%88%97%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%AD%A4%E5%AD%97%E6%AE%B5%E5%8F%98%E4%B8%BA%200%EF%BC%8C%E5%88%99%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E6%81%A2%E5%A4%8D%E5%B0%B1%E5%A5%BD%E5%83%8F%E8%AF%A5%E5%AD%97%E6%AE%B5%E4%BB%8E%E6%9C%AA%E5%8F%98%E6%88%90%201%20%E4%B8%80%E6%A0%B7%E3%80%82%E5%A6%82%E6%9E%9C%E5%9C%A8%E5%87%BA%E7%8E%B0%20128%20%E4%B8%AA%E5%8C%85%E5%90%AB%2011%20%E4%B8%AA%E9%9A%90%E6%80%A7%E4%BD%8D%E7%9A%84%E5%BA%8F%E5%88%97%E4%B9%8B%E5%90%8E%E6%AD%A4%E5%AD%97%E6%AE%B5%E5%8F%98%E4%B8%BA%200%EF%BC%8C%E5%88%99%20FlexCan%20%E4%BC%9A%E9%87%8D%E6%96%B0%E5%90%8C%E6%AD%A5%E5%88%B0%E6%80%BB%E7%BA%BF%E3%80%82%E5%9C%A8%E5%8A%A0%E5%85%A5%E6%80%BB%E7%BA%BF%E4%B9%8B%E5%89%8D%EF%BC%8C%E5%AE%83%E4%BC%9A%E7%AD%89%E5%BE%85%2011%20%E4%B8%AA%E9%9A%90%E6%80%A7%E4%BD%8D%E3%80%82%3CBR%20%2F%3E%E6%AD%A4%E5%AD%97%E6%AE%B5%E5%8F%98%E4%B8%BA%200%20%E5%90%8E%EF%BC%8C%E5%AE%83%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E6%9C%9F%E9%97%B4%E5%86%8D%E6%AC%A1%E5%8F%98%E4%B8%BA%201%EF%BC%8C%E4%BD%86%E5%AE%83%E4%BB%85%E5%9C%A8%E6%A8%A1%E5%9D%97%E4%B8%8B%E6%AC%A1%E8%BF%9B%E5%85%A5%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E6%97%B6%E7%94%9F%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E6%A8%A1%E5%9D%97%E5%A4%84%E4%BA%8E%20%E2%80%9C%E6%80%BB%E7%BA%BF%E5%85%B3%E9%97%AD%E2%80%9D%20%E7%8A%B6%E6%80%81%E6%97%B6%E6%AD%A4%E5%AD%97%E6%AE%B5%E5%8F%98%E4%B8%BA%200%EF%BC%8C%E5%88%99%E5%90%91%E8%AF%A5%E5%AD%97%E6%AE%B5%E5%86%99%E5%85%A5%201%20%E5%AF%B9%E5%BD%93%E5%89%8D%E7%9A%84%20Bus%20Off%20%E6%81%A2%E5%A4%8D%E6%97%A0%E6%95%88%E3%80%82%3CBR%20%2F%3E%E6%9C%89%E5%85%B3%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%20CAN%20%E5%8D%8F%E8%AE%AE%E6%A0%87%E5%87%86%20ISO%2011898-1%3A2015%20%E4%B8%AD%E7%9A%84%20%E6%80%BB%E7%BA%BF%20Off%E3%80%82%3CBR%20%2F%3E%E6%B3%A8%E6%84%8F%20%3CBR%20%2F%3E%200b-%E5%B7%B2%E5%90%AF%E7%94%A8%20%3CBR%20%2F%3E%201b-%E5%B7%B2%E7%A6%81%E7%94%A8%3C%2FP%3E%3CP%3E%E8%AF%A5%E4%BD%8D%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%E4%B8%BA%200%EF%BC%8C%E5%9B%A0%E6%AD%A4%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E5%AE%83%E5%B0%86%E8%87%AA%E5%8A%A8%E6%89%A7%E8%A1%8C%E6%80%BB%E7%BA%BF%E6%96%AD%E5%BC%80%E6%81%A2%E5%A4%8D%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2368533%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN%20driver%20recovery%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368533%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E4%B8%80%E4%BA%9B%E7%BA%A0%E9%94%99%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%8C%E6%9C%9B%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%E3%80%82%3C%2FP%3E%3CP%3E%E6%A3%80%E6%B5%8B%E5%92%8C%E7%BA%A0%E6%AD%A3%E5%86%85%E5%AD%98%E8%AF%BB%E5%8F%96%E8%AE%BF%E9%97%AE%E4%B8%AD%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%9A%3CBR%20%2F%3E%E2%80%94FlexCan%20%E5%86%85%E5%AD%98%E7%9A%84%E6%AF%8F%E4%B8%AA%E5%AD%97%E8%8A%82%E9%83%BD%E4%B8%8E%E4%BA%94%E4%B8%AA%E5%A5%87%E5%81%B6%E6%A0%A1%E9%AA%8C%E4%BD%8D%E7%9B%B8%E5%85%B3%E8%81%94%E3%80%82%3CBR%20%2F%3E-%E7%BA%A0%E9%94%99%E6%9C%BA%E5%88%B6%E5%8F%AF%E7%A1%AE%E4%BF%9D%E7%BA%A0%E6%AD%A3%2013%20%E4%BD%8D%E5%AD%97%E4%B8%AD%E4%B8%80%E4%BD%8D%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%88%E5%8F%AF%E7%BA%A0%E6%AD%A3%E9%94%99%E8%AF%AF%EF%BC%89%E3%80%82%3CBR%20%2F%3E-%E5%8F%AF%E4%BB%A5%E6%A3%80%E6%B5%8B%E5%88%B0%E4%B8%A4%E4%B8%AA%E6%AF%94%E7%89%B9%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E7%BA%A0%E6%AD%A3%EF%BC%88%E4%B8%8D%E5%8F%AF%E7%BA%A0%E6%AD%A3%E9%94%99%E8%AF%AF%EF%BC%89%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369938%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20CAN%20driver%20recovery%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369938%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E