第四章 微机总线
4.10, 4.11 图4.6周期图
总线:总线是功能部件之间实现互连的一组公共信号线
总线类型
- 芯片总线:大规模集成电路内部的总线
- 内总线:微机系统中功能单元的连线
- 外总线:微机系统与外设或微机系统之间的连接总线
总线操作
- 总线请求和仲裁
- 寻址
- 数据传送
- 结束
总线仲裁
- 集中仲裁
- 分布仲裁
同步方式
同步 & 异步
总线周期
写总线周期
- T1:输出存储器地址或 I/O 地址
- T2:输出控制信号 WR低有效
- T3:总线操作继续,检测READY以决定是否延长时序
- Tw:如果T3 READY信号无效,插入延时 Tw
- T4:T3 READY有效,进入T4 完成数据传送
读总线周期
基本同写总线周期
T2控制信号 RD低有效
T4的前沿读入数据,完成传送
第五章 主存储器
- 全译码,部分译码
- 位拓展,字拓展
全译码和部分译码
全译码:使用全部系统地址总线的译码方法
全译码的特点:
地址唯一,一个存储单元只对应一个存储器地址,组成的存储系统地址空间唯一
部分译码:只使用部分系统地址总线进行译码
部分译码的特点:
有一部分地址信号对应两种编码,出现了地址重复:一个存储单元对应多个存储器地址,浪费了存储空间
位拓展和字拓展
位拓展:地址范围不变,数据位数增加
字拓展:数据位数不变,地址范围增加
第六章 输入输出接口
外设和主机数据交换方式:
- 软件:无条件传送,查询传送,中断传送
- 硬件:DMA传送
每个方式的特点。。。
图6.8 & 6.11
查询传送
定义:
查询传送也称异步传送,当处理器需要与外设交换数据时,首先查询外设工作状态,只有在外设准备好的情况下才进行数据传输,有查询和传送两个环节
特点:
查询传送工作可靠,具有较广的适用性,但是需要大量的处理器时间,效率较低
中断传送
定义:
在中断传送下,处理器正常执行程序,处理各种事务,外设在准备好的条件下通过请求信号主动向处理器提出交换数据的请求
特点:
中断传送,外设在启动后可以和主机各自独立,并行的工作,除非需要进行数据交换,由外设向处理器提出请求,然而实现中断传送需要多方配合,相对比较复杂。所以,整个中断传送过程由多个阶段完成,有些需要处理器等硬件自动完成,有些需要实现编写中断服务程序完成
第七章 中断控制接口
8259A主要任务:辅助处理器对可屏蔽中断进行优先权管理
可编程寄存器:ISR,IRR,IMR
8259A的编程:7.3.4
8088响应中断的过程 7.1.2 6点
区别接口电路中不同寄存器的主要方法
8088只能处理256个中断,可屏蔽中断需要借助专门的中断控制器实现优先权管理
8259A是为管理8088微处理器的可屏蔽中断而设计的
8088中断响应过程
- 保护标志位(压入堆栈)
- 禁止可屏蔽中断和单步中断
- 中断逻辑地址压入堆栈
- 取出中断服务程序入口地址送入CS:IP寄存器
- 进入中断服务程序,执行处理程序,最后通过IRET返回主程序
- IRET将断点地址恢复,标志寄存器出栈恢复
可编程寄存器
IRR 中断请求寄存器:保存8条外界中断请求信号
ISR 中断服务寄存器:保存正在被服务的中断状态
IMR 中断屏蔽寄存器:保存中断请求信号IR的屏蔽状态
8259A编程
8259A初始化编程就是给8259A写入初始化命令字(ICW)
初始化命令字ICW:
- ICW1: 初始化字 D3LTIM:1电平 0边沿 D1SNGL:1单片0级联 D0IC4:1写ICW4 0不写
- ICW2:中断向量字 只设置前5位 后面自动填充000 001 …
- ICW3:级联命令字 主片:表明哪一位有从片 从片:表明接的是主片的哪一个
- ICW4:中断方式字 0 0 0 SFNM(1:特殊嵌套) BUF M/S(1:主片) AEOI(1:自动结束) uPM(1:16位)
操作命令字OCW:
- OCW1:写入屏蔽命令字
- OCW2:中断结束和优先权循环命令字
- OCW3:屏蔽和读状态命令字
区别电路中不同寄存器的方法
- 利用读写信号区别
- 利用地址信号区别
- 控制字的标志位区别
- 芯片内顺序控制逻辑
- 由前面的控制字决定后续操作的寄存器
第八章 定时计数控制接口
8253主要任务:计时功能的实现
如何实现定时功能:。。。
如何计数:把需要计数的脉冲接入到8253 CLK 口中
可读写寄存器:计数器0 1 2 控制寄存器
8253的编程
如何实现定时功能:
定时器由数字电路的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔
8253的工作方式
有6种工作方式,由方式控制字确定
写入计数初值在之后到达的第一个输入脉冲(低到高然后高到低)才输入减一计数器
若初值位N,则有N+1个下降沿,其中有N个CLK信号
- 方式0:计数结束中断:计数减一 到0时 OUT由低变高 GATE高允许计数;低暂停计数
- 方式1:可编程单稳脉冲:输入初值OUT变低,需要GATE低启动 之后一直减一 产生稳定脉冲
- 方式2:频率发生器:输入初值之后OUT为高减到1之后OUT为低,到0时重新设置初值OUT又变为高
- 方式3:方波发生器:OUT首先为高 初值为偶数则一个完美方波,奇数前一半多1
- 方式4:软件触发选通信号:初始OUT为高 减到0变低一个CLK之后又变高 GATE低禁止计数,变为高重新开始计数
- 方式5:硬件触发选通信号:几乎和4相同,不过需要GATE上升沿启动和重设
8253的编程
8253的初始化编程就是对计数器各个通道写入控制字和计数初值
写入方式控制字:
D7D6: 计数器确定
D5D4:读写格式 00锁存;01读低字节;10读高字节;11先低后高
D3D2D1:工作方式
D0:0 二进制;1 十进制
写入计数值:
先写入低字节后写入高字节
读取计数值:
可暂停可先使用GATE信号暂停,否则需要先写入控制字锁存,然后读取
第十章 并行接口
8255A有24个可编程输入输出引脚,分成3个端口ABC
工作方式 最好不要用代号 A 012;B 01; C 0
8255A的初始化编程
10.3.2代码仔细看
工作方式
方式0 基本输入输出方式:
3个端口都可以进行方式0
方式0不需要应答式的联络信号,起到数据缓冲的作用
方式1 选通输入输出方式:
AB口都可以使用方式1工作,方式1是一种借助应答联络信号的输入输出方式
方式2 双向选通输入输出方式:
只有A0可以使用,因为没有多余的C控制口
A工作在方式2的时候B口可以工作在方式0或1
8255A的编程
8255A的初始化编程只需要一个方式控制字就可以把三个端口设置完成
写入方式控制字:
D7(1) D6D5(A方式选择)D4(A输入输出0出1入)D3(C4-C7输入输出)D2(B方式)D1(B输入输出)D0(C剩余输入输出)
读取数据端口:
可以直接通过端口地址读取
读写端口C:
直接通过端口地址读写(不同方式读取内容不同)
通过控制字:
0 D6D5D4(任意)D3D2D1(C口位选择)D0(0复位 1 置位)
第11章 串行通信接口
8250寄存器分类:2个数据寄存器 3个状态寄存器 4个控制寄存器
11.4.2 异步通信适配器的初始化编程
异步通信传输字符格式
串行通信的优势是通信线路少,远距离通信可以大大降低成本,适合远距离通信
异步通信传输字符格式
1个起始位,5~8个数据位,一个可选的奇偶校验位,1到2个停止位,以及若干空闲位
同步通信使用帧作为传输单位,附加一到二个同步字符,以校验字符结束实验同步通信
传输制式
全双工:发送接收不同线,可以实现同时的发送和接收
半双工:一条线既可以发送也可以接收,同一时刻只能一种
单工:只能发送 或者接收
8250寄存器
- 接收缓冲寄存器RBR:存放串行接收后转换成并行的数据(数据寄存器)
- 发送保持寄存器THR:存放即将要串行发送的并行数据(数据寄存器)
- 16位除数寄存器:控制数据传输率(控制寄存器)
- 通信线路控制寄存器LCR:指定串行异步通信的字符格式(数据为个数 停止位个数 是否奇偶校验)
- 通信线路状态寄存器LSR:提供异步串行通信当前状态,反映接收数据是否准备就绪和发送保持寄存器是否为空以决定下一个读写操作 (状态寄存器)
- 调制解调器控制寄存器MCR:设置8250和数据通信设备(调制解调器)之间的联络应答的输出信号(控制)
- 调制解调器状态寄存器MSR:反映四个控制输入信号的当前状态和变化 (状态寄存器)
- 中断允许寄存器IER:控制中断是否被允许 (控制寄存器)
- 中断识别寄存器IIR:多级中断时,具体识别哪一级中断引起的请求,以便分别处理(状态寄存器)
异步通信适配器的初始化编程
- 设置传输率(写入除数寄存器)
- 设置通信字符格式(写入通信线路控制寄存器)
- 设置工作方式(写入调制解调器控制寄存器)
- 涉资中断允许或屏蔽位(写入中断允许寄存器)
第12章 模拟接口
DAC
与主机连接比较简单,主要是处理好数据总线的连接
ADC
输出指令启动转换,START信号正脉冲有效,EOC为1转换结束