1、嵌入式系统智能手机(PDA)设计方案一 、 前 言随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通信的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在PC 上实现的应用,现在都可以在手持设备上实现。目前,市面上的智能手机主要采用 Microsoft 公司的 Pocket PC、Palm OS 等商用操作系统,但这些操作系统开放的程序不够高,限制了许多第三方应用软件的移植。为使智能手机能够为第三方应用软件提供一个更为开放的嵌入式平
2、台,本人对智能手机系统做了比较深入的研究,提出一种以 Linux 作为嵌入式操作系统、Motorola 的 MX1 作为微处理器、以 Wavecom 的 Q2403A 作为射频模块的智能手机系统的设计与实现。二 、 智 能 手 机 (PDA)简 介PDA 是 Personal Digital Assistant 的缩写,字面意思是“个人数字助理” 。这种手持设备集中了计算,电话,传真,和网络等多种功能。它不仅可用来管理个人信息(如通讯录,计划等),更重要的是可以上网浏览,收发 Email,可以发传真,甚至还可以当作手机来用。尤为重要的是,这些功能都可以通过无线方式实现。当然,并不是任何 PDA
3、 都具备以上所有功能;即使具备,也可能由于缺乏相应的服务而不能实现。但可以预见,PDA 发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。PDA 一般都不配备键盘,而用手写输入或语音输入。PDA 所使用操作系统主要有 Palm OS,Windows CE 和 EPOC。三 、 个 人 PDA 需 求 分 析作为 3C 融合到一个终端典范的智能手机,除了实现通讯功能外,还可以实现很多计算机和消费电子产品的功能,而且体积小,具有便携性和多功能性的双重优势,通过安装应用软件后,能随时随地的满足不同消费者的差异化需求,因而具有其他产品不可替代的独特优势。IC 技术的进步为智能手
4、机的研发实现提供了可能,为了缩短产品设计周期而存在先进 SOC 设计理念, 65nm 乃至更窄线宽制程技术, BGA、CSP、MCP和 SI 先进封装技术和理念都为智能手机的技术进步、功能实现和性能提升提供了强有利的支撑。3G 即将启动,带宽的显著提升,为智能手机的许多新功能流畅实现、性能提升提供了强有力的保证。如拥有 DMB(数字多媒体广播)功能的智能手机在2G 和 2.5G 上很难实施,即使实施,效果也会差很多,画面清晰度、播放流畅性都令人质疑,而这一切在 3 G 网上都不是问题。智能手机正面临着前所未有的发展机会和便利,随着消费者认知程度的提高和使用习惯的养成,智能手机在整个手机市场销售
5、份额将显著提升,未来 5年内,将会从目前的 6%左右提升到 20%以上,伴随而来的将是智能手机产业链各个环节的巨大商业机会。四 、 智 能 手 机 (PDA)系 统 的 硬 件 设 计主要参数:CPU: ARM920T 200MHz(Motorola MC9328MXL);显示: AU 3.5“ Reflective TFT LCD with LED front light 65,536 色;ROM: 32MB Flash;RAM: 64MB SDRAM;音效: 内置单声道麦克风、内置单声道扬声器、立体声耳机插口;触屏:电阻式触摸屏;SD/MMC: 1 个 SD 卡插槽,MMC Ver3, 1
6、.0 标准 SDMC;USB: USB 2.0 主,从口;红外:IrDA, 115Kpbs;串口:RS-232 口;LED: 红(在充电指示)、绿(软件运行或电池故障指示)电源管理:Full featured - Sipports Run, Idle and Sleep modes复位:设置复位开关;电池:3.7V 锂离子电池物理尺寸:主板尺寸为 65x53x5.5mm电源适配器:5V 直流;外部连接器:Possible integration、CF 卡、Sensor、Bluetooth、SIM Card、其他智能手机系统的硬件设计如图 1 所示。该设计采用 Motora 公司的 MX1(MC
7、9328)高性能的 32 位微处理器、Wavecom 公司的 Q2403A 无线收发模块等实现智能手机的 GSM 通话、GPRS 上网及其它 PDA 应用等功能。1 微处理器MC928MX1(以下简称 MX1)是摩托罗拉公司基于 ARM 核心的第一款 MCU,主要面向高端嵌入式应用。内部采用 ARM920T 内核,并集成了 SDRAM/Flash、触摸式 LCD、USB、蓝牙(bluetooth)、多媒体闪存卡(MMC)、CMOS 摄像头等控制器。关于 MX1 的详细资料,感兴趣的读者可以参考 http:/ RAM(程序运行空间)、Flash(存放目标代码)和串行接口(用于调试和下载程序)。M
8、X1 提供了 6 个片选端(CS0CS5),内置了 SDRAM 控制器,数据宽度 32 位。在本系统中采用了 2 片 8M16 位的 SDRAM 和 2 片 4M16 位的同步 Flash 存储器,分别接入数据线的低 16 位和高 16 位。2 存储器系统存储器的物理实质是一组或多组具备数据输入输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。存储器按存储信息的功能可分为只读存储器 ROM(Read Only Memory)和随机存储器 RAM(Random Access Memory)。嵌入式系统中的固态存储一般不用 E2PROM,而用 Flash 存储器。下图为存储器系
9、统的组成:下图为 Flash 存储器部分的原理图:SD 存储卡电路:3 电 源 、 时 钟 和 复 位 电 路1. 电源电源部分为整个系统提供电力。电源部分的关键问题是低功耗的设计问题,低功耗的措施一般有:降低电压、降低时钟频率、选择低功耗器件等等。本系统电源的提供有电池供电和市电供电两种。电池供电功耗低、供电稳定、扛干扰能力好,但峰值性能不好。市电供电要有相应的 AC-DC 的适配器,并在系统上配置相应的线性稳压器进行 DC-DC 转换。下图为系统电源电路部分原理图:2. 时钟时钟信号的产生常用的有 RC 时钟、晶体振荡时钟、锁相环倍频时钟等。该系统中选择 OM3:2均接地的方式,即采用外部
10、振荡器提供系统时钟。外部振荡器由 12MHz 晶振和 2 个 15pF 的微调电容组成。2. 时钟时钟信号的产生常用的有 RC 时钟、晶体振荡时钟、锁相环倍频时钟等。该系统中选择 OM3:2均接地的方式,即采用外部振荡器提供系统时钟。外部振荡器由 12MHz 晶振和 2 个 15pF 的微调电容组成。下图为时钟电路部分原理图:3. 复位复位电路的设计常用的有 RC 复位、专用电路复位、软件复位等。下图为复位电路部分原理图:系统初始化时对时钟的操作:系统的初始化程序代码,应对系统硬件进行初始化检测电源部分,应根据实际系统的需求设置掉电模式和关闭唤醒的代码时钟部分要根据需求设置锁相环,参考代码如下
11、:ldr r0,=LOCKTIMEldr r1,=0xffffffstr r1,r0ldr r0,=MPLLCONldr r1,=(M_MDIV12)+(M_PDIV4)+M_SDIV) ;Fin=12MHz,Fout=50MHzstr r1,r04 LCD 模 块LCD( Liquid Crystal Display)显示器即常说的液晶显示器,具有耗电省、体积小等特点,被广泛应用于嵌入式系统中。常见的 LCD 有 TN(Twist Nematic)、STN、TFT(Tin Film Transistor)等。LCD 的主要参数有分辨率、背光、接口、色彩、刷新率等。LCD 控制器功能模块图:接
12、到 LCD 的线都经过了 74LVC16245 进行驱动:LCD 控制器硬件连接:5.以太网接口芯片以太网是由 Xeros 公司开发的一种基带局域网技术,最初使用同轴电缆作为网络媒体,采用载波多路访问和碰撞检测(CSMA/CD)机制,数据传输速率达到 10Mbps。虽然以太网是由 Xeros 公司早在 20 世纪 70 年代最先研制成功的,但是如今以太网一词更多的被用来指各种采用 CSMA/CD 技术的局域网。以太网被设计用来满足非持续性网络数据传输的需要,IEEE 802.3 规范则是基于最初的以太网技术于 1980 年制定。以太网版本 2.0 由 Digital Equipment Cor
13、poration、Intel、和 Xeros 三家公司联合开发,与 IEEE 802.3 规范相互兼容。在 Internet 网络中,以太网可以算是应用最广泛的数据链路层协议了。现在的操作系统均能够同时支持这种类型的协议格式。从硬件的角度看,以太网接口电路主要由 MAC 控制器和物理层接口(Physical Layer,PHY)两大部分构成,目前常见的以太网接口芯片,如 RTL8019、RTL8029、RTL8139、CS8900、DM9000 等,其内部结构也主要包含这两部分。本系统采用 CS8900 芯片。基于 CS8900A 的以太网接口设计:RJ45 接口信号定义,以及网线连接头信号安
14、排 以太网 10/100Base-T 接口: 1 TX+ Tranceive Data+ (发信号+) 2 TX- Tranceive Data- (发信号-) 3 RX+ Receive Data+ (收信号+) 4 n/c Not connected (空脚) 5 n/c Not connected (空脚) 6 RX- Receive Data- (收信号-) 7 n/c Not connected (空脚) 8 n/c Not connected (空脚)嵌入式系统中的网络协议:一般用户的网络应用程序开发在应用层完成,底层利用操作系统提供的现成的网络协议栈。CS8900A 的连接CPU
15、 部分:6 USB 总 线 接 口niversal Serial Bus 通用串行总线)是由 Compaq、HP、Intel 、Lucent (朗讯) 、Microsoft 、NEC 和 Philips 七家公司联合推出的新一代标准接口总线。该总线是一种连接外围设备的机外总线,最多可连接 127 个设备,为微机系统扩充和配置外部设备提供了方便。USB 规范有多种版本,最早的版本是 1994 年 11 月推出的 USB 0.7 版 。 1996 年 1 月推出了标准版本 USB l.0,目标是为中低速的外围设备提供双向、低成本的总线,数据传输率最高为 12Mb/s。 随着微机系统及其外设性能和功
16、能的增强,需处理的数据量越来越大,2000 年 4 月又推出了新的 USB 规范USB 2.0。在新版本中,增加了一种 480Mb/s 的数据传输率,以满足日益复杂的高级外设与 PC 机之间的高性能连接需求。USB2.0 是 USB 的自然升级,它在保留原有 USB 规范的基础上又提供了更高的带宽,并且与现有的外设保持完全兼容。这里采用的是 USB2.0 接口。7 音 频 输 出 和 麦 克 风 电 路 下图为音频电路部分原理图:下图为麦克风电路部分原理图:8 无 线 收 发 模 块本系统采用 WAVECOM 公司的专用无线收发模块。它是双频 GSM 模块(EGSM900/1800MHz) ,
17、其设计及开发符合 ETSI GSM Phase 2+标准。具有话音、GSM 电路数据/传真、GPRS 分组数据、短消息等功能。该模块支持 AT 指令集,通过 RS232 与 MX1 通信。五 、 智 能 手 机 (PDA)系 统 的 软 件 设 计系统分析和软件设计是智能手机系统实现的难点之一,设计的优劣关系到系统的稳定性、扩展性等。因为要兼顾到 GSM 语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。系统设计将软件分为三层结构,如图 2 所示。最下面一层为操作系统层,主要实现对Linux 操作系统的移植,其中包括 Bootloader 引导程序、LC
18、D 等设备的驱动程序。中间层为服务程序层,该层主要包括 GUI 服务器以及 GSM/GPRS 控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。1 嵌 入 式 Linux 操 作 系 统Linux 最 初 是 由 Linux Torvalds 编 写 及 发 布 的 源 代 码 公 开 、 可免 费 使 用 的 操 作 系 统 。 后 来 , 又 通 过 Internet 上 成 百 上 千 的 程 序员 的 加 入 , 使 Linux 成 为 一 个 几 乎 支 持 所 有 主 流 32 位 CPU
19、 的 操作 系 统 。 其 特 点 主 要 有 : 内 核 高 效 稳 定 、 公 开 源 代 码 、 可 移 植 性 、 可裁 减 、 支 持 多 任 务 等 。本 设 计 中 采 用 的 Linux 内 核 是 ARM-Linux 基 础 上 , 编 写 符 合硬 件 设 计 的 引 导 程 序 及 电 源 管 理 控 制 程 序 ; 并 针 对 本 系 统 的 硬 件 设 计, 编 写 了 LCD、 触 摸 屏 等 硬 件 设 计 驱 动 程 序 。智 能 手 机 基 于 Linux 操 作 系 统 工 作 时 , 首 先 初 始 化 CPU; 然后 加 载 各 个 设 备 驱 动 程
20、序 , 初 始 化 存 储 器 及 外 围 设 备 ; 最 后 启 动 各 服务 程 序 , 进 入 待 机 状 态 。2 服 务 程 序 的 设 计智 能 手 机 系 统 中 的 服 务 程 序 主 要 有 GUI Server 和 GSM/GPRS Server, 它 们 是 上 层 应 用 赖 以 实 现 的 基 础 。GUI Server为 使 系 统 能 够 很 好 地 支 持 浏 览 器 及 MMS 等 界 面 复 杂 的 应 用 ,具 有 良 好 的 可 扩 展 性 , 本 系 统 中 的 GUI Server 设 计 采 用 了 客 户机 /服 务 器 模 式 , 并 以 动
21、态 链 接 库 的 形 式 对 图 形 设 备 接 口 进 行 封 装 , 具体 如 图 3 所 示 。服 务 进 程 与 应 用 进 程 之 间 采 用 Linux 提 供 的 消 息 队 列 进 行 通 信。 服 务 进 程 保 存 系 统 GUI 环 境 的 描 述 信 息 , 为 应 用 进 程 提 供 注册 及 一 些 计 算 任 务 , 如 计 算 当 前 剪 切 域 内 容 等 。 此 外 , 还 负 责 显示 桌 面 。 应 用 程 序 的 启 动 后 , 首 先 与 服 务 进 程 建 立 连 接 并 进 行 交 互 ,将 自 身 的 一 些 描 述 信 息 发 送 到 服
22、务 进 程 。服 务 进 程 和 应 用 进 程 通 过 调 用 动 态 库 实 现 基 本 窗 口 显 示 功 能。 其 中 窗 口 树 与 剪 切 域 都 定 义 在 动 态 库 中 , 对 于 服 务 进 程 或 应 用 程序 而 言 , 它 们 是 透 明 的 , 不 需 要 进 行 管 理 。 因 服 务 进 程 与 客 户 进 程 分别 运 行 在 不 同 的 进 程 空 间 中 , 所 以 虽 然 在 动 态 库 中 定 义 了 相 同 的 数 据, 但 它 们 之 间 不 会 产 生 任 何 冲 突 。设 计 对 动 态 库 中 封 装 的 函 数 进 行 了 分 层 。 其
23、中 直 接 针 对 Framebuffer 进 行 输 出 的 函 数 位 于 系 统 最 低 层 , 其 上 是 设 备 上 下 文 。 因 每次 对 一 个 窗 口 输 出 的 时 都 要 首 先 建 立 设 计 上 下 文 , 所 以 设 备 上 下 文 总可 以 引 用 窗 体 结 构 , 自 然 也 可 以 引 用 到 窗 口 剪 切 域 , 在 剪 切 域 范 围 内才 可 以 进 行 输 出 。图 形 设 备 接 口 建 立 在 设 备 上 下 文 之 上 , 主 要 包 括 点 、 线 、 面 、 文本 等 。 如 上 文 所 述 , 输 出 之 前 , 首 先 建 立 设 备
24、 上 下 文 , 即 其 输 出 的 目标 是 设 备 上 下 文 , 而 不 是 窗 口 。图 形 设 备 接 口 的 上 层 是 应 用 开 发 接 口 即 API 层 , 桌 面 进 程 与客 户 进 程 都 通 过 调 用 API 函 数 实 现 系 统 功 能 。另 外 , 系 统 建 立 了 输 入 的 抽 象 层 , 屏 蔽 了 不 同 输 入 设 备 。GSM/GPRS Server 多 工 通 信 服 务 器 软 件GSM/GPRS Server 多 工 通 信 服 务 器 软 件 是 电 话 、 短 信 及 数据 业 务 的 守 护 进 程 , 负 责 响 应 应 用 程
25、序 转 发 的 用 户 操 作 事 件 及 从串 口 的 获 得 的 无 线 通 信 模 块 事 件 , 是 整 个 智 能 手 机 系 统 的 核 心 。在 这 部 分 的 工 作 中 要 实 现 多 链 路 的 数 据 通 信 、 事 件 优 先 级 判 别 ,并 在 执 行 数 据 通 信 时 , 保 证 电 话 、 短 信 的 接 入 。 具 体 程 序 设 备 结构 如 图 所 示 。3 机 系 统 中 的 应 用 程 序 设 计有 了 中 间 层 的 服 务 程 序 , 上 层 应 用 程 序 可 以 根 据 GUI Server 及 GSM/GPRS Server 提 供 的 接
26、 口 进 行 移 植 和 开 发 。 本 设 计 中 实 现了 电 话 控 制 程 序 、 短 信 收 发 的 管 理 及 数 据 精 力 的 应 用 等 。 下 面 以 电 话控 制 程 序 为 例 , 介 绍 智 能 手 机 应 用 程 序 的 设 计 与 实 现 。本 人 将 电 话 控 制 程 序 设 计 分 为 三 个 运 行 态 : PowerOn State(上 电 态 )、 Idle State(空 闲 态 )、 Execution State(执 行 态 )。 图5 表 示 了 三 个 状 态 之 间 的 关 系 和 进 入 各 个 状 态 的 条 件 。电 话 控 制 程
27、序 在 智 能 手 机 系 统 上 电 复 位 、 GSM/GPRS Server启 动 后 , 进 入 Power-on State(上 电 态 )。 在 上 电 态 , 程 序 首 先进 行 初 始 化 工 作 , 与 GSM/GPRS Server 通 信 , 获 得 系 统 状 态 。 初始 化 后 , 即 进 入 Idle State(空 闲 态 )。 在 空 闲 态 , 程 序 循 环 等 待 GSM/GPRS Server 的 呼 入 事 件 及 来 自 键 盘 的 呼 出 事 件 ; 当 这 些 事 件 发生 时 , 程 序 进 入 Execution State(执 行 态
28、)。 在 执 行 态 , 用 户 进 行语 音 通 信 , 通 话 结 束 后 , 程 序 又 回 到 空 闲 态 。本 系 统 设 计 成 功 地 应 用 于 实 际 工 程 项 目 中 , 其 可 行 性 和 实 用 性 已在 实 际 应 用 环 境 中 得 到 检 验 。 下 一 步 , 可 将 系 统 的 CPU 主 频 进一 步 提 高 , 无 线 通 信 模 块 也 可 换 成 符 合 3G 标 准 的 。 这 样 , 就 可 以在 本 系 统 设 计 的 基 础 上 , 实 现 更 为 广 泛 的 手 持 设 备 应 用 。六 、 总 结采 用 ARM 技 术 知 识 产 权 (
29、 IP) 核 的 微 处 理 器 , 已 遍 及 工 业 控 制、 消 费 类 电 子 产 品 、 通 信 系 统 、 网 络 系 统 、 无 线 系 统 等 各 类 产 品 市 场。 作 为 一 种 16/32 位 的 高 性 能 、 低 成 本 、 低 功 耗 的 嵌 入 式 RISC微 处 理 器 , ARM 微 处 理 器 目 前 已 经 成 为 世 界 上 应 用 最 为 广 泛 的 嵌 入式 微 处 理 器 。 通 过 这 次 嵌 入 式 系 统 智 能 手 机 (PDA)设 计 方 案 , 使我 们 具 备 一 定 微 机 原 理 基 础 的 学 生 掌 握 开 发 嵌 入 式
30、系 统 的 多 方 面 知 识, 从 而 初 步 具 备 设 计 开 发 基 于 ARM 处 理 器 系 统 的 能 力 。 在 这 里 是衷 心 感 谢 我 们 的 黄 建 华 老 师 在 课 堂 上 给 我 们 带 来 如 此 生 动 的 教 学 , 在他 的 帮 助 下 让 我 认 识 到 嵌 入 式 系 统 这 学 科 的 重 要 性 , 让 我 感 受 到 在 开发 嵌 入 式 系 统 的 过 程 中 体 会 到 不 少 乐 趣 。 但 是 在 短 短 的 10 周 的内 学 习 嵌 入 式 系 统 这 门 课 是 远 远 不 够 的 ,嵌 入 式 系 统 的 理 论 和 技 术正 在 日 新 月 异 地 发 展 ,这 更 加 要 我 们 在 以 后 的 学 习 和 工 作 中 不 断 去 探索 不 断 去 完 善 ,另 外 由 于 水 平 有 限 再 加 上 时 间 仓 促 ,文 中 难 免 有 不妥 或 错 误 之 处 。 希 望 老 师 能 多 多 包 涵 。 我 相 信 只 有 负 出 了 努 力 , 没 有收 不 到 的 果 实 。 我 希 望 学 习 嵌 入 式 系 统 这 门 学 科 也 一 样 ! 愿 与 努 力 在嵌 入 式 系 统 开 发 前 沿 的 学 者 一 起 共 勉 !