我在验证CAN奇偶校验的时候使能了PMD这个位域,但是不管是正常发送还是接收CAN报文,这个位域都会显示出现错误位并且这个寄存器也是相应邮箱的值。所以我想请问如何正确的使用CAN奇偶校验这个机制呢。
您好
已经收到了您的案例,调查需要些时间,感谢您的耐心等待
您好,
奇偶位可通过Message RAM查看,以确认此功能是否开启(spruiw9c.pdf “28.14 Message RAM”)
由于这是芯片内部处理的,无法仿真报错机制。
意思是仿真情况下不能校验,只有离线运行才能正常使用校验功能吗
您好,想再请问一下具体是查看messageram的那个位呢
我是说,报错机制对于正确的数据是没用的。
“28.15.1.5 CAN Error Generation Example”中是有例程参考的,但要保证数据帧中的个别位错误,导致的奇偶校验错误,有一定难度,您可以试一下。
就是我实际想问的就是如何正确使用这个CAN parity check mechanism,我在使能了这个PMD位域后,发送正确数据为什么会触发校验错误呢,导致发送不了正常报文了
这个就是通过PMD位使能禁止,其发送时的奇偶值和接收的奇偶校验都是CAN模块自动进行的。