一种Modbus-CAN协议转换装置的制作方法

文档序号:15020406发布日期:2018-07-25 00:34阅读:1557来源:国知局

本实用新型涉及通信控制技术领域,特别是指一种Modbus-CAN协议转换装置。



背景技术:

对于工业或民用的多终端的应用场景中,非常重要的一部分即终端与终端之间以及终端与控制主节点之间的数据通信。普通环境中,一般考虑因素包括通信方式、终端节点个数、通信速率以及通信距离等问题。若在工业的环境中,还需要严格考虑如电磁干扰等问题。本实用新型通过实现一种Modbus-CAN的报文转换以及USB及CAN总线通信,解决设备的通信问题。结合Modbus协议以及CAN协议二者的优势,实现操作简单、功能可靠的工业及民用设备有线数据通信。



技术实现要素:

本实用新型要解决的技术问题是提供一种Modbus-CAN协议转换装置。

该装置包括电源模块、主控芯片模块、USB模块、CAN模块和指示灯模块,电源模块为整个装置供电,主控芯片模块控制整个装置运行,USB模块用于该装置与电脑之间的通信,CAN模块用于该装置与其他CAN设备之间的通信,指示灯模块显示该装置数据的收发情况;其中,电源模块与电脑USB接口相连,实现供电,主控芯片模块分别与USB模块和CAN模块相连,该装置通过USB模块与电脑相连,实现数据交换,指示灯模块分别与电源模块、主控芯片模块、CAN模块相连。

其中,电源模块使用LDO将电脑USB接口的5V转换为3.3V直流电。

主控芯片模块的主控芯片使用ST公司Cortex-M3内核的STM32F103芯片,主控芯片向外引出接口以及外围电路,主控芯片引出的通信接口为UART接口,主控芯片模块使用自身的bxCAN控制器,经过软件配置,底层硬件能够自动完成CAN报文的收发。

USB模块的USB接口为标准5脚,其中两引脚为电源,分别接5V与GND,一个引脚为外壳连接引脚,剩余两引脚为数据脚D+和D-。

在USB模块与UART接口之间设置数据转换芯片FT232,以此来实现主控芯片与电脑之间的通信。

主控芯片模块的主控芯片的两根CAN数据引脚接至接插件母头,并固定在该装置的电路板上,在该装置电路板输出口处焊接CAN总线终端电阻。

指示灯模块包含三组指示灯,第一组为电源指示灯,与电源模块相连,由红色LED串接一个限流电阻组成,此指示灯直接接在LDO的3.3V输出脚;第二组为UART通信指示灯,与主控芯片模块相连,包含一绿一红两个LED,本组LED直接接在主控芯片的UART收发脚;第三组为CAN通信指示灯,与CAN模块相连,包含一绿一红两个LED,将本组LED接在硬件引脚上。

本实用新型的上述技术方案的有益效果如下:

(1)本实用新型实现了Modbus-CAN的协议转换。一方面Modbus协议定义类型多样,扩展性好,数据传输带有确认,适用于小到中等规模的数据量传送。另一方面CAN总线实时性强、传输距离远、抗干扰能力强,具有完备的检错和数据通信机制。将两种协议以及通信方式融合,优势互补,能够实现实时性强、通信可靠的数据交互。

(2)本实用新型体积小,使用方便。上行配合上位机软件,直插USB接口后可自识别。下行只需插入带有CAN总线的接插件公头,装置即可正常工作。

附图说明

图1为本实用新型的Modbus-CAN协议转换装置结构示意图;

图2为本实用新型的主控芯片模块硬件设计资源分配示意图;

图3为本实用新型的电源模块设计原理图;

图4为本实用新型的Modbus-CAN协议转换装置程序流程图;

图5为本实用新型中图2示意图对应的PCB Layout。

其中:1-电源模块;2-主控芯片模块;3-CAN模块;4-USB模块;5-指示灯模块。

具体实施方式

为使本实用新型要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本实用新型提供一种Modbus-CAN协议转换装置。

如图1所示,该装置包括电源模块1、主控芯片模块2、USB模块4、CAN模块3和指示灯模块5,电源模块1为整个装置供电,主控芯片模块2控制整个装置运行,USB模块4用于该装置与上位机(即电脑)之间的通信,CAN模块3用于该装置与其他CAN设备之间的通信,指示灯模块5显示该装置数据的收发情况;其中,电源模块1与电脑USB接口相连,实现供电,主控芯片模块2分别与USB模块4和CAN模块3相连,该装置通过USB模块4与上位机相连,实现数据交换,指示灯模块5分别与电源模块1、主控芯片模块2、CAN模块3相连。

