同时支持多种通讯总线转换的系统及方法与流程

文档序号:14351114阅读:375来源:国知局
同时支持多种通讯总线转换的系统及方法与流程

本发明涉及一种通讯转换装置,具体涉及一种同时支持多种通讯总线转换成其他多种通讯总线的系统及方法,属于通信总线技术领域。



背景技术:

can是控制器局域网络(controllerareanetwork,can)的简称,是国际上广泛应用的现场总线之一。spi是串行外设接口(serialperipheralinterface)的简称,是一种高速的,全双工,同步的通信总线,出于简单易用的特性,如今越来越多的芯片集成了这种通信协议。rs485是现在被广泛应用的一种布网方式,实施简单方便,支持rs485的仪表传感器很多。而以太网(ethernet)是当今现有局域网采用的最通用的通信协议标准。

目前这几种通讯方式广泛应用在工业控制自动化、道路交通控制自动化、工业集散分布系统、闭路监控、安防系统等领域中,这就带来了不同通讯方式的互联互通问题。所以需要转换装置来进行转换,而现有转换装置往往仅支持一种转换为另一种或者仅支持多种转换为另一种。所以在现场有多种通讯设备需要互联互通时需要多种转换装置来进行连接。比如有rs485接口modbusrtu协议、以太网接口modbustcp协议和can接口canopen协议的设备各一台,而该三台设备需要相互通讯,就需要有三种转换设备将三种协议转换成同一种总线协议。这时任意一台设备需要与另一台设备通讯时就需要经过两套转换设备的二次转换,这就带来了经过多种转换装置转换以后延迟增加即每转换一次一般都会有1-5ms的延迟、故障点增多、线束增多、查找故障点困难、成本增加、占用空间过多等各种问题。因此急需一种新的设计方案解决这些技术问题。



技术实现要素:

本发明正是针对现有技术中存在的技术问题,提供一种同时支持多种通讯总线转换成其他多种通讯总线的装置,该方案提供一种基于can、spi、rs485、以太网之间的相互通讯,系统参数可配置的装置,使得只使用该装置就可以实现四种通讯实时互联互通,解决了使用多种转换设备造成延迟增加、故障点增多、线束增多等各种问题,并在此基础上加入优先级调度,多线程处理、应用层协议可扩展等功能。

为了实现上述目的,本发明的技术方案如下,一种同时支持多种通讯总线转换系统,所述系统通过构建一条虚拟总线,根据参数配置模块配置的参数,将读取的多种数据地址位智能判断其所要转换的现场总线,该虚拟总线由硬件平台和软件平台组成,所述硬件平台用于接收、发送外部总件的数据,软件平台用于处理转换由硬件平台接收总线数据。

作为本发明的一种改进,所述参数配置模块由通讯驱动参数模块,优先级判断模块,转换协议判断参数模块组成,所述通讯驱动参数模块用于配置驱动程序的初始化参数;所述优先级判断用于配置虚拟总线上的优先级模块运行参数;转换协议判断参数模用于根据数据地址位判断数据帧软件层转换协议及发送到哪个通讯接口;

作为本发明的一种改进,所述硬件平台包括arm处理器、电源模块、数据存储模块、两个rs485收发模块、can收发模块、以太网phy芯片,所述arm处理器通过外设引脚与数据存储模块、rs485收发模块、can收发模块、以太网phy芯片连接,spi外设引脚与板上排线座相连,通过排线与其他设备连接,该模块为本设备的主控模块,所述电源模块用于供电;所述数据存储模块用于存储配置和故障信息;所述rs485收发模块一个与现场485总线连接,一个用于连接电脑对该装置进行参数配置;所述can收发模块通过can接口与现场can总线连接;所述以太网phy芯片通过rj45网络插座接入以太网。该系统无切换装置,在运行中无需人为切换,而是根据配置的参数,读取数据地址位智能判断所要转换的现场总线。

作为本发明的一种改进,所述硬件平台还包括数据缓存模块,所述arm处理器通过外设引脚连接数据缓存模块,所述数据缓存模块用于虚拟总线数据包的临时存储和转换。

