Ethernet-CAN协议转换器制造技术

技术编号:7976466 阅读:282 留言:0更新日期:2012-11-16 01:49
本发明专利技术公开了一种Ethernet-CAN协议转换器,由微控制器(1)、外围电路(2)、CAN模块(3)和Ethernet模块(4)组成,所述微控制器(1)分别与外围电路(2)、CAN模块(3)和Ethernet模块(4)相连,所述Ethernet-CAN协议转换器能够实现从CAN协议数据到Ethernet帧的转换,和从Ethernet帧到CAN协议数据的转换。本发明专利技术解决了CAN协议数据和以太网帧这两种格式数据之间的相互转化问题。针对短帧浪费带宽、容易引起网络拥塞等问题,本发明专利技术在TCP协议中实现Nagle算法,大幅度减少短帧数量,节省带宽。

【技术实现步骤摘要】

本专利技术涉及工业控制领域,特别涉及一种实现基于TCP/IP技术的工业以太网和CAN总线之间相互通信的协议转换器。
技术介绍
以太网技术在上世纪90年代初进入工业控制领域,以其开放性高、兼容性好、扩展灵活等特点,取得了长足的发展。现场总线技术实时性强、可靠性高,但未能实现跨区域的网络连接。因此以太网-现场总线相结合的模式已经成为工业控制发展的重点。CAN总线是当今现场总线的典型代表。TCP/IP技术具有良好的实用性和开发性,基于TCP/IP技术的以太网已经广泛应用于工业通信中。工业现场中大量存在短帧数据报(1-4字节),使得带宽利用率极低,拥塞发生的可能性也增大。Nagle算法作为TCP拥塞控制的标准,可以很好的解决短帧泛滥问题,但下位机Nagle算法和上位机延迟确认策略(Delayed Ack)进行交互时,很容易产生暂时性“死锁”(“deadlock”)现象,导致数据不能实时传输。针对暂时性“死锁”现象,现在一般有两种解决办法一种是关闭Nagle算法,但是以牺牲带宽为代价;另一种是采用改进的Nagle算法,相对来说比较复杂、实施比较困难且通用性不强。
技术实现思路
为了解决现有技术中的上述技术问题,本专利技术提供一种体积小、结构简单坚固、成本低廉、可靠性高、能够满足工业控制实时性需要的Ethernet-CAN协议转换器。所述Ethernet-CAN协议转换器,由微控制器、外围电路、CAN模块和Ethernet模块组成,所述微控制器分别与外围电路、CAN模块和Ethernet模块相连,所述CAN模块由CAN收发器和CAN接口组成,所述Ethernet模块由以太网PHY收发器和集成网络隔离变压器的RJ45插座组成,所述Ethernet-CAN协议转换器能够实现从CAN协议数据到Ethernet巾贞的转换,和从Ethernet帧到CAN协议数据的转换。进一步的,所述的Ethernet-CAN协议转换器嵌入了 TCP/IP协议栈,来实现TCP、IP、ARP、ICMP 协议。进一步的,在其应用层使用自定义协议,所述自定义协议的数据格式包括代表数据流向Flag字段,代表CAN节点ID的CAN_ID字段和代表数据的CAN_DATA字段。进一步的,在TCP协议中使用Nagle算法,工作流程为TCP发送端接收应用层产生的数据,如果此时满足两个条件接收到上个数据包的确认或者TCP数据长度已达到最大报文段长度(MSS),立即发送TCP数据;否则将TCP接收到的数据组块,直至触发上述两个条件。进一步的,根据数据信号对实时性要求和数据类型不同,将数据信号分为高、中、低三个优先级。进一步的,对于应用层数据采取优先级处理机制,工作流程为对高优先级数据采取填充缓冲区的处理方式,即如果TCP接收到应用层产生的高优先级数据,立即将该数据填充到最大报文段长度,触发Nagle算法的发送数据条件,立即发送数据而不必等待确认的到来;对中优先级数据采取提高采样频率的处理方式,即提高该类数据采样频率,使得其在200ms内产生一个等于MSS的报文,从而打破“死锁”机制;对于低优先级数据信号,即能容忍200ms传输时延的信号,不做处理。 进一步的,所述从CAN协议数据到Ethernet巾贞的转换过程为 ①启动CAN模块接收数据; ②如果接收到数据,保存到应用层缓冲区;如果未接收到数据,返回步骤①; ③对应用层缓冲区中的数据采取优先级机制处理; ④如果此时满足Nagle算法发送数据条件,对应用层缓冲区数据进行TCP/IP封包并立即发送,返回步骤①;如果此时不满足Nagle算法发送数据条件,返回步骤①。进一步的,所述从CAN协议数据到Ethernet巾贞的转换过程为 ①启动Ethernet模块接收数据; ②如果Ethernet模块接收缓冲区有数据,判断网络层协议类型;如果Ethernet模块接收缓冲区没有数据,返回步骤①; ③如果步骤②中网络层协议类型为ARP协议,处理ARP报文,返回步骤①;如果步骤②中网络层协议类型为IP协议,处理IP报文; ④判断步骤③中IP报文所承载的上层协议类型,如果为ICMP协议,处理ICMP报文,返回步骤①;如果为TCP协议,处理TCP报文,返回步骤①; ⑤如果步骤④中TCP报文携带有CAN数据,发送CAN数据,返回步骤①;否则直接返回步骤①。本专利技术所带来的效果是实现TCP/IP协议和CAN协议之间的相互转换,能够实现Ethernet和CAN总线之间相互通信。针对大量短帧数据报,在TCP协议中实现Nagle算法,大幅度减少短帧数据包数量,节省网络带宽、降低网络拥塞发生的可能性。对实时性要求高的信号,在不修改Nagle算法的前提下,采用填充缓冲区或者提高采样频率的措施,消除暂时性“死锁”现象,保证数据传输的实时性。附图说明图I为Ethernet-CAN协议转换器实施方式示意图 图2为Ethernet-CAN协议转换器结构框图 图3为Ethernet-CAN协议转换器数据处理过程图 图4为Ethernet-CAN协议转换器协议流程图 图5为应用层自定义协议数据格式 图6为Nagle算法工作流程图 图7为Nagle算法和延迟确认策略交互方式图 图8为采样频率为I字节/ms RTT分布图 图9为采样频率为10字节/ms RTT分布图 图10为优先级工作机制流程11为Ethernet-CAN协议转换器工作流程图具体实施例方式下面结合附图对本专利技术作进一步说明。如图I所示,图I为Ethernet-CAN协议转换器实施方式示意图。本专利技术的Ethernet-CAN协议转换器作为CAN总线和以太网之间的桥梁,实现CAN总线和以太网之间的相互通信。图2为Ethernet-CAN协议转换器结构框图。所述 Ethernet-CAN协议转换器在硬件设计上由微控制器I、外围电路2、CAN模块3、Ethernet模块4组成。所述CAN模块3由CAN收发器和CAN接口组成。所述Ethernet模块4由以太网PHY收发器和集成网络隔离变压器的RJ45插座组成。所述微控制器I为所述Ethernet-CAN协议转换器的核心,分别与外围电路2、CAN模块3和Ethernet模块4相连,实现CAN协议数据和以太网帧这两种格式数据之间的相互转化。本专利技术选择飞利浦公司生产的ARM7系列芯片LPC2368作为微控制器I。所述外围电路2为所述微控制器I的最小系统电路,包括时钟电路、复位电路、电源电路和JTAG接口电路。需要说明的是,本专利技术采用的外部时钟晶振频率为11. 0592MHz,采用的电源电路为5V-3. 3V直流电源电路。所述CAN模块3由CAN收发器和CAN接口两部分组成。CAN收发器通过总线CANH和CANL分别发送和接收数据,CAN接口为总线CANH和CANL提供输入输出接口。本专利技术中采用TJA1040芯片作为CAN收发器。所述Ethernet模块4由以太网PHY收发器和集成网络隔离变压器的RJ45插座组成。以太网PHY收发器具有数据信号收发、曼彻斯特编解码以及冲突检测等功能。本专利技术采用DM9161AEP芯片作为以太网PHY收发器,选择J00-0061NL作为RJ45插座。该插座集成网络隔离变压器为一体,可以起到克制共模干本文档来自技高网...

