基于嵌入式Linux的智能手机电话短信实验模块

发布者:SereneDreamer最新更新时间:2014-10-16 来源: chinaaet关键字:Linux  智能手机  S3C2410 手机看文章 扫描二维码
随时随地手机看文章
    随着嵌入式技术和通信技术的发展,在手机领域,智能手机已成为手机发展的主流趋势。目前在智能手机领域,从处理器选型、操作系统选择以及应用程序开发都是研究的热点。在高校计算机相关专业的课程中也越来越多地涉及到智能手机的相关内容,越来越多的学生也都投入到智能手机的学习和开发阵营中来。因此,为这些学生提供相关的实验设备显得很必要。

    本文提出基于三星S3C2410芯片为核心构建智能手机硬件实验平台,并结合无线通信模块实现智能手机电话短消息功能。为学生进行智能手机相关的实验提供了平台,通过本平台,学生可以自己动手完成智能手机设计时的各种软件开发,改变了传统的验证式的实验平台模式,有利于学生创新能力的培养。

  1 智能手机软硬件实验平台设计

  手机的硬件实现方式主要有3种:

  (1)只用基带芯片,通常称作功能手机;

  (2)基带芯片加协处理器,这类产品是在功能手机的基础上增强了多媒体处理功能;

  (3)基带处理器加应用处理器。这是智能手机所采用的设计,基带处理器用于通信,应用处理器用于多媒体和其他应用。

  在设计智能手机硬件平台时,需要注意以下几个方面:

  (1)应用处理器应具有足够高的主频用以保证系统的运行速度,使各种应用能够运行畅通;

  (2)系统应有足够的内存空间用以保存应用程序和用户数据;

  (3)具备良好的人机交互界面,用户可以方便地进行操作。基带处理器性能稳定,保证用户实时通信。

  1.1 硬件平台设计

  硬件主要包括调试接口、存储系统、GSM/GPRS通信模块、人机交互模块。核心控制器芯片采用三星公司的S3C2410处理器,频率稳定运行在203 MHz。作为实验平台,完成智能手机的基本功能,不要求大量数据处理,因而203 MHz的主频能够保证系统的运行速度。系统采用64 MB SDRAM和64 MB NANDFLASH作为存储系统,从而保证系统和用户的存储空间。通信上,应用处理器通过UART2连接基带处理器即GSM/GPRS通信模块,GSM/GPRS模块采用SIMCOM公司的SIM300模块,该模块具备完善的GSM/GPRS三频/四频解决方案,支持GSM通话及短消息收发和GPRS数据传输,可以方便地通过AT命令进行控制。系统通过LCD显示图形操作界面,采用触摸屏代替传统键盘操作,界面更友好,操作更方便。同时提供扩展接口用于学生扩展智能手机的其他功能,如利用以太网接口实现网页浏览等。整个系统的硬件框图如图1所示。

  

 

  1.2 系统软件平台设计

  系统软件平台的功能是为应用程序开发提供平台。系统软件以嵌入式Linux操作系统和嵌入式GUI Qtopia为基础来设计的,整个软件平台的架构如图2所示。

  

 

  1.2.1 Bootloader

  Bootloader是系统上电后运行的第一段代码,主要工作是完成硬件的初始化和为加载操作系统准备好条件。它的实现是依赖于硬件的,不同体系结构开发板的Bootloader变化很大。为了更好地支持目标板的硬件设备,该系统选择在ADS1.2集成开发环境下开发自己的Bootloa-der。Bootloader的实现过程主要分为以下2个阶段:

  (1)主要进行与CPU内核以及存储设备密切相关的初始化处理工作,这部分的代码通常用ARM汇编指令编写,包含在start.S文件中。通常包括一些步骤:

  ①硬件初始化工作。包括关闭看门狗;屏蔽所有中断;设置处理器时钟和工作频率;初始化外部寄存器;初始化堆栈指针。

  ②为阶段(2)准备RAM空间,并把阶段(2)的代码拷贝倒RAM,跳转倒阶段(2)的入口点。[page]

  (2)完成一般的启动流程以及提供目标板设备的驱动支持,这部分会被拷贝倒RAM中执行,这段代码通常由C语言来实现,具有较强的可读性和移植性。

  通常包括一下步骤:

  ①通过set_gpios()函数完成通用I/0设置;

  ②通过mere_map_init(),mmu_init()函数完成内存映射和内存管理单元初始化;

  ③初始化MTD设备,使用mtd_dev_init()函数;

  ④拷贝NAND FLASH中的Kernel映像文件和根文件系统映像到RAM空间中;

  ⑤跳转到内核的第一条指令处。

  至此,Bootloader的任务结束,接下来的任务由操作系统完成。

  1.2.2 操作系统的剪裁、移植

  操作系统负责对整个的外围设备进行管理和对各个软件任务进行调度。这对于智能手机而言是非常重要的。操作系统采用开源、免费的Linux,基于嵌入式Linux 2.6版本进行移植,主要移植过程包括建立开发环境、下载内核源码、修改配置文件、配置内核、编译内核、编译模块几个步骤,因为移植的过程大致相同,这里只做简单介绍:

  (1)宿主机上的交叉编译工具采用arm-linux-gcc-3.4.1 ;

  (2)修改commom-smdk.c文件,为NANDFLASH设置分区;

  (3)修改配置文件fs/Kconfig,使内核支持启动时挂载devfs;

  (4)配置内核;

  (5)编译内核与模块,用Busy-box工具制作yaffs文件系统。

  1.2.3 嵌入武GUI Qtopia的移植

  嵌入式GUI用于开发短信、电话应用程序图形界面,本文采用Trolltech公司的Qtopia作为图形界面库,采用版本是Qtopia-core-opensou rce-src-4.4.3。移植的主要工作有:

  (1)修改qmouselinuxtp_qws.h文件,使Qtopia支持触摸屏;

  (2)配置、编译、安装;

  (3)拷贝相关的库文件到开发板,并设置环境变量。

  2 应用程序设计

  电话和短信应用程序是智能手机最基本也是最核心的应用。电话短信应用程序设计的主要工作包括:电话短信应用程序的流程设计、通信模块和应用处理器的串口通信以及电话和短消息应用程序界面开发。

  2.1 电话/短信应用程序流程

  应用程序采用定时器函数来控制整个程序的流程。定时器每200 ms触发1次。

  新电话、新短信的检测流程如图3所示,应用程序初始化需要对GSM/GPRS通信模块与应用处理器之间的接口进行初始化,此外还要定义1个200 ms触发的定时器。系统初始化完毕之后,定时器触发开始读串口数据进行判断。当串口无数据时,等待下一次定时器出发;当串口有数据时,将串口的数据进行判断;当数据中有新短信提示符时,按照PDU短信的解码格式对该短信进行解码,并调用UI界面提示用户新短信到达,询问用户是否阅读;当数据中有新电话提示符时,调用UI界面,询问用户是否接听。

  

 

  当需要发送短信或拨号时,应用程序流程如图4所示。当用户调用发信界面编辑好短信,并输入完收信方,点击发送钮时,应用程序首先判断短信中心号码和接收信息号码是否正确,若不正确,提示用户错误;若号码和号码格式均正确,便对要发送的短信内容按照进行PDU短信格式进行编码,并向串口写AT命令以便将该短信发送出去。拨号和挂断电话的流程很简单,只需要向串口写入ATD+所拨号码以及ATH就可,当拨号错误时,提示用户拨号错误。

  

 

  2.2 通信模块串口通信的实现

  串口是连接智能手机应用处理器和GSM/GPRS通信模块的接口,串口通信流程是打开串口、串口的初始化设置、读/写串口、关闭串口,如图5所示。[page]

  在应用程序初始化时初始化时需要对串口进行初始化,对串口的初始化主要是设置串口的一些参数,包括以下几个部分:保存以前的串口设置、建立新的配置、设置波特率、设置数据位、设置奇偶位、激活当前配置、处理要写入的引用对象、设置最少字符和等待时间、设置停止位。只有串口初始化完毕之后,应用程序才能对串口进行相应操作。

  2.3 用程序用户界面的设计

  用户界面是人机交互的接口。本文采用Linux下常用的界面设计工具Qt来设计应用程序所需的各种UI界面。本文设计的拨打电话、发送短信的界面如图6所示。

  

 

  当点击界面上的按钮如拨号、发送时,利用其信号和槽机制,将其和底层相应的函数如拨号函数、发信函数相关联就可以实现拨号和发送信息的功能。用户就可以利用该界面进行拨打电话和发送短信了。

  3 结语

  本文设计了一种基于嵌入式Linux的智能手机电话短信实验模块。构建了智能手机软、硬件平台,并完成了电话短信的应用程序设计。为学生进行智能手机开发的相关实验提供了平台。目前,本平台已应用于北京化工大学通信实验室创新型实验平台中,并为学生进行智能手机实验进行服务。在后续的设计中,考虑将嵌入式数据库移植到应用程序中以实现电话短信中的名片夹以及收件箱等功能,并开发基于该硬件平台下的其他应用程序如MP3播放等模块以提供给学生进行试实验和学习。

