CN103713543A - Multi-serial-port parallel processing framework based on FPGA - Google Patents

Multi-serial-port parallel processing framework based on FPGA Download PDF

Info

Publication number
CN103713543A
CN103713543A CN201310693940.9A CN201310693940A CN103713543A CN 103713543 A CN103713543 A CN 103713543A CN 201310693940 A CN201310693940 A CN 201310693940A CN 103713543 A CN103713543 A CN 103713543A
Authority
CN
China
Prior art keywords
fpga
cpu
uart
serial
parallel processing
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
Application number
CN201310693940.9A
Other languages
Chinese (zh)
Inventor
王楠
刘玉升
邵磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Nuclear Power Automation System Engineering Co Ltd
Original Assignee
State Nuclear Power Automation System Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Nuclear Power Automation System Engineering Co Ltd filed Critical State Nuclear Power Automation System Engineering Co Ltd
Priority to CN201310693940.9A priority Critical patent/CN103713543A/en
Publication of CN103713543A publication Critical patent/CN103713543A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention belongs to the technical field of distributed industrial control, and relates to a multi-serial-port parallel processing framework based on an FPGA. The framework comprises transceivers, an FPGA programmable logic chip and a processor CPU. The CPU is connected with the FPGA chip via a CPU interface bus. The framework is characterized in that: multiple UART cores and multiple co-processor MCUs which are corresponding to all the UART cores are designed in the FPGA chip via a hardware description language; multiple embedded type storage devices which are corresponding to all the co-processor MCUs are embedded in the FPGA, and each embedded type storage device is configured to be a dual-port mode capable of performing read-write operation; and the multiple UART cores are connected with the multiple corresponding transceivers via RS232/RS422/RS485 interfaces. The framework is low in hardware design cost so that a CPU load can be effectively reduced, serial bus data transmission bandwidth can be enhanced and multipath serial channels can be flexibly expanded.

Description

