Multi-channel CAN data transmission system for weapon system

By introducing message queues with high-speed buses and fixed storage addresses that support CANFD protocol in the weapon system, the problem of insufficient transmission rate of traditional CAN buses is solved, and higher data transmission rate and response rate are achieved.

CN119557256APending Publication Date: 2025-03-04CHANGAN AUTOMOBILE (GRP) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411491716.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

The existing technology cannot meet the requirements of modern weapon systems for weapon diagnostic detection response rate. The traditional CAN bus data transmission rate is insufficient, so high-speed parallel processing cannot be achieved.

Method used

A high-speed bus that supports the CANFD protocol is introduced in the weapon system, and a message queue with fixed storage addresses is used for data transmission. The data received by the low-speed and high-speed buses are transmitted to the upper computer without the system time being consistent.

Benefits of technology

It improves the data transmission rate of the weapon diagnosis and detection system, while ensuring the response rate to weapon diagnosis and detection, and improving the communication rate and application flexibility of the system bus.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557256A_ABST
    Figure CN119557256A_ABST
Patent Text Reader

Abstract

A multipath CAN data transmission system for a weapon system comprises a time synchronization unit, at least one low-speed bus supporting a CAN protocol and at least one high-speed bus supporting a CANFD protocol. Each low-speed bus is correspondingly provided with a low-speed data transmission unit, and each low-speed data transmission unit comprises a CAN (Controller Area Network) idle queue for receiving data and a CAN data processing unit for sending the data; each high-speed bus is correspondingly provided with a high-speed data transmission unit, and each high-speed data transmission unit comprises a CANFD idle queue for receiving data and a CANFD data processing unit for sending the data; the low-speed data transmission units, the high-speed data transmission units and the time synchronization unit are all connected with a PCIE data transmission unit provided with a work queue and used for transmitting data received by the low-speed buses and the high-speed buses to a PCIE interface of an upper computer under the condition that system time is kept consistent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of weapons, and in particular to a multi-channel CAN data transmission system for a weapon system. Background Art

[0002] As an indispensable subsystem in the weapon system, the weapon diagnosis and detection system is often used in scenarios such as system operation troubleshooting, system control process replay, and comprehensive analysis of the execution results of various molecular systems. It is an important system for status monitoring, fault diagnosis and performance evaluation of weapon equipment. It has very high requirements for the real-time and time consistency of data. It is often necessary to perform high-speed parallel processing of multi-channel CAN bus data according to the system time system and record the time offset of each frame of data to realize bus data fusion functions such as real-time viewing of data content, stability analysis of data cycle, storage and analysis of historical data.

[0003] Although CAN bus is a relatively mature bus communication method, its multi-channel data parallel transmission processing method is often only applicable to the case where the transmission rate is less than 1Mbps. As today's weapon systems are becoming increasingly large, relying solely on data transmission methods with a maximum transmission rate of no more than 1Mbps cannot meet the requirements of today's weapon systems for weapon diagnosis and detection response rates. How to improve the data transmission rate of weapon diagnosis and detection systems while ensuring their response rate to weapon diagnosis and detection has always been an urgent problem to be solved in this field. Summary of the invention

[0004] The purpose of the present invention is to provide a multi-channel CAN data transmission system for a weapon system in view of the corresponding deficiencies in the prior art, in which a high-speed bus supporting the CADFD protocol is added to the weapon system, and a message queue with a fixed storage address is used to transmit data of the weapon diagnosis and detection system, thereby improving the data transmission rate of the weapon diagnosis and detection system and ensuring its response rate to the weapon diagnosis and detection.

[0005] The object of the present invention is achieved by adopting the following scheme: a multi-channel CAN data transmission system for a weapon system, comprising a time synchronization unit, at least one low-speed bus supporting the CAN protocol, and at least one high-speed bus supporting the CANFD protocol;

