A multi-protocol data transmission method, system and conversion system
By working together with MCU, FPGA and MVB communication processor, the stability problem of data conversion between different communication protocols is solved, and high-efficiency multi-protocol conversion without interruption is achieved, which is applicable to railway communication, signaling and vehicle control fields.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CRSC RESEARCH & DESIGN INSTITUTE GROUP CO LTD
- Filing Date
- 2023-02-22
- Publication Date
- 2026-04-28
AI Technical Summary
In existing technologies, data conversion between different communication protocols suffers from stability issues. In particular, the conversion between the MVB communication protocol and other protocols requires interruption processing, leading to unstable data processing.
The system employs a collaborative approach involving an MCU, FPGA, and MVB communication processor to process data from different protocols. It achieves uninterrupted data conversion through packing and unpacking, and supports bidirectional conversion between Ethernet and RS422, RS485, CAN, and MVB protocols.
It achieves stable data transmission between different protocols, avoids interruption handling, improves system processing performance, reduces production costs, and supports efficient conversion between multiple protocols.
Smart Images

Figure CN116320058B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information and communication technology, and in particular relates to a multi-protocol data transmission method, system and conversion system. Background Technology
[0002] Existing communication systems utilize various communication protocols, such as RS422 / RS485 serial ports, CAN (Controller Area Network), and MVB (Multifunction Vehicle Bus). RS422 is a commonly used protocol, specifying a 4-wire, full-duplex, differential transmission, and multi-point communication data transmission protocol. RS485 is also commonly used in industrial applications. In industrial communication networks, the RS-485 bus is generally used for information transmission and data exchange with various external industrial devices. Ethernet is a widely used computer network data transmission protocol for Local Area Networks (LANs), Metropolitan Area Networks (MANs), and Wide Area Networks (WANs). CAN (Controller Area Network) is an ISO internationally standardized serial communication protocol. MVB is a serial data communication bus primarily used (but not exclusively used) for interoperability and interchangeability requirements between interconnected devices. It is widely used in rail vehicles, where standard equipment located in the same or different vehicles is connected to train communication.
[0003] Because different protocols have different data requirements, data transmission obstacles exist when transmitting data between devices and networks using different protocols. As communication service demands continue to evolve, there is a need to transmit data between devices and networks using different protocols. However, current technologies generally do not support data conversion between multiple protocols, especially not the conversion between the MVB communication protocol and other communication protocols.
[0004] Even with research on conversion between MVB and other communication protocols, interrupt handling of the conversion processor is still required when converting data between different protocols or networks. For example, some existing technologies use ARM main control units and FPGAs to adapt to RS232, RS422, and RS485 data transmission; some existing technologies have designed an MVB core control chip to realize the adaptation and transmission of RS232 serial port / CAN communication data and MVB data; and some existing technologies have studied ARM-based multi-functional communication interface modules and FPGA-based multi-protocol conversion controllers.
[0005] However, existing technologies handle these data conversions using an interrupt-driven approach to process the communication protocol conversion. This is especially true in multi-protocol processing requirements that need to support the MVB communication protocol. Because of this interrupt-driven approach, processing one type of communication data can prevent the processing of other types of communication data, or it can be interrupted by requests to process other communication data, affecting the stability of data processing. Summary of the Invention
[0006] To address the aforementioned issues, this disclosure provides a communication bus conversion method, transmission method, and system.
[0007] This disclosure provides a method for multi-protocol data transmission, the method comprising:
[0008] The MCU receives data from Ethernet using multiple protocols, including MVB data and non-MVB data. It then extracts the corresponding protocol data from the various data types, packages them into data packets, and sends the data packets to the FPGA.
[0009] The FPGA receives the data packet from the MCU, extracts the data corresponding to the protocol from the data packet, and processes the data using the corresponding protocol; the MVB data processed using the MVB protocol is sent to the MVB communication processor.
[0010] The MVB communication processor receives the MVB data sent by the FPGA and sends the MVB data to an external MVB device.
[0011] In some embodiments, data processing using corresponding protocols specifically involves:
[0012] Utilize serial communication protocols to process serial data in non-MVB protocol data;
[0013] The CAN communication protocol is used to process CAN data in non-MVB protocol data.
[0014] MVB data is processed using the MVB communication protocol.
[0015] In some embodiments, the non-MVB protocol data includes serial port data and / or CAN data.
[0016] In some embodiments, the communication parameters of each communication protocol are configured before the MCU receives data from the Ethernet using multiple protocols.
[0017] In some embodiments,
[0018] After the MCU is initialized, the MCU sends an FPGA run command to the FPGA;
[0019] After receiving the FPGA run command, the FPGA starts running, initializes the parameters of the MVB communication processor, and sends the MVB run command to the MVB communication processor.
[0020] After receiving the MVB run command, the MVB begins to run.
[0021] In some embodiments,
[0022] After MCU initialization, the MCU receives data from Ethernet using various protocols; and / or;
[0023] After the FPGA starts running, the FPGA receives the data packet from the MCU; and / or;
[0024] After the MVB starts running, the MVB communication processor receives the MVB data sent by the FPGA.
[0025] This disclosure also provides a multi-protocol data conversion system, the system comprising an MCU, an FPGA, and an MVB communication processor, wherein:
[0026] The MCU is configured to receive data from Ethernet using multiple protocols, including MVB data of the MVB protocol and data of non-MVB protocols; extract the data of the corresponding protocol from the multiple types of data, package them into data packets, and send the data packets to the FPGA;
[0027] The FPGA is configured to receive the data packet from the MCU, extract the data corresponding to the protocol from the data packet, process the data according to the corresponding protocol, and send the MVB data processed using the MVB protocol to the MVB communication processor.
[0028] The MVB communication processor is configured to receive MVB data sent by the FPGA and send the MVB data to an external MVB device.
[0029] In some embodiments, the FPGA processes the data using corresponding protocols as follows:
[0030] Utilize serial communication protocols to process serial data in non-MVB protocol data;
[0031] The CAN communication protocol is used to process CAN data in non-MVB protocol data.
[0032] MVB data is processed using the MVB communication protocol.
[0033] This disclosure also provides a method for multi-protocol data transmission, the method comprising:
[0034] The MVB communication processor receives MVB data from an external MVB device, processes the MVB data according to the MVB protocol, and sends the processed MVB data to the FPGA.
[0035] The FPGA sends the received MVB data to the MCU;
[0036] The MCU packages the FPGA data, converts it into Ethernet data according to the Ethernet protocol, and sends the Ethernet data to the Ethernet network.
[0037] In some embodiments, the communication parameters of each communication protocol are configured via the MCU.
[0038] This disclosure also provides a multi-protocol data transmission system, the system comprising an MVB communication processor, an FPGA, and an MCU, wherein...
[0039] The MVB communication processor is configured to receive MVB data from an external MVB device, process the MVB data according to the MVB protocol, and send the processed MVB data to the FPGA.
[0040] The FPGA is configured to send the received MVB data to the MCU;
[0041] The MCU is configured to package FPGA data, convert it into Ethernet data according to the Ethernet protocol, and send the Ethernet data to the Ethernet network.
[0042] In some embodiments, the MCU is configured to configure the communication parameters of each communication protocol.
[0043] Compared with the prior art, the present invention has the following advantages:
[0044] In this embodiment, three processing units are used to execute their respective steps and work together to overcome the need for interruption processing in the prior art to achieve the conversion of different protocol data. This design of the present embodiment is adapted to the requirement of transmitting MVB data between different protocol systems and devices, and realizes the support for the conversion of MVB communication protocol with other communication protocols without interruption.
[0045] This embodiment of the present disclosure can simultaneously support the conversion from Ethernet communication protocol to four other communication protocols (RS422, RS485, CAN, and MVB); the conversion from Ethernet to the other four communication protocols (RS422, RS485, CAN, and MVB) is bidirectional; this embodiment of the present disclosure uses an FPGA as a coprocessor unit to process the underlying communication protocol, resulting in strong system processing performance; the design of this embodiment of the present disclosure achieves high-performance communication through a low-cost processor, saving production costs; the parameters of each communication protocol in this embodiment of the present disclosure can be configured through an Ethernet communication channel; the technical solution of this embodiment of the present disclosure is widely used in railway communication, signaling, and vehicle control fields, and has universality in other fields.
[0046] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures pointed out in the description, claims and drawings. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 A schematic diagram of the hardware structure of a communication bus conversion system according to an embodiment of the present disclosure is shown;
[0049] Figure 2 A schematic flowchart of a communication bus conversion method on the MCU side according to an embodiment of the present disclosure is shown;
[0050] Figure 3 A schematic flowchart of a communication bus conversion method on the FPGA side according to an embodiment of the present disclosure is shown;
[0051] Figure 4 A schematic diagram of the MVB communication processor side receiving FPGA data flow is shown in an embodiment of the communication bus conversion method according to the present disclosure.
[0052] Figure 5 A schematic diagram of the data flow from an external device received by the MVB communication processor side according to an embodiment of the present disclosure is shown. Detailed Implementation
[0053] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0054] In this embodiment, multiple data processors are used to convert and process different types of data, overcoming the limitation of prior art where interrupts are used to achieve data conversion between different protocols. This embodiment uses a microcontroller unit (MCU), a field-programmable gate array (FPGA), and an MVB (Multifunction Vehicle Bus) communication processor as examples for illustrative explanation. The technical solutions provided in each embodiment are described in detail below with reference to the accompanying drawings.
[0055] Figure 1 A hardware structure block diagram of a communication bus conversion system according to an embodiment of the present disclosure is shown, such as... Figure 1 As shown, the communication bus conversion system includes an Ethernet communication module (e.g., an MCU), an FPGA, and an MVB communication processor. The MCU and FPGA are connected via a data transmission bus COM bus, GPIO (General Purpose I / O Ports), and a RESET line for reset. The MVB communication processor and FPGA are connected via a COM bus and a RESET line. The RESET line between the MCU and FPGA is used by the MCU to reset the FPGA in case of a fault. The RESET line between the FPGA and the MVB communication processor is used by the FPGA to reset the MVB communication processor in case of an MVBC fault. The MCU uses GPIO to obtain / output digital levels "0" or "1" from / to external devices, used by the MCU to obtain the FPGA's startup status or to send a logic reset signal to the FPGA. The FPGA module acts as a coprocessor for the MCU, processing RS422 / RS485, MVB, and CAN communication data from various external communication terminals and interacting with the MCU using the processed data. This embodiment of the disclosure uses an MCU, FPGA, and communication processor, achieving high-performance communication through these low-cost processors, thus saving production costs.
[0056] In this embodiment of the disclosure, the MCU, FPGA, and MVB communication processor in the communication bus conversion system are connected to external devices through related components. The MCU is connected to the device's connector in the Ethernet network via a BOARD ID ISO (system version number isolation module), as exemplified below. Figure 1 The BOARDID module in connectors CONN1 and CONN2, used to identify the system version number, is connected. The BOARDID ISO is used to prevent external electromagnetic interference from causing the MCU to read the system version number incorrectly. The MCU connects to the connector of the device in the Ethernet network via ENET PHY (Ethernet transceiver module) and ENET ISO (Ethernet isolation module), as exemplified below. Figure 1 The MCU is connected to the ENET PHY, the ENET PHY is connected to the ENET ISO, and the ENET ISO is connected to the ETH external Ethernet communication interface in CONN2, which is used to connect to external Ethernet communication devices. The ENET PHY is a module for receiving and sending Ethernet data, and the ENET ISO is a module for protecting the Ethernet communication link and improving communication quality.
[0057] The FPGA sequentially connects to the RS422 ISO serial communication isolation module (to prevent external interference), the RS422 PHY serial communication transceiver module (for receiving and sending serial data), and the RS422 EMC serial communication isolation module (for improving communication quality) and RS protocol data interface. Figure 1 The FPGA is connected via RS422 [1:4] of CONN3; the FPGA is connected via CAN communication isolation module CAN ISO (to prevent external interference), CAN communication transceiver module CAN PHY (to receive and send CAN data), and CAN communication isolation module CAN EMC (to improve communication quality) and CAN protocol data interface ( Figure 1 The CAN[1:4] connection of CONN3 in the middle.
[0058] The MVB communication processor sequentially connects to the MVB protocol data interface via the MVB communication isolation module MVB ISO (to prevent external interference), the MVB communication transceiver module MVB PHY (for receiving and sending MVB data), and the MVB communication isolation module MVBEMC (to improve communication quality). Figure 1 (PANEL) connection. Figure 1 The PANEL includes an MVB communication connector for connecting to an external MVB communication device. This MVB communication connector may include a male and / or female DB9 (9-pin serial port) connector. The MVB communication processor is also connected to SRAM (Static Random Access Memory), which, in this embodiment, stores the process data of the MVB communication processor.
[0059] In this embodiment of the disclosure, a JTAG interface connected to the MCU and FPGA is also provided, which is mainly used for downloading programs to the MCU / FPGA; and a POWER SYSTEM connected to CONN1, which is used to power the entire system.
[0060] Based on the above communication bus conversion system Figure 2 A schematic flowchart of a communication bus conversion method on the MCU side according to an embodiment of this disclosure is shown. Figure 2 As shown, after the communication bus conversion system starts, it first initializes the system software, and then the MCU sends a start command to the FPGA (such as...). Figure 2 (See the flowchart in section A). Then, the communication parameters of various communication protocols, such as serial port protocols (RS422, RS485, etc.), CAN protocol, and MVB protocol, are configured. For example, in this embodiment, parameters such as baud rate, single / dual filtering, standard frame / extended frame for the CAN protocol, baud rate, RS422 / RS485 mode, parity check for the serial port protocol, and number of ports, bus cycle, data length, port number, and master / slave device for the MVB protocol can be configured. This design in this embodiment allows the parameters of each communication protocol to be configured via an Ethernet communication channel.
[0061] After configuring the communication parameters of the communication protocol, for the case of sending multi-protocol data from an external Ethernet network to an external MVB communication device, the MCU can receive Ethernet data from the external Ethernet communication interface ETH in CONN2. This Ethernet data includes serial port data of types RS422, RS485, and / or CAN, as well as MVB data. This embodiment uses RS422 / RS485 as serial protocol data and CAN and MVB data as examples. After receiving the Ethernet data, RS422 / RS485, CAN, and MVB communication data are extracted from the Ethernet data. The extracted RS422 / RS485, CAN, and MVB communication data are packaged into RS422 / RS485 communication data packets, CAN communication data packets, and MVB communication data packets, respectively. The packaged RS422 / RS485 communication data packets, CAN communication data packets, and MVB communication data packets are sent to the FPGA (e.g., FPGA) via the COM bus. Figure 2 (Flow arrow in B).
[0062] Figure 3 A schematic flowchart of a communication bus conversion method on the FPGA side according to an embodiment of this disclosure is shown. Figure 3As shown, the FPGA receives the packaged serial data RS422 / RS485 communication data packets, CAN communication data packets, and MVB communication data packets (such as...) from the MCU via the OM BUS bus. Figure 3 (See the B-flow arrow in the diagram) The MCU data is filtered to extract RS422 / RS485, CAN, and MVB communication data from the aforementioned data packets. For RS422 or RS485 communication data in the serial port data, the RS422 / RS485 communication data is processed according to the serial communication protocol. For example, the integrated serial communication protocol IP core (Intellectual Property Core) is used to convert the original data (e.g., 11, 22, 33, 44) into serial communication protocol data. For CAN communication data, the CAN communication data is processed according to the CAN communication protocol, that is, the integrated CAN communication protocol IP core is used to convert the original data into CAN communication protocol data. For MVB communication data, the MVB communication data is processed according to the MVB communication protocol, that is, the integrated MVB communication protocol IP core is used to convert the original data into MVB communication protocol data. For MVB communication data that needs to be sent to an external MVB communication device, it is sent to the MVB communication processor (e.g., ...) via the COM bus. Figure 3 (E flow arrow in the diagram). This embodiment of the present disclosure uses an FPGA as a coprocessor unit of the MCU to process the underlying communication protocol, thereby enhancing the overall system processing performance. In this embodiment of the present disclosure, the FPGA can send the processed CAN protocol data and serial port data to the CAN[1:4] port and RS422[1:4] port in the CONN3 port via the CAN PHY data line and the serial port protocol data line (e.g., RS422 PHY), respectively.
[0063] It should be noted that, in this embodiment of the disclosure, during the initialization phase, the FPGA also receives a start command from the MCU (such as...). Figure 3 (Flow arrow A) Start the FPGA, then initialize the parameters of the MVB communication processor, and issue a start command to the MVB communication processor (e.g., ...). Figure 3 (D-flow arrow).
[0064] Figure 4 A schematic diagram illustrating the flow of data reception from an FPGA on the MVB communication processor side according to an embodiment of the communication bus conversion method of this disclosure is shown. Figure 4 As shown, the MVB communication processor receives MVB communication data sent by the FPGA (such as...). Figure 4 The E flow arrow indicates that the MVB communication data to be sent to the external MVB communication device is sent via the MVB PHY data line to the external device, such as to the external board PANEL.
[0065] It should be noted that, in this embodiment of the disclosure, during the initialization phase, the MVB communication processor also receives a start command from the FPGA (such as...). Figure 4 (D-flow arrow) Activates the MVB communication processor, enabling it to receive MVB communication data sent by the FPGA (e.g., ...). Figure 4 (Flow arrow in Chinese E)
[0066] Based on the above design, the embodiments of this disclosure can simultaneously support the conversion from Ethernet communication protocol to four other communication protocols (RS422, RS485, CAN, MVB).
[0067] After configuring the communication parameters of the communication protocol, for the case of forwarding MVB communication data from an external MVB communication device to an external Ethernet network: Figure 5 A schematic diagram illustrating the flow of data reception from an external device on the MVB communication processor side according to an embodiment of the communication bus conversion method of this disclosure is shown, such as... Figure 5 As shown, the MVB communication processor starts up according to the FPGA's start command (e.g.) Figure 5 (See the D-flow arrow in the diagram). The MVB PHY data line can receive MVB communication data from external devices. Upon receiving MVB communication data from an external device, such as the DB9 serial port of the board panel, the received MVB communication data is processed, and the processed MVB communication data is sent to the FPGA (e.g., via the COM bus). Figure 5 (F-flow arrow).
[0068] like Figure 3 As shown, the FPGA receives MVB communication data (such as...) sent by the MVB communication processor. Figure 3 After the F-flow arrow, a protocol header is added before the MVB data to form MVB data that can be recognized by the MCU. A CRC checksum is added after the MVB data to allow the MCU to determine if the data is correct (i.e., whether the data has been affected by external electromagnetic interference during transmission, causing errors). Then, the above MVB communication data is sent to the MCU via the COM bus. If there is other communication protocol data that needs to be sent to the FPGA, such as RS422 / RS485 and / or CAN communication data, the RS422 / RS485 and CAN communication data are processed using the RS422 / RS485 communication protocol and the CAN communication protocol, respectively. The MVB communication data and other communication protocol data are then sent to the MCU (e.g., ...). Figure 3 (C-flow arrow).
[0069] like Figure 2 As shown, the MCU waits to receive data sent by the FPGA (such as...). Figure 2The MCU (with the flow arrow in C) checks if RS422, RS485, CAN, and / or MVB communication data has been received. If received, the FPGA data is packaged, converted to Ethernet data according to the Ethernet protocol, and then sent via COMBUS to an external Ethernet communication device. After data transmission, the MCU can either wait to receive communication data from the external Ethernet device or receive data sent by the MCU. If no RS422, RS485, CAN, and / or MVB communication data is received, the data is considered empty, and reception of external Ethernet communication data continues.
[0070] In this embodiment of the disclosure, the conversion from Ethernet to four other communication protocols (RS422, RS485, CAN, MVB) can be performed bidirectionally.
[0071] In this embodiment of the disclosure, in the data transmission process of different protocols, the three processing devices, namely MCU, FPGA and MVB communication processor, execute their respective steps and cooperate with each other to achieve data transmission between networks of different protocols without interruption. In particular, it can realize the data conversion and transmission between MVB communication devices and Ethernet and RS422 / RS485 protocol networks, and there is no need to interrupt the processors during the data conversion and transmission process.
[0072] Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A multi-protocol data transmission method, the method comprising: The MCU receives data from Ethernet using multiple protocols, including MVB data of the MVB protocol and data of non-MVB protocols. Data corresponding to the protocol is extracted from the various types of data, packaged into data packets, and sent to the FPGA. The FPGA receives the data packet from the MCU, extracts the data corresponding to the protocol from the data packet, and processes the data according to the corresponding protocol; the data packet includes: RS422 / RS485 serial port data packet, CAN communication data packet, and MVB communication data packet; the data includes CAN, MVB communication data, and serial port data; The data is processed using the corresponding protocols as follows: Use a serial communication protocol IP core to convert RS422 / RS485 communication data packets into serial communication protocol data; The CAN communication protocol IP core is used to convert CAN communication data packets into CAN communication protocol data. Use the MVB communication protocol IP core to convert MVB communication data packets into MVB communication protocol data; Send the MVB data processed using the MVB protocol to the MVB communication processor; The MVB communication processor receives the MVB data sent by the FPGA and sends the MVB data to an external MVB device.
2. The multi-protocol data transmission method according to claim 1, wherein, The non-MVB protocol data includes serial port data and / or CAN data.
3. The multi-protocol data transmission method according to claim 1, wherein, Before the MCU receives data from Ethernet using various protocols, the communication parameters of each protocol are configured.
4. The multi-protocol data transmission method according to claim 1 or 3, wherein, After the MCU is initialized, the MCU sends an FPGA run command to the FPGA; After receiving the FPGA run command, the FPGA starts running, initializes the parameters of the MVB communication processor, and sends the MVB run command to the MVB communication processor. After receiving the MVB run command, the MVB begins to run.
5. The multi-protocol data transmission method according to claim 4, wherein, After MCU initialization, the MCU receives data from Ethernet using various protocols; and / or; After the FPGA starts running, the FPGA receives the data packet from the MCU; and / or; After the MVB starts running, the MVB communication processor receives the MVB data sent by the FPGA.
6. A multi-protocol data conversion system, the system comprising an MCU, an FPGA, and an MVB communication processor, wherein: The MCU is configured to receive data from Ethernet using multiple protocols, including MVB data of the MVB protocol and data of non-MVB protocols; extract the data of the corresponding protocol from the multiple types of data, package them into data packets, and send the data packets to the FPGA; The FPGA is configured to receive the data packet from the MCU, extract the data corresponding to the protocol from the data packet, and process the data using the corresponding protocol respectively; The data is processed using the corresponding protocols as follows: Use a serial communication protocol IP core to convert RS422 / RS485 communication data packets into serial communication protocol data; The CAN communication protocol IP core is used to convert CAN communication data packets into CAN communication protocol data. Use the MVB communication protocol IP core to convert MVB communication data packets into MVB communication protocol data; Send the MVB data processed using the MVB protocol to the MVB communication processor; The MVB communication processor is configured to receive MVB data sent by the FPGA and send the MVB data to an external MVB device.
Citation Information
Patent Citations
Test platform for vehicle-mounted controller of signal system
CN115016347A
Gateway equipment for converting MVB (Multifunction Vehicle Bus) into Ethernet
CN208937946U