发明内容
针对现有技术的上述缺陷,本发明实施例提供一种CAN-以太网通信网关、数据处理方法和系统。
本发明实施例一方面提供一种CAN-以太网通信网关,包括:
CAN接口模块、W5100硬件协议栈芯片和以太网接口模块,所述W5100硬件协议栈芯片分别与所述CAN接口模块和所述以太网接口模块相连;
所述W5100硬件协议栈芯片用于根据TCP/IP协议将通过所述CAN接口模块接收的终端设备发送的CAN数据信号转换成IP数据信号通过所述以太网接口模块发送到控制中心;
或者,根据所述TCP/IP协议将通过所述以太网接口模块接收的所述控制中心发送的IP数据信号转换成CAN数据信号并发送给所述终端设备。
本发明实施例另一方面提供一种应用本发明实施例提供的CAN-以太网通信网关进行的数据处理方法,包括:
若判断获知接收到CAN数据信号,则根据TCP/IP协议将所述CAN数据信号转换成IP数据信号通过以太网接口模块发送到控制中心;
若判断获知接收到IP数据信号,则根据所述TCP/IP协议将所述IP数据信号转换成所述CAN数据信号通过所述CAN接口模块发送到终端设备。
本发明实施例又一方面提供一种数据处理系统,包括上述的CAN-以太网通信网关,以及终端设备和控制中心,所述CAN-以太网通信网关与所述终端设备相连接,用于通过以太网对所述终端设备与所述控制中心之间的数据进行交互。
本发明实施例提供的CAN-以太网通信网关、数据处理方法和系统,通过CAN-以太网通信网关根据TCP/IP协议对接收到的CAN数据信号或IP数据信号转换成对应的IP数据信号或CAN数据信号,并通过对应的接口向外发送,实现了控制中心通过以太网对具有CAN总线路的终端设备进行实时监控。
具体实施方式
图1为本发明CAN-以太网通信网关一个实施例的结构示意图,如图1所示,该网关包括:
CAN接口模块11、以太网接口模块12和W5100硬件协议栈芯片13,其中,W5100硬件协议栈芯片13分别与CAN接口模块11和以太网接口模块12相连。
具体地,W5100硬件协议栈芯片具有实现硬件化TCP/IP协议栈中的传输控制协议(Transmission Control Protocol,TCP)、用户数据包协议(User Datagram Protocol,UDP)、控制报文协议(Control MessageProtocol,CMP)和组管理协议(Group Management Protocol,GMP)等协议,芯片内含16KB收/发缓冲存储器,可快速进行数据交换,W5100硬件协议栈芯片可实现全双工及半双工的传输模式,并且将10M/100Mb/s以太网的传输层和物理层数据集成到以太网集线器,利用逻辑硬件实现,使系统设计更加简单、紧凑。因此,使用W5100硬件协议栈芯片不需要考虑对以太网的控制,只需要简单的端口Socket编程,大大简化了硬件电路设计,使处理器在没有操作系统的支持下,真正实现了单芯片接入以太网。而无须过多考虑处理器的处理能力,从而大大减少软件开发的开支,具有较短的开发周期与较高的可靠性。
W5100硬件协议栈芯片13用于根据TCP/IP协议将通过CAN接口模块11接收的终端设备发送的CAN数据信号转换成IP数据信号并发送给以太网接口模块12,以太网接口模块12用于将IP数据信号发送到控制中心;或者,以太网接口模块12用于将接收的控制中心发送的IP数据信号发送给W5100硬件协议栈芯片13,W5100硬件协议栈芯片13用于根据TCP/IP协议对IP数据信号进行转换生成CAN数据信号并通过CAN接口模块11发送给终端设备。
需要说明的是,W5100硬件协议栈芯片1具有4个独立的Socket通道,每个socket工作于TCP/IP协议的C/S模式,由于以太网-CAN网关通常作为一个子设备而存在,所以采用Client模式,在该模式下,网关定时向终端设备发出连接请求,建立连接,开始进行数据交换。进一步地,考虑到系统的灵活性,系统也可以采用UDP的通信模式进行数据交换,具体的工作方式可以根据实际应用而定。
本实施例提供的CAN-以太网通信网关,通过CAN-以太网通信网关中的W5100硬件协议栈芯片根据TCP/IP协议对接收到的CAN数据信号或IP数据信号转换成对应的IP数据信号或CAN数据信号,并通过对应的接口向外发送,实现了控制中心通过以太网对具有CAN总线路的终端设备进行实时监控。
图2为本发明CAN-以太网通信网关另一实施例的结构示意图,如图2所示,基于图1所示实施例,该网关还包括:第一光电隔离接口模块14和第二光电隔离接口模块15;其中,第一光电隔离接口模块14分别与W5100硬件协议栈芯片13和CAN接口模块11相连,用于对CAN数据信号进行光电转换。第二光电隔离接口模块15分别与W5100硬件协议栈芯片13和以太网接口模块12相连,用于对IP数据信号进行光电转换。
由于测控装置与被测的电子装置之间不可避免地要进行长线传输,信号在传输过程中很易受到干扰,导致传输信号发生畸变或失真;另外,在通过较长电缆连接的相距较远的装置之间,常因装置间的地线电位差,导致地环路电流,对电路形成共模干扰电压。为确保长线传输的可靠性,可采用光电耦合隔离措施,将两个电路的电气连接隔开,切断可能形成的环路,使它们相互独立,提高电路系统的抗干扰性能。
光电隔离接口模块的实现原理是把发光二极管和光敏三极管组装在一起并封装在一个管壳内组成的。发光二极管两端为信号输入端,光敏三极管集电极和发射极分别作为光电耦合器的输出端,它们之间的信号传输是靠发光二极管在信号电压的控制下发光,传给光敏三极管来完成的。当电信号送入光电耦合器的输入端时,发光二极管通过电流而发光,光敏元件受到光照后产生电流,电路导通。当输入端无信号,发光二极管不亮,光敏三极管截止,电路截止。
由于光电隔离接口模块是被密封在管内,或是被压膜塑料封装,所以不会受到外界光的干扰。其中,发光二极管的电阻非常小,而干扰源的内阻一般很大,能够传送到光电隔离接口模块的输入端的干扰信号就变得很小;光电隔离接口模块的输入回路与输出回路之间没有电器联系,之间分布的电容极小而绝缘电阻又很大,因此回路一端的各种干扰噪声都很难传到另一端,避免了共阻抗耦合的干扰信号的产生;光电隔离接口模块14的响应速度极快,其响应延迟时间只有10μs左右,适于对响应速度要求很高的场合。
本实施例提供的CAN-以太网通信网关,通过光电隔离接口模块对传输的数据信号进行光电处理,实现了在传输数据信号的同时能有效地抑制尖脉冲和各种噪声干扰,提高了系统的抗干扰能力。
图3为本发明CAN-以太网通信网关又一实施例的结构示意图,如图3所示,基于图1所示实施例,W5100硬件协议栈芯片13包括主体模块131,还包括STM32F103C8T6处理器132,
STM32F103C8T6处理器132是基于32位ARM微处理器,处理能力达1.25×72MIPS、该芯片采用72MHz主频、64kB Flash,20kB SRAM、三个标准UART口、二个SPI口、一个高性能CAN口、一个USB口、四个定时器等几乎所有常用的通信口,同时,它用于提高了代码密度的Thumb-2指令集,大幅度增强中断响应,具有业界较低的功耗水平。STM32F103C8T6处理器132与主体模块131之间通过串行外围设备接口(serialperipheral interface,SPI)进行信息交互,需要说明的是,本实施例中对主体模块所包含的具体单元和功能不作限制,只对改进点进行详细说明。STM32F103C8T6处理器132用于根据主体模块131内TCP/IP协议将所述主体模块131接收到的数据信号的格式进行从源协议到目标协议的转换。
具体地,STM32F103C8T6处理器132通过UART1与CAN接口模块11相连,并通过UART2与以太网接口模块12相连,其中,STM32F103C8T6处理器132上UART1的串口接收端RX1与CAN接口模块11中的发送接口电路相连,STM32F103C8T6处理器132通过RX1接收终端设备通过CAN接口模块11中的发送接口电路发送的CAN数据信号;UART1上的串口发送端TX1与CAN接口模块11中的接收接口电路相连,终端设备通过CAN接口模块11中的接收接口电路接收STM32F103C8T6处理器132通过TX1发送的CAN数据信号。STM32F103C8T6处理器132上的UART2通过输入输出端口I/O口为以太网接口模块12提供电源和AT指令信号和以太网接口模块12进行通信,I/O口具体包括:数据载波检测(Data Carrier Detect,DCD)接口信号、数据终端准备(Data Terminal Ready,DTR)接口信号、数据准备(Data Set Ready,DSR)接口信号、请求发送(Request To Send,RTS)接口信号和清除发送(Clear To Send,CTS)接口信号。
STM32F103C8T6处理器132若通过CAN接口模块11接收到终端设备发送的CAN数据信号,则根据内嵌的TCP/IP协议将CAN数据信号加上IP数据信号头转换成IP数据信号后通过I/O口发送给以太网接口模块12,或者,控制中心通过以太网发送IP数据信号通过I/O口发送给STM32F103C8T6处理器132,STM32F103C8T6处理器132根据内嵌的TCP/IP协议对IP数据信号进行拆包转换成CAN数据信号通过CAN接口模块11发送给终端设备,实现了控制中心对终端设备的监控。
进一步地,STM32F103C8T6处理器132还用于通过软件狗进行监控,以便执行程序出现错误时对网关进行自动上电复位,使网关工作稳定可靠。
本实施例提供的CAN-以太网通信网关,通过CAN-以太网通信网关中的STM32F103C8T6处理器根据TCP/IP协议对接收到的CAN数据信号或IP数据信号转换成对应的IP数据信号或CAN数据信号,并通过对应的接口向外发送,实现了控制中心通过以太网对具有CAN总线路的终端设备进行实时监控。
图4为本发明数据处理方法一个实施例的流程图,如图4所示,该方法包括:
步骤100,W5100硬件协议栈芯片接收数据信号;
步骤101,W5100硬件协议栈芯片判断所接收的数据信号的是否为CAN数据信号,若是,则执行步骤102,若否,则执行步骤103;
步骤102,若判断获知接收到CAN数据信号,则根据TCP/IP协议将CAN数据信号转换成IP数据信号通过以太网接口模块发送到控制中心;
步骤103,若判断获知接收到IP数据信号,则根据所述TCP/IP协议将所述IP数据信号转换成所述CAN数据信号通过所述CAN接口模块发送到终端设备。
本方法实施例是基于上述实施例提供的CAN-以太网通信网关实现的,具体处理流程可以参见上述装置实施例,此处不再赘述。
本实施例提供的数据处理方法,通过CAN-以太网通信网关中的W5100硬件协议栈芯片根据TCP/IP协议对接收到的CAN数据信号或IP数据信号转换成对应的IP数据信号或CAN数据信号,并通过对应的接口向外发送,实现了控制中心通过以太网对具有CAN总线路的终端设备进行实时监控。
基于上述实施例,进一步地,通过光电隔离接口模块将CAN接口模块发送的CAN数据信号进行光电耦合处理后,根据TCP/IP协议将所述CAN数据信号转换成IP数据信号,或者,将所述以太网接口模块发送的IP数据信号进行光电耦合处理后,根据TCP/IP协议将所述IP数据信号转换成CAN数据信号。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明数据处理系统一个实施例的结构示意图,如图5所示,该系统包括:CAN-以太网通信网关1,以及终端设备2和控制中心3,其中,CAN-以太网通信网关1与终端设备2相连接,用于通过以太网对终端设备2与控制中心3之间的数据进行交互,其中,CAN-以太网通信网关1可以为本发明实施例提供的CAN-以太网通信网关,本实施例提供的数据处理系统中各装置的功能和处理流程,可以参见上述方法和装置实施例,此处不再赘述。
本实施例提供的数据处理系统,通过CAN-以太网通信网关中的W5100硬件协议栈芯片根据TCP/IP协议对接收到的CAN数据信号或IP数据信号转换成对应的IP数据信号或CAN数据信号,并通过对应的接口向外发送,实现了控制中心通过以太网对具有CAN总线路的终端设备进行实时监控。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。