Design of video processing system based on FPGA+DSP architecture

Publisher:fuehrd努力的Latest update time:2014-09-24 Source: 互联网Keywords:FPGA Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
This system adopts a solution based on the collaborative work of FPGA and DSP for video processing , realizing the entire process of video acquisition, processing and transmission.

In real-time video image processing, the low-level preprocessing algorithm processes a large amount of data and has high requirements for processing speed, but the algorithm is relatively simple and suitable for hardware implementation using FPGA, which can take into account both speed and flexibility. The high-level processing algorithm has a complex structure and is suitable for implementation on DSP chips with high computing speed, flexible addressing mode, and strong communication mechanism.

The biggest feature of DSP + FPGA architecture is its flexible structure, strong versatility, and suitability for modular design, which can improve algorithm efficiency. At the same time, its development cycle is short, the system is easy to maintain and upgrade, and it is suitable for real-time video image processing.

The system adopts a modular design approach and divides the entire system into three parts: video acquisition unit, video processing unit and video transmission unit.

The whole system uses FPGA as the core control unit and completes the median filtering of the video signal; DSP is used as the core processing unit of the whole system to perform JPEG compression on the collected video image information; a USB bus based on the PDIUSBD12 chip is designed in the video transmission unit to be responsible for the transmission of the video signal.

1 System Hardware Overall Architecture

A complete video processing system mainly consists of three parts: video acquisition unit, video processing unit and video transmission unit. When designing the system, it is necessary to ensure the seamless connection of each part.

The image acquisition unit is composed of FPGA and MB86S02 video acquisition chip, including the acquisition and preprocessing of video signals, converting the input video signals into digital image data that can be processed by the system, and storing them in a certain storage area according to a certain format.

The image processing unit is the core of this system, which compresses the image data to achieve the functions that the system needs to achieve.

The image transmission unit uses FPGA+USB to realize the transmission of video data. Through the USB bus based on the PDIUSBD12 chip, the compressed video image information is sent to the receiving end. The receiving end uses the application written on the PC to decompress and display the image.

The entire hardware system consists of two subsystems, FPGA and DSP. FPGA, as a video acquisition unit, pre-processes the acquired video signal and transmits it to DSP. DSP, as an image processing unit, is the core of this system and performs JPEG compression on the video image information pre-processed by FPGA. The performance of the DSP unit determines the performance of the entire system. After completing the image processing task, DSP returns the result to FPGA. FPGA writes the compressed image information into the data buffer of the interface control chip, which is responsible for information transmission. The overall block diagram of the system is shown in Figure 1.

Figure 1 System overall structure diagram
Figure 1 System overall structure diagram

As shown in Figure 1, the MB86S02 video image sensor collects video image information under the control of the FPGA. After receiving the acquisition command from the PC, the MB86S02 starts to collect video signals. As the core control unit of the system, the FPGA is not only responsible for the acquisition of video images, but also for the preprocessing of video image information and the data interaction between the various unit modules of the system. In view of the large amount of video image data and in order to ensure the real-time requirements of the system, the system uses a large-capacity off-chip SDRAMR to cache the collected video image information. The SDRAM controller is implemented by the FPGA. After the video image information is cached by the SDRAM, it must first be filtered by the FPGA to eliminate the noise interference in the image information. In this system, the median filter is used to process the collected video information. The filtered data enters the DSP through the internal FIFO of the FPGA for the next step of compression processing. After the DSP is powered on, it first loads the boot program and waits for the FPGA to send a request. After receiving the request from the FPGA, the DSP establishes an EDMA channel to obtain video data from the FPGA. After storing a full frame, it starts to perform JPEG compression on the video image. After the compressed video image information passes through the FIFO cache, it is written into the data cache of the USB interface controller under the control of the FPGA and waits for the reading request from the PC. After receiving the reading request from the PC, the USB interface controller writes the data to port 1 of PDIUSBD12 so that the PC can read the data in the next step. 2 Overall design of system software

The software design of the system can also be divided into two parts according to the overall division of the hardware structure. The operation of the entire system is shown in Figure 2. The programs of FPGA and DSP run independently, and the real-time data interaction is completed through interrupt signals. The instruction from FPGA to DSP is to send an EDMA request through FPGA. DSP responds to the EDMA request, establishes an EDMA channel, and starts reading the pre-processed data from FIFO. When DSP transmits data to FPGA, it sends an interrupt signal to FPGA to let it read the compressed image data from FIFO.

Figure 2 System software flow chart
Figure 2 System software flow chart