A kind of many serial ports parallel processing framework based on FPGA
Technical field
The invention belongs to distributing industrial control technology field, be specifically related to a kind of many serial ports parallel processing framework based on FPGA.
Background technology
UART (universal asynchronous receiving-transmitting transmitter) is a kind of serial transmission interface that is widely used in short distance, low-speed communication, it is simple to operate, reliable operation, anti-interference strong, cost is low, long transmission distance (forming 485 networks can transmit more than 1,200 meter).In data communication, computer network and distributing industrial control system, processor often adopts serial communication and peripheral module swap data and information.
In modern industrial control system, multi-serial communication application is more and more extensive.Especially data collecting field, in engineering application, to the increase in demand of serial ports quantity, processor needs Real-time Collection and processes the data that come from a plurality of serial peripherals.Universal serial port implementation as shown in Figure 1.The serial ports limited amount that can provide due to ordinary processor or ASIC, when the serial terminal of needs control surpasses more than four, the problems such as traditional framework is just difficult to meet application request, as expensive in hardware cost, to be difficult to expand, power consumption is higher, data processing real-time is not high, processor load is high, UART bus bandwidth is low.Be in particular in: 1) serial peripheral is used RS232 or RS422/485 Asynchronous Serial Interface, the general integrated circuit adopting is that UART chip is realized.As 8250, the chip such as 16550AFN is all common special-purpose UART device, hardware serial line interface resource-constrained, but this class chip internal structure design is quite complicated, chip pin is more, what have contains many supplementary modules (as FIFO), when reality is used, often only use UART basic function, during design, use this class chip, caused the wasting of resources; 2) what processor or special-purpose many serial port chip provided can extended serial port limited amount, cannot realize more UART serial ports expansion; 3) peripheral interface circuit is complicated, and board design difficulty is larger; 4) use UART chip also can make hardware cost increase and increase the area of circuit board, cannot large-scale application in multi-channel data acquisition occasion; 5) processor adopting serial mode scans each passage successively, yet the too low CPU waits for too long that causes of serial communication speed is difficult to the higher actual demand that needs parallel processing of requirement of real time.
Summary of the invention
In view of the above-mentioned problems in the prior art, the technical problem to be solved in the present invention be to provide a kind of cost of hardware design low, can effectively reduce cpu load, can flexible expansion multi-path serial passage many serial ports parallel processing framework.
In order to realize above object, the technical solution used in the present invention is: a kind of many serial ports parallel processing framework based on FPGA, comprise transceiver, FPGA programmable logic chip and processor CPU, CPU is connected with described fpga chip by cpu i/f bus, it is characterized in that: at described FPGA chip internal, by hardware description language, design a plurality of UART core and a plurality of coprocessor MCUs corresponding with each UART nuclear phase; The embedded a plurality of in-line memorys corresponding with each coprocessor MCU of described FPGA, each in-line memory is configured to dual-port pattern that can read-write operation; Described a plurality of UART core connects by RS232/RS422/RS485 interface with a plurality of corresponding described transceivers.
The multi-path serial passage being connected to form successively by corresponding UART core, coprocessor MCU and in-line memory in described fpga chip, each passage is independent mutually, and CPU can scan simultaneously and process the peripheral hardware information of all passages.
Described coprocessor MCU completes data link layer work, and described processor CPU completes application layer work.
Good effect of the present invention is: 1) utilize rich fpga logic resource can easily realize multichannel UART controller, according to requirement of engineering, only need to revise fpga logic and can build flexibly many coprocessors MCU and many UART core, increase and decrease serial-port quantity, has improved level of integrated system greatly flexibly; 2), up to 16 and even during 32 serial-port, board periphery circuit design complexity and difficulty reduce greatly, greatly reduce expensive hardware cost, can large-scale application in multi-channel data acquisition occasion; 3) between actual processor CPU and UART controller, be provided with the coprocessor MCU of a plurality of independent parallels; coprocessor MCU completes data link layer work; processor CPU is mainly responsible for application layer work; this framework can allow the serial peripheral of all passages of processor parallel scan; greatly reduce the load of CPU, promote serial bus data transmission bandwidth; 4) according to requirement of engineering, coordinate outside transceiving chip, FPGA only need slightly make communications protocol and the baud rate that logic Modification can support that RS232/RS422/RS485 is different flexibly.
Accompanying drawing explanation
Below in conjunction with the drawings and specific embodiments, the invention will be further described.
Fig. 1 is existing universal serial port implementation schematic diagram;
Fig. 2 is the configuration diagram that the present invention controls eight channel parallel scan process simultaneously;
Fig. 3 is CPU and the MCU residing network model position view of working.
Embodiment
In order to realize the support of parallel multi-channel serial peripheral, increase UART bus serial communication bandwidth, reduce the load of CPU, improve level of integrated system, reduction hardware cost, as shown in Figure 2, the present invention is based on many serial ports parallel processing framework of FPGA, comprise transceiver, FPGA programmable logic chip and processor CPU, CPU is connected with described fpga chip by cpu i/f bus, it is characterized in that: at described FPGA chip internal, by hardware description language, design a plurality of UART core and a plurality of coprocessor MCUs corresponding with each UART nuclear phase; The embedded a plurality of in-line memorys corresponding with each coprocessor MCU of described FPGA, each in-line memory is configured to dual-port pattern that can read-write operation; Described a plurality of UART core connects by RS232/RS422/RS485 interface with a plurality of corresponding described transceivers.
The multi-path serial passage being connected to form successively by corresponding UART core, coprocessor MCU and in-line memory in described fpga chip, each passage is independent mutually, and CPU can scan simultaneously and process the peripheral hardware information of all passages.
Described coprocessor MCU completes data link layer work, and described processor CPU completes application layer work (as shown in Figure 3).
In the present invention, FPGA realizes many UART interface, many coprocessors processing mode, by FPGA, can build flexibly many coprocessors MCU and many UART core, the UART core that FPGA builds is connected by RS232/RS422/RS485 with outside transceiver, like this can flexible expansion multi-path serial passage.
Processor CPU provides the cpu bus interface that reads, sends data from fpga chip.CPU is mainly responsible for application layer work.
The embedded in-line memory of fpga chip, be configured to can read-write operation real dual-port pattern (as the Dual Port in Fig. 2), or the data accepted to be sent in order to buffer memory.
Coprocessor MCU is the virtual coprocessor building by FPGA, mainly completes data link layer work, processes after the data come from UART core are maybe processed the parallel data that comes from Dual Port and sends to UART interface.
UART examines and has showed UART function, and the UART interface with outside serial ports transceiver is provided, efficient transmitting-receiving serial data under the control of coprocessor MCU.
Transceiver is UART interface chip, mainly completes the conversion between RS232/RS422/RS485 level and TTL/COMS level.CPU and terminal all adopt Transistor-Transistor Logic level and positive logic, and level and negative logic that they and EIA adopt are incompatible, need in interface circuit, change.
In order to improve the integrated level of system, support multidiameter delay independence serial ports, improve UART bus bandwidth, reduce the load of CPU, reduction hardware cost, the present invention uses FPGA programmable logic chip to build a plurality of UART core, and according to engineering, application needs only to need change programmed logic can increase and decrease flexibly serial-port quantity.On-site programmable gate array FPGA is comprised of configurable logic module, input/output module and interconnector.FPGA utilizes look-up table (LUT) to realize combinational logic, and then drives other logical circuit and I/O interface, and the programming data that is stored in inner static storage cell determines the logic function of each logical block and the annexation between each module.By hardware description language, in a plurality of combinatorial logic unit that work alone of FPGA internal configurations, realize multi-channel parallel UART communication function.As shown in Fig. 2, in FPGA inside, by hardware description language, design respectively a plurality of UART core and a plurality of coprocessor MCU, the embedded in-line memory of FPGA be can be configured to a plurality of real dual-ported memories.The advantage such as the method has that integrated level is high, volume is little, low in energy consumption and speed is fast, but also can to systemic-function, be reconstructed according to user's demand.
In the application of many serial port data acquisitions, need real-time to carry out data acquisition, serial terminal is controlled in real time.In traditional multi-channel serial framework, CPU is the state of inquiring about successively each serial port, and each port of sequential scanning cause CPU to expend a large amount of time and resource, and universal serial bus bandwidth reduces along with the increase of number of channels.The method adopting in the present invention is: in FPGA inside, by hardware description language, build a plurality of coprocessor MCU, and the embedded in-line memory of FPGA is configured to a plurality of real dual-ported memories.Coprocessor mainly completes data link layer work (as Fig. 3), processes after the data come from UART core are maybe processed the parallel data that comes from Dual Port and sends to UART core.While accepting data, after coming from the data processing of UART core, in parallel data mode, be buffered in Dual Port, corresponding Dual Port can send receive interruption request to CPU, CPU can respond interruption after completing current task, then once read the data that come from Dual Port, CPU waits for that without spending a lot of time the UART core of low speed is sent completely data again.CPU only need be responsible for application layer work, has reduced the load of CPU.
While sending data, the all passages of CPU parallel scan, inquire after the request transmission status information that comes from certain passage, by the data buffer storage of certain passage of giving to be sent in the Dual of respective channel Port storer, once the coprocessor of respective channel inquires the data that have CPU to send in corresponding Dual Port, startup work is immediately carried out exporting to UART core after respective handling.CPU also can once send to the data of serial peripheral of giving to be sent in Dual Port on all passages, then for the coprocessor on each passage, process, CPU can go deposit data to process other task after in the Dual Port on each passage immediately, without spending a lot of time again, wait for that the UART of low speed accepts, and greatly reduces load and the stand-by period of CPU like this.Coprocessor MCU in the present invention and Dual Port can real-time high-efficiency the data by be sent export to UART core, or CPU data to be received are left in the Dual Port of respective channel in real time, each serial-port is completely independent, is independent of each other.
Data transfer bandwidth is the bottleneck of serial communication, and serial-port quantity more multi-band is wide lower.Many serial ports parallel processing framework that the present invention proposes has been introduced coprocessor MCU and Dual Port storer, can allow CPU at a high speed efficiently send data to the UART core of low speed, or reception in real time comes from the data of UART peripheral hardware, each passage is all established data buffer storage storer Dual port, coprocessor MCU, each passage is independent mutually, concurrent working.On universal serial bus, data bandwidth is the summation of maximum bandwidth on all passages, and for 8 road RS422, bus bandwidth can be up to 64Mbit/s.
The flexible support of serial communication is also the desired function of serial communication.Except conventional RS232 standard, also have RS422, RS485 standard, special-purpose UART chip seldom has can support RS232/RS422/RS485 simultaneously, even if there is the special-purpose UART chip that can support three kinds of communications protocol simultaneously, its price is also more expensive, and dirigibility and cost performance are low.
In the present invention, by hardware description language, in FPGA inside, realize a plurality of UART core working alone and soft core coprocessor MCU, the communication protocol of data link layer is operated in MCU and realizes, according to requirement of engineering, coordinate outside transceiving chip, FPGA only need slightly make logic Modification can support different communications protocol, baud rate.

