计算机通信接口技术书本知识点.doc_第1页
计算机通信接口技术书本知识点.doc_第2页
计算机通信接口技术书本知识点.doc_第3页
计算机通信接口技术书本知识点.doc_第4页
计算机通信接口技术书本知识点.doc_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章(计算机通信接口概述)计算机系统是由中央处理器,存储器,输入输出系统三大功能模块组成。以总线为中心的标准结构。CPU通过三总线(数据总线DB,地址总线AB,控制总线CB)与RAM,ROM和输入输出(I/O)设备三大功能模块进行数据交换。从功能上说,I/O接口就是CPU与外设或外部世界交换数据的中转站。I/O端口从逻辑上讲就是可被CPU访问的寄存器,缓冲器,锁存器或特定部件。I/O端口可以有三种类型,即数据类型,输入状态信号型和输出控制信号型。状态口是输入,而控制口是输出。输入口是外部设备通过总线向CPU输入数据的接口电路。 IOR是控制总线中的读控制信号。三态门和标准TTL门的区别就是有第三态,第三态即是输出阻抗为无限大。输出口是微处理器通过总线向外部设备输出数据的接口。CPU与外设交换数据是通过访问对应的端口来实现的。一般CPU或计算机设计中对I/O端口地址的处理方式,称为I/O端口的编址方式,有两种方式:一,存储器映像I/O方式。二,隔离I/O方式。在不同的微机系统中,I/O端口的地址编排有两种形式:与存储器统一编址和独立编址。 1I/O端口与存储器统一编址(存储器映像编址) 在这种编址方式中,将存储器地址空间的一部分作为I/O端口空间。也就是说,把I/O接口中可以访问的端口作为存储器的一个存储单元,统一纳入存储器地址空间,为每一个端口分配一个存储器地址,CPU可以用访问存储器的方式来访问I/O端口。这种编址方式的优点是:不用专门设置访问端口的指令,用于访问存储器的指令都可以用于访问端口。缺点是:由于端口占用了存储器的一部分存储空间,使得存储器的实际存储空间减少;程序I/O操作不清晰,难以区分程序中的I/O操作和存储器操作。在MCS51、MCS96单片机系统中,多数采用这种编址方法。 2I/O端口与存储器独立编址 (隔离方式)为了提高存储器空间的利用率,将存储器与I/O端口分为两个独立的地址空间进行编址,并设置了专用的输入/输出指令对I/O端口进行访问,如80x86CPU系统就是采用了这种编址方式。I/O端口可采用8位地址进行编址,端口地址范围为0255(00HFFH),也可以采用16位地址进行编址,端口地址范围为065 535(0000HFFFFH),对I/O端口的操作使用输入/输出指令(IN和OUT)。这种编址方式的优点是:不占用内存空间;使用I/O指令,程序清晰,很容易区分是存储器操作还是I/O操作。缺点是:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。 2中断方式实际上,中断方式是一种硬件和软件相结合的技术,中断请求和处理依赖于中断控制逻辑,而数据传送则是通过执行中断服务程序来实现的。这种方式的特点是:在外设工作期间,CPU无须等待,可以处理其他任务,CPU与外设可以并行工作,提高了系统效率,同时又能满足实时信息处理的需要。但在进行数据传送时,仍需要通过执行程序来完成。 3DMA方式采用中断方式可以提高CPU的利用率,但有些I/O设备(如磁盘、光盘等)需要高速而又频繁地与存储器进行批量的数据交换,此时中断方式已不能满足速度上的要求。而直接存储器处理DMA(direct memory access)方式,可以在存储器与外设之间开辟一条高速数据通道,使外设与存储器之间可以直接进行批量数据传送。实现DMA传送,要求CPU让出系统总线的控制权,然后由专用硬件设备(DMA控制器)来控制外设与存储器之间的数据传送。DMA控制器一端与外设连接,另一端与CPU连接,由它控制存储器与高速I/O设备之间直接进行数据传送。其工作过程是:当I/O设备与存储器需要传送数据时,先由I/O设备向DMA控制器发送请求信号DREQ,再由DMA控制器向CPU发送请求占用总线的信号HRQ,CPU响应HRQ后向DMA控制器回送一个总线响应信号HLDA,随后CPU让出总线控制权并交给DMA控制器,再由DMA控制器回送请求设备应答信号DACK。此时,DMA控制器接管总线控制权,由它控制存储器与I/O设备之间直接传送数据,当一批数据传送完毕,DMA控制器再把总线控制权交还给CPU。由此可见,这种传送方式的特点是:在数据传送过程中,由DMA控制器参与工作,不需要CPU的干预,批量数据传送时效率很高,通常用于高速I/O设备与内存之间的数据传送。 输入输出控制方式,一搬有三种方式:1程序控制I/O以CPU为主动方。2终端驱动I/O以外设为主动方。3直接存储器存取(DMA)外设直接和存储器交换数据。前两种方式是在CPU控制之下,第三种方式不需要CPU的干预。在计算机领域内通常把不可分割的数据项叫做位。但是在几乎所有的通用微型计算机里,基本的数据通路和存储器寻址方式,都是用位组作为基本单元。在传统的计算机接口技术教程中,把串行接口称为通信接口。第二章(PC机系统和PC机接口基础)IBM PC/XT 机的中央处理器是Intel 8088CPU,它在主机板上,是整个微机系统晕运行的核心,8088CPU从存储器取出指令,对它们译码并执行它们,形成指令流。8088地址线的低八位和数据线是分时复用的。在ALE下降沿处将地址信号锁存,通过这一组锁存器和缓冲器将8088的复用端变换成单功能的系统地址线AoA19和系统数据线AoA19。8288是与8088相配合的总线控制器。总之,IBM PC/XT机微型计算机的CPU核心部分是由8088CPU与辅助的8288总线控制器和8284时钟发生器及地址/数据总线锁存器组成,将8088的局部总线经锁存和驱动形成系统的地址总线AoA19和数据总线AoA19。8088CPU所能寻址的存储器空间为1MB,地址范围是00000HFFFFFH。其中RAM部分在低地址区,ROM部分在高地址区。IBM PC/XT机主板最大可安装640KB的RAM,占用地址区0000H9FFFF.8088CPU一共有两个中断申请输入管脚,一是NMI不可屏蔽中断。一是INTR可屏蔽中断。8088CPU的INTR输入端是一个可屏蔽的中断申请端,这在实际中是不够用的,为此在IBM PC的设计中,用了一片Intel8259A中断控制器来扩大外部可用的中断源。8259A有八个中断申请源IRQoIRQ7,一个响应信号INT。8253内部有三个独立的计数器,每个均为16位,可进行065535的减法计数。8088是独立的I/O编址CPU,它有两条输入输出(I/O)指令IN和OUT,用于外部端口读入数据和向外部端口发送数据。8088CPU本身能够访问的端口地址空间是64KB,端口地址使用的地址总线是A0A15在PC/XT 机设计中,只使用了端口地址A0A9,因此, PC/XT机中仅使用了1024个端口地址,即0H3FFH。IBM PC/XT 有8个扩展槽。每个扩展槽的信号是完全相同的。Pentium机主机板系统有三种总线:HOST总线,PCI和ISA总线。PCI(外部设备互连)是新的快速总线。PCI总线时钟33MHz。数据线位宽32位或64位,64位的PCI最大传输速率267MB/S.一,地址类信号SA0SA19 (I/O) 地址总线0位至19位。用于寻址系统内的存储器和I/O设备。LA17LA23(I/O) 未锁存的系统地址总线17位至23位,用于寻址系统内的存储器,并给系统提供多达16MB的寻址能力。BALE(O) 总线地址锁存允许。AEN(O) 地址允许信号。SBHE(I/O) 系统高字节允许。二,数据信号SD0 SD7(I/O),SD8 SD15(I/O) 系统数据总线1位至15位,这些数据为系统内的微处理器,存储器和I/O设备提供数据。三,总线周期控制信号。MEMR(I/O),SMEMR(I/O) 存储器读命令。MEMW(I/O),SMEMW(I/O) 存储器写命令。IOR(I/O) I/O读命令。IOW(I/O) I/O写命令。MEMCS16(I) 存储器16位芯片选择信号。I/O CS 16 (I) I/O16位芯片选择信号。0WS(I) 零等待状态。I/O CHRDY(I) I/O通道就绪。四,总线控制信号MASTER (I)主设备信号I/O CHCK (I)I/O通道检验信号ERSET DRV (O) 复位驱动BCLK (O)总线系统时钟OSC (O) 振荡器信号REFRESH (I/O)刷新信号五,中断信号IRQ3IRQ7, IRQ9IRQ12, IRQ14IRQ15 中断请求。用于I/O设备向微处理器发中断请求信。IRQ9优先级最高,其次是IRQ10至IRQ12,IRQ14至IRQ15,最低的是IRQ3至IRQ7。六,DMA信号DRQ0DRQ3,DRQ5DRQ7 DMA请求0至3和5至7.DACK0 至DACK3 DACK5至DACK7(O)DMA响应0至3和5至7.T/C (O) 计数结束信号。ISA支持八种类型的总线周期:存储器读,存储器写,I/O 端口读,I/O端口写,中断响应,DMA传输,刷新和仲裁周期。对XT来说周期的开始,是从ALE有效开始,对ISA来说是从BALE开始。PC机虽然有16条I/O可用地址线,但是PC/XT微机做系统设计时只用了10条,以后就沿用10条,没有改变。10条地址线的寻址范围为1024,从16进制来说是0FFH。其中低512个端口被系统版所占用,高512个端口是为扩展插件版所留下的。278H27FH 并行(打印机)口22F8H2FFH 串行口2378H37FH 并行(打印机)口13F8H3FFH 串行口1PC机属独立I/O结构,因此有专用的I/O指令,其指令分两类:I/O端口与CPU之间交换数据的指令(IN,OUT)和I/O端口与存储器交换数据组的指令(INS,OUTS)。AL,AX,EAX分别是8,16,32位累加器。16位地址存于DX寄存器中。INS指令使用ES:DI定位存储器地址;OUTS指令通过DS:SI定位。每当微处理器执行输入或输出指令时,就进入I/O端口读或写周期,首先是端口地址有效,然后是I/O端口读或写信号(IOR 或IOW)有效,由地址译码产生端口选择信号PS ,由PS与I/O读写信号结合一起控制端口读或写。在PC中,I/O端口操作和DMA操作使用相同的地址线,数据线和读写控制信号,区别这两种操作的信号是AEN,在DMA操作周期AEN有效,为高电平。在I/O端口操作时,AEN无效,为低电平。译码电路设计的方法有很多,有门电路方法,集成电路法和可编程逻辑GAL法等。82086为了保持与8086/8088的兼容,设有两种工作方式,分别为实地址方式(又称实模式或86模式)和保护虚拟地址方式(又称保护模式)。在实模式下,80286作为高速8086来使用,只使用24位地址中的20位,其存储器寻址能力和8086一样只有1MB,其物理地址的形成方法也和8086一样。在保护模式下,80286的24条地址线全都能发挥作用,它的物理存储器地址是由24位段基地址和16位的段内偏移量相加,经一定的保护性限制形成。PC机的可屏蔽硬件中断结构是由两片8259A中断控制器串级构成,其中主片中断控制器的输出申请端与CPU的INTR相连,从片的输出申请端连接到主片的IRQ2申请端。IRQ0的优先级最高,IRQ1次之,IRQ7最低;IRQ2已作级连,不能再使用。其中IRQ0IRQ7对应的中断号为08H0FH,IRQ8IRQ15对应的终端号位070H077H。中断描述表(IDT),地址寄存器(IDTR),中断向量表(IVT),全局描述表(GDT)。中断处理子程序的基本结构如下:子程序名 PROC FAR程序体IRET程序名ENDP程序体部分又分为如下几部分:程序保留现场,置状态,中断服务,恢复现场。置状态指的是在处理器响应中断时,CPU自动置IF=0屏蔽其他外部中断,如果现在的中断处理子程序允许响应更高级中断,则可以用STI置IF=1,开放外部中断。第三章(并行接口)并行接口可以按两方面的特点来分类:1按接口实现并行传送信息的位(bit)来分,或者说按数据通道的宽度来分。2按在数据线上传送信息所用的握手联络线(也称应答线)的多少来分。是否需要握手联络线盒需要几条握手联络线,决定于外设的特性和并行通信协议的要求。一条联络功能显然也可以用一种称为状态口的输入口和称为控制口的输出口来实现。单线握手联络仅能传递数据发送方的状态控制信息。若要读写82C55,CS输入必须为逻辑0,而且正确的I/O地址必须送给A1与A0引脚以选择82C55。 A1 A0 功能 0 0 端口A 0 1 端口B 1 0 端口C 1 1 控制字寄存器一旦微处理器复位,82C55的RESET输入就初始化它,使所有端口使用方式0输入操作,即82C55三个端口都是无握手输入口。82C55 B组引脚可以编程为输入或输出引脚,它能工作在方式0或方式1下。方式0是基本的输入输出方式或无握手方式,即为无锁存输入和锁存输出。方式1操作是握手操作,数据经由端口B进行传送,握手信号由端口C提供。A组引脚(端口A与端口C的高部分)也可以编程为输入和输出引脚,区别在于A组能工作在方式0,1和2下(方式2是端口A的双向操作方式):而B组不能工作于方式2。方式0操作使82C55或作为输入缓冲器,或作为锁存输出器。在方式1 下,端口A或端口B最为锁存型输入口,这样外部数据就一直存储在端口中等待微处理器对它进行存取。端口C也用于方式1操作,但不作为数据口,而是给端口A与端口B提供握手和中断申请控制信号。方式1输入联络信号的功能如下STB 选通信号,将数据写入端口锁存器,等待微处理器用IN指令读端口数据。IBF 输入缓冲器满信号,指示输入锁存器已装入数据。INTR中断请求信号,用来申请一次中断,INTR引脚在STB输入信号回到逻辑1时变为有效(逻辑1),在微处理器读取端口时被清零。INTE 中断允许位,既不是输入也不是输出,而是通过端口PC4(端口A)或PC2(端口B)编程的允许或禁止INTR的内部结构。PC7,PC6 端口C引脚7或6,可作为通用的I/O引脚。 方式1输出联络信号的功能如下:(output buffer full):输出缓冲器满指示信号,输出,低电平有效。信号由8255A发送给外设,当CPU将数据写入数据端口时,变为低电平,用于通知外设读取数据端口中的数据。(acknowledge input):应答信号,输入,低电平有效。信号由外设发送给8255A,作为对信号的响应信号,表示输出的数据已经被外设接收,同时清除信号。INTR:中断请求信号,输出,高电平有效。用于请求以中断方式传送数据。需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置,剩余的PC2PC0仍可以作为基本I/O线,工作在方式0。 (3)8255A初始化编程 8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可。另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字。例7.1 设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80HFF83H)。初始化程序如下: MOVDX, 0FF83H ; 控制寄存器端口地址为FF83HMOVAL, 10000110B; A口方式0, 数据输出, B口方式1, 数据输入OUTDX, AL ; 将控制字写入控制端例7.2 将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序(设8255A的端口地址为FF80HFF83H)。 初始化程序如下:MOVDX, 0FF83H ; 控制端口的地址为FF83HMOVAL, 00000001B ; PC0设置为高电平输出OUTDX, AL; 将控制字写入控制端口MOVAL, 00001010B ; PC5设置为低电平输出 OUTDX, AL; 将控制字写入控制端口方式2只适用于A组,端口A作为双向数据端口,允许在相同的8条数据线上发送和接收数据。方式0是无握手(简单)I/O。方式1是握手I/O。方式2是双向I/O。标准并行接口有三种:打印机接口,PC机IEEE1284并行接口和GPIB接口。打印机接口标准:Centronics接口36脚。其中有8条数据线,三条握手联络线和一些特殊控制信号。三条握手联络线:数据选通线STROBE,响应线ACK和忙信号BUSY。有关数据传送的控制时序分为正常数据输入时序(握手联络信号为STROBE,和ACK)和忙条件时序(握手联络信号是STROBE和BUSY)。每个打印机接口的基本口地址为: 数据 状态 控制LPT1: 378H 389H 37AHLPT2: 287H 279H 27AHLPT3: 3BCH 3BDH 3BEHIBMPC打印接口编程有直接编程和调用系统功能子程序的两种方法。GPIB最重要的特点,就是可使一个接口连接多达14个设备(包括计算机为15个设备),和他们进行通信(数据交换)。一般接口系统,是“点对点”传送,而GPIB则是1对N传送。GPIB标准采用24芯簧片插头座,和Centronics插头座属同一类型。GPIB系统的设备属性有控者,讲者,和听者三种。在GPIB数据总线DIO1DIO8上流通的消息分两类:设备消息和接口控制消息。ATN信号由控者设备发送,对DIO1DIO8上的消息流进行管理,当ATN为“真”时,DIO1DIO8上流通的是接口消息;当ATN为“假”时流通设备消息。SQR线由需要服务的设备利用,向控者设备发送请求信号。EIO线有两个作用:讲者向听者宣布传送结束和控者进行并行查询的识别。第四章(串行接口)串行通信有两种方式:异步串行通信和同步串行通信。通信线路上传送的每个字符包括一个起始位,58个数据位,1个奇偶校验位(可无)以及12个停止位。通信双方在通信之前必须事先约定:1字符格式,即一个字符包含多少位数据位,停止位以及采用何种校验形式。2比特率。同步通信在帧格式开头有同步字符SYNC。同步传送不仅要保持每个数据字符内各位以预定的固定时钟频率传送,而且还要求整个数据块内的位都按预定的固定时钟频率传送。此外数据块间不允许有间隙,若有间隙,必须用同步字符填充。收,发双方时钟严格同步是同步通信的基本要求。所以需要设计一种设备,先把数字信号转化为适合在电话线路上传送的模拟信号,经过电话线路传输后,再将那种模拟信号还原为数字信号。具有这种功能的设备就是调制解调器。将数字信号转化为模拟信号的过程称为调制,将模拟信号还原为数字信号位解调。其中调制解调器把从终端接收到的二进制电信号转化成可在公用电话系统上发送的音频信号(调制),进行传输。另一端的调制解调器把通过电话系统传来的音频信号转化成二进制电信号(解调)发往终端。调制解调部件是MODEM的核心。其主要功能是完成数字信号和模拟信号之间的转换。此外,还要完成解扰码,信道分割,线路均衡,指示工作状态等。一般MODEM都可以有两种工作模式,即命令模式和通信模式。在命令模式下,MODEM接收并执行计算机的命令;在通信模式下,它的工作只是转换信号的形式。需要强调MODEM的重要性,在计算机通信领域中它的应用非常广,除了我们已知的计算机远程通信外,在计算机联网的系统中几乎都需要它,如Internet,电子邮件,数据库查询,连接多个局域网,连接X.25分组网,金融信息系统等。EIA RS-232C规定了一个25脚针状的连接器,实际只用了21个引脚。TXD,RXDRTS为发送数据和接收数据线。RTS,CTSRTS为请求发送,而CTS为清除发送。DTR数据终端准备好。DSR数据(通信)装置准备好。DCD载波检测。RI振铃指示。GND信号地。RS 232C除了规定连接信号的标准外,还规定了信号电平。对TXD和RXD线如下:传号MARK状态电平为-15-5V;空号SPACE状态电平为+5+15V(准确说,输出的最小数限是5V,而输入的最小数限是3V)。控制信号的接通电平规定为+5+15V,而断开断开电平时是155V。由于发送器/接收器的输出信号为TTL电平,因此需要进行电平转换。常用的电平转换器件是MC1488和MC1489。MC1488用于将TTL电平转换成RS-232C电平。而MC1489则将RS-232C电平转换为TTL电平。不经过调制解调器,计算机和计算机的互连也称为空调制解调器连接。一般距离小于50英尺,不需要使用MODEM,两个RS-232C接口就可以直接互连。 因为电流环至少在共模抑制和隔离两个方面优于RS-232C,所以对长距离通信来说,宁愿用电流环方式。RS-232C的传输距离限制在50英尺以内,传输速率限制在20Kbit/s以下。比特率发声器给发送器/接收器提供精确的发送时钟TXC和接收时钟RXC。发送/接收器用TXC与RXC分别控制发送字符与接收字符的速度。多数情况下用同一时钟。即发送和接收用同一速率。TXC(RXC)的时钟周期TC与比特间隔Tb有如下关系:TC=Tb/K 上式中K称波特率系数,一般K=1,16,或64。通常取K=16。选择更大的K,虽然采样精度和抗干扰性能更好,但付出的代价太高。发送器/接收器是异步串行接口的核心部件,它主要完成串并转换功能。应力求保证通信一方的发送器时钟TXC与通信另一方的接收时钟RXC频率的一致性理论上要求这两个时钟的误差容限在5%以内。异步串行接口通常提供三种错误提示:帧错,溢出错和奇偶错。(一)纵向冗余校验(LRC) 位传送顺序 X11 X21 X31 Xj1 Xm1 V V1 X12 X22 X32 Xj2 Xm2 V V2 Xji Vi X1n X2n X3n Xjn Xmn V Vn H1 H2 H3 Hj Hm Hm+1 BCC(二)校验和求和并丢弃最高位的进位位,求反加1.循环冗余码(CRC)校验余项 1001异步串行通信接口中只有奇偶校验,没有CRC块校验硬件,当要求采用CRC差错检测时,只有通过软件编程来解决。【例7.8】设8250输入的基准时钟频率为1.8432MHz,传输波特率为1200,数据长度为7位,1位停止位,奇校验,屏蔽全部中断,试编写初始化程序(端口地址为3F8H3FEH)。 根据要求,求得除数值(分频系数)为: 除数基准时钟/(波特率16)1.8432MHz/(120016)9660H初始化程序如下。 I8250PROCMOVDX, 3FBH ; 线路控制寄存器端口地址MOVAL, 80H; AL=10000000B, 使最高位DLAB=1OUTDX, AL ; 写线路控制寄存器MOVDX, 3F8H ; 除数寄存器低字节端口地址MOVAX, 60H; 分频系数OUTDX, AL ; 写除数寄存器低字节INCDX ; 除数寄存器高字节端口地址MOVAL, AHOUTDX, AL ; 写除数寄存器高字节MOVDX, 3FBH ; 线路控制寄存器端口地址MOVAL, 0AH; AL=00001010, 数据长度7位, 1位停止位, 奇校验OUTDX, AL ; 写线路控制寄存器MOVDX, 3FCH ; MODEM控制寄存器端口地址MOVAL, 03H; 使=0和=0, 数据终端准备就绪, 请求发送OUTDX, AL ; 写MODEM控制寄存器MOVDX, 3F9H ; 中断允许寄存器端口地址MOVAL, 00H; 禁止所有中断OUTDX, AL ; 写中断允许寄存器RETI8250ENDP1BIOS通信软件BIOS通过INT 14H向用户提供了四个中断子程序,分别完成串行口初始化编程、发送一帧数据、接收一帧数据及测试通信线路状态的功能。(1)串行口初始化 INT 14H 0号子功能调用:串行口初始化。入口参数:AH0,串行口初始化。AL初始化参数,具体定义见表7.11。出口参数:AH通信线路状态寄存器内容。 ALMODEM状态寄存器内容。 (2)发送一帧数据 INT 14H 1号功能调用:发送一帧数据。入口参数:AH1,发送数据。 AL待发送的数据。 DX0,使用主串行口;DX1,使用辅助串行口。出口参数:AH的D71,表示发送失败;D70,表示发送成功。(3)接收一帧数据 INT 14 2号功能调用:接收一帧数据。入口参数:AH2,接收数据。DX0,使用主串行口;DX1,使用辅助串行口。出口参数:AH的D71,表示接收失败;D70,表示接收成功。(4)测试通信线路状态 INT 14 3号功能调用:测试通信线路状态。入口参数:AH3,测试通信线路状态。DX0,使用主串行口;DX1,使用辅助串行口。出口参数:AH通信线路状态寄存器内容。ALMODEM状态寄存器内容。INS8250是使用单一+5V电源的40引脚LSI芯片。工作时钟f=基准时钟除数寄存器=16(当前使用的)波特率。INS8250内部有9个8位寄存器可被CPU访问。主串口: COM 1 3F8H3FFH辅串口: COM 2 2F8H2FFH。基准时钟频率=1.8432MHz8250芯片具有很强的中断能力,且使用很灵活。共有4级中断:接收出错中断(最高优先权);接收缓冲器“满”中断;发送保持器“空”中断;MODEM输入状态改变中断(最低优先权)。当用COM1卡时,需令DX=0;当用COM2时,则令DX=1。在数据流中用特定的同步字符序列作数据字符传送的开始,这种字符由发送器插入。链路控制字符:ENQ询问,ACK肯定应答面向字符的同步通信规程存在严重的缺点:1过分依赖特定的字符,为实现透明传输需用DLE转义,用硬件很难。2它采用的是校验等待重发方式,使系统的传输效率不高。高级数据链路协议HDLC所阐述的一帧数据可以是任意长的位数,它靠约定的位组合模式(01111110称标志),作为一帧的开始和结束。标志字段F:8比特。地址字段A:8/16比特。控制字段C:8/16比特。信息字段Info0 帧校验序列FCS:16/32比特。为此采用了“0”位插入/删除技术。发送端一旦在数据流中发现5个连续的1,就自动在输出的位流中插入一个0位。当接收端发现5个连续的1后面跟着一个0,就把5个连续1作为数据对待,并在接收时,自动删去这个0位。“0”位插入/删除对双方计算机的软件都是透明的,如果用户数据中有标志位模式0111111,就把它变成011111010来传送,而存入接收器存储器中的还是01111110.先介绍HDLC定义的三种站和两种链路结构。1主站。负责控制链路的操作与运行。2次站。次站在主站的控制下进行操作。3组合站。4不平衡结构5平衡结构。第五章(时间接口)计算机和通信系统需要的有关时间的信息有两类:相对时间和绝对时间。提供第一类时间信息的集成电路有:Intel8253/8254可编程时间间隔定时器Motorola 6840可编程定时器。Z80CTC可编程计接口”。数器/定时器如何产生时间信息,我们称作“时间8254有三个计数器(计数通道):计数器0,计数器1和计数器2。每个计数器都由一个16位初值寄存器(CR)和一个16位计数工作单元(CE)组成。8254采用递减方式计数,即每当时钟输入端CLK出现一个脉冲时,计数单元的计数值减一,直至为零。8245为一24脚双列直插式芯片。8255A是40引脚双列直插式芯片,片内有A, B, C 3个8位I/O端口,可提供24条可编程的输入/输出端口线。OUT信号的作用是,当计数值减为0时,在OUT线上输出一OUT信号,用以指示定时或计数到。8254的基本功能如下:1有3个独立的16位计数器通道;2每个计数器可按二进制或十进制(BCD)计数;3.每个计数器可编程工作于6种不同工作方式;4每个计数器允许的最高计数频率为10MHz(8253为2MHz);5有读回命令(8253没有),可以读出当前计数单元的内容和状态寄存器内容。2引脚信号 8254引脚信号如图D7D0:8位双向数据线,与CPU的系统数据总线连接。WR:写信号,输入,低电平有效。当WR有效时,CPU对8254执行写操作。RD:读信号,输入,低电平有效。当RD有效时,CPU对8254执行读操作。CS:片选信号,输入,低电平有效。当CS有效时,8254芯片被选中。A1A0:端口选择地址线,由8254片内译码,选择内部三个计数器和控制寄存器。8254的端口地址分配及读/写功能见表7.4。8254共有四个端口地址,对应分配给计数器0、计数器1、计数器2和控制寄存器,用这些地址可以写入或读出计数值。CLK(clock input):计数脉冲输入信号,用来输入定时基准脉冲或计数脉冲。GATE(gate input):门控输入信号,用来控制计数器的启动或停止。OUT(output):计数器输出信号,对于六种不同的工作方式,OUT输出波形不同。 VCC:+5V供电电源。GND:电源地 8254定时/计数器的每个通道都有6种可编程选择的工作方式。门选通信号GATA用于允许或禁止CLK信号进入计数器,或者根据工作方式用作计数器的启动信号。方式0事件计数到或终止计数时中断方式方式1可重触发可编程单脉冲输出方式方式2脉冲信号发生器方式方式3方波发生器方式方式4软件触发选通方式方式5硬件触发选通方式8254工作方式8254的每个计数器有六种工作方式,同一芯片中的三个计数器可以通过初始化分别设定为不同的工作方式,但是不论哪种工作方式都应遵循以下规则: 控制字写入控制寄存器后,控制逻辑电路复位,输出信号OUT进入初始状态(高电平或低电平)。 计数初始值写入CR后,经过一个时钟周期,送入CE。 通常在时钟脉冲CLK的上升沿对门控信号GATE采样。在不同工作方式下,对门控信号的触发方式有不同的要求。 在时钟脉冲CLK的下降沿,计数器减“1”计数。(1)方式0:计数结束产生中断在写入控制字CW(control word)后,OUT引脚初始电平为低电平,写入计数初始值N之后的第一个CLK的下降沿将N装入计数执行部件,待下一个CLK的下降沿到来且门控信号GATE为高电平时,开始启动减“1”计数,随后每一个CLK的下降沿,计数器减1。在计数过程中,OUT引脚一直保持低电平,直到计数为“0”时,OUT引脚输出由低电平变为高电平,并且保持高电平。方式0的特点:计数初始值无自动装入功能,若要继续计数,则需要重新写入计数初始值。门控信号GATE用来控制CE,当GATE为高电平时,允许计数;当GATE为低电平时,禁止计数。当GATE重新为高电平时,计数器接着当前的计数值继续计数。计数期间给计数器装入新值,则会在写入计数初始值后重新开始计数过程。 由于方式0在计数结束后,OUT引脚输出一个由低电平到高电平的跳变信号,因此可以用它作为计数结束的中断请求信号。(2)方式1:可重复触发的单稳态触发器在写入控制字CW后,OUT引脚初始电平为高,写入计数值N后,计数器并不开始计数,直到GATE上升沿触发之后的第一个CLK的下降沿,将N装入CE,待下一个CLK的下降沿开始计数,OUT引脚由高电平变为低电平。在整个计数过程中,OUT引脚都保持低电平,直到计数为“0”时变为高电平。一个计数过程结束后,OUT引脚输出一个宽度为N倍时钟周期的负脉冲,可作为单稳态触发器的输入信号。方式1的特点:硬件启动计数,即由门控信号GATE的上升沿触发计数。在计数过程中,CPU可改变计数值,但是对计数过程没有影响。计数为“0”,OUT引脚输出高电平,若再次触发,则计数器将按新输入的计数初始值进行计数。(3)方式2:分频器控制字CW写入之后,OUT引脚初始电平为高,在写入计数值N之后第一个CLK的下降沿将N装入计数执行单元CE,待下一个CLK的下降沿到来且门控信号GATE为高电平时,启动计数。在计数过程中,OUT引脚始终保持高电平,直到CE减到“1”时,OUT引脚变为低电平,维持一个时钟周期后,又恢复为高电平,同时自动将计数值N加载到CE,重新启动计数,形成循环计数过程,OUT引脚连续输出负脉冲。方式2的特点:计数初始值有自动装入功能,不用重新写入计数值,计数过程可由GATE信号控制。当GATE为低电平时,暂停计数;在GATE变为高电平后的下一个CLK脉冲使计数器恢复计数初始值,重新开始计数。(4)方式3:方波发生器工作原理与方式2类似,有自动重复计数功能,但OUT引脚输出的波形不同。当计数值N为偶数时,OUT输出对称的方波信号,正负脉冲的宽度为N/2个时钟周期;当计数值N为奇数时,OUT输出不对称的方波信号,正脉冲宽度为(N+1)/2个时钟周期,负脉冲宽度为(N-1)/2个时钟周期。(5)方式4:软件触发计数写入控制字CW后,OUT初始电平为高,在写入计数初始值N之后的第一个CLK的下降沿将N装入计数执行单元CE,待下一个计数脉冲信号CLK到来且门控信号GATE为高电平时(即软件启动),开始计数。当计数为“0”时,OUT引脚由高电平变为低电平,维持一个时钟周期,OUT引脚由低电平变为高电平。一次计数过程结束后,OUT引脚输出宽度为一个时钟周期的负脉冲信号方式4的特点:无自动重复计数功能,只有在输入新的计数值后,才能开始新的计数。若设置的计数值为N,则在写入计数值N个时钟脉冲之后,才使OUT引脚产生一个负脉冲信号。(6)方式5:硬件触发计数写入控制字CW后,OUT引脚初始电平为高,在写入计数值N后,计数器并不开始计数,只有GATE信号出现由低到高的上升沿(即硬件启动)之后的第一个CLK的下降沿,将N装入计数执行单元CE,待下一个CLK的下降沿才开始计数。当计数为“0”后,OUT引脚由高电平变为低电平,维持一个时钟周期,OUT引脚由低电平变为高电平。一次计数过程结束后,OUT引脚输出宽度为一个时钟周期的负脉冲信号。 方式5输出波形与方式4相同。两种工作方式的区别是:方式4为软件启动计数,即GATE1,写入计数初始值时启动计数;方式5为硬件启动计数,即先写入计数初始值,由GATE的上升沿触发,启动计数。在设置8254的工作方式时,需要注意上述六种工作方式的一些特点:方式0, 1, 4, 5的计数初始值无自动加载功能,当一次计数结束后,若要继续计数,需要再次编程写入计数值;方式2和方式3的计数初始值有自动加载功能,只要写入一次计数值,就可以连续进行重复计数。方式2, 4, 5的输出波形虽然相同,即都是宽度为一个时钟周期的负脉冲,但方式2可以连续自动工作,方式4由软件触发启动,方式5由硬件触发启动。8254初始化编程8254的每个计数器都必须在写入控制字和计数初始值后,才能启动工作,因此,在初始化编程时,必须通过写入控制字来设定计数器的工作方式和写入计数初始值。(1)控制字的格式 8254控制字的格式如图7.27所示。D0:计数初始值计数方式选择。D01,BCD码计数;D00,二进制数计数。8254有BCD码和二进制数两种计数方式。若采用二进制数计数(16位),计数值的范围为0000FFFFH,最大值为216,即十进制数的65536,表示为0000H;若采用BCD码计数(四位十进制数),计数值的范围为00009999,最大值为104,即十进制数的10000,表示为0000。D3D2D1:工作方式选择位。因为M2M1M0的二进制编码有八种(即000111),而8254有六种工作方式,所以,方式2和方式3的M2位可设为任意值0或者1。D5D4:读/写计数器控制。计数值的读出或写入可按字节或字两种方式进行操作,用RW1和RW0的编码01, 10, 11来控制读出或写入计数值的顺序和字节数。若按字节读/写时,可选择低8位或高8位;若按字读写时,分为两步完成,即先读/写低8位后读/写高8位。D7D6:计数器选择。D7D6的四个状态分别对应选择计数器0, 1和2,三个计数器的控制寄存器使用相同的端口地址。需要注意的是:CPU对8254的某个计数器进行读出操作时,有两种方法。一种方法是先由控制字的RW1和RW0设定读出顺序与格式,然后由输入(IN)指令对所选计数器进行读出操作。采用这种方法时,为了确保被读出的当前计数值稳定,可利用门控信号GATE或者阻止时钟输入的方法,暂时禁止计数器操作。另一种方法是先给8254发锁存命令(即设定RW1和RW0为00),然后按照先读取低字节、后读取高字节的顺序将当前计数值读出。当8254接收到锁存命令后,将当前的计数值锁存到计数锁存寄存器中,供CPU读取。(2)8254的读回命令 8254的读回命令可以将三个计数器的计数值和状态锁存,并向CPU返回一个状态字,如图7.28所示。 D71, D61时,为读回命令。D50为锁存计数值,以便CPU读取当前计数值。D40为锁存状态信息。D3D1是计数器选择位,一次可以锁存一个计数器、两个计数器或者三个计数器中的计数值或状态信息。当某一计数器的计数值或状态信息被CPU读取后,锁存失效。读回命令写入控制端口,状态信息和计数值都通过计数器端口读取。如果使读回命令的D5和D4位都为0,即状态信息和计数值都要读回,读取的顺序是:先读取状态信息,后读取计数值。 (3)计数初始值的设定 计数初始值(或称计数常数)可根据8254的实际应用和工作方式来设定,一般有如下几种情况: 作为发生器,应选择方式2或方式3。它实际上是一个分频器,因此计数常数就是分频系数,即:分频系数=fi/ f0(fi为输入CLK频率,f0为OUT输出频率)。 作为定时器,计数脉冲CLK通常来自系统内部时钟,计数常数就是定时系数,即:定时系数=T/tclk=T X fclk(T为定时时间,tclk为时钟周期,fclk为时钟频率)。 作为计数器,计数脉冲通常来自系统外部,因此,计数常数为外部事件的脉冲个数。(4)8254初始化编程 在编写初始化程序时,由于8254的三个计数器的控制字都是独立的,而他们的计数常数都有各自的地址单元,因此初始化编程顺序比较灵活,可以写入一个计数器的控制字和计数常数之后,再写入另一个计数器的控制字和计数常数,也可以把所有计数器的控制字都写入之后,再写入计数常数。需要注意的是:计数器的控制字必须在其计数常数之前写入,计数常数的低8位须在高8位之前写入。例7.6某系统使用一片8254,要求完成如下功能: 计数器0对外部事件计数,记满100次向CPU发出中断请求; 计数器1产生频率为1kHz的方波信号,设输入时钟CLK1为2.5MHz; 计数器2作为标准时钟,每秒向CPU发一次中断请求,输入时钟CLK2由OUT1提供。 根据题意,确定相应通道的工作方式控制字及计数常数:计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论