关键字:Linux  智能手机  S3C2410 引用地址:基于嵌入式Linux的智能手机电话短信实验模块

上一篇:支持向量机语音识别算法在OMAP5912上的移植
下一篇:激光雕刻系统步进电机驱动程序的设计

推荐阅读最新更新时间:2024-03-16 13:43

arm-linux异常的返回
之前在这里列出了 几个 几个异常入口,现在要考虑 这些异常入口最终会走到哪里去 将其分为四种情况考虑 // TODO 循环卡死 vector_addrexcptn __dabt_invalid __irq_invalid __pabt_invalid __und_invalid 返回内核空间 __dabt_svc __pabt_svc __und_svc __fiq_abt __irq_svc __fiq_svc 返回用户空间 vector_swi __dabt_usr __fiq_usr __irq_usr __pabt_usr __und_
[单片机]
arm-<font color='red'>linux</font>异常的返回
晶石般剔透美艳:夏普AQUOS S2外观工艺解析
   全面屏设计无疑是智能手机下一步的风向,早在今年8月,回归国内市场的夏普就带来了惊艳的首款异形屏手机:夏普美人尖AQUOS S2。搭载独特的FFD异形全面屏,上方拥有独特的美人尖设计,日系手机在一向喜欢低调“炫技”的风格在AQUOS S2上体现的淋漓尽致。 夏普 AQUOS S2标准版   但就在这看似低调沉稳的颜值上,也隐藏着来自东洋工艺和匠人精神打造的结晶,让你之细看之际,被精致的工艺所打动。事不宜迟,开始我们的上手体验吧!   外观解析:精致剔透,正反都惊艳   作为全球首款搭载5.5英寸FFD异形全面屏的智能手机,AQUOS S2的外观当然是不可不说的地方。在智能手机都标榜自己是“全面屏”的时候,AQUOS S2用独到
