Presentation is loading. Please wait.

Presentation is loading. Please wait.

微型机系统与接口技术复习.

Similar presentations


Presentation on theme: "微型机系统与接口技术复习."— Presentation transcript:

1 微型机系统与接口技术复习

2 第一章 微机结构的发展 一、微机系统整机结构 1、系统组成与基本工作原理 工作原理:存储程序、指令按序执行(有序和中断)
第一章 微机结构的发展 一、微机系统整机结构 1、系统组成与基本工作原理 工作原理:存储程序、指令按序执行(有序和中断) 2、软件、OS和硬件 硬件系统 (调度与控制) 操作系统 编程环境 用户操作 编译 程序 源程序 文件 目标程 序文件 OS定时任务 BOOT程序 BAT文件 OS文件 驱动及应用程序文件 执行请求

3 3、整机结构 (1)CPU组成与结构 CPU 地址总线(AB) RAM I/O接口 I/O设备 ROM 数据总线(DB) 控制总线(CB)
ALU内部总线 EU 控制部件 执行单元EU 总线 控 制逻辑 外部 总线 总线接口单元BIU ALU 通用寄存器组 段寄存器组 指令指针 寄存器 指令队列/ 指令缓冲器 地址生成逻辑 指令译码部件 内部暂存器 回下页

4 ⑴CPU能实现哪些功能?指令系统所有指令功能 ⑵如何实现指令的功能?软件指令→硬件信号转换 ⑶如何实现转换?指令译码、时序控制
⑷译码的功能?取得相同连接线的不同信号值!! ⑸如何与外部通信?对MEM或I/O接口产生总线操作 ⑹如何实现时序控制?控制与外部通信、功能实现 ⑺如何控制指令执行顺序?修改CS:IP的值 ⑻如何实现指令串功能?指令或OS修改CS:IP控制 ⑼应用程序如何到达CPU?OS控制CS:IP的内容 转上页 转下页 转6页

5 CPU BIU EU 功能:实现指令系统指令功能 总线控 制逻辑 段寄存 器组 地址加法器 指令指针 寄存器 指令队列 指令顺序控制
软件指令→硬件信号+时序控制 译码器 ↓译码 指令→(操作码,地址码) 控制器 ↓电路 时序控制 功能部件 功能实现 REG地址 通用寄 存器组 MEM、I/O地址 回上页

6 CPU中指令执行过程: 当前指令(指令队列头指令)译码 操作码 地址码 对应功能 部件工作 产生总线操作(AB、DB、CB有效)
部件操作 对应总线部件工作 数据 Y N REG数据 下条指令变为当前指令(执行CS:IP) 部件数据 修改CS:IP 说明:非CPU内部操作时,地址码肯定是非CPU内部数据 非CPU内部数据时,CPU功能部件可能会工作(如计算功能的直接寻址方式) 回4页

7 功能:受总线操作驱动,按地址实现MEM数据存取 硬件:控制器(MEM接口)、存储阵列 数量:系统中只有一个MEM(只用一个MEM地址空间)
(3)I/O接口与I/O设备结构 功能:CPU对设备访问通过I/O接口完成, 对I/O接口按地址读写(I/O、配置操作) 数量:系统中可有多种类型(每种多个)接口 接口区分:①所有接口I/O操作共用一个I/O地址空间,各接口地址范围不同;②每个接口的每个功能的配置操作单独使用一个配置地址空间 说明:地址空间均从0开始编址。 不同的地址空间通过总线操作类型区分。

8 CB:区分接口地址空间类型,及对MEM、I/O接口、中断控制器(中断响应)的操作;
(4)总线信号组成及功能 CB:区分接口地址空间类型,及对MEM、I/O接口、中断控制器(中断响应)的操作; 注:I/O接口有I/O操作和配置操作两种 AB:区分不同的接口,接口内部目标数据(或REG)的地址; 注:不同接口地址最低精度不同,使用AB线数量不同 DB:提供与接口通信所需要的数据通道。 注:间接访问时,DB可以为地址传输通道 总线信号由总线控制器(或CPU总线控制逻辑)产生。 总线时序要求各接口均要遵守。

9 功能:缓冲/锁存数据、处理CPU指令(总线操作)、信号转换(控制外设)、可编程
(6)I/O接口组成与结构 功能:缓冲/锁存数据、处理CPU指令(总线操作)、信号转换(控制外设)、可编程 结构:CPU侧信号、内部结构(内部REG、内部地址译码、控制逻辑)、外设侧信号 约定:不同I/O接口占用I/O地址空间的不同段 连接:按约定段选择与总线地址线的连接方法 识别:对CB、AB译码,确定本接口是否被选中 内部逻辑:含接口选中、通道控制、信号缓冲/锁存、信号转换等 接口≠接口芯片,接口芯片是接口的一部分。 接口连接总线,要遵守总线通信协议。 CPU不对接口操作时,接口照常对外设进行控制。 回下页

10 接口地址空间:MEM、I/O、配置地址空间
(7)CPU命令、总线操作与接口 接口地址空间:MEM、I/O、配置地址空间 MEM 232-1 I/O 216-1 接口1配置 28-1 F0 接口n配置 F7 对应操作:0110/ / /1011 参数: AB+DB AB+DB AB+DB 线 选中条件:特定操作 特定操作 特定操作+ A15~Ax=约定的实现 A31~A11=约定的实现 功能选择: 无 无 A10~A8 REG选择: 无 Ax-1~A A7~A2(A1A0=00) 思考:接口选中与CS#有效的关系?CS#指芯片,当接口=芯片时,两者等价 谁采用方法,生成不同的总线命令?CPU CPU对应指令: MOV IN/OUT OUT+IN/OUT(间接访问) 采用一定方法,产生不同总线操作 转上页 回下页 回12页

11 CPU RAM 接口地址空间的实现—连接: CB DB AB 说明:接口分固定地址和可变地址两种,可变地址接口在初始化后地址同样已固定;
C/BE# D31~D0 其他控制信号 状态信号 8255 CS RD WR Ax-A0 D7-D0 PA7 PA0 A31~A0 可选地址接口 固定地址接口 配置使能信号 说明:接口分固定地址和可变地址两种,可变地址接口在初始化后地址同样已固定; 固定地址接口一般只有接口芯片+简单逻辑电路; 接口芯片信号(RD#、WR#)不能与总线连接时,需采用转换方法连接; 可变地址接口的CS#为其内部逻辑的内容。 转上页 回13页 回14页 回22页

