图5 串行帧到CAN帧
透明带标识转换模式下, CAN报文转为串行帧时的形式如图6。若同样配置CAN帧信息为标准帧,帧ID信息为起始3长度1,则转换时将丢失ID0的数据。此时CAN帧 中的数据能正常被接收,但必然缺失帧ID信息(ID0本身不全为0时)。为了正常转换标准帧的帧ID信息,下图的转换情景必须将帧ID信息中的帧长度设置为2。
图6 CAN帧到串行帧
4 . 转换示例
假设CAN报文“帧ID”在串行帧中的起始地址是2,长度是3(扩展帧情况下),串行帧发送的数据分别为000,001,002,003,004,005,006,007,008,009,00a,00b,00c,00d,00e,00f,则转换结果如图7。
图7 示例1
若配置起始地址是2,长度是3(扩展帧情况下),CAN报文的帧ID为000123456,数据为055,055,055,055,055,055则转换结果如图8。
图8 示例2
5 .总结
以上为串口转CAN“透明带标识”模式下的的转换方式,该模式特点是可以灵活设定一个节点发送的CAN帧ID信息。笔者将介绍透明转换、透明带标识转换、自定义协议转换以及moudbus转换的内容,欢迎关注往期及后期文章。