常用数字接口电路.ppt

上传人:汽*** 文档编号:569965912 上传时间:2024-08-01 格式:PPT 页数:165 大小:3.32MB
返回 下载 相关 举报
常用数字接口电路.ppt_第1页
第1页 / 共165页
常用数字接口电路.ppt_第2页
第2页 / 共165页
常用数字接口电路.ppt_第3页
第3页 / 共165页
常用数字接口电路.ppt_第4页
第4页 / 共165页
常用数字接口电路.ppt_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《常用数字接口电路.ppt》由会员分享,可在线阅读,更多相关《常用数字接口电路.ppt(165页珍藏版)》请在金锄头文库上搜索。

1、1 第8章 常用数字接口电路2主要内容: 掌握常见可编程接口芯片的应用掌握常见可编程接口芯片的应用 了解串行通信的一般概念了解串行通信的一般概念 38.1 接口电路概述接口电路概述lCPU与外设之间信息交换的通道l信息缓冲信息缓冲、信息变换信息变换、电平转换电平转换、联络控制联络控制l分类:l8086系统中最常用的数字接口电路芯片:8253、8255A、8237A等等功能功能传送方式传送方式传送的信息类型传送的信息类型传送的信息类型传送的信息类型输入接口输入接口 并行接口并行接口数字量的输入数字量的输入/输出接口输出接口输出接口输出接口 串行接口串行接口模拟量的输入模拟量的输入/输出接口输出接

2、口48.2 可编程定时/计数器8253相关内容见相关内容见 P219l引线功能及计数启动方法引线功能及计数启动方法l6种工作方式及其输出波形种工作方式及其输出波形l8253的使用的使用:芯片与系统的连接芯片与系统的连接芯片的初始化编程芯片的初始化编程5定时定时/计数器的用途计数器的用途l可以实现定时与计数两个功能,可用于系统时钟DRAM刷新定时定时采样实时控制脉冲的计数 。6如何实现定时?l软件方法:用一段程序实现延时软件方法:用一段程序实现延时利用利用利用利用程序循环程序循环程序循环程序循环延迟指定的时间延迟指定的时间延迟指定的时间延迟指定的时间缺点:缺点:缺点:缺点:CPUCPU占用率?延

3、时精度?兼容?占用率?延时精度?兼容?占用率?延时精度?兼容?占用率?延时精度?兼容?l硬件方法:定时硬件方法:定时/计数器电路计数器电路利用利用利用利用脉冲计数脉冲计数脉冲计数脉冲计数在设定的时间输出定时信号在设定的时间输出定时信号在设定的时间输出定时信号在设定的时间输出定时信号8253是一种硬件定时是一种硬件定时/计数器芯片计数器芯片7一、外部引线及内部结构l8253概貌概貌3个个16位的定时位的定时/计数器(通道)计数器(通道)24引脚双列直插式引脚双列直插式最高计数频率最高计数频率2MHzTTL电平兼容电平兼容单电源单电源+5V供电供电8外部引线及内部结构DBD7-D08253A1A0

4、WRRDCS通道通道2通道通道1通道通道0CLK0GATE0OUT0CLK1GATE1OUT1CLK1GATE1OUT1A1A0IOWIOR片选信号片选信号9外部引线及内部结构连接系统端系统端的主要引线:lD7D0lCSlRDlWRlA1,A0 用于选择四个编址部件之一用于选择四个编址部件之一引线结构引线结构A1A0选选择择00计数通道计数通道001计数通道计数通道110计数通道计数通道211控制寄存器控制寄存器10外部引线及内部结构计数通道计数通道的主要引线(每通道均相同):(每通道均相同):lCLKn 时钟脉冲输入,时钟脉冲输入,计数器的计时基准。计数器的计时基准。lGATEn 门控信号输

5、入,门控信号输入,控制计数器的启停。控制计数器的启停。lOUTn 计数器输出计数器输出信号,不同工作方式下信号,不同工作方式下 产生不同波形。产生不同波形。(n = 02) 118253的内部结构编址部件0编址部件1编址部件2编址部件312编程结构l计数器计数器(3个个)包括包括l控制寄存器控制寄存器 存放控制命令字(只写)存放控制命令字(只写)l占用占用4个地址个地址 3个计数器,个计数器,1个控制寄存器个控制寄存器16位初值寄存器位初值寄存器16位计数寄存器位计数寄存器(减法计数器)(减法计数器)13定时/计数的工作过程 1. 设置设置8253的工作方式的工作方式 2. 设置计数初值到初值

6、寄存器设置计数初值到初值寄存器 3. 第一个第一个CLK信号使初值寄存器的内容置入信号使初值寄存器的内容置入计数寄存器计数寄存器 4. 以后每来一个以后每来一个CLK信号,计数寄存器减信号,计数寄存器减1 5. 减到减到0时,时,OUT端输出一特殊波形的信号端输出一特殊波形的信号注:以上计数过程中还受到注:以上计数过程中还受到GATE信号的控制信号的控制14二、计数启动方式软件启动过程软件启动过程硬件启动过程硬件启动过程GATE端保持为高电平端保持为高电平写入计数初值写入计数初值后的第后的第2个个CLK脉冲脉冲的下降沿开始计数的下降沿开始计数GATE端有一个上升沿端有一个上升沿对应对应CLK脉

7、冲的下降沿开始计数脉冲的下降沿开始计数程序指令启动程序指令启动软件启动软件启动外部电路信号启动外部电路信号启动硬件启动硬件启动15三、工作方式l l方式方式0计数结束中断计数结束中断l l方式方式1可重复触发的单稳态触发器可重复触发的单稳态触发器l l方式方式2频率发生器频率发生器l l方式方式3方波发生器方波发生器l l方式方式4软件触发选通软件触发选通l l方式方式5硬件触发选通硬件触发选通16工作方式方式方式0软件启动,不自动重复计数。软件启动,不自动重复计数。装入初值后装入初值后OUT端变低电平,端变低电平,计数结束计数结束OUT输出高电平。输出高电平。( (计数结束中断计数结束中断计

8、数结束中断计数结束中断) )17工作方式方式方式1 硬件启动,不自动重复计数。硬件启动,不自动重复计数。装入初值后装入初值后OUT端变高电平,端变高电平,计数开始计数开始OUT端变为低电平,端变为低电平,计数结束后又变高。计数结束后又变高。( (单稳态触发器单稳态触发器单稳态触发器单稳态触发器) )18工作方式方式方式2软、硬件启动,软、硬件启动,自动重复计数自动重复计数。装入初值后装入初值后OUT端变高电平,计数到端变高电平,计数到最后一个最后一个CLK时时OUT输出负脉冲,并输出负脉冲,并连续重复此过程。连续重复此过程。( (频率发生器频率发生器频率发生器频率发生器) )19工作方式方式方

9、式3软、硬件启动,软、硬件启动,自动重复计数自动重复计数。装入初值后装入初值后OUT端变高电平,端变高电平,然后然后OUT连续输出对称方波:连续输出对称方波:( (方波发生器方波发生器方波发生器方波发生器) )前前前前 N/2N/2或(或(或(或(N+1N+1)/2 /2 个个个个CLKCLK,OUTOUT为高,为高,为高,为高,后后后后N/2N/2或(或(或(或(N-1N-1)/2 /2 个个个个CLKCLK, OUTOUT为低。为低。为低。为低。20工作方式方式方式4软件启动,不自动重复计数。软件启动,不自动重复计数。装入初值后输出端变高电平,装入初值后输出端变高电平,计数结束输出一个计数

10、结束输出一个CLK宽度的负脉冲宽度的负脉冲( (软件触发选通软件触发选通软件触发选通软件触发选通) )21工作方式方式方式5 硬件启动,不自动重复计数。硬件启动,不自动重复计数。OUT端波形与方式端波形与方式4相同相同( (硬件触发选通硬件触发选通硬件触发选通硬件触发选通) )22各种工作方式特点l方式方式0(计数结束中断)(计数结束中断) 计数过程中,计数过程中,计数过程中,计数过程中,GATEGATE端应保持端应保持端应保持端应保持高电平高电平高电平高电平。 每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。每写入

11、一次初值计数一个周期,然后停止计数。 OUTOUT端输出是一个约端输出是一个约端输出是一个约端输出是一个约(N+1)T(N+1)TCLKCLK宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。 计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。l方式方式1(单稳态触发器)(单稳态触发器) 门控信号门控信号门控信号门控信号GATEGATE端的端的端的端的跳变触发跳变触发跳变触发跳变触发计数,可重复触发。计数,可重复触发。计数,可重复触发。计数,可重复触发。 若下一次若下一次若下一次若下一次

12、GATEGATE上升沿提前到达,则上升沿提前到达,则上升沿提前到达,则上升沿提前到达,则OUTOUT端负脉冲端负脉冲端负脉冲端负脉冲拉宽为两次计数过程之和。拉宽为两次计数过程之和。拉宽为两次计数过程之和。拉宽为两次计数过程之和。 计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。23各种工作方式特点l方式方式2(频率发生器)(频率发生器) GATEGATE为计数的控制信号:为计数的控制信号:为计数的控制信号:为计数的控制信号:GATEGATE变低计数停止,再变低计数停止,再变低计数停止,再变低计数停止

13、,再变高时的下一个变高时的下一个变高时的下一个变高时的下一个CLKCLK下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。 每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(减到减到减到减到1 1时时时时),),),),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。 计数过程计数过程计数过程计数过程自动重复自动重复自动重复自动重复进行。进行。进行。进行。 计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数

14、过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。l方式方式3(方波发生器)(方波发生器) OUTOUT输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。 计数过程中修改初值不影响计数过程中修改初值不影响计数过程中修改初值不影响计数过程中修改初值不影响本半轮本半轮本半轮本半轮计数过程。计数过程。计数过程。计数过程。 其余的与方式其余的与方式其余的与方式其余的与方式2 2 类似。类似。类似。类似。24各种工作方式特点l方式方式4(软件触发选通)(软件触发选通) 计

15、数过程中,计数过程中,计数过程中,计数过程中,GATEGATE端应保持端应保持端应保持端应保持高电平高电平高电平高电平。 每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。 每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(减到减到减到减到0 0时时时时),),),),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度宽度宽度宽度的负脉冲。的负脉冲。的负脉冲。的负脉冲。 计数过程中修改初值不影响本轮计数过程。计数过程

