1 嵌入式 移动 通信 技术的发展现状
Internet与网络的迅速普及应用, 并向家庭领域不断扩展, 使消费电子、计算机、通信(3C) 一体化趋势日趋明显, 嵌入式系统再度成为研究与应用的热点。
嵌入式系统被描述为: 以应用为中心, 软硬件可裁减的, 适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成, 它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或微控制器(MCU) 组成。相关支撑硬件包括显示卡、存储介质、通信设备、IC 卡或信用卡读取设备等。
嵌入式操作 (real- time embedded operating system,RTOS 或EOS) 是一种实时的、支持嵌入式系统应用的操作系统软件, 它是嵌入式系统( 包括硬、软件系统) 极为重要的组成部分, 通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面。标准化浏览器 Browser 等。
目前, 嵌入式操作系统的品种较多, 据统计, 仅用于信息 电器的嵌入式操作系统就有 40 种左右, 其中较为流行的主要有:Windows CE、Palm OS、Real- Time Linux、VxWorks、pSOS、PowerTV以及 Microware 公司的 OS- 9。与通用操作系统相比较, 嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。象前途无可计量的维纳斯计划生产机顶盒, 核心技术就是采用 32 位以上芯片级的嵌入式技术。在个人领域中, 嵌入式产品将主要是个人商用, 作为个人移动的数据处理和通讯软件。由于嵌入式设备具有自然的人机交互界面, GUI 屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。
目前一些先进的 PDA 在显示屏幕上已实现汉字写入、短消息语音发布, 日用范围也将日益广阔。对于企业专用解决方案, 如物流管理、条码扫描、移动信息采集等, 这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域, 不仅可以用于 ATM 机, 自动售货机, 工业控制等专用设备, 和移动通讯设备结合、GPS、娱乐相结合, 嵌入式系统同样可以发挥巨大的作用。长虹推出的 ADSL产品, 结合网络, 控制, 信息, 这种智能化, 网络化将是家电发发展的新趋势。
硬件方面, 不仅有各大公司的微处理器芯片, 还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究, 已经相对比较成熟, 实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。
我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台 DeltaSystem, 中科院推出的 Hopen 嵌入式操作系统( 虽然还不够完善) 。同时由于是研究热点, 所以我们可以在网上找到各种各样的免费资源, 从各大厂商的开发文档, 到各种驱动, 程序源代码, 甚至很多厂商还提供微处理器的样片。这对于我们从事这方面的研发, 无疑是个资源宝库。对于软件设计来说, 不管是上手还是进一步开发, 都相对来说比较容易。这就使得很多生手能够比较快的进入研究状态, 利于发挥大家的积极创造性。
2 未来嵌入式系统的发展趋势
信息时代, 数字时代使得嵌入式产品获得了巨大的发展契机, 为嵌入式市场展现了美好的前景, 同时也对嵌入式生产厂商提出了新的挑战, 从中我们可以看出未来嵌入式系统的几大发展趋势:
2.1 嵌入式开发是一项系统工程, 因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身, 同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这一点, 在主推系统的同时,将开发环境也作为重点推广。比如三星在推广 Arm7, Arm9 芯片的同时还提供开发板和版及支持包(BSP) , 而 WindowCE 在主推系统时也提供 Embedded VC++作为开发工具, 还有 Vxworks 的Tonado 开发环境, DeltaOS 的 Limda 编译环境等等都是这一趋势的典型体现。当然, 这也是市场竞争的结果。
2.2 网络化、信息化的要求随着因特网技术的成熟、带宽日益提高, 使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一, 结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能, 为了满足应用功能的升级, 设计师们一方面采用更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信号处理器 DSP 增强处理能力, 同时增加功能接口, 如 USB, 扩展总线类型, 如 CAN BUS, 加强对多媒体、图形等的处理, 逐步实施片上系统(SOC) 的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性, 简化应用程序设计、保障软件质量和缩短开发周期。
www.55dianzi.com
2.3 网络互联成为必然趋势
未来的 嵌入式 设备为了适应网络发展的要求, 必然要求硬件上提供各种网络 通信 接口。传统的单片机对于网络支持不足, 而新一代的嵌入式处理器已经开始内嵌网络接口, 除了支持 TCP/IP协议, 还有的支持 IEEE1394、USB、CAN、Bluetooth 或 IrDA 通信接口中的一种或者几种, 同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块, 甚至可以在设备上嵌入 Web 浏览器, 真正实现随时随地用各种设备上网。
2.4 精简系统内核、算法, 降低功耗和软硬件成本
未来的嵌入式产品是软硬件紧密结合的设备, 为了减低功耗和成本, 需要设计者尽量精简系统内核, 只保留和系统功能紧密相关的软硬件, 利用最低的资源实现最适当的功能, 这就要求设计 者选用最佳的编程模型和不断改进算法, 优化编译器性能。因此, 既要软件人员有丰富的硬件知识, 又需要发展先进嵌入式软件技术, 如 Java、Web 和 WAP 等。
2.5 提供友好的多媒体人机界面
嵌入式设备能与用户亲密接触, 最重要的因素就是它能提供非常友好的用户界面。图像界面, 灵活的控制方式, 使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面, 多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的 PDA 在显示屏幕上已实现汉字写入、短消息语音发布, 但一般的嵌入式设备距离这个要求还有很长的路要走。
3 嵌入式系统设计的过程
3.1 嵌入式系统设计的过程
按照常规的工程设计方法, 嵌入式系统的设计可以分成 3 个阶段: 分析, 设计和实现。分析阶段是确定要解决的问题及需要完成的目标, 也常常被称为需求阶段; 设计阶段主要是解决如何在给定的约束条件下完成用户的要求; 实现阶段主要是解决如何在所选择的硬件和软件基础上进行整个软、硬件系统的协调实现。在分析阶段结束后, 开发者通常面临的一个棘手的问题就是硬件平台和软件平台的选择, 因为它的好坏直接影响着实现阶段任务的完成。
通常, 硬件和软件的选择包括处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。在上述选择中, 处理器往往是最重要的, 操作系统和编程语言也是非常关键的。处理器的选择常常会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。
3.2 硬件平台的选择
3.2.1 处理器的选择
嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计, 目前全世界嵌入式处理器的品种总量已经超过 1000 多种, 流行体系有 30 几个系列。但与全球 PC 市场不同的是。没有一种微处理器和微处理器公司可以主导嵌入式系统, 仅以 32 位的CPU 而言, 就有 100 种以上嵌入式微处理器。由于嵌入式系统设计的差异性很大, 因此选择是多样化的。ARM 是近年来在嵌入式系统有影响力的微处理器架构,ARM的设计非常适用于小型的嵌入式设备。
3.2.2 硬件选择的其它因素
首先, 需要考虑的是生产规模。如果生产规模比较大, 可以自己设计和制备硬件, 这样可以降低成本。反之, 最好从第三方购买主板和 I/O 板卡。
其次, 需要考虑开发的市场目标, 如果想使产品尽快发售, 以获得竞争力, 就要尽可能购买成熟的硬件。反之, 可以自己设计硬件, 降低成本。
另外, 软件对硬件的依赖性, 即软件是否可以在硬件没有到位的时候并行设计或先行开发也是硬件选择的一个考虑因素。
最后, 只要可能, 尽量选择使用普通的硬件。在 CPU 及架构的选择上, 一个原则是: 只要有可替代的方案, 尽量不要选择 LINUX尚不支持的硬件平台。
3.3 软件平台的选择
嵌入式软件的开发流程, 主要涉及代码编程、交叉编译、交叉连结、下载到目标板和调试等几个步骤, 因此软件平台的选择也涉及操作系统、编程语言和集成开发环境 3 个方面。
3.3.1 操作系统的选择
硬件方案确定之后, 操作系统的选择就相对轻松了。硬件的不同, 会影响操作系统的选择。低端无存储器管理单元的 CPU, 要使用 UCLINUX 操作系统, 常用的嵌入式操作系统有: LINUX、WINCE、YORNADE/VXWORKS等。
www.55dianzi.com
3.3.2 编程语言的选择
在 嵌入式 系统开发的过程中使用的语言种类很多。比较广泛应用的高级语言有 ADA, C/C++, JAVA 和 C# 等。ADA 语言定义严格。易读易懂, 有较丰富的库程序支持。目前在国防, 航空, 航天等相关领域应用比较广泛, 未来仍将在这些领域占有重要地位。C语言具有广泛的库函数支持, 目前在嵌入式系统中是应用最广泛的编程语言, 在将来很长一段时间内仍将在嵌入式系统应用领域占重要地位。