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.
Established in 1956, during the China first five-year-plan, Henan Xintaihang Power Source Co., Ltd. (Factory No.755) was the first R&D and manufacturing enterprise in China in the field of alkaline storage batteries and modular power system and it was also the military factory which owned the most varieties rechargeable batteries in domestic. Taihang was located in national Chemistry and Physicals Power Source Industrial Park, Xinxiang City, Henan, China.
High Dishcharge Rate Nickel Cadmium Battery, KPH20~KPH500, Max. discharge current <5C
The nickel–cadmium battery (NiCd battery or NiCad battery) is a type of rechargeable battery using nickel oxide hydroxide and metallic cadmium as electrodes. The abbreviation NiCd is derived from the chemical symbols of nickel (Ni) and cadmium (Cd).
High Rate Nicd Battery KPH Series
Rechargeable Nicd Battery,High Discharge Rate Nicd Battery,Nicd Battery For Start Power,Lph350Ah Battery
Henan Xintaihang Power Source Co.,Ltd , https://www.taihangbattery.com