CN107329851A - 一种基于fpga的多端口modbus协处理系统 - Google Patents
一种基于fpga的多端口modbus协处理系统 Download PDFInfo
- Publication number
- CN107329851A CN107329851A CN201710398474.XA CN201710398474A CN107329851A CN 107329851 A CN107329851 A CN 107329851A CN 201710398474 A CN201710398474 A CN 201710398474A CN 107329851 A CN107329851 A CN 107329851A
- Authority
- CN
- China
- Prior art keywords
- modbus
- data
- fpga
- multiport
- processing system
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
一种基于FPGA的多端口MODBUS协处理系统,包括16个基本UART通信控制单元,CRC校验单元,16个串口数据收发缓存,MODBUS帧识别单元,对外数字通信接口,核心控制单元,各单位在核心控制单元的控制下自动完成MODBUS数据帧的收发和数据校验码的生成,并经由对外数字通信接口和应用处理器传输MODBUS接收和需要发送的数据。
Description
技术领域
本发明涉及一种专用的通信管理协处理系统,尤其是能解决嵌入式处理器的端口不足问题并从一定程度上减轻处理器负担的一种基于FPGA的多端口MODBUS协处理系统。
背景技术
目前,在工业自动化控制中,MODBUS通信协议作为一种互联型通信协议,基于RS485物理层通信接口,能够实现高可靠性的多设备管理。使用MODBUS协议,可在一个RS485总线上连接最多32个设备,实现最多32个设备的数据读写操作。
随着物联网技术的发展,万物互联已经成为了一种必然趋势,MODBUS协议作为一种能够便捷组网的协议,在环境复杂的场合中,是理想的基础连接网络。但是随着需要连接管理的设备数量增多,单一的MODBUS网络已经无法实时管理众多的设备。为了保证所有设备的数据都能够及时有效的传输,就需要使用多个MODBUS网络进行管理。而当前大部分MCU或处理器内部集成的能够支持RS485连接的外设数量都较为有限,无法实现对多个MODBUS网络的支持。即使是某些功能强大的处理器能够支持多个RS485接口,在数据传输过程中频繁的中断也会给处理器造成较大的负担,导致系统稳定性降低。而且,由于MODBUS协议中需要对每一帧数据进行CRC校验,因此,更大的数据量也给运算单元带来了更大的运算负载。使得系统的可靠性进一步降低。
为了克服嵌入式处理器在面对多端口MODBUS网络应用中的不足,使用专用的通信管理协处理器来辅助实现多端口MODBUS组网,可以解决嵌入式处理器的端口不足问题并从一定程度上减轻处理器负担。
发明内容
为了解决现有各种嵌入式处理器RS485端口数量不足,以及在数据量增加时处理器过载的问题,本发明提供一种MODBUS协议协处理系统,该系统不仅能够实现多个RS485组成通信网络,而且能够处理MODBUS网络传输的数据内容,为应用处理器减轻运算负担。
本发明解决其技术问题所采用的技术方案是:一种基于FPGA的多端口MODBUS协处理系统,包括16个基本UART通信控制单元,CRC校验单元,16个串口数据收发缓存,MODBUS帧识别单元,对外数字通信接口,核心控制单元。各单元在核心控制单元的控制下自动完成MODBUS数据帧的收发和数据校验码的生成,并经由对外数字通信接口和应用处理器传输MODBUS接收和需要发送的数据。
所述16个基本UART通信控制单元完成串口数据的收发,通过连接到片外的RS485收发器,实现RS485接口。
所述串口数据收发缓存实现UART串口待发送数据和已接收数据的存储。
所述MODBUS帧识别单元实现对MODBUS完整数据帧的识别。
所述CRC校验单元完成对MODBUS数据帧的错误校验。
所述对外数字通信接口实现和外部应用处理器的通信,MODBUS数据内容通过该接口与外部应用处理器进行交换。
所述核心控制单元实现整个系统的协调控制,保证数据的正常收发。
本发明的有益效果是:本发明通过使用FPGA完成多个端口MODBUS数据帧的收发和校验,在为应用处理器提供高达16个支持MODBUS协议的端口的同时,降低了应用处理器的运算负担,并减少了单位时间内应用处理器需要处理的中断数量。提升了系统的数据处理能力,提高了系统的稳定性。本发明的MODBUS通信协处理模块适用于各种需要实时高效多MODBUS网络连接的场合。
附图说明
图1为本发明的一种基于FPGA的MODBUS通信加速系统示意图。
图2为本发明的一种基于FPGA的MODBUS通信加速系统接收MODBUS数据帧时各单元的工作流程图,其中虚线框中的应用处理器不属于本发明内容。
图3为本发明的一种基于FPGA的MODBUS通信加速系统发送MODBUS数据帧时各单元的工作流程图,其中虚线框中的应用处理器不属于本发明内容。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
如图1所示,一种基于FPGA的MODBUS通信加速系统,包括16个基本UART通信控制单元,CRC校验单元,串口数据收发缓存,MODBUS帧识别单元,对外数字通信接口,核心控制单元。
如图2所示,基于FPGA的MODBUS通信加速系统的MODBUS数据帧接收工作过程为:当某个端口接收MODBUS数据时,由UART通信控制器完成每个字节数据的接收,并将接收的数据写入对应端口的数据接收缓存中,MODBUS帧识别单元监控UART接收数据线上的状态,当UART接收数据线从接收数据状态变到空闲状态时间超过3.5个字符的时间后,判断一帧数据接收完毕,通过对外数字接口以中断的形式通知外部应用处理器读取数据。在外部应用处理器读取一帧数据中每个字符时,CRC校验单元实时对该帧数据进行CRC运算。
如图3所示,基于FPGA的MODBUS通信加速系统的MODBUS数据帧发送工作过程为:当外部应用处理器需要通过某个端口发送MODBUS数据帧时,通过对外数字通信接口将要发送的数据帧数据部分写入到对应端口的串口数据发送缓存,在写入过程中,CRC校验单元实时对该数据帧进行CRC运算,并将运算结果存放在专门的寄存器中。对应的UART发送模块在核心控制单元的控制下将MODBUS数据以及运算得到的CRC校验结果发送。
根据上述说明书的揭示和指导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (7)
1.一种基于FPGA的多端口MODBUS协处理系统,包括16个基本UART通信控制单元,CRC校验单元,16个串口数据收发缓存,MODBUS帧识别单元,对外数字通信接口,核心控制单元,其中,各单元在核心单元的控制下自动完成MODBUS数据帧的收发和数据校验码的生成,并经由对外数字通信接口和应用处理器传输MODBUS接收和需要发送的数据。
2.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述16个基本UART通信控制单元完成串口数据的收发,通过连接到片外的RS485收发器,实现RS485接口。
3.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述串口数据收发缓存实现UART串口待发送数据和已接收数据的存储。
4.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述MODBUS帧识别单元实现对MODBUS完整数据帧的识别。
5.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述CRC校验单元完成对MODBUS数据帧的错误校验。
6.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述对外数字通信接口实现和外部应用处理器的通信,MODBUS数据内容通过该接口与外部应用处理器进行交换。
7.根据权利要求1所述的基于FPGA的多端口MODBUS协处理系统,其特征在于,所述核心控制单元实现整个系统的协调控制,保证数据的正常收发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710398474.XA CN107329851A (zh) | 2017-05-31 | 2017-05-31 | 一种基于fpga的多端口modbus协处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710398474.XA CN107329851A (zh) | 2017-05-31 | 2017-05-31 | 一种基于fpga的多端口modbus协处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107329851A true CN107329851A (zh) | 2017-11-07 |
Family
ID=60192787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710398474.XA Pending CN107329851A (zh) | 2017-05-31 | 2017-05-31 | 一种基于fpga的多端口modbus协处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107329851A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637027A (zh) * | 2020-12-22 | 2021-04-09 | 北京神经元网络技术有限公司 | 基于uart的帧边界界定装置及发送方法和接收方法 |
-
2017
- 2017-05-31 CN CN201710398474.XA patent/CN107329851A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637027A (zh) * | 2020-12-22 | 2021-04-09 | 北京神经元网络技术有限公司 | 基于uart的帧边界界定装置及发送方法和接收方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064815B (zh) | 一种单spi总线控制多can接口的控制方法 | |
CN106022080B (zh) | 一种基于PCIe接口的密码卡及该密码卡的数据加密方法 | |
CN111901164B (zh) | Ocp nic网卡的适配控制方法、装置、设备及系统 | |
CN108845897A (zh) | 串口通信调试方法、装置及存储介质 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN106708762A (zh) | 一种linux下串口设备统一管理系统及方法 | |
CN109739786A (zh) | 一种dma控制器和异构加速系统 | |
CN201639589U (zh) | 基于arm的嵌入式双冗余网卡 | |
CN102546542B (zh) | 电子系统及其嵌入式设备和中转设备 | |
EP2389632B1 (en) | Communication protocol for sharing memory resources between components of a device | |
CN106528474A (zh) | 基于桥接芯片构建RapidIO和PCI‑E互联系统 | |
CN110401586A (zh) | 一种总线通信方法、装置、设备及可读存储介质 | |
CN112422485A (zh) | 一种传输控制协议的通信方法及装置 | |
CN107329851A (zh) | 一种基于fpga的多端口modbus协处理系统 | |
CN104898775A (zh) | 计算装置、存储装置、网络交换设备及计算机体系架构 | |
CN206021155U (zh) | 一种融合架构服务器 | |
CN201163783Y (zh) | 一种基于can总线的多串口卡 | |
CN102420734A (zh) | 一种can总线拓扑结构实现系统 | |
CN109450924A (zh) | 一种面向嵌入式系统的通讯协议可配置实现方法 | |
CN101989250B (zh) | 一种串行通信的方法和系统 | |
CN207283600U (zh) | 一种用于工业物联网的云终端设备 | |
CN103634237B (zh) | 微型电信计算架构机架管理控制器 | |
CN208190652U (zh) | 一种全双工通用同步异步串行收发器的主板 | |
CN106792466A (zh) | 一种设备端与主机端通信方法 | |
CN115827548B (zh) | 一种基于lpc总线的mdio接口方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171107 |