免费预览已结束,剩余87页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
t,拓宽教育网,开始,学习愉快,画面宁静,使人可以安静的进入学习状态,唤醒人的学习意识. 宁静以致远,新编16/32位 微型计算机原理及应用,李继灿 主编,微机与外设交换信息, 都必须通过接口电路来实现。随着大规模集成电路技术的发展,现已生产了各种各样通用的可编程接口芯片,不同系列的微处理器都有其标准化、系列化的接口芯片可供选用。因此,学会典型通用接口芯片的工作原理和使用方法,是掌握微机接口技术的重要基础。 本章主要介绍intel系列的8255a、8250、8253-5、8259a等几种典型通用的接口芯片,第7章 可编程接口芯片及应用,7.1 接口的分类及功能,7.2 可编程计数器/定时器8253-5,7.3 可编程中断控制器8259a,7.4 可编程并行通信接口芯片8255a,7.5 可编程串行异步通信接口芯片8250,7.6 新型通用i/o接口标准,7.1 接口的分类及功能 一、 接口的分类 按接口的功能可分为通用接口和专用接口两类。通用接口适用于大部分外设,如行式打印机、电传打字机和键盘等都可经通用接口与cpu相连。通用接口又可分为并行接口和串行接口。并行接口是按字节传送的;串行接口和cpu之间按并行传送,而和外设之间是按串行传送的。专用接口仅适用于某台外设或某种微处理器,用于增强cpu的功能。 此外,在微机控制系统中专为某个被控制的对象而设计的接口,也是专用接口。,二、接口的功能 接口的功能很丰富,视具体的接口芯片而定,其主要的功能有: (一)缓冲锁存数据 通常cpu与外设工作速度不可能完全匹配,在数据传送过程中难免有等待的时候。为此,需要把传输数据暂存在接口的缓冲寄存器或锁存器中,以便缓冲或等待;而且,要为cpu提供有关外设的状态信息,如外设“准备好”、“忙”,或缓冲器“满”、“空”等。 (二) 地址译码 在微机系统中,每个外设都被赋予一个相应的地址编码,外设接口电路能进行地址译码,以选择设备。,(三) 传送命令 外设与cpu之间有一些联络信号,如外设的中断请求,cpu的响应回答等信号都需要接口来传送。 (四) 码制转换 在一些通信设备中,其信号是以串行方式传输的,而计算机的代码是以并行方式输入输出的,这就需要进行并行码与串行码的互相转换;在转换中,根据通信规程还要加进一些同步信号等,这些工作也是接口电路要完成的任务之一。 (五) 电平转换 一般cpu输入输出的信号都是ttl电平,而外设的信号就不一定是ttl电平。为此,在外设与cpu连接时,要进行电平转换,使cpu与外设的电压(或电流)相匹配。,7.2 可编程计数器/定时器8253-5,8253-5是可编程计数器/定时器。 一、 8253-5的引脚与功能结构 8253-5是一种24脚封装的双列直插式芯片。,8253-引脚的定义如下: d0d7: 数据线。 a0、a1: 地址线,用于选择3个计数器中的一个及选择 控制字寄存器。 rd: 读控制信号,低电平有效。 wr: 写控制信号,低电平有效。 cs: 片选端,低电平有效。 clk02: 计数器0#、1#、2#的时钟输入端。 gate02: 计数器0#、1#、2#的门控制脉冲输入端, 由外部设备送入门控脉冲。 out02: 计数器0#、1#、2#的输出端,由它接至 外部设备以控制其启停。 8253-5的功能体现在两个方面,即计数与定时。两者的工作原理在实质上是一样的,都是利用计数器作减1计数,减至0发信号;两者的差别只是用途不同。,二、8253-5的内部结构和寻址方式,(一) 内部结构 8253-5的内部结构有3个独立结构完全相同的16位计数器和1个8位控制字寄存器。在每个计数器内部,又可分为计数初值寄存器cr、计数执行部件ce和输出锁存器ol 3个部件,它们都是16位寄存器,也可以作8位寄存器来用。在计数器工作时,通过程序给初值寄存器cr送入初始值,该值再送入执行部件ce作减1计数;而输出锁存器ol则用来锁存ce的内容,该内容可以由cpu进行读出操作。 (二) 寻址方式 8253-5内部有3个计数器和1个控制字寄存器,可通过地址线a0、a1,读写控制线rd、wr与选片cs进行寻址,并实现相应的操作,三、8253-5的6种工作方式及时序关系 8253-5的方式控制字格式如图7.4所示,各计数器有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。,(一) 方式 计数结束产生中断 8253-5在方式0工作时,有以下特点: (1) 当写入控制字后,out端输出低电平作为起始电平,计数初值装入计数器后,输出仍保持低电平。若gate端的门控信号为高电平,当clk端每来一个计数脉冲,计数器就作减1计数,当计数值减为0时,out端输出变为高电平,若要使用中断,则可以用此电平变化向cpu发中断请求。,(2) gate为计数控制门。 方式0的计数过程可由门控信号gate控制暂停,即当gate=1时,允许计数;gate=0时,停止计数。gate信号的变化并不影响输出out端的状态。 (3) 计数过程中可重新装入计数初值。 如果在计数过程中,重新写入某一计数初值,则在写完新的计数值后,计数器将从该值重新开始作减1计数。,(二)方式1 可编程单稳触发器,(1)写入控制字后,out端输出高电平作为起始电平。当计数初值送到计数器后,若无gate的上升沿,不管此时gate输入的触发电平是高电平还是低电平,都不开始减1计数,必须等到gate端输入正跳变触发脉冲时,计数过程才会开始。 (2)工作时,由gate输入触发脉冲的上升沿使out变为低电平,每来一个计数脉冲,计数器作减1计数,当计数值减为0时, out再变为高电平。out端输出的单稳负脉冲的宽度为计数器的初值乘以clk端输入脉冲周期。 (3)如果在计数器未减到0时,门控端gate又来一触发脉冲,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数.当减至0时,输出端又变为高电平。这样,使输出脉冲宽度延长。,(三)方式2 分频器 (又叫分频脉冲产生器) 此方式是n分频计数器,n是写入计数器的初值。写入控制字后,out端输出高电平作为起始电平。当计数初值写入计数器后,从下一个时钟脉冲起,计数器开始作减1计数。当减到1时,out端输出将变为低电平。当计数端clk输入n个计数脉冲后,在输出端out输出一个n分频脉冲,其正脉冲宽度为(n-1)个输入脉冲时钟周期,而负脉冲宽度只是一个输入脉冲时钟周期。 gate用来控制计数,gate=1,允许计数;gate=0,停止计数。因此,可以用gate来使计数器同步。要注意的是,在方式2下,不但高电平的门控信号有效,上升跳变的门控信号也是有效的。,(四)方式3 方波频率发生器 此方式类似于方式2,但输出为方波或者为对称的矩形波。当写入控制字后,out端输出低电平作为起始电平,装入计数值n后,out端输出变为高电平。如果当前gate为高电平,则立即开始作减1计数。当计数值n为偶数时,每当计数值减到n/2时,则out端由高电平变为低电平,并一直保持计数到0,故输出的n分频波为方波;当n为奇数时,输出分频波高电平宽度为(n+1)/2计数脉冲周期,低电平宽度为(n-1)/2计数脉冲周期。,(五)方式4 软件触发选通脉冲 按方式4工作时,写入控制字后,输出out变为高电平。当由软件触发写入初始值后,计数器作减1计数,当计数器减到0时,在out端输出一个宽度等于一个计数脉冲周期的负脉冲。若gate=1,允许计数;gate=0,停止计数。 (六)方式5 硬件触发选通脉冲 此方式类似于方式4,所不同的是gate端输入信号的作用不同。按方式5工作时,由gate输入触发脉冲,从其上升沿开始,计数器作减1计数,计数结束时,在out端输出一个宽度等于一个计数脉冲周期的负脉冲。在此方式中,计数器可重新触发。在任何时刻,当gate触发脉冲上升沿到来时,将把计数初值重新送入计数器,然后开始计数过程。,中断控制器是专门用来处理中断的控制芯片。它的功能是在有多个中断源的系统中,协助cpu实现对外部中断请求的管理,对它们进行优先权排队后选中当前优先权最高的中断请求向cpu发出中断请求信号;并且,当cpu响应中断请求进入中断服务子程序之后,如果有某个新的外部中断请求的优先权高于当前正在处理的最低优先权时, 中断控制器还能让此中断通过而到达cpu的可屏蔽中断请求信号intr端,从而实现中断嵌套。8259a就是一个可编程的输入端中断控制器,其功能很强,也很灵活,但使用时比较复杂。intel 8259a芯片有以下工作特点:,7.3 可编程中断控制器8259a,intel 8259a芯片有以下工作特点: (1)单片8259a能管理8级中断。若采用级联工作方式,可 用9片8259a构成64级主从式中断系统。 (2)8259a可以通过编程工作于多种不同的方式,从而能方 便地满足多种类型微机中断系统的需要。 (3)8259a采用nmos工艺制造,只需要一组5v电源。,一、8259a的引脚与功能结构 一 8259a的引脚与功能结构 芯片片脚定义如下: d0d7:8根双向数据线。在小系统中,它们直接和cpu的数据总线相连;在大系统中,它们一般通过总线驱动器间接与cpu相连。 wr :写控制信号,低电平有效。它用来通知8259a准备从数据线上接收数据,这些数据实际上就是cpu发往8259a的命令字。 rd:读控制信号,低电平有效。它用来通知8259a将其内部某个寄存器的内容读到cpu的数据总线上。 cs:片选信号端,低电平有效。它通过地址译码逻辑电路与地址总线相连,用于选通8259a。,a0:地址线。它用来指出当前8259a的两个端口中被访问的是奇地址(较高8位地址)还是偶地址(较低8位地址)。在8088中,由cpu的a0接入8259的a0端;而在8086中,则由cpu的a1接入8259的a0端。这样连接是为了能同时满足在8位或16位两种系统中,都能使所有的数据传输利用16位总线的低8位。 ir0ir7:8级中断请求输入端。它用于接收来自i/o设备的外部中断请求。在主从级联方式的复杂系统中,主片的ir0ir7端分别与各从片的int端相连,用来接收来自从片的中断请求。 int:中断请求信号(输出)。它连至cpu的intr端,用来向发中断请求信号。,inta:中断应答线(输入)。它连至cpu的inta端,用于接收来自cpu的中断应答信号。当接收cpu的应答信号后,8259a就把中断向量类型号送到数据总线。并且,cpu将在中断应答信号的第2个inta负脉冲结束时,读取数据总线上的中断类型号。 sp/en:此引脚是一个双功能的双向信号线,分别表示两种工种方式。 当8259a片采用缓冲方式时,则sp/en端作为输出信号线en;当8259a片采用主从工作方式(即非缓冲方式)时,则sp/en端作为输入信号线sp。在缓冲工作方式中,当en有效时,作为输出信号允许数据总线缓冲器选通,使数据由8259a通过缓冲器读出至cpu。当en无效时,表示cpu将使数据写入8259a。,在主从工作方式中,作为输入信号,由该输入引 脚的电平来区分“主”或“从”8259a,若输入高电平,即sp=1,则本片为“主”8259a,若输入低电平,即sp=0,则 为”从”8259a。 cas0cas2:3根级联控制信号。系统中最多可以把8级中 断请求扩展为64级主从式中断请求,对于“主”8259a, cas0cas2为输出信号,对于“从”8259a,cas0cas2 为输入信号。在主从级联方式系统中,将根据“主” 8259a的这3根引线上的信号编码来具体指明是哪一个 8259a“从”片。,二、8259a内部结构框图和中断工作过程,8259a的8个功能部件组成一个有机的整体,共同协调处理它的整个中断工作过程,其中断过程执行步骤如下: (1) 当外部中断源使8259a的一条或几条中断请求线(ir0 ir7)变成高电平时,则先使irr的相应位置“1”。 (2) 系统是否允许某个已锁定在irr中的中断请求进入isr寄 存器的对应位,可用imr对irr设置屏蔽或不屏蔽来控制. 如果已有几个未屏蔽的中断请求锁定在isr的对应位,还 需要通过优先级判别器即进行裁决,才能把当前未 屏蔽的最高优先级的中断请求从int输出,送至cpu的 intr端。,(3) 若是处于开中断状态,则它在执行完当前指 令,就用inta作为响应信号送至8259a的inta。8259a 在收到cpu的第1个中断应答inta信号后,先将isr 中的中断优先级最高的那一位置“1”,再将irr中刚才 置“1”的相应位复位成“0”。 (4) 8259a在收到第2个inta信号后,将把与此中断相对应 的一个字节的中断类型n从一个名为中断类型寄存器 的内部部件中送到数据线,cpu读入该中断类型号n, 并根据它从中断向量表中取得相对于该中断类型号n 的中断向量及其指定的中断入口地址,随即可转入执 行相应的中断服务子程序。,(5) 当cpu对某个中断请求做出的中断响应结束后,8259a将 根据一个名为方式控制器的结束方式位的不同设置,在 不同时刻将isr中置1“的中断请求位复“0”。具体地说, 在自动结束中断(aeoi)方式下,8259a会将isr中原来在 第1个inta负脉冲到来时设置的“1”(即响应此中断请求 位)在第2个inta脉冲结束时,自行复位成“0”。若是非 自动结束中断方式(eoi),则isr中该位的“1”状态将一 直保持到中断过程结束,由cpu发eoi命令才能复位成 “0”。,三、8259的控制字格式 8259a的强大中断处理功能和各种灵活的工作方式,都是通过编程来设置的,具体地说,是对8259a内部有关寄存器写入控制命令字来实现控制的。按照控制字功能及设置的要求不同,可分为两种类型的命令字: (1)初始化命令字icw(initialization command word):icw1icw4,它们必须在初始化时分别写入4个相应的寄存器。并且,一旦写入,一般在系统运行过程中就不再改变。 (2)工作方式命令字或操作命令字ocw(operation command word):ocwocw3,它们必须在设置初始化命令后方能分别写入3个相应的寄存器。它们用来对中断处理过程进 行动态的操作与控制。在一个系统运行过程中,操作命令字可以被多次设置。,四、8259a应用举例 在ibm pc/xt机中,只用1片8259a中断控制器,用来提供8级中断请求,其中ir0优先级最高,ir7优先级最低。它们分别用于日历时钟中断、键盘中断、保留、网络通信、异步通信中断、硬盘中断、软盘中断及打印机中断。8259a片选地址为20h、21h。 8259a使用步骤如下: 1 初始化 mov al, 13h ;写icw1,单片,边沿触发,要icw4 out 20h,al mov al,8;写icw2,中断类型号从8开始 out 21h,al mov al,0dh;写icw4,缓冲工作方式,8088/8086配置 out 21h,al mov al,0;写ocw1,允许ir0ir7全部8级中断请求 out 21h,al,2 送中断向量入口地址 例如,异步通信中断ir4,其中断向量类型号为8+4=12(0ch),则中断入口地址的偏移量(ip值)与段地址(cs)在入口地址表中的存放地址为124=48(30h),49(31h),50(32h),51(33h)。其中30h、31h存放指令指针ip;32h,33h存放指令段码cs。 3 中断子程序结束 由于8259a采用中断工作方式,且icw4中的位(即)为,这意味着采用正常结束中断,因此,在中断子程序结束前必须发eoi命令和iret命令。 mov al,20h:写ocw2命令,使isr相应位复位(即发eoi命令)。 out 20h,aliret;开放中断允许,并从中断返回 4 中断嵌套 为了使中断嵌套,即在中断响应过程中,允许比本中断优先级高的中断进入,只要在进入中断处理程序后,执行开中断指令sti即可达到此目的。,.4 可编程并行通信接口芯片8255a,8255a是一种可编程并行通信接口芯片,其功能与通用性更强。 一、 8255a芯片引脚定义与功能,.数据端口、 8255a的3个8位数据端口a、b、c各有不同特点,可以由设计者用软件使它们分别作为输入端口或输出端口。 在实际使用中,a口与b口常常作为独立的输入端口或者输出端口,c口则配合a口和b口工作。具体地说,c口常常通过控制命令分成为2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为a口和b口输出控制信号和输入状态信号。 .a组控制和b组控制部件 这两组控制部件有两个功能: 一是接收来自芯片内部数据总线上的控制字;二是接收来自读写控制逻辑电路的读/写命令,以此来决定两组端口的工作方式和读/写操作.,.读/写控制逻辑电路 读/写控制逻辑电路的功能是负责管理8255a的数据传输过程。它接收cs及来自地址总线的信号a1、a0(在8086总线中为a2、a1)和控制总线的信号reset、wr、rd,将它们组合后,得到对a组控制部件和b组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据、状态信息和控制信息的传输。 .数据总线缓冲器 它是一个双向三态的8位数据缓冲器,8255a正是通过它与系统数据总线相连。输入数据、输出数据、cpu发给8255a的控制字都是通过该部件传递的。,二、8255a寻址方式 8255a内部有3个i/o端口和一个控制字端口,通过地址线a0、a1,读写控制线rd、wr与片选端cs进行寻址并实现相应的操作。,三、8255a的3种工作方式 (一) 方式0 方式0是基本的输入输出工作方式 方式0有以下特点: (1) 任何一个端口都可用作输入或输出。 (2) 由a口、b口、c口高4位与c口低4位4组组合成16种不同的输入/输出组态。 (二) 方式1 方式1和方式0不同,它要利用端口c所提供的选通信号和应答信号,来控制输入/输出操作。 所以,方式1又称为选通输入输出方式,(三) 方式2 此方式称为选通双向传输,仅适用于端口a。 intra: 中断请求信号,高电平有效。端口a完成一次输入或输出数据操作后,可通过intra向cpu发中断请求。 stba: 输入选通信号,低电平有效。当stba有效时,把外设输入的数据信号锁存入端口a。 ibfa: 输入缓冲器满,高电平有效。当ibfa有效时,表示已有一个数据送入端口a,等待cpu读走。此信号可供cpu作输入查询用。 obfa: 输出缓冲器满,低电平有效。当obfa有效时,表示cpu已将一个数据写入端口a,通知外设,可以将其取走。 acka: 外设应答信号,低电平有效。当acka有效时,表示端口a输出的数据已送到外设。 inte1: a口输出中断允许信号(在片内)。可以由软件通过对pc6的置位或复位来加以允许或禁止。 inte2: a口输入中断允许信号(在片内)。可以由软件对pc4的置位或复位来加以允许或禁止,四、时序关系 按方式0工作时,因为外设与8255a之间的数据交换没有时序控制,所以只能作为简单的输入输出和用于低速并行数据通信。而按方式1工作时,设与cpu可以进行实时数据通信。,从时序图上,可以把它们的工作过程归纳如下: (1)当数据端口作为输入工作时,在stb有效时,外设输入数据存入端口,并发出ibf有效信号,该信号可供外设作通信联络信号,也可以由cpu查询c口相应位获得。当cpu对该数据口进行读入操作后,由rd上升沿使ibf复位, 为下一次输入数据做好准备。如果该数据端口中断允许inte置位,则在stb信号回复到高电平时,8255a通过intr向cpu发中断请求。若cpu响应该中断请求,读取该数据端口的输入数据,则由rd下降沿使intr复位,为下一次数据输入请求中断做好准备。,(2)当数据端口作为输出口时,在cpu把数据写入端口后,由wr的上升沿使obf有效并使intr复位。obf输出通知外设可以取走端口的输出数据。当外设取走一个数据时, 应向8255a发回应答信号ack。ack的有效低电平可以使obf复位,为下一次输出做好准备。如果该端口输出中断允许inte位置位,则当ack回到高电平时,8255a可以通过intr发输出中断请求。若cpu响应该中断请求,又可以把下一次输出数据写入数据端口。 (3)当数据端口既作输入又作输出选通双向传送时,其时序图上所表示的工作过程将是以上输入时序与输出时序的综合,故不再详述。,五、8255a应用举例 8255a作为通用的并行输入/输出接口芯片,常用于cpu与外设之间,cpu可以通过8255a将数字量送往外设,也可以通过8255a将数字量从外设读入cpu。当8255a用作矩阵键盘接口时,既有输入操作,又有输出操作,用一片8255a构成4行4列的非编码键盘电路,7.5 可编程串行异步通信接口芯片8250,8250是一种可编程的串行异步通信接口芯片。它支持异步通信规程;芯片内部设置时钟发生电路,并可以通过编程改变传送数据的波特率;它提供modem所需的控制信号和接收来自modem的状态信息,极易通过modem实现远程通信;它具有数据回送功能,为调试自检提供方便。,一、串行异步通信规程(protocol) 在详细介绍可编程串行异步通信接口芯片8250之前,首先要了解串行异步通信规程。 行异步通信规程是把一个字符看作一个独立的信息单元,每一个字符中的各位是以固定的时间传送。因此,这种传送方式在同一字符内部是同步的,而字符间是异步的。在异步通信中收发双方取得同步的方法是采用在字符格式中设置起始位和停止位的办法。在一个有效字符正式发送之前,先发送一个起始位,而在字符结束时发送1个2个停止位。当接收器检测到起始位时,便能知道接着是有效的字符位,于是开始接收字符,检测到停止位时,就将接收到的有效字符装载到接收缓冲器中。,串行异步通信格式如下: (1) 起始位,它一定是逻辑0电平。 (2) 数据位(5到8位)。它紧跟在起始位后,是要被传送的数 据。传送时,先传送低位,后传送高位。 (3) 奇偶校验位。占1位,奇校验或偶校验。 (4) 停止位。可以是1位、1.5位或2位,它一定是逻辑1电 平。,二、8250芯片引脚定义与功能 d7d0:数据线,cpu和8250通过此 数据线传送数据或命令。 a2,a1,a0:地址选择线,用来选 择8250内部寄存器。它们通 常接地址线a2,a1,a0。 ads: 地址锁存输入引脚,当 ads=0时,选通地址a、 a1、a0和片选信号,当ads =1时,便锁存a2、a1、a0 和片选信号。实用中,ads 接地便可。,cs0,cs1,cs2: 片选输入引脚。当cs0,cs1为高电平,cs2为低电平时,则选中8250。 distr,distr: 数据输入选通引脚。当distr为高电平或distr为低电平时,cpu就能从8250中读出状态字或数据信息。 mr: 复位信号,高电平有效。一般接系统复位信号reset。 ddis: 禁止驱动器输出引脚。当cpu读8250时,ddis输出低电平。在pc/xt异步适配器上,ddis悬空不用。 cs out: 片选中输出信号。当cs out为高电平时,表示cs0,cs1,cs2信号均有效,即8250被选中。,xtal1,xtal2: 时钟信号输入和输出引脚。如果外部时钟从xtal输入,则xtal可悬空不用;也可在xtal和xtal之间接晶体振荡器。 rclk: 接收时钟输入引脚。通常直接连到baud out输出引脚,保证接收与发送的波特率相同。 baud out: 波特率输出引脚。由8250内部时钟发生器分频后输出. sin: 串行数据输入引脚。 sout: 串行数据输出引脚。,intrpt: 中断请求输出引脚。当中断允许寄存器ier相应位置1时,若有下列中断事件出现,则intrpt引脚会输出有效高电平: (1) 接收器数据错; (2) 接收器数据有效; (3) 发送缓冲器空; (4) 调制解调器(modem)状态寄存器的低2位中有置1位。 中断服务结束或系统复位后,intrpt被置为低电平。,rts: 请求发送输出引脚。当rts为低电平时,通知modem或数据装置,8250已准备发送数据了。 cts: 清除发送(即允许发送)的输入引脚。当cts为低电平时,表示本次发送结束,而允许发送新的数据。 dtr: 数据终端就绪输出引脚。当dtr为低电平时,就通知modem或数据装置,8250已准备好可以通信了。 dsr: 数据装置准备好输入引脚。当dsr为低电平时,表示modem或数据装置与8250已建立通信联系,传送数据已准备就绪。,rlsd: 载波检测输入引脚。当rlsd为低电平时,表示modem或数据装置已检测到通信线路上送来的信息,指示应开始接收。 ri: 振铃指示输入引脚。当ri为低电平时,表示modem或数据装置已接收到了电话线上的振铃信号。 out1: 用户指定的输出引脚。可以通过对8250的编程使out1为低电平或高电平。,out2: 用户指定的另一输出引脚。也可以通过对8250的编程使out2为低电平或高电平。 dostr,dostr: 数据输出选通的输入引脚。当dostr为高电平或dostr为低电平时,cpu就能将数据或命令写入8250。,8250芯片内部结构是由10个内部寄存器 , 数据缓冲器和寄存器选择与i/o 控制逻辑组成.通过微处理器的输入/输出指令可以对10个内部寄存器进行操作, 以实现各种异步通信的要求.,三、8250芯片的内部结构和寻址方式,需要说明的是表7.5中i/o口地址(3f8h3feh)是由ibm pc/xt机的地址译码器提供的(串行口1)。当8250用 于其他场合时,表中i/o的口地址应由8250所在电路的地 址译码器决定。,四、8250内部控制状态寄存器的功能 1.发送保持寄存器(3f8h) 发送时,cpu将待发送的字符写入发送保持寄存器中,其中第0位是串行发送的第1位数据。 2.接收数据寄存器(3f8h) 该寄存器用于存放接收到的1个字符。 3.线路控制寄存器(3fbh) 该寄存器规定了异步串行通信的数据格式。,4. 波特率因子寄存器(3f8h,3f9h) 8250芯片规定当线路控制寄存器写入d7=1时,接着对口地址3f8h、3f9h可分别写入波特率因子的低字节和高字节,即写入除数寄存器(l)和除数寄存器(h)中。而波特率为1.8432mhz/(波特率因子16)。,5.中断允许寄存器(3f9h) 该寄存器允许8250 4种类型中断(相应位置1),并通过irq4向8088cpu发中断请求。 6.中断标识寄存器(3fah) 可以用来判断有无中断与哪一类中断请求。 7.线路状态寄存器(3fdh) 该寄存器向cpu提供有关数据传输的状态信息。 读入时,各数据位等于1有效,读入操作后各位均复位。除d位外,其他各位还可被cpu写入,同样可以产生中断请求。 8.modem控制寄存器(3fch) 该寄存器控制与调制解调器或数传机的接口信号。,9. modem状态寄存器(3feh) 该寄存器反映了调制解调器控制线的当前状态,同时提供了4位控制输入的状态变化信息。各数据等于1为有效。各位含义如下:,五、 8250通信编程 对8250编制通信软件时,首先应对芯片初始化,然后按程序查询或中断方式实现通信。 1. 8250初始化 8250的初始化需完成以下工作: (1)设置波特率。 例如,设波特率为9600,则波特率因子n=12 mov dx,3fbh mov al,80h;设置波特率 out dx,al mov dx,3f8 mov al,12 out dx,al inc dx mov al,0 out dx,al;3f9h送0,(2) 设置串行通信数据格式 例如,数据格式为8位,1位停止位,奇校验。 mov al,bh mov dx,3fbh out dx,al (3) 设置工作方式 无中断: mov al,3 ;out、out均为1 mov dx,3fch out dx ,al 有中断: mov al,bh ;out2=0,允许intrt去申请中断 mov dx,3fch out dx,al 循环测试: mov al,13h mov dx,3fch out dx,al,2. 程序查询方式通信编程 采用程序查询方式工作时,cpu可以通过读线路状态寄存器(3fdh)查相应状态位(d0与d5位),来检查接收数据寄存器是否就绪(d0=1)与发送保持器是否空(d5=1)。 发送程序: tr: mov dx,3fdh i al,dx test al,20h jz tr mov al,si;从si中取出发送数据 mov dx,3f8h out dx,al 接收程序 re:mov dx,3fdh i al,dx test al,1,jz re mov dx,3f8h i al,dx mov di,al;读入数据存入di中 3. 用中断方式编程 在ibm pc 机中使用8250中断方式进行通信编程要完成以下几个步骤: (1)对8259a中断控制器进行初始化,允许中断优先级4。 mov al,13h ;单片使用,需要icw mov dx,20h out dx,al;icw mov al,8;中断类型号为08h0fh ic dx out dx,al;icw ic al;缓冲方式,/8086 out dx,al;icw mov al,8ch;允许0,1,4,5,6级中断 out dx,al;送中断屏蔽字ocw,(2)设置中断向量irq4 对irq4,中断类型号为0ch,0ch4=30h。因此,应在30h,31h存放ip值,32h,33h存放cs值。 设中断服务程序入口地址为2000:100 xo ax,ax mov ds,ax mov ax,100h mov od t0030h,ax ;送100h到00030h和 00031h内存单元中 mov ax,2000h mov od t0032h,ax ;送2000h到00032h和 00033h内存单元中,(3)对8250送中断允许寄存器(3f9h)设置允许/屏蔽位。 例如,允许发送与接收中断请求。 mov al,3 mov dx,3f9h out dx,al (4)在中断结束返回时,需要对8259a发eoi命令,保证8250可以重新响应中断请求。 mov al, 20h mov dx,20h out dx,al ;发eoi命令,ocw iret;开中断允许,并从中断返回,随着外设发展趋势的日益多样化,原有接口标准各自独立、互不兼容的状况显得越来越不适应共享的需求,迫切需要设计和使用一些具有广泛兼容性的通用外设接口标准。这里介绍目前已获得广泛应用并具有很好发展前景的3种通用外设接口标准:usb、ieee1394和scsi。 一、 usb usb (universal serial bus)是通用串行总线的简称,它是一种新型的外设接口标准。从1994年推出以来,现已有usb1.0、usb1.1和usb2.0等几个版本。,7.6 新型通用i/o接口标准,1.usb的性能特点 (1) 通用性强 usb采用一种通用的连接器来连接多种类型的外设,其外型为4针插头,可替代主机箱后板上的各种串行/并行接口,直接实现对各种常规i/o设备、部分多媒体设备、通信设备以及家用电器的插接。在设计上,允许1个usb主控机连接多达127个外设。 (2) 连接简便 usb支持热插拔连接和即插即用。也就是说,在主机不切断电源的情况下,可直接插拔外设,并且,usb还能自动识别设备的接入和移走。,(3) 数据传输速度较快 usb的数据传输速度可达到普通接口的10倍(并口)或100倍(串口)以上。例如,usb2.0 在高速方式下,其数据传输速度可达到480mb/s。 (4) 自备电源 usb为低功耗usb设备(如usb键盘、usb鼠标等)提供了5v、500ma的自备电源,同时还采用了apm(先进电源管理)技术,有效地节省了系统能源。,2.usb系统组成 usb系统由硬件和软件两部分组成。,usb硬件部分: usb主机是一个带有usb主控制器的pc机(宿主),它是usb系统的主控者。主控制器通过根hub(集线器)分别完成对数据传输的初始化和设备的接入。当每一次外设与usb交换数据时,都是由根hub来组织的。 根hub有usb硬件部分的组成两个端口:一个可直接连接usb功能设备(如打印机);另一个是usb hub,通过它可以将更多的usb 功能设备串在一起再并接到根hub上。各种功能设备就是插在hub上的几种外设,它们都是通过usb总线来传输数据或控制信息的。,usb软件部分: 主要包括3个驱动程序模块: 一.usb设备驱动程序,它负责处理usb设备的i/0请求,并 完成对目标设备进行数据传输的设置; 二.usb驱动程序,它负责在设备设置时获取描述符寄存器 中有关usb设备的特征信息, 并据此在请求发生时组 织数据传输; 三.主控制器驱动程序,它完成对usb交换的调度,并通过 hub完成对交换的初始化。,3. usb的传输类型 usb的传输类型实质上是指usb的数据流类型。usb支持4种数据流类型,即控制信号流、块数据流、中断数据流和实时数据流。与数据流类型相对应,usb有4种基本的传输类型,即控制传输、批传输、中断传输和等时传输。 (1) 控制传输 控制传输是指控制信号流的传输,它是双向的。当usb设备加入系统时,usb系统软件与设备之间将建立起控制信号流以发送控制信号。它的传输通常会经历setup、data与status 3个阶段。在setup阶段,主机给设备发出命令;在data阶段,将传输由setup阶段所设定的数据;在status阶段,设备将向主机发回联络(握手)信号。 控制传输主要用作配置设备,如给数码相机传送继续、暂停或停止等控制信号。,(2) 批传输 批传送是指对块数据流的传输,它可以是单向的,也可以是双向的,用于传送对时间性要求不强而对正确性却要求很高的块数据流。在批传输过程中,如出现错误,会自动重传。例如,扫描仪、打印机以及静态图片输入等。 (3) 中断传输 中断传输是指对中断数据流的传输,它是一种仅由设备输入到主机的单向数据流。例如,像键盘、鼠标等输入设备即采用这种方式。usb的中断是查询类型,主机要不断地查询端点是否有中断请求输入:如有,则处理;如无,则继续查询。其查询速度可达到1khz。 (4) 等时传输 等时(同步)传输是指对实时数据流的传输,它可以是单向的,也可以是双向的,用于传输连续性、实时性的数据。这种传输方式的特点是速率固定、时间性强,不要求出错时重传,其传输的最大数据包为1024b/ms。如数码相机、数字声音设备、视频设备等就采用这种方式。,二、 scsi scsi(small comgputer system interface )是小型计算机系统接口的简称,它是一种高智能接口,开始用于小型计算机系统中,后逐渐发展成为与采用scsi接口标准的外部设备连接的接口标准,主要用于混接各种硬驱、光驱、磁带机、打印机、扫描仪以及通信设备等。现已发展到网络服务器、工作站和pentium系统中,成为ansi(美国国家标准局)标准。,1scsi的主要性能特点 (1) scsi是一种通用性很强的系统级接口,它是连接主适 配器和智能外设控制器之间的并行i/o接口,其接口 总线由8条数据线、9条控制线和1条奇偶校验线组 成。它采用50芯(对scsi-1)或68芯(对scsi-2)扁 平电缆不等,数据宽度为16/32位。在通信时,它通 过一组通用的命令去控制各种设备,不需要考虑外设 的物理特性。总线上可以菊花链形式最多连接8个外 设。在pentium系统中,通常是由一个主适配器hba连 接最多7个外设。 (2) 接入scsi的各设备之间无固定的主从关系,可根据 i/o操作的不同情况而异,因此每一个设备既可以作 为启动设备,也可以作为目标设备。 (3) scsi的总线时钟频率为5mhz,可按同步方式或异步方 式传输数据。其同步方式数据传输率是5mhz,异步方 式数据传输率是2.5mhz。最多能支持32个硬盘。,(4) scsi可分为单端传送方式和差分传送方式。单端 scsi的电缆不能超过6m,而采用差分方式时的传送 距离可达25m. (5) 由于scsi设备是智能设备,对scsi总线乃至主机都屏蔽了实际外设的固有物理属性(如磁盘柱面数、磁头数等参数),因而,在各scsi设备之间就可以用一套标准的命令进行数据传送,这就为系统的升级或系列化提供了方便的条件。,(6) 连接在scsi总线上的智能设备称为scsi设备。对系统中 的每个scsi设备都赋予了惟一的设备号id7id0,其中,id7的设备具有最高优先权,而id0的设备则具有最低优先权。当几个设备同时竞争总线时,则这些竞争的设备将在冲裁阶段以自己的设备号驱动数据线中相应的位线(如id7的设备就驱动db7线),并与数据线上的值进行比较,然后按优先权进行冲裁。在scsi的总线选择阶段,启动设备和目标设备的设备号能同时出现在数据线上。,2. scsi的总线结构配置和总线操作 (1)scsi的总线结构配置 scsi的总线结构一般分为3层:最底层是物理层,定义了所使用的电缆和连接器;中间层是协议层,描述信号应如何组织和排队以实现信息包的传送;最高层是结构层,描述命令请求的组织、编排和响应。,(2)scsi的总线操作阶段 总线操作阶段是指在完成i/o操作过程中所经历的各种不同阶段或状态。scsi总线操作定义了8个阶段:总线空闲阶段、冲裁阶段、选择阶段、重选阶段、命令传送阶段、数据传送阶段、状态传送阶段和消息传送阶段。,在总线空闲阶段,scsi系统将指示当前总线处于未被使用状态。任何阶段执行结束后都可进入此阶段。当scsi接口的忙状态信号bsy和选择信号sel为假时,则进入此阶段。在复位时,由于释放总线,也进入空闲阶段。 冲裁阶段是各设备竞争总线使用权的阶段。所有设备均可在测出总线处于空闲阶段并经一定的稳定延时后,启动bsy有效来进入冲裁阶段,并同时将其id号送上数据线。经冲裁获得总线控制权的设备,以启动sel信号有效来表示结束冲裁阶段,并转入选择阶段。 选择阶段是由启动设备选择目标设备的阶段。当获得总线控制权的scsi设备是一个i/o进程的启动方,则在冲裁阶段之后立即进入选择阶段,并由启动方选择目标方。当选择阶段结束时,再由目标方来决定下一步是进入消息阶段的哪一个阶段。,重选阶段是由为更有效地利用总线而设置的可选阶段。在目标设备执行启动设备指示的操作过程中,如果暂时不需要总线操作时(例如当磁盘的寻道时间较长时),可将总线释放(断开),允许其他设备使用总线,自己则继续忙于其内部的i/o操作而暂时与启动方脱接(称为失连);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论