作为本发明的一种改进,所述软件系统包括底层软件和上层程序,所述底层软件包含嵌入式实时系统、can总线驱动程序、以太网驱动程序以及usart驱动程序,所述上层程序包含tcp/ip协议栈lwip、modbusrtu协议、canopen协议、modbustcp协议、自定义协议等、核心虚拟总线程序,嵌入式实时系统为各个软件模块提供必要的编程接口,can总线驱动程序、以太网驱动程序、usart驱动程序用于对外设提供配置与使用接口,lwip提供对以太网ip数据包的支持,modbusrtu协议、canopen协议、modbustcp协议、自定义协议等提供对应用层协议的支持将各总线接收到的数据解码成本装置设计的虚拟总线协议并放入相应的接收数据缓存中去,同时将发送缓存区的虚拟总线协议数据编码成对应的应用协议数据并发送出去,各协议模块都含有优先级处理模块使优先级高的数据优先处理优先发送提高总线传输效率。虚拟总线程序处理暂存在数据缓存模块中来自应用层协议解码成的虚拟总线协议的数据帧,他是本设备软件系统的核心模块,为了达到各通讯接口可以任意收发其他各接口总线的数据和自动判断发送到哪个目标总线和应用协议的目的,本系统构建了一条虚拟总线,该虚拟总线上的设备为接口上的外部总线和协议模块组成的虚拟设备,该虚拟总线上的总线协议为本系统自定义的特殊协议,该设计提高了系统的灵活性,设备仅需配置软件的简单配置就可以完成虚拟总线上设备配置,同时也增强了系统的扩展性,设备仅需通过固件升级就可以完成应用层协议的增加。首先虚拟总线程序中的优先级模块轮询数据缓存模块中的各总线的接收数据帧数位(也就是查看虚拟总线上的虚拟设备是否有未处理的接收数据),如接收数据帧数位非零证明有待处理的接收数据,接着读取该接收数据的地址位,待所有端口轮询完毕统一根据之前读取到的接收数据地址位判断处理优先级、软件层转换协议和发送接口,之后送入对应的应用层协议将数据编码,放入相应的发送数据缓存区等待发送,此时地址位确定发送优先级、软件层转换协议和发送接口(如图4)。而数据地址对应的优先级、软件层转换协议和发送接口设置由电脑端软件通过485接口进行配置并存入存储模块。

一种同时支持多种通讯总线转换方法,所述方法如下,1)将can、spi、rs485、以太网分别接入到现场的总线中去;2)将电脑的485接口与该设备的配置接口连接,并使用配置软件配置各接口数据帧地址位对应的优先级、软件层转换协议和发送接口以及四种通讯接口通讯参数配置比如波特率,主从模式等,并存入存储模块中,每次上电自动加载上次的配置参数;3)当某一个现场总线向接口发送数据时,数据帧通过相应的通讯模块进入arm处理器、应用层协议模块(根据接口和参数配置的设置可以是modbusrtu协议、canopen协议、modbustcp协议或者自定义协议)通过相应的驱动程序取得协议数据帧并解码为虚拟总线协议数据帧并存入自己的接口接收数据缓存区;4)当核心虚拟总线程序模块监测到接收数据缓存区有数据时首先读取接收数据缓存区中数据帧的地址位,根据地址位判断数据帧转换发送到哪个接口,如果同时有多个通讯接口接收到的数据帧发往同一个通讯接口,数据处理模块将根据地址位判断发送优先级,之后处理优先数据帧并放入相应的发送缓存区,应用层协议模块监测到发送缓存区中的数据帧后根据地址位定义将其编码为相应的数据帧格式并将它写入通讯驱动程序中的发送函数发送出去。

相对于现有技术,本发明具有如下优点,该方案提供一种基于can、spi、rs485、以太网之间的相互通讯、系统参数可配置的装置,使得只使用该装置就可以实现四种通讯实时互联互通,解决了使用多种转换设备造成延迟增加、故障点增多、线束增多、成本增加、占用空间过多等各种问题,而运行中的转换模式完全由软件自动切换不需要人工干预,而切换完全由数据地址位控制,使得不需要改变其他通用标准协议,增加了对各种协议的兼容性。该装置使用了虚拟总线概念来进行通讯转换,使得仅使用几种转换应用协议模块就可以支持多种转换形式,使得本方法具备结构简单、稳定性好、效率高、速度快等优点。而且在此基础上加入优先级调度,多线程处理、应用层协议可扩展等功能,从而更进一步的增加了该系统的用户体验;由于核心数据处理程序处理的是通过应用层协议解码得来的虚拟总线协议数据帧,所以只需要增加应用协议模块就可以扩展应用协议,使得该设备可通过简单的固件升级支持更多的应用层协议。而且核心虚拟总线程序为四个硬件接口分别提供了接收发送缓存,使得该装置可以多线程同时处理四个硬件接口的数据帧,从而减少数据处理时间减少了转换延时。

附图说明

图1为本发明硬件结构示意图;

图2为本发明程序逻辑示意图;

图3为本发明结构示意图。

图4为本发明虚拟总线示意图

图中:1、arm处理器;2、电源模块;3、数据存储模块;4、rs485调试接口;5、rs485收发模块;6、can收发模块;7、以太网phy芯片;8、spi外设接口;9、数据缓存模块。

具体实施方式:

为了加深对本本发明的理解,下面结合附图对本实施例做详细的说明。