Claims (3)

1. the many serial ports parallel processing framework based on FPGA, comprise transceiver, FPGA programmable logic chip and processor CPU, CPU is connected with described fpga chip by cpu i/f bus, it is characterized in that: at described FPGA chip internal, by hardware description language, design a plurality of UART core and a plurality of coprocessor MCUs corresponding with each UART nuclear phase; The embedded a plurality of in-line memorys corresponding with each coprocessor MCU of described FPGA, each in-line memory is configured to dual-port pattern that can read-write operation; Described a plurality of UART core connects by RS232/RS422/RS485 interface with a plurality of corresponding described transceivers.
2. according to right 1, require described a kind of many serial ports parallel processing framework based on FPGA, it is characterized in that: the multi-path serial passage being connected to form successively by corresponding UART core, coprocessor MCU and in-line memory in described fpga chip, each passage is independent mutually, and CPU can scan simultaneously and process the peripheral hardware information of all passages.
3. according to right 1, require described a kind of many serial ports parallel processing framework based on FPGA, it is characterized in that: described coprocessor MCU completes data link layer work, described processor CPU completes application layer work.
CN201310693940.9A 2013-12-18 2013-12-18 Multi-serial-port parallel processing framework based on FPGA Pending CN103713543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310693940.9A CN103713543A (en) 2013-12-18 2013-12-18 Multi-serial-port parallel processing framework based on FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310693940.9A CN103713543A (en) 2013-12-18 2013-12-18 Multi-serial-port parallel processing framework based on FPGA