As shown in Figure 2, the entire system workflow can be briefly described as follows: After the system is powered on, the DSP first boots from the flash and runs the boot program, then enters the EDMA waiting state. After the FPGA is initialized, it waits for the external image acquisition command. After receiving the image acquisition command, it starts to acquire the image and pre-processes the acquired image. The pre-processed image is buffered by the FIFO. After storing a certain amount of data, the FPGA sends an EDMA request to the DSP through a half-full signal and waits for the DSP to respond. Once the DSP receives the EDMA request from the FPGA, it immediately establishes an EDMA channel and reads data from the FIFO to the L2 memory. After storing a frame of image, the DSP starts image compression. After waiting for an image to be compressed, the DSP will send an interrupt signal to the FPGA. After receiving the interrupt signal, the FPGA starts to read the compressed image data from the FIFO. After reading a frame of data, it determines whether the encoding signal is valid. If it is valid, the next frame of image is compressed according to the same rule. If it is invalid, the DSP is notified to end.

3 Conclusion

This design has been hardware verified, has met the predetermined design requirements, and has achieved real-time processing of large amounts of data.

The system is only 70×70mm in size, with power consumption less than 5W, median filter rate 20F/S on average, and JPEG compression rate over 25F/s on average. It not only meets the real-time requirements of the video processing system, but also has small size, low power consumption, and based on FPGA programmability, this system has good flexibility and scalability.

Keywords:FPGA Reference address:Design of video processing system based on FPGA+DSP architecture

Previous article:A Design Scheme of Car Navigation System Based on DSP Processor
Next article:Fixed-point DSP chip TMS320F2812 realizes fast algorithm application

Recommended ReadingLatest update time:2024-11-16 17:50

FPGA+MCU to realize VGA image signal generator
  1 Introduction   VGA (Video Graphics Array) is a standard display interface that has been widely used in the video and computer fields. VGA image signal generator is a common instrument used by TV stations, TV manufacturers, and TV maintenance personnel. Its main function is to generate standard image test signals
[Microcontroller]
FPGA+MCU to realize VGA image signal generator
Simplifying Angle Measurement Using Xilinx FPGAs and Resolver-to-Digital Converters
自从人类发明了转轮,我们就希望了解如何通过改变精度提高转轮转动效率。在过去几个世纪,科学家和工程师已经研发了许多方法来实现此目标,期间轮-轴系统的基本原理得到了广泛应用,从汽车、音量旋钮、各种机械形式的齿轮到简陋的手推车,几乎每种机械系统均采用了这一原理 。 经过多个时代的探索,人们发现让转轮高效运转的最重要因素并非转轮本身(为何不彻底改造它呢?),而是转轮的轴角。目前测量和优化轴角的最有效方法是采用角度传感器。现有许多种角度传感器都能够通过轮轴监控和改进促进轮周效率优化;但如果配合使用FPGA,您就能够取得非常显著的效果,同时能够提高众多应用中的轮轴/轮周效率。 在详细介绍工程师们如何最佳利用赛灵思FPGA达到上述目的
[Test Measurement]
Simplifying Angle Measurement Using Xilinx FPGAs and Resolver-to-Digital Converters
VHDL Programming and FPGA Implementation of Vending Machine Control Module
In recent years, with the rapid development of integrated circuit technology, especially the rapid development of programmable logic devices, EDA (Electronic Design Automation) technology has become the new favorite of electronic design engineers. EDA technology uses computers as tools to complete the logic synthesi
[Industrial Control]
VHDL Programming and FPGA Implementation of Vending Machine Control Module
Lattice sensAI 3.0 halves power consumption, doubles performance of CrossLink-NX FPGAs
Lattice has released version 3.0 of its sensAI edge inference solution stack, which provides some updated features and support for the company's 28nm FD-SOI CrossLink NX series of low-power FPGAs. According to Lattice, CrossLink NX devices running sensAI software have doubled the performance and reduced power consumpt
[Embedded]
DSP Design of Audio Signal Acquisition and AGC Algorithm
In the past, large audio signals were limited, that is, large signals were limited and output, and small signals were not processed. In this way, there is still a situation where the audio signal is too small, and the user adjusts the volume by himself, which will also affect the user's listening effect. With the ra
[Embedded]
Comprehensive Optimization Scheme for SoPC System Design
In order to improve the design performance (sometimes even just to meet the design requirements), it is very necessary to perform comprehensive optimization on the designed SOPC system. In combination with specific projects, this paper takes Altera's FPGA EP2S60 as an example to explore the comprehensive optimizatio
[Embedded]
Dual-channel digital storage oscilloscope based on DSP
1. Introduction   Digital storage oscilloscopes are different from general analog oscilloscopes. They convert the collected analog voltage signals into digital signals, which are analyzed, processed, stored, displayed or printed by the internal microprocessor. This type of oscilloscope usually has program control an
[Analog Electronics]
Dual-channel digital storage oscilloscope based on DSP
Design of analog meter test system based on FPGA
Fiber optic gyroscope is a kind of laser gyroscope, which is the product of the close combination of inertial technology and optoelectronic technology. It uses the Sagnac interference effect, uses optical fiber to form a ring optical path, and detects the phase difference between the two super-radiant light beams gene
[Test Measurement]
Design of analog meter test system based on FPGA
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号