[0006] Each low-speed bus is correspondingly provided with a low-speed data transmission unit, each high-speed bus is correspondingly provided with a high-speed data transmission unit, each low-speed data transmission unit, high-speed data transmission unit, and time synchronization unit are connected to a PCIE data transmission unit with a work queue, and are used to transmit the data received by each low-speed bus and high-speed bus to the PCIE interface of the host computer while keeping the system time consistent;

[0007] Each low-speed data transmission unit includes a low-speed idle queue for receiving CAN data, and a low-speed data processing module for sending the CAN data to the PCIE data transmission unit;

[0008] Each high-speed data transmission unit includes a high-speed idle queue for receiving CANFD data, and a high-speed data processing module for sending the CANFD data to the PCIE data transmission unit.

[0009] Preferably, the PCIE data transmission unit includes a CAN data encapsulation unit, which includes multiple CAN data storage nodes, for storing multiple CAN data packets obtained by the working queue of the PCIE data transmission unit in each corresponding CAN data storage node, and encapsulating them into a PCIE data packet.

[0010] Preferably, the number of the CAN data storage nodes is five, and the data storage space of each CAN data storage node is 12 bytes.

[0011] Preferably, the low-speed idle queue includes multiple low-speed idle nodes, and the data structure members of the low-speed idle nodes include the low-speed node number, the pointer corresponding to the next low-speed node, the pointer corresponding to the previous low-speed node, the data that needs to be transmitted at low speed, the low-speed channel number, and the time offset.

[0012] Preferably, the high-speed idle queue includes multiple high-speed idle nodes, and the data structure members of the high-speed idle nodes include the high-speed node number, the pointer corresponding to the next high-speed node, the pointer corresponding to the previous high-speed node, the data that needs to be transmitted at high speed, the high-speed channel number, and the time offset.

[0013] Preferably, the work queue includes multiple work nodes, and the data structure members of the work nodes include the work node number, a pointer corresponding to the next work node, a pointer corresponding to the previous work node, data to be transmitted, a work channel number, and a time offset.

[0014] Preferably, the storage address corresponding to the low-speed idle queue is fixed.

[0015] Preferably, the storage address corresponding to the high-speed idle queue is fixed.

[0016] Preferably, the storage address corresponding to the work queue is fixed.

[0017] The beneficial effects of the present invention are as follows:

[0018] The multi-channel CAN data transmission system for a weapon system includes a time synchronization unit, at least one low-speed bus supporting the CAN protocol, and at least one high-speed bus supporting the CANFD protocol;

[0019] Each low-speed bus is correspondingly provided with a low-speed data transmission unit, each high-speed bus is correspondingly provided with a high-speed data transmission unit, each low-speed data transmission unit, high-speed data transmission unit, and time synchronization unit are connected to a PCIE data transmission unit with a work queue, and are used to transmit the data received by each low-speed bus and high-speed bus to the PCIE interface of the host computer while keeping the system time consistent;

[0020] Each low-speed data transmission unit includes a low-speed idle queue for receiving CAN data, and a low-speed data processing module for sending the CAN data to the PCIE data transmission unit;

[0021] Each high-speed data transmission unit includes a high-speed idle queue for receiving CANFD data, and a high-speed data processing module for sending the CANFD data to the PCIE data transmission unit.

[0022] The PCIE data transmission unit includes a CAN data encapsulation unit, which includes multiple CAN data storage nodes, and is used to store multiple CAN data packets obtained by the working queue of the PCIE data transmission unit in each corresponding CAN data storage node, and encapsulate them into a PCIE data packet.

[0023] The number of the CAN data storage nodes is five, and the data storage space of each CAN data storage node is 12 bytes.

[0024] In this way, 5 CAN data packets are obtained from the work queue during the same call, and the data to be transmitted is encapsulated into a complete PCIE data packet and then transmitted. This is equivalent to sending multiple CAN data packets at one time, and there is no need to send them five times repeatedly. The data on the work node that fills 5 CAN data packets first will be encapsulated first, and these data will be sent to the host computer as a PCIE data packet. In this way, the number of data transmissions is greatly reduced, the processing speed of the work queue is accelerated, and the load of the idle queue of each task is reduced.

