1、智能家电与智能家居第三章 嵌入式系统与信息家电z 3.1嵌入式技术z 3.2 嵌入式处理器z 3.3 嵌入式操作系统z 3.4 嵌入式系统选型原则goReader Internet eBookSamsung AnyWebInternet Screen Phone3.1嵌入式技术嵌入式系统与普通 PC机之间的区别嵌入式系统 普通 PC机任务专用于特定的任务 一个通用计算平台成本极其关注 一般实时性有实时性约束,采用实时操作系统无实时性约束,采用桌面应用操作系统资源少充足开发专门的工具和调试电路在PC 机上直接开发3.2 嵌入式处理器z 嵌入式系统的核心部件是各种类型的嵌入式处理器。目前据不完全统
2、计,全世界嵌入式处理器的品种已经超过1000 种,流行体系结构有30多个系列,其中以ARM 、PowerPC、MC68000 、MIPS 等使用得最为广泛。z 嵌入式处理器包括:嵌入式微控制器(MCU),嵌入式DSP处理器,嵌入式微处理器(MPU) ,嵌入式片上系统(system on chip)。主要是指单片机片内集成ROM/EPROM、RAM、FLASH/EEPROM、总线、定时器、计算器、看门狗、I/O、串行口、PWM(脉宽调制输出)、A/D 、D/A等各种必要功能和外设一般来讲具有以下特点:可单片完成功能,片内可有ROM /RAM /FLASH,并带所需的通信接口,I/O等,外设资源丰
3、富,适于控制体积小,功耗低,成本低,可靠性高嵌入式微控制器仍是嵌入处理器主流,占70左右。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。由通用计算机的CPU发展而来。与通用CPU 区别:只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,以最低功耗和资源实现嵌入式应用的特殊要求。与工业控制计算机相比,嵌入式处理器体积小、重量轻、功耗低、成本低、可靠性高嵌入式微处理器MIPS、X86 系列、ARM系列、 PowerPC系列 、SPARC 、68000,SC-400等DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FF
4、T、谱分析等各种仪器上DSP 获得了大规模的应用。1982年世界上诞生了首枚DSP 芯片。在语音合成和编码解码器中得到了广泛应用。 DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。嵌入式 DSP处理器目前最为广泛应用的嵌入式DSP 处理器是TI 的TMS320C2000/C5000系列,另外如Intel 的MCS-296和Siemens 的TriCore也有各自的应用范围SoC嵌入式系统微处理器就是一种电路系统。它结合了许多功能区块,将功能做在一个芯片上,微处理器核心,加上通信的接口单元,像通用串行端口(USB )、TCP/IP通信单元、GPRS通信接口、GSM通信接
5、口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。由于SOC 往往是专用的,所以大部分都不为用户所知,如Philips的Smart XA。Siemens 的TriCore,Motorola的M-Core ,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。SOC 芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。嵌入式片上系统(System On Chip)利用改变内部工作电压,降低芯片功耗。减少芯片对外管脚数,简化制造过程。减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速
6、度。内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。3.3 嵌入式操作系统z 实时嵌入式操作系统的种类繁多,大体上可分为两种商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术和售后服务,但往往价格昂贵。免费型的实时操作系统在价格方面具有优势,目前主要有Linux 和C/OS 。3.3.1 商用型实时嵌入式操作系统z VxWorks操作系统是美国WindRiver公司于1983 年设计开发的一种实时嵌入式操作系统(RTOS ),由于具有高性能的系统内核和友好的用户开发环境,在实时嵌入式操作系统领域牢牢占据着一席之地。值得一提的是,美国JPL实验室研制的著名“ 索杰纳” 火星
7、车采用的就是Vxworks操作系统。z Windows Embedded产品家族主要有以下三种产品:z Windows CE3.0: 一种针对小容量、移动式、智能式、32位、连接设备的模块化实时嵌入式操作系统。Windows CE3.0 位建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常是用于那些对内存占用空间具有一定限制的设备。z Windows NT Embedded4.0: 一种针对基于PC 体系结构解决方案的全功能嵌入式操作系统。采用PC 体系结构,继承Windows NT4.0的全部服务与功能,可用于快速建立功能
8、强大且丰富地嵌入式系统。z 带有 Server Appliance Kit的Windows2000:为建立能够利用Windows2000强大功能的专用服务器设备,提供了一种快捷方式。z pSOS原属 ISI公司的产品,但 ISI已经被 WindRiver公司兼并,现在 pSOS属于 WindRiver公司的产品。该系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全的多任务环境,在定制的或是商业化的硬件上具有高性能和高可靠性,可以让开发者根据操作系统的功能和内存需求定制每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。z P
9、alm OS是著名的网络设备制造商 3COM旗下的Palm Computing掌上电脑公司的产品,在PDA 市场上占有很大的市场份额。它具有开放的操作系统应用程序接口(API ),开发商可以根据需求自行开发所需要的应用程序。z 从全球范围来看,由于Handspring 公司和 SONY公司也被授权使用Palm OS操作系统,致使Palm OS的市场份额占到将近90% 。PalmOS的优势在于可以让用户灵活方便地定制操作系统以适合自己的习惯,而且其市场运作经验丰富,资本雄厚,目前也正在通过第三方软件商进行软件的中文化工作。3.3.2 免费型实时操作系统z 嵌入式Linuxz c/os嵌入式Lin
10、uxz 1、Linux 是开放源码的,不存在黑箱技术,遍布全球的众多Linux 爱好者又是Linux开发的强大技术后盾:z 2、Linux 的内核小 、功能强大、运行稳定、系统健壮、效率高;z 3、Linux 是一种开放源码的操作系统,易于定制剪裁 ,在价格上极具竞争力;z 4、Linux 不仅支持x86CPU ,还可以支持其他数十种良好的开发环境;z 5、Linux 沿用了Unix 的发展方式,遵循国际标准,可以方便地获得众多第三方软硬件厂商的支持;z 6、Linux 内核的结构在网络方面 是非常完整的,它提供了对十兆、百兆、千兆以太网、无线网络、令牌网、光纤网、卫星等多种联网方式的全面支持
11、。z 7、在图像处理、文件管理及多任务支持等诸多方面,Linux的表现也都非常出色,因此它不仅可以充当嵌入式系统的开发平台,其本身也是嵌入式系统应用开发的好工具。z 国际上许多大型跨国企业,已经瞄准了后PC 时代的下一代计算设备- 嵌入式计算设备,其中一些著名的公司更是选中了Linux 操作系统作为开发嵌入式产品的工具。z 现在国外基于嵌入式Linux 系统的产品已问世的有:韩国三星公司的Linux PDA 、可联网的Linux 照相机、美国Transmeta公司的Linux 手机、NetGem 的机顶盒等。z 我国也有不少厂家推出了基于linux 的嵌入式系统。例如,中科红旗软件技术有限公司
12、既开发了嵌入式linux 系统基本开发平台,又提供了可供裁剪的嵌入式linux 图形用户界面、窗口系统和网络浏览器,并且与许多硬件厂家合作开发出了一批基于linux的嵌入式系统产品,包括PDA 、机顶盒、彩票机等,现在已进入了交换机等网络接入设备领域。蓝点、网虎科技等公司也推出了一些相应的产品。c/osz 源代码全部公开 ,并且可以从有关出版物上找到详尽的源代码讲解和注释。这样使系统变得透明,很容易就能把操作系统移植到各个不同的硬件平台上。z c/os-绝大部分源代码使用 ANSI C写的,可移植性 (Portable )较强。而与微处理器硬件相关的那部分是用汇编语言写的,已经压到最低限度,使
13、得 c/os-便于移植到其他微处理器上。 c/os-移植的条件是,只要该微处理器有堆栈指针,有 cpu内部寄存器入栈、出栈指令。另外,使用的 c编译器必须支持内嵌汇编( inline assembly)或者该 c语言可扩展、可连接汇编模块,使得关中断、开中断能在 c语言程序中实现。 c/os-可以在绝大多数 8位、 16位、 32位甚至 64位微处理器、微控制器、数字信号处理器( DSP)上运行。c/osz c/os-是为嵌入式应用而设计的,这就意味着,只要开发者有 固化( romable)手段( c编译、连接、下载和固化),c/os- 可以嵌入到开发者的产品中成为产品的一部分。z 可以只使用
14、中应用程序需要的那些系统服务。也就是说某产品可以只使用很少 c/os-调用,而另一个产品则使用了几乎所有 c/os-的功能,这样可以减少产品中的 c/os-所需的存储器空间(ram 和rom)。这种 可剪裁性 (scalable)是靠条件编译实现的。z c/os-完全是 占先式(preemptive)的实时内核 ,这意味着c/os-总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的, c/os-在性能上和他们类似。c/osz c/os-完全是 占先式(preemptive)的实时内核 ,这意味着c/os-总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的, c/os-在
15、性能上和他们类似。z c/os-可以管理64 个任务 ,然而,目前的版本保留 8个给系统。应用程序最多可以有56 个任务,赋予每个任务的优先级必须是不相同的,这意味着 c/os-不支持时间片轮转调度法( round-roblinscheduling)。该调度法适用于调度优先级平等的任务。z 全部c/os- 的函数调用与服务的执行时间具有其可确定性 。也就是说,全部 c/os-的函数调用与服务的执行时间是可知的,进而言之,c/os- 系统服务的执行时间不依赖于应用程序任务的多少。c/osz 每个任务有自己单独的栈 , c/os-允许每个任务有不同的栈空间,以便压低应用程序对 ram的需求。使用c
16、/os- 的栈空间校验函数,可以确定每个任务到底需要多少栈空间。z c/os-提供很多系统服务 ,例如邮箱、消息队列、信号量、块大小固定的内存申请与释放、时间相关函数等。z 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层可达 255层。c/osz 稳定性与可靠性z c/os-的源代码绝大部分使用c 语言写的,经过简单的编译,读者就能再pc 上运行,边读书、边实践。仅有与 cpu亲密相关的一部分使用汇编语言写生的。内核几乎可以被移植到所有的嵌入式应用类 cpu上。移植范例的源代码也可以从因特网下载。z 最重要的是,从老
17、版本的c/os ,以及后来的c/os ,到新版本的c/os-,已经有了近 8年的使用时间,许多行业上都有成功应用该实时内核的实例,这些应用的实践是该内核实用性、可靠性的最好证据。3.4 嵌入式系统选型原则处理器型号外围设备需求内核实时操作系统嵌入式软件处理器内核选择处理器类型处理器价格主要性能及应用ARM 低 功耗低,适合于个人便携式设备Dragon Ball低 速度低,主要应用于PDAPower PC 高 通信、网络等设备:单位附加值高,市场小特别是对性能有较高要求时,应用于高端嵌入式中通常考虑系统外围设备的思路z 总线的需求;z 有没有通用串行接口( UART);z 是否需要 USB总线;
18、z 有没有以太网接口;z 系统内部是否需要I2C 总线、 SPI总线;z 音频 D/A连接的 IIS总线;z 外设接口;z 系统是否需要 A/D或者D/A 转换器;z 系统是否需要 I/O控制接口z 另外,还要考虑处理器的寻址空间,有没有片上的 FLASH储存器,处理器是否容易调试,仿真调试工具的成本和易用性等相关的信息。嵌入式软件的要求z 需要操作系统的支持: 嵌入式系统的覆盖面很广,从很简单到复杂度很高的系统都有,这主要是有具体应用要求决 定的。简单的嵌入式系统根本没有操作系统,而只是一个控制循环。但是 ,当系统变得越来越复杂时,就需要一个嵌入式操作系统来支持。z 支持多任务并具有实时性:
19、在多任务嵌入式系统中,合理的任务调度必不可少。单纯通过提高处理器速度无法达到 目的,这样就要求嵌入式系统的软件必须具有多任务调度能力。z 强大的联网功能: 大部分传统的嵌入式操作系统都是孤立的,但在网络日益重要的今天,越来越多的嵌入式系统有 了联网的要求。嵌入式系统与各种网络相连,尤其是与因特网的连接,给 系统提出了很多新的要求,系统需要支持 TCP/IP协议和相关实用程序,并且需要处理安全认证和访问控制问题。z 窗口交互功能: 很多应用领域都要求嵌入式系统能够提供传统上只有在 PC和高端系统中才能提供的类似于 X Window或者 Microsoft Windows的窗口交互系统。嵌入式操作
20、系统的选择z 操作系统的硬件支持z 是否支持目标硬件平台z 可移植性 :具有良好可移植性的软件可以在不同平台、不同系统上运行,跟操作系统无关。软件的通用性和软件的性能通常是矛盾的。很难设想开发一个嵌入式软件仅能在某一特定环境下,如果换了一个环境或处理器平台,整个软件就要重新设计,这往往是设计者所不能接受的。z 开发工具的支持程度z 一个工程师选择实时操作系统时必须考虑与之相关的开发工具。在线性仿真器(ICE )、编译器、汇编器、连接器、调试器以及模拟器等都不同程度影响着操作系统。z 能否满足应用需求z 对操作系统性能的要求z 中文内核支持z 标准兼容性z 技术支持z 源代码还是目标代码z 许可z 自建操作系统:一种是完全从内核开始,写自己的RTOS,这对一般的用户和开发人员而言,是不可想象的。另一种就是在免费的源代码公开的内核上写自己的RTOS