1.5 基于单片机的嵌入式系统
1.5.1 单片机开创了嵌入式系统独立发展道路
嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的、满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式处理器(单片微型计算机)。MCS-51是在MCS-48探索基础上,进一步完善了的单片机处理器。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片机嵌入式系统的典型结构体系。
1.5.2 单片机的技术发展史
单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段。
(1)第一阶段(1976—1978年):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。
(2)第二阶段(1978—1982年):单片机的完善阶段。Intel公司在MCS-48的基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构:
① 完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
② CPU外围功能单元的集中管理模式。
③ 体现工控特性的位地址空间及位操作方式。
④ 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
(3)第三阶段(1982—1990年):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,TI公司的MSP430 Flash系列单片机,将一些用于测控系统的A/D转换器、D/A转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS-51系列的广泛应用,许多电气厂商竞相使用80C51(兼容MCS-51)为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路的功能,强化了智能控制的特征。
(4)第四阶段(1990年至今):微控制器的全面发展阶段。随着单片机在各个领域全面深入的发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
1.5.3 嵌入式系统应用的高低端
由于嵌入式系统走过很长的一段单片机的独立发展道路,大多是基于8位单片机的,实现最底层的嵌入式系统应用,带有明显的电子系统设计模式特点。因此,不少从事单片机应用的人,不了解单片机与嵌入式系统的关系,在谈到“嵌入式系统”领域时,往往理解成计算机专业领域的,基于32位嵌入式处理器的从事网络、通信、多媒体等的应用。这样,“单片机”与“嵌入式系统”形成了嵌入式系统中常见的两个独立的名词。但由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的电子系统底层应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用,含义为它的底层性以及与对象系统的紧耦合。
1.高端:基于32/64位微处理器的嵌入式硬件系统
由微处理器构成的嵌入式硬件系统必须在其外部添加ROM、RAM、I/O端口和定时器等,使得系统完整可用。如图1.3所示,虽然添加ROM、RAM、I/O端口和定时器使得系统变得复杂,成本变得更高,但这种方式提供了更多的灵活性。可以选择ROM和RAM的容量大小,多少个I/O端口,以便适应所需的用途。
2.低端:基于8/16位单片机的嵌入式硬件系统
单片机内部包含微处理器,还有固定数量的ROM、RAM、I/O端口和定时器等,都集成到一个芯片上,功耗更低,可靠性更高。只需要简单的外围电路即可组成系统,如图1.4所示。对于许多嵌入式应用,它们所占用的空间、所消耗的功率以及单位成本比起计算能力来说,都是更关键的考虑因素。单片机则是较好的选择。目前许多单片机片内除了有固定数量的ROM、RAM、I/O端口和定时器外,也提供外部扩展接口,使用更为灵活。
图1.3 采用微处理器嵌入式系统硬件
图1.4 采用单片机的嵌入式系统硬件
在嵌入式技术领域,这种高低端的划分并不是绝对的,基于微处理器的嵌入式系统以运算性能和速度为发展目标,基于单片机或微控制器的嵌入式系统则以其强大的控制功能为发展目标。它们互相区别,但又互相融合、互相促进。基于单片机的嵌入式系统MCU也不只局限于8位与16位的单片机,随着技术的进步与发展,32位和64位的高性能的MCU也不断被推出。
1.5.4 单片机嵌入式系统的特点
单片机嵌入式系统除了具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等优点外,它与通用微型计算机系统相比,在硬件结构和指令设置上还具有以下独特之处。
① 存储器ROM和RAM是有严格分工的。ROM用做程序存储器,只存放程序、常数和数据表格,而RAM用做数据存储器,存放临时数据和变量。这样的设计方案使单片机更适用于实时控制(也称为现场控制或过程控制)系统。配置较大程序存储空间的ROM,将已调试好的程序固化(即对ROM编程,也称烧录或烧写),这样不仅掉电时程序不会丢失,还避免了程序被破坏,从而确保了程序的安全性。实时控制仅需容量较小的RAM,用于存放少量随机数据,这样有利于提高单片机的操作速度。
② 采用面向控制的指令系统。在实时控制方面,尤其是在位操作方面,单片机有着不俗的表现。
③ 输入/输出(I/O)端口引脚通常设计有多种功能。在设计时,究竟使用多功能引脚的哪一种功能,可以由用户编程确定。
④ 品种规格的系列化。属于同一个产品系列、不同型号的单片机,通常具有相同的内核、相同或兼容的指令系统,其主要的差别仅在于片内配置了一些不同种类或不同数量的功能部件,以适用于不同的被控对象。
⑤ 单片机的硬件功能具有广泛的通用性。同一种单片机可以用在不同的控制系统中,只是其中所配置的软件不同而已。换言之,给单片机固化上不同的软件,便可形成用途不同的专用智能芯片,有时将这种芯片称为固件(Firmware)。