要在CAN上生成错误,我已经完成了更改数据字段。但是似乎只是改变数字的东西。 我想知道如何修改ACK或CRC字段以注入错误。 我可以使用软件更改该字段吗?
答案 0 :(得分:0)
否,您不能通过软件进行更改,因为消息的该部分始终在CAN Communication Controller级别及以下级别(物理层)上构建。
基本上,未在SW中设置ACK字段。发送消息时,其他节点将其“完成”,并且比特流到达ACK比特时隙。 CRC构建在Communication Controler级别上,根据应用程序希望发送的有效负载进行构建。
因此,为了在CAN消息中注入此类故障,您需要特殊的HIL(环路中的硬件)设备,该设备将强制覆盖您选择的字段。 Vector的CANSTress就是这样一种设备,但还有许多其他设备。
关于NACK错误,如果您有模拟环境,您可以在没有HIL的情况下进行模拟。或者,只需不打开群集中的其他节点,即可确保没有其他节点可以确认该消息。请注意,断开CANH和CANL电缆的连接会导致不同的错误类型。