12 组成:CPU中断机构、中断控制器、IVT管理结构 中断请求类型:软件中断、硬件中断 中断向量地址空间(IVT):
(8)中断系统组成 中断处理过程:请求、响应、处理、结束 组成:CPU中断机构、中断控制器、IVT管理结构 中断请求类型:软件中断、硬件中断 中断向量地址空间(IVT): 1024B(256个IV),借用MEM空间, 按IV(转换成MEM地址)访问 地址空间 MEM I/O I/O配置 中断向量 CPU指令 MOV IN/OUT MOV① 参数 DB+AB 中断类型号② 主控方 软件 硬件 ①中断响应机构(非软件)执行,时机可为指令间和指令中; ②外部硬件中断需通过INTA#周期取得中断类型号。 转11页

13 (9)整机结构复习要点 (粗线条范围内彻底理解) ①微机系统的软、硬件组成及功能; ②微机系统实现用户软件功能的过程;
(9)整机结构复习要点 (粗线条范围内彻底理解) ①微机系统的软、硬件组成及功能; ②微机系统实现用户软件功能的过程; 提示:启动→OS→用户软件执行→结果输出 ③硬件系统具有的功能(指令、I/O、中断系统); ④硬件系统的组成及各部分主要功能; ⑤各组成部分之间的连接; ⑥各组成部分连接的软、硬件映射; ⑦各组成部分连接的物理实现。 转11页

14 ①用户软件指令如何到达CPU的指令队列? ②CPU实现的主要功能? ③CPU如何将软件指令转化为硬件信号及时序?
整机结构复习思考: ①用户软件指令如何到达CPU的指令队列? ②CPU实现的主要功能? ③CPU如何将软件指令转化为硬件信号及时序? ④指令与外部无关时,总线状态如何? ⑤CPU与外部通信的指令是什么?能实现对接口的哪些操作?总线如何表示这些操作? ⑥各接口如何无冲突地识别对自己的总线操作? ⑦CPU不与接口通信时,接口与外设间工作状态? ⑧接口向CPU主动发送信息的方法? ⑨中断处理过程、中断类型、中断处理时机? 转11页

15 要点:工作原理、各部件实现功能及相互联系; 各部件存在的原因及结果。
二、微处理器结构 1、8086 CPU结构 ALU数据总线(16位) 运算寄存器 ALU 标志寄存器 EU 控制系统 执行单元EU 总线 控制逻辑 指令队列 8088 8086 Q总线 (8位) 外部 总线 总线接口单元BIU AH AL BH BL CH CL DH DL SP BP DI SI 通 用寄存 器 AX BX CX DX CS DS SS IP 内部暂存器 数据总线 8088:8位 8086:16位 地址总线 20位 指令指针 段寄存器 要点:工作原理、各部件实现功能及相互联系; 各部件存在的原因及结果。

16 2、8086 CPU引脚及相关连接 引脚信号:地址、数据、控制/状态、中断信号功能 总线操作:操作命令(课件CH1 P28)与CPU指令、 操作时序图(课件CH1 P29) 最大模式连接:功能,信号定义及转换 3、CPU结构发展 结构发展:多功能部件、流水线、REG扩展、工作模式扩展 工作模式:实模式、保护模式、虚拟8086模式、电源管理模式功能,实模式存储管理

17 ①CPU执行软件指令过程中,各部件状态的变化? ②CPU通过什么控制指令执行顺序? ③能够存放指令操作数的部件有哪些?
微处理器结构复习思考: ①CPU执行软件指令过程中,各部件状态的变化? ②CPU通过什么控制指令执行顺序? ③能够存放指令操作数的部件有哪些? ④REG的类型有哪些?为什么要设置? ⑤8086的主要引脚定义、功能? ⑥总线操作类型,过程与信号时序? ⑦各种工作模式的内涵、相互关系? 1、取指、译码(含取操作数)、执行(按一定时序处理)、写结果

18 PC/XT、386/486、PII、PIII结构与核心芯片的发展
键盘 鼠标 串行口 并行口 处理器 8XX系列 存储控制中心 中心高速接口 I/O控制中心 固件中心 PCI槽 PCI总线 IDE驱动器 USB端口 AC’97编码 Super I/O LPC I/F AGP图形控制器 主存储器 CPU总线 LAN连接 复习要点:各种接口核心芯片的发展、结构的发展、82801BA与简单芯片间关系。

19 第二章 I/O与接口技术 一、接口基本概念 功能:缓冲/锁存、处理总线操作、信号转换 组成: ①总线信号--CPU侧信号连接、D/A缓冲;
②内部端口译码→REG R/W控制、REG内容→外设侧引脚; ③外设侧信号←→REG 思考:为什么CPU侧为地址总线信号,而非CS#和Ax~A0信号?接口≠接口芯片 为什么CPU侧为控制总线信号,而非RD#、WR#信号?不同总线控制信号格式不同 接口芯片的信号可通过总线信号组合(或转换)得到 注意: CPU对接口的控制与接口对外设的控制是独立的!

20 程序控制(有/无条件、中断)、DMA、IOP方式
二、数据传输控制方式 程序控制(有/无条件、中断)、DMA、IOP方式 三、I/O编址与访问 1、端口编址 I/O端口:接口内部REG或缓冲器。 (1)某接口的I/O端口 I/O端口数量:不同的接口数量不同,对应为需要的地址引脚数量不同; I/O端口识别:接口内部按地址引脚值译码来选择; 对I/O端口的访问:总线操作选中该接口时,按接口地址引脚(部分总线地址线)值访问对应的I/O端口。 CPU对接口的访问实际上是对接口中REG的访问。 回下页

21 (2)所有接口的I/O端口—I/O空间 各接口内部I/O端口地址一般连续— 接口地址引脚连接总线地址线低位; 各接口不同时被选中—
总线地址高位值不同使不同接口片选 引脚为真。 AX-1-A0 AZ-1-AX AY-1-AZ A15-AY 0000H FFFFH I/O空间 N N+2x-1 某接口选中值=S 某接口端口数量2X 起始地址N= 0…0 S 通过门电路(与预定值相同输出为真)与接口片选引脚相连 与接口地址信号相连 转上页

22 CPU对I/O端口访问实际上是对接口中REG的访问。 CPU指令: IN/OUT,INSB(W、D)/OUTSB(W、D);
CB—IO/M#高、AEN无效、RD#/WR#等, 接口被选中时,应满足IO/M#高、AEN无效等条件 AB—各地址线值与I/O空间中I/O端口地址对应, DB—各信号线值与I/O端口(REG)的数据对应, DB、AB复用时地址期和数据期含义不同。 转11页