[0025] Of course, if the high-speed idle queue of the high-speed data transmission unit obtains the CANFD data on the high-speed bus, the data packet size of this CANFD protocol is exactly 64 bytes, which can be directly encapsulated into a PCIE data packet (PCIE frame) by the CAN data encapsulation unit as the effective load on the working queue for transmission.

[0026] Preferably, the low-speed idle queue includes multiple low-speed idle nodes, and the data structure members of the low-speed idle nodes include a low-speed node number, a pointer corresponding to the next low-speed node, a pointer corresponding to the previous low-speed node, data that needs to be transmitted at a low speed, a low-speed channel number, and a time offset. The storage address corresponding to the low-speed idle queue is fixed, that is, the data storage address corresponding to each low-speed idle node is also fixed, and is used to store data obtained by the low-speed bus, avoiding the need to dynamically allocate memory during data transmission, which wastes time.

[0027] Preferably, the high-speed idle queue includes multiple high-speed idle nodes, and the data structure members of the high-speed idle node include a high-speed node number, a pointer corresponding to the next high-speed node, a pointer corresponding to the previous high-speed node, data that needs to be transmitted at high speed, a high-speed channel number, and a time offset. The storage address corresponding to the high-speed idle queue is fixed, that is, the data storage address corresponding to each high-speed idle node is also fixed, and is used to store data obtained by the high-speed bus, avoiding the need to dynamically allocate memory during data transmission, which wastes time.

[0028] Preferably, the work queue includes multiple work nodes, and the data structure members of the work node include the work node number, the pointer corresponding to the next work node, the pointer corresponding to the previous work node, the data to be transmitted, the work channel number, and the time offset. The storage address corresponding to the work queue is fixed, that is, the data storage address corresponding to each work node is also fixed, and is used to store data transmitted from the high-speed idle queue or the low-speed idle queue, so as to avoid the need to dynamically allocate memory during data transmission and waste time.

[0029] The advantages of the present invention are as follows:

[0030] ① The present invention uses the CANFD protocol as an extension of the CAN bus protocol to increase the transmission rate of CAN data from the maximum baud rate of 1Mbps to 5Mbps;

[0031] ② The present invention can obtain 5 queue elements from the work queue in the same calling process, increase the single frame effective load from 8 bytes to 64 bytes, speed up the processing speed of the work queue, reduce the load of the idle queue of each task, and further improve the communication rate and application flexibility of the system bus;

[0032] ③ The prior art usually allocates static memory for the data to be transmitted during CAN data transmission, but uses dynamic address allocation to allocate memory addresses during the data transmission process and divide the memory space to store the data to be transmitted. Therefore, in the prior art, when transmitting each CAN packet, it is necessary to clear the data already stored in the memory, and dynamically reallocate the memory (or store the data in other external storage media), and then copy and transmit the data. Moreover, after sending data once, it takes time to release the memory before the next data transmission can be performed, and the data transmission speed is extremely slow;

[0033] The present invention divides pre-allocated memory for storing data in advance (during program operation, the position of the pre-allocated memory is fixed), sets message queues corresponding to the pre-allocated memory, and finally uses semaphores to ensure data consistency. By using these message queues (including idle queues and working queues) with fixed data storage addresses to transmit data, it is not necessary to waste time to dynamically allocate memory for storing data, nor is it necessary to clear the data already stored in the memory and then dynamically allocate memory again before copying and transmitting data, and it is not necessary to release the memory for storing data immediately after transmitting data once.

[0034] During the data transmission process of the present invention, the CAN data only needs to be stored in the static memory corresponding to the idle queue through the bus, and then the pointer of the static memory is directly changed to transmit the data, thereby maximizing the data transmission rate of the system.

[0035] Glossary

[0036] System Time Synchronization: The full name of system time synchronization is system time synchronization, which means that the time of each device, module or component in a system is kept consistent through specific technical means and methods. This is very important to ensure the normal operation of the system, the accuracy of data and the synchronization of events. For example, in some complex systems, such as communication systems, computer networks, industrial control systems, etc., each device may be distributed in different geographical locations and may have different clock sources and clock accuracy. In order to achieve coordinated operation of the system and correct processing of data, the entire system needs to be unified in time. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 This is a schematic diagram of the hardware principle of a multi-channel CAN data transmission system in an embodiment of the present invention;

