CN202257553U - 一种通用串口到modbus的协议转换器 - Google Patents
一种通用串口到modbus的协议转换器 Download PDFInfo
- Publication number
- CN202257553U CN202257553U CN2011201022635U CN201120102263U CN202257553U CN 202257553 U CN202257553 U CN 202257553U CN 2011201022635 U CN2011201022635 U CN 2011201022635U CN 201120102263 U CN201120102263 U CN 201120102263U CN 202257553 U CN202257553 U CN 202257553U
- Authority
- CN
- China
- Prior art keywords
- modbus
- universal serial
- serial port
- main control
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本实用新型涉及一种通用串口到MODBUS的协议转换器,属于现场总线外围设备接口技术领域。本实用新型主要包括连接通用串口的接口电路、连接支持MODBUS协议的接口电路、自带物理双串口的主控MCU,还包括非易失性存储器模块、外部晶振模块和复位电路模块。嵌入主控MCU的协议处理软件采用双数据缓冲区技术和防死机技术,主要完成协议转换,并负责接收和存储上位机下载的通讯规约。本实用新型具有结构简洁、设计合理、工作可靠、功能强大、通用性强的优点。本实用新型对于通用串口设备接入MODBUS总线提供了一个很好的解决方案,在现场总线外围设备接口技术领域具有较强的实用价值。
Description
技术领域:
本实用新型涉及一种通用串口到MODBUS的协议转换器,用于RS232/485通用串口接入MODBUS总线,属于现场总线外围设备接口技术领域。
背景技术:
随着通讯技术和自动控制技术的发展,工业控制已从单机控制走向集中监控、集散控制,涌现出了各种各样的现场总线技术,MODBUS就是其中应用较为广泛的一种。MODBUS协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议,从其功能上看,可以认为是一种现场总线。它的开放性、可扩充性和标准化使它成为一个通用工业标准。通过MODBUS协议,不同厂商生产的控制设备可以简单可靠地连接成工业网络,进行系统的集中监控,从而使它成为最流行的通讯协议之一。由于MODBUS具有协议公开、成本较低、组网方便以及具有可靠的错误校验方式等优点,在国内有大量的基于MODBUS协议的各种测控系统,市场上有很多设备也配置了MODBUS接口。
在实际应用中,有很多专用的设备带有RS232/485通用串口,但是并不支持MODBUS协议,这就给这些设备连入MODBUS总线带来了很大困难,必须增加协议转换接口装置才能连入。在这些设备中,有些只能作为从站,需要通过主从方式由主站发送读取数据命令取得数据;有些是主动地定时从通用串口送出数据。这就需要协议转换接口装置能够很好地响应MODBUS主机的命令请求。
发明内容:
针对目前市场上有些设备不支持MODBUS协议但是又必须连入MODBUS总线的问题,结合MODBUS协议以及通用串口RS232和RS485的特点,本实用新型旨在提供一种通用串口到MODBUS的协议转换器。
本实用新型的通用串口到MODBUS的协议转换器,其包括连接通用串口的接口电路、连接支持MODBUS协议的接口电路和自带物理双串口的主控MCU,还包括 非易失性存储器模块、外部晶振模块和复位电路模块;所述的支持MODBUS协议的接口电路采用RS485收发器MAX485,与主控MCU连接;所述的外部晶振模块、复位电路模块与主控MCU相连接。其中:
所述的连接通用串口的接口电路包括:RS232收发器模块MAX232和RS485收发器模块MAX485,与主控MCU连接,采用选择电路选择使用RS232还是RS485。
所述的自带物理双串口的主控MCU采用深圳宏晶公司生产的单片机IAP12C5A60S2,该单片机自带物理双串口,一个串口连接通用串口的接口电路,另一个串口连接支持MODBUS协议的接口电路,以实现对数据进行转换和转发。
所述的非易失性存储器模块采用主控MCU内部的FLASH存储器,用于存储所接设备的通讯规约并掉电保存,供MCU读出使用。采用主控MCU内部的FLASH存储器作为非易失性存储器模块节省了协议转换器的空间占用和生产成本。
所述的外部晶振模块和复位电路模块与主控MCU连接,外部晶振模块为主控MCU提供时钟频率,复位电路模块为主控MCU提供上电复位信号。
本实用新型的通讯管理软件运行于上位机,并根据协议转换器连接的设备,通过MODBUS总线向协议转换器下载设备的通讯规约;
本实用新型的协议处理软件运行于主控MCU,实现通用串口到MODBUS的协议转换,并接收通讯管理软件下载的设备通讯规约,同时写入非易失性存储器模块,供主控MCU读取。
本实用新型的协议处理软件,采用了如下技术保证数据的完整性和协议转换器工作的可靠性:
(1)双数据缓冲区技术:主控MCU的串口1用于按照设备的通讯规约不断读取设备数据并放在数据缓冲区,串口2按照MODBUS总线命令从数据缓冲区读取设备数据并送到总线上,为了能及时响应MODBUS总线的命令,把串口2中断设置为高优先级中断,把串口1中断设置为低优先级中断。如果两个串口共用一个数据缓冲区,则在串口1中断中更新了一部分数据的时候响应了串口2中断,有可能会出现向MODBUS总线发送了不完整的数据。为解决这个问题,为串口1和串口2各建立一个数据缓冲区,串口1每从设备读取完一次数据后两个串口交换一次数据缓冲区;
(2)防死机技术:所述的通用串口到MODBUS的协议转换器工作于工业生产 现场,必然会出现因电磁干扰等因素导致主控MCU意外死机的现象;另外如果协议处理软件考虑不周也会出现通讯死机,导致不能响应通讯请求。为防止协议转换器死机,在协议处理软件中采用了如下措施:一是启用了主控MCU的WATCHDOG功能,在程序的初始化部分打开WATCHDOG,然后在程序中定时复位WATCHDOG,一旦死机主控MCU将重新启动;二是在串口通讯程序部分增加判断,一旦出现通讯错误则重新初始化通讯端口,以便正常响应通讯命令。
本实用新型所述的协议转换器的工作过程为:通用串口设备连接到协议转换器,协议转换器连入MODBUS总线,运行于上位机的通讯管理软件将设备的通讯规约下载到协议转换器,协议转换器上的协议处理软件把通讯规约写入到非易失性存储器(只需写一次,掉电保存),协议处理软件根据设备的通讯规约定时从设备读取数据并放入数据缓冲区,一旦从MODBUS总线上收到读取本设备数据的命令则将数据缓冲区中的数据送到MODBUS总线,如果收到下传数据的命令则将数据下传给设备并回传信息给上位机。
本实用新型提供的通用串口到MODBUS的协议转换器具有结构简洁、设计合理、工作可靠、功能强大、通用性强的优点。对于通用串口设备接入MODBUS总线提供了一个很好的解决方案,在现场总线外围设备接口技术领域具有较强的实用价值。
附图说明:
图1为本实用新型技术方案中通用串口到MODBUS的协议转换器的结构示意图。
图2为实施例中协议转换器的主要电路原理图。
图3为实施例中非易失性存储器地址空间示意图。
图4为实施例中协议处理软件的软件结构图。
具体实施方式:
结合附图和实施例,对本实用新型所述的通用串口到MODBUS的协议转换器的具体实施方案作进一步详细描述如下:
本实用新型的通用串口到MODBUS的协议转换器,其包括连接通用串口的接 口电路、连接支持MODBUS协议的接口电路和自带物理双串口的主控MCU,还包括非易失性存储器模块、外部晶振模块和复位电路模块,嵌入在主控MCU中的采用双数据缓冲区技术和防死机技术的协议处理软件,配置在上位机上能实现向协议转换器动态下载通讯规约的通讯管理软件。
参照附图1,本实用新型除了内置FLASH存储器并具有物理双串口的主控MCU,主要还包括连接通用串口的接口电路(RS232收发器模块、RS485收发器模块和选择电路)、连接支持MODBUS协议的接口电路(简称MODBUS接口电路)、外部晶振模块和复位电路模块。RS232收发器模块可直接与232设备连接,RS485收发器模块能直接与485设备连接,MODBUS接口电路直接连接MODBUS总线。
参照附图2,本实用新型所述的通用串口到MODBUS的协议转换器实施例的主要电路原理如图所示。主控MCU采用深圳宏晶公司生产的单片机IAP12C5A60S2,该单片机具有物理双串口,分别为串口1(TXD1、RXD1)和串口2(TXD2、RXD2),接口为TTL电平。串口1连接RS232通用串口收发器模块MAX232和RS485通用串口收发器模块MAX485,通过跳线J1选择实际连接哪一种通用串口设备。串口1连接的RS485通用串口收发器模块MAX485的收发控制由IAP12C5A60S2的P3口的P3.5控制,P3.5=0时为接收,P3.5=1时为发送。串口2连接支持MODBUS协议的接口电路,本实施例中采用RS485接口实现,所以采用RS485收发器模块MAX485。串口2的收发控制由IAP12C5A60S2的P1口的P1.1控制,P1.1=0时为接收,P1.1=1时为发送。
复位电路模块由R1、C1组成的复位电路实现,连接到主控MCU的复位端RST。上电复位的工作过程是:加电时,复位电路通过电容C1加给RST端一个短暂的高电平信号(复位信号),此高电平信号随着VCC对电容C1的充电过程而逐渐回落,回落到一定电平时复位信号失效,主控MCU启动正常工作。
外部晶振模块用于给主控MCU提供标准时钟信号,由晶体振荡器X1、电容C2、C3组成的电路组成,晶体振荡器X1频率为11.0592MHz,C2、C3一般采用小于47pF的瓷片电容,本实施例中采用30pF的电容。
参照附图3,本实用新型所述的非易失性存储器模块采用IAP12C5A60S2内部自带的FLASH存储器,地址空间如图所示。IAP12C5A60S2内部包含有64KByte的FLASH空间:地址区间为F000H-FFFFH的4KByte为系统专用,用户程序不能 访问;能自由使用的空间为60KByte,地址区间为0000H-EFFFH,既用于存放协议转换器运行需要的协议处理软件,也用于存放所连接设备的通讯规约。下载设备通讯规约时,协议处理软件先将存放通讯规约的存储区擦除,然后再将通讯规约写入。
参照附图4,运行于主控MCU的协议处理软件的软件结构如图所示。协议处理软件主要包括主程序模块、串口1中断处理程序模块、串口2中断处理程序模块、WATCHDOG程序模块、下载通讯规约处理程序模块、定时器处理程序模块等功能模块。主程序模块用于实现程序开机初始化以及执行主程序循环。串口1中断处理程序模块用于实现向设备下传命令和数据,以及从设备读取数据并放入数据缓冲区。串口2中断处理程序模块用于实现接收从MODBUS总线传送给本机的命令和数据,并将数据缓冲区的数据发送到MODBUS总线。双数据缓冲区技术实现方法为:在RAM中建立两个数据缓冲区A和B,结构完全一致;串口1中断处理程序模块对应数据缓冲区A,串口2中断处理程序模块对应数据缓冲区B;将串口1中断设置为低优先级中断,将串口2中断设置为高优先级中断;在串口1中断处理程序模块中读取一次设备数据并放入数据缓冲区A后,将串口1对应的数据缓冲区改为数据缓冲区B,将串口2对应的数据缓冲区改为数据缓冲区A;串口1每读取一次设备数据并放入数据缓冲区后与串口2交换一次数据缓冲区,反复进行。串口1中断处理程序模块和串口2中断处理程序模块中包含了防止串口通讯不响应的功能,实现方法为:在串口中断处理程序中,当收到错误的数据字节或校验错误的数据帧时,不对数据进行响应并对串口进行初始化;当收到数据帧的部分数据但长时间收不到后面的数据时,对串口进行初始化。WATCHDOG程序模块用于管理主控MCU的WATCHDOG功能,实现死机自复位,实现方法如下:在主程序的初始化部分启动WATCHDOG,在主程序中定时对WATCHDOG进行复位。下载通讯规约处理程序模块用于实现从MODBUS总线接收上位机下传的设备通讯规约并写入主控MCU的FLASH存储器中。定时器处理程序模块用于实现协议处理软件中需要的各种定时时间。
Claims (4)
1.一种通用串口到MODBUS的协议转换器,其特征在于,其包括连接通用串口的接口电路、连接支持MODBUS协议的接口电路和自带物理双串口的主控MCU,还包括非易失性存储器模块、外部晶振模块和复位电路模块;所述的支持MODBUS协议的接口电路采用RS485收发器MAX485,与主控MCU连接;所述的外部晶振模块、复位电路模块与主控MCU相连接。
2.根据权利要求1所述通用串口到MODBUS的协议转换器,其特征在于,所述的连接通用串口的接口电路包括:RS232收发器模块MAX232和RS485收发器模块MAX485,与主控MCU连接,采用选择电路选择使用RS232还是RS485。
3.根据权利要求1所述通用串口到MODBUS的协议转换器,其特征在于,所述的自带物理双串口的主控MCU采用深圳宏晶公司生产的单片机IAP12C5A60S2,该单片机自带物理双串口,一个串口连接通用串口的接口电路,另一个串口连接支持MODBUS协议的接口电路。
4.根据权利要求1所述通用串口到MODBUS的协议转换器,其特征在于,所述的非易失性存储器模块采用主控MCU内部自带的FLASH存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011201022635U CN202257553U (zh) | 2011-04-08 | 2011-04-08 | 一种通用串口到modbus的协议转换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011201022635U CN202257553U (zh) | 2011-04-08 | 2011-04-08 | 一种通用串口到modbus的协议转换器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202257553U true CN202257553U (zh) | 2012-05-30 |
Family
ID=46118764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011201022635U Expired - Fee Related CN202257553U (zh) | 2011-04-08 | 2011-04-08 | 一种通用串口到modbus的协议转换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202257553U (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024088A (zh) * | 2012-12-19 | 2013-04-03 | 深圳市广和通实业发展有限公司 | 双串口同时通信的方法 |
CN103905410A (zh) * | 2012-12-31 | 2014-07-02 | 上海一诺仪表有限公司 | 一种将自定义协议转换成Modbus协议的多路通讯协议转换器 |
CN104792391A (zh) * | 2015-04-13 | 2015-07-22 | 安徽理工大学 | 一种modbus协议转换器及超声水表检测系统和方法 |
CN105512074A (zh) * | 2015-07-09 | 2016-04-20 | 上海盛善电气有限公司 | 一种串行通信自检冗余的设计方法 |
CN105785958A (zh) * | 2016-05-08 | 2016-07-20 | 杭州集控软件有限公司 | 基于智慧工厂的多功能数据采集器、采集系统及方法 |
CN106663079A (zh) * | 2014-07-11 | 2017-05-10 | 标致·雪铁龙汽车公司 | 用于管理通用串行总线上的错误的管理装置 |
CN108390897A (zh) * | 2018-06-04 | 2018-08-10 | 济南泰格电子技术有限公司 | 通信协议转换器 |
CN109474707A (zh) * | 2019-01-16 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
-
2011
- 2011-04-08 CN CN2011201022635U patent/CN202257553U/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024088A (zh) * | 2012-12-19 | 2013-04-03 | 深圳市广和通实业发展有限公司 | 双串口同时通信的方法 |
CN103024088B (zh) * | 2012-12-19 | 2015-04-22 | 深圳市广和通实业发展有限公司 | 双串口同时通信的方法 |
CN103905410A (zh) * | 2012-12-31 | 2014-07-02 | 上海一诺仪表有限公司 | 一种将自定义协议转换成Modbus协议的多路通讯协议转换器 |
CN106663079A (zh) * | 2014-07-11 | 2017-05-10 | 标致·雪铁龙汽车公司 | 用于管理通用串行总线上的错误的管理装置 |
CN106663079B (zh) * | 2014-07-11 | 2020-11-06 | 标致·雪铁龙汽车公司 | 用于管理通用串行总线上的错误的管理装置 |
CN104792391A (zh) * | 2015-04-13 | 2015-07-22 | 安徽理工大学 | 一种modbus协议转换器及超声水表检测系统和方法 |
CN105512074A (zh) * | 2015-07-09 | 2016-04-20 | 上海盛善电气有限公司 | 一种串行通信自检冗余的设计方法 |
CN105785958A (zh) * | 2016-05-08 | 2016-07-20 | 杭州集控软件有限公司 | 基于智慧工厂的多功能数据采集器、采集系统及方法 |
CN105785958B (zh) * | 2016-05-08 | 2018-02-13 | 杭州集控科技有限公司 | 基于智慧工厂的多功能数据采集器、采集系统及方法 |
CN108390897A (zh) * | 2018-06-04 | 2018-08-10 | 济南泰格电子技术有限公司 | 通信协议转换器 |
CN109474707A (zh) * | 2019-01-16 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
CN109474707B (zh) * | 2019-01-16 | 2021-02-02 | 浪潮集团有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202257553U (zh) | 一种通用串口到modbus的协议转换器 | |
US7844760B2 (en) | Schedule and data caching for wireless transmission | |
CN102231718B (zh) | 一种EtherCAT与CAN通信的网关及其通信方法 | |
CN105302612A (zh) | 快速升级电子系统机箱内单片机软件程序的方法 | |
CN102012885A (zh) | 采用动态i2c总线实现通讯的系统及方法 | |
CN101599004B (zh) | 基于fpga的sata控制器 | |
CN106681949B (zh) | 基于一致性加速接口的直接内存操作实现方法 | |
CN108228492A (zh) | 一种多通道ddr交织控制方法及装置 | |
CN109525474A (zh) | 一种基于Linux平台的多接口协议智能转换器及转换方法 | |
CN101944075B (zh) | 总线系统、对低速总线设备进行读写操作的方法及装置 | |
CN104021102A (zh) | 基于状态机和片内总线的cpci串口板及其工作方法 | |
CN104731746A (zh) | 设备控制器装置 | |
CN105335306B (zh) | 一种内存控制方法和装置 | |
CN102063939B (zh) | 一种电可擦除可编程只读存储器的实现方法和装置 | |
CN102291337B (zh) | EtherCAT协议与Profibus-DP协议通信转换的网关及其通信方法 | |
CN103019988B (zh) | 电脑、嵌入式控制器及其方法 | |
CN101604304B (zh) | 一种多cpu间通信的方法和继电保护装置 | |
CN105988955B (zh) | Sdio设备及其应用的电子装置和数据传输方法 | |
CN105159605A (zh) | 一种存储服务器架构 | |
CN105527889A (zh) | 一种采用stt-mram作为单一存储器的微控制器 | |
CN209105202U (zh) | 一种基于Linux平台的多接口协议智能转换器 | |
CN203251321U (zh) | 一种can总线与1553b总线通讯转换装置 | |
CN101989191B (zh) | 一种多Ready输入中央处理器的实现方法 | |
CN206057875U (zh) | 一种基于stm32f103ze微控制器在应用程序中编程系统 | |
CN210691255U (zh) | 一种同步唤醒装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20150408 |
|
EXPY | Termination of patent right or utility model |