This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
不好意思,可能之前我的问题没有问好,才导致你的误解,我手册上这段描述不太理解,我重新提一下问吧,谢谢!
"It is possible to change the configuration of message objects during normal operation by the CPU.
After setup and subsequent transfer of message object from interface registers to message RAM, the
acceptance filtering will be applied to it when the modified message object number is same or smaller than
the previously found message object. This assures data consistency even when changing message
objects; for example, while there is a pending CAN frame reception."
这句话翻译过来大概是这个意思:
在正常操作期间,可以通过CPU修改消息对象的配置。在消息对象从接口寄存器到消息RAM的设置和随后的传输之后,
当修改的消息对象等于或小于先前找到的消息对象时,将对其应用接收过滤。即使在改变消息对象时,这也能确保
数据一致性,例如,当存在未决的CAN帧接收时。
我的问题是:
1、为什么当修改的消息对象等于或小于先前找到的消息对象时,将对其应用接收过滤?
2、后面的例子,"当存在未决的CAN帧接收时",这为什么能确保数据一致性?
抱歉,之前没有理解您的问题。
我的问题是:
1、为什么当修改的消息对象等于或小于先前找到的消息对象时,将对其应用接收过滤?
2、后面的例子,"当存在未决的CAN帧接收时",这为什么能确保数据一致性?
这个确实没有这么细致研究过,我去咨询下相关的BU后给您回复。
得到的回复如下,请您看一下
Those words pertain to the inner workings of the CAN module. I sometimes feel they cause more confusion than eliminating it. You may be better off trying to understand the module from an applications level, rather than delving deep into the design details, which is almost always unnecessary.
Data consistency: In the older eCAN module, there is a possibility that a new frame may arrive in a mailbox when the CPU is in the process of reading the previously received message, potentially corrupting the read. In DCAN, the CPU cannot read the mailbox directly, but reads it through the IFx registers. I presume there is some logic in the CAN that ensures that the mailbox is not read while a reception is in progress.