发明名称 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号中国人民解放军国防科学技术大学计算机学院网络所