Multi-channel data transceiving method and device, robot, equipment and medium
By constructing a parallel hardware processing architecture within the FPGA chip, independent communication channels and global timestamp generation are achieved, solving the problems of insufficient channel number and poor scalability in CAN bus communication, and improving communication efficiency and real-time performance.
Patent Information
- Application Number
- CN202511490896.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-17
- Publication Date
- 2026-02-10
AI Technical Summary
Existing technologies for CAN bus communication suffer from insufficient communication channels, poor scalability, and low real-time performance, failing to meet the communication needs of multiple nodes and high concurrency.
A multi-channel data transmission and reception method is adopted. A parallel hardware processing architecture is built within the FPGA chip to enable each communication channel to have an independent communication controller and buffer. A global timestamp is generated using a synchronization register chain and a timestamp latch to generate data to be transmitted and received, thus eliminating the delay and jitter of the software processing path.
It realizes multi-channel parallel communication, improves communication efficiency, solves the problems of insufficient number of communication channels and poor scalability, and enhances real-time performance and communication rate.
Smart Images

Figure CN121508719A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and more particularly to a multi-channel data transmission and reception method, robot, device, equipment, and medium. Background Technology
[0002] With the increasing demand for CAN (Controller Area Network) bus communication in fields such as industrial automation, automotive electronics, and intelligent robot control, the number of CAN controller channels integrated by traditional embedded processors or MCUs (usually 2 to 4 channels) is no longer sufficient to meet the communication needs of multiple nodes and high concurrency. This has resulted in problems such as insufficient number of communication channels, poor scalability, and low real-time performance in existing CAN bus communication.
[0003] Therefore, there is an urgent need for a data transmission and reception method that can meet the requirements of multiple nodes and high concurrency, in order to solve the problems of insufficient number of communication channels, poor scalability, and low real-time performance in existing technologies. Summary of the Invention
[0004] Therefore, it is necessary to provide a multi-channel data transmission and reception method, robot, device, equipment, and medium to address the aforementioned technical problems, thereby solving the issues of insufficient communication channels, poor scalability, and low real-time performance in the existing technology.
[0005] A multi-channel data transmission and reception method includes: Receive message transmission and reception requests from at least one communication channel; Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; Each of the aforementioned asynchronous data signals is fed back to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; Each of the data synchronization signals is sent to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp. Based on the message data and global timestamp of each communication channel, data to be sent and received is generated for each communication channel to complete the message sending and receiving operation.
[0006] A multi-channel data transceiver device, comprising: The send / receive request module is used to receive message send / receive requests from at least one communication channel; An asynchronous signal module is used to determine whether each message transmission request meets the preset transmission conditions, and to generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; The synchronization signal module is used to feed back each of the asynchronous data signals to the synchronization register chain corresponding to the message transmission and reception request, thereby generating a data synchronization signal. The timestamp module is used to send each of the data synchronization signals to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp; The transceiver module is used to generate data to be transmitted and received for each communication channel based on the message data and the global timestamp of each communication channel, so as to complete the message transmission and reception operation.
[0007] A robot includes a controller for performing the multi-channel data transmission and reception method described above.
[0008] A computer device includes a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor implements the above-described multi-channel data transmission and reception method when executing the computer-readable instructions.
[0009] One or more readable storage media storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform the multichannel data transmission and reception method described above.
[0010] The aforementioned multi-channel data transmission and reception method, robot, device, equipment, and medium receive message transmission and reception requests from at least one communication channel; determine whether each message transmission and reception request meets preset transmission and reception conditions, and generate an asynchronous data signal for each message transmission and reception request that meets the preset transmission and reception conditions; feed back each asynchronous data signal to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; send each data synchronization signal to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp; and generate data to be transmitted and received for each communication channel based on the message data of each communication channel and the global timestamp to complete the message transmission and reception operation. This invention can simultaneously receive and process message transmission and reception requests from multiple communication channels, solving the problems of insufficient communication channels, poor scalability, and low real-time performance in existing technologies, and greatly improving communication efficiency. Attached Figure Description
[0011] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1This is a schematic diagram of an application environment for a multi-channel data transmission and reception method according to an embodiment of the present invention; Figure 2 This is a flowchart illustrating a multi-channel data transmission and reception method according to an embodiment of the present invention; Figure 3 This is a schematic diagram of a multi-channel data transceiver device according to an embodiment of the present invention; Figure 4 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation
[0013] 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, not all, of the embodiments of the present invention. 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.
[0014] The multi-channel data transmission and reception method provided in this embodiment can be applied to, for example... Figure 1 In this application environment, the client communicates with the server. Clients include, but are not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. The server can be implemented using a standalone server or a server cluster consisting of multiple servers.
[0015] In one embodiment, such as Figure 2 As shown, a multi-channel data transmission and reception method is provided, which is applied to... Figure 1 Taking the server-side as an example, the explanation includes the following steps: S10. Receive message transmission / reception requests from at least one communication channel; the message transmission / reception requests include message data.
[0016] Understandably, a communication channel refers to a data transmission channel. Message transmission and reception requests include message reception requests and message transmission requests. Receiving message transmission and reception requests from at least one communication channel refers to "receiving message reception requests from at least one communication channel" and "receiving message transmission requests to send messages to at least one communication channel." Message data refers to the CAN message contained in the message reception request or message transmission request.
[0017] Preferably, multiple communication channels are all built on a single chip, which is an FPGA (Field-Programmable Gate Array) based chip, also referred to as an FPGA chip below. The number of communication channels can be set according to requirements. Each communication channel has an independent communication controller, which has an independent CAN protocol, bit timing logic, data processing path, register group, and acceptance filter, etc. Since each communication channel contains an independent communication controller, true parallel processing is achieved, fundamentally eliminating the nondeterministic delays and jitter caused by SPI bus polling, operating system scheduling, etc.
[0018] The data processing path refers to the processing path for message transmission and reception requests, such as the first data processing path and the second data processing path mentioned later. Here, the first data processing path refers to the processing path for message reception requests, and the second data processing path refers to the processing path for message transmission requests. It should be understood that the first data processing path corresponds to a receive buffer, which is used to buffer received message data; the second data processing path corresponds to a send buffer, which is used to buffer message data to be sent. The buffers of each communication channel are not shared, achieving true physical isolation. The acceptance filter is used to accept message transmission and reception requests. For example, the "determining whether each message transmission and reception request meets the preset transmission and reception conditions" mentioned later is the acceptance operation performed on the message transmission and reception requests. The register group is used to map to the system address space and is used to configure the working mode, baud rate, interrupt enable, acceptance filter code, and read status information of the communication channel. In this way, users can dynamically and in real time modify the baud rate, filtering rules, message triggering actions, and complex cross-channel or message data forwarding rules of each communication channel by configuring the register group through the host computer software. The bit timing logic is used to receive a unified high-frequency system clock. It divides the clock frequency through a programmable baud rate preset register to generate precise bit timing independently for each communication channel, ensuring that each communication channel operates at a maximum communication rate of 1 Mbps and a configurable sampling point.
[0019] Preferably, all interrupt signals generated by the communication channels are centrally processed by a single interrupt control unit on the aforementioned single chip. This interrupt control unit prioritizes all interrupt signals or performs a logical OR operation, generating a global interrupt request to the host. After responding to the global interrupt request, the host can quickly locate the specific communication channel and event type that caused the interrupt by querying the status register of the interrupt signal controller.
[0020] Preferably, the general-purpose I / O pins of the aforementioned FPGA chip are assigned as transmit and receive signal lines for each communication channel. These signal lines are directly connected to the transceiver chip connected to each communication channel, and the transceiver chip is responsible for differential signal conversion with the physical communication bus. Thus, by constructing a parallel hardware processing architecture within the FPGA, the traditional software processing path is eliminated. Each communication channel is driven by independent dedicated hardware logic for its transmit and receive operations. Multiple channels operate in parallel without competing for resources, fundamentally eliminating the unpredictable access latency and significant software overhead caused by SPI bus time-sharing or MCU software interrupt processing.
[0021] Optionally, in one embodiment, that is, in step S10, receiving a message transmission / reception request from at least one communication channel includes: S101. When the message transmission request is a message reception request, the message reception request is received through the first data processing path. S102. When the message sending / receiving request is a message sending request, the message sending request is received through the second data processing path.
[0022] Understandably, each communication channel has two data processing paths: one path (i.e., the first data processing path) for handling message receive requests, and one path (i.e., the second data processing path) for handling message send requests. It should be understood that the FPGA chip also includes a message processor, which comprises a parallel send processor and a parallel receive processor. Data transmission on the first data processing path of all communication channels is handled by the parallel receive processor of the FPGA chip. Data transmission on the second data processing path of all communication channels is handled by the parallel send processor of the FPGA chip. In this way, each communication channel can achieve bidirectional full-rate communication of 1 Mbps, improving the real-time performance of communication and eliminating latency and jitter caused by software and bus contention.
[0023] S20. Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions.
[0024] Understandably, determining whether a message transmission request meets preset transmission conditions is achieved through an acceptance filter. Preset transmission conditions refer to pre-defined message transmission rules or constraints. It should be understood that each communication channel's protocol engine includes an SOF (Start of Frame) detection logic, used to identify the dominant level (falling edge) at the start of a data frame for message data that meets the preset transmission conditions. Once the SOF bit is detected, a pulse signal (sof_detected) is generated. Because this pulse signal is asynchronous with the communication bus, it is determined to be a data asynchronous signal.
[0025] Specifically, when a message transmission request meets preset transmission conditions, it indicates that the message data contained in the request is allowed to be transmitted, and an asynchronous data signal is generated for the message transmission request that meets the preset transmission conditions. Conversely, if the message transmission request does not meet the preset conditions, it indicates that the message data contained in the request is not allowed to be transmitted, and an invalid message is returned.
[0026] Optionally, in one embodiment, that is, in step S20, determining whether each message transmission / reception request meets preset transmission / reception conditions includes: S201. Obtain the channel address of the message transmission and reception request; S202. Obtain the preset channel transmit / receive conditions corresponding to the channel address; S203. Determine whether the message transmission request meets the preset channel transmission conditions.
[0027] Understandably, a channel address can be a network layer address (such as an IP address), a data link layer address (such as a MAC address), or a logical address in a specific communication protocol (such as an I2C bus address). Preset channel transmit / receive conditions refer to the rules or constraints pre-set for transmitting message data on each communication channel. Users can set and modify the transmit / receive conditions of each communication channel according to actual needs in the register group of each communication channel, enhancing communication flexibility without requiring modifications to hardware design or firmware, thus saving time and manpower costs.
[0028] Specifically, after obtaining the channel address of the message transmission / reception request, the system then retrieves the preset channel transmission / reception conditions corresponding to that channel address and judges the message transmission / reception request based on these conditions. In this way, message transmission / reception requests for each communication channel pass the acceptance test of the preset channel transmission / reception conditions for that channel, improving the accuracy of communication information. Furthermore, it allows for simultaneous multi-channel communication transmission, improving communication efficiency and real-time performance.
[0029] Optionally, in one embodiment, that is, in step S203, the preset channel transmit / receive conditions include channel triggering conditions and filtering conditions; S2031, The step of determining whether the message transmission / reception request meets the preset channel transmission / reception conditions includes: S2032. Determine whether the message sending / receiving request meets the channel triggering condition; S2033. When the message transmission request meets the channel triggering condition, determine whether the message transmission request meets the filtering condition.
[0030] Understandably, the preset transmission and reception conditions include channel triggering conditions and filtering conditions. Channel triggering conditions refer to the rules or constraints that trigger the communication channel when a message transmission and reception request is made. For example, these conditions include, but are not limited to, the target address in the message transmission and reception request (the target address refers to the address for receiving and sending message data; for example, the target address is the address of the motor in the robot that receives motion commands) being the same as the preset address, and / or the message transmission and reception request being initiated by the user or generated by application logic. Here, filtering conditions can be implemented using a set of Acceptance Code Registers (ACR) and Acceptance Mask Registers (AMR). Preferably, filtering conditions can also be implemented using a lookup table approach.
[0031] Optionally, in one embodiment, specifically in step S20, generating an asynchronous data signal for each message transmission / reception request that meets the preset transmission / reception conditions includes: S204. When the message sending / receiving request meets the preset sending / receiving conditions, obtain the action rules corresponding to the preset sending / receiving conditions. S205. Determine the target action of the message sending / receiving request according to the action rules; S206. Generate an asynchronous data signal according to the target action.
[0032] Understandably, different preset transmission and reception conditions correspond to different action rules. An action rule can be a programmable lookup table. For example, if rule A in the lookup table is "When a message transmission / reception request meets preset transmission / reception condition a, execute action a1", then action a1 is determined as the target action. If another rule in the lookup table is "When a message transmission / reception request meets preset transmission / reception condition b, execute action b1", then action b1 is determined as the target action. It should be understood that each communication channel's protocol engine contains an SOF (Start of Frame) detection logic. When a dominant level (falling edge) at the start of a data frame that meets the preset transmission and reception conditions is detected, a pulse signal (sof_detected) is generated once the SOF bit is detected. Since this pulse signal is asynchronous with the communication bus, it is determined as a data asynchronous signal.
[0033] S30. Feed back each of the asynchronous data signals to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal.
[0034] Understandably, each communication channel corresponds to a synchronization register chain. Generally, the synchronization register chain contains two flip-flops. Specifically, the asynchronous signal is synchronized to the high-frequency (200MHz) global clock domain through the synchronization register chain, generating a stable data synchronization signal aligned with the global clock edge.
[0035] S40. Send each of the data synchronization signals to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp.
[0036] Understandably, once the data synchronization signal is generated, it triggers the timestamp latch to capture the current time of the global clock domain (generated by a global time counter driven by the global clock domain) and generate a global timestamp. This embodiment utilizes the high-precision clock management and synchronization technology of FPGA to drive a global time counter through a unified high-frequency (200MHz) global clock domain. This allows all communication channels to be stamped with a high-precision global timestamp based on this unified clock when their start-of-frame (SOF) bit is triggered. This solves the problem in existing technologies (traditional multi-chip communication technologies) where precise cross-channel time correlation, sorting, and analysis are impossible due to clock independence.
[0037] S50. Based on the message data and global timestamp of each of the communication channels, generate data to be sent and received for each communication channel to complete the message sending and receiving operation.
[0038] Understandably, the data to be sent and received includes message data and a global timestamp corresponding to the message data. After the global timestamp is generated, the data to be sent and received is generated based on the global timestamp and the message data, and the data to be sent and received is written into the send / receive buffer of the corresponding communication channel. It should be understood that message data includes received data and sent data.
[0039] Specifically, when the message data is received data, it is written to the receive buffer through the first data processing path to complete the reception of the message data. When the message data is sent data, it is written to the send buffer through the second data processing path to complete the transmission of the message data.
[0040] In steps S10-S50, message transmission / reception requests from at least one communication channel are received; it is determined whether each message transmission / reception request meets preset transmission / reception conditions, and an asynchronous data signal is generated for each message transmission / reception request that meets the preset transmission / reception conditions; each asynchronous data signal is fed back to the synchronization register chain corresponding to the message transmission / reception request to generate a data synchronization signal; each data synchronization signal is sent to the timestamp latch corresponding to the message transmission / reception request to generate a global timestamp; and data to be transmitted / received is generated for each communication channel based on the message data of each communication channel and the global timestamp to complete the message transmission / reception operation. In this embodiment, message transmission / reception requests from multiple communication channels can be received and processed simultaneously, solving the problems of insufficient number of communication channels, poor scalability, and low real-time performance in the prior art, and greatly improving communication efficiency.
[0041] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0042] In one embodiment, a multi-channel data transceiver device is provided, which corresponds one-to-one with the multi-channel data transceiver methods described in the above embodiments. For example... Figure 3 As shown, this multi-channel data transceiver device includes a transmit / receive request module 10, an asynchronous signal module 20, a synchronization signal module 30, a timestamp module 40, and a transmit / receive operation module 50. Detailed descriptions of each functional module are as follows: The send / receive request module 10 is used to receive message send / receive requests from at least one communication channel; The asynchronous signal module 20 is used to determine whether each message transmission request meets the preset transmission conditions, and to generate a data asynchronous signal for each message transmission request that meets the preset transmission conditions; Synchronization signal module 30 is used to feed back each of the asynchronous data signals to the synchronization register chain corresponding to the message transmission and reception request, and generate a data synchronization signal; The timestamp module 40 is used to send each of the data synchronization signals to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp; The transceiver operation module 50 is used to generate data to be transmitted and received for each communication channel based on the message data and the global timestamp of each communication channel, so as to complete the message transmission and reception operation.
[0043] Optionally, the asynchronous signal module 20 includes: The channel address unit is used to obtain the channel address of the message transmission and reception request; The data acquisition unit is used to acquire the preset channel transmission and reception conditions corresponding to the channel address; The judgment unit is used to determine whether the message transmission and reception request meets the preset channel transmission and reception conditions.
[0044] Optionally, the preset channel transmit / receive conditions include channel triggering conditions and filtering conditions; The judgment unit includes: The step of determining whether the message transmission / reception request meets the preset channel transmission / reception conditions includes: The first judgment unit is used to determine whether the message transmission and reception request meets the channel triggering condition; The second judgment unit is used to determine whether the message transmission request meets the filtering condition when the message transmission request meets the channel triggering condition.
[0045] Optionally, the asynchronous signal module 20 includes: The action rule unit is used to obtain the action rule corresponding to the preset sending and receiving conditions when the message sending and receiving request meets the preset sending and receiving conditions; The target action unit is used to determine the target action of the message sending / receiving request according to the action rules. An asynchronous signal unit is used to generate asynchronous data signals based on the target action.
[0046] Optionally, the send / receive request module 10 includes: The first data processing path unit is used to receive the message receiving request through the first data processing path when the message sending and receiving request is a message receiving request. The second data processing path unit is used to receive the message sending request through the second data processing path when the message sending request is a message sending request.
[0047] Specific limitations regarding multi-channel data transceiver devices can be found in the limitations of multi-channel data transceiver methods described above, and will not be repeated here. Each module in the aforementioned multi-channel data transceiver device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in hardware or independently of the processor in the computer device, or stored in software in the memory of the computer device, so that the processor can call and execute the corresponding operations of each module.
[0048] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 4As shown, the computer device includes a processor, memory, network interface, display screen, and input device connected via a system bus. The processor provides computing and control capabilities. The memory includes a readable storage medium and internal memory. The non-volatile storage medium stores the operating system and computer-readable instructions. The internal memory provides an environment for the operation of the operating system and computer-readable instructions in the readable storage medium. The network interface is used to communicate with an external server via a network connection. When the computer-readable instructions are executed by the processor, they implement a multi-channel data transmission and reception method. The readable storage medium provided in this embodiment includes both non-volatile and volatile readable storage media.
[0049] In one embodiment, a robot is provided, including a controller for performing a multi-channel data transmission and reception method as follows: Receive message transmission and reception requests from at least one communication channel; Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; Each of the aforementioned asynchronous data signals is fed back to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; Each of the data synchronization signals is sent to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp. Based on the message data and global timestamp of each communication channel, data to be sent and received is generated for each communication channel to complete the message sending and receiving operation.
[0050] In one embodiment, a computer device is provided, including a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor performs the following steps when executing the computer-readable instructions: Receive message transmission and reception requests from at least one communication channel; Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; Each of the aforementioned asynchronous data signals is fed back to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; Each of the data synchronization signals is sent to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp. Based on the message data and global timestamp of each communication channel, data to be sent and received is generated for each communication channel to complete the message sending and receiving operation.
[0051] In one embodiment, one or more computer-readable storage media storing computer-readable instructions are provided. The readable storage media provided in this embodiment include non-volatile readable storage media and volatile readable storage media. The readable storage media stores computer-readable instructions, which, when executed by one or more processors, perform the following steps: Receive message transmission and reception requests from at least one communication channel; Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; Each of the aforementioned asynchronous data signals is fed back to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; Each of the data synchronization signals is sent to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp. Based on the message data and global timestamp of each communication channel, data to be sent and received is generated for each communication channel to complete the message sending and receiving operation.
[0052] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a non-volatile readable storage medium or a volatile readable storage medium. When executed, these computer-readable instructions can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0053] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0054] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. 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. Such 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, and should all be included within the protection scope of the present invention.
Claims
1. A multi-channel data transmission and reception method, characterized in that, include: Receive message transmission and reception requests from at least one communication channel; Determine whether each message transmission request meets the preset transmission conditions, and generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; Each of the aforementioned asynchronous data signals is fed back to the synchronization register chain corresponding to the message transmission and reception request to generate a data synchronization signal; Each of the data synchronization signals is sent to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp. Based on the message data and global timestamp of each communication channel, data to be sent and received is generated for each communication channel to complete the message sending and receiving operation.
2. The multi-channel data transmission and reception method as described in claim 1, characterized in that, The step of determining whether each message transmission / reception request meets the preset transmission / reception conditions includes: Obtain the channel address of the message transmission and reception request; Obtain the preset channel transmit / receive conditions corresponding to the channel address; Determine whether the message transmission request meets the preset channel transmission and reception conditions.
3. The multi-channel data transmission and reception method as described in claim 2, characterized in that, The preset channel transmit / receive conditions include channel triggering conditions and filtering conditions; The step of determining whether the message transmission / reception request meets the preset channel transmission / reception conditions includes: Determine whether the message sending / receiving request meets the channel triggering condition; When the message transmission request meets the channel triggering condition, determine whether the message transmission request meets the filtering condition.
4. The multi-channel data transmission and reception method as described in claim 1, characterized in that, The step of generating an asynchronous data signal for each message transmission / reception request that meets the preset transmission / reception conditions includes: When the message sending / receiving request meets the preset sending / receiving conditions, obtain the action rules corresponding to the preset sending / receiving conditions; Based on the action rules, determine the target action of the message sending and receiving request; Generate asynchronous data signals based on the target action.
5. The multi-channel data transmission and reception method as described in claim 1, characterized in that, The receiving of message transmission and reception requests from at least one communication channel includes: When the message transmission request is a message reception request, the message reception request is received through the first data processing path; When the message transmission request is a message sending request, the message sending request is received through the second data processing path.
6. The multi-channel data transmission and reception method as described in claim 1, characterized in that, All of the aforementioned communication channels are built into a single chip.
7. A multi-channel data transceiver device, characterized in that, include: The send / receive request module is used to receive message send / receive requests from at least one communication channel; An asynchronous signal module is used to determine whether each message transmission request meets the preset transmission conditions, and to generate an asynchronous data signal for each message transmission request that meets the preset transmission conditions; The synchronization signal module is used to feed back each of the asynchronous data signals to the synchronization register chain corresponding to the message transmission and reception request, thereby generating a data synchronization signal. The timestamp module is used to send each of the data synchronization signals to the timestamp latch corresponding to the message transmission and reception request to generate a global timestamp; The transceiver module is used to generate data to be transmitted and received for each communication channel based on the message data and the global timestamp of each communication channel, so as to complete the message transmission and reception operation.
8. A robot, comprising a controller, characterized in that, The controller is used to execute the multi-channel data transmission and reception method as described in any one of claims 1 to 6.
9. A computer device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, characterized in that, When the processor executes the computer-readable instructions, it implements the multi-channel data transmission and reception method as described in any one of claims 1 to 6.
10. One or more readable storage media storing computer-readable instructions, characterized in that, When the computer-readable instructions are executed by one or more processors, the one or more processors cause the one or more processors to perform the multichannel data transmission and reception method as described in any one of claims 1 to 6.