23 3、I/O保护 实模式 I/O指令 允许访问 不允许访问 CPL≤IOPL I/O允许位映像 允许 保护模式 Y N 虚拟8086模式

24 译码器(高位地址线)+门电路(中间位地址线) 门电路(线高位地址)+比较器(中间位地址线)
四、接口分析与设计方法 1、x86微机接口分析 I/O接口物理位置 系统板上I/O接口 扩展槽中I/O接口 接口地址段在I/O地址空间中分配 低端 高端 接口起始地址 (片选) 实现策略 硬件连线(固定) /跳线开关(可选) OS分配 (可变) 实现方法 译码器(高位地址线)+门电路(中间位地址线) 门电路(线高位地址)+比较器(中间位地址线) 比较器 (全部地址线) 接口内部地址 译码附加硬件 配置信息存储机构 2、地址译码方法与电路 固定端口地址译码:门+译码器; 可选端口地址译码:跳线开关+比较器/门+比较器。

25 固定端口地址译码实现: 先分配(确定地址线Y和Z)、后连接(各接口X不同)。 AX-1-A0 AZ-1-AX AY-1-AZ A15-AY
0000H FFFFH I/O地址空间 系统板 扩展槽 译码器 划分 0 —系统板 非0—扩展槽 A15-A0=0…0 1…1 AY-1 划分 AZ-1-AX=0…0 AZ-1-AX=1…1 接口内部地址 A15-AY=? 译码输出=? AZ-1-AX=? AX-1-A0 CS 控制信号 RD/WR

26 可选(跳线开关)端口地址译码实现: AX-1-A0 AY-1-Ax A15-AY 系统板 I/O地址空间 … 扩展槽 0 —系统板
0000H FFFFH I/O地址空间 扩展槽 0 —系统板 非0—扩展槽 A15-A0=0…0 1…1 AY-1 比较器 SWY-1 SWX A15-AY=? AX-1-A0 CS 控制信号 RD/WR 跳线开关

27 可选(OS分配)端口地址译码实现: 3、接口分析与设计方法 主板相关设计约定 接口硬件设计、接口软件设计 DEVSEL# 已配置的基址REG
A31-A0 IDSEL C/BE# DEVSEL# + A15-AX 已配置的基址REG 比较器 支持的PCI操作码 A10-A8 具备功能数REG PCI配置操作码 3、接口分析与设计方法 主板相关设计约定 接口硬件设计、接口软件设计

28 I/O接口技术复习思考: ①I/O接口的基本功能?如何实现这些功能? ②接口的基本组成部分?内部控制逻辑与CPU侧、外设侧信号间的关系? ③举例说明如何实现无/有条件传送和中断传送。 ④总线地址信号与I/O地址空间之间的映射规律? ⑤CPU对端口的访问指令与总线信号状态关系? ⑥约定的接口的起始地址,有哪些译码实现方法? ⑦接口分析和设计的一般方法?

29 第三章 总线与接口标准 一、系统总线 总线与接口区别、性能参数、总线标准特性、操作步骤与控制方法、系统总线含义 二、PCI总线
第三章 总线与接口标准 一、系统总线 总线与接口区别、性能参数、总线标准特性、操作步骤与控制方法、系统总线含义 二、PCI总线 突发传输原理、PNP配置(配置访问)过程 知识点: 功能→命令(I/O、MEM、配置等) 空间→I/O、MEM、配置空间 单CPU 启动 寻址 ←信号定义 操作 响应 →协议(时序) 数据 终止 多CPU→总线请求与仲裁

30 1、信号定义 —功能与含义 信号功能,主设备、从设备不相同的连接信号。 频率 发生器 接口1 PCI总线控制器 主设备1 接口2 主设备2
1、信号定义 —功能与含义 信号功能,主设备、从设备不相同的连接信号。 主设备1 PCI总线控制器 AD[31:0] C/BE#[3:0] 接口1 接口2 FRAME# IRDY# LOCK# AD11 IDSEL DEVSEL# TRDY# STOP# 未连接信号线:REQ#、 GNT#、IDSEL# REQ# GNT# 频率 发生器 CLK AD12 AD31 AD16 PCI桥 共用信号线 INTA~H# PCI中断控制器 控制/状态 地址/数据 主设备2 软件控制不同时有效 回35页 回36页

31 思考:PCI总线命令与ISA总线控制信号对应关系? MEM控制器如何对待不同MEM操作命令?
2、总线功能 --总线命令(操作) C/BE#[3:0] 命令类型 0000 中断响应 1000 保留 0001 特殊周期 1001 0010 I/O读(从I/O端口读数据) 1010 配置读 0011 I/O写(向I/O端口写数据) 1011 配置写 0100 1100 存储器多行读 0101 1101 双地址周期 0110 存储器读(从内存读数数据) 1110 存储器行读 0111 存储器写(向内存写数据) 1111 存储器写并无效 思考:PCI总线命令与ISA总线控制信号对应关系? MEM控制器如何对待不同MEM操作命令?

32 地址空间类型、大小、最小寻址精度,空间区分; 字节对齐、最小精度内地址信号的利用;
3、总线寻址 --总线操作地址空间 地址空间类型、大小、最小寻址精度,空间区分; 字节对齐、最小精度内地址信号的利用; PNP时总线命令与配置地址空间: 设备尚无地址、可有多个功能、厂家不同,总线命令无法选择配置空间,须通过辅助手段定位(总线、设备、功能)配置空间。 功能1 255 功能n 功能m 设备1 设备k 思考:如何区分三种地址空间? 为什么每块卡的每个功能一个配置空间?

33 ★协议(启动、响应、传输控制、中止)、仲裁 信号定义与总线协议密切相关!需进行关联复习
4、总线协议 ★协议(启动、响应、传输控制、中止)、仲裁 信号定义与总线协议密切相关!需进行关联复习 CLK FRAME# 1 2 3 4 5 6 7 8 9 AD C/BE# IRDY# TRDY# DEVSEL# ADDRESS DATA1 DATA2 DATA3 BUSCMD BE#s 地址期 数据期 思考:FRAME#何时可恢复?为什么有的信号需要过渡周期? 从设备如何请求停止传输?DEVSEL#无响应怎么办?

34 基础:PNP过程,物理设备、功能设备及配置空间。
5、PCI总线配置 基础:PNP过程,物理设备、功能设备及配置空间。 HOST-PCI桥的配置访问总线命令地址期信息: C/BE#[3:0]=1010/1011; AD[23:16]=选择的目标总线(目标设备所在的总线); AD[15:11]=选择的目标设备IDSEL(只有一个有效); AD[10:8] =选择的目标设备的功能; AD[7:2] =选择的目标功能的配置空间中REG的索引; AD[1:0] =目标设备在一级总线上时为00, 目标设备在其他总线上时为01。