本装置使用USB接口供电,将电源模块1直接插至电脑USB接口,使用电脑的5V直流电供应该装置工作。由于该装置内部所有芯片都可正常工作在3.3V,因此使用LDO,将5V转换为3.3V直流电,为整个装置供电。电源模块的设计原理图如图3所示。

主控芯片模块2的智能锁主控芯片使用ST公司Cortex-M3内核的STM32F103芯片,由主控芯片对整个电路的设备进行驱动并完成逻辑实现。主控芯片向外引出接口以及外围电路。其中,本装置与上位机(即电脑)连接使用USB接口,而通信方式使用串行数据(串口通信),并不使用USB通信,因此引出UART接口。为实现CAN通信,本模块使用自身的bxCAN控制器,经过软件配置,底层硬件能够自动完成CAN报文的收发。对主控芯片的硬件设计资源分配如图2所示。与示意图对应的PCB Layout如图5所示。

USB模块用于该装置与上位机之间的通信。USB接口为标准5脚,其中两引脚为电源,接5V与GND,一个引脚为外壳连接引脚,剩余两引脚为数据脚D+和D-。由于电脑USB接口输出数据为差分数据,而装置主控芯片引出的通信接口为UART接口,因此在二者之间增加一个数据转换芯片FT232,为USB到穿行UART接口转换芯片,以此来实现主控芯片与上位机之间的通信。

CAN模块用于本装置与其他CAN设备之间的通信。STM32F103有完备的bxCAN模块,模块自动完成协议的底层处理,只需在软件中对报文内容进行提取即可。为实现CAN接口连接,将主控芯片的两根CAN数据引脚接至接插件母头,并固定在电路板上,用户使用时,只需将接有CAN总线的公头接插件接到母头,即可将本装置添加入总线中。

设计电路时,在总线末端,即装置电路板输出口处焊接CAN总线终端电阻。使用终端电阻,不仅能够提高抗干扰能力,确保总线快速进入隐性状态,还能提高信号的质量。

指示灯模块5主要为了显示数据的收发情况,使用户使用本装置工作时更加直观。共包含三组指示灯。第一组为电源指示灯,与电源模块1相连,由红色LED串接一限流电阻组成。将此指示灯直接接在LDO的3.3V输出脚,若装置供电正常,本电源指示灯常亮。第二组为UART通信指示灯,与主控芯片模块2相连,包含一绿一红两个LED,设计时,将本组LED直接接在主控芯片的UART收发脚,当任一引脚有数据通信时,逻辑电平的高低变化会驱动LED闪烁。第三组为CAN通信指示灯,与CAN模块3相连,同样包含一绿一红两个LED,设计原理与UART指示灯相同,将LED接在硬件引脚上,有数据通信时即可驱动LED亮灭。

本实用新型装置使用时,上行部分需要与上位机的USB接口连接,下行部分需要与CAN总线连接。CAN总线上挂载其他CAN通信装置,用于与本装置通信。通信流程分为两部分,数据下发过程与数据回传过程,两部分的执行互不影响,互相独立,但又有联系。通信流程如下所示:

以下为上位机下发的发送步骤:

(1)上位机软件下发标准Modbus报文,通过USB接口发送给本装置;

(2)本装置对收到的Modbus报文正确性给予检验,若报文未通过检验,则装置直接向上回复否认的Modbus报文;若通过检验,则继续进行接下来的操作;

(3)装置将已通过检验的Modbus报文按照Modbus-CAN协议转换的要求转换为CAN报文,对于数据较多的Modbus报文,按照Modbus-CAN协议转换规定进行拆分帧;

(4)将转换后的报文按照顺序发送到CAN总线上。

以下为上位机接收的接收步骤:

(1)终端接收到CAN报文后,对报文进行回复,回复格式为CAN协议格式;

(2)本装置接收总线上的CAN报文,将报文按照顺序,遵从Modbus-CAN转换协议的规定,将CAN报文转换为Modbus报文;

(3)装置将转换后得到的Modbus报文通过USB口发送给上位机。

上述为模块的数据收发过程。接收和发送的过程虽然是独立的,但是相互之间又是有关系的。由于Modbus报文为请求/应答的模式,因此在上位机发送数据后,会出现两种情况,一种是经过报文转换以及执行终端的动作,执行终端回复了CAN报文,并经过本装置转换为Modbus报文回复了上位机;另一种情况是终端迟迟没有回复,等待时间超过了用户设定时间,那么上位机丢弃此报文。因此数据的接收与发送之间是有一定联系的。程序流程图如图4所示。

以上所述是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本实用新型的保护范围。

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