[0038] Figure 2 is a schematic diagram of an embodiment of the present invention;

[0039] Figure 3 A schematic diagram of a definition of a bidirectional linked list data structure in an embodiment of the present invention;

[0040] Figure 4 It is a schematic diagram of the definition of the idle queue, the working queue, and the PCIE load node data structure in an embodiment of the present invention;

[0041] Figure 5 This is a schematic diagram of encapsulating CAN data and PCIE data by a CAN data encapsulation unit in an embodiment of the present invention;

[0042] Figure 6 This is a schematic diagram of data processing of an idle queue and a work queue in an embodiment of the present invention;

[0043] Figure 7 A schematic diagram of a task architecture design (i.e., a schematic diagram of a task execution flow) in an embodiment of the present invention;

[0044] Figure 8 It is a schematic diagram of the system structure of the present invention. DETAILED DESCRIPTION

[0045] like Figure 8 As shown, a multi-channel CAN data transmission system for a weapon system includes a time synchronization unit, at least one low-speed bus supporting the CAN protocol, and at least one high-speed bus supporting the CANFD protocol. In this embodiment, each low-speed bus is correspondingly provided with a low-speed data transmission unit, and each high-speed bus is correspondingly provided with a high-speed data transmission unit. Each low-speed data transmission unit, the high-speed data transmission unit, and the time synchronization unit are connected to a PCIE data transmission unit provided with a work queue, and are used to transmit data received by each low-speed bus and the high-speed bus to a PCIE interface of a host computer while keeping the system time consistent. The work queue includes multiple work nodes, and the data structure members of the work node include a work node number, a pointer corresponding to the next work node, a pointer corresponding to the previous work node, data to be transmitted, a work channel number, and a time offset. The storage address corresponding to the work queue is fixed, that is, the data storage address corresponding to each work node is also fixed, and is used to store data transmitted from the high-speed idle queue or the low-speed idle queue;

[0046] Each low-speed data transmission unit includes a low-speed idle queue for receiving CAN data, and a low-speed data processing module for sending CAN data to the PCIE data transmission unit, the low-speed idle queue includes a plurality of low-speed idle nodes, the data structure members of the low-speed idle nodes include a low-speed node number, a pointer corresponding to the next low-speed node, a pointer corresponding to the previous low-speed node, data to be transmitted at a low speed, a low-speed channel number, and a time offset, the storage address corresponding to the low-speed idle queue is fixed, that is, the data storage address corresponding to each low-speed idle node is also fixed, and is used to store data acquired by the low-speed bus;

[0047] Each high-speed data transmission unit includes a high-speed idle queue for receiving CANFD data, and a high-speed data processing module for sending CANFD data to the PCIE data transmission unit, the high-speed idle queue includes a plurality of high-speed idle nodes, the data structure members of the high-speed idle nodes include a high-speed node number, a pointer corresponding to the next high-speed node, a pointer corresponding to the previous high-speed node, data to be transmitted at high speed, a high-speed channel number, and a time offset, the storage address corresponding to the high-speed idle queue is fixed, that is, the data storage address corresponding to each high-speed idle node is also fixed, and is used to store data acquired by the high-speed bus;

[0048] The PCIE data transmission unit includes a CAN data encapsulation unit, which includes multiple CAN data storage nodes, and is used to store multiple CAN data packets obtained by the working queue of the PCIE data transmission unit in each corresponding CAN data storage node, and encapsulate them into a PCIE data packet.

[0049] It is worth noting that, in order to maximize the data storage efficiency, in this embodiment, the number of the CAN data storage nodes is five, and the data storage space of each CAN data storage node is 12 bytes.

[0050] like Figure 1As shown, the diagnostic detection terminal of the weapon system is used as the host computer, and together with the RXW data application board (i.e., the RK3399 data application board) forms the data application layer of the multi-channel CAN data transmission system, the RXW data application board provides a PCIE data interface and a Gigabit Ethernet data interface (the data interface is connected to the host computer via Gigabit Ethernet); the ZynQ data processing board (i.e., the Zynq7045 data processing board) is used as the data processing layer of the multi-channel CAN data transmission system, providing a PCIE data interface, and three low-speed data transmission interfaces (i.e., CAN data transmission interfaces), and a high-speed data transmission interface (i.e., CANFD data transmission interface); the PCIE data interface of the ZynQ data processing board is connected to the PCIE data interface of the RXW data application board, and then three low-speed buses CAB0BUS, CAB1BUS, and CAB2BUS supporting the CAN protocol, and a high-speed bus CANFD0BUS supporting the CANFD protocol are respectively connected to the corresponding interfaces of the ZynQ data processing board, as shown in the figure. Figure 2 The embodiment shown (specific data definitions are shown in Tables 1 and 2):

[0051] 1) A PCIE data transmission unit is set up in the data processing layer to transmit the data received by each low-speed bus and the high-speed bus to the PCIE interface of the host computer. The PCIE data transmission unit includes three parts:

[0052] 1-1) The first part is a PCIE data sending module. In this embodiment, the task name of the PCIE data sending module is set to tSendByPCIE, which is used to aggregate the data of each data transmission unit, and pack the aggregated data according to the timing, and send it to the "data application layer" through the PCIE interface. The maximum amount of data transmitted in a single time is 64 bytes;

[0053] 1-2) The second part is the work queue, i.e., the PCIE work queue (pcieWorkQ) in this embodiment. The work queue includes four work nodes, namely workQNode1, workQNode2, workQNode3, and workQNode4. The data storage address corresponding to each work node is fixed and unchanged, and the data structure members are the same, including the work node number, the pointer corresponding to the next work node, the pointer corresponding to the previous work node, the data to be transmitted, the work channel number, and the time offset;

[0054] In fact, each working node is a load node for PCIE data. That is to say, each working node has a pcieData member, which is an array of 64 bytes in length, used to store data to be sent to the host computer through the PCIE interface;

[0055] 1-3) The third part is the CAN data encapsulation unit. In this embodiment, the CAN data encapsulation unit includes 5 CAN data storage nodes. The storage capacity of each CAN data storage node is 12 bytes. The function of the CAN data encapsulation unit is to encapsulate the data to be transmitted into a complete PCIE data packet through the pcieData member. This PCIE data packet has five CAN data storage spaces, which correspond to the data in each CAN data storage node, and the data in each CAN data storage node corresponds to the multiple CAN data packets obtained by the working queue.

[0056] In order to maximize the effective data load of PCIE and improve the data transmission efficiency, this embodiment encapsulates the effective load of the CAN data storage node (ie, CAN_NODE in the figure) so that a 64-byte pcieData member can accommodate 5 CAN_NODE data. The encapsulation format is as follows: Figure 5 shown.

[0057] Compared with the prior art, the prior art usually collects and sends CAN data packets once. If five CAN data packets are to be transmitted, it is necessary to collect these CAN data packets one by one slowly, and then send the data five times repeatedly, which greatly affects the data transmission efficiency.

[0058] By adopting the encapsulation format described in the present invention, 5 CAN data packets can be obtained from the work queue in the same calling process, which is equivalent to sending 5 CAN data packets at one time, and there is no need to repeat sending five times. The data on whichever work node's pcieData member first fills 5 CAN data packets is preferentially encapsulated, and these data are sent to the host computer as a PCIE data packet. In this way, the number of data transmissions is greatly reduced, the processing speed of the work queue is accelerated, and the load of the idle queue of each task is reduced.

[0059] If the work queue obtains a CAN data packet from the high-speed bus CANFD0BUS, the data packet size of this CANFD protocol is exactly 64 bytes, which can be directly encapsulated into a PCIE data packet (PCIE frame) by the CAN data encapsulation unit as the effective load of the PCIE_NODE on the work queue for transmission.