【技术保护点】
一种Ethernet?CAN协议转换器,由微控制器(1)、外围电路(2)、CAN模块(3)和Ethernet模块(4)组成,所述微控制器(1)分别与外围电路(2)、CAN模块(3)和Ethernet模块(4)相连,其特征在于:所述CAN模块(3)由CAN收发器和CAN接口组成,所述Ethernet模块(4)由以太网PHY收发器和集成网络隔离变压器的RJ45插座组成,所述Ethernet?CAN协议转换器能够实现从CAN协议数据到Ethernet帧的转换,和从Ethernet帧到CAN协议数据的转换。

【技术特征摘要】
1.一种Ethernet-CAN协议转换器,由微控制器(I )、外围电路(2)、CAN模块(3)和Ethernet模块(4 )组成,所述微控制器(I)分别与外围电路(2 )、CAN模块(3 )和Ethernet模块(4)相连,其特征在于所述CAN模块(3)由CAN收发器和CAN接口组成,所述Ethernet模块(4)由以太网PHY收发器和集成网络隔离变压器的RJ45插座组成,所述Ethernet-CAN协议转换器能够实现从CAN协议数据到Ethernet巾贞的转换,和从Ethernet巾贞到CAN协议数据的转换。2.根据权利要求I所述的Ethernet-CAN协议转换器,其特征在于所述的Ethernet-CAN协议转换器嵌入了 TCP/IP协议栈,来实现TCP、IP、ARP、ICMP协议。3.根据权利要求2所述的Ethernet-CAN协议转换器,其特征在于在其应用层使用自定义协议,所述自定义协议的数据格式包括代表数据流向Flag字段,代表CAN节点ID的CAN_ID字段和代表数据的CAN_DATA字段。4.根据权利要求2所述的Ethernet-CAN协议转换器,其特征在于在TCP协议中使用Nagle算法,工作流程为TCP发送端接收应用层产生的数据,如果此时满足两个条件接收到上个数据包的确认或者TCP数据长度已达到最大报文段长度(MSS),立即发送TCP数据;否则将TCP接收到的数据组块,直至触发上述两个条件。5.根据权利要求4所述的Ethernet-CAN协议转换器,其特征在于根据数据信号对实时性要求和数据类型不同,将数据信号分为高、中、低三个优先级。6.根据权利要求5所述的Ethernet-CAN协议转换器,其特征在于对于应用层数据采取优先级处理机制,工作流程为对高...

【专利技术属性】
技术研发人员:余世明王宝宝
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1