35 ①PCI设备对是否被选中(目标设备)的检测: 选中条件— 自己的IDSEL引脚信号有效、AD[1:0]=00。 检测原理—
(1)配置空间的选择 目标PCI桥(目标总线)、目标设备无对应的配置空间; 目标桥PCI下目标设备的某功能才有对应配置空间。 ①PCI设备对是否被选中(目标设备)的检测: 选中条件— 自己的IDSEL引脚信号有效、AD[1:0]=00。 检测原理— 所连总线为目标总线(AD[1:0]=00); 在目标总线上被选中。 说明:a)从一级总线到目标总线过程中,各级总线上设备可能IDSEL信号有效的条件满足,但AD[1:0]=00条件不满足; b)当前总线上无设备被选中时,无DEVSEL#,中止

36 选中—指自己为目标桥,或目标桥的中间桥。
②PCI桥对是否被选中的检测: 选中—指自己为目标桥,或目标桥的中间桥。 选中条件— PCI桥上级总线 AD[23:16]=cdA、AD[1:0] PCI桥下所连总线号=efB 目标桥 B=A、cd=ef ,且AD[1:0]=01 目标桥的中间桥 B=A、cd≠ef ,且AD[1:0]=01 未选中 B≠A,或AD[1:0]=00 被选中时的处理— 目标桥 对上级总线信号,将AD[1:0]改为00后,传至所连总线上 目标桥的中间桥 直接将上级总线信号传至所连总线上 未选中 无任何动作(忽略本次操作) 转30页

37 PCI设备的IDSEL引脚信号有效、AD[1:0]=00, PCI设备具备的功能数>A[10:8]。
选中条件: PCI设备的IDSEL引脚信号有效、AD[1:0]=00, PCI设备具备的功能数>A[10:8]。 说明:当AD[10:8]≥PCI设备具备的功能数时,PCI设备不发出DEVSEL#信号,当前总线操作中止。 PCI桥用AD[23:16]、AD[1:0] 判断是否为目标桥/中间桥 PCI设备用C/BE#[3:0]、AD[15:11]、AD[1:0]判断是否为目标设备 PCI桥 HOST-PCI桥 CPU I/O命令(IN/OUT指令) 配置命令(C/BE#[3:0]、AD[31:0]) PCI设备用AD[10:8]选择目标功能及有无 PCI桥用AD[1:0]指明对应总线是否为目标总线(设备判断需用) 转30页

38 ②0类配置访问处理:—当前总线上设备的处理
(2)配置空间的访问方法 ①配置访问类型: 0类配置访问—访问当前总线上(AD[1:0]=00)设备; 1类配置访问—访问下级总线上(AD[1:0]=01)设备。 ▲CPU访问一级总线上设备时AD[1:0]=00,否则AD[1:0]=01 ②0类配置访问处理:—当前总线上设备的处理 当前总线上设备和功能设备均被选中时,设备给出DEVSEL#响应信号,完成配置操作访问请求。 ③1类配置访问处理:—PCI桥对配置访问的处理 PCI桥根据自己是否被选中,对总线操作进行相应处理。 目标桥 目标桥的中间桥 未选中 将总线信号的AD[1:0]改为00后,传至所连总上,变成了0类访问 直接将总线信号传至所连总线上,仍为1类访问 忽略本次操作

39 ④配置空间访问的实现: a)总线级访问的实现—直接访问 b)CPU级访问的实现—间接访问
C/BE#[3:0]=配置读/配置写(1010/1011); AD[23:16]=选择的目标总线(目标设备所在的总线); AD[15:11]=选择的目标设备IDSEL(只有一个有效); AD[10:8]=选择的目标设备的功能; AD[7:2]=选择的目标功能的配置空间中REG的索引; AD[1:0]=目标设备在一级总线上时为00, 目标设备在其他总线上时为01。 b)CPU级访问的实现—间接访问 ⑴OUT指令—将总线级访问所需的地址送到配置机构; ⑵IN/OUT指令—与配置机构间传递总线级访问的数据。 回下页

40 c)配置机构的配置转换实现: 过滤器 HOST-PCI桥中配置机构 OUT DX,EAX I/O地址空间 … 目标功能设备配置空间
FFFFH I/O地址空间 00H FFH 目标功能设备配置空间 3FH 头区域 自由 区域 目标物理设备IDSEL DX=0CF8H DX=0CFCH DX在0CF8H-0CFFH之间 Y N 产生I/O总线操作 操作为OUT,EAX最高位为1 配置数据REG←EAX A31-A0 配置地址REG←EAX 配置地 址REG: 配置数 据REG: 产生配置总线操作 命令结束 A31-A16 A15-A11 A10-A8 A7-A0 转上页

41 (3)配置信息的获得与分配 配置信息(空间请求和基址分配)的保存: 基址REG和扩展ROM基址REG。
请求信息保存—硬件固化,只可读; 分配信息保存—软件可设置,可读和写。 请求的空间大小和分配的起始地址实现: 请求空间 I/O映射 MEM映射 扩展ROM映射 大小范围 4B~256B 16B~2GB 1KB~2GB 请求大小 2的幂次方大小(2n) 类型区分 基址REG的D0=1 基址REG的D0=0 扩展ROM基址REG 大小表示 Dn-1位~D2位为0 Dn-1位~D4位为0 Dn-1位~D10位为0 大小获得 向REG写全“1”后,再读REG,空间大小为2n(Dn位开始为1) 基址分配 系统确定基址(为请求空间大小的倍数)后,将基址写入REG

42 四、USB串行总线 1、USB系统的组成 硬件组成:主控制器/根Hub、USB Hub、USB设备,树型结构
主控制器连接到PCI总线,占用I/O地址空间 每个设备只有一个USB逻辑地址(非I/O地址) 每个设备最多有16个端点(设备内部REG编码) PCI总线 USB主控制器/根Hub 电话 显示器 集线器 0000H FFFFH I/O地址空间 软件组成:主控制器驱动程序、USB驱动程序、USB设备驱动程序,层次结构

43 2、USB系统的通信 (1)USB系统的通信模型 I/O系统通信→USB系统通信、并行通信→串行通信。 USB设备驱动程序 USB驱动程序
主机系统 USB功能设备 USB设备 USB逻辑设备 USB总线 非USB格式数据 USB格式数据 缓冲区 事务描述符 调度与传递 主控制器 根集线器 帧内处理 USB格式 USB线 缺省管道 管道 总线层 设备层 功能层 回下页

44 ①USB驱动程序将IRP分解为几个USB事务(描述符); ②USB主控制器驱动程序将这些事务调度到各帧中;
④每个事务的执行通过1~3个包交换完成。 USB主 控制器 ①标志包或特殊包 USB 设备 ②数据包 ③握手包 帧i事 务传输 描述符 事务1 事务2 事务3 缓冲区1 缓冲区2 主存 主控制器 (全速事务) 设备1 设备2 (3)USB系统数据流与传输类型 控制传输、批传输、中断传输、等时传输4种。 不同类型的传输,对包交换中包的数量和类型要求不同 转上页

45 3、USB总线 信号定义、电气特性(供电、电压) 总线状态、状态转换 设备状态与总线枚举 4、NRZI编码—双向不归零编码
重置状态 未连接状态 空闲状态 连接状态 工作状态 4、NRZI编码—双向不归零编码 数据表示、时钟宽度、填充规则 原始数据 空闲 填充数据 填充位 NRZI码

46 包格式:组成、CRC、发送方、传输类型与包序列
5、USB总线包交换(完成事务)格式 事务与包、帧与事务— IRP请求 事务 标志包 数据包 握手包 帧开始包 标志包 数据包 握手包 标志包 数据包 … 事务 事务2 包格式:组成、CRC、发送方、传输类型与包序列 思考:如何实现传输速度的自动识别? 事务中如何反映USB设备地址和端点? 如何知道一个包的到来?

47 总线技术复习思考: ①PCI总线操作如何区分MEM、I/O、配置地址空间? ②PCI总线传输协议中,为何只有I/O空间需要字节对齐?
提示:操作请求从顶级总线→桥→设备→功能的过程 ⑤配置机构如何截取I/O操作、产生配置操作的? ⑥PCI总线如何利用同一REG实现空间请求及基址分配? ⑦用户对USB设备的操作请求,通过什么过程到达USB设备? 提示:USB的树型结构、USB设备地址与HUB端口的多一 ⑧USB总线信号电气特性如何反映总线状态? ⑨USB设备如何识别并处理USB总线事务的? 提示:总线状态、包的SYNC、标志包、端点与操作 ⑩不同USB传输类型,需要什么样的包交换?为什么?

48 第五章 中断技术 一、中断及中断系统基本概念 中断处理流程:请求、响应、服务、结束 中断系统组成:
第五章 中断技术 一、中断及中断系统基本概念 中断处理流程:请求、响应、服务、结束 中断系统组成: CPU中的中断机构—实现中断请求检测、判优、响应、屏蔽、优先级管理、嵌套功能; 中断结束由IRET指令触发完成,不属于中断机构范围 I/O系统中的中断控制器—实现外部硬件中断请求的检测、排队、判优、屏蔽、请求、响应、结束、优先级管理功能; 3个独立工作段:检测→请求、响应、结束→优先级管理 OS中的中断服务程序管理机构—实现IVT/IDT的管理功能。 提供DOS功能调用:中断类型号→程序入口地址的读/写 回下页

49 中断系统工作原理: 中断机构、中断控制器的3个工作段并行工作; 外设请求 中断 控制器 中断机构 软件请求 IVT/IDT 软件程序
固定 检→判→响 检→判→响 结 结 优先级 测 优 应 测 优 应 束 束 响 检→排→判→请 响 结→动态 结→动态 应 测 队 优 求 应 束 优先级 束 优先级 中断2 服务 中断机构 中断 控制器 外设请求 请求1~3 检→排→判→请 测 队 优 求 软件请求 软件程序 屏蔽 请求 请求5 请求4 中断1服务 时间 中断1 嵌套 IVT/IDT 中断类型号→中断向量 转上页 回下页

50 中断系统基本概念复习思考: ①CPU的中断机构与中断控制器的中断请求检测有何区别?
②排队与判优概念有何区别?中断机构与中断控制器的判优有何区别? ③中断响应实现哪些功能?中断机构对不同请求类型的响应有何不同(从响应时机和保存现场方面)? ④中断结束处理时如何回到断点的?如何触发中断结束? ⑤中断机构与中断控制器的屏蔽有何区别? ⑥针对各种类型中断如何得到中断服务程序入口地址? ⑦CPU中断机构如何实现中断请求优先级管理的? ⑧CPU中断机构实现嵌套的方法是什么?如何实现外部硬件中断请求嵌套的允许/禁止? 转上页

51 实现功能:检测请求、排队与判优、屏蔽、优先级管理、提出中断请求、响应(提供中断类型号)、操作
二、8259A 1、内部结构与工作原理 实现功能:检测请求、排队与判优、屏蔽、优先级管理、提出中断请求、响应(提供中断类型号)、操作 IR0 IR7 中断请求寄存器IRR ≥1 & INT 比 B0 较 B1 器 B2 A>B或A≥B A0 A1 A2 中断请求优先编码器 IBR 中断服务优先编码器 中断屏蔽寄存器IMR 正在服务寄存器ISR 特殊屏蔽SMM 回下页

52 排队用于阻塞低级的未处理请求,判优用于实现嵌套
排队与判优: 排队用于阻塞低级的未处理请求,判优用于实现嵌套 正常屏蔽与特殊屏蔽:屏蔽IRR还是ISR 结束方式:自动结束—按“后产生的请求优先”原则判优 手工结束—按“高优先级请求优先”原则判优 优先级管理:优先级改变规则—IR0→IR7降序+固定/轮转方式 实现时机及方法—ISR变化时改变IBR CPU响应外部硬件中断请求条件: ①当前指令执行完毕;②EFLAG中IF=1;③INTR信号有效。 中断响应过程:--提供中断类型号过程 两个INTA#(中断类型号、IRR复位、ISR置/复位) ★IRR、IMR、ISR、IBR、INT置位和复位的时间及效果 转上页

53 有请求、屏蔽、嵌套、结束、优先级、级联方式。
2、工作模式设置 有请求、屏蔽、嵌套、结束、优先级、级联方式。 屏蔽方式 特定屏蔽 正常屏蔽 结束方式 自动 手工 不指定 指定 中断请求IRR IR0 IR7 & INT ≥1 IRR优先编码器 ISR优先编码器 比较器 IBR 正在服务ISR 中断屏蔽IMR D0 D7 特殊屏蔽SMM 优先级管理 固定 轮转 不指定 指定 请求方式 电平触发 边沿触发 嵌套方式 完全嵌套 特殊全嵌套 级联方式 缓冲 非缓冲 INT