16、中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。l方式方式5(硬件触发选通)(硬件触发选通) 写入初值时,写入初值时,写入初值时,写入初值时,GATEGATE端应保持端应保持端应保持端应保持低电平低电平低电平低电平。 GATEGATE每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。 每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(每个计数周期结束时(减到减到减到减到0 0时时时时),),),

17、),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度宽度宽度宽度的负脉冲。的负脉冲。的负脉冲。的负脉冲。 计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。258253工作方式一览表工作方式一览表26四、控制字l用于确定各计数器的工作方式。用于确定各计数器的工作方式。l l82538253必须先必须先必须先必须先初始化初始化初始化初始化才能正常工作。才能正常工作。才能正常工作。才能正常工作。l l每个计数器都必须初始化一次。每个计数器都必须初始化一次。每个计数器都必须

18、初始化一次。每个计数器都必须初始化一次。l lCPUCPU通过通过通过通过OUTOUT指令把控制字写入控制寄存器指令把控制字写入控制寄存器指令把控制字写入控制寄存器指令把控制字写入控制寄存器。格格式式2728五、8253的应用l与系统的连接与系统的连接l设置工作方式设置工作方式l置计数初值置计数初值编程编程29与系统的连接示意图CLKGATEOUTD0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器高位地址高位地址A15-A28253共三组共三组82538253占用占用占用占用4 4个接口个接口个接口个接口地址:地址:地址:地址: 计数器计数器计数器计数器0 0 计数器计数器计数器

19、计数器1 1 计数器计数器计数器计数器2 2 控制寄存器控制寄存器控制寄存器控制寄存器( (决定决定决定决定82538253的基地址的基地址的基地址的基地址) )30初始化程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位*非必须非必须写入顺序:写入顺序:可可按计数器分别写按计数器分别写入控制字和初值。入控制字和初值。也可先写所有计数也可先写所有计数器控制字,再写入器控制字,再写入它们的初值它们的初值318253应用举例l采用采用8253作定时作定时/计数器,其接口地址为计数器,其接口地址为0120H0123H。l输入输入8253的时钟频率为的时钟频率为2MHz。l计

20、数器计数器0: 每每10ms输出输出1个个CLK脉冲宽的负脉冲脉冲宽的负脉冲计数器计数器1: 产生产生10KHz的连续方波信号的连续方波信号 计数器计数器2: 启动计数启动计数5ms后后OUT输出高电平。输出高电平。l画线路连接图,并编写初始化程序。画线路连接图,并编写初始化程序。 328253应用举例(续)l确定计数初值:确定计数初值: CNT0: 10ms/0.5us = 20000 CNT1: 2MHz/10KHz = 200 CNT2: 5ms/0.5us = 10000l确定控制字:确定控制字: CNT0:方式方式2,16位计数值位计数值 00 11 010 0 CNT1:方式方式3

21、,低,低8位计数值位计数值 01 01 011 0 CNT2:方式方式0, 16位计数值位计数值 10 11 000 0338253应用举例(续)CLK0GATE0OUT1D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT2?线路连接图:线路连接图:348253应用举例 初始化程序初始化程序CNT0:MOV DX, 0123HMOV AL, 34HOUT DX, ALMOV DX, 0120HMOV AX, 20000OUT DX, ALMOV AL, AHOUT DX, ALCNT1: CNT2: 35*如

22、何读出当前计数值如何读出当前计数值l l第第1种方法种方法在计数过程中读计数值在计数过程中读计数值先先锁存当前计数值锁存当前计数值,再用两条输入指,再用两条输入指令将令将16位计数值读出。位计数值读出。l l第第2种方法种方法停止计数器再读停止计数器再读用用GATE信号信号使计数器停止,再规定使计数器停止,再规定RL1和和RL0的读写格式,然后读出。的读写格式,然后读出。36*扩展定时/计数范围 当定时长度不够时,可把当定时长度不够时,可把2个或个或3个计数个计数通道通道串联串联起来使用,甚至可把多个起来使用,甚至可把多个8253串串联起来使用。联起来使用。 例如:例如:CLK频率为频率为1M

23、Hz,要求在,要求在OUT1端产生频率端产生频率1Hz的脉冲。的脉冲。 这时可将计数器这时可将计数器0、1串联,工作方式都串联,工作方式都均为方式均为方式3,计数初值均为,计数初值均为1000。连接方法。连接方法见下页。见下页。37扩展定时/计数范围1MHz1KHz1Hz388253小结l包含包含3个个16位计数器通道位计数器通道l4个编址部件:个编址部件:CNT0/1/2和控制寄存器和控制寄存器l每个计数器通道工作前必须初始化:每个计数器通道工作前必须初始化:控制字和计数初值控制字和计数初值l6种工作方式种工作方式l每种工作方式:启动方式、输出波形、每种工作方式:启动方式、输出波形、是否可重

24、复计数等各不相同是否可重复计数等各不相同398.3 并行接口8255A特点:相关内容见特点:相关内容见p209l含含3个独立的个独立的8位并行输入位并行输入/输出端口,输出端口,各端口均具有数据的控制和锁存能力各端口均具有数据的控制和锁存能力l可通过编程设置各端口的工作方式和可通过编程设置各端口的工作方式和数据传送方向(入数据传送方向(入/出出/双向)。双向)。40一、引线共共40个引脚个引脚(1)数据总线缓冲器)数据总线缓冲器(2)读写控制逻辑)读写控制逻辑(3)A组和组和B组组(4)数据端口)数据端口A、B、C41引线(续)连接系统端的主要引线:连接系统端的主要引线:lD0D7lCS*lR

25、D*lWR*lA0,A1 lRESET复位信号复位信号复位信号复位信号, ,接系统总线的接系统总线的接系统总线的接系统总线的RESETRESETA1A0选择选择00端口端口A01端口端口B10端口端口C11控制寄存器控制寄存器42引线(续)连接外设端的引脚:连接外设端的引脚:lPA0PA7lPB0PB7lPC0PC7分别对应分别对应A、B、C三三个个8位输入位输入/输出端口输出端口三个端口可通过三个端口可通过三个端口可通过三个端口可通过编程编程编程编程分别指定为输入或输出口。分别指定为输入或输出口。分别指定为输入或输出口。分别指定为输入或输出口。其中,其中,A口可双向通讯;口可双向通讯;C口即

26、可用作独立的输入口即可用作独立的输入/输出口,也可用作输出口,也可用作A、B口的控制信号输出或状态口的控制信号输出或状态信号输入。信号输入。43二、结构A组组B组组端口端口A端口端口C的高的高4位位端口端口B端口端口C的低的低4位位448255A与系统的连接示意图45三、8255A工作方式基本输入基本输入/输出方式(方式输出方式(方式0)选通输入选通输入/输出方式(方式输出方式(方式1)双向输入双向输入/输出方式(方式输出方式(方式2)(仅)(仅A口)口)某端口工作于哪一种方式,可通过软件编程来某端口工作于哪一种方式,可通过软件编程来某端口工作于哪一种方式,可通过软件编程来某端口工作于哪一种方

27、式,可通过软件编程来指定。即向指定。即向指定。即向指定。即向8255A8255A写入方式控制字来决定其工作写入方式控制字来决定其工作写入方式控制字来决定其工作写入方式控制字来决定其工作方式,见下页。方式,见下页。方式,见下页。方式,见下页。46方式控制字及位控字l可以利用软件编程确定可以利用软件编程确定8255A的的3个端口个端口工作于何种方式下;工作于何种方式下;l8255A的的C端口可以端口可以按位操作按位操作。当其工作。当其工作于方式于方式0下且作为输出口时,对于那些作下且作为输出口时,对于那些作为输出的位需要设置初始状态(为输出的位需要设置初始状态(1/0)。)。47方式控制字与位控字

28、格式l控制字控制字确定确定3个端口的工作方式个端口的工作方式l位控字位控字确定确定C口某一位的初始状态,口某一位的初始状态, 或用于设置或用于设置INTE位位(方式方式1,2)。48工作方式0(基本输入/输出)l8255A相当于三个独立的相当于三个独立的8位简单接口。位简单接口。l各端口既可设置为输入口,也可设置为输出口,各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。但不能同时实现输入及输出。lC端口即可以是一个端口即可以是一个8位的简单接口,也可以分位的简单接口,也可以分为两个独立的为两个独立的4位端口。位端口。l l设置为输出口时有锁存能力,设置为输入口时无设置为输出

29、口时有锁存能力,设置为输入口时无设置为输出口时有锁存能力,设置为输入口时无设置为输出口时有锁存能力,设置为输入口时无锁存能力。锁存能力。锁存能力。锁存能力。l l无联络信号。无联络信号。无联络信号。无联络信号。49工作方式050方式0的应用:l用于连接简单外设。用于连接简单外设。l适用于:适用于:无条件输入输出方式。无条件输入输出方式。查询查询查询查询输入输出输入输出方式:方式:方式:方式:把把A、B口作为口作为8位数据位数据的输入或输出口,的输入或输出口,C C口的高口的高口的高口的高/ /低低低低4 4位分别定义位分别定义位分别定义位分别定义为为为为A A、B B口的控制位和状态位。口的控

30、制位和状态位。口的控制位和状态位。口的控制位和状态位。51工作方式1(带选通的输入/输出)l利用一组选通控制信号控制利用一组选通控制信号控制A端口和端口和B端端口的数据输入输出。(只有口的数据输入输出。(只有A、B口可选)口可选)lA、B口作输入或输出口,口作输入或输出口,C口的部分位口的部分位用作用作A、B口的选通控制信号。口的选通控制信号。lA口、口、B口在作为口在作为输入输入和和输出输出时的选通信时的选通信号不同。号不同。52工作方式1l1方式方式1的输入的输入A口设定为方式口设定为方式1输入时,输入时,A口所用三条联络口所用三条联络信号线是信号线是C口的口的PC3、PC4、PC5。B口

31、设定为方式口设定为方式1输入时输入时, B口所用三条联络口所用三条联络信号线是信号线是C口的口的PC0、PC1、PC2。53方式方式1输入时的输入时的A口和口和B口口54工作方式1(方式1的输入)l各联络线的定义如下:各联络线的定义如下:STB:外设送来的输入选通信号,低电:外设送来的输入选通信号,低电平有效。平有效。IBF:输入缓冲器满信号,高电平有效。:输入缓冲器满信号,高电平有效。INTR:8255A送到送到CPU或系统总线的中或系统总线的中断请求信号,高电平有效。断请求信号,高电平有效。INTE:中断允许信号。:中断允许信号。55工作方式1(方式方式1的输出的输出)l2方式方式1的输出

32、的输出A口与口与B口设为方式口设为方式1输出时,也分别指定输出时,也分别指定C口的三条口的三条线为联络信号线为联络信号A口三条联络信号线是口三条联络信号线是C口的口的PC3、PC6、PC7B口三条联络信号线是口三条联络信号线是C口的口的 PC0、PC1、PC2。56方式方式1输出时的输出时的A口和口和B口口57工作方式1(方式1的输出)l各联络线的定义如下:各联络线的定义如下: OBF*输出缓冲器满信号。输出缓冲器满信号。 ACK*外设响应信号,表示已从数据外设响应信号,表示已从数据端口取走数据。此信号使端口取走数据。此信号使OBF变高。变高。 INTRACK#上升沿产生,通知上升沿产生,通知

33、CPU输出下一个数据(通常接到输出下一个数据(通常接到8259)。)。 INTE中断允许位,中断允许位,INTE=1和和OBF#为高电平时,允许产生为高电平时,允许产生INTR信号。信号。58注意:lINTE的状态可利用的状态可利用C口的位控方式口的位控方式来设置:来设置:输入:输入:l lA口的口的INTE:写入:写入PC4l lB口的口的INTE:写入:写入PC2输出:输出:l lA口的口的INTE:写入:写入PC6l lB口的口的INTE:写入:写入PC259方式1的应用:l主要用于中断控制方式下的输入输出。主要用于中断控制方式下的输入输出。lC口除部分位用作选通信号外,其余位可工作口除

34、部分位用作选通信号外,其余位可工作在方式在方式0下,作为输入或输出线。下,作为输入或输出线。 特别是特别是A A、B B均为方式均为方式均为方式均为方式1 1时仅使用时仅使用时仅使用时仅使用C C口的口的口的口的6 6条线,条线,条线,条线,余下二条线可作为单独的输入输出线,用程序余下二条线可作为单独的输入输出线,用程序余下二条线可作为单独的输入输出线,用程序余下二条线可作为单独的输入输出线,用程序指定其数据传送方向。指定其数据传送方向。指定其数据传送方向。指定其数据传送方向。60工作方式2(带选通的双向输入/输出)l双向方式双向方式既是输入口,又是输出口。既是输入口,又是输出口。l l利用利

35、用C口的口的5条线提供传输联络信号。条线提供传输联络信号。l只有只有A口可工作在方式口可工作在方式2下。下。61方式方式2下的引脚定义下的引脚定义62工作方式2l各联络信号的含义如下:各联络信号的含义如下: INTR:中断请求信号,高电平有效。:中断请求信号,高电平有效。OBF*:输出缓冲器满,低电平有效。:输出缓冲器满,低电平有效。ACK*:来自外设的响应信号,低电平有效。:来自外设的响应信号,低电平有效。INTE1:A口输出中断允许。口输出中断允许。STB*:来自外设的选通输入,低电平有效。:来自外设的选通输入,低电平有效。IBF:输入缓冲器满,高电平有效。:输入缓冲器满,高电平有效。IN

36、TE2:A口输入中断允许。口输入中断允许。63方式2的应用:l可用于中断控制输入输出方式。可用于中断控制输入输出方式。l当当A口工作于方式口工作于方式2时,时,B口可工作于方口可工作于方式式1(此时(此时C口的剩余位都用作口的剩余位都用作B口选通口选通控制线);控制线);B口也可工作于方式口也可工作于方式0(此时(此时C口的剩余位也只能用作方式口的剩余位也只能用作方式0下的输入下的输入输出线)。输出线)。648255A的控制字l工作方式控制字工作方式控制字658255A的控制字lC口位控制字口位控制字(1)仅)仅C口可按位置位口可按位置位/复位,且只对复位,且只对C口的输出状态进行控制(对输入

37、无作用)。口的输出状态进行控制(对输入无作用)。( 2)一次只能设置)一次只能设置C口口1位的状态。位的状态。(3)这个控制字应写入控制口,而不是)这个控制字应写入控制口,而不是C口。口。668255A的控制字C口按位置位口按位置位/复位控制字复位控制字67图示,设图示,设8255端口地址为端口地址为2F80-2F83H,编程设置,编程设置8255 A组、组、B组均工作于方式组均工作于方式0,A口输出,口输出,B口输出,口输出,C口高口高4位位输入,低输入,低4位输出。然后,读位输出。然后,读入开关入开关K的状态,若的状态,若S打开,打开,则使发光二极管熄灭;若则使发光二极管熄灭;若K闭闭合,

38、则使发光二极管点亮。合,则使发光二极管点亮。8255A的编程的编程68程序如下:程序如下:MOVAL,88HMOVDX,2F83HOUTDX,ALMOVDX,2F82HINAL,DXMOVDX,2F81HANDAL,20HJZL1;条件成立时;条件成立时PC50,S闭合闭合MOVAL,0OUTDX,ALJMPEND1L1:MOVAL,40HOUTDX,ALEND1:HLT8.48.4可编程串行通信接口学习内容:相关内容见学习内容:相关内容见p342l串行通信的一般概念串行通信的一般概念 工作方式、同步方式、数据格式、物理标准工作方式、同步方式、数据格式、物理标准工作方式、同步方式、数据格式、物

39、理标准工作方式、同步方式、数据格式、物理标准l串行通信的接口标准 EIA RS-232CEIA RS-232Cl可编程串行异步通信接口8250(UART) 连接、编程、应用连接、编程、应用连接、编程、应用连接、编程、应用708.4.1串行通信基本概念串行通信: 每个时间单位仅传送一位信息; 每个字符(字节)的各位依次传送; 字符之间的间隔不定。优点: 传输线少,成本低,传输距离远711.串行通信工作方式单工通信单工通信只能由一方发送,例:广播只能由一方发送,例:广播半双工通信半双工通信某一时刻只能由一方发送,例:对讲机某一时刻只能由一方发送,例:对讲机全双工通信全双工通信双方可同时传输,例:电

40、话双方可同时传输,例:电话同步通信同步通信双方对每一位的收发时序完全一致,统一时钟双方对每一位的收发时序完全一致,统一时钟异步通信异步通信收发双方时钟不统一收发双方时钟不统一72单工/双工操作发送器发送器接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器单工方式:单工方式:半双工方式:半双工方式:全双工方式:全双工方式:A站站B站站73l电话网络电话网络模拟信号模拟信号,计算机,计算机数字信号数字信号。l远距离通信时需要通过普通电话网络传输远距离通信时需要通过普通电话网络传输数字信号:频带宽数字信号:频带宽电话网络:频带窄电话网

41、络:频带窄 要使数字信号在电话网络上传输,需要进行信号变换要使数字信号在电话网络上传输,需要进行信号变换把数字信号承载到模拟信号上传输把数字信号承载到模拟信号上传输,这个模拟信号,这个模拟信号称为称为载波载波信号。信号。l调制调制把数字信号承载到载波信号上把数字信号承载到载波信号上l解调解调从载波信号中恢复出数字信号从载波信号中恢复出数字信号l调制解调器:实现调制与解调的设备调制解调器:实现调制与解调的设备2. 调制与解调74三种调制方式根据载波根据载波 Acos( t + )的三个参数:幅度、频率、相位,产的三个参数:幅度、频率、相位,产生常用的三种调制技术:生常用的三种调制技术:幅移键控法

42、幅移键控法 Amplitude-Shift Keying (ASK)频移键控法频移键控法 Frequency-Shift Keying (FSK)相移键控法相移键控法 Phase-Shift Keying (PSK) lASK (又称为调幅又称为调幅) 用载波信号的不同用载波信号的不同幅度幅度代表代表1和和0lFSK (又称为调频又称为调频) 用载波信号的不同用载波信号的不同频率频率代表代表1和和0lPSK (又称为调相又称为调相) 用载波信号的用载波信号的相位变化相位变化代表代表1和和0(有变化为(有变化为1,无变化,无变化为为0)750 00 01 11 10 01 10 00 00 01

43、 10 0调幅调幅调幅调幅调频调频调频调频调相调相调相调相数字信号数字信号数字信号数字信号数字数据数字数据数字数据数字数据三种调制方式的调制波形图76l串行通信主要用于远距离数据传输。串行通信主要用于远距离数据传输。问题:干扰、衰减,信号畸变问题:干扰、衰减,信号畸变l解决方法:差错控制技术解决方法:差错控制技术检测、纠正检测、纠正l常用的数据校验方法:常用的数据校验方法:奇偶校验奇偶校验循环冗余校验循环冗余校验CRC3. 数据校验774.同步通信与异步通信l所有串行通信都需要一个所有串行通信都需要一个时钟信号时钟信号来作为数据的来作为数据的定时参考。发送器和接收器用时钟来决定何时发定时参考。

44、发送器和接收器用时钟来决定何时发送和读取每一个数据位。送和读取每一个数据位。l根据传输时采用的是统一时钟还是本地局部时钟,根据传输时采用的是统一时钟还是本地局部时钟,分为分为同步传输同步传输和和异步传输异步传输两种。两种。同步传输用同步传输用一个时钟脉冲一个时钟脉冲确定一个数据位确定一个数据位, 异步传输异步传输用用多个时钟脉冲多个时钟脉冲确定一个数据位确定一个数据位(如如16个个)同步传输以数据块同步传输以数据块(当作当作“位流”看待看待)为单位传输,为单位传输,异步传输以字符为单位传输,但都称为异步传输以字符为单位传输,但都称为帧(Frame) 78同步通信的时钟定时方法数据(62H)01

45、100010同步传输先发送高位(MSB)发送方在时钟信号的下降沿发送字节接收方在时钟信号的上升沿接收字节时钟(发送时钟与接收时钟完全同步)LSBMSB79异步通信的时钟定时方法数据(62H)000011停止位异步传输先发送低位(LSB)发送方利用发送时钟来决定发送每个位的时刻接收方检测起始位的下降沿,并用它来同步接收时钟,然后利用接收时钟从每一位的中间接收该位1起始位LSBMSB0奇偶校验位00/11 1接收/发送时钟80异步通信的一般的一般格式每个字符由每个字符由起始位起始位(为为0)、数据位数据位、校验位(无或校验位(无或1位)位)、停止位(停止位(1-2位)位)构成。构成。起始位和停止位

46、用于字符的同步。起始位和停止位用于字符的同步。起始位最低位最高位58个数据位可选的奇偶校验位1, 11/2或2个停止位818.4.2 串行通信的接口标准l机械特性:连接器的尺寸、引脚分布机械特性:连接器的尺寸、引脚分布l信号特性:信号电平、通信速率信号特性:信号电平、通信速率l功能特性:引脚功能、控制时序功能特性:引脚功能、控制时序 最常见的串行通信标准是最常见的串行通信标准是RS-232C。82RS-232C标准l外形为外形为25针或针或9针的针的D型连接器型连接器l通信速率:波特率通信速率:波特率Baud(符号数符号数/s) 100、300、600、1200、2400、4800 9600、

47、19.2K、33.6K、56K l信号电平:信号电平:逻辑逻辑“1”:-5V-15V逻辑逻辑“0”:+5V+15VTTL电平与电平与RS232电平转换:电平转换:lTTLRS232: MC1488lRS232TTL: MC1489lRS232 TTL, RS232 TTL:TC232,Max232l传输距离传输距离15m83主要引脚的功能84信号时序(接收)l设备握手设备握手DTR:PCM(保持,表示(保持,表示PC已可以工作)已可以工作)DSR:PCM(保持,表示(保持,表示M已可以工作)已可以工作)l监视载波信号监视载波信号DCD:PCM载波(表示数据链已建立)载波(表示数据链已建立)l接

48、收数据接收数据RXD: PCM数据调制信号数据调制信号l结束通信结束通信DCD消失、消失、PC撤除撤除DTR、Modem撤除撤除DSR85信号时序(发送)l设备握手设备握手DTR:PCM(保持)(保持)DSR:PCM(保持)(保持)l请求发送请求发送RTS:PCM(保持),(保持),M载波,在对方产生载波,在对方产生DCDCTS:PCM(保持)(保持)l发送数据发送数据TXD:PCM数据调制信号数据调制信号l结束通信结束通信PC撤除撤除RTS/DTRModem撤除撤除CTS/DSR,停止发送载波,停止发送载波86RS-232C接口连接方式87RS-232C接口连接方式(续)l一种简化的连接方式

49、(一种简化的连接方式(Null Modem)适用于双机直连适用于双机直连TDRDRTSCTSDCDGNDDTRDSRRITDRDRTSCTSDCDGNDDTRDSRRI888.4.3 通用异步通信接口芯片8250主要内容:主要内容:见见p365 1)8250的引脚及功能的引脚及功能 2)与系统的连接)与系统的连接 3)内部结构与内部寄存器)内部结构与内部寄存器 4)8250的编程的编程898250与8088系统的连接系统总线D7-D0DISTRDOSTRINTRMRA0A1A2ADSDISTRDOSTRCS2CS1CS0+5VCSD7-D0# IOR# IOWINTRRESETA0A1A2电平

50、转换/驱动器14881489到RS232接口XTAL1XTAL2BAUDOUTRCLK SOUTSINRTSDTRDSRDCDCTSRI8250XTAL901. 8250 的引脚及功能l面向系统的引脚:面向系统的引脚:D0D7 双向数据线。与系统数据总线双向数据线。与系统数据总线DB相连接,用以传送数相连接,用以传送数据、控制信息和状态信息。据、控制信息和状态信息。CS0,CS1,CS2 片选信号,当它们同时有效时,该片选信号,当它们同时有效时,该8250芯片被选中。芯片被选中。CSOUT 片选输出信号。当片选输出信号。当8250的的CS0、CS1和和CS2同时有效同时有效时,时,CSOUT为

51、高电平。为高电平。MR 主复位信号。主复位信号。 91A0A2 8250内部寄存器的选择信号。不同的编码对应于不同内部寄存器的选择信号。不同的编码对应于不同的寄存器。的寄存器。ADS 地址选通信号。有效时可将地址选通信号。有效时可将CS0,CS1,CS2及及A0-A2锁存于锁存于8250内部。不需要锁存时,内部。不需要锁存时,ADS可直接接地。可直接接地。DISTR 读选通信号。通常与系统总线的读选通信号。通常与系统总线的IOR信号相连接。信号相连接。DOSTR 写选通信号。通常与系统总线的写选通信号。通常与系统总线的IOW信号相连接。信号相连接。INTR 中断请求信号。当允许中断请求信号。当

52、允许8250中断时,接收出错、接收中断时,接收出错、接收数据寄存器满、发送数据寄存器空以及数据寄存器满、发送数据寄存器空以及MODEM的状态的状态均能够产生有效的均能够产生有效的INTR信号。信号。928250 的引脚及功能(续)l面向通信设备的引脚信号面向通信设备的引脚信号SIN, SOUT: 串行输入串行输入/输出端输出端CTS, RTS, DTR, DSR:(同(同RS232标准中的信号)标准中的信号)RLSD: 即即RS232C标准中的标准中的DCD信号信号RI:(同(同RS232标准中的信号)标准中的信号)OUT1, OUT2: 可由用户编程确定其状态的输出端可由用户编程确定其状态的