[手机便携]
基于S3C2410Linux2.6的无线网络数据采集终端
引言 数据采集技术在工业现场控制、医疗监护、环境检测以及交通监控等领域有着广泛的应用。传统数据采集采用以单片机为核心的设计模式,数据的存储、传输以及实时分析都需要额外的PC的辅助来实现,其成本高、体积大、不便于携带。因此,本文提出基于ARM和Linux的嵌入式数据采集终端。硬件上选用SAMSUNG公司为PDA、Internet设备、手持终端等开发的S3C2410处理器,主频最高可达266MHz,内部提供丰富的外设接口。采用基于2.6内核的嵌入式Linux操作系统,具有易移植裁减、内核小、效率高、性能优异的网络模块等特点,最新的2.6内核在支持嵌入式应用方面做了很大的改进,能够很好的实现电源管理,并提供对IEEE802.11无线协
[单片机]
基于<font color='red'>S3C2410</font>和<font color='red'>Linux</font>2.6的无线网络数据采集终端
基于Linux和EMBEST S3C4510B开发板实现扩展板硬件电路设计
USB设备已经进入我们工作、生活的方方面面,它给我们带来了许多便利。因此,带有USB功能已经成为现在许多系统的一个基本要求。三星公司针对ARM7开发的S3C4510B是目前业界使用非常频繁的一款芯片。它的强大功能使其成为基于诸多传统的51等系列单片机开发思想的终结者。通过对它移植uClinux操作系统,犹如为虎添翼。稳定的Linux系统和强大的S3C4510B硬件紧密结合,形成了一个强大的开发平台,带来了崭新的开发理念。本文采用的是深圳英蓓特公司开发的EMBEST S3C4510B开发板,介绍在这样一个强大的平台上扩展基于CYPRESS公司开发的SL811HS(HOST)的USB-HOST;展示基于这个平台的区别于传统系统开发的崭
[单片机]
基于<font color='red'>Linux</font>和EMBEST S3C4510B开发板实现扩展板硬件电路设计
知名厂商详解如何实现智能手机的电源设计
  近年来不断增多的功能使手机设计面临更严峻的电源管理挑战。本文从电压转换、稳压、闪光灯电路、电池充电等方面分析了未来手机的电源管理设计趋势和各种相应的解决方案。3G手机不仅可以浏览网页、发送电子邮件、拍摄数码相片,甚至能播放视频流。手机制造商正面临越来越大的压力,因为他们必须把这些功能集成进不断缩小的体积内,同时要让手机维持较长的工作时间。   未来3G智能手机电源管理设计趋势分析   不断增多的功能促使手机需要更多不同功率水平的低电压输出电平。一个例子是用于图像处理的应用处理器,它在视频捕获期间需要高达360mw的功率。在满负荷运行时,手机内部系统的负载所需的峰值功率通常将超过4W。这么高的功率会很快耗尽电池的能量。影响电