[0060] 2) A time synchronization unit is set in the data processing layer, and the task name of the time synchronization unit is set to tSendTimeBase, which is responsible for passing the 10ms time information data to the tSendByPCIE task according to the system base time signal to ensure the time consistency of data transmission in the weapon system;

[0061] 3) In the data processing layer, four data transmission units are set according to the type and number of buses. The four data transmission units include a first low-speed data transmission unit, a second low-speed data transmission unit, a third low-speed data transmission unit for transmitting CAN data, and a high-speed data transmission unit for transmitting CANFD data;

[0062] In this embodiment, a CAN0 idle queue (can0FreeQ) is provided in the first low-speed data transmission unit, a CAN1 idle queue (can1FreeQ) is provided in the second low-speed data transmission unit, a CAN2 idle queue (can2FreeQ) is provided in the third low-speed data transmission unit, and a CANFD idle queue (canfd0FreeQ) is provided in the high-speed data transmission unit. The data transmission mode of these idle queues and the PCIE working queue in the PCIE data transmission unit is as follows: Figure 6 shown.

[0063] It is worth noting that both these idle queues and the PCIE work queues in the PCIE data transmission unit are Figure 3 , Figure 4 The doubly linked list structure shown.

[0064] Each low-speed data transmission unit is also provided with a corresponding low-speed data processing module, and the high-speed data transmission unit is provided with a high-speed data processing module, for example:

[0065] The first low-speed data transmission unit is provided with a CAN0 data processing module, and the task name of the CAN0 data processing module is set to tRecvFromCAN0, which is used to send the data on the low-speed bus CAB0BUS to the PCIE data transmission unit (i.e., tSendByPCIE task), and the maximum amount of data transmitted in a single time is 8 bytes;

[0066] The second low-speed data transmission unit is provided with a CAN1 data processing module, and the task name of the CAN1 data processing module is set to tRecvFromCAN1, which is used to send the data on the low-speed bus CAB1BUS to the PCIE data transmission unit (i.e., tSendByPCIE task), and the maximum amount of data transmitted in a single time is 8 bytes;

[0067] The third low-speed data transmission unit is provided with a CAN2 data processing module, and the task name of the CAN2 data processing module is set to tRecvFromCAN2, which is used to send the data on the low-speed bus CAB2BUS to the PCIE data transmission unit (i.e., tSendByPCIE task), and the maximum amount of data transmitted in a single time is 8 bytes;

[0068] The high-speed data transmission unit is provided with a CANFD data processing module, and the task name of the CANFD data processing module is set to tRecvFromCANFD0, which is used to send the data on the high-speed bus CANFD0BUS to the PCIE data transmission unit (i.e., tSendByPCIE task), and the maximum amount of data transmitted in a single time is 64 bytes;

[0069]

[0070] Table 1 Task definition

[0071]

[0072] Table 2 Idle queue and work queue definitions

[0073] In this embodiment, the specific method of transmitting the data received by each low-speed bus and the high-speed bus to the PCIE interface of the host computer through the PCIE data transmission unit while keeping the system time consistent is as follows:

[0074] like Figure 7 As shown in the figure, during the data processing, when receiving data, first, an idle node is taken from the pre-allocated CAN idle queue linked list to store the received data. After the reception is completed, the node with the data is hung at the tail of the pre-applied PCIE work queue (pcieWorkQ). There is no memory allocation and release process in this process, and the pointer can be directly changed. Each CAN bus receiving data should obtain an idle node from the pre-allocated idle queue, and store the data in the above way and hang it on the PCIE work queue.

[0075] In this process, after a node data in the PCIE working queue is sent through the PCIE high-speed bus, the node head will be parsed and distinguished, and added to the corresponding idle queue. For example, if the node head is the node head of the CAN0 idle queue, then the node will be added to the tail of the CAN0 idle queue;