54 初始化、操作编程—静态工作模式与动态控制; ★编程=IN/OUT语句串+辅助语句。
3、软件编程 软件编程与硬件实现—命令关系表; ★命令关系表是所有接口芯片编程的入门!!! 初始化、操作编程—静态工作模式与动态控制; ★编程=IN/OUT语句串+辅助语句。 与芯片实现的工作模式次序对应 AL与控制/状态字格式或特征位对应 DX与芯片端口地址对应 实模式中断编程: 初始化及中断服务程序完整编程过程 注意点—中断类型号与中断向量位置、CLI/STI的作用与应用、单片及级联的中断手工结束

55 4、现代微机中断系统 三、PCI中断 中断请求:引脚→总线信号→PCI中断控制器,PIRQ-IRQ映射、优先级;
SIO LPC47B27X ①IRQx 82801BA ②SERIRQ CPU ③INTR IRQ14,15 82815EP ⑦中断类型号 ④INTA ⑥两个INTA ⑧中断类型号 ⑤INTA LPC接口 中心高速接口 CPU总线接口 三、PCI中断 中断请求:引脚→总线信号→PCI中断控制器,PIRQ-IRQ映射、优先级; 中断响应:CPU→HOST-PCI桥→PCI总线→ISA总线响应周期; 中断共享:引脚共享→采集实现,优先级→服务程序编程

56 四、串行中断 --中断请求串行传输 有效中断源、传输方式(CLK+帧)、帧结构及格式、传输模式及转换 82801BA SIO LPC
四、串行中断 --中断请求串行传输 有效中断源、传输方式(CLK+帧)、帧结构及格式、传输模式及转换 82801BA SIO LPC {IRi} SERIRQ PCICLK 信号线定义: 传输格式:空闲 开始帧 数据帧 停止帧 空闲 4/6/8CLK 3CLK× ~3CLK 帧结构: 传输模式:连续 静态 模式转换:连续/静态→静态 CLK 连续/静态→连续 CLK

57 8259A、PCI中断、串行中断复习思考: ①8259A产生中断请求过程中,有哪些影响因素?各REG置位/复位关系和时机?CPU怎样才能够接收或响应8259A的请求? ②8259A的结束方式的作用是什么?与优先级管理的关系? ③8259A级联时连接、请求、响应、编程上与单片有何不同? ④8259A初始化编程过程、为什么有ICW2? ⑤实模式中断程序编程过程、各注意点(如手工结束方法)? ⑥中断控制器一般应处在哪级总线上?为什么? ⑦PCI中断请求映射ISA请求、采集、响应方法是什么?优先级如何管理的? ⑧为什么PCI中断请求不能采用边沿触发方式?单个及共享的中断请求优先级如何确定?软件如何实现中断共享? ⑨串行中断帧结构中,如何知道下一帧由谁发出?

58 第六章 定时/计数技术 一、基本概念 定时/计数原理、T/C基本原理 工作模式: ①--写后立即生效 ②--需要一个CLK生效
第六章 定时/计数技术 一、基本概念 定时/计数原理、T/C基本原理 16位当前计数值锁存器OL 16位减1计数器CE 16位计数初值寄存器CR OUT MSB LSB 锁存后读出当前值 装入/读出初值 CLK GATE 工作模式: ①--写后立即生效 ②--需要一个CLK生效 ③--GATE控制生效 ④--控制CLK通过 ⑤--控制输出结果 ① WR

59 二、Intel 8254 1、基本结构 实现功能、内部结构与引脚 2、软件编程 命令关系表、I/O操作冲突解决方法 回下页

60 前一锁存命令有效时,读取的是锁存对应的类型值;
操 作 特征位 时序 D7D6 计数初值写入0#计数器 ** 计数初值写入1#计数器 计数初值写入2#计数器 向T/C控制REG写控制字 00~10 锁存计数值/状态命令 11 读0#计数器当前计数值 前一锁存命令有效时,读取的是锁存对应的类型值; 否则读取的是当前计数值。 读0#计数器状态 读1#计数器当前计数值 读1#计数器状态 读2#计数器当前计数值 读2#计数器状态 无操作 1 * * * * 禁止使用 * * CS RD WR A1 A0 转上页

61 8254软件编程: 3、6种工作方式(功能→应用) 初始化—设置工作方式、置初值; 重写初值—与置初值相同;
取当前计数值—硬件/软件锁存+读取计数值; 取状态—软件锁存+读取状态(8253没有) 3、6种工作方式(功能→应用) 一次/重 复计数 WR#/GATE↑ 重新计数 WR#重 新计数 OUT不同 OUT不同 方式0 方式1 方式4 方式5 方式2 方式3 GATE低 /↓计数 暂停 /↓不影 响计数 WR# 重新 计数 GATE↑ GATE低 /↓计数 暂停 /↓不影 响计数 WR# 重新 计数 GATE↑ OUT 不同 OUT不同 回下页

62 4、应用编程 (1)应用设计步骤(应用→功能) ①需求分析—归纳出符合T/C特性的需求特征 需求特征:T/C数量,T/C控制、OUT信号特征
方式特征:一次/重复、GATE或WR#启动、OUT波形 ③电路连线—根据工作方式特征,修正输出实现应用需求 修正内容:I/O电平和时序要求、不同T/C相关性 ④软件编程—各T/C初始化、启/停控制编程 (2)应用分析 分频器--方波/脉冲、级联、暂停/变频 频率计数器—定时、启/停、溢出控制 转上页

63 定时/计数技术复习思考: ①计数时不同T/C的作用及关系?如何提高计数的准确性? ②T/C的内部结构与工作原理?
③对8254和8259A,从I/O接口角度比较CPU测信号连接、I/O端口地址与端口(REG)关系、访问冲突处理(特征位/时序)方面的异同;比较两者软件编程(初始化/操作)方法方面的异同。 ④对6种工作方式的异同进行成组比较。 ⑤软件锁存OL有哪两种方式?软件锁存怎样解锁? ⑥T/C应用编程一般采用哪些步骤与方法? ⑦如何实现分频的等长暂停?如何实现两种频率等长交替? ⑧如何延长定时的时长和计数范围? ⑨用8254和8259A实现(电路及编程)电子钟功能(显示略)。 f=0Hz 500ms f=50Hz 500ms f=100Hz 500ms

