与单纯的硬件开发或软件开发有所不同,嵌入式Linux体系在研制进程中一般都要涉及到硬件和软件两个环节。许多计算机软件开发人员在转向嵌入式体系Linux开发的进程中显得无能为力,一个原因就在于缺少对嵌入式体系的硬件体系结构的了解,而偏偏嵌入式体系开发又对硬件的要求非常高。
从实质上说,嵌入式Linux体系也归于计算机体系的范畴,因而不可避免地要由三大根本部分组成:中央处理器(CPU)、存储设备和I/O设备。此外,它还需求担任在三大部分之间进行通讯的设备。本文从这几个方面下手介绍嵌入式Linux体系的硬件体系结构。
中央处理器
嵌入式体系的核心部件是各种类型的嵌入式中央处理器。依据所用指令集的不同,嵌入式中央处理器能够分红两种首要的体系结构,一种是杂乱指令集(Complex Instruction Set Computer,CISC)体系,另一种则是精简指令集(Reduced Instruction Set Computer,RISC)体系。
在20世纪60年代,CISC结构曾是嵌入式中央处理器的规划干流。可是跟着时刻的推移,这种规划思维现已越来越难以满意实践运用的需求。所以有人开端提出了一种全新的处理器体系结构——RISC。现在运用的嵌入式中央处理器大多选用RISC结构。
现在简直一切的半导体制作商都有才干出产嵌入式中央处理器,依据所用技能的不同,能够将嵌入式中央处理器分红如下四种类型:
嵌入式微处理器(Embedded Micro Processor Unit,EMPU)
嵌入式微操控器(Embedded Micro-controller Unit,EMU)
嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)
嵌入式片上体系(Embedded System on Chip,ESoC)
微处理器
现在的通用计算机都是以微处理器为中心。从严厉含义上说,“微处器”指的是芯片内部只包含CPU自身,而不包含存储器和I/O接口等其它功用模块,选用的是冯·诺依曼体系结构。在一些高端的嵌入式运用中,经过将微处理器装配在专门规划的电路板上,并配以必要的外围接口电路和扩展电路,能够快速构造出一个有用的嵌入式体系。
为了满意嵌入式运用的特别要求,嵌入式微处理器尽管在功用上与通用微处理器根本相同,但在作业电压、作业温度、抗搅扰性和可靠性等方面都做了增强。一般说来,选用微处理器来构建嵌入式体系具有杰出的实时功用、支撑多任务处理、便于存储区维护、供给处理器扩展、丰厚的调试功用和完善的电源办理等优势。
微操控器
微处理器芯片中不包含I/O接口电路,也没有其它外围功用模块,功用相对单一。因而,嵌入式体系的规划人员和硬件厂商开端倾向于开发另一种类型的嵌入式处理器。这种处理器不用像通用处理器那样具有强壮而彻底的功用,但要力求做到细巧,而且省电。这便是嵌入式微操控器,一般也称之为单片机。
微操控器一般以某个微处理器内核为根底,芯片内部集成ROM、RAM、FLASH、总线逻辑和I/O端口等各种必要的功用模块,以习惯特定场合的需求。与微处理器比较,微操控器最大的长处便是集成化,使体积、功耗和本钱得到了有用的操控,而且可靠性大大进步。微操控器是现在嵌入式体系的干流产品,在构建嵌入式体系时,能节约体系开支、下降犯错概率和削减高频搅扰。
在开发嵌入式体系时,常常会遇到结构简略且数量很多的外围设备。这些设备有的需求CPU为之供给操控手法,有的则需求被CPU当作输入信号,尽管功用各不相同,但一般都只需求表明开和关两个根本状况就足够了。由于不管是传统的串口仍是并口,对这些设备的处理都显得无能为力,所以在微操控器芯片上大多会供给一个通用可编程I/O接口(GPIO),这是微操控器有别于微处理器的一个明显特征。
DSP处理器
数字信号处理器(Digital Signal Processor,DSP)是专门为数字信号处理而规划的处理器。它现在现已被广泛地运用在各种消费电子类产品傍边,比方手机就运用了DSP技能对数字语音信号进行编码和译码。DSP处理器一般是针对特定运用而开发的,其长处是能够在短时刻内对特定的数字信号进行很多的处理,具有很强的实时运转功用。PC机上运用的通用处理器(如Intel的80×86)在作业时,大约有百分之九十的时刻都是在进行加法运算,乘法运算所占的比重相对较少。因而,通用处理器一般不会在进步乘法运算才干上下很大功夫,而DSP处理器的呈现正好弥补了这一缺陷。
为了加速数字信号的处理速度,DSP处理器在规划时加入了许多特别结构,以增强它的并行处理才干。通用处理器在规划时遵从的是廉价和简略的准则,一般面向一般用户。因而它选用的是冯·诺依曼体系结构,指令和数据处于同一地址空间。当处理器要履行某条指令时,有必要先将指令从内存中读出来进行译码,然后再将运算数据从内存中取出来,之后才干履行真实的运算,消耗在运算之外的时刻非常多。DSP处理器则具有一种称为哈佛的总线结构。这种结构运用不同的指令和运算数据总线,能够一同从内存中读出指令和数据进行运算,然后削减了运算所消耗的时刻。
嵌入式DSP处理器对体系结构和指令都进行了特别规划,使其能够在资源受限的情况下履行某种DSP算法。由于编译功率和指令履行速度都很高,因而,像数字滤波、快速傅立叶改换和离散余弦改换等DSP算法正在被很多引进到嵌入式范畴中来。现在,DSP处理器首要运用在嵌入式体系的智能化范畴,如生物信息辨认终端、实时语音处理和虚拟现实等。这类智能化算法一般运算量较大,特别是乘法运算和向量运算非常多,而这恰好是DSP处理器的优势地点。
SoC
跟着EDI的推行和VLSI规划的遍及,呈现了片上体系(System on Chip,SoC)。SoC望文生义指的是集成在CPU芯片上的部件比较多,足以独立构成一个体系。实践上它与微操控器的差异并不非常严厉,因而有时会将同一块芯片既称为微操控器,又称为SoC。
在嵌入式体系中运用SoC处理器具有如下一些明显的长处:
下降内部作业电压,削减芯片功耗;
削减芯片引脚数目,简化制作进程;
简化外围驱动单元,优化处理速度;
优化内部电路结构,下降体系噪声。
存储设备
存储设备的首要效果是保存操作体系和运用程序的映像,以及体系在运转时所需的数据。在嵌入式体系中运用的存储设备能够分为内部存储器和外部存储器两类。内部存储器和处理器处于同一块芯片上,CPU不用经过I/O电路就能够直接拜访它们,处理速度非常快,但造价也反常贵重。外部存储器是用来存储程序或数据的独立设备,拜访时需求花费比内部存储器更多的时刻,而且需求在处理器周围建立额定的寻址电路。
不管存储器坐落处理器的内部仍是外部,都能够进一步划分红如下几种类型:
随机存取存储器(Random Access Memory,RAM);
只读存储器(Read Only Memory,ROM);
混合存储器(Hybrid Memory)。
RAM
RAM是一种能够被随机拜访的存储设备。RAM有时也被称为读写存储器,这是由于对这种存储设备能够一同履行读操作和写操作。依据作业原理的不同,RAM能够分为两种类型,动态RAM(DRAM,Dynamic RAM)和静态RAM(SRAM,Static RAM)。
RAM既能够坐落处理器内部,也能够坐落处理器外部。它与处理器的连线一般包含地址总线、数据总线、片选信号和读/写操控信号等。通用计算机一般选用DRAM,而嵌入式体系则多少会选用一些SRAM,或许彻底选用SRAM。
ROM
嵌入式体系一般都不选用磁盘,其操作体系和运用程序的映像,以及体系运转时所需的数据,都有必要保存在某种断电往后数据不会丢掉的存储设备中,即一般所说的不蒸发存储器。与通用计算机比较,嵌入式体系往往装备更多的不蒸发存储器。现在根据半导体技能的不蒸发存储器大多是只读的或挨近只读的,一般泛称为ROM,常见的有掩膜式ROM、可编程ROM和可擦除ROM。
ROM的特点是即便封闭电源,其间的内容依然能够保存不变。因而,它一般被嵌入式体系用来保存体系所需的程序代码和一切永久性数据。
混合存储器
在嵌入式体系中运用的混合存储器首要有以下几类:
EEPROM与EPROM相似,不同点在于它是经过电信号进行擦除的。
Flash也称为闪存,其实质上是一种EEPROM,但能够在正常的作业电压和电流下进行擦除和写入操作。因而,它能够在方针体系中在线地改动其内容
NVRAM也称为非易失性RAM,能够看成是带有后备电池的SRAM,即便电源封闭后它的内容也能够坚持不变。
在现有的技能条件下,闪存对嵌入式体系来讲是抱负的、不蒸发存储器。
I/O设备
一般来说,嵌入式体系装备的显现设备大多是尺度较小的LCD,按作业原理不同能够分为TFT和DSTN两种。
TFT 由薄膜晶体管(Thin Film Transistor)陈设构成,长处是亮度大、色彩鲜艳、可视视点大;缺陷是价格高、耗电大,而且简单发生因单个晶体管损坏而在图画上构成斑驳的现象。
DSTN 运用液晶在不同电场下能够呈现不同的光学特性,在显现屏上用水平缓笔直放置的导线做成网格,并加以电信号进行扫描,就能够顺次在每个交点上构成并坚持必定的电场,然后使该点上的液晶在反射或透射光线时能够显现出不同的色彩。
现在,在嵌入式体系中广泛运用的LCD有主动式和被动式的差异。被动式LCD显现器的电压操控部件规划在显现面板的四周,反响时刻长且光线输出量少,因而可视视点比较小,显现动态图画时的效果比较差,而且简单发生残影现象。主动式LCD显现器则经过在每个液晶单元内放置电压操控单元,在缩短反响时刻的一同增加了光线的输出量,然后能够供给较好的动态显现效果。由于主动式LCD显现器的本钱较高,因而现在只在一些高端的嵌入式设备中选用,如PDA和信息家电等。一般的嵌入式体系根据本钱和有用性方面的考虑,大多选用被动式LCD显现器,如一般的移动电话等。
装备了LCD显现器的嵌入式设备往往还一同配有通明的触摸屏,一般触摸屏与液晶显现器是叠放在一同的。这样用户能够用触笔或手指在屏幕上定位,然后替代鼠标的效果,或许直接进行手写输入,以替代键盘的效果。
通讯设备
Firewire
IEEE 1394也称为Firewire,其传输带宽能够到达400Mb/s,最适合进行多媒体数据的传输,能够运用在多媒体实时播映、编排或许传输的场合。在需求进行快速且很多数据传输的嵌入式设备中,IEEE 1394是一个常常被用到的数据传输接口。
IEEE 1394在进行多媒体数据传输时的体系结构最上层为运用层(Application),以下顺次为传输层(Transaction)、链路层(Link)和物理层(Physical)。多媒体数据在由运用层传送到链路层后,将遵从IEEE 1394规范进行封包,然后再经由链路层和物理层把数据传送出去。数据接纳的另一端会接纳打包数据,再经过拆包将数据还原成本来的多媒体数据。
USB
USB接口原本是用于PC机的一种输入/输出接口,具有热插拔特性。当具有USB接口的外围设备在与PC机衔接时,操作体系会主动侦测到这一设备,而且能够在不重新启动计算机的前提下完结软硬件的装备。
由于USB 1.1规范中界说的数据传输速度能够高达12Mbps,所以运用USB接口的PDA在与PC进行数据同步时的速度要比运用RS-232高出许多。而最新的USB 2.0规范中,数据传输的最高速度能够到达480Mbps,用于进行很多且高速的数据传输。
蓝牙
蓝牙(Bluetooth)是一个用于无线通讯的规范协议。它能够给嵌入式体系供给无线数据传输功用,其通讯频率处于2.4GHz以内,即便在无线噪声很强的环境下依然能够坚持很高的准确性。用于无线通讯的蓝牙模块首要由三个部分组成,无线传输收发单元、基带处理单元和数据传输接口。
当无线信号由蓝牙的无线传输收发单元接纳到之后,会被送到基带处理单元进行信号处理。处理后的数字信号再经过数据传输接口,传送到嵌入式体系的处理器之中作进一步的处理。
红外线
嵌入式体系中的红外收发模块首要由三个部分组成:红外线发光二极管、硅管光检测器和操控电路。红外线发光二级管是用于发射红外线的设备。它能够发射波长在0.85微米到0.90微米之间的红外光波。硅管光检测器是用于接纳红外线的设备。由它接纳到的信号将被传到操控电路傍边,然后再送给嵌入式体系的处理器作进一步的处理。
红外线收发模块也有相应的规范。最早呈现的是1994年的IrDA1.0,选用波长在0.85微米到0.90微米的红外线进行传输,传输速度为115.2Kbps,间隔大约在1米左右,接纳视点在30度之内。而在1999年提出的VFIR规范中,传输速度现已能够高达16Mbps,有用间隔为8米。
802.11
802.11是IEEE在1997年提出的一个无线网络通讯规范,其意图是使各个厂商的无线网络设备能够相互兼容,然后供给一个安稳的无线传输环境。到了1999年,IEEE又先后提出了IEEE 802.11a和IEEE 802.11b两个无线传输协议,其间802.11a运用5.8GHz的频带进行无线传输,而802.11b则运用2.4GHz的频带进行无线传输。根据802.11b协议的无线网络的最高速度是11Mbps,比常用的以太网略微快一点,现在现已有许多嵌入式体系开端运用根据802.11b协议的设备,开发根据无线网络的各种运用。最新的协议是802.11g。
本文评论了嵌入式Linux体系的硬件体系结构,从中央处理器、存储设备、I/O设备和通讯设备几个方面别离介绍了现在在嵌入式开发中常常遇到的硬件设备。了解这些根本的硬件常识对往后深化进行嵌入式Linux体系的开发将会很有协助。