Design of a smart phone SMS module using the embedded S3C2410 chip

Publisher:王大雷Latest update time:2012-09-13 Source: 21ic Keywords:S3C2410 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction

With the development of embedded technology and communication technology, smart phones have become the mainstream trend of mobile phone development in the field of mobile phones. At present, in the field of smart phones, processor selection, operating system selection and application development are all hot topics of research. In the courses of computer-related majors in colleges and universities, more and more smart phones are involved, and more and more students are also involved in the learning and development of smart phones. Therefore, it is necessary to provide these students with relevant experimental equipment. This paper proposes to build a smart phone hardware experimental platform based on the Samsung S3C2410 chip as the core, and combine the wireless communication module to realize the short message function of smart phone calls. It provides a platform for students to conduct experiments related to smart phones. Through this platform, students can complete various software development when designing smart phones by themselves, which changes the traditional verification-based experimental platform mode and is conducive to the cultivation of students' innovative ability.

1 Design of smartphone hardware and software experimental platform

There are three main ways to implement mobile phone hardware:

(1) Only using baseband chips, usually called feature phones;

(2) Baseband chip plus coprocessor: This type of product enhances multimedia processing capabilities based on feature phones;

(3) Baseband processor plus application processor. This is the design used in smartphones. The baseband processor is used for communications, and the application processor is used for multimedia and other applications.

When designing a smartphone hardware platform, the following aspects need to be considered:

(1) The application processor should have a sufficiently high main frequency to ensure the system's operating speed so that various applications can run smoothly;

(2) The system should have sufficient memory space to store applications and user data;

(3) It has a good human-computer interaction interface, which allows users to operate it conveniently. The baseband processor has stable performance and ensures real-time communication for users.

1.1 Hardware Platform Design

The hardware mainly includes debugging interface, storage system, GSM/GPRS communication module, and human-computer interaction module. The core controller chip uses Samsung's S3C2410 processor, which runs stably at 203 MHz. As an experimental platform, it completes the basic functions of a smartphone and does not require a large amount of data processing, so the main frequency of 203 MHz can ensure the running speed of the system. The system uses 64 MB SDRAM and 64 MB NANDFLASH as the storage system to ensure the storage space of the system and users. In terms of communication, the application processor connects the baseband processor, namely the GSM/GPRS communication module, through UART2. The GSM/GPRS module uses SIMCOM's SIM300 module, which has a complete GSM/GPRS tri-band/quad-band solution, supports GSM calls and short message sending and receiving and GPRS data transmission, and can be easily controlled through AT commands. The system displays a graphical operation interface through an LCD, and uses a touch screen instead of a traditional keyboard operation, which is more user-friendly and more convenient to operate. At the same time, an expansion interface is provided for students to expand other functions of smartphones, such as using an Ethernet interface to realize web browsing. The hardware block diagram of the entire system is shown in Figure 1.

Hardware block diagram of the entire system www.elecfans.com

1.2 System software platform design

The function of the system software platform is to provide a platform for application development. The system software is designed based on the embedded Linux operating system and the embedded GUI Qtopia. The architecture of the entire software platform is shown in Figure 2.

The architecture of the entire software platform www.elecfans.com [page]
1.2.1 Bootloader

Bootloader is the first code to run after the system is powered on. Its main task is to complete hardware initialization and prepare conditions for loading the operating system. Its implementation depends on the hardware, and the Bootloaders of development boards with different architectures vary greatly. In order to better support the hardware devices of the target board, the system chooses to develop its own Bootloader in the ADS1.2 integrated development environment. The implementation process of Bootloader is mainly divided into the following two stages:

(1) It mainly performs initialization processing closely related to the CPU core and storage devices. This part of the code is usually written in ARM assembly instructions and included in the start.S file. It usually includes the following steps:

① Hardware initialization work. Including turning off the watchdog; shielding all interrupts; setting the processor clock and operating frequency; initializing external registers; initializing the stack pointer.

② Prepare RAM space for stage (2), copy the code of stage (2) to RAM, and jump to the entry point of stage (2).

(2) Complete the general startup process and provide driver support for the target board device. This part will be copied to RAM for execution. This code is usually implemented in C language and has strong readability and portability.

Usually includes the following steps:

①Complete the general I/O settings through the set_gpios() function;

②Complete memory mapping and memory management unit initialization through mere_map_init() and mmu_init() functions;

③ Initialize the MTD device using the mtd_dev_init() function;

④Copy the kernel image file and root file system image in NAND FLASH to the RAM space;

⑤Jump to the first instruction of the kernel.

At this point, the Bootloader's task is completed, and the next task is completed by the operating system.

1.2.2 Tailoring and transplanting of operating systems

The operating system is responsible for managing the entire peripheral device and scheduling each software task. This is very important for smartphones. The operating system uses open source and free Linux, and is ported based on embedded Linux 2.6. The main porting process includes establishing a development environment, downloading kernel source code, modifying configuration files, configuring the kernel, compiling the kernel, and compiling modules. Because the porting process is roughly the same, only a brief introduction is given here:

(1) The cross-compilation tool on the host machine uses arm-linux-gcc-3.4.1;

(2) Modify the commom-smdk.c file to set partitions for NANDFLASH;

