系统接口扩展技术
存储器扩展技术
输入输出(I/O)和中断扩展技术
MCS-51单片机并行接口基本方法
单片机与片外并行器件接口设计有两个任务:硬件电路连接和软件编程
硬件接口就是解决三种总线的连接:
数据总线:片外器件的数据总线宽度不超过8位时,直接与单片机相连即可;大于8位时,需要分时来存取。
地址总线:先对片外器件分配地址,然后进行相应的硬件连接。
控制总线:根据片外器件工作的定时逻辑,利用单片机控制信号以及与I/O口线的组合,完成对器件的控制和读写操作。
存储器扩展技术
通常把半导体存储器分为易失性存储器和非易失性存储器
EEPROM(Electrically Erasable Programmable ROM)或E2PROM:电可擦除可编程ROM。
Flash Memory:Intel和Toshiba公司20世纪80年代首先推出的可快速擦写ROM。
BBSRAM(Battery Backed SRAM):Dallas Semiconductor公司的电池后备供电的静态存储器,掉电后信息可保存10年。
FRAM(Ferroelectric RAM):Ramtron公司研制的铁电存储器。(100亿—1亿亿次写)
存储器扩展的基本方法
按照总线连接方式,MCS-51单片机扩展存储器可分为并行扩展和串行扩展。
基本方法是:按照单片机和不同存储器芯片的时序,来完成硬件连接和软件编程。
存储器的基本操作控制包括片选控制和读写操作控制。
存储器片选控制
串行接口扩展时,通常采用I/O口来选择相应的存储器,地址信息包含在串行协议中。
采用并行接口时,片选的方法有:
线选法:如果芯片数较少,只需要用单片机的高位地址线分别接到各个芯片的片选端即可。这样不需另加电路,但地址空间可能是不连续的。
译码选通法:在扩展芯片数目较多或要求连续的地址空间时,采用译码器来译码产生片选信号。
单片机并行扩展时,高位地址线可能有空闲(P2口高位),但已不适宜简单地作I/O线使用。
扩展片外数据存储器的电路
(图略)
扩展片外程序存储器的电路
(图略)
扩展片外程序和数据存储器
(图略)
并行扩展I/O接口
对输入/输出口功能的扩展,可以利用简单的TTL电路或MOS电路,也可以使用结构较为复杂的可编程接口芯片。
TTL电路有54系列军品级器件、民品74LS系列;MOS中常用CMOS电路,如74HC系列。
典型的可编程接口器件是Intel公司及其兼容的接口芯片:可编程并行接口(8155、8255)、可编程通用同步/异步通信接口(8251)、可编程定时器/计数器(8253)、可编程中断控制器(8259)及可编程键盘显示接口(8279)等。
I/O口与片外RAM统一编址
把扩展的I/O口挂接在片外数据存储器空间,因而,I/O口的输入、输出指令也就是片外数据存储器的读/写指令。其特点为:数据传输利用的是P0口,因此扩展接口均是8位口,传输数据简便。
串行总线的类型
常用的串行总线有:
Motorola公司的SPI(Serial Peripheral Interface)总线
Philips公司的I2C(Inter-Integrated Circuit)总线
现场总线CAN(Controller Area Network)总线等
采用串行扩展16kB存储器
(图略)
串行扩展I/O接口
串行接口有多种总线和丰富的接口芯片,以PHILIPS公司I2C总线8位远程I/O扩展器PCF8574为例,说明I2C总线扩展I/O接口的方法。