Publications (1)

Publication Number Publication Date
CN103713543A true CN103713543A (en) 2014-04-09

Family

ID=50406599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310693940.9A Pending CN103713543A (en) 2013-12-18 2013-12-18 Multi-serial-port parallel processing framework based on FPGA

Country Status (1)

Country Link
CN (1) CN103713543A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045761A (en) * 2015-08-26 2015-11-11 福建恒天晨光节能服务有限公司 High-speed parallel processing architecture for data center
CN105137852A (en) * 2015-06-26 2015-12-09 上海沈德医疗器械科技有限公司 Multichannel ultrasonic driver parallel controller of phase-control HIFU (High Intensity Focused Ultrasound) system
CN107992367A (en) * 2017-10-20 2018-05-04 河南平高电气股份有限公司 A kind of Modbus serial datas processing method
CN108282186A (en) * 2018-03-07 2018-07-13 杭州先锋电子技术股份有限公司 A kind of UART communication systems, method, equipment and computer storage media
CN109597788A (en) * 2018-12-11 2019-04-09 广东浪潮大数据研究有限公司 A kind of High Speed Serial device, correlation technique and relevant apparatus
CN109871353A (en) * 2019-03-26 2019-06-11 广东高云半导体科技股份有限公司 Electronic equipment and its FPGA applied to artificial intelligence
CN110120922A (en) * 2019-05-14 2019-08-13 中国核动力研究设计院 A kind of data interaction Network Management System and method based on FPGA
CN114281392A (en) * 2022-03-04 2022-04-05 季华实验室 Serial port upgrading method and system for multi-MCU slave station

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527735A (en) * 2009-04-07 2009-09-09 上海许继电气有限公司 Multi-serial port data communication card equipment based on CPCI bus and method thereof
CN201583945U (en) * 2009-12-02 2010-09-15 天津光电通信技术有限公司 Serial communication system for multiple singlechips based on FPGA
CN201673500U (en) * 2010-03-02 2010-12-15 山东超越数控电子有限公司 Interface card for switching MINIPCI port to serial port
US7865651B2 (en) * 2004-04-20 2011-01-04 Hynix Semiconductor Inc. Multi-protocol serial interface system
CN102760111A (en) * 2012-06-27 2012-10-31 浙江大学 FPGA-based (Field Programmable Gate Array) extended multi-serial port device and data receiving-transmitting method thereof
CN103248526A (en) * 2012-02-08 2013-08-14 迈普通信技术股份有限公司 Communication equipment and method for achieving out-of-band monitoring and management, and master-slave switching method
CN203705861U (en) * 2013-12-18 2014-07-09 国核自仪系统工程有限公司 Multi-serial port parallel processing framework based on FPGA

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865651B2 (en) * 2004-04-20 2011-01-04 Hynix Semiconductor Inc. Multi-protocol serial interface system
CN101527735A (en) * 2009-04-07 2009-09-09 上海许继电气有限公司 Multi-serial port data communication card equipment based on CPCI bus and method thereof
CN201583945U (en) * 2009-12-02 2010-09-15 天津光电通信技术有限公司 Serial communication system for multiple singlechips based on FPGA
CN201673500U (en) * 2010-03-02 2010-12-15 山东超越数控电子有限公司 Interface card for switching MINIPCI port to serial port
CN103248526A (en) * 2012-02-08 2013-08-14 迈普通信技术股份有限公司 Communication equipment and method for achieving out-of-band monitoring and management, and master-slave switching method
CN102760111A (en) * 2012-06-27 2012-10-31 浙江大学 FPGA-based (Field Programmable Gate Array) extended multi-serial port device and data receiving-transmitting method thereof
CN203705861U (en) * 2013-12-18 2014-07-09 国核自仪系统工程有限公司 Multi-serial port parallel processing framework based on FPGA

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘凤新 等: "基于FPGA的多路并行独立串口的实现", 《仪表技术与传感器 》 *
张羽 等: "基于FPGA的多串口扩展实现", 《电子器件 》 *
苏航 等: "FPGA实现UART和MCU一体化设计", 《现代电子技术》 *
鲍存会: "基于FPGA的多通道并行UART接口设计", 《陕西理工学院学报(自然科学版)》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105137852A (en) * 2015-06-26 2015-12-09 上海沈德医疗器械科技有限公司 Multichannel ultrasonic driver parallel controller of phase-control HIFU (High Intensity Focused Ultrasound) system
CN105137852B (en) * 2015-06-26 2019-01-25 上海沈德医疗器械科技有限公司 Phased high intensity focused ultrasound system channel ultrasonic driver parallel control device
CN105045761A (en) * 2015-08-26 2015-11-11 福建恒天晨光节能服务有限公司 High-speed parallel processing architecture for data center
CN105045761B (en) * 2015-08-26 2018-08-28 福建恒天晨光节能服务有限公司 A kind of high-speed parallel processing framework of data center
CN107992367A (en) * 2017-10-20 2018-05-04 河南平高电气股份有限公司 A kind of Modbus serial datas processing method
CN107992367B (en) * 2017-10-20 2020-09-25 河南平高电气股份有限公司 Modbus serial port data processing method
CN108282186B (en) * 2018-03-07 2019-02-22 杭州先锋电子技术股份有限公司 A kind of UART communication system, method, equipment and computer storage medium
CN108282186A (en) * 2018-03-07 2018-07-13 杭州先锋电子技术股份有限公司 A kind of UART communication systems, method, equipment and computer storage media
CN109597788A (en) * 2018-12-11 2019-04-09 广东浪潮大数据研究有限公司 A kind of High Speed Serial device, correlation technique and relevant apparatus
CN109597788B (en) * 2018-12-11 2023-02-28 广东浪潮大数据研究有限公司 High-speed serial port device, related method and related device
CN109871353A (en) * 2019-03-26 2019-06-11 广东高云半导体科技股份有限公司 Electronic equipment and its FPGA applied to artificial intelligence
CN110120922A (en) * 2019-05-14 2019-08-13 中国核动力研究设计院 A kind of data interaction Network Management System and method based on FPGA
CN110120922B (en) * 2019-05-14 2022-09-20 中核控制系统工程有限公司 FPGA-based data interaction network management system and method
CN114281392A (en) * 2022-03-04 2022-04-05 季华实验室 Serial port upgrading method and system for multi-MCU slave station

