ZYNQ7000 data transmission control method
Through the ZYNQ7000 data transmission control method, the stability and flexibility of the processor in the communication process are solved. Through the combination of UDP protocol and AXI bus protocol, efficient data transmission is achieved, suitable for image and data transmission of industrial equipment. .
Patent Information
- Application Number
- CN202411189913.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2025-01-03
AI Technical Summary
The ZYNQ7000 processor has stability, flexibility and speed problems during wired or wireless communication, affecting the efficiency and reliability of data transmission.
Using the ZYNQ7000 data transmission control method, LWIP UDP multicast or unicast communication between the user computer and the ZYNQ7000 near-end device and the remote device is used to interact internally using the AXI bus protocol, and encode and modulate during the data transmission process. , interleaving, deinterleaving and decoding processing, the transmission distance is controlled using a signal attenuator, and the Grey code and CRC verification are used to ensure data integrity.
Improves the stability and flexibility of the ZYNQ7000 processor in data transmission, enhances the speed and reliability of data transmission, and is suitable for industrial equipment such as drone image transmission, robot data transmission and reception and motion control equipment, and realizes the ZYNQ Efficient data transmission function of platform products.
Smart Images

Figure CN119254852A_ABST
Abstract
Description
Technical Field
[0001] The patent of this invention relates to but is not limited to the field of wired communication and wireless communication technology, and in particular refers to a processing method design inside a ZYNQ7000 series chip. Background Art
[0002] With the development and innovation of logic programmable gate array technology, more and more occasions need to be combined with embedded systems to bring out more functions and higher flexibility of chips.
[0003] Xilinx ZYNQ7000 series processors have fully programmable and scalable interface processing. More industrial users tend to use this chip to reduce the waste of CPU resources, make the processing faster, and make the length of data sent and received by users more flexible and stable. Summary of the invention
[0004] In order to solve the above technical problems, an embodiment of the present invention provides a method for ZYNQ7000 data transmission control to solve the problems of stability, flexibility and fast reading of the ZYNQ7000 processor during wired or wireless transmission with the outside world.
[0005] The embodiment of the present invention provides a method for controlling ZYNQ7000 data transmission, comprising: a user computer, a camera acquisition device, an internal memory, an etherCAT processing module, a peripheral etherCAT data device, a ZYNQ7000 near-end device and a ZYNQ7000 far-end device;
[0006] The user computer is connected to the ZYNQ7000 proximal device via a network cable and is configured to perform data communication via LWIP UDP multicast or unicast, and is used to upload or receive communication data transmitted by the ZYNQ7000 remote device;
[0007] The internal memory is the OCM or DDR memory when the ZYNQ7000 device is running, which is used to cache the data generated when the system is working.
[0008] The ZYNQ7000 proximal device includes a proximal device PS and a proximal device PL. The proximal device PS is composed of a proximal CPU0 work area and a proximal CPU1 work area. The proximal CPU0 work area and the proximal CPU0 work area use OCM and DDR to exchange internal data, and use the AXI HP bus protocol for communication.
[0009] The ZYNQ7000 remote device includes a remote device PS and a remote device PL. The remote device PS is composed of a remote CPU0 work area and a remote CPU1 work area. The remote CPU0 work area and the remote CPU1 work area use OCM and DDR to exchange internal data, and use the 90HP bus protocol of AXI for communication. The ZYNQ7000 proximal device and the ZYNQ7000 remote device perform data transmission and communication between the ZYNQ7000 proximal PL and the ZYNQ7000 remote PL through wired or wireless communication.
[0010] In the method of data transmission control, the CPU0 work area of the near-end device PS performs UDP protocol analysis with the user computer, splits the data packet into 32-byte control commands, divides the internal memory OCM base production into 4 32-bit length data segments, and sends the data to the CPU1 work area of the near-end device PS. The CPU1 work area combines these frames into a 2048-length protocol frame rate and sends them to the near-end device PL of the ZYNQ7000 near-end device. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 A principle block diagram of a ZYNQ7000 data transmission control method is shown.
[0012] Figure 2 The data processing method of the PL near-end device in the ZYNQ near-end device and the data processing method of the PL far-end device in the ZYNQ far-end device are shown.
[0013] Figure 3 The framing protocol of CPU1 of the near-end device ZYNQ7000 and the frame header framing protocol of CPU1 of the far-end device ZYNQ7000 are shown;
[0014] Figure 4 It shows that the transmission distance is controlled by controlling the attenuation in the transmission link in the ZYNQ device.
[0015] Figure 5 A method of inter-core address communication in a ZYNQ7000 data transmission control method is shown. DETAILED DESCRIPTION
[0016] A method for controlling data transmission of ZYNQ7000, comprising: a ZYNQ7000 near-end device, a ZYNQ7000 far-end device, a user computer, an internal memory, an etherCAT processing module, a camera acquisition device and an external etherCAT data device; the method for controlling data transmission of ZYNQ7000 is as follows: Figure 1 shown.
[0017] like Figure 2 As shown, in the method of data transmission control, the near-end data transmission pre-processing in the ZYNQ7000 near-end device is to combine the near-end device PS into 2048 data, and the near-end device PL in the ZYNQ7000 near-end device adds the data to its own proprietary near-end code piece for encoding, modulation and interleaving; the near-end received data post-processing in the ZYNQ7000 near-end device is to combine the far-end device PS into 2048 data, and perform deinterleaving, demodulation and decoding in the near-end device PL.
[0018] like Figure 2 As shown, in the method of data transmission control, the remote data transmission pre-processing in the ZYNQ7000 remote device is to add its own proprietary remote code bits to the 2048 data combined by the remote device PS for encoding, modulation and interleaving; the received data post-processing in the ZYNQ7000 remote device is to combine the near-end device PS into 2048 data, and perform deinterleaving, demodulation and decoding in the remote device PL.
[0019] The proximal device PL in the ZYNQ7000 proximal device and the remote device PL in the ZYNQ7000 remote device are connected via a radio frequency line or an antenna, and the receiving rate varies depending on the configured transmission power.
[0020] The camera acquisition device refers to the hexadecimal data after the camera image data is compressed by frame. The image data can determine whether the camera data is continuous by judging the packet header and count.
[0021] The peripheral etherCAT device refers to an embedded computer device with an etherCAT interface that can use the etherCAT interface to send and receive data of different lengths. The etherCAT processing module performs protocol data processing after receiving etherCAT data inside ZYNQ, and converts etherCAT data of different lengths into fixed-length 128 data for processing by the remote device PS.
[0022] The data such as 256, 128, 48 and 32 in the ZYNQ7000 data transmission control method represent data of different frame lengths, which are the original data used by the ZYNQ7000 near-end device for framing or the ZYNQ7000 far-end device for deframing.
[0023] like Figure 3As shown in the figure, the ZYNQ7000 near-end device CPU1 framing protocol has a total frame length of 2048 bytes, which is composed of a frame header, a total data length, an anti-interference level, a ZYNQ7000 remote device ID, a control command, command parameters and data checksum; the frame header is fixed to 0xABCD; the total data length includes the actual valid bytes of the data control command plus the command parameters; the data checksum adopts Gray code check, which is an unweighted code and also a cyclic code. It means that there is only one bit difference between any two adjacent codes, and the rest are the same; the anti-interference level is configured by the pre-sending processing mode of the configuration near-end device PL; there is more than one ZYNQ7000 remote device ID, so it is necessary to distinguish by ID.
[0024] like Figure 3 As shown, in the method of data transmission control of ZYNQ7000, the ZYNQ7000 remote device CPU1 frame header framing protocol, the total length of the whole frame is 2048 bytes, which is composed of frame header, total data length, anti-interference level, image valid packet number, etherCAT data valid packet number, status data valid packet number, image data, peripheral etherCAT data, status data and data check; the frame header is fixed 0xEBEC; the anti-interference level is configured by configuring the pre-transmission processing mode of the remote device PL; the data check adopts CRC and check, taking the low bit of one byte; the total data length includes the actual valid bytes of the sum of image data, peripheral etherCAT data and status data; the number of image valid packets multiplied by 256 is the actual length of image data in the protocol, which is framed according to the length of 256 bytes; the number of etherCAT data valid packets multiplied by 128 bytes is the actual length of etherCAT data; the number of status data valid packets multiplied by 48 bytes is the length of status data in the protocol content. If the group is not enough for the whole package, the excess byte position of 2048 length is directly filled with zero.
[0025] In the method for controlling ZYNQ7000 data transmission, a signal attenuator can be added between the ZYNQ7000 near-end device and the ZYNQ7000 far-end device to control the transmission distance. Figure 4 Shown
[0026] In the method of controlling data transmission of ZYNQ7000, different IPs and port numbers are used to distinguish the ZYNQ7000 proximal device and the user's computer. The UDP protocol is used. The data length sent by the ZYNQ7000 proximal device to the user is a 256-byte image, 128 bytes of etherCAT peripheral data, and 48 bytes of status data.
[0027] In the method of data transmission control of ZYNQ7000, the ZYNQ7000 near-end device can write parameter data to the memory through the ZYNQ far-end device, and the ZYNQ7000 near-end device calls the parameter data in the memory during the startup phase. The ZYNQ7000 far-end device can write parameter data to the memory through the ZYNQ near-end device, and the ZYNQ7000 far-end device calls the parameter data in the memory during the system startup phase. That is, the ZYNQ7000 near-end device and the ZYNQ7000 far-end mutually upgrade parameter data.
[0028] In the ZYNQ7000 data transmission control method, the system operation address space in the ZYNQ7000 proximal device: the proximal CPU0 working area is fixed to 0x00100000 to 0x01FFFFFF, and the proximal CPU1 working area is fixed to: 0x00200000 to 0x02FFFFFF.
[0029] In the method of ZYNQ7000 data transmission control, the system operation address space in the ZYNQ7000 remote device: the remote CPU0 working area is fixed to 0x00300000 to 0x03FFFFFF, and the remote CPU1 working area is fixed to: 0x00400000 to 0x04FFFFFF.
[0030] like Figure 5 As shown, in the ZYNQ7000 data transmission control method, the proximal CPU0 work area in the ZYNQ7000 proximal device transmits command data to the proximal CPU1 work area, and the OCM interaction address is fixed to 0x0000_5000, 0x0000_B000, 0x0001_6000, 0x0001_A000; the proximal CPU1 work area in the ZYNQ7000 proximal device transmits command data to the proximal CPU0 work area, and the OCM interaction address is fixed to 0x0002_3000, 0x0002_6000, 0xFFFF_9000, 0xFFFF_B000.
[0031] like Figure 5 As shown, in the ZYNQ7000 data transmission control method, the remote CPU0 work area in the ZYNQ7000 remote device transmits command data to the remote CPU1 work area, and the OCM interaction address is fixed to 0x0000_5000, 0x0000_B000, 0x0001_6000, 0x0001_A000; the remote CPU1 work area in the ZYNQ7000 remote device transmits command data to the remote CPU0 work area, and the OCM interaction address is fixed to 0x0002_3000, 0x0002_6000, 0xFFFF_9000, 0xFFFF_B000.
[0032] The present invention provides a method for controlling ZYNQ7000 data transmission, which can be applied to various industrial equipment developed based on ZYNQ chips, such as smart cameras used in drones to transmit images, data links to transmit data, robots to send and receive remote data, motion control equipment to collect remote data, etc., and can be used to realize the data transmission function for ZYNQ platform products.
[0033] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit the technical solution, which should be understood by R&D personnel and after-sales service personnel in the field.
Claims
1. A method for ZYNQ7000 data transmission control, characterized in that: include: User computer, camera acquisition device, internal memory, etherCAT processing module, peripheral etherCAT data device, ZYNQ7000 near-end device and ZYNQ7000 far-end device; the user computer is connected to the ZYNQ7000 near-end device via a network cable, and is configured to perform data communication via LWIP UDP multicast or unicast, and is used to upload or receive communication data transmitted by the ZYNQ7000 far-end device. The near-end CPU0 workspace of the near-end device PS performs UDP protocol parsing with the user computer, splits the data packet into 32-byte control commands, divides the internal memory OCM base into 4 32-bit length data segments, and sends the data to the near-end CPU1 workspace of the device PS. The CPU1 workspace combines these frames into a protocol frame rate of 2048 length and sends them to the near-end device PL of the ZYNQ7000 near-end device.
2. The method for controlling ZYNQ7000 data transmission according to claim 1, characterized in that: In the method of data transmission control of ZYNQ7000, the ZYNQ7000 remote device CPU1 frame header framing protocol, the total length of the whole frame is 2048 bytes, which is composed of frame header, total data length, anti-interference level, image valid packet number, etherCAT data valid packet number, status data valid packet number, image data, peripheral etherCAT data, status data and data check; the frame header is fixed 0xEBEC; the anti-interference level is configured by configuring the pre-transmission processing mode of the remote device PL; the data check adopts CRC and check, taking the low bit of one byte; the total data length includes the actual valid bytes of the sum of image data, peripheral etherCAT data and status data; the number of image valid packets multiplied by 256 is the actual length of image data in the protocol, which is framed according to the length of 256 bytes; the number of etherCAT data valid packets multiplied by 128 bytes is the actual length of etherCAT data; the number of status data valid packets multiplied by 48 bytes is the length of status data in the protocol content. If the group is not enough for the whole package, the excess byte position of 2048 length is directly filled with zero.
3. According to the method of ZYNQ7000 data transmission control described in claim 1, it is characterized in that: The CPU1 framing protocol of the ZYNQ7000 near-end device has a total frame length of 2048 bytes, which is composed of a frame header, a total data length, an anti-interference level, a ZYNQ7000 remote device ID, a control command, command parameters and data checksum. The frame header is fixed to 0xABCD. The total data length includes the actual valid bytes of the data control command plus the command parameters. The data checksum adopts Gray code check, which is an unweighted code and a cyclic code. It means that there is only one bit difference between any two adjacent codes, and the rest are the same. The anti-interference level is configured by the pre-sending processing mode of the near-end device PL. There is more than one ZYNQ7000 remote device ID, so it is necessary to distinguish them by ID.
4. According to the method of ZYNQ7000 data transmission control described in claim 1, the ZYNQ7000 proximal device can write parameter data to the memory through the ZYNQ remote device, and the ZYNQ7000 proximal device calls the parameter data in the memory during the startup phase. The ZYNQ7000 remote device can write parameter data to the memory through the ZYNQ proximal device, and the ZYNQ7000 remote device calls the parameter data in the memory during the system startup phase. That is, the ZYNQ7000 proximal device and the ZYNQ7000 remote device mutually upgrade parameter data.
5. A method for ZYNQ7000 data transmission control, characterized in that: The system operation address space in the ZYNQ7000 near-end device: the near-end CPU0 work area is fixed at 0x00100000 to 0x01FFFFFF, and the near-end CPU1 work area is fixed at: 0x00200000 to 0x02FFFFFF. The system operation address space in the ZYNQ7000 far-end device: the far-end CPU0 work area is fixed at 0x00300000 to 0x03FFFFFF, and the far-end CPU1 work area is fixed at: 0x00400000 to 0x04FFFFFF.
6. In the ZYNQ7000 data transmission control method, the remote CPU0 work area in the ZYNQ7000 remote device transmits command data to the remote CPU1 work area, and the OCM interaction address is fixed to 0x0000_5000, 0x0000_B000, 0x0001_6000, 0x0001_A000; the remote CPU1 work area in the ZYNQ7000 remote device transmits command data to the remote CPU0 work area, and the OCM interaction address is fixed to 0x0002_3000, 0x0002_6000, 0xFFFF_9000, 0xFFFF_B000.
7. In the ZYNQ7000 data transmission control method, the proximal CPU0 work area in the ZYNQ7000 proximal device transmits command data to the proximal CPU1 work area, and the OCM interaction address is fixed to 0x0000_5000, 0x0000_B000, 0x0001_6000, 0x0001_A000; the proximal CPU1 work area in the ZYNQ7000 proximal device transmits command data to the proximal CPU0 work area, and the OCM interaction address is fixed to 0x0002_3000, 0x0002_6000, 0xFFFF_9000, 0xFFFF_B000.
