MPC5606B Bus Off Issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5606B Bus Off Issue

957件の閲覧回数
曾经怀念
Contributor II

Hi all,

 

   I found when I enter the Bus Off too long(5min~15min) ,the chip will enter the Error Passive state and will not recover .

Moreover ,If I set the Error Interrupt, it will not enter the Bus Off Interrupt .When I clear the Error Interrupt flag ,the chip wil clear both of them .So it still in Bus Off state and will not recover .

167209_167209.PNG1.PNG

167222_167222.PNG2.PNG

167223_167223.PNG3.PNG

 

Regards

ラベル(1)
タグ(2)
0 件の賞賛
2 返答(返信)

694件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

First of all, be sure the full register access is used to clear particular IRQ flag. The flag is cleared by writing 1 into a bit position, so if the bit access is used, read-modify-write operation is done and so other flags may be cleared unintentionally, causing not generating the pending interrupt.

See more in following EB758 document; http://cache.freescale.com/files/32bit/doc/eng_bulletin/EB758.pdf.

 

Regarding the Bus-off functionality …

In case the automatic recovery mode is disabled, BOFF_REC = 1, the recovery from bus-off starts after both independent events have become true:

  • 128 occurrences of 11 consecutive recessive bits on the CAN bus have been monitored
  • BOFF_REC has been cleared by the user

So if negation happens

- before 128 sequences of 11 recessive bits are detected on the CAN bus, then Bus Off recovery happens in similar way as in automatic recovery way.

- after 128 sequences of 11 recessive bits occurred, then FlexCAN will resynchronize to the bus by waiting for 11 recessive bits before joining the bus.

 

In automatic Bus-off recovery mode the behavior is the same, you just do not clear BOFF_REC, soo… after 128 sequences of 11 recessive bits occurred, then FlexCAN will resynchronize to the bus by waiting for 11 recessive bits before joining the bus.

BR, Petr

0 件の賞賛

694件の閲覧回数
曾经怀念
Contributor II

Hi Petr,

         Thanks for your reply.

        In my code, I disable the automatic recovery mode and set the BOFF_MSK only ...If I enter bus off , recover it after 200ms

      1.PNG

I would like to know whether the work is stable for a long time .Then , I found when I let the CAN staty at the bus off environment too long(5min~15min) ,the chip will enter the Error Passive state and will not recover .

Regards

0 件の賞賛