Similar Documents

Publication Publication Date Title
CN103714024A (en) Multi-serial port parallel processing framework based on SoC (System on a Chip) FPGA (Field Programmable Gata Array)
CN203705861U (en) Multi-serial port parallel processing framework based on FPGA
CN103713543A (en) Multi-serial-port parallel processing framework based on FPGA
CN103425106B (en) The master/slave station control system of a kind of EtherCAT based on Linux and method
CN103049414B (en) Method for converting and transmitting data between FC (fiber channel) bus and CAN (controller area network) bus
CN102760111B (en) FPGA-based (Field Programmable Gate Array) extended multi-serial port device and data receiving-transmitting method thereof
CN108228513B (en) Intelligent serial port communication device based on FPGA framework
CN104915303B (en) High speed digital I based on PXIe buses/O systems
CN103440219A (en) Novel general bus transforming bridge IP core
CN104242981B (en) A kind of embedded communication device based on software radio
CN203812025U (en) Multi-serial-port parallel processing framework based on a SoC FPGA
CN201435738Y (en) PROFIBUS-DP and CAN field bus protocol converter
CN103901814B (en) A kind of multiaxial motion digital control system
CN111736115A (en) MIMO millimeter wave radar high-speed transmission method based on improved SGDMA + PCIE
CN204178172U (en) A kind of universal embedded bus control equipment based on DSP and FPGA
CN103092787A (en) PowerPC architecture based multifunctional low-power-consumption bus communication module
CN103902505A (en) Configurable FFT processor circuit structure based on switching network
CN107346298A (en) The method and system of protocol conversion between a kind of parallel bus and UART bus
CN114257245A (en) Multichannel AD acquisition system based on DSP-FPGA
CN102662887A (en) Multi-port random access memory (RAM)
CN203849590U (en) Multi-shaft motion numerical control system
CN103151978A (en) Driving controller for Ethernet stepping motor
CN206258865U (en) A kind of signal processor ASIC frameworks of restructural
CN111190853A (en) High-speed communication system between pieces based on EMIF and SRIO interface
CN108845537A (en) The communication means of CPU and digital logic module in PLC system based on SOC FPGA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140409

RJ01 Rejection of invention patent application after publication