1嵌入式系统原理--嵌入式系统设计实例第9章嵌入式系统设计实例2嵌入式系统原理--嵌入式系统设计实例9.1概述嵌入式系统产品多种多样,应用在各行各业,如家用电器、工业控制装置、军事装备等。本章结合几个应用和设计案例,讲述嵌入式系统产品的组成和设计方法。这些系统产品案例如下。(1)智能手机:分析了智能手机的原理和设计过程,对典型应用型进行了设计。(2)GPS接收机:分析了基于ATMEL的ARM内核的GPS接收机的设计、电路组成。(3)防火墙设备:介绍了防火墙基本概念和功能,分析了防火墙的硬件组成。(4)信息家电:信息家电的种类很多,目前也在不断地发展和完善中,这里主要对信息家电的种类和功能作了介绍,并分析了信息家电的相关实现技术。(5)医用灭菌控制仪:介绍嵌入式医用灭菌控制仪的设计和分析。(6)数字电视机顶盒:主要分析和介绍数字电视机顶盒方面的知识,并给出具体实例。(7)造纸机控制器:分析了基于ARM技术的嵌入式系统应用于工业控制的设计过程和设计方法。3嵌入式系统原理--嵌入式系统设计实例9.2*智能手机设计9.2.1概述随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通信的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在PC上实现的应用,现在都可以在手持设备上实现。目前,市面上的智能手机主要采用Microsoft公司的PocketPC、PalmOS等商用操作系统,但这些操作系统开放的程度不够高,限制了许多第三方应用软件的移植。4嵌入式系统原理--嵌入式系统设计实例1.智能手机简介PDA是PersonalDigitalAssistant的缩写,字面意思是“个人数字助理”。这种手持设备集中了计算,电话,传真,和网络等多种功能。它不仅可用来管理个人信息(如通讯录,计划等),更重要的是可以上网浏览,收发Email,可以发传真,甚至还可以当作手机来用。尤为重要的是,这些功能都可以通过无线方式实现。当然,并不是任何PDA都具备以上所有功能;即使具备,也可能由于缺乏相应的服务而不能实现。但可以预见,PDA发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。PDA一般都不配备键盘,而用手写输入或语音输入。PDA所使用操作系统主要有PalmOS,WindowsCE和EPOC。5嵌入式系统原理--嵌入式系统设计实例2.市场需求作为3C融合到一个终端典范的智能手机,除了实现通讯功能外,还可以实现很多计算机和消费电子产品的功能,而且体积小,具有便携性和多功能性的双重优势,通过安装应用软件后,能随时随地的满足不同消费者的差异化需求,因而具有其他产品不可替代的独特优势。IC技术的进步为智能手机的研发实现提供了可能,为了缩短产品设计周期而存在先进SOC设计理念,65nm乃至更窄线宽制程技术,BGA、CSP、MCP和SI先进封装技术和理念都为智能手机的技术进步、功能实现和性能提升提供了强有利的支撑。3G即将启动,带宽的显著提升,为智能手机的许多新功能流畅实现、性能提升提供了强有力的保证。如拥有DMB(数字多媒体广播)功能的智能手机在2G和2.5G上很难实施,即使实施,效果也会差很多,画面清晰度、播放流畅性都令人质疑,而这一切在3G网上都不是问题。智能手机正面临着前所未有的发展机会和便利,随着消费者认知程度的提高和使用习惯的养成,智能手机在整个手机市场销售份额将显著提升,未来5年内,将会从目前的6%左右提升到20%以上,伴随而来的将是智能手机产业链各个环节的巨大商业机会。6嵌入式系统原理--嵌入式系统设计实例3.PDA硬件组成不同厂家生产的PDA的硬件配置大体相同,所不同的只是硬件的性能指标。PDA的硬件通常包括。(1)嵌入式处理器:目前高端产品一般采用60~360MIPS之间的基于RISC的32位CPU,低端产品一般采用16位或准32位的嵌入式处理器。这些处理器的共同点是低功耗,高集成度。(2)内存:使用的内存主要是RAM和Flash。RAM用于存放动态的数据,Flash用于存放程序和文件。较新的产品大都设计了Flash存储器插槽,以此来扩充内存和文件系统。(3)显示:采用液晶显示器件,分为黑白显示和彩色显示,具有背光装置,高端PDA设计了VGA显示接口。(4)输入:大多采用触摸屏和手写笔输入结合的方式。有的配置有键盘,但通常每个键比常规键盘的键小且排列紧密;另外,有的PDA配置了外接键盘接口,可以连接计算机的标准键盘。随着技术的成熟,语音输入也得到越来越多的应用。(5)通信功能:通信功能包括两方面,PDA的网络功能、PDA与其他装置的接口。这些接口包括红外接口IRDA和串口等,其中串口可接外置Modem、内置Modem或软件Modem,也可方便地连上Internet,收发E-mail等。另外,USB接口也成为PDA通信的一个重要选择。(6)网络功能:如无线网接口、手机上网卡接口等7嵌入式系统原理--嵌入式系统设计实例4.PDA的软件配置PDA软件主要包含两部分:操作系统和应用软件。PDA的操作系统采用嵌入式操作系统,包括操作系统内核、文件系统、人机界面、网络组件等部分,是PDA软件系统的核心。目前虽然有众多可供PDA选择的操作系统(包括一些厂家的专用操作系统),但按市场占有率统计,主要有3类:3COM公司的PalmOS、Microsoft公司的WindowsCE以及英国的Psion公司的操作系统Epoc32,现在嵌入式Linux操作系统在PDA上得到了广泛的应用。PDA的丰富功能主要体现在应用软件上,现在,许多应用软件己标准化了,体现在软件厂商除了提供操作系统外,也提供应用软件组件。推动PDA应用的另一关键因素就是大量应用软件的研制。例如,为促进WindowsCE的推广,Microsoft推出了PocketPC(应用软件)软件包。该软件包在WindowsCE3.0的基础上,集成了Microsoft公司享誉全球的Office软件(PocketOffice)和Internet浏览器(PocketIE),并配备了强大的多媒体功能(录音、MediaPlayer、Reader等)。也有很多智能手机在应用WinCE的整合产品WinMobile5.0操作系统,比如多普达的838。顺便说一下,目前Linux上丰富的应用软件资源和开放源码,使得开发基于Linux系统的PDA具有性能价格比高的优势。除基本的应用软件开发,人们还为PDA开发了许多面向特定行业的应用软件系统,如面向股民的掌上股票分析系统,面向网络用户的上网软件和聊天系统,服务于医药卫生及保险等行业的医务和保险管理系统、警察PDA系统、工业组态工具PDA(有时称为手持终端)等。8嵌入式系统原理--嵌入式系统设计实例9.2.2S3C44B0X为处理器的PDA设计1.硬件构成本设计的目标是一台用于空间信息服务的PDA原型,基本上就可以认为是一台具有自定位和通信能力的PDA。因此,处理器的选型就集中在PDA的需求上。选择了Samsung公司的S3C44B0X处理器,该处理器是一款ARM7系列的处理器,工作频率66MHz,片上集成8KBcache、存储控制器、LCD控制器、4通道DMA、2通道UART、1通道I2C、1通道I2S、5通道PWM定时器、1通道内部定时器、看门狗、8通道10位ADC、71个通用I/O口(复用)、8通道外中断源、RTC和片上时钟产生器。选择这块处理器的原因有以下几点:◆这块芯片含有非常丰富的片上资源,几乎所有常用的芯片级总线结构都有对应的硬件控制器,在做外围扩展时非常方便。◆66MHz的工作主频对应的信号上升时间在2ns左右,对应的集总模型尺寸分界点为60cm,而实际设计中最大板子的尺寸为17cm×11cm,因此不用过多的考虑分布效应的影响,减少了设计的难度。◆S3C44B0X是目前国内使用较为普遍的ARM处理器,有较为丰富的资源可以参考,同时,采购比较方便,成本亦较低。9嵌入式系统原理--嵌入式系统设计实例系统核心部分的框图如图9-1所示。图9-1硬件构成框图MCUS3C44B0xSDRAMFlash扩展插座系统时钟、RTCReset、JTAGRS232电平转换10嵌入式系统原理--嵌入式系统设计实例2.硬件电路设计对于一个典型的PDA,硬件上的基本要求有大容量的存储器、各种通信接口和方便易用的用户I/O系统等。在硬件设计上就必须达到这些要求,才能提高PDA的通用性和实用性等。1)存储系统现在主流PDA上所配备的RAM和ROM数量,往往非常的巨大,iPAQh3950上的RAM和ROM数分别为64M和32M。当然,从处理器的选择上就可以看到,作者所要设计的PDA,相比主流产品,处理能力要差许多,因此也不必配备那么多的存储器,因此最后的选择为RAM32M,ROM2M。RAM使用的是现代的HY57V28162016bitSDRAM,ROM则采用SST的SST39VF160FLASH和ATMEL的AT24C08EEPROM。2)Reset电路和JTAGReset电路的作用是提供Reset信号使系统复位,在本设计中,Reset信号有两种:SystemReset和CoreReset,SystemReset使系统所有部件都复位,包括MCU核和各种外围控制器,而CoreReset则只复位MCU核,外围控制器保持原状态。原始的Reset电平由ADM708复位芯片产生。在本设计中,通过MM74HC125将ADM708输出的CMOS电平转换为三态输出,这种做法的原因是JTAG接口也会产生Reset信号,所以在ADM708工作完毕后,将输出通过HC125变成高阻态,把控制权交给调试装置控制。11嵌入式系统原理--嵌入式系统设计实例3)其他外围电路以上的电路只是核心的部分,有了这些电路支撑,ARM芯片就基本上可以开始工作了(核心部分的其它电路,如时钟,Endian设置,模式设置等等由于电路比较简单,就不给出具体电路形式了),然而,作为一个真正有实用价值的嵌入式系统,真正使系统发挥作用的是各种各样的外设。对于嵌入式系统,扩展外设的方式不外乎两种:并行的和串行的。在并行方式下,外设直接挂载在系统的存储器总线上,通过片选信号和一些译码电路将外设的内部寄存器映射到系统的某段地址上,然后,对外设的访问就和对存储器的访问基本一致了。如果外设的速度和MCU不匹配,则通过WAIT信号进行总线扩展。这种方式对于数据量较大、速度较快的外设是比较适合的,但是系统连接的信号线非常多,对布板的压力较大。在串行方式下,外设通过为数较少的几根线同MCU相连。这种方式在8位机(如51)的环境中使用非常普遍,但是,对于32位的系统,这种方式的使用却受到一定的限制。在典型的ARM处理器中,会提供不少通用的串行总线控制器,如I2C、I2S、UART等等。对于符合这种总线规范的外设而言,使用十分方便,直接相连就可以了。但是,对于一些不太规范的芯片,没有直接的硬件控制器可以使用,只能使用I/O引脚进行软件模拟。这种方式在8位单片机中十分常见,但是在ARM环境中,这种方法效率很低,尤其在抢占式调度(如μC/OS)的操作系统中,软件定时的准确性和系统关中断的时间之间的矛盾非常显著,几乎无法兼顾。所以,在使用操作系统的ARM嵌入式系统中,尽量避免使用数据量较大的非标准串行外围芯片12嵌入式系统原理--嵌入式系统设计实例9.2.3军用PDA设计有的PDA是应用于某一专用的范围或专业的用途,有的为了简单的记事、打电话或玩掌上游戏而设计的等。对于那些对可靠性、安全性和保密性要求较高的应用,就需要专门的可靠性设计,比如军事上使用的用于作战或指挥的PDA系统。军用PDA需要将卫星定位、无线通信、图像摄取传送等等功能集于一体,对于高科技战争中各作战个体至关重要,国外一些国家早已从事相关技术