全自动打印机共享器

🏠 首页 《无线电》杂志 1993年 🔗 第9期 🔗 第28页 分类:无线电技术自学经验交流 🔗 王洪伟 🔗

为提高打印机的利用率,可以使两台或两台以上的计算机共用一台打印机,这就需要用到打印机共享器。本文介绍一种二对一的打印机共享器,根据本文所介绍的原理,也可以方便地将它扩展为多对一的共享器。

一、打印机并行口介绍

计算机与打印机通常都采用并行口联接方式。图1为打印机的标准并行口的接口信号图。其中②~⑨芯为计算机向打印机输出的数据信号,①、为计算机向打印机输出的控制信号,⑩~芯为打印机向计算机反馈回来的控制信号,其余的为电源信号或空脚。STROBE-(①芯),ACK-(⑩芯)和BUSY(芯)控制计算机与打印机间的数据传送。只有当计算机接收到ACK-信号或BUSY信号电平为低时才能向打印机输出数据。STROBE-信号用来通知打印机接收数据。

图1
图1 🔍原图 (874×797)

二、电路工作原理

电路原理图见图2。电路由主控电路和两个分机电路构成。IC3、IC4和IC5等构成主控电路。分机电路1由IC1和IC2等构成。分机电路2与分机电路1完全一样。CZ1和CZ2为36芯并口插座,CZ1接第一路微机,CZ2接打印机。两台微机与打印机之间通过总线进行数据交换。由于并口信号中除电源信号和空脚外的其余16芯都有高低两个逻辑状态,因此总线是16位的。在主控部分,IC5:A为\(\frac{1}{2}\)HC123,它构成一个可重触发的单稳态电路,暂态时间可通过电位器RP在0.45s~23s间调整。IC4为施密特型四2输入与非门74HC132,其中IC4:A构成一个多谐振荡器,振频约3Hz,IC3:A为1;274HC73,它构成由下降沿触发的J-K触发器。IC1和IC2为两片三态八缓冲器74HC541,它们的E2—端连在一起引出作为第一路的选通线接至IC3:A的Q端,第二路的选通线接至IC3:A的Q端。

图2
图2 🔍原图 (1771×1562)

电路的工作过程是这样的:平时,单稳态电路处于稳态,IC5:A的Q端输出高电平,多谐振荡器起振,J-K触发器在振荡信号作用下不断翻转,其Q、Q-端交替输出低电平,从而形成对两路分机的扫描,被选中的一路微机的并口与总线相连,可以进行数据传递,而未被选中的一路则与总线完全隔离。不妨设某一瞬间第一路被选中,若此时正好有数据从第一路微机传来,则打印机在收到信号后将BUSY信号由低变高,表示“忙”,CZ2的脚输出高电平,单稳态电路受触发后进入暂态过程,其Q-端输出低电平,使得多谐振荡器停振,J-K触发器进入保持态,于是电路锁定在第一路分机上,这时第一路微机与打印机之间可进行各种通信,由于IC4:D输出高电平,打印机的BUSY信号可以畅通无阻地传至第一路微机。由于微机与打印机间的通信速度较快,所以CZ2的脚频繁出现高低变化,使单稳态电路不断被重新触发,保证了在通信期间,电路锁定。当微机数据送完后,CZ2的脚变低,单稳态电路经一段延迟后,进入稳态,Q端输出高电平,于是主控电路又开始对分机电路进行扫描。

值得一提的是,在扫描选中第一路后,在多谐振荡的前半周,IC4:D输出高电平,这时若打印机“不忙”,第一路微机是可以向打印机输出数据的。但在多谐振荡的后半周,IC4:D输出低电平,使IC4:B输出高电平,这时计算机将认为打印机处于“忙”态,而不能向打印机传送数据,这主要是为了防止“错锁”。因为如果计算机碰巧在多谐振荡的后半周将要结束之前向打印机输出数据,则当打印机收到信号并将BUSY信号变高时,扫描电路可能已经切换到了另一路,这就会造成“错锁”。

另外,当控制打印的软件在向打印机传送数据的过程中存在长时间的计算时,单稳态电路有可能因为没有及时的重触发而返回稳态,这时扫描电路切换到另一路分机,若正好另一路分机有数据输入,将造成打印错误。解决的办法是将暂态时间调大或告诉另一路分机在此期间不要进行打印操作。当然出现这种情况的概率是非常小的。

CZ1的脚的上拉电阻能使第一路在未被选中时,计算机不能向它输送数据。LED1用于选通指示。由于打印机并口上的+5V电源,一般都内串一个数k电阻,所以不能用来作为共享器的电源。应为共享器单独配制一可靠的+5V电源。(王洪伟)