8.1 并行扩展技术
8.1.1 并行扩展总线
- 单片机并行扩展总线遵循三总线原则,即地址总线(AB)、数据总线(DB)、控制总线(CB),所有外部芯片都可以通过这三组总线进行扩展
- P0和P2口可以作为并行扩展总线口
- P0口分时输出低8位地址A0 ~ A7和数据D0 ~ D7
- P2口输出高8位地址
- 控制总线:外部程序存储器的读选通信号
、外部数据存储器的读信号
和写信号
、低8位地址锁存信号
、片外程序存储器选择信号
- 常用地址锁存器有74LS273、74LS373等
- 锁存器的锁存信号输入端G接单片机的ALE端,ALE为负跳变时,P0口上输出地址通过锁存器D0 ~ D7送入Q0 ~ Q7,使地址总线A0 ~ A7信息保持不变,接着P0口传送数据D0 ~ D7
- 在实际应用中,P2口需要引出的口线数根据系统扩展需要确定,有时也可能不需要引出P2口线
8.1.2 扩展方法
- 单片机根据地址访问外围扩展芯片,由地址线上送出的地址信息来选中某一芯片的某一单元进行读写
- 单片机发出的地址信号解决两个问题:芯片的选择和地址信息
- 片选:由未被扩展芯片占用的单片机剩余地址线或者剩余地址线通过译码电路产生
- 地址信息:芯片选中单元的地址由该芯片所占用的地址线信息确定
- 片选信号的产生方法:线选法、全地址译码法、部分地址译码法
1. 线选法
- 用未被占用的单片机某一位地址线直接与扩展芯片片选端相连,只要该位地址为低电平(一般芯片片选端低电平有效),则与该地址线相连的扩展芯片就被选中
- 扩展外围芯片时,如果所用地址线最多为A0 ~ Ai(i < 15),则可以作为扩展芯片片选线的地址线为A(i+1) ~ A15
- 例如:若i = 12,则只有A13、A14、A15可以作为扩展芯片片选线
- 由于单片机不能同时选中一个以上芯片进行方访问,所以连接扩展芯片片选端的地址线不能同时为低电平
- 选线法的特点使连接简单,不必专门设计逻辑电路,但各扩展芯片所占有的空间地址不连续,因而地址空间利用率低,适用于扩展地址空间容量不太大的场合
- 如果扩展较多芯片,可以采用全地址译码法
2. 全地址译码法
- 将未被占用的单片机地址线全部参与对芯片的译码,译码的输出再作为扩展芯片的片选信号,只要某位译码输出信号为低电平,与译码输出信号相连的扩展芯片就被选中
- 与线选法相比,硬件电路相对复杂,但在占用地址总线数量相同的情况下,可以扩展更多的芯片,因而适用于扩展芯片数量多、地址空间容量大的复杂系统。当扩展的芯片为同容量存储器时,没有地址重叠,占有的空间地址连续
- 当译码器的输入为某一固定编码时,其输出只有某一固定的引脚输出为低电平,其余为高电平
3. 部分地址译码法
- 将未被占用的单片机地址线一部分参与对芯片的译码,其余部分悬空暂时不用
- 全地址译码和部分地址译码中,译码器输出端可保留若干端线,便于后续扩展
8.2 串行扩展技术
- 串行扩展一般只需1-4根信号线,器件间连线简单、结构紧凑,可以简化线路、缩小电路板尺寸,适用于小型便携式单片机应用系统
- 扩展性好,能方便地构成1片单片机和多外围器件组成的单片机应用系统
- 串行总线技术日趋成熟
- 与并行总线相比,数据处理速率较低,但随着单片机工作频率的提高和串行扩展芯片功能的不断增强,应用越来越广
- 代表性串行总线:UART、SPI、I2C、1-Wire等
8.2.1 SPI总线
- Serial Peripheral Interface,串行外围设备接口
- 摩托罗拉公司提出的一种全双工同步串行通信总线
- 允许同时同步传送和接收8位数据,传输速率最快可达几十Mbit/s
- 需要4条线实现单片机与外围器件的通信
- MISO:主机输入/从机输出数据线
- MOSI:主机输出/从机输入数据线
- SCK:串行时钟线,用于同步从MISO和MOSI引脚输入和输出的数据传输
- SS(
)主机控制从机使能信号
8.2.2 I2C总线
- Inter-Integrated Circuit,内部集成电路总线
- 飞利浦公司开发
- 需要2条线完成单片机与接口器件之间的信息传输
- 三种数据传输速度:标准模式(100kbit/s)、快速模式(400kbit/s)、高速模式(3.4Mbit/s)
- 只有一根数据线SDA,所以数据收发只能分时进行
- SDA和SCL需要上拉
8.2.3 1-wire总线
- 单线总线(单总线)
- 达拉斯(Dallas)半导体公司推出的特有总线技术
- 采用单根信号线实现数据的半双工双向传输,并同时通过该信号线为单总线器件提供电源
- 一般用于100kbit/s以下速率的测控或数据交换系统
8.3 存储器扩展
- 数据存储器扩展&程序存储器扩展
- 使用较少,只在特定场合
- 通常采用串行扩展:基于I2C、SPI的串行EEPROM
8.4 I/O扩展
- 单片机I/O口不够用时,需要进行扩展
- 概念:I/O接口电路;I/O端口
- I/O端口的编址
- 单片机与I/O设备进行数据交换的方式:无条件传送、查询状态传送、中断传送方式传送
8.4.1 并行扩展I/O
- 不可编程&可编程
- 74LS245&8255A
8.4.2 串行扩展I/O
- 优势:不占用片外RAM地址,节省硬件开销
- 局限:占用串行口
- 举例:PCA9534