在20世纪80年代以前,国内较多采用8031系列单片机作为应用系统设计。由于8031单片机片内没有程序存储器,数据存储器很有限。在后来推出的单片机中(8051系列、如8751系列),有的片内包含了4KB程序存储器,但容量仍有限,应用系统的设计受到很大束缚,通常无法单独使用一块芯片来完成系统设计,不是真正意义上的“单片机”。因此,如果程序存储器不够时,通常在单片机外部选用2764、27128、27256或27512等并行ROM器件进行扩展;如果需要保存大量的数据,通常选用6264、62128、62256、62512或2864等RAM器件来扩展外部数据存储器。扩展这类存储器,单片机需要用2个I/O端口(P0口和P2口),还剩下2个I/O口经常不够用,这时通常又需要用8255A、8155H等器件扩展可编程片外I/O端口。由于这些程序存储器、数据存储器和可编程I/O口器件都是并行接口的,因此需要采用三总线的方式进行扩展。图12-1所示是典型的系统总线扩展,通过三总线将单片机与外围器件连接起来,进行数据、地址和控制信号的传输。
图12-1 单片机系统总线扩展结构
以8051为内核的STC15W4K32S4系列单片机具备三总线功能,在扩展外部存储器或I/O口时,P0口作为地址/数据总线分时复用,程序存储器和数据存储器的空间完全分开,独立编址。扩展的存储空间采用一组地址总线、数据总线寻址访问,程序存储器和数据存储器的最大扩展空间均为64KB。扩展后,单片机系统形成了两个并行的64KB外部存储器空间。
实际上,如今的单片机功能各异、种类繁多。新推出的STC15W4K32S4系列单片机都是高性能、增强型8051单片机,其片内资源丰富,程序存储器和数据存储器的容量、I/O端口的数量都有了大幅度的增加。因此,现代单片机应用系统的扩展主要有以下三种方式:
(1)片内资源选型扩展
重视单片机片内资源选型,根据不同的应用需求,选择具有不同性能、不同内部资源的单片机芯片。(www.xing528.com)
例如,STC15W4K08S4片内包含8KB的程序存储器和53KB的数据存储器,而STC15W4K56S4单片机的片内包含了56KB程序存储器和5KB数据存储器,最少有26个I/O口、最多有多达62个I/O口引脚,因此很少需要进行这类资源的外部扩展。也就是说,如果需要扩展I/O口,一般可以选择多引脚的单片机。由于STC15W4K32S4系列单片机内部资源丰富,在很多应用中只需单一芯片就能解决问题,成为真正的“单片机”应用系统。
(2)片外串行总线扩展
当单片机的片内资源无法满足要求(如系统需要海量存储器),可选择串行总线扩展,其接口简单、方便,利于节省成本。主要的Flash串行存储器有I2C接口的AT24Cxx系列(如AT24C64、AT24C512等器件)和SPI接口的W25Xxx系列(如W25X10、W25X80)、M25Pxx系列(如M25P32、M25P64)等Flash闪存,最大容量(如M25P128)高达128MB。
(3)片外并行总线扩展
通过单片机的三总线实现对外部并行器件的扩展连接。这种方式占用I/O口线多,电路连接复杂,使PCB面积大。优点是编程操作简单,数据传输速度快。
综上所述,利用8位单片机的三总线进行外部并行扩展应用将会越来越少,即使需要扩展外部器件,也将以串行总线扩展为主,传统的三总线的应用扩展将出现在以ARM为核心的大系统结构上。下面从扩展技术和原理的角度来介绍单片机并行三总线应用的系统扩展方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。