Design of wireless home gateway based on S3C44B0X

Publisher:耿高良Latest update time:2012-11-05 Source: 21ic Keywords:ARM  Clinux  S3C44B0X Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Introduction

With the rapid development of network technology and information appliances, more and more families are demanding to establish home networks. The home gateway is the core of the entire home network. It mainly realizes Internet access, remote control, and the functions of connecting heterogeneous subnets within the home. The home gateway based on the PC solution is not only expensive, but also requires the computer to be turned on and able to communicate all the time, and software and hardware that interfere with communication tasks cannot be run on the computer. Therefore, in order to adapt to ordinary users, the home gateway should be designed as a cheap non-PC device. However, if 8-bit or 16-bit microcontrollers are used, it is difficult to implement the TCP/IP protocol due to its slow speed and limited resources, so it is not ideal.

Therefore, this paper uses the 32-bit embedded microprocessor with ARM core as the hardware platform, combines wireless communication technology, and realizes a convenient and practical home gateway by transplanting the embedded operating system Clinux and developing corresponding drivers, applications and embedded Web servers on it.

Hardware design of the system

System structure and working principle


The system structure of the home gateway is shown in Figure 1. It is based on Samsung's 32-bit RISC processor S3C44B0X, and builds a hardware platform through external expansion memory (Flash/SDRAM), Bluetooth module, LCD display, keypad, Ethernet interface module, telephone voice control module and infrared transceiver module, and can realize multiple control methods.

Figure 1 Home gateway system structure diagram

1) Local control with keyboard and display: The system is equipped with 16 buttons and a 128×32 dot matrix LCD display, which is convenient for users to set and query the status locally, such as data query, electrical appliance control, etc.

2) Local infrared remote control: Through the infrared remote control module with self-learning function, infrared remote control of indoor home appliances can be realized.

3) Remote telephone voice control: This is a telephone remote control based on the public telephone switching network (PSTN), which is used for telephone command control, such as remote control of home appliances, telephone alarm, etc.

4) Internet-based remote control: Using the browser-side/server-side structure (B/S structure), users can directly use the IE browser that comes with Windows as the client program to achieve the purpose of remote control anytime and anywhere.

Wireless communication technology is the most ideal technology for realizing home networks, which can save the trouble of rewiring inside the home. In the design of this home gateway, the Bluetooth module is used as the wireless communication module to communicate with the underlying functional modules.

Hardware circuit composition

The hardware design of this system mainly includes the basic hardware platform built with S3C44B0X embedded microprocessor as the core, as well as the hardware design of modules such as Bluetooth communication, telephone voice control and infrared remote control. The

hardware block diagram of the basic system with S3C44B0X as the core is shown in Figure 2.

The functions and interface circuit analysis are as follows.

Figure 2 Block diagram of the basic hardware platform of the home gateway

ARM microprocessor S3C44B0X: S3C44B0X is an ARM7 core SoC produced by Samsung. By expanding a series of complete general peripheral devices based on the ARM7TDMI content, it is very suitable for handheld devices and general embedded applications.

Flash memory interface circuit: Flash chips are used to store embedded operating systems, home network servers, CGI gateway applications, and file systems required to support various services in home gateways. In the system, a HY29LV160 is used to build a 16-bit Flash memory system with a storage capacity of 2MB. After the system is powered on or reset, it obtains instructions and starts executing, so the Flash memory is configured to ROM/SRAM/FLASH Bank0. [page]

SDRAM interface circuit: The existence of an embedded operating system requires a certain amount of dynamic RAM. The decompressed operating system will be moved from Flash to SDRAM and reside in memory; at the same time, the user stack and running data will also be placed in SDRAM. The 8K cache provided by the S3C44B0X chip is far from meeting the requirements. Considering the needs of practical applications, Samsung's K4S281632D is selected in the design. Its data width is 16 bits, composed of 4 banks, and the storage capacity is 16 MB. Bank6 and Bank7 of S3C44B0X support SDRAM, so they can be easily connected. Set the data width of Bank6 to 16 bits in the bus width control register BWSCON, set MT = 0x3, Trcd = 0x0, SCAN = 0x01 in the Bank6 control register BANKCON6, and set BK76MAP = 0x110 in the storage capacity register BANKSIZE.

