发明名称 |
CAN总线上IP数据包和CAN消息之间数据格式相互转换的方法 |
摘要 |
本发明公开了一种CAN总线上IP数据包和CAN消息之间数据格式相互转换的方法,其步骤为:(1)CAN接口虚拟化:在系统中注册CAN设备时,按照注册以太网接口的标准格式注册,在定义输入输出接口模块时,使用自定义的IPoverCAN处理接口与网络层和CAN设备交互;(2)发送IP报文和接收CAN消息:发送IP报文时,通过调用以太网接口使用的Socket接口,经系统逐层调用后调用至IPoverCAN模块;在接收CAN消息时,来自于同一个源地址的CAN消息放入同一个IP包缓冲区,直到组装成完整的IP包交付给上层。本发明通过将CAN设备抽象为以太网接口,简化了硬件结构,扩大了其适应范围,还能使上层应用更为广泛从而便于上层处理数据和应用编程。 |
申请公布号 |
CN102255800B |
申请公布日期 |
2014.04.02 |
申请号 |
CN201110172351.7 |
申请日期 |
2011.06.24 |
申请人 |
中国人民解放军国防科学技术大学 |
发明人 |
刘波;吴纯青;虞万荣;赵宝康;董绍进;时向泉;王小峰 |
分类号 |
H04L12/861(2013.01)I;H04L12/40(2006.01)I;H04B7/185(2006.01)I |
主分类号 |
H04L12/861(2013.01)I |
代理机构 |
湖南兆弘专利事务所 43008 |
代理人 |
周长清 |
主权项 |
一种CAN总线上IP数据包和CAN消息之间数据格式相互转换的方法,其特征在于,步骤为:(1)CAN接口虚拟化:在系统中注册CAN设备时,按照注册以太网接口的标准格式注册,在定义输入输出接口模块时,使用自定义的IPoverCAN处理接口与网络层和CAN设备交互;IPoverCAN处理接口用来接收网络层发送的IP数据包,经处理后发送至CAN总线;处理CAN总线上接收的CAN消息时,重组为IP数据包交给网络层应用;(2)发送IP数据包和接收CAN消息:发送IP数据包时,通过调用以太网接口使用的Socket接口,经系统逐层调用后调用至IPoverCAN模块的发送模块,经分割模块处理后转换成CAN消息,然后再调用CAN驱动直接发送至CAN总线;在接收CAN消息时,通过判断IPoCCtrl字段是否大于零,可以得知是否为IP数据包分割得来;如果是,则读取CAN消息源地址,再判断是起始、中间还是最后一个CAN消息;来自于同一个源地址的CAN消息放入同一个IP数据包缓冲区,直到组装成完整的IP数据包交付给上层;如果等于零,则作为发向CAN设备的普通CAN消息处理。 |
地址 |
410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院网络所 |