Research on Image Acquisition Method Based on S3C44B0 Development Board

1 Introduction

Linux embedded system has the advantages of high performance, low power consumption, small size, high reliability, open source code, etc., and is gradually recognized and used by more and more people. Originally only implemented on PCs, it has now been ported to more convenient embedded systems. In embedded multimedia development, video capture, storage, and processing are essential. CMOS sensor USB camera has become the preferred tool for picture acquisition with its low price and high performance. As for image transmission, traditional wired transmission has begun to be replaced by wireless network transmission. Here we will focus on image acquisition.

2 software and hardware platform

The S3C44B0 is a 16/32-bit RISC processor from Samsung for handheld devices. The bus structure is SAMBAII and the speed is up to 75MHz. It uses the ARM7TDMI core and is fabricated in a 0.25um CMOS process. The S3C44B0 offers a wealth of built-in components including: 8KB Cache and internal 4MB Flash, 8MB SDRAM, LCD controller, 2 UARTs with handshaking, 4 channels of DMA, an internal timer, 71 general purpose I/O ports, 8 external interrupt sources, 8 channels 10-bit ADC, IIC bus interface, IIS bus interface, synchronous SIO interface and PLL multiplier, an external USB HOST, connected to the camera, store the picture information captured by the camera into the memory space . UCLinux operating system, it is a micro-Linux operating system that has been cut by Linux. It has only about 700k of compiled and compressed binary files, which is suitable for embedded development environment. The usual software development model on a PC does not apply to embedded systems. Because the embedded system does not have enough system resources to meet the development needs, in the development process, a cross-compilation environment needs to be built on the PC to compile and link the program, and then the program is burned into the development board. The cross-compilation environment used here is arm-elf-tools-20030314.sh. You only need to run sh arm-elf-tools-20030314.sh in the terminal to install the cross-compilation environment. After that, the development is carried out in the environment, and after the debugging is passed, the program is burned and written into the embedded system to run.

Figure 1 hardware platform structure

3 image acquisition

Linux device drivers generally have three types of character-charging devices, block devices, and network devices [1]. In Linux, to use the peripheral devices attached to the system, you must load the corresponding driver. Here is the mesh V3000 camera as the image acquisition device, which uses the USB controller OV511, which is supported by the Linux operating system. When compiling the uCLinux kernel, it is mainly through the process of configuring the kernel, compiling the kernel, and generating the image. Enter the kernel directory of uCLinux, enter make menuconfig in the terminal to configure the kernel, enter usb support, and select USB OV511 Cameral support. After saving and exiting, make dep establishes the dependency relationship, make zImage generates the image, compiles it, and writes the compiled kernel to the ARM board, then the uCLinux system supports the camera module.

3.1 Video For Linux [2]

The Linux operating system kernel comes with a set of Video For Linux (V4L) program interfaces. It is a kernel driver for video devices in Linux and supports devices such as video capture cards and cameras. The application can use this program interface to enable the hardware device to interact with the kernel to achieve the purpose of capturing images. V4L provides a complete set of I/O operations interfaces, open, close, read, write, ioctl, memory mapping functions and interface functions ioctl for I/O channels, and defines them in the struct file_operaTIons data structure. When the application makes a system call operation such as open to the device file, the Linux kernel will access the function interface provided by the driver through the file_operaTIons structure. V4L needs to be compiled into the kernel. The specific method is to enter make menuconfig in the terminal /usr/src/linux directory, enter the setting interface, select mulTImedia devices option, select Video For Linux, save and exit, make dep, make image. Currently, higher versions of the Linux operating system have compiled V4L into the kernel and no longer need to be recompiled. V4L defines a number of structures, including all the properties used to get the image, so in the program header file, you should include #include "linux/videodev.h".

36v Ebike Battery Series

36V Ebike Battery,36V Ebike Battery Series,Bottle E-Bike Battery Pack,Electric Bicycle Lithium Lon Battery

ZHEJIANG TIANHONG LITHIUM-ION BATTERY CO.,LTD , https://www.tflbattery.com