Design of embedded wireless video doorbell system based on Linux

Publisher:脑力驿站Latest update time:2012-01-30 Source: 软件开发网 Keywords:linux Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

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.

Keywords:linux Reference address:Design of embedded wireless video doorbell system based on Linux

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

Mini2440 Linux Memory Layout
In the process of learning Linux memory addressing, I noticed that on the x86 architecture, segmentation and paging mechanisms coexist. However, under the RSIC architecture, only paging is generally supported. "In-depth Understanding of the Linux Kernel" introduces the Linux physical memory layout on the x86 archite
[Microcontroller]
MapInfo format map display based on embedded Linux
1. Introduction Farmland information collection devices, vehicle navigation systems, PDAs and other airborne and handheld small devices all require GPS positioning and map display functions. Most platforms on the market that implement this function are based on the WINCE operating system, which can be developed
[Microcontroller]
MapInfo format map display based on embedded Linux
The Linux kernel driver automatically creates the device node and mounts the device
1. First, you need to define two data structures at the beginning: static struct class *firstdrv_class; static struct device *firstdrv_device; 2. Create the corresponding device node through the class_create and device_create functions in the init function. The sample code is as follows:
[Microcontroller]
ARM learning steps based on Linux system
Many people want to learn ARM after learning MCU, but they don't know how to learn. Now Lingyang Education ARM Training   Network lists the steps for learning this aspect. The learning steps based on the Linux system are as follows:          1. Linux Basics        Install Linux OS        Linux File System    
[Microcontroller]
Smart home management solution based on Linux
Introduction   The Internet of Things refers to the combination of various information sensing devices, such as radio frequency identification devices, infrared sensors, global positioning systems, laser scanners, etc., with the Internet to form a huge network. Then, all objects in life are included in this network fo
[Microcontroller]
Smart home management solution based on Linux
Research on Remote Monitoring System of Computer Room Based on Embedded Linux
    Abstract: In order to meet the needs of real-time monitoring of environmental parameters and video information in the computer room, this paper uses embedded technology, WEB technology and information detection technology to study and design an embedded computer room remote monitoring system based on B/S architect
[Microcontroller]
Research on Remote Monitoring System of Computer Room Based on Embedded Linux
Design of IPv6 Composite Firewall Based on Linux
IntroductionIPv6 uses AH and ESP to authenticate and encrypt the transmitted data, ensuring the confidentiality, integrity and reliability of the data and realizing the security of information during transmission. However, IPv6 cannot guarantee the security of the network system itself and the availability of
[Industrial Control]
Design of IPv6 Composite Firewall Based on Linux
Simple project template for LPC2220 based on gnu-arm-linux
1: Source When we learn ARM embedded development, we usually come into contact with ADS1.2 and kei project templates. These templates are a blessing for beginners, but if you want to learn more about the chip startup process, When it comes to compiling and linking, image file structure, how to initialize,
[Microcontroller]
Simple project template for LPC2220 based on gnu-arm-linux
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号