NXP的勘误数据手册上说:
1. Recovering from this situation is only possible with a soft reset to the CAN controller. 2. If software cannot read all messages in time before a third message comes in, it is recommend to change the acceptance filtering by adding further acceptance filter group(s) for messages, which are normally rejected. With this approach, the third incoming message is accepted and the Data Overrun condition is avoided. These additional messages are received with the corresponding group index number can be easily identified and rejected by software.
第一条讲的是恢复。即如何从数据溢出这个BUG中恢复。比较明白,没有什么问题。
第二条讲的预防。即是如何预防出现数据溢出的情况,这个就匪夷所思了。当两个RX BUFFER被填满而CPU无法及时响应读出的情况下,为什么在验收过滤表中添加配对的过滤表ID就会avoid data overrun?
看了十来遍,无法理解第二条。请周立功的工程师给讲讲!
|