您当前的位置:五五电子网电子知识电子知识资料科研成果基于Ethernet 的冗余CAN 总线协议转换器软硬件设计 正文
基于Ethernet 的冗余CAN 总线协议转换器软硬件设计

基于Ethernet 的冗余CAN 总线协议转换器软硬件设计

点击数:7310 次   录入时间:03-04 11:58:09   整理:http://www.55dianzi.com   科研成果

    2. 2 CAN / 以太网协议转换程序

    CAN/ 以太网协议转换程序的大致流程如下:在系统接收到数据后会先对数据的数据类型进行判断,如果接收到的数据是以太网数据,就会依次去掉IP 头.TCP 或UDP 头和应用层头 ,然后将解析后的数据封装为CAN 报文格式,并存人CAN 接口电路发送缓冲区,由CAN 接口电路发往CAN 总线中相应的节点设备.如果接收到的数据是CAN 协议报文,便解析出数据部分,然后将报文数据部分封装成规定的应用层格式并存入以太网接口发送缓冲区,最后将数据封装成以太网帧格式后通过以太网接口电路发往至以太网.

    协议转换流程图见图5. 

    2. 3 以太网通信程序

    以太网通信程序主要包括CP2200 初始化程序.以太网数据发送程序和接收程序.CP2200 芯片的初始化程序的作用主要是对芯片寄存器进行常规配置 ,这里就不进行详细说明.

    以太网数据的发送和接收程序:由于主控芯片C8051F340 的处理速度以及内部集成的资源有限,不可能集成所有的TCP/ IP 协议,因此需要对TCP/ IP 协议进行适当的剪裁后才能使用 .在本设计中的协议栈主要包括IP 协议.ICMP 协议.TCP 协议.ARP 协议 .

    本设计的嵌入式TCP/ IP 协议栈的流程见图6.     

    基本流程为在CP2200 芯片从以太网接收到有效数据后,单片机会调用相关程序将该数据包从CP2200 的接收缓冲区读取,然后判断该数据帧是IP 数据包还是ARP 数据 ,如果判断为接收到的是IP 数据包时,那么就继续判断是UDP 数据包还是ICMP 数据包,如果是UDP 数据包,就根据UDP 数据包首部的读取结果来处理相应数据,完成CAN 协议数据的提取并将其存储到相应的数据缓冲区,从而实现以太网数据的解码;如果判断结果是ICMP 数据包那么就处理该数据包并进一步处理IP 数据包;如果接收到的是ARP 数据,就判断其是ARP 请求还是ARP 应答并根据结果进行相应的处理,如果该数据帧既不是IP 数据包又不是ARP数据,那么就将该数据视为无效数据而抛弃,并初始化数据接收缓冲区.

    3 结束语

    通过在航天器地面仿真测试设备上的实际应用,表明该以太网与双通道CAN 总线协议转换器可以满足使用要求,性能稳定,可实现CAN 总线数据的监测.总线参数的设计.总线数据的收发,并且其具有的低成本.高可靠性等特点还可以扩展应用于工厂.变电站等工业场合,实现分布式控制系统中管理监控层与生产测控层之间的远程互联.



上一页  [1] [2] 


本文关键字:转换器  科研成果电子知识资料 - 科研成果