《微型计算机通信与接口技术(第二版) 第3章 PC机接口芯片.ppt》由会员分享,可在线阅读,更多相关《微型计算机通信与接口技术(第二版) 第3章 PC机接口芯片.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第三三章章 PCPC机接口芯片机接口芯片 3.1.1 并行接口的特点本章首页本章首页本章首页本章首页多根数据线上同时传送多位信息,字节并行、字并行“并行并行”的含义是指接口与外设间的数据线接口与外设间设置联络信号(至少2根)数据传送单位:1个字节或1个字不要求有固定的数据格式3.1.2 可编程并行接口8255A1.1.8255A8255A的外部特性和内部结构的外部特性和内部结构1 1)8255A8255A的基本特性的基本特性数据端口数据端口:2个8位端口(PA、PB)、2个4位端口(PC高/低4位)与TTL电平兼容数据传送方式:数据传送方式:无条件、查询、中断 对应的工作方式:0、1、2命令
2、字:命令字:工作方式字和PC口按位置/复位命令字寄存器种类:寄存器种类:数据口、控制口和状态口PCPC的特殊性:的特殊性:作为数据口,是2个独立的4位口可由控制字进行按位控制方式1、2时,大部分引脚作应答线作为方式1、方式2的状态口 面向面向CPUCPU的信号的信号(14)D D0 07 7、CSCS、RDRD、WRWRRESETRESET :复位,高有效,清除控制寄存器,数据口置为输入,复位输出寄存器和状态寄存器,屏蔽中断,24根I/O线高阻A A1 1、A A0 0:端口选择;输入00:PA口01:PB口10:PC口11:控制口A1A0=本章首页本章首页本章首页本章首页3.1.2 可编程并
3、行接口8255A(续)2 2)引脚)引脚(40脚)3 3)内部结构)内部结构面向外设的信号面向外设的信号(24)PAPA0 07 7:端口A的输入/输出线 PBPB0 07 7:端口B的输入/输出线 PCPC0 07 7:端口C的输入/输出线 数据总线缓冲器数据总线缓冲器读读/写控制逻辑写控制逻辑-非法操作非法操作1 11 10 01 10 0302H302H62H62H从从C C口读数据口读数据或状态或状态0 01 10 01 10 0301H301H61H61H从从B B口读数据口读数据1 10 00 01 10 0300H300H60H60H从从A A口读数据口读数据0 00 00 01
4、 10 0303H303H63H63H写控制字写控制字1 11 11 10 00 0302H302H62H62H向向C C口写数据口写数据0 01 11 10 00 0301H301H61H61H向向B B口写数据口写数据1 10 01 10 00 0300H300H60H60H向向A A口写数据口写数据0 00 01 10 00 0实验台实验台 地址地址系统板系统板 地址地址操作操作A A0 0A A1 1RDRDWRWRCSCS读/写控制 逻辑数据总线缓冲器D0D7A0RDWRB组控制CSPA07A组控制A1RESETA组 A口(8位)A组 PC上(4位)B组 B口(8位)PB07PC47
5、PC03B组 PC下(4位)本章首页本章首页本章首页本章首页3.1.3 8255A的工作方式 1.8255A的0方式及其应用1.1.方式方式0 0的特点的特点基本输入/输出方式,无固定联络信号;输入缓冲、输出锁存;无条件或查询方式独立的2个8位口和2个4位口,24根I/O线全部由用户控制无固定时序和确定状态字单向传送2.2.并行打印机接口设计并行打印机接口设计1 1)要求)要求:查询方式,打印首址为BUF的256个字符(ASCII码)2 2)使用的信号)使用的信号(Centronics标准,8位并行)BUSYBUSY:忙,=1,打印机忙;打印机打印完使BUSY=0,可供查询DATA BITDA
6、TA BIT1 18 8(DBDB1 18 8):数据线,传送字符的ASCII码,但数据并未进入打印机DATA STROBEDATA STROBE(DSTBDSTB):数据选通,负脉冲有效,将DB18上的数据打入打印机内ACKNOWLEDGEACKNOWLEDGE(ACKACK):应答,打印机打印完字符输出负脉冲,可产生中断本章首页本章首页本章首页本章首页本章首页本章首页本章首页本章首页1.1.方式方式1 1的特点的特点选通(应答)输入/输出,有固定应答和中断申请信号;输入有锁存功能;查询或中断方式PA、PB作数据口,PC部分引脚作应答线;作应答线的引脚不由用户控制有固定时序和确定状态字单向传
7、送2.2.方式方式1 1下联络信号线的定义及其时序下联络信号线的定义及其时序1 1)输入的联络信号定义及时序)输入的联络信号定义及时序联络信号的定义联络信号的定义INTEINTE:中断允许,内部控制,1:允许中断,=0:禁止 对PC4置/复位 对PC2置/复位STBSTB:输入选通,外设 8255A,将数据送入8255A PC4 PC2IBFIBF:输入缓冲器满,8255A 外设,高电平阻止外设送数 PC5 PC1INTRINTR:中断申请,8255A CPU,高有效,请求CPU读数 PC3 PC0中断产生条件中断产生条件:INTE1,STB=IBF=1,则INTR=1PAPA口口PBPB口口
8、MOV DX,303H MOV AL,86H OUT DX,ALMOV AL,09H OUT DX,ALMOV AL,04H OUT DX,AL作用?作用?PC4=1INTEB=0本章首页本章首页本章首页本章首页STBIBFINTRRD来自外设的数据1 1方式输入工作时序图方式输入工作时序图2 2)输出的联络信号定义及时序)输出的联络信号定义及时序工作时序工作时序外设将数据放到数据线上,并使STB=STB下降沿约300ns,IBF=1STB上升沿约300ns,INTR=1(INTE=1时)CPU读数,RD下降沿复位INTR,上升沿复位IBF信号信号变化变化过程过程ACKACK:应答信号,外设
9、8255A,表示外设已取走数据 PC6 PC2INTRINTR:中断申请,8255A CPU,高有效,请求CPU写数 PC3 PC0PAPA口口PBPB口口OBFOBF:输出缓冲器满,8255A 外设,低电平通知外设取数 PC7 PC1中断产生条件中断产生条件:INTE1,ACK=OBF=1,则INTR=1INTEINTE:中断允许,内部控制,1:允许中断,=0:禁止 对PC6置/复位 对PC2置/复位CPU8255A外设STBIBFINTRRD本章首页本章首页本章首页本章首页工作时序工作时序CPU8255A外设OBFINTRWRACKCPU写数,WR下降沿复位INTR,上升沿使OBF=0外设
10、将数据取走,并使ACK=ACK下降沿使OBF=1ACK上升沿使INTR=1(INTE=1时)信号信号变化变化过程过程WRINTR1 1方式输出工作时序图方式输出工作时序图OBFACK数据输出3.3.方式方式1 1的状态字的状态字D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0A A组状态组状态B B组状态组状态PCPC7 7PCPC6 6PCPC5 5PCPC4 4PCPC3 3输入输入I/I/O OI/I/O OIBFIBFA AINTEINTEA AINTRINTRA APCPC7 7PCPC6 6PCPC5 5PCPC4 4PCPC3 3输
11、出输出OBFOBFA AINTEINTEA AI/I/O OI/I/O OINTRINTRA APCPC2 2PCPC1 1PCPC0 0输入输入INTEINTEB BIBFIBFB BINTRINTRB BPCPC2 2PCPC1 1PCPC0 0输出输出INTEINTEB BOBFOBFB BINTRINTRB B由C口读出,但与C口引脚不完全相同输入查询IBF或INTR;输出查询OBF或INTRINTE是由用户设置的注意事项注意事项本章首页本章首页本章首页本章首页方式21.1.方式方式2 2的特点的特点双向选通输入/输出,只有PA口有有专用的联络信号线和中断申请信号,查询或中断方式联络线
12、定义、时序和状态字是方式1输入和输出的组合2.2.2 2方式下联络信号线的定义及其时序方式下联络信号线的定义及其时序输入时:STB、IBF、INTR、内部控制INTE入输出时:OBF、ACK、INTR、内部控制INTE出对对PCPC6 6置置/复位复位INTEINTE出出对对PCPC4 4置置/复位复位INTEINTE入入PCPC3 3INTRINTRPCPC5 5IBFIBFPCPC7 7OBFOBFPCPC6 6ACKACKPCPC4 4STBSTB时序也是方式1输入和输出的组合3.3.2 2方式的状态字方式的状态字D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D
13、 D1 1D D0 0A A组状态组状态B B组状态组状态PCPC7 7PCPC6 6PCPC5 5PCPC4 4PCPC3 3OBFOBFA AINTEINTE出出IBFIBFA AINTEINTE入入INTRINTRA A1 1方式方式PCPC2 2PCPC1 1PCPC0 0输入输入INTEINTEB BIBFIBFB BINTRINTRB B1 1方式方式PCPC2 2PCPC1 1PCPC0 0输出输出INTEINTEB BOBFOBFB BINTRINTRB BPCPC2 2PCPC1 1PCPC0 00 0方式方式I/I/O OI/I/O OI/I/O O要查询要查询IBFIBF
14、、OBFOBF数据端口数据端口A A、B B、C:C:输入三态缓冲,输出锁存;C口分为两个4位口、状态口A A组和组和B B组控制电路组控制电路:A组:A口和C口上半部,B组:B口和C口下半部3.1.4 8255A的控制字的控制字 方式字(D7=1)C口按位置/复位命令字(D7=0)1 1)方式命令)方式命令PCPC下下方向方向D D0 0B B口方向口方向B B口方式口方式PCPC上上方向方向A A口方向口方向A A口方式口方式特征位特征位D D1 1D D2 2D D3 3D D4 4D D5 5D D6 61 1 1 100:方式001:方式110:方式2(双向)0:方式01:方式10:
15、输出1:输入传输方向MOV DX,303H MOV AL,95H OUT DX,ALA A口方式口方式0,0,入入;B;B口方式口方式1,1,出出;C;C上上输出输出,C,C下下输入输入 方式字为10010101=95H2 2)C C口按位置口按位置/复位命令字复位命令字0 0 0 0D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0特征位特征位无效无效引脚选择引脚选择置置/复位选择复位选择000:PC0001:PC1111:PC70:复位1:置位MOV DX,303H MOV AL,0BH OUT DX,ALPCPC5 5=1=12*i:PCi复位2*i+1
16、:PCi置位PCPC5 5=MOV DX,303H MOV AL,0AH OUT DX,AL NOP NOP MOV DX,303H MOV AL,0BH OUT DX,AL 注意事项注意事项l写入地址:控制口l只对输出引脚起作用l每次操作一个引脚本章首页本章首页本章首页本章首页本章首页本章首页本章首页本章首页3 3)两个命令字的区别)两个命令字的区别作用不同;用特征位区分4 4)A A、B B口按位操作的实现方法口按位操作的实现方法PAPA5 5=MOV DX,300H IN AL,DX OR AL,20H OUT DX,AL AND AL,0DFH OUT DX,AL NOP NOP OR
17、 AL,20H OUT DX,AL 输出有锁输出有锁存功能存功能对数据口操作PA口3种方式PB口2方式方式1和方式2时PC口引脚作联络线同时令同时令PBPB3 3、5 5=1 PB=1 PB2 2、7 7=0=0MOV DX,301H IN AL,DX OR AL,28H AND AL,7BH OUT DX,AL可同时操作多引脚3.3.8255A8255A的工作方式的工作方式3.1.5 接口应用举例例如,利用8255A的A口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。3.1.5 接口应用举例例如,利用8255A的A口方式0与微型打印机相连,将内存缓冲区
18、BUFF中的字符打印输出。试完成相应的软硬件设计。DATA SEGMENTBUFF DB This is a print program!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUFF MOV AL,88H OUT 03H,AL MOV AL,01H;OUT 03H,AL WAIT:IN AL,02H TEST AL,80H JNZ WAIT MOV AL,SI CMP AL,$JZ DONE OUT 00H,AL MOV AL,00H OUT 03H,AL
19、 MOV AL,01H OUT 03H,AL INC SI JMP WAITDONE:MOV AL,0DH OUT 00H,AL MOV AL,00H OUT 03H,AL MOV AL,01H OUT 03H,AL WAIT1:IN AL,02H TEST AL,80H JNZ WAIT 1 MOV AL,0AH OUT 00H,AL MOV AL,00H OUT 03H,AL MOV AL,01H OUT 03H,AL MOV AH,4CH INT 21H CODE ENDSEND START3.1.5 接口应用举例例3-2,将上例中8255A的工作方式改为方式1,采用中断方式将BUFF开
20、始的缓冲区中的100个字符从打印机输出。3.1.5 接口应用举例8255A的控制字为:1010XXX0 PC0置位:00000001 即 01HPC0复位:00000000 即 00HPC6置位:00001101 即 0DH,允许8255A的A口输出中断MAIN:MOV AL,0A0H OUT 03H,AL MOV AL,01H OUT 03H,AL XOR AX,AX MOV DS,AX MOV AX,OFFSET ROUTINTR MOV WORD PTR 002CH,AX MOV AX,SEG ROUTINTR MOV WORD PTR 002EH,AX MOV AL,0DH OUT 0
21、3H,AL MOV DI,OFFSET BUFF MOV CX,99 MOV AL,DI OUT 00H,AL INC DI MOV AL,00H OUT 03H,AL INC AL OUT 03H,AL STI NEXT:HLT LOOP NEXT MOV AH,4CH INT 21H中断服务子程序如下:ROUTINTR:MOV AL,DI OUT 00H,AL MOV AL,00H OUT 03H,AL INC AL MOV 03H,AL INC DI IRET 3.2 8253定时/计数器 本章首页本章首页本章首页本章首页日时钟、实时钟、时间延迟2 2)计数)计数3 3)定时与计数的关系
22、)定时与计数的关系频率声音音乐频率声音音乐微机系统中的定时微机系统中的定时3.2.1 定时计数概述定时计数概述 1 1)定时:)定时:内部定时:内部定时:计算机本身运行的时间 基准或时序关系;由计算机硬件决定,用户无法更改无法更改外部定时:外部定时:外设实现某种功能时,本身所需的时序关系时序配合:时序配合:考虑外设与CPU连接时,以计算机的时序关系为依据,以满足计算机的时序要求1)软件定时)软件定时(短时延时)不需增加硬件浪费CPU资源;定时程序通用性差2)硬件定时)硬件定时(定时时间长)可编程定时/计数器或单稳延时电路不占用CPU时间、定时准确、定时程序具有通用性2.定时方法定时方法 典型的
23、延时程序:MOVCX,nWAIT:LOOPDELAY3定时/计数器工作原理(1)门脉冲控制时钟输入。(2)用门脉冲重新启动计数。(3)用门脉冲停止计数。(4)单一计数。(5)循环计数。定时/计数器有以下几种工作方式:数据总线缓冲器:数据总线缓冲器:8位、双向、三态;连接内、外数据线控制命令寄存器:控制命令寄存器:接收控制字,控制工作方式,只写内部总线读/写逻辑数据总线缓冲器D0D7A0A1IORIOW控制命令寄存器CS计数器2CLK2GATE2OUT2计数器1CLK1GATE1OUT1计数器0CLK0GATE0OUT016位当前计数值锁存器16位减1计数器16位计数初值寄存器&CLKGATEO
24、UT装入/读出初值LSBMSB减1为0时锁存后读出当前值LSBMSB通道的内部结构通道的内部结构3.2.2 8253的内部结构的内部结构 计数通道:计数通道:3个,结构相同初值寄存器:存放初值,可读可写,写入后不变减1计数器:在GATE作用下,对CLK输入的脉冲进行减1计数当前计数值锁存器:锁存减1计数器的当前值,只读本章首页本章首页本章首页本章首页3.2.3 8253的引脚功能 区分区分6种工作方式的不同点种工作方式的不同点(1)启动计数器的触发方式和时刻不同;(2)计数过程中门控信号GATE对计数操作的影响不同;(3)OUT输出波形不同;(4)在计数过程中重新写入计数初值对计数过程的影响不
25、同;(5)计数过程结束,减法计数器是否恢复计数初值并自动重复计数的不同。3.2.4 8253的工作方式 本章首页本章首页本章首页本章首页1 1)0 0方式方式低电平输出(低电平输出(GATEGATE信号上升沿继续计数)信号上升沿继续计数)触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:计数过程中为低电平,减为0变高,并结束计数过程中计数过程中GATEGATE作用:作用:1,允许;0,禁止;,暂停,继续计数过程中写入新初值:计数过程中写入新初值:马上按新初值开始计数CLKWROUTN=5543210GATE=1WRN=5OUTGATE543333210WRN=9N=69865432
26、1OUT0GATE=1本章首页本章首页本章首页本章首页2 2)1 1方式方式低电平输出(低电平输出(GATEGATE信号上升沿重新计数)信号上升沿重新计数)触发方式:触发方式:写入初值后,GATE 触发输出波形:输出波形:计数过程中为低电平,减为0变高,并结束计数过程中计数过程中GATEGATE作用:作用:1,0,不影响;,启动或重新启动计数过程中写入新初值:计数过程中写入新初值:由GATE 启动新过程CLKWROUTN=5WRN=5OUTGATE543543210WRN=3N=423100432OUT1GATE543210543210GATE周期周期:N*TCLK高低电平比:高低电平比:N-
27、1:13 3)2 2方式方式周期性负脉冲输出周期性负脉冲输出触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:计数过程中为高电平,减为1时变低,维持1个时钟周期,再次变高并重新装入计数初值,重复计数过程GATEGATE作用:作用:1,允许;0,禁止;,停止,重新开始计数过程中写入新初值:计数过程中写入新初值:计数器回零,输出完负脉冲后,再开始新过程CLKWROUTN=5543210WRN=5OUTGATE543210WRN=5N=454210321OUT0GATE=1543210 05432105GATE154354321053443214032具有具有自动重新装载计数初值自动重新
28、装载计数初值的功能的功能每当减1计数器的值减为0,就将初值寄存器的内容重新装入减1计数器,重新开始计数,输出重复波形本章首页本章首页本章首页本章首页GATEGATE作用:作用:1,允许;0,禁止;,停止,重新开始4 4)3 3方式方式周期性方波输出周期性方波输出触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:输出占空比为1:1或近似1:1的方波。初值为偶数时,前半周为高电平,后半周为低电平;初值为奇数时,前一半加1的计数过程中为高电平GATEGATE作用:作用:1,允许;0,禁止;,停止,重新开始计数过程中写入新初值:计数过程中写入新初值:计数器回零,输出完整的方波后,再开始新过
29、程本章首页本章首页本章首页本章首页CLKWROUTN=5543210WRN=44310321OUT0GATE=1543210 05432105GATE124432140321周期周期:N*TCLK高低电平比:高低电平比:1:1(N为偶数);(N为奇数)与方式2一样具有自动重新装载计自动重新装载计数初值数初值的功能,与方式2的区别仅在于输出波形不同本章首页本章首页本章首页本章首页5 5)4 4方式方式单次负脉冲输出(软件触发)单次负脉冲输出(软件触发)触发方式:触发方式:写入初值后,WR 触发输出波形:输出波形:方式设定后输出为高电平,并维持,减为0时变低,维持1个时钟周期,再次变高并结束计数过
30、程中写入新初值:计数过程中写入新初值:待原过程结束并输出完负脉冲后开始新过程GATEGATE作用:作用:1,允许;0,禁止;,停止,重新开始CLKWROUTN=5543210GATE=1WRN=5OUTGATE5454321WRN=3N=43204321OUT0GATE=101本章首页本章首页本章首页本章首页6 6)5 5方式方式单次负脉冲输出(硬件触发)单次负脉冲输出(硬件触发)触发方式:触发方式:写入初值后,GATE 触发输出波形:输出波形:计数过程中为高,结束时输出宽度为1个时钟周期的负脉冲并结束计数过程中计数过程中GATEGATE作用:作用:1,0,不影响;,启动或重新启动计数过程中写
31、入新初值:计数过程中写入新初值:由GATE 启动新过程触发方式同1方式输出波形同4方式CLKWROUTN=5WRN=5OUTGATE543543210WRN=3N=423100432OUT1GATE543210543210GATE7 7)6 6种方式的比较种方式的比较触发方式:触发方式:方式1和方式5为硬件触发;其余为软件触发输出波形:输出波形:方式2和方式3输出重复波形,其余为单次波形;方式0、1基本相同,方式4、5相同方式方式GATEGATE引脚输入状态所起的作用引脚输入状态所起的作用输出波形输出波形高电平高电平低电平低电平下降沿下降沿上升沿上升沿0 0允许允许禁止禁止暂停暂停继续继续计数
32、过程中为低计数过程中为低,计数值减为计数值减为0 0时时,变高变高(单次单次)1 1不影响不影响不影响不影响不影响不影响开始或重开始或重新开始新开始宽度为宽度为n n个个CLKCLK的低电平(单次)的低电平(单次)2 2允许允许禁止禁止停止停止重新开始重新开始周期为周期为n n个个CLKCLK,宽度为宽度为1 1个个CLKCLK的负脉冲的负脉冲(重复波形)(重复波形)3 3允许允许禁止禁止停止停止重新开始重新开始周期为周期为n n个个CLKCLK的方波(重复波形)的方波(重复波形)4 4允许允许禁止禁止停止停止重新开始重新开始减为减为0 0时输出宽度为时输出宽度为1 1个个CLKCLK的负脉冲
33、的负脉冲(单次单次)5 5不影响不影响不影响不影响不影响不影响开始或重开始或重新开始新开始减为减为0 0时输出宽度为时输出宽度为1 1个个CLKCLK的负脉冲的负脉冲(单次单次)本章首页本章首页本章首页本章首页本章首页本章首页本章首页本章首页3.2.5 8253的编程写入方式字:写入方式字:向控制端口写入方式字,选择通道、确定工作方式写入计数初值:写入计数初值:按方式字的要求向指定通道装入计数初值1 182538253方式控制字方式控制字命令字的作用命令字的作用工作方式字:工作方式字:选择通道、确定工作方式锁存命令:锁存命令:将选定计数通道的当前计数值锁存,以便读取本章首页本章首页本章首页本章
34、首页3.2.6 8253的应用举例 在使用8253时有两项工作要做,一是要根据实际应用要求,设计一个包含8253的硬件逻辑电路或接口;二是对8253进行初始化编程,只有初始化后,8253才可以按要求正常工作。寄存器地址端口地址0#计数器40H1#计数器41H2#计数器42H控制寄存器43H本章首页本章首页本章首页本章首页3.2.6 8253的应用举例 例1:用8253监视一个生产流水线,每通过100个工件,蜂鸣器响6s,频率为1000HZ。本章首页本章首页本章首页本章首页3.2.6 8253的应用举例 例2:本例是利用TURBO C开发环境设计程序,实现如下功能:(1)程序启动时,要求输入定时
35、时间,以秒为单位。(2)按秒计时,每秒到达时,在屏幕上显示当前为第几秒,同时蜂鸣器发出短促叫声;(3)当定时时间到,则显示“Time Up!”,结束程序。本章首页本章首页本章首页本章首页3.3 DMA控制器Intel 82373.3.1 DMA概述 计算机CPU与外部设备之间的数据传送有4种基本方式,即直接数据传送方式程序控制(查询)方式中断控制方式直接存储器存取(DMA)方式。1.DMA工作过程本章首页本章首页本章首页本章首页DMA的作用(1)能接收I/O设备经I/O接口发出的DMA请求信号(DREQ),向CPU发出总线请求信号(HRQ)。(2)当CPU响应请求,发出总线响应信号后,接管对总
36、线的控制权进入DMA操作方式。(3)能发出存储器地址,确定数据传送的地址单元,并能自动修改地址指针。(4)能向存储器和I/O设备发出相应的读写控制信号,以确定数据传送方向。(5)能控制数据传送的字节数,并能判断DMA传送是否结束。(6)在DMA传送结束后,能发出DMA操作结束信号(EOP),释放总线,使CPU恢复对总线的控制。本章首页本章首页本章首页本章首页3.3.2 DMA控制器芯片Intel 8237 1性能概述28237的内部组成与结构 本章首页本章首页本章首页本章首页48237的外部结构 本章首页本章首页本章首页本章首页58237的工作方式(1)单字节传送方式(2)数据块传送(3)请求
37、传送(4)级联方式本章首页本章首页本章首页本章首页68237的DMA传输类型(1)I/O接口到存储器的传送(2)存储器到I/O接口(3)存储器到存储器本章首页本章首页本章首页本章首页78237各个通道的优先级及传输速率(1)优先级1)固定优先级2)循环优先级(2)传送速率3.3.3 DMA控制器8237本章首页本章首页本章首页本章首页4 4个通道独立的寄存器:个通道独立的寄存器:基地址和当前地址、基字节计数和当前字节计数(16位)4 4个通道共用的寄存器:个通道共用的寄存器:工作方式、命令、状态、屏蔽、请求及暂存等寄存器先先/后触发器:后触发器:控制每个通道的4个16位寄存器的写入;由“清先/
38、后触发器软命令”清0,能自动翻转;为0时写入低字节,并翻转为1;为1时写入高字节,并翻转为0;端口地端口地址址通通道道寄存器寄存器读写DMA+00CH0的当前地址寄存器CH0的基地址与当前地址寄存器DMA+10CH0的当前字节计数器CH0的基字节计数器及当前字节计数器DMA+21CH1的当前地址寄存器CH1的基地址与当前地址寄存器DMA+31CH1的当前字节计数器CH1的基字节计数器及当前字节计数器DMA+42CH2的当前地址寄存器CH2的基地址与当前地址寄存器DMA+52CH2的当前字节计数器CH2的基字节计数器及当前字节计数器DMA+63CH3的当前地址寄存器CH3的基地址与当前地址寄存器
39、DMA+73CH3的当前字节计数器CH3的基字节计数器及当前字节计数器DMA+8公用状态寄存器命令寄存器DMA+9请求寄存器DMA+10单个通道屏蔽寄存器DMA+11工作方式寄存器DMA+12清先后触发器软命令DMA+13暂存寄存器总清除软命令DMA+14清4个通道屏蔽寄存器软命令DMA+154个通道屏蔽寄存器“DMADMA”为8237A-5基地址本章首页本章首页本章首页本章首页8237A-58237A-5端口地址分配端口地址分配本章首页本章首页本章首页本章首页基地址和当前地址寄存器基地址和当前地址寄存器(DMA+0,+2,+4,+6)基字节计数器和当前字节计数器基字节计数器和当前字节计数器(
40、DMA+1,+3,+5,+7)16位;初始化时装入M起始地址;二者同时写入(先低字节后高字节)前者:前者:只写;写入后不变;自动预置方式时为后者重新赋值后者:后者:可读可写;按指定方式自动修正,始终存放当前M单元地址16位;初始化时装入数据块大小(N-1N-1);二者同时写入(先低后高)前者:前者:只写;写入后不变;自动预置方式时为后者重新赋值后者:后者:可读可写;每操作一次自动减1;减为FFFFH结束状态寄存器和命令寄存器状态寄存器和命令寄存器(DMA+8)状态寄存器:状态寄存器:只读;寄存8237A-5的状态(那些通道有请求,那些已结束)CH3CH2CH1CH0CH0CH1CH2CH3请求
41、服务过程结束=1:有DMA请求=0:无DMA请求=1:已收到终止信号=0:未收到终止信号本章首页本章首页本章首页本章首页命令寄存器:命令寄存器:只写;控制8237A-5的操作;由RESET和总清除软命令清除M MCH0保持工作允许时序优先级写入选择DREQDACK0:禁止M M1:允许M M0:CH0地址不保持1:CH0地址保持;D0=1时有效0:允许工作1:禁止工作0:正常时序1:压缩时序0:固定优先级1:循环优先级0:滞后写1:扩展写0:高有效1:低有效0:低有效1:高有效说明说明M MM M:CH0发软件请求;CH1控制数据块大小;CH0提供源M地址,CH1提供目标M地址;一次传送需两个
42、总线周期固定优先级:固定优先级:CH0最高,CH3最低如如PC机:MOV AL,0 OUT 08H,AL请求寄存器请求寄存器(DMA+9)只写;由软件启动DMA操作;不可屏蔽,块字节方式通道选择00:CH001:CH110:CH211:CH3请求位0:无请求1:有请求D7D6D5D4D3D2D1D0无效如:如:CH0发出请求 MOV AL,04H OUT 09H,AL级联方式:级联方式:主片不输出地址和读写信号屏蔽寄存器屏蔽寄存器(只写)通道选择00:CH001:CH110:CH211:CH3屏蔽位0:开放1:屏蔽D7D6D5D4D3D2D1D0无效如:如:CH1开放 MOV AL,01H O
43、UT 0AH,AL单个通道屏蔽字单个通道屏蔽字(DMA+10)4 4个通道屏蔽字个通道屏蔽字(DMA+15)0:开放1:屏蔽D7D6D5D4CH3CH2CH1CH0无效如:如:CH1、CH2开放,其余屏蔽 MOV AL,09H OUT 0FH,AL如:如:CH2屏蔽 MOV AL,06H OUT 0AH,AL方式寄存器方式寄存器(DMA+11)D7D6D5D4D3D2D1D0方式选择00:询问方式01:单一方式10:连续方式11:级联方式通道选择00:CH001:CH110:CH211:CH3操作类型00:校验01:DMA写10:DMA读11:无效自动预置0:禁止1:允许地址修正0:增量1:减
44、量如:如:MOV AL,4AH OUT 0BH,AL ;M I/O单个通道屏蔽字单个通道屏蔽字(DMA+10)本章首页本章首页本章首页本章首页本章首页本章首页本章首页本章首页暂存寄存器暂存寄存器(DMA+13)只读;M M时暂存读出的数据,由RESET和总清除软命令清除清先清先/后触发器后触发器(DMA+12):将先后触发器清0总清除总清除(DMA+13):作用同RESET;清除命令、状态、请求、暂存和先/后触发器清屏蔽寄存器清屏蔽寄存器(DMA+14):清除4个通道的屏蔽寄存器软命令软命令(3条)只要对特定地址进行一次写操作(即CS、内部端口地址和IOW同时有效),命令就生效,与写入的具体数据无关即:即:OUT 0CH,AL ;清先/后触发器软命令 OUT 0DH,AL ;总清除软命令 OUT 0EH,AL ;清屏蔽寄存器软命令ALAL中可为任中可为任意值意值本章首页本章首页本章首页本章首页28237的编程及应用