10/100M Ethernet interface circuit: S3C44B0X already includes Ethernet MAC control, but does not provide a physical layer interface. Therefore, an external physical layer chip is required to provide an Ethernet access channel. RTL8201 is selected in this design. Since the S3C44B0X chip already has a MAC controller with an MII interface, and the RTL8201 also provides an MII interface, and the definitions of various signals are also very clear, the connection between RTL8201 and S3C44B0X is relatively simple. When connecting, you only need to interconnect the corresponding pins of the two chips. It is worth noting that the RTL8201 using CMOS technology cannot be directly connected to the RJ45 interface. Due to the difference in level signals and the existence of network impact signals, the two need to be isolated and level signal conversion components. In this design, the network transformer HR61H58L is selected.

Serial interface circuit: In order to complete the communication with the Bluetooth communication module, infrared transmission and reception module, and telephone voice control module of the home internal network, the home gateway needs an asynchronous serial communication interface. Since the S3C44B0X has only two asynchronous serial ports, the serial port needs to be expanded. In this design, an ST16C554 chip is selected for serial port expansion. Since the high and low level signals defined by the LVTTL circuit of the S3C44B0X system are different from the high and low level signals defined by the RS-232-C standard, the signal level conversion is required for communication between the two. Here, MAX202 is used to convert the serial port data signal into TTL level, and then the interrupt request is output through ST16C554. The interrupt requests of the four serial ports are ORed to generate the IRQ signal INTREQ, which is then connected to the terminal controller of the CPU through the CPLD.

IIC interface circuit: S3C44B0X contains an IIC bus master controller, which can be easily connected to various devices with IIC interfaces. In this system, an AT24C01 is used as an IIC memory. AT24C01 provides 128 bytes of EEPROM storage space.

The time can be used to store a small amount of data that needs to be saved when the system is powered off, such as the parameter settings of the home gateway and the user authentication code.

LCD display module: This module can use the LM057QC1T01 produced by Sharp, which is a graphic dot matrix 256-color STN liquid crystal module with a resolution of 320×240. Since both S3C44B0X and LM057QC1T01 have strong versatility, they are easy to connect, but it is necessary to add a circuit that can realize the voltage deflection function between the controller and the LCD interface to achieve the 27V deflection voltage required for the output LCD display.

Keyboard interface circuit: 8 general I/O ports form a 4×4 keyboard.

Other peripheral circuits required by S3C44B0X: JTAG interface circuit (for JTAG debugging), reset circuit and power supply circuit.

Other functional modules Bluetooth module: In this solution, the Bluetooth hardware chip uses the ROK 101008 module of Ericsson. The home gateway is developed by installing BlueZ under the Clinux operating system to cooperate with the Bluetooth module and establishing related protocols based on the L2CAP layer.

Telephone voice control module: The dual audio dial chip DTMF8870, speech synthesis chip ISD1420, ring current detection chip circuit and 89C51 are used to form the telephone voice control module.

Infrared remote control module: Infrared receiving module and infrared transmitting module are added to the system. The infrared receiving module uses BA5302. The infrared signal is input from the top of it. After amplification, shaping and demodulation, it is converted into a digital signal of TTL level; the infrared transmitting module modulates and sends out the infrared original code just learned. Here, the modulated signal is generated by software coding, so the circuit is very simple.

System software platform

Establish Clinux development environment The application development environment based on Clinux operating system is generally composed of the target system hardware development board (S3C44B0X development board) and the host PC. The kernel compilation of the operating system used by the target board, the development and debugging of the application program need to be completed through the host PC. The connection between the two is generally established through the serial port, parallel port or Ethernet interface. First, install the standard Linux operating system on the host machine, and then you can establish a cross-development environment. Download the tool chain from the Internet and install the cross compiler on the host machine. It is also necessary to reconfigure and compile the kernel according to the needs of the home gateway and perform Clinux transplantation. After success, you can see two kernel files in the Clinux-Samsung/images directory: image.ram and image.rom. Burn image.rom into the Flash memory corresponding to ROM/SRAM/FLASH Bank0. When the system is reset or powered on, the kernel will self-decompress to SDRAM and start running. In this way, an embedded application development platform is successfully built.

Development of hardware drivers and applications

