1. Introduction
In the current electronics industry, wireless technology has penetrated into all aspects, whether it is the remote control device of the TV or the peripheral devices of the computer, and some keyboards and mice even use wireless technology. Wireless network technology has become a hot technology. Wireless network products are widely used in home networks, small offices, exhibition centers, sports centers, aircraft factories, hospitals, schools, ports, residential areas, hotels, and broadband access. It allows people to get rid of the shackles of endless wires and cables in Internet applications and enter the real free space of the Internet without network. Wireless network technology is expected to become a new economic growth point.
In recent years, as the market for intelligent buildings continues to heat up, doorbell systems have become an important part of intelligent offices and intelligent residential areas and have been accepted by businesses and users. People have begun to use doorbell systems instead of traditional iron keys to manage various access doors, which has led to a leap in the development of doorbell systems. In 2000, the sales volume of doorbell systems worldwide increased nearly 10 times compared to 1999, accounting for 40% of the entire security market.
2. Introduction to Linux operating system
Linux is a very popular operating system, which is compatible with UNIX system and open source. It was originally designed as a desktop system, but is now widely used in the server field. The greater impact is that it is gradually being used in embedded devices. However, it still maintains the main advantages of the desktop Linux operating system, such as stability, powerful network functions and excellent file system support. Linux has a complete TCP/IP protocol stack and provides support for many other network protocols.
These network protocols are well implemented on Linux. Linux can be called an excellent network operating system for embedded systems. Linux has won the favor of many embedded developers with its excellent performance, free and open code and other advantages. Compared with the embedded program design based on simple RTOS or even without any operating system in the past, developing your own application based on a mature, efficient, robust, reliable, modular and easy-to-configure operating system such as Linux will undoubtedly further improve efficiency and have good portability.
3. Principle diagram of wireless video doorbell system
Figure 2. Schematic diagram of the server side of the wireless video doorbell system
3.1 Basic working principle of wireless video doorbell server
The wireless video doorbell is a system based on a high-performance embedded processor and hardware real-time codec chip, combined with the Linux operating system, consisting of a server and a client. It mainly realizes high-quality audio and video codec and network forwarding functions. The specific functions implemented by the server are as follows:
The input signals from the CCD Sensor and the audio and video ports are converted by video A/D and audio A/D, and then MPEG4 video encoding and MPEG MP3 audio encoding are performed. The encoded video and audio code streams are sent to the network multiplexing module for packaging and then sent to the client through the 802.11x wireless network. The specific functions are as follows:
1) Based on the power-on bootstrap Boot Loader function of hardware systems such as IDT RC32434 high-performance embedded processors, it has the functions of system hardware initialization and detection, and loading and starting embedded operating systems or user programs.
2). In the embedded operating system environment, initialize the configuration of the A/V module with VW2010 as the core and load the VW2010 driver.
3). Perform A/D conversion on analog audio and video, and compress and encode them in MPEG-4 format.
4). Forward the compressed and encoded data stream through the wireless network.
5) You can save the compressed data stream/file and convert the input compressed audio/video file
Decode and simulate audio and video playback output.
3.2 Basic working principle of wireless video doorbell client
Figure 3. Schematic diagram of the wireless video doorbell system client
The transport stream data received by the wireless network is demultiplexed by the network demultiplexing module, and the obtained video code stream and audio code stream are sent to the video decoding module and audio decoding module for MPEG4 video decoding and MPEG MP3 audio decoding respectively. The decoded data is sent to the visual terminal for display after video analog encoding, D/A and audio D/A conversion.
4. Wireless video doorbell system design
4.1 System Design Principles
The system design includes hardware and software. The hardware is mainly divided into three parts: control system and input and output data sources. The input and output data sources can be IDE interface devices (such as hard disks) or network ports. The control system monitors and controls each part of the system, completes the transmission of data streams, etc. The control system is mainly composed of a main control chip, Flash and SRAM. The main control chip controls other modules of the system through the PCI bus and is the core of the control system; the embedded Linux operating system is solidified in the Flash, and application software and backup data are stored; SDRAM is used as memory for system operation. The MPEG-4 hardware encoding and decoding system adopts hard encoding and decoding methods, and is responsible for encoding and decoding the input MPEG-4 data stream into ordinary TV signals. Its core is the encoding and decoding chip. In order to solve the problem of unstable data streams, the encoding and decoding chips usually use SDRAM for data buffering to ensure the normal encoding and decoding process.
The software mainly includes embedded Linux transplantation, encoding, decoding drivers and application programming. Embedded Linux is transplanted to the Flash controlled by the main control chip Flash controller. The operating system program files are divided into five main parts: bootloader, kernel, ramdisk, usr and boot_param, which are placed in five modules in the Flash. Different file methods are used according to the specific functions of different modules: bootloader, kernel, ramdisk and boot param. After development, they do not need to be dynamically changed and have small capacity. The space-saving ROMFS read-only file system is used. The usr module has more content and needs to be read and written. The JFFS file system that supports dynamic erasure and storage should be used.
4.2 System Hardware Design
The system hardware design is mainly divided into two parts: data source interface design and control system design. The data flow must first be sent from the data source to the PCI bus through the data source interface. The system data source interface is the PCI/IDE bridge chip and network control chip on the PCI bus.
The control system allocates system resources, controls various parts of the system, and transmits data streams. The main control chip uses IDT RC32434. It is a 64-bit MIPS, which integrates NAND Flash controller (FlashC), 32-bit PCI bus controller (PCIC), 4-channel DMA controller, 4-channel SDRAM controller (SDRAMC), external bus controller (EBUSC), external bus interface (E-BUSI) and 2 universal serial ports, and controls them separately through the internal bus. It has a working main frequency of 400MHz, fast processing speed, powerful functions, high cost performance, and can well meet the needs of embedded Linux systems.
MIPS controls the external Flash and SDRAM through the internal FlashC and SDRAMC, where the data address line of SDRAM is connected to the external bus control interface (EBUSI), and the data address line of Flash is connected to the corresponding data address port of FlashC. MIPS controls other PCI interface devices through the PCI bus controller (PCIC).
4.3 System Software Design
The software design of this system is mainly divided into the transplantation of the embedded Linux operating system kernel, the writing of system drivers such as encoding and decoding chips, PCI bridge chips and network ports, and the writing of decoding applications. Its architecture and its relationship with hardware are shown in Figure 6.
The embedded Linux operating system is the hardware platform of the user control system. The system driver adopts a modular form, providing API functions for user-level applications upward and controlling the system hardware downward through the system hardware API functions. The encoding and decoding driver modules adopt real-time loading mode. Other drivers such as network ports, I2C and PCI/IDE interfaces are highly versatile and are directly compiled into the kernel. The encoding and decoding applications realize the transmission and encoding and decoding of the system MPEG-4 data stream. Figures 7 and 8 are the main program flow charts of the wireless video doorbell server and client, respectively.
Figure 5. System software schematic diagram
Figure 6 Flowchart of the main program of the wireless video doorbell server
Figure 7 Flowchart of the main program of the wireless video doorbell client
5. Conclusion
The above introduces an embedded wireless video doorbell system, which uses hardware encoding and decoding to implement the MPEG-4 code stream input and output of IDE interface devices or network ports. The system uses the 64-bit MIPS chip IDT RC32434 as the main controller and VW2010 as the MPEG-4 encoding and decoding chip; it uses embedded Linux as the operating system and the modular VW2010 driver. The encoding and decoding application is simple and practical, and has strong scalability. Experiments have shown that this system can be widely used in IP TV, satellite TV, wireless video doorbells and digital TV broadcasting systems based on the MPEG-4 standard, and its application prospects are very broad.
Previous article:Implementation of TCP/IP protocol stack on MSP430 microcontroller
Next article:Design and Implementation of PMP System Based on Embedded Linux
Recommended ReadingLatest update time:2024-11-17 00:18
- Popular Resources
- Popular amplifiers
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
- Date in spring + go out and get a sea bass
- 【Multi-function open source custom macro keyboard】Bluetooth keypad project construction and experiment
- Can I teach myself Java to find a job?
- Last day, 74% winning rate: Watch the video "Avoiding Common AC-DC Design Pitfalls" and win a prize
- Serial port baud rate selection
- [RVB2601 creative application development] Mobile modbus master station
- About Sobel Algorithm
- What is the best engineer like?
- STM32 interrupt priority grouping setting
- FreeRtos blocking issue discussion