




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.1并行接口
6.2串行接口
6.3网络接口
6.4微机接口芯片组介绍
6.5本章小结
习题与思考题6.1.1并行接口芯片8255A
8255A是为Intel公司的微处理器配套的通用可编程并行接口芯片,其基本功能如下:
(1) 8255A接口芯片有三个8位并行输入/输出端口,可利用编程方法设置三个端口为输入端口或输出端口。
(2) 8255A能适应CPU与I/O接口之间的多种数据传送方式的要求,如无条件传送、查询方式传送、中断方式传送等。与此相应,8255A设置了方式0、方式1以及方式2。
8255A的C口比较特殊,除作数据口外,在方式1和方式2下,它的部分信号线被分配作专用的联络应答信号。6.1并行接口
1. 8255A的外部引脚
8255A为40引脚、双列直插式封装结构,其引脚如图6.1所示。
各引脚功能如下:
(1) D0~D7:8位双向数据总线。
(2) PA0~PA7:端口A的I/O引线。
(3) PB0~PB7:端口B的I/O引线。
(4) PC0~PC3:端口C的低4位I/O引线。
(5) PC4~PC7:端口C的高4位I/O引线。
(6) A1、A0:地址引线。图6.18255A的引脚图
(7) RESET:复位输入信号,高电平有效。复位时清除内部控制寄存器,同时将三个I/O端口全部设为输入。
(8) :片选信号。=0时,将内部数据总线与系统总线连接在一起,该芯片被选中,允许工作。
(9) :读输入控制信号。=0时,配合信号读取8255A内部寄存器的值。
(10):写输出控制信号。=0时,配合信号将CPU处理器数据写入8255A内。
(11) VCC:电源,+5V电源输入。
(12) GND:电源地。
8255A的三个数据端口与外设相连接的引脚共有24位。其中,C口的8个I/O引脚(PC0~PC7)有若干位用于“联络”信号或状态信号,其具体定义与端口的工作方式有关,可将工作方式控制字写入控制端口进行定义。8255A与CPU连接的引脚有数据总线D0~D7、读/写控制线和、复位线RESET、片选信号线以及端口地址控制线A1和A0。
一般情况下,CPU的数据总线及其读/写控制线直接与8255A的D0~D7及和相连接。RESET线为高电平有效,因8086CPU是高电平复位的,所以可以直接和8086CPU的复位线相连。当然,有时为了便于调试,8255A复位电路与8086CPU的复位电路是分开的。
2. 8255A的内部结构
8255A的内部结构如图6.2所示。8255A有三个可编程控制的8位并行I/O接口,共提供24条I/O控制引脚。一般情况下,端口A或端口B作为I/O的数据端口,而端口C则作为控制或状态信息的端口。C口在“方式”字的控制下,可分成两个4位端口,每个端口包含一个4位锁存器,分别与端口A和端口B配合使用,可用作控制信号的输出,或作为状态信号的输入。
A组控制电路控制端口A和端口C的上半部(PC7~PC4)。
B组控制电路控制端口B和端口C的下半部(PC3~PC0)。
双向三态的8位数据缓冲器实现8255A与CPU之间的数据传输接口。CPU执行输出指令时,可将控制字或数据通过该缓冲器送给8255A的控制口或数据口;CPU执行输入指令时,8255A可将数据端口的状态信息或数据通过它传送给CPU。因此,数据缓冲器是CPU与8255A交换信息的必经之路。
8255A的读/写控制电路接收来自CPU的控制命令,并根据命令向片内每个功能部件发出操作命令。例如,片选信号
为低电平时,表示8255A芯片被选中,该片选信号是由CPU的地址线通过译码器译码产生的。读/写信号和控制8255A与CPU之间的数据或信息传输方向。端口选择控制则由A1、A0的组合状态提供,由这两个控制信号可提供4个端口地址,即A、B、C三个端口地址及一个控制口地址。8255A可用RESET控制信号复位,当该控制信号有效时,清除8255A中的所有控制寄存器内容,并将各端口置成输入方式。图6.28255A的内部结构图
3.端口地址
8255A中有三个I/O端口,另外,其内部还有一个控制字寄存器,用地址总线A1、A0寻址4个端口。A1、A0和、
及的组合可实现的各种功能如表6.1所示。为“1”或、同时为1,所有数据口为高阻状态。表6.18255A的控制器地址表6.1中×表示任意值,与8255A的具体地址有关。
PC/XT机中,A口、B口、C口以及控制寄存器的地址分别是60H、61H、62H和63H。
4. 8255A的工作方式字
8255A有三种工作方式:方式0、方式1、方式2。
1)方式0
方式0又称基本I/O方式。在这种工作方式下,A、B、C三个端口都可用作I/O,但不能既作输入又作输出。端口C分为两部分,即高4位和低4位,用来设置传输方向。
2)方式1
方式1又称选通I/O方式。只有端口A、端口B可工作于此方式,端口C用于提供联络信号。
3)方式2
方式2又称双向传输方式。只有端口A可编程为双向传输方式。通过C口的高5位进行控制,此时A口既可作输入也可作输出,而PC0~PC2及B口可工作于方式0。具体可由适当的工作命令字来设定。图6.3所示为8255A的控制字示意图。图6.38255A的控制字示意图此外,8255A对端口C具有置位/复位功能,只要使用一个输出控制指令便可完成位控的目的,可以设置对象的状态。控制字组的D7为0时,端口C具有位处理功能,具体设置如图6.4所示图6.4C口置1/置0的控制字格式
5. 8255A的编程控制字
1)方式0
方式0主要工作在无条件的I/O方式下,在这种工作方式下,不需要“联络”信号。A口、B口、C口均可工作在此方式下。C口的输出位可由用户直接独立设置“0”或“1”。此时,各个端口的功能是固定不变的,不能用程序来设定,控制字格式可参见图6.3及图6.4。
2)方式1
方式1主要工作在异步或条件传输方式(需要先检查状态,然后才能传输数据)下。仅有A口、B口可工作在此方式。由于条件传输需要联络线,因此在方式1下,C口的某些位分别为A口和B口提供三根联络线。
◆输入
方式1输入时,8255A的输入组态如图6.5所示。图6.58255A在方式1下的输入组态各控制信号的意义如下:
(1):选通输入,低电平有效,这是由外设提供的输入信号,当其有效时,由输入设备来的数据将送入端口的输入锁存器。
(2) IBF:输入缓冲器满信号,高电平有效。这是由8255A输出的状态信号,当其有效时,表明数据已输入至锁存器。
(3) INTR:中断请求信号,高电平有效。当某输入设备请求服务时,8255A就由INTR输出端输出高电平,向CPU提供中断请求信号,用来请求CPU为其服务。当、IBF和INTE都为高电平时,INTR输出才为高电平。
(4) INTEA:端口A中断允许信号。由PC4的置位/复位来控制,PC4 = 1时,允许端口A中断。
(5) INTEB:端口B中断允许信号。由PC2的置位/复位来控制,PC2 = 1时,允许端口B中断。
在方式1输入时,端口C的PC6和PC7两位是空闲的,如果要利用它们,可用方式控制字中的D3来设定。
方式1下的输入时序图如图6.6所示。图6.68255A工作在方式1输入时的“联络”信号时序图其信号交接过程如下:
(1)数据输入时,外设处于主动地位,当外设准备好数据并放到数据线上时,首先发信号,由它把数据输入到8255A。
(2)在的下降沿约300ns处,数据已锁存到8255A的锁存器,此时使得IBF变为高电平,表示“输入缓冲器满”,禁止输入新数据。
(3)在的上升沿约300ns处,在中断允许(INTE = 1)的情况下,IBF的高电平产生中断请求,使INTR上升沿变成高电平,通知CPU现接口中已有数据,请求CPU读取。CPU接受中断请求后,转到相应的中断子程序。在子程序中执行IN指令,将锁存器中的数据取走。若CPU采用查询方式,则通过查询状态字中的INTR位或IBF位是否置位来判断有无数据可读。
(4) CPU执行读操作时,的下降沿使INTR复位,撤销中断请求,为下一次中断请求作好准备。信号的上升沿延时一段时间后清除IBF使其变低,表示接口的输入缓冲器变空,允许外设输入新数据。如此反复,直至完成全部数据的输入。
◆输出
方式1输出时,8255A的输出组态如图6.7所示。图6.7
8255A在方式1下的输出组态各控制信号的意义如下:
(1):输出缓冲器满信号,低电平有效。这是由8255A输出给外设的一个控制信号。当其有效时,表明CPU已经将数据输出到指定的端口,外设可以把数据取走。
(2):响应信号,低电平有效。这是来自外设的响应信号,告诉CPU输出给8255A的数据已经被外设接收。
(3) INTR:中断请求信号,高电平有效。当某输出设备已经接收了CPU输出的数据后,8255A就用INTR输出端向CPU发出中断请求信号,要求CPU继续输出数据。当、
和INTE都为高电平时,INTR才被置为高电平。
(4) INTEA:由PC6的置位/复位来控制。
(5) INTEB:由PC2的置位/复位来控制。
在输出方式中,端口C的PC4和PC5是空闲的,如果要利用它们,可用方式控制字中的D3来设定。
方式1下的输出时序图如图6.8所示。图6.8
8255A工作在方式1输出时的“联络”信号时序图其信号交接过程如下:
(1)数据输出时,CPU处于主动地位,当CPU向8255A写一个数据时,的上升沿使有效,表示输出缓冲器已满,通知外设读取数据。同时还使中断请求INTR变低,封锁中断请求。
(2)外设读取数据后,用回答8255A,表示数据已收到。
(3)的下降沿将置为高电平,使无效,为下一次输出作准备。在中断允许(INTE = 1)的情况下,的上升沿使INTR变为高电平,产生中断请求。CPU响应中断后,在终端服务程序中,执行OUT指令,向8255A写下一个数据。
3)方式2
双向传输方式是指在同一端口内分别进行I/O操作。8255A中只有A口可工作在此种方式下,当A口工作在方式2时,需要5个控制信号进行“联络”,这5个信号由C口提供。所以此时B口只能工作在方式0或方式1下。当B口工作在方式1时,又需要三根联络线。故当A口工作在方式2、B口工作在方式1时,8255A的C口的8根线将全部作为联络线使用。8255A方式2的逻辑功能结构如图6.9所示。图6.98255A方式2的逻辑功能结构选通双向操作时,8255A各控制信号的意义如下:
(1) INTR:中断请求信号,高电平有效。在输入和输出时,都可以作为对CPU的中断请求信号。
(2):输出缓冲器满信号,低电平有效。它可以作为对外设的选通信号。当其有效时,表明CPU已经将数据输出到端口A,外设可以把数据取走。
(3):响应信号,低电平有效。当有效时,启动端口A的三态输出缓冲器送出数据,否则输出缓冲器处于高阻状态。
(4) INTE1:与有关的中断触发器,它由PC6置位/复位控制。
(5):选通输入,低电平有效,这是由外设提供给8255A的选通信号,当其有效时将输入数据选通输入锁存器。
(6) IBF:输入缓冲器满,高电平有效。这是一种状态信息,当其有效时,表示数据已进入输入锁存器。
(7) INTE2:与IBF有关的中断触发器,它由PC4置位/复位控制。
方式2下的时序图如图6.10所示。图6.10
8255A工作在方式2时的“联络信号”时序图方式2的时序基本上是方式1下输入时序与输出时序的组合。输入/输出的先后顺序是任意的,根据实际传送时数据的需要选定。输出过程是由CPU执行输出指令并向8255A写数据(
)开始的,而输入过程则是从外设向8255A发选通信号
开始的,因此,只要求CPU的WR在以前发生,RD在以后发生执行。方式2的I/O操作相当于方式1的输入和输出的组合。其输出过程为:CPU响应中断信号后,用输出指令向8255A的A口写一个新的数据,并利用写脉冲同时清除中断请求信号INTRA,同时使A口输出缓冲器满信号变为有效低电平,通知外设取走数据;外设取走数据后返回响应信号以清除有效信号,并置位INTRA以向CPU再次申请中断,从而开始下一个数据的传输。方式2的输入过程与输出过程类似,当外设向8255A的A口传送数据时,选通信号同时有效,使数据锁存在8255AA口的输入缓冲器中,并置输入缓冲器满信号IBF为有效高电平,以通知外设暂停传送数据和撤消有效信号。一旦
信号消逝后即向CPU申请中断。CPU响应中断进行读操作时,将8255A的A口输入数据读入到CPU中,并利用信号使输入缓冲器满信号IBF变为无效低电平,同时复位中断请求信号INTR,完成一次输入过程,然后等待新的中断请求。6.1.2计算机并行接口设计
例6-1
利用8255A作为连接显示器的接口。A口接有四个开关,为方式0输入;B口接有一个数码管显示器(共阳极LED),方式0输出,其硬件连接电路如图6.11所示。试编制程序,将A口的输入数据送B口输入显示。
解:本例是8255A方式0应用的一个例子。由图6.11可知,8255A的端口由A0~A15提供;8255A的端口选择信号线A0、A1与CPU的A0、A1相连,与地址译码器输出相连。本例设8255A的四个端口地址为0FFC0H~0FFC3H。A口连接输入设备开关,其输入的数据为S3~S0组合的16种状态,即0000~1111B(0H~FH);B口连接输出设备LED显示器,可输出并显示十六进制数0~F。LED为共阳极七段发光二极管,其七段显示代码如表6.2所示。当A口的S3~S0的状态为0011B时,B口对应输出七段代码B0H,则LED显示数字3。图6.118255A在PC/XT机中的应用表6.2七段显示代码
例6-2
用8255A口作为μ80微型打印机接口,A口为工作方式1输出,其硬件连接电路如图6.12所示。试编制程序,将输出缓冲区OBUF内的100H个字节数据送打印机输出。μ80微型打印机的工作原理:当数据选通信号有效时,数据线D7~D0上的数据被锁存打印,同时输出应答信号,告知8255A数据已取走。由于打印机的速度比CPU速度低很多,因此打印机提供了“忙”状态信号BUSY,供CPU查询。当打印机正在执行打印时,BUSY为“1”,此时CPU不能输出数据;当打印机“空闲”时,BUSY为“0”,通知CPU可以输出数据。BUSY信号供CPU用查询方式输出数据。
解:由6.12图可知,由于打印机需要用联络信号和与8255A取得联系,因此8255A的A口选择方式1输出工作方式。8255A的A口的端口地址由地址A0A1和74LS138译码器输入地址线A2~A6经译码器输出的逻辑组合确定,若把未连接的地址线A7~A15的状态设定为“0”,则8255A的四个端口地址为0400H~0403H。图6.128255A与打印机的连接串行通信是在单根导线上将二进制数一位一位地顺序传输的过程。串行通信与并行通信相比较,虽然传输速度较低,但可以节约大量的线路成本,非常适合远距离数据传输。微型计算机在做远距离数据通信时,往往要求I/O设备以串行方式来工作,即要求具备串行通信接口。在实际应用中,通信设备一般都配带这种接口。此外,有些计算机外设,如盒式磁带机、串行硬盘、CRT显示器终端等,也要求采用串行接口。6.2串行接口
1.串行通信的方式
在串行通信中,有三种基本的传输方式:单工、半双工和全双工。
图6.13(a)所示为单工传输方式:设备A总是发送数据,设备B总是接收数据,任何时刻数据只能在一个方向上传输。
图6.13(b)所示为半双工传输方式:设备A和设备B都可以发送和接收数据,但它们不能同时发送或接收数据。
图6.13(c)所示为全双工传输方式:两个设备能同时发送和接收数据。
图6.13(d)所示为多双工传输方式:多个设备能共用一条线路轮流发送和接收数据。图6.13串行通信的方式(a)单工方式;(b)半双工方式;(c)全双工方式;(d)多双工方式
2.异步通信与同步通信
在串行通信中,通信双方收、发数据序列必须在时间上取得一致,这样才能保证接收数据的正确性。按照通信双方发送和接收数据序列在时间上取得一致的方法不同,串行通信可分为异步串行通信和同步串行通信两大类。
1)异步通信
异步通信中,发送端以固定的字符格式发送数据,如图6.14所示,每个字符包括1个起始位、5~8个数据位,1个奇偶校验位(它是为避免长距离通信中出现差错而设置的差错冗余位,也可不设)和1~2个停止位。每个字符的传输均以起始位为开始标志,紧接着的是要传输的数据(低位在前),然后是奇偶校验位,最后为停止位。两个相邻字符之间的间隔(即空闲时间)可以任意长。在不发送数据期间,通信线上固定为高电平,所以总可以用低电平表示数据传输的开始。图6.14异步串行通信的字符格式由此可见,通信双方在通信之前必须约定字符格式和数据传输率。
字符格式确定一个字符内包含多少位数据位、停止位以及采用何种校验形式。
数据传输(速)率指单位时间内通信线路上传输的信息量,可用比特率(bit/s或bps)和波特(Baud)率来表示。比特率是每秒传送的二进制位数,波特率是每秒传送离散状态的数量。当采用调幅标准时,由于任一时刻只能出现两种状态中的一种,因此比特率和波特率是一致的。另外,由于计算机接口只能输入/输出1和0,因此比特率和波特率的单位是一样的。尽管波特率在理论上可以是任意的,但考虑到接口的标准性,国际上还是规定了标准的波特率系列。常用的波特率有50、110、300、600、1200、2400、4800、9600和19200bps。大多数接口的接收波特率是可以分别设置的,它们可以分别由编程来设定。当然,在一个串行通信系统中,应该设定接收方和发送方的波特率相同。
发送/接收时钟频率=M×波特率
式中,M称为波特率系数或波特率因子。异步通信是以字符为单位的通信,当接收方收到起始位后,要能在一个字符的传输时间内能和发送器保持同步,能够完全正确地接收。若接收器和发送器的时钟略有误差,则两个字符之间的停止间隔将为这种误差提供缓冲。因此,异步通信方式允许有一定的频率误差,对时钟同步的要求不严格,这是异步通信的突出优点。但异步通信要求每个字符都有起始位和停止位,使控制信息在总信息中占有一定的比例,所以异步通信效率较低。
2)同步通信
同步通信是采用数据块成帧方式实现的。图6.15所示为常见同步串行通信帧的格式。在格式开头有同步字符SYN,同步字符的格式和同步字符的个数可根据需要确定。同步字符的作用是通知接收器“消息到达”,让接收器开始与发送器同步。同步字符后的第一个字符是消息头,它包含有助于接收器处理信息的控制信息(如一帧内的字符个数等),其后是以字符或比特为单位的消息编码,最后是校验字符。常用CRC循环冗余校验码的作用是检测数据块在传输过程中是否有差错。图6.15同步串行通信的帧格式(a)单同步;(b)双同步;(c)外同步同步数据块中,为了能确保正确提取字符,字符之间不能像异步传输那样存有间隙,必须以连续的形式发送。采用两个同步字符,称为双同步方式;采用一个同步字符,称为单同步方式。另外,根据对同步字符检测方式的不同,将之分为内同步与外同步,前面的两种格式属于内同步。
显而易见,数据传输效率高是同步传输的优点。但同步传输不仅要保持每个字符内各位以固定的时钟频率传输,而且还要管理字符间的定时,因此,收、发双方时钟同步的要求特别高,必须配备专用的硬件电路获得同步时钟。硬件电路复杂是同步通信的缺点。
3.调制解凋器
在串行通信中,由于线路分布电容的影响,一个方波传输一段距离以后,将逐渐被“平滑”,致最后难以分辨上升沿和下降沿,同时非常容易受干扰。而正弦波在长距离传输后,仍然是正弦波,只是幅度变小而已,通过放大器可以恢复。因此,数据在长距离传输时需要调制解调器。调制解调器(Modem)是利用模拟通信线路进行长距离数据通信中的重要设备。长距离通信时,通常需要利用电话线路,Modem的作用就是先将数字信号转换为适合电话线路上传输的模拟信号,经过电话线路传输后,再将模拟信号还原成数字信号。图6.16所示为应用Modem的一个典型例子。图中,Modem把从终端接收到的二进制电信号转换成可在共用电话系统上发送的音频信号(称为调制)。同时它也把从远方Modem发出的通过电话系统的音频信号转化为二进制电信号发往终端(称为解调)。图6.16调制与解调的应用实例依传输速率分,Modem可分为低速、中速和高速三类。低速Modem一般用于传输波特率在2000bps以下的异步通信;传输波特率高于9600bps的同步通信时,则要采用中速甚至高速的Modem。通常使用RS-232标准串行接口来实现计算机与Modem之间的通信。6.2.1串行接口芯片8250/8251A
串行通信接口8251A是可编程串行接口的一种,它是Intel公司的产品。常见的串行接口芯片还有Motorola公司的6850、6952、8654,ZILOG公司的SIO及TNS公司的8250等。这些芯片的结构和工作原理基本一致,下面以Intel公司的8251A为例介绍可编程串行通信接口的基本工作原理、编程结构、编程方法及应用实例。
1. 8251A的外部引脚
8251A是一个28引脚的双列直插式大规模集成电路芯片,其引脚封装图如图6.17所示。8251A的数据总线是8位的,分别为D0~D7,它们是三态双向的,CPU通过数据总线并行传送命令、交换数据及检测状态。图6.178251A的引脚图
1)控制信号引脚
(1) CLK:时钟输入端口,产生8251A的内部时序。一般情况下,CLK的输入频率在同步方式工作时,必须大于接收器和发送器输入时钟频率的30倍;在异步方式工作时,必须大于接收器和发送器输入时钟频率的4.5倍。
(2):片选信号。通常由CPU的高位地址信号和M/
控制信号译码后提供,产生8251A端口地址的高地址部分。
(3)C/:控制/数据端。C/
= 1时,数据总线上的信息是状态信息或命令信息;C/
= 0时,数据总线上的信息是数据信息。一般由CPU低位地址线提供,产生8251A端口地址的低地址部分。
(4) RESET:复位信号,高电平有效。RESET = 1时,8251A的收、发线路处于空闲状态,等待CPU执行其初始化程序。
(5)、:读/写控制信号,低电平有效。其功能参见表6.3。表6.38251A的读/写功能表
2)发送器部分引脚
(1) TXD:数据发送引脚。从此线逐位输出的是并行数据转换成串行格式后的数据。
(2) TXRDY:发送器准备好信号。若该信号有效,则CPU向8251A写入待发送的数据,8251A将从CPU送来的并行数据锁存在数据发送缓冲器中。
(3) TXEMPY:发送器空信号。若该信号有效,表示发送移位寄存器已空,此时发送缓冲器的数据可以送入发送移位寄存器中,然后逐位输出。
(4):由外部输入的发送器时钟。确定8251A的发送速率。在同步方式时,端输入的时钟频率应等于发送数据波特率。在异步方式时,可以由软件定义发送时钟,可为发送波特率的1倍、16倍或64倍(发送波特因子的倍数)。
3)接收器部分引脚
(1) RXD:数据接收引脚。外部串行数据通过该引脚逐位移入接收移位寄存器中,转换成并行格式后送入接收数据缓冲器,等待CPU取走数据。
(2) RXRDY:接收器准备好信号,高电平有效。接收缓冲器收到一个数据字符,则RXRDY信号有效,通知CPU接收数据,若8251A采用中断方式与CPU交换数据,则RXRDY信号可用作向CPU发出的中断请求信号。CPU取走接收缓冲器的数据后,RXRDY变为低电平。
(3):由外部输入的接收器时钟。确定8251A的接收速率。在同步方式时,端输入的时钟频率应等于接收数据波特率。在异步方式时,可以由软件定义接收器时钟各为接收波特率的1倍、16倍或64倍(接收波特因子的倍数)。
(4)SYNDET/BRKDET:断缺检测/同步检测,高电平有效。
当8251A工作在异步方式时,SYNDET/BRKDET功能为断缺检测端BRKDET。如果在起始位之后,从RXD端上连续收到8个“0”信号,则输出端BRKDET为高电平,表示当前处于数据断缺状态,没有数据可以接收。如果从RXD端上接收到“1”信号,则输出端BRKDET为低电平。当8251A工作在同步方式时,SYNDET/BRKDET功能为同步检测端SYNDET。如果采用同步方式,则SYNDET为输出端,高电平有效。当从RXD端上检测到一个(单同步)或两个(双同步)同步字符时,SYNDET输出高电平有效信号,表示接收数据已处于同步状态,其后接收到的是有效数据。如果采用外同步,则SYNDET为输入端,外部同步字符从该端输入。SYNDET为高电平输入有效信号,表示已达到同步,接收器可以开始接收数据。
4) Modem接口控制引脚
(1):数据终端准备好信号,该引脚向Modem输出信号,低电平有效。CPU准备好接收数据后,若欲使成为有效,可以将控制字的DTR位设置为“1”后输出该有效信号。
:数据装置准备好信号,该信号由Modem输出,低电平有效。当Modem已经做好发送数据准备时,就发出信号,CPU可以用IN指令读入8251A的状态寄存器,检测DSR位,当DSR位为“1”时,表示信号有效。该信号实际上是对信号的应答,一般情况下是用来接收数据的。:请求发送信号,向Modem输出的低电平有效信号。当CPU准备好发送数据时,由软件定义,设置控制字中的RTS位为“1”,则输出低电平有效信号。
:准许发送信号,由Modem输入的信号,低电平有效。这是对的应答信号,实际应用中,可将控制字中TXEN位置“1”,则为低电平有效,发送器可串行发送数据。在数据发送过程中,如果使无效,或控制字中的TXEN位为“0”,则发送器将正在发送的字符结束后停止发送。
2. 8251A的内部结构
8251A的内部结构如图6.18所示。由发送器、接收器、数据总线缓冲器、读/写控制逻辑电路及调制/解调控制电路五部分组成。图6.188251A的内部结构
1)数据发送和接收寄存器
◆数据发送寄存器
数据发送部分可分为数据发送保持寄存器和发送移位寄存器。数据输出以字符为单位首先送到数据发送保持寄存器中,再进入发送移位寄存器,以上过程都是在8251A的内部并行传输的。在发送移位寄存器中,按照事先和接收方约定的字符传输格式,再加上起始位、奇偶校验位和停止位,然后再以约定的波特率先低位后高位地输出。
数据发送保持寄存器将数据传给发送移位寄存器后,CPU即可对其写入下一个字符,而发送移位寄存器送出第一个字符各位后,又立即接收第二个字符,开始第二个字符的发送。8251A内部寄存器的地址如表6.4所示。表6.48251A内部寄存器的地址
◆数据接收寄存器
数据接收部分包括接收移位寄存器和数据接收缓冲寄存器。串行数据逐位进入接收移位寄存器时,首先寻找起始位,然后才读入数据位。
接收电路始终用接收时钟CLK选通采样串行输入数据的状态,每16个CLK脉冲对应一个数据位。在检测到由1到0的变化时,若连续采样8次,数据一直都为低电平,则认定是数据的起始位;否则认为是干扰信号,将重新采样。以后每隔16个CLK周期读取一次数据位(正好在数据的中间点),读至停止位,一个字符接收完毕,然后开始寻找第二个字符的起始位。这样安排的好处是,可以减少误判起始信号的次数,允许发送时钟和接收时钟的频率有少许误差,每个字符单独开始又避免了时钟误差的积累。接收移位寄存器接收到一个字符后,首先要进行格式检查,若不正确,则通过线路状态寄存器设置出错标志;若正确,则将真正的数据位保留并传送给数据接收缓冲器。然后线路状态寄存器中的“接收数据可用”位置1,CPU可以通过查询或中断方式取走这个字符,清除“接收数据可用”位,接着再接收下一个字符。在数据接收过程中,若接收的前一个字符在数据接收缓冲寄存器中尚未被CPU取走,后一个字符经接收移位寄存器接收完毕又要送至接收缓冲寄存器,就会丢失字符,这种情况称为“溢出错”,在线路状态寄存器中也有相应位记录。
2)线路控制及状态部分
◆通信线路控制寄存器
CPU用OUT指令将一个8位控制字写入通信线路控制寄存器,以决定通信中字符的格式。控制寄存器的内容也可以用IN指令读出。
◆通信线路状态寄存器
CPU读入通信线路的状态寄存器,即可了解数据发送和接收的情况。
3)波特率控制部分
波特率控制部分的可编程寄存器就是除数寄存器,实际上就是分频系数。在PC/XT系列微机中,输入的时钟频率为1.8432MHz,该频率除以除数寄存器中的双字节后,得到的是数据发送器的工作频率,再除以16,才是真正的发送波特率。
在PC/XT系列微机中,波特率和除数之间的对应关系如表6.5所示。表6.5除数和波特率的对应关系
4) Modem控制与状态
该模块实现通信过程中的联络功能,包括联络信号的生成与检测。
◆ Modem控制寄存器
Modem控制寄存器的定义如图6.19所示。该寄存器的高3位没有定义,D4决定串行接口控制器的UART的工作方式:D4 = 0,UART处于正常工作状态;D4 = 1,UART处于自检状态,可以用自发自收的方式来检查芯片。其工作原理是:UART数据输入端与外部断开,而在芯片内部与数据输出接通,同时4个输入信号与4个输出信号相连。图6.19Modem控制寄存器的定义
◆ Modem状态寄存器
Modem状态寄存器的定义如图6.20所示,其高4位就是4个外部输入信号的状态,而低4位则记录高4位的变化。计算机在每次读Modem状态寄存器时,低4位被清零。以后若高4位中有某位状态发生变化时,则低4位的相应位就置1,这些状态位的变化除了可以让CPU的输入指令查询外,也可以引起中断。图6.20Modem状态寄存器的定义
3. 8251A的内部寄存器及初始化编程
8251A是一个可编程的多功能串行通信接口芯片,在实际使用前必须对它初始化,用来确定其工作方式、传输速率、字符格式以及停止位长度等。8251A有三种控制字,分别为方式选择字、操作命令字和状态字。
1)方式选择字
8251A方式选择字的格式如图6.21所示。在控制字中,D1D0有四种组合,当D1D0 = 00时,8251A选择同步工作方式;否则,8251A选择异步工作方式。在异步方式下,输入的时钟和波特率之间的系数可由D1D0的其他三种组合规定。D3D2是用来确定数据位长度的。D5D4可以用来确定是否需要奇偶校验,是奇校验还是偶校验。D7D6的定义分为两种情况:在同步工作时,设置选用的是内同步还是外同步以及同步的个数;在异步工作时,设置停止位的长度。图6.218251A的方式控制字
2)操作命令字
操作命令字可以使8251A处于预先规定(初始化设置)的工作状态。 操作命令控制字的格式如图6.22所示。
操作命令字中,每位的定义如下:
(1) TXEN:允许发送/屏蔽发送的控制端。TXEN = 1时,发送器才能通过TXD引脚向外部串行发送数据。
(2) DTR:DTR位置1,表示CPU已经准备好接收数据,此时,8251A的引脚向Modem输出低电平有效信号。图6.228251A的操作命令字
(3) RXE:允许接收/屏蔽接收的控制端。RXE = 1时,接收器才能通过RXD引脚接收外部串行数据。
(4) SBRK:该位发送断缺字符。SBRK = 1时,迫使TXD引脚处于低电平,发送“0”信号。在正常通信过程中,SBRK应保持为0。
(5) ER:ER = 1时,则清除奇偶出错标志(PE)、溢出错误标志(OE)和帧校验出错标志(FE)。
(6) RTS:该位是请求发送信号。RTS = 1时,迫使引脚输出低电平,表示CPU已经做好了发送数据的准备。
(7) IR:内部复位信号。IR = 1时,迫使8251A回到方式选择控制字状态。通常用户有两种方法复位8251A:一种是硬件复位,即通过引脚RESET = 1使得8251A进入复位状态;另一种是软件复位,即通过IR位置1使得8251A进入方式选择控制字状态,重新选择其工作方式。
(8) EH:该位只对同步方式有效。EH = 1时,表示开始搜索同步字符。所以,对同步方式来讲,一旦允许接收(RXE = 1),必须同时使得EH和ER为1,清除全部错误标志后,才能开始搜索同步字符。
3)状态控制字
在8251A工作过程中,CPU随时可以用IN指令读取当前8251A的状态控制字,了解8251A的工作情况。状态控制字的格式如图6.23所示。
(1) TXRDY:发送准备好标志,表示当前发送缓冲器已空。一旦发送缓冲器已空,该位就置1,它只表示8251A当前的工作状态。TXRDY引脚要为高电平,必须满足其他两个条件:一是要对8251A发操作命令,使其允许发送;二是8251A要从Modem输入一低电平,使引脚为低电平有效。在数据发送过程中,TXRDY状态和TXRDY引脚信号总是相同的。图6.238251A的状态寄存器
(2) RXRDY、TXEMPY、SYNDET/BRKDET:三个位状态的定义与其相应的引脚定义相同,可以供CPU随时查询。
(3) DSR:该状态位为1时,表示外设或Modem已经做好发送数据的准备,同时发出低电平,使8251A的DSR引脚为低电平有效信号。
(4) PE:为奇偶错标志位。PE为高电平表示当前发生了奇偶错误,但不影响8251A正常工作。
(5) OE:溢出错标志位。当当前字符从RXD端输入,而CPU还没有来得及读取上一个字符时,上一个字符将丢失,此时置位OE(OE = 1),但不影响8251A正常工作。
(6) FE:帧校验错标志。当在字符的结尾没有检测到规定的停止位时,该标志置位(FE = 1)。FE只对异步工作方式有效,不影响8251A的正常工作。
PE、OE、FE这三个标志可通过操作命令字的ER位为1来全部复位。
4) 8251A初始化编程
对8251A进行初始化编程必须在系统复位之后(RESET引脚为高电平),使得收、发引脚处于空闲状态、各个寄存器处于复位状态的情况下对8251A初始化编程时,先使用方式控制字设置其工作方式。若设置8251A在异步方式下工作,必须紧接操作命令字进行定义,然后才可以开始传输数据。在数据传输过程中,还可以使用操作命令字重新定义,或使用状态控制字读入8251A的状态。在设置新的工作方式时,必须用操作命令字将IR位置1,以便使其返回到方式控制字,接收新的方式选择命令,从而改变工作方式,使8251A按新的工作方式工作。8251A初始化编程可以用图6.24来描述。图6.248251A初始化编程的框图6.2.2计算机串行接口设计
下面我们介绍用两片8251A芯片实现两个8088CPU之间串行通信的实例,其接线图如图6.25所示。假设1#8251A数据口的地址为2A0H,控制口的地址为2A1H。同样,2#8251A数据口的地址为2A0H,控制口的地址为2A1H。图6.25用8251A实现两个8088CPU的串行通信网络接口卡(NIC)是安装在计算机上并提供网络连接点的适配器。它的作用是将数据分解为适当大小的数据包,然后把它们发送至网络。每一NIC都是为一种特定的网络类型设计的,如以太网、令牌环、FDDI、ARCNET及其他。一个NIC为一种特定类型的电缆,如同轴电缆、双绞线电缆或光缆提供一个连接点。无线LAN的NIC通常有一个天线,以便与基站通信。网络接口卡提供专用的、全时段的网络接入模式。目前,市面上主要是PCI接口的网卡。6.3网络接口
NIC是由物理和数据链路层规范定义的。这些物理规范定义机械和电气接口规范。机械规范定义缆线的物理连接方法。电气规范定义用于通过电缆传输比特流的成帧方法。它们也定义通过网络进行数据传输的控制信号。数据链路层规范根据IEEE802.X标准(或者其他标准)定义媒体接入方法(以太网CSMA/CD、令牌环(TokenRing)等)。网络接口卡的使用分为两类:遵循标准规范的和遵循标准规范但添加了增强性能的。网络接口卡之间硬件设计的差异会降低性能。例如,具有32位接口的网卡给16位的网卡传送数据的速度通常比16位接口的网卡能够处理数据的速度要快。要解决这个瓶颈问题,可提供内存缓冲区以捕获和保存传入数据,防止数据溢出和允许32位卡先完成其传输另一类瓶颈问题发生在网络接口卡和计算机内存之间。一旦接收到信息,有四种方法可以将信息从网络接口卡移入计算机:使用DMA(直接存储器存取)或控制器控制系统总线,从NIC传送数据到内存位置,因此减少了CPU负载。或使用共享内存方案,NIC有自己的内存,系统处理器可以直接访问,或者CPU和NIC共享一个系统内存块,两者都能直接访问。使用总线主控技术,网络适配器可以不中断系统处理器而将信息直接传送到系统内存。全球寻址确保了每个网络接口卡有唯一的识别节点地址。它是网卡生产厂家在生产时内置在ROM中的,而且保证绝对不会重复。令牌环和以太网卡地址是在卡上硬接线的。IEEE(电气和电子工程师协会)负责分配地址给令牌环和以太网卡。每个制造商都被分配以唯一的代码和地址块。安装网卡时,最好确定网卡的地址并将它记下来以供未来参考。也可以使用网卡提供的诊断工具程序,以便在系统上安装网卡之后确定它的地址。还可以在网卡的标签上找到网卡地址。大多数网卡都有一个供远程启动PROM(可编程只读存储器)使用的插座。远程启动PROM用于不能自己启动而从网络服务器启动的无盘工作站。无盘工作站比带软盘和硬盘驱动器的系统便宜,它也更加安全,因为用户不能将有价值的数据下载到软盘或上载病毒和未经授权的软件。6.3.1网络接口芯片RTL8019AS
RTL8019AS是由台湾Realtek公司生产的高度集成以太网接口控制芯片,该芯片是一款全双工以太网接口芯片,收发可同时达到10Mb/s的速率,以其优良的性能、低廉的价格,在市场10Mb/s网卡中占有相当的比例。RTL8019AS芯片的特性为:
(1)采用CMOS工艺,功耗低;单一5V电源供电。
(2)封装为100PIN的PQFQ,缩小了PCB尺寸,支持PNP自检方式。
(3)支持以太网Ⅱ和IEEE802.3、10Base5、10Base2、10Base5T。
(4)支持跳线模式、非跳线模式和NPN即插即用模式。
(5)内置16KB的SRAM,用于收/发缓冲,降低了对主处理器的速度要求。
(6)支持三种电平下降方式:睡眠模式、功率下降有内部时钟运行和功率下降内部时钟停止。
(7)支持UTP、AUI和BNC自动检测;支持10BaseT的自动极性改正。
(8)支持8条IRQ总线,16条I/O基本地址选项和额外I/O地址输入/输出完全解码方式。
(9)支持存储器瞬时读/写;能够使用93C46(64×16b×EPROM)存储资源和ID参数。
(10)支持可编程的自诊断LED输出。
1.芯片管脚结构
RTL8019AS采用100脚PQFP封装,其结构如图6.26所示。
RTL8019AS的主要引脚功能如下:
(1)引脚1~4、97~100:中断控制INT0~INT7。
(2)引脚33:复位控制。
(3)引脚34:使能控制AEN,低电平有效。
(4)引脚6、7、70、89:数字电源,+5V。
(5)引脚14、28、83、86:数字地GND。
(6)引脚47、57:模拟电源,+5V。
(7)引脚44、52:模拟地。
(8)引脚7~13、15、16、18~27:ISA地址总线。图6.26RTL8019AS芯片的结构(9)引脚36~43、87、88、90~95:ISA数据总线。
(10)引脚31:BootROM读操作控制。
(11)引脚32:BootROM写操作控制。
(12)引脚62:RX接收数据显示LED1脚。
(13)引脚63:TX发送数据显示LED2脚。
(14)引脚58、59:接收数据TPIN+/-。
(15)引脚45、46:发送数据TPOUT+/-。
(16)引脚50、51:外接晶体。
2.主要寄存器描述
RTL8019AS中的寄存器根据地址和功能能够概略的分为两组:一组对NE2000;一组对即插即用。即插即用模式适用于在电脑上使用,因此这里不予考虑。
NE2000寄存器包括寄存器的四个页面,它们通过CR寄存器的PS0和PS1被选择。每一页面包括16个寄存器。这些寄存器除了和NE2000兼容外,RTL8019AS还定义了其他一些寄存器。
(1) CR:指令寄存器(00H;Type = R/W)。这个寄存器用来选择寄存器页面,能进行远程DMA操作和命令操作。
(2) ISR:中断状态寄存器(07H;Type = R/Winpage0)。这个寄存器反映NIC状态。主机通过相应位的状态来判断中断的原因。可以通过对相应的位写1来清除该位。它必须在上电源后清除。
(3) IMR:中断屏蔽寄存器(0FH;Type = Winpage0,Type=Rinpage2)。
(4) DCR:数据结构寄存器(0EH;Type = Winpage0,Type=Rinpage2)。
(5) TCR:传输配置寄存器(0DH;Type = Winpage0,Type = Rinpage2)。
(6) TSR:传输状态寄存器(04H;Type = Rinpage0)。
(7) RCR:接收结构寄存器(0CH;Type = Winpage0,Type = Rinpage2)。
(8) RSR:接收状态寄存器(0CH;Type = Rinpage0)。
(9) CLDA0、CLDA1:当前局部DMA寄存器(01H和02H;Type = Rinpage0)。通过读这两个寄存器来得到当前DMA的地址。
(10) PSTART:接收缓冲区的起始页地址寄存器(01H;Type = Winpage0,Type = Rinpage2)。该寄存器用来设置接收缓冲器的开始页面地址。
(11) PSTOP:接收缓冲区的结束页地址寄存器(02H;Type = WinPage0,Type = RinPage2)。该寄存器设置接收缓冲器停止页面的寄存器地址。在8位方式下,PSTOP寄存器不应该超过0X60,在6位方式下,PSTOP寄存器应该不超过0X80。
(12) BNRY:边界寄存器(03H;Type = R/Winpage0)。这个寄存器用来放置接收缓冲器的重写。它代表性的功能是作为接收缓冲器最后页面的指针。
(13) TPSR:传送页面开始寄存器(04H;Type = Winpage0)。该寄存器用来设置传送数据包开始的页面地址。
(14) TBCR0,、TBCR1:传输字节计算寄存器(05H,06H;Type = Winpage0)。该寄存器用来设置传输数据包的字节计数。
(15) NCR:冲突数寄存器(05H;Type = Rinpage0)。该寄存器用来记录在数据包传送过程中的冲突节点数。
(16) FIFO:先进先出寄存器(06H;Type = Rinpage0)。这个寄存器允许主机检查loopback后的FIFO内容。
(17) CRDA0、CRDA1:当前远程DMA寄存器(08H,09H;Type = Rinpage0)。这两个寄存器包括当前远程DMA地址。
(18) RSAR0、RSAR1:远程起始地址寄存器(08H,09H;Type = Winpage0)。这两个寄存器设置远程DMA起始地址。
(19) RBCR0、RBCR1:远程字节数寄存器(0AH,0BH;Type = Winpage0)。该寄存器设置远程DMA数据字节数。
(20) CNTR0:帧同步错误计数寄存器(0DH;Type = Rinpage0)。
(21) CNTR1:CRC错误数记录寄存器(0EH;Type = Rinpage0)。
(22) CNTR2:遗失数据包数记录寄存器(0FH;Type = Rinpage0)。
(23) PAR0~PAR5:实际地址寄存器(01H~06H;Type = R/Winpage1)。
(24) CURR:当前页面寄存器(07H;Type = R/Winpage1)。
(25) MAR0~MAR7:多点地址寄存器(08H~0FH;Type = R/Winpage1)。除以上寄存器外,RTL8019AS还自定义了一些寄存器:
(1) BPAGE:BROM页寄存器(02H;Type = R/W)。
(2) CONFIG0:RTL8019AS结构寄存器0(03H;Type = R,除了位[7∶6] = R/W)。
(3) CONFIG1:RTL8019AS结构寄存器1(04H;Type = R,除了位7 = R/W)。
(4) CONFIG2:RTL8019AS结构寄存器2(05H;Type = R,除了[7∶5] = R/W)。
(5) CONFIG3:RTL8019AS结构寄存器3(06H;Type = R,除了位[2∶1] = R/W)。
(6) CONFIG4:RTL8019AS结构寄存器4(0DH;Type = R)。
(7) CSNSAV:CSN保存寄存器(08H;Type = R)。这个寄存器为以PNPCSN寄存器为标记的CSN的备份。
(8) HLTCLK:时钟停止寄存器(09H;Type = W)。当RTL8019AS体眠时这是唯一一个第一组寄存器中活动的寄存器。当RTL8019AS不是低功耗模式时,可以向这个寄存器写数据。(如CONFIG3寄存器中PWRDN位为0。)
(9) INTR:中断寄存器(0BH;Type = R)。该寄存器反映INT7~INT0的状态。
(10) FMWP:闪存写保护寄存器(0CH;Type = W)。这个寄存器为只写。仅仅当EEM0 = EEM1 = 1时才可向寄存器写数据。连续写2字节的数据(57H然后A8H)到寄存器使闪存写操作可用。写其他数据到寄存器将重置写次序且使闪存写无效。如果写操作无效,则所有闪存来自主机的写命令将被忽略。6.3.2计算机网络接口设计
1.基于RTL8019AS的网络接口硬件设计
RTL8019部分电路设计如图6.27所示。图中包括网络芯片RTL8019AS、网络变压器20F001N和网络接口RJ45。SD0~SD7为8位数据线,接数据总线;SA0~SA19为地址线,SA5~SA7、SA10~SA19接地,SA8~SA9接高电平,因而本系统中真正用到的只有5条;SMEMRB和SMEMWB为存储器读/写引脚,接高电平,选择I/O模式读/写网络芯片;TPOUT、TPIN为差分输出/输入引脚。RTL8019AS经过20F001N进行信号隔离处理后与RJ45相连,接入以太网。
2.RTL8019AS初始化
RTL8019AS内部的16KB的RAM用于收/发缓冲,地址为0x4000~0x7FFF,收/发缓冲以页为单位,每页256B,共64页,如果某页没有完全填满数据,则下包数据也不能继续使用该页,只能使用新的页。一般将前12页作为发送缓冲区,分为两个6页的缓冲区(最大数据包占6页),两个发送缓冲区交替使用,可提高发送效率;后52页作为接收缓冲区。图6.27RTL8019AS电路图该RAM是双端口的,具有两套总线,一套是RTL8019AS读/写该RAM,即本地DMA;另一套是单片机读/写该RAM,即远程DMA,要接收和发送数据包就必须对这块RAM进行DMA读/写。
RTL8019AS具有32位I/O地址,地址偏移量为00H~1FH,本系统中对应于300H~31FH。其中,00H~0FH为16个寄存器地址,寄存器分为4页,与NE2000兼容的只有前3页,第4页是RTI8019AS自己定义的,对于其他兼容NE2000的芯片无效。所以,为了保证驱动程序对所有NE2000兼容的网卡都有效,不要去操作第4页的寄存器。10H~17H为8个远程DMA地址,都可以用来做远程DMA地址,使用其中一个即可。微控制器通过读/写数据端口10H~17H实现对缓冲区的访问。18H~1FH共8个地址为复位端口,它们的功能一样,使用其中一个即可,用于RTL8019AS的热复位。
TCP/IP协议族是一组不同层次上的多个协议的组合,分为链路层、网络层、传输层和应用层。在链路层上,首先要解决RTL8019AS的驱动问题,驱动程序包括三部分:以太网接口芯片初始化程序、发送数据程序和接收数据程序,它们屏蔽了底层硬件处理细节,同时向上层软件提供与硬件无关的接口。驱动程序将已封装好的待发送数据按指定格式写入芯片,并启动发送命令,8019会自动把数据包转换成物理帧格式在信道上传输;反之,8019收到物理信号后将其还原成数据,按指定格式存放在芯片RAM中,以便主机程序取用,下面给出部分初始化程序,这些程序主要是对一些寄存器进行设置。其中,reg00~reg0f为宏定义,代表RTL8019AS内地址偏移量为00H~0FH的寄存器地址。reg00=0x21;/*CR,命令寄存器,选择页0,芯片停止运行*/
reg01=0x4c;/*PSTART,页起始寄存器*/
reg02=0x80;/*PSTOP,页结束寄存器*/
reg03=0x4e;/*BNRY,边界寄存器,用作读指针*/
reg04=0x40;/*TPSR,发送页起始寄存器*/
reg0c=0xcc;/*RCR,接收配置寄存器*/
reg0d=0xe0;/*TCR,发送配置寄存器*/
reg0e=0xc8;/*DCR,数据配置寄存器*/reg0f=0x00;/*IMR,中断寄存器,屏蔽所有中断*/
Page(1);/*切换为页1*/
reg07=0x4d/*CURR,当前页寄存器,用作写指针*/
reg08=0x00/*MAR0,多址地址寄存器均设置为0*/
reg09=0x00;//MAR1
reg0a=0x00;//MAR2reg0b=0x00;//MAR3
reg0c=0x00;//MAR4
reg0d=0x00;//MAR5
reg0e=0x00;//MAR6
reg0f=0x00;//MAR7
SetMaclD();/*设置芯片物理地址*/
reg00=0x22;/*选择页0,启动芯片开始工作*/页2的寄存器是只读的,页3的寄存器不是NE2000兼容的,所以均不用设置。首先选择为页0,网卡芯片为停止模式,因为还没有进行初始化。设置0x40~0x4B为网卡的发送缓冲区,共12页,刚好存储两个最大的以太网数据包。0x4C~0x7F为网卡的接收缓冲区,共52页。刚开始时网卡没有接收到任何数据包,因此BNRY指向第一个接收缓冲区的页0x4C。设置完页0的寄存器后切换为页1,由于设计中没有使用93C46,因此需要在程序中指定芯片的物理地址,写入PAR寄存器,然后启动芯片开始工作。读指针BNRY和写指针CURIZ主要用来控制缓冲区的存取过程,保证能正确读出和写入数据。6.4.180386系统支持的系统外围芯片组82360SL
继Intel公司推出80386微处理器后,又相继推出了80386系列的外围接口芯片。其中,在1992年推出的Intel80386SLCPU和82360SL芯片最为突出。82386SLCPU芯片内含页式存储器管理系统、CACHE控制器和总线驱动电路。82360SL不仅与ISA总线标准兼容,而且集成了主板上必备的芯片接口,如DMA控制器、中断控制器、定时/计数器、实时时钟、串行接口及并行接口等。6.4微机接口芯片组介绍
1. DMA控制器
在82360SL中包含有两个82C37DMA控制器,提供7个DMA通道。其中,DMA1中的四个通道用于8位数据传送。DMA2的通道0与DMA1级联,通道1~3支持16位数据传送(只有在偶地址时才传送)。一次数据传送,最大为64KB(对于8位传送)或64千字(对于16位传送)。另外,在其内部还设有8个8位页面寄存器,提供DMA通道的高8位地址。
2.中断控制器
82360SL中包含有两个82C59A中断控制器,二者级联,一个是主片,另一个为从片,对外提供15个中断请求输入端,也称为15级中断。
3.可编程定时/计数器
82360SL中包含有两个82C54定时/计数器。每个定时/计数器中均有三个计数器。其中,定时/计数器1中的计数器0用于系统计数器,产生日时钟计时;计数器1用于动态存储器DRAM刷新;计数器2用于产生扬声器的音频信号。三个计数器输入均为1.19318MHz的方波信号。定时/计数器2的三个计数器仅使用其中两个。计数器0用于看门狗功能;计数器1用于产生警报信号,即当电池电压降低时,发出警告。定时/计数器2具有可选功能,可利用配置寄存器选择其使用或者禁止。
4.实时时钟
82360SL中包含有与MC146818等效的实时时钟。除此之外,还可选择外部实时时钟,为外部实时时钟提供控制信号。内部实时时钟配有256字节的CMOSRAM,可实现全日制计时,作为百年日历,可通过编程在指定时间报警。在实时时钟内部具有保护功能,通过编程可选择保护形式。
5.串行通信接口
82630SL中包含有两个与NC16550等效的串行通信接口电路,可实现数据的串行传送。
6.双向并行高速I/O接口
82360SL内部有一个8位双向并行高速I/O接口。它有三种工作模式:ISA兼容、PS/2兼容及快速并行传送。在ISA兼容模式中作为标准ISA总线并行口,只能输出数据;在PS/2兼容模式中可设定为一个输入口,或者设定为输出口。快速并行传送模式与PS/2模式相同,但传送率较高。
另外,在82360SL中配有完整的专用译码器,支持外接8042键盘控制器、82077软盘控制器和具有IDE接口的硬盘。通过编程可选择CPU时钟、DMA时钟和键盘时钟频率,可控制DMA控制器插入等待周期,支持局部存储器、ISA总线存储器的刷新控制。6.4.280486系统支持的系统外围芯片组82357ISP
有许多486微机系统采用EISA总线结构,同时有一些高档的386系统也采用EISA结构。很多EISA结构的微处理系统采用Intel公司的EISA芯片82350系列进行设计。82357ISP是这个系列中的一个芯片,称为集成外围电路。82357ISP是一种多功能外围接口芯片,其中集成有DMA控制器、中断控制器、定时/计数器、NMI产生电路以及总线判优电路等。
1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62453-1:2025 RLV EN Field device tool (FDT) interface specification - Part 1: Overview and guidance
- 重庆简介教学课件
- 河南省天一联考2026届高三年级开学联考物理试卷(含答案解析)
- 重庆文理学院老师课件
- 暑假预习:磁场对通电导线的作用力 -2025人教版新高二物理暑假专项提升
- 人教版八年级物理上册 第五章《透镜及其应用》单元测试卷及答案
- 人教版八年级物理上册 第三章《物态变化》单元检测卷(带答案)
- 重庆培训母婴知识课件
- 建筑施工-安全培训课件-安全奖励效果分析
- 区镇智慧社区解决方案
- 2025年政府部门文秘岗位笔试模拟题及答案集
- 2025年全科医师转岗培训理论知识题库及参考答案
- 2025-2026学年人教版(2024)初中生物八年级上册教学计划及进度表
- 消除母婴三病传播培训课件
- ASTM-D3359-(附著力测试标准)-中文版
- 碳化硅外延层厚度的测试 红外反射法
- 《大众传播学研究方法导论(第二版)》课件第一章 导论
- 2023年方正县林业系统事业单位招聘笔试题库及答案解析
- 《基于EXCEL动态模型的定量与定性分析【3000字论文】》
- 中级会计《经济法》最新精编必刷550题(后附答案解析)
- 新计算国民经济评价
评论
0/150
提交评论