The development of hardware drivers and applications must also be carried out in a cross-compilation environment. First develop on the PC, then transplant to the target machine for debugging and finally solidify on the target machine. The hardware drivers that need to be developed in this design include: Ethernet card controller, serial port, LCD driver, Bluetooth module, keypad driver, etc. Writing drivers for the Linux kernel is not as complicated as other operating systems. You only need to write a few basic functions for the corresponding devices and register them with VFS. Generally, corresponding changes are made to special hardware devices based on a ready-made driver. On the basis of embedded operating system, micro GUI should be developed, dynamic web pages and CGI programs should be written to realize embedded WEB technology, security authentication, and wireless communication protocols, etc. For example, remote control based on Internet is realized by browsing the dynamic web pages of Web Server in home gateway. The remote control program needs to extract useful control command information from user access information, and then compose command frames according to the internal protocol of home control network. The key to realize control is the compilation of CGI program, and its process is shown in Figure 3.

Figure 3 Internet remote control program flow chart

Conclusion

This paper discusses the software and hardware design of a wireless home gateway based on ARM microprocessor S3C44B0X and Clinux. The home gateway has various control methods and can realize remote control of home appliances by browsing the web anytime and anywhere. The home gateway has low cost, easy to upgrade, and easy to promote and apply.

Keywords:ARM  Clinux  S3C44B0X Reference address:Design of wireless home gateway based on S3C44B0X

Previous article:Design of wireless home gateway based on S3C44B0X
Next article:Handheld device SoC based on ARM core

Recommended ReadingLatest update time:2024-11-16 16:43

Azure ARM (8) ARM Template - VS Code
  In the previous section, the author introduced how to use Visual Studio to edit ARM Template.   But at some point, Visual Studio is too large to install. This chapter will introduce you to using VS Code to edit Azure Template.      1. Download VS Code: https://code.visualstudio.com/   2. Run VS Code and install the
[Microcontroller]
Azure ARM (8) ARM Template - VS Code
Buses in ARM
The bus in ARM is used for communication between different components. There are two different types of devices connected to the bus: the ARM processor, which is the master of the bus and has arbitration rights for the bus and can actively initiate data transfer requests through the same bus; and the peripheral device
[Microcontroller]
ARM cross-compilation of x264 library under Linux
1. Preparation      1. Download the source code   of x264 library: http://www.videolan.org/developers/x264.html The author's current version is x264-snapshot-20160511-2245 2. Compiler arm-none-Linux-gnueabi-gcc 2. Compilation steps 1. Unzip the installation package tar -xzvf last_x264.tar.bz2 cd x264-snapshot-2016
[Microcontroller]
ARM develops new brain chip that can be implanted in the skull
ARM and Case Western Reserve University's research team first conducted a trial on a paralyzed patient and helped the patient restore brain-controlled hand and arm movements. Let's follow the medical electronics editor to learn more about the relevant content.  Recently, chip giant ARM has developed a brain chip that
[Medical Electronics]
ARM develops new brain chip that can be implanted in the skull
Saifang Technology releases the world's first RISC-V large and small core processor subsystem, with performance comparable to ARM A76 / A75
According to news on August 17, Sai Fang Technology today released two new independently developed RISC-V processor core products: Fang Tianshu-90 (Dubhe-90) and Fang Tianshu-80 (Dubhe-80). According to reports, Dubhe-90 focuses on "extreme performance" and is the flagship product of the Dubhe Max Performance series;
[Embedded]
Saifang Technology releases the world's first RISC-V large and small core processor subsystem, with performance comparable to ARM A76 / A75
An efficient exception handling solution based on ARM processor
在航空航天、工业控制及医疗等领域中,嵌入式系统的安全性、可靠性以及高效性作用显著,而异常是系统在运行过程中的突发事件,异常处理是否高效将直接影响整个系统的工作效率。为了确保嵌入式系统高效安全的运行,对处理器非正常模式下高效的异常处理机制的研究具有重要意义。 1. Exception Overview In embedded systems, exceptions/interrupts refer to an event that is generated by internal or external sources of the processor and causes system processing. Accordin
[Microcontroller]
An efficient exception handling solution based on ARM processor
Design of edible peanut oil quality rapid detection instrument based on ARM+FPGA
Abstract: A high-performance portable edible peanut oil quality rapid analyzer is designed using the ARM+FPGA structure. The programmable system-on-chip is applied to the instrument development to simplify the system hardware circuit and improve the flexibility of the system design. The efficient control funct
[Embedded]
Design of edible peanut oil quality rapid detection instrument based on ARM+FPGA
ARM Basics 9
Introduction: ARM image file ***************************************************** ARM Image File ***************************************************** 1. Structure of ELF format file 1.1 Image file components **An image file consists of one or more domains **Each domain contains one or more output segments
[Microcontroller]
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号