64 第七章 并行接口 一、并行接口概述 1、并行接口与串行接口 两者特征(数据宽度、同步、速度等)、应用场合、结构差别 ★2、传输控制方式
第七章 并行接口 一、并行接口概述 1、并行接口与串行接口 两者特征(数据宽度、同步、速度等)、应用场合、结构差别 ★2、传输控制方式 无条件传输:无握手(0个状态) 条件(查询)传输:异步互锁握手方式 (发送方)DATA+握手→(接收方)处理+握手→(双方)信号还原 中断传输:中断方式握手 (发送方)DATA+握手→(接收方)中断请求+处理+握手→(双方)信号还原

65 外部引脚—PA7~PA0、PB7~PB0、PC7~PC0; 内部REG—REGA+REGB+REGC+控制REG。
1、功能与结构 (1)功能 组与并行口、工作方式、传输控制方式 方式0(A、B组) 方式1(A、B组) 方式2(A组) 控制方式 无条件传输 查询、中断传输 传输方向 可控单向 双向 A、B组的工作方式、引脚信号间无影响。 (2)结构 外部引脚—PA7~PA0、PB7~PB0、PC7~PC0; 内部REG—REGA+REGB+REGC+控制REG。

66 ★不同工作方式时,REG的使用及与引脚对应关系:
控制口 状态口 数据口 与REG不对应的引脚 方式0 A组 (I或O) 共用的控制REG REGA(I或O)、 REGC的D7~D4(I或O) B组 REGB(I或O)、 REGC的D3~D0(I或O) 方式1 I REGC的D5~D3 REGA(I)、 REGC的D7~D6(I或O) PC4 O REGC的D7~D6和D3 REGA(O)、 REGC的D5~D4(I或O) PC6 I或O REGC的D2~D0 REGB(I或O) PC2 方式2(A组) REGC的D7~D3 REGA(I和O) PC4、PC6 回下页

67 命令关系表(注意:所有R/W均是对REG而言的)
2、软件编程 命令:初始化—设置工作方式 操 作—A口、B口、C口的读/写 对C口按位置位/复位操作 命令关系表(注意:所有R/W均是对REG而言的) 信息字(REG内容): 类型—控制字、状态字、数据字 操作—整字读/写,或C口按位置/复位 3、0方式—基本I/O方式 仅支持无条件传输方式。 应用分析:发送一个脉冲; 键盘扫描程序。 转上页

68 4、方式1—单向选通I/O方式 (1)输入 —支持查询和中断传输方式 ★数据口及状态口信息产生过程—
(1)输入 —支持查询和中断传输方式 ★数据口及状态口信息产生过程— STBA PA0~PA7 A口REG IBFA 外设给出 8255给出 INTEA INTRA 8255给出 允许=1、禁止=0 软件设置 RD CPU给出 (读A口REG) (读C口REG) 查询方式通信—读C口REG的IBFA或INTRA(当INTEA=1时); 当IBFA=1时,读A口REG。 中断方式通信—置INTEA=1,在中断服务程序中读A口REG。 回下页

69 (2)输出 —支持查询和中断传输方式 ★数据口及状态口信息产生过程—
(2)输出 —支持查询和中断传输方式 ★数据口及状态口信息产生过程— WRA CPU给出 OBFA PA0~PA7 A口REG 8255给出 INTEA INTRA 8255给出 允许=1,禁止=0 软件设置 外设给出 ACKA RD CPU给出 (读C口REG) 查询方式通信—读C口REG的OBFA或INTRA(当INTEA=1时); 当OBFA=0→1时,写A口REG。 中断方式通信—置INTEA=1,在中断服务程序中写A口REG。 转上页

70 (3)对C口的操作 C口信息字: 对信息字的操作: 取的信息—对C口REG整字节读,如读IBF或I/O;
D7 D6 D5 D4 D3 D2 D1 D0 A组状态 B组状态 输入时 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 输出时 OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB 对信息字的操作: 取的信息—对C口REG整字节读,如读IBF或I/O; 设置信息—对C口REG按位置/复位,如置位INTE或I/O。

71 三、8255A 应用 1、打印机接口应用 接口标准,查询/中断方式的打印机应用编程 2、其他应用 键盘扫描(查询/中断)、设备检测、设备控制

72 ⑵用PC/XT或单片机(自己连线)实现每分种提醒(两短声)功能。
3、应用思考(未列出参数自己假设) ⑴利用8255A的方式1实现双机(单片机)间 a)双向8位通信,b)单向16位通信。 ⑵用PC/XT或单片机(自己连线)实现每分种提醒(两短声)功能。 ⑶用摩擦器测试某设备耐磨性时,每摩擦N次(M秒)后暂停M秒,实现每秒钟一次将已摩擦秒数输出到显示器上的功能(显示器输出可省略)。 CLK 循环摩擦机构(触发信号上升沿产生动作) START 摩擦器 供电机构 触发信号 计数机构 NUM(16位的摩擦次数,ACK#有效时有效) ACK#(负脉冲,每秒一次)

73 并行接口复习思考: ①条件传输中,异步互锁握手方式的原理和时序?
②8255A在不同工作方式时,C口的上/下半部范围是否有变化?若有变化,如何变化的? ③A组方式0输出时,C口能否作为数据口实现输入和输出? ④A组方式1输入和输出时,数据口和状态口信息产生的过程如何?各个信号如何被置位和复位的? ⑤A组方式1输入和输出时,产生中断请求的条件是什么? ⑥实现查询方式通信时,查询的状态是什么? ⑦如何进行外部引脚连接,才能实现查询/中断方式通信? ⑧8259A、8254如何连接,才能为8255A的并行I/O提供定时、中断功能? ⑨分析8259A、8254、8255A的混合连接与应用方法

74 第八章 串行接口 一、串行通信原理 通信方式:方向、连接、异步/同步; 速度控制:波特率控制、收/发时钟、基准时钟;
第八章 串行接口 一、串行通信原理 MODEM 控制 音频模拟信号 CPU 串行接口 点点通信时可省略 CPU及串行接口 非远程通信 时可省略 通信方式:方向、连接、异步/同步; 速度控制:波特率控制、收/发时钟、基准时钟; 差错控制:单/双端、信号重复、检错和纠错编码; 长距离传输:信号调制(调频、调幅、调相); 通道共享:时分多路、频分多路; 通信协议:起止式异步协议(字符识别、正确性)、抗干扰; 接口标准:信号定义、逻辑特性、电气特性、机械特性。

75 二、起止式异步串行通信协议 约定信息—波特率、字符(数据/校验/停止位)格式; 字符识别—空闲/停止位与起始位,字符格式与停止位;
注意:字符的低位先发送、高位后发送 字符正确性—校验码编码技术、检错与纠错; 抗干扰实现—信号重复,起始位采样、数据采样,信号漂移。

76 标准类型:RS-232C、RS-422A(RS-423)、RS-485 RS-232C接口标准:
三、串行通信接口标准 标准类型:RS-232C、RS-422A(RS-423)、RS-485 RS-232C接口标准: 信号定义:RxD、TxD、SG、DTR/DSR、RTS/CTS、DCD、RI 逻辑特性:握手规则与连接、信号不连接时的状态 电气特性:信号的电平(>±3V)、电平转换 机械特性:连接器(方向/类型)引脚定义、相互间连接 RS-422A与RS-485标准: 信号定义:RxD+、RxD-、TxD+、TxD-;D+、D- 逻辑特性:多点通信,无MODEM,差分发送、差分接收 电气特性:信号的电平(>±200mV)、不需要电平转换 机械特性:无连接器

77 串行通信原理复习思考: ①点点串行通信的相关环节有哪些?他们如何解决问题的?
②使用起止式异步串行通信协议,需要预先进行哪些约定?如何在信号流中识别一个字符?空闲位与停止位电平相同有什么好处?如何提高信息的抗干扰能力?如何解决信号漂移? ③RS-232C标准中,MODEM使用的信号有哪些?握手规则是什么?两台计算机如何相互连接? ④RS-232C标准中,为什么信号要转换成>±3V? ⑤当右图为RS-232电平转 换前和后的波形时,字符格 式可能是什么? ⑥为什么RS-422A、RS-485 标准中,无MODEM控制信号? t01 t05 t10 t15 t19

78 四、INS8250 1、功能与结构 (1)实现功能与外部引脚 功能→基本引脚→PC机连接 (2)功能实现与内部结构
串行数据I/O、时钟、MODEM、中断、辅助输出信号 (2)功能实现与内部结构 a)内部结构— (见下页,注意勘误) b)内部寄存器— 数据口—RBR、THR; 控制口—LCR、MCR、IER、DLH、DLL; 状态口—LSR、MSR、IIR; 暂存器—接收移位REG、发送移位REG。 转下页

