In the video surveillance family, wired video surveillance accounts for the majority, but wired surveillance has great disadvantages. For example, the effective distance is short and the cost is high, which is only suitable for small-scale regional monitoring. For some special monitoring occasions, such as oil field production sites, remote environmental sampling, disaster or emergency sites, etc., due to the wide distribution range of monitoring points, it is difficult to set up cables, so wired video monitoring cannot be realized due to the limitations of inherent physical wiring. The resulting wireless remote technology can get rid of the constraints of cables and has the advantages of short installation cycle, convenient maintenance, and strong expansion capacity. At the same time, with the development of computer technology and communication technology, embedded remote wireless video monitoring systems that combine embedded system technology, wireless communication technology and TCP/IP-based Internet technology have become possible.
Compared with traditional monitoring solutions, wireless monitoring has the following three advantages:
1. Low overall cost, only one-time investment is required, no trenching and pipe laying is required, and it is especially suitable for outdoor places with long distance and well-decorated places. In many cases, users are often restricted by geographical environment and work content, such as special geographical environments such as mountains, ports and open areas, which bring great inconvenience to the wiring projects of wired networks and wired transmission. The construction period of wired networks will be very long or even impossible. At this time, the use of wireless monitoring can get rid of the constraints of cables, with the advantages of short installation period, convenient maintenance, strong expansion capacity, and rapid cost recovery.
2. The network is flexible, scalable, and plug-and-play. Managers can quickly add new wireless monitoring points to the existing network without laying networks or adding equipment for new transmissions, making remote wireless monitoring easy to achieve.
3. Low maintenance cost. Wireless monitoring is maintained by the network provider, and the front-end equipment is a plug-and-play, maintenance-free system.
The monitoring system has a conventional mode, namely "control center-monitoring terminal". The ability and accuracy of the monitoring terminal to process information data will affect the final performance of the entire system. The ARM microprocessor is a high-speed, high-performance embedded processor, suitable for adding operating systems, completing complex functions such as P/IP protocols and USB communications; it has high speed and large storage space, suitable for video processing; it has strong control and transaction scheduling capabilities, suitable for those occasions that have both data processing and a large number of transactions to be processed. As a result, a monitoring terminal design based on ARM has emerged.
1 Hardware Design of Monitoring Terminal
The hardware design of the monitoring terminal mainly consists of three parts: 1) video acquisition and processing module composed of video decoder and video encoding compressor; 2) central management and control module composed of ARM microprocessor, memory, etc.; 3) wireless transmission module mainly based on GPRS. The hardware structure block diagram of the monitoring terminal is shown in Figure 1.
1.1 Video acquisition and processing module
The video acquisition processing module is mainly composed of the video A/D conversion decoder SAA7111A and the video encoding compressor IME6400. SAA7111A is an enhanced video input processor that integrates A/D conversion and decoding functions. The live video information is introduced from one of the four analog input pins AI11, AI12, AI21, and AI22 of SAA7111A through the camera. After A/D conversion, the generated Y and UV signals are formatted and output from the VPO[15:0] pin. All functions of SAA7111A are completed under the control of the I2C bus. The embedded microprocessor S3C2440 configures the 32 registers inside SAA7111A through the I2C bus. The internal functional principle of SAA7111A is shown in Figure 2.
IME64400 supports MPEG-1, MPEG-2 and MPEG-4 video compression standards; its image size can be programmed, with a maximum size of 2 048x2 048; the bit rate supports fixed and variable bit rate compression, and supports dynamic detection. IME6400 sends the video data digitized by SAA7111A to the IME6400 for MPEG-4 compression encoding. The encoded data flows through SDRAM for cache, and then flows through the 1 KB FIFO buffer to meet the fast transmission of encoded data. When the FIFO overflows, its GPI00 pin will generate a falling edge interrupt to notify the main control chip to read the data in the FIFO. S3C2440 is connected to the host interface of IME6400 through the data line and sets a series of registers inside it. The internal functional block diagram of IME6400 is shown in Figure 3.
1.2 Central Management Control Module
The central management and control module is based on the embedded ARM microprocessor, which realizes the acquisition and compression management of video image signals, the reception and transmission of video image data, and the interpretation and execution of control signals. The central management and control module includes: power supply and reset circuit, system clock circuit, Flash memory interface circuit, SDRAM interface circuit, JTAG interface circuit, serial interface circuit, etc.
1.3 Wireless transmission module
The wireless transmission module uses GPRS Modem to transmit compressed video image data. The MC55 wireless module in the GPRS Modem has three frequency bands, suitable for European and Asian frequency bands: 900, 1800 and 1900 MHz. The switching of the three frequency bands can be controlled by AT commands. The MC55 module is the wireless network interface of the system, with GPRS class-10 multi-time slot function, class-B operation mode, support for enhanced AT command set, and the module comes with TCP/IP protocol stack. Embedded microprocessor.
S3C2440 is connected to the serial port provided by GPRS Modem through the serial port, and all data are exchanged through the serial port. The circuit schematic diagram of the connection between the embedded microprocessor S3C2440 and GPRS Modem is shown in Figure 4.
2 Software Design of Monitoring Terminal
The software design of the monitoring terminal is based on the embedded Linux operating system, and its module block diagram is shown in Figure 5.
In the monitoring system, installing a system platform can control the equipment more efficiently. The software development platform needs to complete the design of system startup code, the transplantation of embedded Linux operating system kernel and the development of device drivers. Bootloader can initialize the device and establish a mapping map of memory space, so as to bring the system's hardware and software environment to a suitable state, so as to prepare the correct environment for the final call of the operating system kernel. The embedded Linux operating system is undoubtedly the best candidate.
The embedded Linux system kernel interacts with peripheral devices through device drivers. Device drivers are a set of data structures and functions that control one or more devices through defined interfaces. IME6400 drivers and MC55 drivers are designed. IME6400 is treated as a character device and a character device driver is written. Character devices are the simplest devices in Linux. Applications use standard system calls to open, read, write and close them. The kernel uses the file_operations structure to access the driver's functions. The open() function is used to complete the device open count, interrupt request and initialization of the ring buffer; the usage and function of the release() function are exactly the opposite of the open() function; the ioctl() function is used to provide a variety of hardware controls, that is, the application needs to use the ioctl() function to read and modify the identification variables of the ring buffer. The device driver of MC55 mainly includes the file_operations data structure of MC55 and the functions of opening, closing, reading and writing of MC55, hardware initialization of MC55, etc. MC55's opening function MC55_open() is used to open the GPRS device; the closing function MC55_close() is used to close the GPRS device; the reading function MC55_read() is used to read and receive data; the writing function MC55_write() is used to send data; the I/O initialization program MC55_hardware_init() initializes the input and output ports of the GPRS device; the MC55 initialization program void_initMC55_init() completes the initialization of the GPRS device.
2) Based on the software platform, develop the system application, namely the application layer. With the help of cross-compilation tools, develop the acquisition, compression, and transmission programs running on the video monitoring terminal. The application program of the monitoring terminal mainly includes the control program of the MPGE4 compression encoding module and the program for transmitting data of the GPRS module. At the same time, the working mode of the video A/D converter SAA7111A must be configured.
The configuration of the working mode of SAA7111A is realized by the configuration of the 32 internal registers of the microprocessor S3C2440 through the I2C bus. The initialization setting of SAA7111A is: 1 analog video signal input, automatic gain control, PAL format, YUV4:2:2 16-bit digital video signal output. Since the input video signal belongs to the PAL format, the FSEL bit in register 08H needs to be set to 0; in addition, the HPLL bit in the register needs to be set to 0 to synchronize the HREF and VREF signal outputs; the COLO bit in register 11H needs to be set to 1. Indicates that the Y and C channels work at the same time; the OEHV and OEYC bits in 11H are set to 11, which enables the chip's VPO, HS, VS, HREF, VREF output ports. The MPGE4 compression encoding module control program mainly consists of the download of firmware and the setting of its registers, as well as the transmission of MPEG4 data. The firmware download procedure is an internal SRMA write operation cycle. When downloading, first write Ox4000 to the Control register to inform IME6400 to initialize the download; then treat the firmware as a 16-bit binary array, and write the download destination address offset to BaseAddress0 each time. And write the 16-bit data to be downloaded to Data to download a 16-bit word, and repeat this cycle until the entire firmware is downloaded in sequence. IME6400 receives a continuous video image data stream and outputs a continuous compressed video image data stream accordingly. IME6400 works in asynchronous mode. When there are more than NFIFOSIZE (usually 1 024) bytes of data in the FIFO, the GPI00 pin state is set to low. After the main control processor detects the low level on GPI00, it reads NFIFOSIZE bytes of data from IME6400. After the end, write a different value to the HI user register USER4 to notify IME6400 that the transmission is over. IME6400 continues to write new data into the FIFO. Such a loop allows the embedded processor to continuously read a continuous stream of data from the IME6400, while using the IME6400 device driver to complete the IME6400 receiving encoded data, moving the data into a visible buffer, and coordinating the processing of the data.
Previous article:Introduction to LCD backlight energy saving and dimming method based on S3C2440 and ARM
Next article:Design of Fragment Velocity Measurement System for Shooting Range Based on S3C2440 and EP2S15 Chips
- Popular Resources
- Popular amplifiers
- Learn ARM development(14)
- Learn ARM development(15)
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- 【GD32E503 Review】——01. Preparation
- CircuitPython 6.0.0 released
- Research on on-chip communication architecture in SoC design.pdf
- 【Ufan Learning】Learning Part 1: Ufan Learning Board Function Test
- Where to set the TrueSTUDIO For STM32 -mcpu=cortex-cm3 parameter
- STLM20DD9F Analog Temperature Sensor Data
- I have some spare time, welcome to taste
- [AT-START-F403A Review] Part 2: Building a QR code scanning platform
- Why can't I find any errors in multisim simulation and why can't I run it to get any results?
- Share: Questions about bq25895 Vbus input