[0076] Logically, Figure 6Each idle queue and work queue in the system only belongs to a certain task, but under the condition of multi-task interaction, there will be a situation where multiple tasks need to access the same queue at the same time. Taking the CAN0 idle queue as an example, when CAN0 receives data, an idle node is taken out from the CAN0 idle queue to place the data. At this time, this node needs to be mounted on the PCIE work queue, but at this time, it is possible that other CAN1 / CAN2 idle nodes are also mounted on the PCIE work queue at the same time, which will cause data confusion. Therefore, at this time, only the node where CAN0 places data can be mounted on the PCIE work queue, and other nodes need to queue up. When the node where CAN0 places data is mounted, the PCIE work queue is released, and other nodes can obtain the PCIE work queue and re-mount the node. Therefore, this embodiment adopts the "enable semaphore mechanism" to ensure the mutual exclusivity of each task when accessing the same queue. The present invention uses six semaphores to provide mutual exclusion protection for six queues respectively, so that the consistency of data can be ensured in the case of efficient rate guarantee, and the specific definition is shown in Table 3.

[0077]

[0078] Table 3 Semaphore definition

[0079] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modification made to the present invention by those skilled in the art without departing from the spirit of the present invention shall fall within the protection scope of the present invention.

Claims

1. A multi-channel CAN data transmission system for a weapon system, characterized in that: It includes a time synchronization unit, at least one low-speed bus supporting the CAN protocol, and at least one high-speed bus supporting the CANFD protocol; Each low-speed bus is correspondingly provided with a low-speed data transmission unit, each high-speed bus is correspondingly provided with a high-speed data transmission unit, each low-speed data transmission unit, high-speed data transmission unit, and time synchronization unit are connected to a PCIE data transmission unit with a work queue, and are used to transmit the data received by each low-speed bus and high-speed bus to the PCIE interface of the host computer while keeping the system time consistent; Each low-speed data transmission unit includes a low-speed idle queue for receiving CAN data, and a low-speed data processing module for sending the CAN data to the PCIE data transmission unit; Each high-speed data transmission unit includes a high-speed idle queue for receiving CANFD data, and a high-speed data processing module for sending the CANFD data to the PCIE data transmission unit.

2. The multi-channel CAN data transmission system according to claim 1, characterized in that: The PCIE data transmission unit includes a CAN data encapsulation unit, which includes multiple CAN data storage nodes, and is used to store multiple CAN data packets obtained by the working queue of the PCIE data transmission unit in each corresponding CAN data storage node, and encapsulate them into a PCIE data packet.

3. The multi-channel CAN data transmission system according to claim 2, characterized in that: The number of the CAN data storage nodes is five, and the data storage space of each CAN data storage node is 12 bytes.

4. The multi-channel CAN data transmission system according to claim 1, characterized in that: The low-speed idle queue includes multiple low-speed idle nodes, and the data structure members of the low-speed idle nodes include the low-speed node number, the pointer corresponding to the next low-speed node, the pointer corresponding to the previous low-speed node, the data that needs to be transmitted at low speed, the low-speed channel number, and the time offset.

5. The multi-channel CAN data transmission system according to claim 1, characterized in that: The high-speed idle queue includes multiple high-speed idle nodes, and the data structure members of the high-speed idle nodes include the high-speed node number, the pointer corresponding to the next high-speed node, the pointer corresponding to the previous high-speed node, the data that needs to be transmitted at high speed, the high-speed channel number, and the time offset.

6. The multi-channel CAN data transmission system according to claim 1, characterized in that: The work queue includes multiple work nodes, and the data structure members of the work nodes include the work node number, a pointer corresponding to the next work node, a pointer corresponding to the previous work node, data to be transmitted, a work channel number, and a time offset.

7. The multi-channel CAN data transmission system according to claim 1, characterized in that: The storage address corresponding to the low-speed idle queue is fixed and unchanged.

8. The multi-channel CAN data transmission system according to claim 1, characterized in that: The storage address corresponding to the high-speed idle queue is fixed.

9. The multi-channel CAN data transmission system according to claim 1, characterized in that: The storage address corresponding to the work queue is fixed.