[电源管理]
知名厂商详解如何实现<font color='red'>智能手机</font>的电源设计
高通如何拿下移动芯片市场?
除了知名的OEM厂商之外,有一家公司借着智能手机的东风得到了飞速的发展,那就是 高通 。这家跨国电信和半导体巨头在无线技术领域发家壮大,其市值目前已经超过了1230亿美元,比英特尔还要高出40亿美元。从率先倡导CDMA到推动LTE并占领整个移动芯片市场,高通显然并不缺乏远见。 高通一直在寻求着下一个发展方向。他们已经开始力推低端芯片,并和中国移动进行合作,为的是在中国市场的发展和即将到来的LTE浪潮当中获利。他们掌握的无数专利也确保了智能手机厂商和网络供应商的“进贡”。在目前的移动处理器市场上,高通显然占据着主导地位。他们的骁龙系列芯片在过去的几年时间里已经被应用于数以百万计的智能手机当中。 那么高通是如何一步步走到如今这
[嵌入式]
ARMLinux s3c2440 之UART分析一
在分析ARM-Linux s3c2440中UART的时有必要先了解 s3c2440A中串口的硬件知识。也就是本文---- 硬件篇: S3c2440A串口提供三个独立的异步串行通信I/O端口(asynchronousserial I/O ports)。每一个串口均可以以普通中断方式或者DMA方式进行数据收发,采用系统时钟时,最大速率为115.2kbps.如果采用外部时钟(UEXTCLK),UART速度可以更快。每个串口包含有2个64-byte的FIFO缓存区用来发送或传输数据。 S3c2440A 串口具有可编程波特率,红外(IR)收发数据,1或者2 位的停止位(stop),5/6/7/8 位数据宽度和奇偶校验功能(parity c
[单片机]
ARMLinux s3c2440 之UART分析一
S3C2410X在无线宽带通信网中的应用
摘要:介绍一款基于ARM920T核的嵌入式微处理器--S3C2410X,利用它的建一个嵌入式系统,实现无线宽度通信的功能,满足目前人们对于无线宽带通信的嵌入式多方面需要。 关键词:无线宽带通信 嵌入式系统 S3C2410X 1 无线宽带通信简介 自1997年IEEE802工作组制定了802-11无线局域网标准,基于WLAN技术的无线宽带通信得到了迅速发展。在短短的六年发展历程中,WI.AN技术不断地发展和成熟,先后推出了802.]lb/a/g协议。基于802.11b协议的无线局域网,工作在2.4GHz频段,采用CCK调制技术,最高数据传输速率能够达到1]Mbps。基于802.1la协议的无线局域网,工作在5GHz频段,采用
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved