Modern production and scientific research have increasingly higher requirements for image acquisition systems. Traditional image acquisition systems are mostly based on PCs, but in some special occasions, especially when real-time requirements are high, ordinary PCs obviously cannot meet application requirements. It mainly includes image acquisition modules, image processing modules, and image storage modules.
1 System structure and working principle
The structural model of this system is shown in Figure 1. The image acquisition module is responsible for acquiring the original image and sending the original image data to the FPGA. The programmable video input processor SAA7113H is used. After a frame of image acquisition is completed, ARM takes out the image data through the FPGA, performs necessary processing, and forms an image file and stores it in the CF card. This system uses Philips' LPC2214.
The image acquisition chip transmits the original image data to FPGA, which temporarily stores the original image data in SRAM1. After one frame of image is stored, the next frame of image data is stored in SRAM2. At the same time, the data in SRAM1 is sent to ARM, which stores the image data in the form of a picture file in the CF card after necessary processing of the original image. In this way, the embedded high-speed image acquisition and storage function is realized, and users can easily upload the pictures on the CF card to the PC for further analysis and processing.
2 System Hardware Design
2.1 Image acquisition module
The programmable video input processor SAA7113H is used to process video signals. SAA7113H integrates powerful image chrominance and brightness processing functions and multiple output modes; it has 32 working registers, which must be initialized through the I2C bus when the system is reset. This system uses grayscale images and does not use chrominance signals, so the data line is 8 bits. The interface between SAA7113H and FPGA is shown in Figure 2.
Image Capture Card, also known as image capture card, is a hardware device that can obtain digital video image information, store it and play it out. Many image capture cards can obtain accompanying sound while capturing video information, so that the audio part and the video part can be saved and played synchronously during digitization.
The function of the image acquisition card is to collect image signals into the computer and save them on the hard disk in the form of data files. It is an essential hardware device for image processing. Through it, we can transfer the video signals shot by the camera from the video tape to the computer, and use relevant video editing software to perform post-editing processing on the digital video signals, such as cutting pictures, adding filters, subtitles and sound effects, setting transition effects, and adding various video special effects, etc. Finally, the edited video signals are converted into standard VCD, DVD and popular online media formats for easy dissemination.
2.2 FPGA Module
The main function of FPGA is to temporarily store the original image data transmitted by the image acquisition chip in two SRAMs in a ping-pong operation. When FPGA starts to receive the first frame of image, it stores the frame of image in SRAM1 according to the address generated inside FPGA. After receiving a frame of image, it is transmitted to ARM. At the same time, the next frame of image is temporarily stored in SRAM2 and then transmitted to ARM, and the cycle is repeated. In this way, high-speed image acquisition can be achieved. This system uses Alter's EPlK30TCl44-3, which uses EECMOS technology, 144-pin TQFP package, capacity of 100,000 gates, and has the characteristics of high density, low cost and low power consumption. The internal structure of FPGA includes clock drive module, SAA7113H control module, SRAM control module, ARM data exchange module, etc. In this system, it is mainly aimed at the acquisition and storage of 640×480 grayscale images, so ISSI's IS6lIN25616AL is selected. It is a high-speed, low-power 256 kB×16 CMOS static random access memory that can meet the actual requirements of the system. The internal structure block diagram of the SRAM control module is shown in Figure 3.
2.3 ARM module
[page]
The main function of the ARM module is to take out the original image data from the SRAM, perform necessary processing, and then store it on a large-capacity CF card, so that users can perform necessary processing operations on the image on the PC. After receiving a frame of image, FPGA sends an interrupt request to ARM. After receiving the request, ARM reads the data in SRAM through FP-GA. After a frame of data is sent, FPGA sends a signal that the sending is completed. After ARM performs necessary processing on the received data, it stores the data on a large-capacity CF card. The interface circuits of ARM, FPGA and CF card are shown in Figures 4 and 5 respectively.
3. Working principle and implementation of the system
3.1 FPGA image acquisition and temporary storage implementation
After the system is powered on, the FPGA first initializes the video acquisition module (SAA7113H) through the I2C bus to determine its working mode. After the initialization is completed, it waits for the image acquisition command. When the image acquisition command issued by the FPGA is received, the video acquisition module starts working, and the FPGA relies on the pixel clock and the line field synchronization signal to acquire the grayscale image. Since the grayscale image output by the SAA7113H is 8 bits, and the external SRAM is 16 bits, the acquired grayscale image must be processed in the FPGA, and the two bytes of data are combined and output together to the external SRAM. After a frame of image acquisition is completed, the SAA7113H stops image acquisition and waits for the next acquisition command.
3.2 Data Exchange between FPGA and ARM
In order to realize the real-time acquisition and processing of image data, the acquisition of image data and the reading of external image data should be carried out simultaneously. Therefore, this system adopts a dual SRAM cache structure. In this way, at the same time, one piece can be used to store image data, and the other piece can be used for external ARM to read image data. The two SRAM storage areas are switched in a ping-pong manner. When the image data fills up SRAM1, FPGA sends an interrupt signal to ARM, then ARM responds to the interrupt and reads the image data in SRAM1, and writes it to the CF card at the same time. The image data will be written to SRAM2. When the image data fills up SRAM2, FPGA also sends an interrupt signal to ARM.
3.3 Storage of image data on CF card
The internal controller of the CF card is designed to completely simulate the hard disk, using the standard ATA/IDE interface, and can be connected to the computer through the IDE interface. It has long been designed without a driver, and is very convenient to use. In this system, the image data is stored in the CF card through ARM, so it is necessary to implement ARM's configuration, read and write control of the CF card and other operations. The interface function of ARM to the CF card driver consists of hardware interface functions and user functions. The hardware interface function is a set of functions related to the system hardware. It mainly includes hardware reset function, ATA register operation function and ATA device detection function; user functions include ATA device driver initialization function, ATA interface device search function, sector read function, sector write function, device information acquisition, device immediate standby state and device immediate idle state.
The full name of CF card is "Compact Flash" card, which means "standard flash memory card" in Chinese. CF card is the earliest memory card product, which was successfully developed in 1994 by SANDISK, one of the largest FLASH MEMORY manufacturers in the United States.
CF card is the most widely used memory card at present. Since it does not have a drive and other moving parts, it rarely has mechanical failures, making the stored image data safer. The service life of CF card is also very long. Even if it is used for more than 100 years, the data can be guaranteed to be intact. In addition, CF card consumes little power, only 5% of ordinary hard disk. Compared with other memory cards, large capacity is another advantage of CF card. At present, mainstream products have reached 512Mb and 1Gb standards. In addition, it also has the advantages of fast speed and low price. The main disadvantage of CF card is that CF module is not interchangeable between equipment and installation program, and the program cannot be run directly. It consumes a lot of power, which will inevitably affect the battery life.
4 Conclusion
This paper introduces the design of an embedded real-time image acquisition and storage system implemented by ARM and FPGA. The operating temperature of this system is 0~60℃, and it can realize the grayscale image acquisition and storage of video streams at 20~30 frames per second, which can meet the application requirements of embedded real-time image acquisition and storage. The continuous working time of the system depends on the storage capacity of the CF card. In this system, the image acquisition and storage are separated from the PC, so that the image acquisition and storage can truly meet the requirements of real-time and embedded. This system can be used in military shooting evaluation, industrial product quality inspection, medical and biological fields.
Previous article:The use of hard disk interface and file management system based on ARM system
Next article:A distributed pipeline leakage monitoring system based on ARM-Linux
Recommended ReadingLatest update time:2024-11-17 00:17
- Popular Resources
- Popular amplifiers
- Analysis and Implementation of MAC Protocol for Wireless Sensor Networks (by Yang Zhijun, Xie Xianjie, and Ding Hongwei)
- MATLAB and FPGA implementation of wireless communication
- Intelligent computing systems (Chen Yunji, Li Ling, Li Wei, Guo Qi, Du Zidong)
- Summary of non-synthesizable statements in FPGA
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- SPI ASF issue on Atmel ATSAM3X8E
- Liaoning Province's automotive electronics industry is very active
- TouchGFX Design + Make a Rubik's Cube (2)
- To achieve the amplification of weak current, the choice of operational amplifier is the key. Generally, it is selected according to the following situations.
- Electronic digital alarm clock based on GD32E231
- New version of UFUN learning board information
- Mixer Information
- KiCAD 6 is about to be released, and a great guy has made a comparison with 5
- Op amp input overvoltage protection: clamping vs. integration
- 【NXP Rapid IoT Review】 The first test program