实施例1:参见图1-图4,一种同时支持多种通讯总线转换系统,所述转换系统包括硬件平台和软件系统,所述硬件平台由arm处理器1、电源模块2、数据存储模块3、数据缓存模块9、两个rs485收发模块5、can收发模块6、以太网phy芯片7组成硬件平台,数据缓存模块可增大系统的数据处理量和减少数据缓冲区溢出的可能,所述arm处理器1通过外设引脚与数据存储模块3、rs485收发模块5、can收发模块6、以太网phy芯片7连接,spi外设引脚与板上排线座相连,通过排线与其他设备连接,该模块为本设备的主控模块。所述电源模块用于供电;所述数据存储模块用于存储配置和故障信息;所述rs485收发模块一个与现场485总线连接,一个用于连接电脑对该装置进行参数配置;所述can收发模块通过can接口与现场can总线连接;所述以太网phy芯片通过rj45网络插座接入以太网。该系统无切换装置,在运行中无需人为切换,而是根据配置的参数,读取数据地址位智能判断所要转换的现场总线。所述软件系统包括底层软件和上层程序,所述底层软件包含嵌入式实时系统、can总线驱动程序、以太网驱动程序以及usart驱动程序,所述上层程序包含tcp/ip协议栈lwip、modbusrtu协议、canopen协议、modbustcp协议、自定义协议等、核心虚拟总线程序,嵌入式实时系统为各个软件模块提供必要的编程接口,can总线驱动程序、以太网驱动程序、usart驱动程序用于对外设提供配置与使用接口,lwip提供对以太网ip数据包的支持,modbusrtu协议、canopen协议、modbustcp协议、自定义协议等提供对应用层协议的支持将各总线接收到的数据解码成本装置设计的虚拟总线协议并放入相应的接收数据缓存中去,同时将发送缓存区的虚拟总线协议数据编码成对应的应用协议数据并发送出去,各协议模块都含有优先级处理模块使优先级高的数据优先处理优先发送提高总线传输效率。虚拟总线程序处理暂存在数据缓存模块中来自应用层协议解码成的虚拟总线协议的数据帧,他是本设备软件系统的核心模块,为了达到各通讯接口可以任意收发其他各接口总线的数据和自动判断发送到哪个目标总线和应用协议的目的,本系统构建了一条虚拟总线,该虚拟总线上的设备为接口上的外部总线和协议模块组成的虚拟设备,该虚拟总线上的总线协议为本系统自定义的特殊协议,该设计提高了系统的灵活性,设备仅需配置软件的简单配置就可以完成虚拟总线上设备配置,同时也增强了系统的扩展性,设备仅需通过固件升级就可以完成应用层协议的增加。首先虚拟总线程序中的优先级模块轮询数据缓存模块中的各总线的接收数据帧数位(也就是查看虚拟总线上的虚拟设备是否有未处理的接收数据),如接收数据帧数位非零证明有待处理的接收数据,接着读取该接收数据的地址位,待所有端口轮询完毕统一根据之前读取到的接收数据地址位判断处理优先级、软件层转换协议和发送接口,之后送入对应的应用层协议将数据编码,放入相应的发送数据缓存区等待发送,此时地址位确定发送优先级、软件层转换协议和发送接口(如图4)。而数据地址对应的优先级、软件层转换协议和发送接口设置由电脑端软件通过485接口进行配置并存入存储模块。

实施例2:参见图1-图3,一种同时支持多种通讯总线转换方法,所述方法如下,1)将can、spi、rs485、以太网分别接入到现场的总线中去;2)将电脑的485接口与该设备的配置接口连接,并使用配置软件配置各接口数据帧地址位对应的优先级、软件层转换协议和发送接口以及四种通讯接口通讯参数配置比如波特率,主从模式等,并存入存储模块中,每次上电自动加载上次的配置参数;3)当某一个现场总线向接口发送数据时,数据帧通过相应的通讯模块进入arm处理器、应用层协议模块,根据接口和参数配置的设置可以是modbusrtu协议、canopen协议、modbustcp协议或者自定义协议,通过相应的驱动程序取得协议数据帧并解码为虚拟总线协议数据帧并存入自己的接口接收数据缓存区;4)当核心虚拟总线程序模块监测到接收数据缓存区有数据时首先读取接收数据缓存区中数据帧的地址位,根据地址位判断数据帧转换发送到哪个接口,如果同时有多个通讯接口接收到的数据帧发往同一个通讯接口,数据处理模块将根据地址位判断发送优先级,之后处理优先数据帧并放入相应的发送缓存区,应用层协议模块监测到发送缓存区中的数据帧后根据地址位定义将其编码为相应的数据帧格式并将它写入通讯驱动程序中的发送函数发送出去。

上述方案中,当rs485现场总线以modbusrtu应用协议向接口发送数据时,数据帧通过rs485收发模块进入arm处理器串口外设缓存区,modbusrtu应用协议模块判断数据帧是否符合协议规则,不符合丢弃,符合则解码成虚拟总线协议数据帧并放入rs485接收数据缓存区并将rs485缓存区的接收数据帧数位加一。当虚拟总线程序中的优先级模块轮询到rs485缓存区的接收数据帧数位非0时便读取该接收数据的地址位,待所有端口轮询完毕后根据数据地址位判断优先级,如果rs485接收缓存区的该数据帧优先级最高或者仅有该数据帧则根据地址位信息确定所调用的转换目标协议,假设此处根据地址位定义判定转换为以太网接口的modbustcp协议则将数据放入以太网接口发送数据缓存区并调用modbustcp协议进行编码并发送。

同理rs485总线转换can总线、rs485总线转换spi总线、rs485总线转换can总线及spi总线及以太网、can总线转换rs485总线、can总线转换spi总线、can总线转换以太网等等都与上述实施例类似。

需要说明的是上述实施例,并非用来限定本本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本本发明权利要求所保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1