1.2.1 嵌入式系统硬件发展阶段
嵌入式系统硬件平台的核心部件是各种类型的嵌入式微处理器。在嵌入式系统的发展过程中,每个发展阶段均有一些微处理器作为主流芯片被大量使用。但是,没有哪一种微处理器处于绝对的垄断地位,这一点与通用个人计算机是不同的,这是因为嵌入式系统的应用需求多种多样,硬件平台很难统一。在国内,以下几种出现过的主流嵌入式微处理器,被大量用在相应各阶段的嵌入式系统上。
1. Intel 8080、MC6800、Z80等
Intel 8080是Intel(英特尔)公司于1974年推出的微处理器,MC6800是Motorola(摩托罗拉)公司于1974年推出的微处理器,Z80是美国Zilog公司于1976年推出的微处理器。这些微处理器的数据位均是8位(bit),可直接寻址的存储器容量通常为64KB。
上述3种微处理器,在微处理器诞生的早期阶段(20世纪70年代中期~20世纪90年代初期),被广泛地用在了企业生产过程及其设备的控制中,那时嵌入式系统的产品形式主要是控制器,是嵌入其他设备中起控制作用的专用计算机,如数控机床的控制器、数字式温控器等。
由于这个阶段的微处理器内部一般没有集成特定功能的部件,如定时器部件、UART(Universal Asynchronous Receiver/Transmitter,通用异步接收发送设备)部件、A/D(模/数)转换部件等,因此嵌入式系统硬件平台需要外加具有专用功能的芯片来完成这些功能,并且外围的其他组合逻辑电路及时序逻辑电路通常采用74系列的芯片来完成设计。
2. MCS-51系列单片机
MCS-51系列单片机是Intel公司生产的一系列8位数据宽度的微处理器的统称,由于这些微处理器中集成了存储器以及许多专用功能部件,如定时器部件、UART部件、A/D转换部件等,因此把它们称为单片机。与上面的Z80、Intel 8080等微处理器不同的是,它们有时被称为嵌入式微控制单元。这一系列微处理器包括许多品种,如8031、8051、8052、8055等。
自20世纪80年代Intel公司推出MCS-51系列单片机以来,该系列的微处理器迅速在嵌入式系统中得到广泛的应用,并逐步取代了Z80等微处理器,在工业控制器及智能仪器仪表等产品的硬件平台中成为主流。在我们的日常生活中,也涌现了许多以MCS-51系列单片机为核心的嵌入式系统产品,如用于公交车、食堂等场合的IC(Integrated Circuit,集成电路)读卡器,用于小区、办公区等场合的门禁系统,等等。目前,MCS-51系列的微处理器仍然在许多嵌入式系统的产品中得到应用。
为了满足更高的计算要求,Intel公司还推出了MCS-96系列单片机。这一系列的微处理器的数据宽度是16位,具有16位数据乘以16位数据的乘法指令,以及32位数据除以16位数据的除法指令。
3. DSP微处理器
DSP(Digital Signal Processor,数字信号处理器)微处理器是一系列适合完成数字信号处理工作的微处理器的统称。所谓数字信号处理,指的是信号(如音频信号、视频信号)经过A/D转换后的后续处理,主要有数字滤波、编码/解码等。这些信号处理工作涉及大量的乘法、加法运算。例如:进行数字滤波处理时,需要涉及卷积运算;进行编码/解码处理时,需要涉及傅里叶变换和傅里叶逆变换等;而卷积运算、快速傅里叶变换等算法均是采用多次相乘并累加来完成的。若采用普通的微处理器处理这些运算,需要执行的指令非常多(即通常需要采用多重循环结构来编程实现),效率很低。DSP微处理器具有专门的指令处理这些运算,效率要高得多。因此,DSP微处理器在需要进行信号处理的场合得到了广泛使用,如数码相机、VoIP(Voice over IP,互联网电话)机、机器人控制等领域。
目前,在国内,使用得最多的DSP微处理器是TI公司推出的TMS320系列的DSP微处理器。TI公司在1982年推出了首款DSP微处理器TMS32010,之后又推出了多种型号的DSP微处理器,以满足不同应用场合的需求。目前,TI公司的DSP微处理器主要有三大系列,具体如下。
● TMS320C2000系列的DSP微处理器。该系列的DSP微处理器适合应用在数字控制、运动控制的场合,主要的型号有TMS320C24×/F24×、TMS320LC240×/LF240×、TMS320C24×A/LF240×A、TMS320C28××等。
● TMS320C5000系列的DSP微处理器。该系列的DSP微处理器适合应用在手持设备、无线终端设备等功耗低的设备中,主要的型号有TMS320C54×、TMS320C54××、TMS320C55×等。
● TMS320C6000系列的DSP微处理器。该系列的DSP微处理器适合应用在高性能、多功能、复杂的应用领域,主要的型号有TMS320C62××、TMS320C64××、TMS320C67××等。
除了TI公司的DSP微处理器外,目前国内使用的DSP微处理器还有ADI公司、Motorola公司、Agere System公司等生产的DSP微处理器。
4. ARM系列微处理器
ARM系列微处理器也是一类微处理器的统称,它是指以ARM公司微处理器核为中心、集成了许多外围专用功能部件的芯片,如三星公司的S3C2440、Atmel公司的AT91SAM9260、Intel公司的PXA270等。目前,主流的ARM系列微处理器的数据宽度为32位,主频为几百兆赫兹。它们在许多嵌入式系统中得到广泛应用,如智能手机、PDA(Personal Digital Assistant,个人数字助理)、GPS导航仪等。
由于嵌入式系统的应用目标是多种多样的,ARM公司为满足这些多样性的要求,开发出了多种不同架构的微处理器核。因此,ARM系列微处理器根据其微处理器核的架构,又分成许多子系列。目前的子系列主要有ARM9系列、ARM9E系列、ARM10系列、ARM11系列、Cortex系列、XScale系列等。并且,ARM公司通过ARM架构授权、IP核授权或应用级授权,使ARM微处理器核被集成到许多智能移动芯片中,如高通公司的骁龙835芯片,其内部就集成了Cortex-A架构的微处理器核。
5. SOPC
SOPC(System on a Programmable Chip,可编程片上系统)是一种新的计算机体现形式。它可以在一块FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片中,通过软硬件协同设计技术来实现整个计算机应用系统的主要功能。它是嵌入式系统的一种特殊形式,也是嵌入式系统的一个发展方向。
SOPC的实现需要基于超大集成规模的FPGA芯片。通常,这个FPGA芯片上需要集成至少一个微处理器核(硬核或者软核)、片上总线、片内存储器以及大量的可编程逻辑阵列等。
SOPC上的微处理器核有硬核和软核两种。所谓硬核是指微处理器核由一个专门的硅片实现,也就是说,由FPGA芯片中的一组专用的硬件电路实现。例如:Xilinx公司推出的Zynq-7000系列芯片,内部集成了两个ARM的Cortex-A9微处理器硬核;Altera公司推出的Excalibur系列芯片,内部集成了一个ARM920T微处理器硬核。而所谓软核是指SOPC通过硬件描述语言(如Verilog)或者网表描述,利用FPGA芯片中的可编程逻辑部件实现的微处理器核。Nios Ⅱ就是一个典型的微处理器软核。
Nios Ⅱ是Altera公司于2004年推出的32位微处理器软核,具体包括3种软核:Nios Ⅱ/f(一种当时实现了最佳性能优化的软核,需要中等的FPGA逻辑资源使用量)、Nios Ⅱ/s(一种标准需求的软核,需要较少的FPGA逻辑资源使用量)、Nios Ⅱ/e(一种经济的软核,需要最少的FPGA逻辑资源使用量)。采用Quartus Ⅱ集成开发环境就可以方便地在FPGA芯片中构建Nios Ⅱ系统,以便支持SOPC的设计。
目前,国内使用的FPGA芯片主要是由Xilinx公司和Altera公司提供的。另外,Actel公司、Lattice公司、Atmel公司等提供的FPGA芯片在我国也有一些特定的行业选择使用。
开发基于SOPC的嵌入式系统,需要软硬件协同的综合设计。若嵌入式系统的应用功能需要用软件实现,则需要采用能支持C语言、C++语言开发的软件工具,利用C语言或C++语言等进行编程,设计完成该功能的软件代码。而若应用功能需要用硬件实现,则需要采用Verilog语言或VHDL(VHSIC Hardware Description Language,VHSIC硬件描述语言)来完成硬件逻辑电路的设计。并且软硬件的功能可以融合在一起,在一块FPGA芯片上实现。
前文大概介绍了嵌入式系统的硬件平台发展过程。在不同的硬件发展阶段,我国的嵌入式系统产品广泛地使用了若干种嵌入式微处理器。如今这些微处理器有些已经被淘汰了,不再使用,如Z80、Intel 8080、MC6800等,有些还在继续使用。目前,基于ARM+FPGA的嵌入式系统结构在嵌入式系统产品开发中得到了广泛的使用,但也不具备垄断地位,其他嵌入式微处理器也在一些领域得到应用,如MCS-51系列、DSP系列以及MIPS系列、PowerPC系列等。
目前,国产的龙芯微处理器在国内的许多领域得到应用。龙芯微处理器至今主要有三大系列产品——龙芯1号、龙芯2号、龙芯3号。其中龙芯1号又有龙芯1A、龙芯1B、龙芯1C、龙芯1E等子系列,它们面向嵌入式系统,主要被应用在智能仪器仪表、工业控制等领域。