(3) Modify the configuration file fs/Kconfig to enable the kernel to support mounting devfs at startup;

(4) Configure the kernel;

(5) Compile the kernel and modules, and use the Busy-box tool to create the Yaffs file system.

1.2.3 Embedded GUI Qtopia Porting

Embedded GUI is used to develop the graphical interface of SMS and phone application programs. This article uses Trolltech's Qtopia as the graphical interface library, and the version used is Qtopia-core-opensource-src-4.4.3. The main tasks of the transplantation are:

(1) Modify the qmouselinuxtp_qws.h file to make Qtopia support touch screen;

(2) Configuration, compilation, and installation;

(3) Copy the relevant library files to the development board and set the environment variables.

2 Application Design

Phone and SMS applications are the most basic and core applications of smart phones. The main tasks of phone and SMS application design include: process design of phone and SMS application, serial port communication between communication module and application processor, and phone and SMS application interface development.

2.1 Phone/SMS Application Flow

The application uses a timer function to control the entire program flow. The timer is triggered once every 200 ms.

The detection process of new calls and new text messages is shown in Figure 3. The application initialization needs to initialize the interface between the GSM/GPRS communication module and the application processor. In addition, a 200 ms trigger timer must be defined. After the system is initialized, the timer triggers to read the serial port data for judgment. When there is no data in the serial port, wait for the next timer to start; when there is data in the serial port, judge the serial port data; when there is a new text message prompt in the data, decode the text message according to the decoding format of the PDU text message, and call the UI interface to prompt the user that a new text message has arrived, asking the user whether to read it; when there is a new call prompt in the data, call the UI interface to ask the user whether to answer it.

When it is necessary to send a text message or dial a number, the application process is shown in Figure 4. When the user calls the sending interface to edit the text message, enters the recipient, and clicks the send button, the application first determines whether the text message center number and the receiving number are correct. If not, it prompts the user that the error occurred; if the number and number format are correct, the text message content to be sent is encoded according to the PDU text message format, and the AT command is written to the serial port to send the text message. The process of dialing and hanging up the call is very simple. You only need to write ATD+the dialed number and ATH to the serial port. When the dialing is wrong, the user is prompted that the dialing is wrong.

Keywords:S3C2410 Reference address:Design of a smart phone SMS module using the embedded S3C2410 chip

Previous article:Smart Home Remote Monitoring System Solution Based on S3C2440
Next article:Introduction of Mobile Email Terminal Based on S3C2410 Processor

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

Building QT/Embedded4.8.5 development environment on s3c2410 (Part 1) --- Environment Introduction
I recently participated in a competition and needed to use the Broadcom s3c2410 development board to build a QT/Embedded environment. It took a lot of effort. I wanted to use the qtopia desktop at first, but the migration was always unsuccessful. Later I found that it was CentOS6.4, but the qtopia (version 2.1.1) prov
[Microcontroller]
Porting Embedded Linux to ARM Processor S3C2410: Device Driver
The device driver is the interface between the operating system kernel and the machine hardware. It shields the application from the details of the hardware. Generally speaking, the Linux device driver needs to complete the following functions:   · Equipment initialization and release;   Provide various equipment serv
[Microcontroller]
Porting Embedded Linux to ARM Processor S3C2410: Device Driver
Design of abnormal interrupt program based on ARM9 chip S3C2410
introduction In computer architecture, exceptions or interrupts are a mechanism for handling emergencies in the system, and almost all processors provide this mechanism. Exceptions are mainly a description from the perspective of passive acceptance by the processor, referring to exceptions caused by unexpected
[Microcontroller]
Design of abnormal interrupt program based on ARM9 chip S3C2410
S3C2410 Touch Screen Driver Notes
一些关键部位做了简单的注释 #include linux/config.h #include linux/errno.h #include linux/kernel.h #include linux/module.h #include linux/slab.h #include linux/input.h #include linux/init.h #include linux/serio.h #include linux/delay.h #include asm/io.h #include asm/irq.h #include asm/arch/regs-adc.h #include asm/arch/regs-gpio.h
[Microcontroller]
Design of wireless temperature transmitter based on S3C2410 processor and IEEE802.11b
IEEE802.11 is an IEEE wireless LAN standard, mainly used for wireless access of user terminals. IEEE802.11 only specifies the physical layer and medium access sublayer of the open system interconnection reference model. Its MAC layer uses the carrier sense multiple access/collision avoidance (CSMA/CA) protocol; it def
[Microcontroller]
Design of wireless temperature transmitter based on S3C2410 processor and IEEE802.11b
Interpretation of S3C2410 reset circuit
First, understand why a reset is needed: 1: Because microprocessors (such as computer CPU chips and high-end ARM chips we often say) and microcontrollers (single-chip microcomputers, low-end ARMs, etc.) chips are digital circuit chips, their normal operation is only in two levels: 0 low level and 1 high level, which
[Microcontroller]
Interpretation of S3C2410 reset circuit
Detailed explanation of s3c2410 watchdog
1. What is a watchdog? Watchdog, the Chinese name is "watchdog", the full name is watchdog timer. From the literal meaning, we can know that it is actually a timer. However, it is different from the timers we usually come into contact with in terms of function. Ordinary timers generally play a role in timekeeping. Tim
[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号