79 回上页 回下页

80 c)数据I/O传输过程与控制— d)中断产生与控制— 中断控制逻辑 说明:波特率除数=基准时钟频率÷(16×波特率) 发送波特率除数
XTAL1 BAUDOUT 起始位 SOUT 校验位 信号重复÷ 欲发数据位 停止/空闲位 ÷ 说明:波特率除数=基准时钟频率÷(16×波特率) RCLK SIN 位计数 起始位 校验位 接收数据位 停止/空闲位 接收波特率除数 XTAL1 ÷ PC机内部 直接连接 d)中断产生与控制— 中断控制逻辑 中断允许寄存器IER 中断识别寄存器IIR RBR满 THR空 接收出错 MSR变化 INTPRT LSR 转上页

81 (3)寄存器的端口地址分配 A2A1A0 DLAB① RD#有效 WR#有效 000 接收缓冲寄存器RBR 发送保持寄存器THR 1
接收缓冲寄存器RBR 发送保持寄存器THR 1 波特率除数寄存器DLL(低字节) 001 中断允许寄存器IER 波特率除数寄存器DLH(高字节) 010 X 中断识别寄存器IIR FIFO控制器FCR② 011 线路控制寄存器 LCR 100 MODEM控制寄存器MCR 101 线路状态寄存器LSR 110 MODEM状态寄存器MSR 111 Scratch寄存器② 说明:①--DLAB为LCR的D7位;②--8250无此REG 注意:因RBR、THR、IIR需经常使用,平常应使LCR的D7=0

82 2、PC机异步通信适配器 串行口占用I/O地址空间及中断请求: 串行口电路: (教材P285图) XTAL1、BAUDOUT与RCLK;
串口号 COM1 COM2 COM3 COM4 基地址 3F8 2F8 3E8 2E8 中断号 IRQ4 IRQ3 中断类型号 0CH 0BH 串行口电路: (教材P285图) XTAL1、BAUDOUT与RCLK; INTPRT+OUT2与IRQ3

83 3、INS8250初始化编程 初始化开始 ①置DLAB=1,写LCR 设置波特率 ②写DLL、DLH 设置通信数据格式
连有MODEM? 用向量中断方式? 设置允许的中断类型 初始化完成 初始化开始 置OUT2引脚有效 N Y 设置MODEM状态 写LCR(同时置DLAB=0) 写MCR 写IER(不用中断方式时 屏蔽各中断类型) 可合为一个写MCR

84 4、查询方式通信程序设计 读LSR N D4~D1≠0? Y 根据错误原因进行相应处理 读RBR 写THR 读MSR
根据状态变化进行相应处理 程序结束 发送完毕? 处理接收的字符 CPU处理其他事务 结束程序? 有新发送请求? 程序初始化(含INS8250初始化) D0=1? D5=1? D3~D0≠0?

85 4、中断方式通信程序设计 (1)中断方式通信程序的初始化 初始化8259A 一般情况下,8259A已初始化
保存和修改中断向量 初始化8250 开放8259A中断 初始化结束(CPU处理其他事务) 按使用的COM口接管对应中断向量(0CH或0BH) 程序退出时恢复中断向量 设置波特率、通信协议参数 向量中断—置位MCR的OUT2 查询中断—复位MCR的OUT2 用OCW1开放COM口中断(IR3或IR4) 、设置IER 初始化8259A 一般情况下,8259A已初始化

86 (2)向量中断服务程序 读IIR D0—有无(0/1)未决中断请求 D2、D1—中断请求类型 Y D0=0? N D2D1=11
读LSR D4~D1位 根据错误原因进行相应处理 读RBR 写THR 读MSR D3~D0位 根据状态变化进行相应处理 中断返回 发送完毕? 处理接收的字符

87 串行接口INS8250复习思考: ①发送同步控制与接收同步控制有何不同? ②DLH/DLL值、波特率、XTAL1之间关系如何?
③画出SIN接收到字符‘A’的波形(字符其它格式自定)。 ④为什么“RBR满”中断请求优先级比“THR空”高? 提示:考虑有无握手协议及传输数据的遗漏问题 ⑤读取IIR时,IIR值的变化原理是什么?如何不遗漏中断源的请求? ⑥为什么PC机将COM口的中断请求设置为IRQ3,而不是IRQ7? ⑦初始化INS8250时,为何先设置波特率后设置数据格式? ⑧PC机串口中断方式通信时,初始化的步骤有哪些? ⑨PC机串口中断方式通信时,正确的中断服务程序返回条件是什么?用汇编语言编写中断服务程序的框架。


Download ppt "微型机系统与接口技术复习."

Similar presentations


Ads by Google