您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 并行口在通信中的应用
并行口在通信中的应用程方(重庆邮电学院,重庆400065)摘要:简要介绍了计算机并行口的工作模式分类、用于打印时的工作原理及在不同工作模式下并行口的操作区别,最后,举例说明了在标准模式下进行双向数据采集的设计思路。关键词:模式;原理;比较;设计计算机并口用于连接打印机时,其功能极其简单,仅起传递打印命令和数据到打印机,并返回打印机状态到系统的作用。其3个端口(数据口、状态口、控制口)在标准模式下都是单向操作。如何设计并口扩展电路进行高速双向数据通信,又保持微机对打印机功能的透明性,是通信电路设计人员感兴趣的一个课题。关于计算机并口用作通信口的介绍,国内外资料不多,本文就此技术运用于数据采集系统,做个简单介绍。1并行口工作模式分类常见的计算机并口模式可分为兼容模式(Com-patibilityMode)、半字节模式(NibbleMode)、字节模式(ByteMode)、增强模式EPP(EnhancedParal-lelPort)和扩展模式ECP(ExtendedCapabilitiesPort)。其中,EPP模式和ECP模式适用于较高速率的数据通信,同时它们也兼容标准打印口的操作。在计算机的CMOS设置里,通常是按照以下的区分原则:标准模式、双向模式、EPP模式、ECP模式等。本文所说的标准打印机口操作模式,即是指标准模式。2并行口工作原理不同的模式下,并口的操作方式是不一样的。在这里,我们介绍应用最多的并行口工作模式——标准打印机口操作模式的工作原理。打印机并行接口逻辑具有3个设备端口:数据端口、控制端口和状态端口,均可用IN或(和)OUT指令对其进行读出或(和)写入。共有5种操作:读数据、写数据、读控制、写控制和读状态。它们都是对相应的端口寄存器进行的操作。2.1数据寄存器对数据寄存器的写入操作是CPU将打印数据传送到打印机的数据线上。其编程如下:MOVDX,DATA_PORT;指向数据口OUTDX,AL;输出数据到AL对数据寄存器的读出操作是CPU取出送到打印机的打印数据,主要用于验证数据口数据的发送是否正确。其编程如下:MOVDX,DATA_PORT;指向数据口INAL,DX;读入数据到AL2.2控制寄存器控制寄存器的各位定义如图1所示。对控制寄存器写入操作是CPU将控制命令送到打印机。其编程如下:MOVDX,CTRL_PORT;指向控制口OUTDX,AL;输出控制到AL对控制寄存器的读出操作是CPU取出送到打印机的控制命令,主要用于验证控制口数据的发送是否正确。其编程如下:MOVDX,CTRL_PORT;指向控制口INAL,DX;读入控制到AL在IBMPC系列微机系统启动过程中,要对打印机进行初始化,为系统随后进行的打印操作予以准备。对打印机初始化要输出的控制字节为“8=00001000B”,并持续一定时间(4ms左右),随后规定操作系统支持的打印机操作方式:禁止中断、打印机联机及不自动换行。也就是说,在Windows操作系统下,对打印机的操作不能采用中断方式、操作打印机时打印机必须处于联机状态、打印机不能执行自动换行功能。2.3状态寄存器在标准模式下,状态寄存器是唯一的只读寄存器。通过对状态寄存器的读出操作,CPU可获得打印机送来的5位状态信息。状态寄存器各位定义如图2所示。对状态寄存器的读出编程如下:MOVDX,STATUS_PORT;指向状态口INAL,DX;读入状态到AL注意:状态忙碌位(D7=0)意味着打印机正在处理上一接收的打印数据。一旦处理完毕,立即发出应答信号,置应答位为0(D6=0);同时置忙碌位为1,即准备就绪。在中断允许条件下(控制寄存器D4=1),此应答信号即可作为打印机的中断请求IRQ。状态口主要是为了使主机判断打印机的工作状态,保证打印数据的可靠发送。对一台并行口打印机发送打印数据,主要是计算机软件通过对以上端口执行指令操作,发送和接收各个端口的数据,并使相关的端口信号满足打印机要求的数据传输时序。不论计算机使用的是哪种型号的打印机,它们的数据传输时序都是一致的。打印机以每次接收一个8位数据作为数据传输时序的基本周期。但每个周期的间隔是不定时的,完全取决于外界的同步信号,即打印机接口控制寄存器的最低位——数据选通位“STROBE”。打印机数据传输时序如图3。图3中的各信号含义如下:(1)BUSY打印机忙碌信号。若为“高”,表示打印机不能接收数据。该信号在数据输入期间、打印操作期间、打印机脱机状态、打印机出错状态的4种情况下变为“高”。注意:该信号送到打印机接口状态寄存器最高位后,CPU读取时刚好反相,即BUSY=1,D7=0。(2)打印机应答信号。当打印机准备好接收下一数据时,输出宽约5μs的负脉冲。利用其后沿使忙碌信号BUSY由“高”变为“低”,即打印机不忙。与此同时,打印机接口卡利用该信号的后沿,在中断允许置1条件下,向系统输出中断请求信号IRQ。(3)DATA打印机接收数据信号。总共有8位,其数据为逻辑1时,处于高电位,逻辑0时处于低电位。系统向打印机输出8位打印数据的起始时间,只要在数据选通信号之前不少于0.5μs即可。而数据的消失时间要确保在信号撤消后不少于0.5μs。(4)打印机数据选通信号。当系统检测到打印机准备就绪(BUSY无效,或有效)时,通过对控制寄存器最低位瞬时置1,经反相输出负脉冲。该脉冲至少保持0.5μs(在打印机一侧)。在此期间,打印机将数据线DATA的8位信息取入到内部缓冲器中。与此同时,打印机的BUSY线置为高电平,表示处于数据输入状态。通过以上的分析,我们可以得到以下结论:微机在操作打印机时,控制口寄存器只有3种状态:xxx01100B(联机,不自动换行)、xxx01000B(联机,不自动换行,正在进行初始化)及xxx01101B(联机,不自动换行,数据选通)。xxx01100B(联机,不自动换行)是当主机对打印机无有效操作时采用的一种缺省状态,主要是使打印机的联机控制线处于低电平的有效状态,维持主机与打印机之间的连接状态。尽管并行口的3个端口都只能单向发送或接收数据,但将这3个端口结合一起操作却可实现数据的双向传送。正是基于这一思路,可以通过设计一定的并行口接口电路实现对数据的双向存取。而且,由于并行口可实现多位数据的同步发送和接收,这与CPU读写外部存储器的数据时是很类似的。3几种工作模式比较(1)标准口模式:在这种模式下,如前文所述,由于3个口只能单向操作,数据的接收靠状态口来完成,每次只能接收4bit,限制了通信速度。(2)EPP模式:EPP协议提供了4种数据操作周期:数据写周期、数据读周期、地址写周期、地址读周期。由于在EPP模式下,数据的收发均由数据口完成,并且对口的操作用单步指令完成,大大提高了工作速率。表1是并口各寄存器的定义。(3)ECP模式:对数据的操作,ECP只提供了2个周期,即数据周期和命令周期,由于其读写时序复杂,很少采用这种模式进行数据采集,况且在一般的数字通信领域,EPP模式足以满足要求,这里就不作介绍。4数据采集卡设计举例(标准模式)目前,标准口模式是并口中最简单的工作模式。前面说过,要在标准口模式下进行通信而又同时能保证打印机正常工作。那么,打印机所要占用的控制口寄存器的3种控制字就不能被破坏。数据采集卡原理如图4所示。这样,(相对微机)数据的发送靠数据口来完成,数据的接收靠状态口来完成,(每个字节的数据需要读两次,而数据的发送每字节一次完成),控制口用译码器扩展后,只要保留打印机所需的3组控制字,剩下的13组控制字足以完成对数据通信的控制。基于以上原理,通信口中还可以自行设计并口扩展电路,保证在进行数据采集的同时,能完成打印机的正常操作。
本文标题:并行口在通信中的应用
链接地址:https://www.777doc.com/doc-2493217 .html