53、输出端BAUDOUT: 波特率信号输出(频率波特率信号输出(频率=fCLK/分频值)分频值)XTAL1, XTAL2: 接外部晶振,作为基准时钟接外部晶振,作为基准时钟fCLKRCLK: 接收时钟输入(可直接与接收时钟输入(可直接与BAUDOUT相连)相连)934.3942. 8250的内部寄存器l共共10个可编程(寻址)的寄存器个可编程(寻址)的寄存器线路控制寄存器(线路控制寄存器(LCR) BASE+3线路状态寄存器(线路状态寄存器(LSR) BASE+5 发送保持寄存器(发送保持寄存器(THR) BASE+0(写)(写)接收数据寄存器(接收数据寄存器(RBR) BASE+0(读)(读)除

54、数锁存器低除数锁存器低8位(位(DLL)BASE+0(DL=1)除数锁存器高除数锁存器高8位(位(DLH)BASE+1(DL=1)中断允许寄存器(中断允许寄存器(IER) BASE+1中断标志寄存器(中断标志寄存器(IIR) BASE+2Modem控制寄存器(控制寄存器(MCR)BASE+4Modem状态寄存器(状态寄存器(MSR)BASE+6958250的内部寄存器(续)l除数锁存器(除数锁存器(DLL,DLH)BASE+0,1用来保存分频系数,以获得所需的用来保存分频系数,以获得所需的波特率波特率。l波特率波特率可以简单地看成每秒传送多少二进制位的数据。可以简单地看成每秒传送多少二进制位的

55、数据。PC机中基准时钟频率机中基准时钟频率fCLK=1.8432MHz,波特率因子,波特率因子K=16。所以,对于指定的波特率因子。所以,对于指定的波特率因子B 除数值除数值=1843200/(B16)=115200/B例如,通信速率为例如,通信速率为9600波特时,除数值波特时,除数值=12。注意:注意:写除数前,必须把写除数前,必须把LCR的最高位的最高位(DL位位)置置1相关内容见相关内容见P369例例968250的内部寄存器(续)l线路控制寄存器(线路控制寄存器(LCR)BASE+3决定传输时的数据帧格式(通信双方必须一致)决定传输时的数据帧格式(通信双方必须一致)D7 D6 D5 D

56、4 D3 D2 D1 D0DL位:0正常操作1写除数寄存器0正常操作1SOUT强制为1 (Break符号)000无校验001奇校验011偶校验101奇偶位恒为1111奇偶位恒为001位停止位12位停止位00= 5位数据位01= 6位数据位107位数据位118位数据位978250的内部寄存器(续)l线路状态寄存器(线路状态寄存器(LSR)BASE+5反映传输时的通信线状态反映传输时的通信线状态 0 D6 D5 D4 D3 D2 D1 D0发送移位寄存器空发送保持寄存器空检测到Break接收缓冲寄存器就绪溢出错奇偶错格式错(停止位个数不符)988250的内部寄存器(续)l发送保持寄存器(发送保持寄

57、存器(THR)BASE+0要发送的数据写入此寄存器。当发送移位寄存器要发送的数据写入此寄存器。当发送移位寄存器TSR空时,空时,THR中的内容移入中的内容移入TSR被发送出去。被发送出去。只有只有THR空时,空时,CPU才能写入下一个要发送的数据才能写入下一个要发送的数据l接收数据寄存器(接收数据寄存器(RBR)BASE+0接收移位寄存器接收移位寄存器RSR收到一个完整的数据后,就将收到一个完整的数据后,就将其送入其送入RBR中。中。CPU可从可从RBR中读取收到的数据。中读取收到的数据。RBR只能缓冲一个数据,当只能缓冲一个数据,当CPU未能及时取走上一未能及时取走上一个数据,下一个数据又送

58、入个数据,下一个数据又送入RBR时,会产生溢出错时,会产生溢出错998250的内部寄存器(续)l中断允许寄存器(中断允许寄存器(IER)BASE+1决定哪类中断可以产生(也可禁止所有中断产生)决定哪类中断可以产生(也可禁止所有中断产生) 0 0 0 0 D3 D2 D1 D01允许接收器数据就绪中断1允许发送器保持控制器空中断1允许线路状态中断 (溢出错、奇偶错、格式错、Break)1允许Modem状态中断1008250的内部寄存器(续)l中断识别寄存器(中断识别寄存器(IIR)BASE+2用于识别产生中断的原因用于识别产生中断的原因 0 0 0 0 0 D2 D1 D00无中断1有中断00M

59、odem状态中断(优先级最低)01发送保持寄存器空中断10接收缓冲寄存器满中断11线路状态中断1018250的内部寄存器(续)lModem控制寄存器(控制寄存器(MCR)BASE+4产生产生RTS、DTR信号信号产生产生OUT1、OUT2信号信号设置循环自检状态设置循环自检状态 0 0 0 D4 D3 D2 D1 D0DTRRTSOUT1OUT2LOOP1028250的内部寄存器(续)lModem状态寄存器(状态寄存器(MSR)BASE+6反映反映RS232接口的状态接口的状态CTSDSRRIRLSDCTSD7 D6 D5 D4 D3 D2 D1 D0RLSDRIDSR反映4个引脚的当前状态(

60、反相值反相值)反映了自上次读MSR后这4个引脚是否发生了变化(1发生了变化)1038250发送数据的工作过程1)CPU(数据数据)8250的的THR ;2)TSR移空时,移空时,THR TSR,LSR中中“数据发送保持寄存器空数据发送保持寄存器空” 状态位置位状态位置位 ;3)TSR根据根据LCR中规定的格式从低到高逐位发送数据中规定的格式从低到高逐位发送数据 ;4)LSR中中“数据发送保持寄存器空数据发送保持寄存器空” 状态位可用来产生中断,也状态位可用来产生中断,也可查询该状态位,以实现数据的连续发送。可查询该状态位,以实现数据的连续发送。TSRTHR串行数据输出并行数据LSRINTLCR

61、数据状态1)2)3)2)4)4)1048250接收数据的工作过程1 1)SINSIN引脚上的串行数据逐位进入引脚上的串行数据逐位进入RSRRSR;2 2)RSRRSR根据根据LSRLSR中规定的数据位数确定是否收到了一个完整的数据,中规定的数据位数确定是否收到了一个完整的数据,收到后将数据收到后将数据RBRRBR;3 3)RBRRBR收到收到RSRRSR的数据后,将的数据后,将LSRLSR寄存器中寄存器中“ “接收缓冲寄存器满接收缓冲寄存器满接收缓冲寄存器满接收缓冲寄存器满” ”的状态位置位;的状态位置位;4 4)LSR中中“ “接收缓冲寄存器满接收缓冲寄存器满接收缓冲寄存器满接收缓冲寄存器满

62、” ”状态位可用来产生中断,也可查询状态位可用来产生中断,也可查询该状态位,该状态位,以实现数据的连续接收。以实现数据的连续接收。RSRRBR串行数据输入并行数据LSRINTLCR数据状态1)2)3)4)1053. 8250 的初始化流程流程图流程图使LCR的最高位1写除数寄存器写LCR寄存器,同时使LCR的最高位0写MCR寄存器写IER寄存器106用BIOS功能初始化8250lPC机有两个串行接口:机有两个串行接口:COM1(基地址基地址3F8H), COM2(基地址基地址2F8H)lBIOS通过中断通过中断14H提供串行通信功能提供串行通信功能功能功能0:初始化串行接口:初始化串行接口功能

63、功能1:发送一个字符:发送一个字符功能功能2:接收一个字符:接收一个字符功能功能3:读串行接口状态:读串行接口状态lINT14H仅提供了查询方式的通信服务仅提供了查询方式的通信服务要使用中断方式进行发送和接收必须自行编程要使用中断方式进行发送和接收必须自行编程107用BIOS功能初始化8250l功能功能0(初始化)的入口参数为:(初始化)的入口参数为:AH=0AL=初始化参数初始化参数DX=串口编号(串口编号(0=COM1, 1=COM2)l初始化参数定义如下:初始化参数定义如下:D7 D6 D5 D4 D3 D2 D1 D0波特率1001200101240011048001119600奇偶校

64、验x0无校验01奇校验11偶校验数据位数005位016位107位118位停止位01位12位MOV AH, 0MOV AL, 初始化参数MOV DX, 0INT 14H1088.4 DMAC 8237A8.4.1 DMA技术概述技术概述 8.4.2 可编程可编程DMA控制器控制器8237A 8.4.3 DMA技术的应用技术的应用 直接存储器存取直接存储器存取1091.DMA(Direct Memory Access)1.DMA(Direct Memory Access)的概念的概念lDMADMA方式方式不用不用CPUCPU干预干预完成完成M M与与I/OI/O间数据传送。间数据传送。lDMADM

65、A期间系统总线由其它主模块控制期间系统总线由其它主模块控制( (驱动驱动) )l控制总线的主模块要提供系统的地址及控制信号。控制总线的主模块要提供系统的地址及控制信号。lDMADMA控制器与处理器配合可实现系统的控制器与处理器配合可实现系统的DMADMA功能。功能。8.4.1 DMA技术概述技术概述 (见P228)110地址总线地址总线HRQDREQDMACHLDADACK总线总线请求请求总线总线响应响应HOLDHLDACPUDMA请求请求DMA响应响应I/O设备设备控制总线控制总线数据总线数据总线2. DMA2. DMA系统组成及工作过程系统组成及工作过程 DMA DMA系统组成系统组成11

66、1DMAC的基本功能 接收接口往接收接口往DMACDMAC发出发出DMADMA请求信号后,请求信号后,DMADMA控制器能向控制器能向CPUCPU发出总线请求信号发出总线请求信号HOLD(HOLD(高高电平电平) )。当当CPUCPU向向DMACDMAC发出响应信号发出响应信号HLDA(HLDA(高电平高电平) )以后,以后,DMADMA能接管对总线的控制,能接管对总线的控制,进入进入DMADMA方式。方式。能向地址总线发出内存地址信息,对其进能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。行寻址及修改地址指针。112DMAC的基本功能能向存储器或能向存储器或I/OI/O接口发相应的

67、读写控制接口发相应的读写控制信号。信号。能决定传送字节数,并判断能决定传送字节数,并判断DMADMA传送是否传送是否结束。结束。DMADMA过程结束,能向过程结束,能向CPUCPU发出发出DMADMA结束信号,结束信号,HOLDHOLD变低变低, ,将总线控制权还给将总线控制权还给CPUCPU,CPUCPU恢恢复正常工作。复正常工作。113I/O设备向设备向DMAC发出发出DMA请求请求DMAC向向CPU发出发出总线请求总线请求CPU在执行完当前指令的当前在执行完当前指令的当前的总线周期后,向的总线周期后,向DMAC发出发出总线响应信号总线响应信号CPU脱离对系统总线的控制,脱离对系统总线的控

68、制,由由DMAC接管对系统总线的控制接管对系统总线的控制DMAC向向I/O设备发出设备发出的的DMA响应信号响应信号DMAC进行一个字节的传送进行一个字节的传送完成设定的字节数据传送,完成设定的字节数据传送,CPU恢复对系统总线的控制恢复对系统总线的控制DMADMA传送的过程传送的过程传送的过程传送的过程1141148.4.2 DMAC 8237A n n8237A的主要特性 (相关内容见相关内容见p228)n n1 1具具具具有有有有四四四四个个个个独独独独立立立立的的的的DMADMA通通通通道道道道,每每每每个个个个通通通通道道道道都都都都具具具具有有有有64K64K的的的的存存存存贮贮贮

69、贮器器器器寻寻寻寻址址址址能能能能力力力力,即即即即一一一一次次次次传传传传送送送送的的的的最最最最大大大大长度为长度为长度为长度为64K64K字节。字节。字节。字节。n n2 2可可可可实实实实现现现现内内内内存存存存与与与与外外外外设设设设之之之之间间间间的的的的高高高高速速速速大大大大批批批批量量量量数数数数据据据据传传传传送送送送 ,也也也也可可可可实实实实现现现现内内内内存存存存两两两两个个个个不不不不同同同同区区区区域域域域之之之之间间间间的的的的高高高高速速速速数据传送。数据传送。数据传送。数据传送。n n3 3每每每每个个个个通通通通道道道道的的的的DMADMA请请请请求求求求

70、均均均均可可可可分分分分别别别别允允允允许许许许或或或或禁禁禁禁止止止止,且且且且四四四四个个个个通通通通道道道道的的的的DMADMA请请请请求求求求的的的的优优优优先先先先权权权权可可可可由由由由软软软软件件件件设设设设置置置置为固定的或循环的。为固定的或循环的。为固定的或循环的。为固定的或循环的。 1151158237A的主要特性n n4 4具具具具有有有有单单单单字字字字节节节节传传传传送送送送、数数数数据据据据块块块块传传传传送送送送、请请请请求求求求传传传传送送送送和级联传送和级联传送和级联传送和级联传送四种工作方式四种工作方式四种工作方式四种工作方式。n n5 5可用可用可用可用级

71、联级联级联级联方式扩展方式扩展方式扩展方式扩展DMADMA通道数目。通道数目。通道数目。通道数目。n n6 6DMADMA传传传传送送送送结结结结束束束束信信信信号号号号可可可可由由由由内内内内部部部部计计计计数数数数产产产产生生生生,也也也也可由外部输入提供。可由外部输入提供。可由外部输入提供。可由外部输入提供。n n7 7单单单单一一一一的的的的+5V+5V电电电电源源源源,4040个个个个引引引引脚脚脚脚双双双双列列列列直直直直插插插插式式式式封封封封装。装。装。装。n n8 8采采采采用用用用5MHz5MHz时时时时钟钟钟钟,传传传传送送送送速速速速率率率率可可可可达达达达1.6M1.

72、6M字字字字节节节节/ /秒。秒。秒。秒。1161168237A内部结构8237A8237A有有四个四个四个四个独立通道:通道独立通道:通道0-0-通道通道3 3。每个。每个通道可独立响应外部通道可独立响应外部DMADMA请求,完成请求,完成DMADMA传送。传送。模式(方式)REG,1个8位1个DMA请求触发器1个DMA屏蔽触发器字节数寄存器2个16位基字节计数寄存器:基字节计数寄存器:-DMA传送的总字节数。当前字节计数寄存器:当前字节计数寄存器:-DMA传送时内容变化,可读。地址寄存器2个16位基地址寄存器:基地址寄存器:-存放DMA传送RAM地址初值当前地址寄存器:当前地址寄存器:-D

73、MA传送时内容变化,可读。每个通道117117控制寄存器,控制寄存器, 8 8位位u117四个通道共用状态寄存器,状态寄存器, 8 8位位屏蔽寄存器,屏蔽寄存器,8 8位。位。请求寄存器,请求寄存器, 8 8位位暂存器,暂存器, 8 8位位优先级编码电路-优先级裁决定时和控制逻辑作从模块时-接收CPU的信号和命令字,产生控制,读/写内部寄存器作主模块时-控制总线,产生控制命令完成DMA传送1181188237A可编程DMA控制器框图119119F8237的引脚功能的引脚功能u119120120l请求请求/ /应答信号应答信号外设接口电路向外设接口电路向82378237的的DMADMA请求信号请

74、求信号:DREQ3DREQ0DREQ3DREQ08237A8237A对外设接口电路的对外设接口电路的DMADMA应答信号应答信号:DACK3DACK0DACK3DACK08237A8237A向向CPUCPU申请申请总线请求信号总线请求信号:HRQHRQ(连至(连至CPUCPU的的HOLDHOLD)CPUCPU向向8237A8237A传送的传送的总线应答信号总线应答信号:HLDAHLDAHRQHRQDREQDREQHLDA HLDA DACKDACKu120F8237A的引脚功能的引脚功能121121l地址信号地址信号CS* CS* :CPUCPU初始化初始化8237A8237A或读或读8237

75、A8237A状态时所需的片选状态时所需的片选信号。信号。A3-A0A3-A0(输入):(输入):CPUCPU初始化初始化8237A8237A或读或读8237A8237A状态时,状态时,用于寻址用于寻址8237A8237A内部寄存器。内部寄存器。 A7-A0A7-A0(输出):(输出):8237A8237A访问存储器的地址信号的低访问存储器的地址信号的低8 8位。位。F8237A的引脚功能的引脚功能122122l数据信号数据信号(双向双向):DB7DB0CPUCPU为主控时为主控时,可以通过,可以通过I/OI/O读命令查询读命令查询8237A8237A的状态的状态寄存器的内容,或通过寄存器的内容

76、,或通过I/OI/O写命令对写命令对8237A8237A的内部寄存的内部寄存器进行编程,数据传送通过器进行编程,数据传送通过DB7DB0DB7DB0。8237A8237A为主控时为主控时, DB7DB0DB7DB0输出要访问的内存地址的输出要访问的内存地址的高高8 8位,并通过位,并通过ADSTBADSTB锁存到外部地址锁存器中,和锁存到外部地址锁存器中,和A7A0A7A0输出的低输出的低8 8位地址一起构成位地址一起构成1616位地址位地址。u122F8237A的引脚功能的引脚功能123123l地址允许信号地址允许信号:AENAEN8237A8237A作为主控时(作为主控时(8237A823

77、7A控制总线),输出控制总线),输出AEN=1AEN=1。8237A8237A作为从控时(作为从控时(CPUCPU控制总线),输出控制总线),输出AEN=0AEN=0。lDMADMA传输结束信号传输结束信号:EOP* EOP* (双向)(双向)当当DMACDMAC内部任一通道传输结束,内部任一通道传输结束,8237A8237A发出发出EOP*EOP* 。若由外部给若由外部给DMACDMAC送入有效的送入有效的EOP*EOP*,则强制,则强制DMACDMAC内部内部所有通道结束传输。所有通道结束传输。F8237A的引脚功能的引脚功能124124lMEMR*/MEMW*MEMR*/MEMW*:82

78、37A8237A发出的存储器读发出的存储器读/ /写信号写信号lIOR*/IOW*IOR*/IOW*:8237A8237A作为主控时,输出的作为主控时,输出的I/OI/O读读/ /写信号。写信号。8237A8237A作为从控时,作为从控时,CPUCPU发出的发出的I/OI/O读读/ /写信号,用于写信号,用于读读/ /写写8237A8237Au124F8237A的引脚功能的引脚功能125125lADSTBADSTB:地址选通信号:地址选通信号用于启动地址锁存器用于启动地址锁存器lREADYREADY:存储器或:存储器或I/OI/O的就绪信号的就绪信号u125F8237A的引脚功能的引脚功能12

79、68237A的工作方式lDMA传送方式传送方式 单字节传送方式单字节传送方式 数据块传送方式数据块传送方式 请求传送方式请求传送方式 级连方式级连方式lDMA传送类型传送类型 DMA读读 DMA写写 DMA检验检验l存储器到存储器的传送存储器到存储器的传送127(1) DMA传送单字节方式l每次每次DMA传送时仅传送一个字节传送时仅传送一个字节l传送一个字节之后,字节数寄存器减传送一个字节之后,字节数寄存器减1,地址寄存器加,地址寄存器加1或减或减1,HRQ变为无效变为无效l8237A释放系统总线,将控制权还给释放系统总线,将控制权还给CPUl若传送后使字节数从若传送后使字节数从0减到减到FF

80、FFH,则终结,则终结DMA传送传送或重新初始化或重新初始化l特点:特点:一次传送一个字节,效率略低一次传送一个字节,效率略低DMA传送之间传送之间CPU有机会重新获取总线控制权有机会重新获取总线控制权nDMA传送方式128(2) DMA传送数据块方式l由由DREQ启动就连续地传送数据,直到字节数启动就连续地传送数据,直到字节数寄存器从寄存器从0减到减到FFFFH终止计数,或由外部输终止计数,或由外部输入有效信号终结入有效信号终结DMA传送传送lDREQ只需维持有效到只需维持有效到DACK有效有效l特点:特点:一次请求传送一个数据块,效率高一次请求传送一个数据块,效率高整个整个DMA传送期间传

81、送期间CPU长时间无法控制总长时间无法控制总线(无法响应其他线(无法响应其他DMA请求、无法处理中请求、无法处理中断等)断等)129(3) DMA传送-请求传送方式lDREQ信号有效就连续传送数据信号有效就连续传送数据lDREQ信号无效,信号无效,DMA传送被暂时中止,传送被暂时中止,8237A释放总线,释放总线,CPU可继续操作可继续操作lDMA通道的地址和字节数的中间值仍被保持通道的地址和字节数的中间值仍被保持lDREQ信号再次有效,信号再次有效,DMA传送就继续进行传送就继续进行l如果字节数寄存器从如果字节数寄存器从0减到减到FFFFH,或者由外,或者由外部送来一个有效的信号,将终止计数

82、部送来一个有效的信号,将终止计数l特点:特点:DMA操作可由外设利用操作可由外设利用DREQ信号控制信号控制传送的过程传送的过程130(4) DMA传送-级连方式l用于通过多个用于通过多个8237A级连以扩展通道级连以扩展通道l第二级的第二级的HRQ和和HLDA信号连到第一级信号连到第一级某个通道的某个通道的DREQ和和DACK上上l第二级芯片的优先权等级与所连通道的第二级芯片的优先权等级与所连通道的优先权相对应优先权相对应l还可由第二级扩展到第三级等还可由第二级扩展到第三级等1311318237A的级联 132132n nDMADMA读读把数据由存储器传送到外设把数据由存储器传送到外设n n

83、由由MEMR*MEMR*有效从存储器读出数据,由有效从存储器读出数据,由IOW*IOW*有效把有效把这一数据写入外设这一数据写入外设n nDMADMA写写把外设输入的数据写入存储器把外设输入的数据写入存储器n n由由IOR*IOR*有效从外设输入数据,由有效从外设输入数据,由MEMW*MEMW*有效把这有效把这一数据写入存储器。一数据写入存储器。n nDMADMA检验检验空操作空操作n n8237A8237A不进行任何检验不进行任何检验n n外设可以进行外设可以进行DMADMA校验校验n n存储器和存储器和I/OI/O控制线保持无效,不进行传送控制线保持无效,不进行传送nDMA传送类型传送类型

84、133133n n固定使用通道固定使用通道0 0和通道和通道1 1n n通道通道0 0的地址寄存器存的地址寄存器存源区地址源区地址源区地址源区地址n n通道通道1 1的地址寄存器存的地址寄存器存目的区地址目的区地址目的区地址目的区地址,通道,通道1 1的字的字节数寄存器存传送的字节数节数寄存器存传送的字节数n n传送由设置通道传送由设置通道0 0的软件请求启动的软件请求启动n n每传送一字节需用每传送一字节需用8 8个时钟周期个时钟周期n n前前4 4个时钟周期用通道个时钟周期用通道0 0地址寄存器的地址从源区读地址寄存器的地址从源区读数据送入数据送入8237A8237A的临时寄存器的临时寄存

85、器n n后后4 4个时钟周期用通道个时钟周期用通道1 1地址寄存器的地址把临时寄地址寄存器的地址把临时寄存器中的数据写入目的区存器中的数据写入目的区n存储器到存储器的传送存储器到存储器的传送134134 8237A的工作方式由写方式寄存器决定n n存放相应通道的方式控制字存放相应通道的方式控制字n n选择某个选择某个DMADMA通道的工作方式通道的工作方式n n其中用最低其中用最低2 2位选择哪个位选择哪个DMADMA通道通道请看请看方式字方式字的格式的格式135135方式字格式D7 D6D5D4D3 D2D1 D000请求方式请求方式01单字节方式单字节方式10数据块方式数据块方式11级联方

86、式级联方式0 地地址址增增量量(加加1)1 地地址址减减量量(减减1)0禁止自动初始化禁止自动初始化1允许自动初始化允许自动初始化00DMA校验校验01DMA写写10DMA读读11非法非法若若D7D61100通道通道001通道通道110通道通道211通道通道3136136DMA控制器8237A n n自动初始化功能-D4:n n当设置为自动初始化时,当设置为自动初始化时,每当每当DMADMA过程结束信号过程结束信号EOP* EOP* 产生时(产生时( 不论是内部终止计数还是外部不论是内部终止计数还是外部输入该信号输入该信号 ),用基地址寄存器和基字节数寄),用基地址寄存器和基字节数寄存器的内容

87、,存器的内容, 使相应的现行寄存器恢复为初始使相应的现行寄存器恢复为初始值,包括恢复屏蔽位、允许值,包括恢复屏蔽位、允许DMADMA请求作好下一次请求作好下一次DMADMA传送的准备。传送的准备。u136137137 DMA控制器8237A D3 D2:传输方式设定 写输入: I/O设备往内存写入数据。 读输入: 将内存数据送往I/O设备。 校验传输: 用于对读传输和写传输功能进行校验,8237A此时只产生EOP信号和地址信号。 u1371381388237A的寄存器n n8237A共有10种内部寄存器,对它们的操作有时需要配合3个软件命令n n8237A的“软件命令软件命令”n n不需要通过

88、数据总线写入控制字不需要通过数据总线写入控制字n n直接由地址和控制信号译码实现直接由地址和控制信号译码实现全部用地址全部用地址A A0 0A A3 3区分区分139139 1. 8237A 的命令寄存器n n存放存放8237A8237A的命令字的命令字n n设置设置8237A8237A芯片的操作方式芯片的操作方式n n影响每个影响每个DMADMA通道通道n n复位时使命令寄存器清零复位时使命令寄存器清零n n设置设置D2D20 0使使8237A8237A可以作为可以作为DMADMA控制器控制器请看请看命令字命令字的格式的格式8237A 8237A 的命令寄存器和状态寄存器的命令寄存器和状态寄

89、存器140140命令字格式D7D6D5D4D3D2D1D00DACK低有效低有效1DACK高有效高有效0DREQ高有效高有效1DREQ低有效低有效0滞后写滞后写1扩展写扩展写若若D310固定优先权固定优先权1循环优先权循环优先权0正常时序正常时序1压缩时序压缩时序若若D010允许允许DMAC工作工作1禁止禁止DMAC工作工作0允许通道允许通道0地址改变地址改变1禁止通道禁止通道0地址改变地址改变若若D000禁止存储器之间传送禁止存储器之间传送1允许存储器之间传送允许存储器之间传送141141 DMA控制器8237A 命令寄存器格式和有关问题:命令寄存器格式和有关问题: u141D7 D6 D5

90、 D4 D3 D2 D1 D0 nDODO:为:为1则为则为内存到内存的传送内存到内存的传送。此时通道。此时通道0用于存放源地址,通道用于存放源地址,通道1用于存放目的地址及计用于存放目的地址及计数值。数值。 143143DMA控制器8237A n nD1D1:为:为1 1时,可实现内存到内存时,使源地址不时,可实现内存到内存时,使源地址不变而目的地址变化,用于实现内存的初始化。变而目的地址变化,用于实现内存的初始化。n nD2D2:为:为0 0启动启动8237A8237A工作,工作,D2D2为为1 1停止停止8237A8237A工作。工作。n nD3D3:为:为0 0普通时序,为普通时序,为

91、1 1压缩时序。当地址范围仅压缩时序。当地址范围仅用于用于A7A0A7A0时的时的DMADMA时序为压缩时序,即一次可时序为压缩时序,即一次可传送最多传送最多256256个数据。个数据。 144144 DMA通道的优先权方式n nD4=0 D4=0 固定优先权方式固定优先权方式:优先权固定n n通道通道0 0优先权最高,通道优先权最高,通道1 1其次,通道其次,通道2 2再次,再次,通道通道3 3最低最低n nD4=1 D4=1 循环优先权方式循环优先权方式:优先权循环变化n n最近一次服务的通道在下次循环中变成最低最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权优先

92、权,其他通道依次轮流相应的优先权n nD5D5:为0不扩展写信号不扩展写信号;n n为为为为1 1扩展写信号,使扩展写信号,使扩展写信号,使扩展写信号,使MEMWMEMW,IOWIOW扩展扩展扩展扩展2 2个个个个时钟周期。时钟周期。时钟周期。时钟周期。1451452. 状态寄存器格式: D0 D1 D2 D3:表示表示4个通道计数结束状态个通道计数结束状态 1:结束;:结束;0:未结束:未结束D4 D5 D6 D7:表示表示4个通道个通道DMA请求情请求情况况 1:申请;:申请;0:无申请:无申请 146146 3. 请求寄存器n n存放软件DMA请求状态。n n除硬件DMA请求外,当工作在

93、数据块传送方式时也可以通过软件发出DMA请求。n n若是存贮器到存贮器传送,则必须由软件请求启动通道0。请看请看请求字请求字的格式的格式147147请求字格式D7 D6 D5 D4 D3D2D1 D0任意任意0:有:有DMA请求请求 1:无:无DMA请求请求00通道通道001通道通道110通道通道211通道通道3148148 4.屏蔽寄存器n n控制外设硬件控制外设硬件DMADMA请求是否被响应(为请求是否被响应(为0 0允许),允许),各个通道互相独立。各个通道互相独立。3 3种方法:种方法:n n单通道屏蔽字:单通道屏蔽字:单通道屏蔽字:单通道屏蔽字:只对一个只对一个DMADMA通道屏蔽位

94、进行设置通道屏蔽位进行设置n n主屏蔽字:主屏蔽字:主屏蔽字:主屏蔽字:对对4 4个个DMADMA通道屏蔽位同时进行设置通道屏蔽位同时进行设置n n清屏蔽字:清屏蔽字:清屏蔽字:清屏蔽字:使使4 4个屏蔽位都清零(允许)个屏蔽位都清零(允许)n n复位使复位使4 4个通道全置于屏蔽状态。个通道全置于屏蔽状态。n n当一个通道的当一个通道的DMADMA过程结束,如果不是工作在自动过程结束,如果不是工作在自动初始化方式,则这一通道的屏蔽位置位,必须再次初始化方式,则这一通道的屏蔽位置位,必须再次编程为允许,才能进行下次编程为允许,才能进行下次DMADMA传送。传送。请看请看屏蔽字屏蔽字的格式的格式

95、149149单通道屏蔽字格式D7 D6 D5 D4 D3D2D1 D0任意任意0清屏蔽位清屏蔽位1置屏蔽位置屏蔽位00通道通道001通道通道110通道通道211通道通道3150150主屏蔽字格式D7 D6 D5 D4D3D2D1D0任意任意Di0清通道清通道I屏蔽位屏蔽位Di1置通道置通道I屏蔽位屏蔽位151151 临时寄存器n n在存储器到存储器的传送方式下,临时寄存器保存从源存储单元读出的数据,该数据又被写入到目的存储单元。n n传送完成,临时寄存器只会保留最后一个字节,可由CPU读出。n n复位使临时寄存器内容为零。1521524. 8237A的字节指针(1) 当前地址寄存器当前地址寄存

96、器n n保持DMA传送的当前地址值n n每次传送后该寄存器的值自动加1或减1n n这个寄存器的值可由CPU写入和读出基地址寄存器基地址寄存器存放存放初始值初始值153153(2) 当前字节数寄存器n n保持保持DMA传送的剩余字节数传送的剩余字节数n n每次传送后,该寄存器的值减每次传送后,该寄存器的值减1n n这个寄存器的值可由这个寄存器的值可由CPU写入和读出写入和读出n n该寄存器的值减至该寄存器的值减至0,再减,再减1(从(从0减到减到FFFFH)时,终止计数)时,终止计数基字节数寄存器基字节数寄存器存放存放初始值初始值传送传送N N个字节,个字节,初始值初始值为为N N1 11541

97、54读写通道寄存器n nCPU与与8237A之间通过之间通过8位数据总线交换位数据总线交换信息,信息,8237A的通道寄存器均为的通道寄存器均为16位。位。n n需要两次读写操作才能实现需要两次读写操作才能实现CPU与与8237A之间的一个完整数据的交换。之间的一个完整数据的交换。n n8237A内含一个内含一个高高/低触发器低触发器,用来控制,用来控制读写通道寄存器的高、低字节。读写通道寄存器的高、低字节。155155高/低触发器n n该触发器为该触发器为0,控制读写低字节,控制读写低字节n n该触发器为该触发器为1,控制读写高字节,控制读写高字节n n软、硬件复位后,触发器为软、硬件复位后

98、,触发器为0n n每次读写通道寄存器,自动改变触发器每次读写通道寄存器,自动改变触发器状态。如果状态。如果对对16位寄存器的操作用两次位寄存器的操作用两次连续读写进行,就不必清除这个触发器连续读写进行,就不必清除这个触发器n n清除高清除高/低触发器低触发器软件命令软件命令(A3A2A1A01100)将使高)将使高/低触发器清零低触发器清零1561563个软件命令n n清除高清除高/ /低触发器软件命令低触发器软件命令n nA A3 3A A2 2A A1 1A A0 01100=0CH1100=0CH,使高,使高,使高,使高/ /低触发器清零低触发器清零低触发器清零低触发器清零n n主清除命

99、令主清除命令n nA A3 3A A2 2A A1 1A A0 01101=0DH1101=0DH,使高使高使高使高/ /低触发器清零低触发器清零低触发器清零低触发器清零n n还使命令、状态、请求、临时寄存器清零还使命令、状态、请求、临时寄存器清零还使命令、状态、请求、临时寄存器清零还使命令、状态、请求、临时寄存器清零n n使屏蔽寄存器置为全使屏蔽寄存器置为全使屏蔽寄存器置为全使屏蔽寄存器置为全1 1(禁止(禁止(禁止(禁止DMADMA请求)请求)请求)请求)n n主清除命令与硬件的主清除命令与硬件的主清除命令与硬件的主清除命令与硬件的RESETRESET信号具有相同的功能信号具有相同的功能信

100、号具有相同的功能信号具有相同的功能n n清屏蔽寄存器命令清屏蔽寄存器命令n nA A3 3A A2 2A A1 1A A0 01110=0EH1110=0EH,使使使使4 4个屏蔽位都清零(允个屏蔽位都清零(允个屏蔽位都清零(允个屏蔽位都清零(允许许许许DMADMA请求)请求)请求)请求)157157内部寄存器的寻址问题n n占用16个端口地址n n问题:如此多的寄存器,采用什么方法只用16个端口地址就能访问到?n n端口分配表(见下页)u1571581588237A内部寄存器的寻址A A3 3 A A2 2 A A1 1 A A0 0通道号通道号读操作读操作(IOR)(IOR)写操作(写操作

101、(IOWIOW) 0 0 0 00 0 0 00 0读当前地址寄存器读当前地址寄存器写基和当前地址寄存器写基和当前地址寄存器 0 0 0 10 0 0 1读当前字节计数寄存器读当前字节计数寄存器写基和当前字节计数寄存器写基和当前字节计数寄存器 0 0 1 00 0 1 01 1读当前地址寄存器读当前地址寄存器写基和当前地址寄存器写基和当前地址寄存器 0 0 1 10 0 1 1读当前字节计数寄存器读当前字节计数寄存器写基和当前字节计数寄存器写基和当前字节计数寄存器 0 1 0 00 1 0 02 2读当前地址寄存器读当前地址寄存器写基和当前地址寄存器写基和当前地址寄存器 0 1 0 10 1

102、0 1读当前字节计数寄存器读当前字节计数寄存器写基和当前字节计数寄存器写基和当前字节计数寄存器 0 1 1 00 1 1 03 3读当前地址寄存器读当前地址寄存器写基和当前地址寄存器写基和当前地址寄存器 0 1 1 10 1 1 1读当前字节计数寄存器读当前字节计数寄存器写基和当前字节计数寄存器写基和当前字节计数寄存器 1 0 0 01 0 0 0四四个个通通道道公公用用读状态寄存器读状态寄存器写命令寄存器写命令寄存器 1 0 0 11 0 0 1写请求寄存器写请求寄存器 1 0 1 01 0 1 0返回返回写屏蔽寄存器某一位写屏蔽寄存器某一位 1 0 1 11 0 1 1写模式寄存器写模式寄

103、存器 1 1 0 01 1 0 0清除高低位触发器命令清除高低位触发器命令 1 1 0 11 1 0 1读暂存寄存器读暂存寄存器主清除命令主清除命令 1 1 1 01 1 1 0 1 1 1 11 1 1 1写屏蔽寄存器所有位写屏蔽寄存器所有位1591598.7 8237A的编程n n1. 编程步骤 8237A8237A的编程的编程通常通常可按如下步骤进行:可按如下步骤进行:n n(1) (1) 输出主清除命令;输出主清除命令;主清时只要求对总清地址进主清时只要求对总清地址进行写操作并不关心写入什么数据。行写操作并不关心写入什么数据。 n n(2) (2) 置页面寄存器;置页面寄存器;n n(

104、3) (3) 写入基和当前地址寄存器;写入基和当前地址寄存器;n n(4) (4) 写入基和当前字节计数寄存器;写入基和当前字节计数寄存器;n n(5) (5) 写入模式寄存器;写入模式寄存器;n n(6) (6) 写入命令寄存器;写入命令寄存器;n n(7) (7) 写入屏蔽寄存器;写入屏蔽寄存器;n n(8) (8) 写入请求寄存器。写入请求寄存器。u159160160n n其中第其中第(8)(8)步是采用软件步是采用软件DMADMA请求时所需要的,由请求时所需要的,由此可将相应的请求命令字写入指定通道,从而启此可将相应的请求命令字写入指定通道,从而启动动DMADMA传送过程;传送过程;n

105、 n若为硬件若为硬件DMADMA请求,则无需此步骤,只要在完成了请求,则无需此步骤,只要在完成了(1)(1)(7)(7)步编程后,由通道的步编程后,由通道的DREQDREQ信号即可启动信号即可启动DMADMA传送过程。传送过程。u160161161n n编程举例n n在IBMPC系统中,试利用8237A通道1,将内存8000H:0H开始的16K字节数据传送至磁盘(地址增量传送)。n n要求采用块传送方式,传送完不自动预置,DREQ和DACK均为高电平有效,固定优先级,普通时序,不扩展写信号。n n系统中8237A的端口地址为00H0FH。u16116216210001001D7 D6 D5 D

106、4 D3 D2 D1 D089H块方式块方式读传送读传送通道通道1地址增量地址增量非自动初始化非自动初始化(1)确定工作方式字u162163163D7 D6 D5 D4 D3 D2 D1 D010000000(2)确定命令字非存储器至非存储器至存储器传送存储器传送无意义无意义控制器允许控制器允许普通时序普通时序DACK 高电平有效高电平有效DREQ 高电平有效高电平有效正常写正常写固定优先级固定优先级80Hu163164164(3)确定屏蔽字D7 D6 D5 D4 D3 D2 D1 D00000000101H通道通道1的屏蔽位复位的屏蔽位复位u164165165初始化程序如下:初始化程序如下:

107、n nMOV ALMOV AL, 00H 00H ; 写入基和当前地址低写入基和当前地址低写入基和当前地址低写入基和当前地址低8 8位位位位n nOUT 02HOUT 02H,AL AL n nMOV ALMOV AL,00H 00H ; 写入基和当前地址高写入基和当前地址高写入基和当前地址高写入基和当前地址高8 8位位位位n nOUT 02HOUT 02H,AL AL n nMOV ALMOV AL,00H 00H ; 写入基和当前字节计数寄存器低写入基和当前字节计数寄存器低写入基和当前字节计数寄存器低写入基和当前字节计数寄存器低8 8位位位位n nOUT 03HOUT 03H,AL AL

108、n nMOV ALMOV AL,40H 40H ; 写入基和当前字节计数寄存器高写入基和当前字节计数寄存器高写入基和当前字节计数寄存器高写入基和当前字节计数寄存器高8 8位位位位n nOUT 03HOUT 03H,AL AL n nMOV ALMOV AL,89H 89H ; 输出模式字输出模式字输出模式字输出模式字n nOUT 0BHOUT 0BH,AL AL n nMOV ALMOV AL,80H80H ; 输出命令字输出命令字输出命令字输出命令字n nOUT 08HOUT 08H,AL AL ;8237A8237A内部寄存器的寻址内部寄存器的寻址内部寄存器的寻址内部寄存器的寻址n nMOV ALMOV AL,01H01H ; 输出屏蔽字输出屏蔽字输出屏蔽字输出屏蔽字n nOUT 0AHOUT 0AH,AL AL u165

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号