Design and Implementation of ZigBee Wireless Video Transmission System

       ZigBee is a low-cost, low-power wireless network technology based on the IEEE 802.15.4 standard. Through the ZigBee protocol stack, each ZigBee node can be formed into a ZigBee network with large node capacity and wide communication range. H.264 is the best video compression standard today, and it has the advantages of low bit rate, high image quality, and strong fault tolerance. Using ZigBee network to transmit H.264 video stream is a good solution to realize wireless video transmission system. Through specific development examples, the design and implementation of the scheme are discussed from two aspects of hardware and software.

         ZigBee is a wireless network technology with low cost, low power consumption, large network capacity, and wide communication range based on the IEEE 802.15.4 standard. It can support up to 65,000 nodes. ZigBee has 3 working frequency bands, namely 868 MHz, 915 MHz, and 2.4 GHz. When working at 2.4 GHz, it has the highest transmission rate of 250 KB/s. Obtaining good image quality and fast transmission of low-bandwidth images with as little storage as possible have become two major problems in video compression. For this reason, the two major international standardization organizations, ISO/IEC and ITU-T, jointly developed a new generation of video compression standard H.264 [3]. H264 has the advantages of good image quality, strong continuity, high dynamic image quality, high compression ratio, and adjustable bit rate. This article discusses the use of i.MX27 with H.264 hardware codec, ARM9 CPU core, and microprocessor CC2430 with ZigBee protocol stack to form a wireless video transmission system from both hardware and software aspects.

1 System overall design

The overall system design is shown in Figure 1. The entire ZigBee network consists of a ZigBee coordinator, multiple ZigBee routers and ZigBee wireless video terminals [4]. Since the CC2430 integrates a 2.4 GHz DSSS radio frequency transceiver and a microcontroller controller, ZigBee devices can be implemented using a CC2430 single chip. The ZigBee coordinator is used to set up the initial ZigBee network and allocate 16-bit network short addresses for each ZigBee router and ZigBee wireless video terminal that joins the network. The ZigBee router plays the role of routing and relay in the ZigBee network, transmitting data for each ZigBee wireless video terminal and expanding the range of wireless data transmission. ZigBee wireless video terminals can carry out two-way wireless data communication with each other according to the assigned 16-bit network short address [5]. The Linux operating system is adopted on i.MX27, and the collected images are compressed and encoded by hardware under Linux, and the data between each ZigBee wireless video terminal is wirelessly transmitted in the form of H.264 code stream.

2 Hardware design of ZigBee wireless video terminal

Considering that H.264 software coding and decoding needs to consume a lot of CPU resources, the Freescale microprocessor i.MX27 with H.264 hardware codec and ARM9 CPU core is selected in this solution. On the one hand, the ARM9 CPU core is responsible for sending the YUV image data collected by the camera to the H.264 hardware encoder , and wirelessly sending the H.264 code stream output by the hardware encoder through the ZigBee microprocessor CC2430. On the other hand, the H.264 code stream is received through CC2430 and sent to the H.264 hardware decoder, and then the YUV image data output by the hardware decoder is displayed on the LCD screen. The ZigBee microprocessor CC2430 is responsible for the sending and receiving of H.264 code stream, and communicates with i.MX27 through the S PI interface. The hardware composition of ZigBee wireless video terminal is shown as in Fig. 2.

In order to achieve image collection, this solution uses a CMOS camera with an OV9650 chip, and the collected images are transmitted to the H.264 hardware encoder through the i.MX27 CSI interface. For image display, select Innolux AT070TN83-V.1 (16: 9, 800 & TI mes; 480) 7-inch TFT LCD screen. The screen supports 18-bit digital RGB interface, the format is RGB666, that is, each pixel is composed of 6-bit red, 6-bit green, and 6-bit blue to form 18-bit data. The screen and the LCDC controller of i.MX27 are mainly connected through 18 data lines (LD [17:0]), frame synchronization (VSYNC), line synchronization (HSYSNC), and clock (LSCLK). A Samsung K9F2G08R0A NAND Flash chip (256 M& TI mes; 8 bit) is used to store the system's Bootloader (RedBoot), Linux kernel, file system and video programs. Two Infineon Technologies HYB18M512160AF-7.5 chips (4 Bank & TI mes; 8 M & TI mes; 16 bit) form a 128 MB DDR, which is mainly used to load the Linux operating system and run video codec programs.

Design a 10-pin JTAG interface to burn the Bootloader, Linux kernel and file system of the system. Use MAX3232 to form UART interface, used to return debugging information to MiniCom for display. Because the processor core requires 1.8 V and 1.5 V voltage, and the memory and external I/O require 3.3 V voltage, the input voltage of the entire system is set to 5 V, which can be completed to 3.3 V and 1.8 V through a DC-DC converter. , 1.5 V voltage conversion. Using 26 MHz active crystal oscillator, the crystal oscillator can reach up to 400 MHz after being multiplied by the on-chip PLL circuit of i.MX27.

The ZigBee communication module takes the CC2430 microprocessor of CHIPCON as the core. Connect the SPI interface of CC2430 with the SPI interface of i.MX27, and the H.264 code stream is transmitted through the SPI interface.

Guess you like

Origin blog.csdn.net/qq_41050642/article/details/108927162