Realization of Video Acquisition and Coding System Based on Embedded Linux

Abstract: This article designs the video acquisition terminal in the embedded remote monitoring system. The design scheme of video capture and encoding based on ARM Linux is proposed. S3C2440 is used as the main processor, and OV511 + OV7650 is used to construct a USB camera for video capture. Introduced the design of USB camera driver and the realization process of video source stream acquisition. Because embedded Linux has been widely used in various video devices, the design has certain versatility.

Keywords: Embedded; Linux; Video capture; S3C2440

introduction

Embedded systems have advantages over PCs due to their small size and portability. With the development of computer technology, some PC-based applications can also be implemented on embedded systems. Due to the low price and good performance of the USB interface camera, plug and play, plus the Video4Linux standard under Linux to support its programming, it is easy to integrate into embedded systems, so embedded system video capture devices usually use USB interface cameras.

1 Chip introduction

S3C2440 processor uses ARM920t core, 0.13um CMOS standard macro cell and memory unit, supports high-speed bus and asynchronous bus mode; has 1G byte addressing space; supports external wait signal to extend bus cycle; supports SDRAM self-refresh mode when power is off ; Support boot from NAND flash memory; use 4KB internal buffer to boot. Use write-through or write-back cache operations to update the main memory; the write buffer can hold 16 words of data and 4 addresses [1].

OV511 is a high-performance camera to USB interface monolithic control chip, which greatly simplifies the interface between monolithic CMOS image sensor and USB. It adds 256K DRAM and a USB transceiver on-chip, which can easily form a USB-based video subsystem . The OV511 maximum video transmission design enables the system to obtain a large amount of video information in a more real-time manner [2].

The OV7650 is a highly integrated and high resolution COMS image sensor that integrates all camera functions and matrix processing functions on the chip. Its image matrix is ​​640 * 480 pixels (300,000 pixels), supports VGA, QVGA, CIF, QCIF four resolutions, and can be programmed and controlled [3].

2 Camera hardware

The video capture part consists of OV511 and OV7650. Initialize OV7650 and OV511 through SCCB bus, set OV7650 as CIF acquisition, output YUV422 data stream; configure OV511 as YUV422 format input, and output as YUV420 data stream. OV511 provides the control signals required by OV7650 and accepts the same

Step output signal and input image data to ARM through built-in USB controller and external USB transceiver via USB bus, and then perform compression encoding, transmission and other processing. The hardware block diagram is shown in Figure 1.

3 USB camera driver

The device driver can be regarded as the interface between the Linux kernel and external devices. The device driver shields the details of the hardware implementation from the application, so that the application can operate the external device like an ordinary file, and can use the same and standard system call interface function in the operation file to complete the opening of the hardware device , Close, read and write and I / O control operations, and the main task of the driver is to implement these system call functions [4].

The normal operation of the Linux video capture device depends on the support of the Video4Linux standard. The driver of the Video4Linux device needs to provide the basic I / O operation interface functions open, read, write and the implementation of interrupt processing, memory mapping function and the implementation of the control interface function ioctl for the I / O channel, etc., and define them in struct video_device. So first declare a video_device structure in the driver, and specify the file operation function pointer array fops to register with the system. When an application issues commands related to file operations, the Linux kernel calls the corresponding functions based on these pointers, and passes the structure as a parameter to them to implement communication between the driver and the kernel.

The Linux kernel operates device files according to the device number. The device file name corresponding to the camera in the kernel is / dev / video, the major device number is 81, and the minor device number is determined according to the number of cameras. Only one camera is used in this system. Therefore, there is no such device number, so you can create a node through mknod / dev / video0 c 81 0. The principle of the driver is shown in Figure 2.

The core of SBH15 transformer produced by FGI is made of amorphous alloy material into a three-phase five-column structure, featuring low temperature rise and low loss. The transformer no-load loss is 30% of the S13 series Oil Filled Transformers. The core of the transformer, the low-voltage coil and the high-voltage coil are very tightly combined and Amorphous Core Transformers have strong short-circuit capability.

Amorphous Core Transformers

Amorphous Core Transformer,Amorphous Core Distribution Transformers,3 Phase Transformer,3 Phase Power Transformer,Amorphous Core Transformer Manufacturers In India,Amorphous Core Transformer Manufacturers

FGI SCIENCE AND TECHNOLOGY CO., LTD , https://www.fgi-tech.com