如果配置参数来实现串口数据与can帧的互相转换
1、举例,串口数据格式:8数据位、1停止位、无校验、无流控。
串行帧的全部数据依次填充到CAN报文帧的数据域里。转换器一侧检测到串行总线上有数据后就立即接收并转换。
转换成的CAN报文帧信息(帧格式部分)和帧标识(帧ID)来自用户事先的配置,并且在转换过程中帧格式和帧ID一直保持不变。数据转换对应格式如下图所示。
2、如果收到的串行帧长度小于等于8个字节,依序将字符1到n(n为串行帧长度,n为正整数)填充到CAN报文的数据域的1到n个字节位置。
如果串行帧的字节数大于8,那么处理器从串行帧首个字符开始,第一次取8个字符依次填充到CAN报文的数据域。将数据发至CAN总线后,再转余下的串行帧数据填充到CAN报文的数据域,直到其数据被转换完。
该串行帧的长度无限制。
1、对于CAN总线的报文也是收到一帧就立即转发一帧。数据格式对应如下图所示。转换时将CAN报文数据域中的数据依序全部转换到串行帧中。
如果在配置的时候,“将帧信息转发到串口数据中”项选择了“勾选”,那么转换器会将CAN报文的“帧信息”字节直接填充至串行帧的最前面。
2、如果“将帧ID转发到串口数据中”项选择了“勾选”,那么也将CAN报文的“帧ID”字节全部填充至串行帧前面(如果帧信息转换,那么同时在帧信息后面)。
1、串行帧转CAN报文
假设配置的转换成CAN报文帧信息为“标准帧”,帧ID为16进制的“123”,那么转换格式如下图所示。
2、 CAN报文转串行帧
配置为:CAN报文扩展帧,“帧信息”不转换,“帧ID”转换。CAN报文和转换后的串行帧如下图所示。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:60
阅读量:32
阅读量:20
阅读量:75
阅读量:25