支持外部设备输出汉字的计算机外接式汉卡 本发明涉及计算机汉字信息处理技术和计算机接口技术领域中支持外部设备输出汉字的方法及其汉卡。
在计算机汉字信息处理技术中,通常是在计算机上配置有汉卡,目前使用的汉卡存在两方面的不足:
1是针对不同总线系统设计制造的,安装于计算机机箱内的扩展插槽上。使用这样的汉卡时,需要占用计算机的一个扩展插槽,需要占用计算机的内存地址和端口地址这样系统资源,这样的汉卡不能适用于不同总线系统的计算机,安装使用不方便。
2对汉卡的操作是由计算机的CPU控制,通过发送地址信息,存取固化于汉卡上MASKROM阵列中字形数据,且汉卡本身不支持从绘图仪输出矢量汉字,或者从打印机上输出汉字。也就是说,汉卡本身不具有对外部输出设备的控制管理功能。
中国专利CN1079560A公开的“计算机汉卡外接技术及其外接式汉卡”,该汉卡外接于计算机的CENTRONIX并行接口上,有效地解决了一般插于计算机扩展插槽上汉卡的不足;但该汉卡仍由CPU操作控制,其本身不具有支持外部设备输出汉字功能。
中国专利CN1040690A公开的“微机汉字脱机打印法及脱机打印卡”,不具有汉卡的功能,仅支持从打印机输出点陈汉字,不支持从绘图仪或其它输出设备输出矢量汉字,并且是置于微机计算机的扩展插槽上,存在着占用系统资源问题和对不同总线系统的兼容性问题。
本发明的目地是提出一种不占用计算机扩展插槽,也不占用其它系统资源,不受计算机系统总线限制的并且具有支持打印机及绘图仪等外部设备输出汉字的汉卡。
由于计算机上均配置有CENTRONIX打印机并行接口,该接口用于连接打印机或绘图仪等输出设备。通过对接口中数据输入寄存器或数据输出寄存器的读入操作或写入操作,可实现八位数据的输入或输出;对接口中输出控制寄存器的写入操作,可实现五位控制数据信息的输出;以及对接口中输入缓冲器的读操作,可实现四位控制数据信息的输入:对接口中状态寄存器的读操作,实现五位状态信息的输入。一般情况下,使用该接口作为单向的传输接口,完成从计算机的CPU向外部输出设备的数据传送。在与外部设备的连接方面,使用DATAO……DATA7八位数据线,-STROBE、-AUTOFDXT、-INIT四根控制输出线,以及BUSY、-ACK、PE、-ERRDR、-SLCTIN五根状态输入线。
在计算机上使用的汉卡,由CPU对其操作控制,其数据流向是双向的,一方面,由CPU向汉卡发送控制信号和字库中字形数据的地址;另一方面,还要将汉卡上字形数据读入内存,做进一步的处理。
这里,为了使汉卡具有支持外部输出设备输出汉字的功能,这就要求汉卡能接收主机CPU发送的控制代码及汉字内码,并根据当前控制代码的要求,对字形数据进行加工处理,再向外部输出设备发送加工处理后的数据信息,从而在输出设备上输出汉字。为了实现上述功能,可以考虑使用计算机的CENTRONIX打印机并行接口作为汉卡接口,并在汉卡上安装CPU。
本发明的目的是这样实现的:利用计算机的CENTRONIX打印机并行接口接连接汉卡,并使用该并行接口完成主机与汉卡的通讯,汉卡上包括有字库芯片,与主机产并行工作的CPU,数据锁存器件,总线驱动器件和逻辑电路。主机对汉卡的操作读取汉卡上字库芯片的字形数据,是通过与汉卡上CPU的双向通讯来完成,或者主机向外部设备输出数据时,同样通过主机与汉卡CPU的通讯来完成。主机与汉卡上CPU通讯时,利用并行接口的数据线由主机向汉卡传送数据信息;利用并行接口的状态线由汉卡向主机传送汉卡上字库中字形数据;利用并行接口控制线和状态线作为主机与汉卡CPU的通讯联络信号。
汉卡上字库芯片MASKROM固化有汉字字模的点阵数据,或者固有汉字笔划的矢量数据;汉卡CPU采用具有多个I/O端口的单片机,连同数据锁存器件、只读存储器和随机存储器构成了汉卡上单片机基本系统;汉卡上逻辑电路和译码器件用于汉卡CPU与主机通讯或者是汉卡CPU与外部输出设备通讯时的控制信号的形成,以及对信号的逻辑切换。汉卡只读存储器固化有单片机运行的监控程序,该监控程序完成两方面的通讯功能,与主机通讯一面,接收主机通过并行接口向汉卡发送的字形代码和汉字内码,形成汉字字形数据的地址,读取汉卡字库芯片中字形数据,分高低四位通过并行接口状态线中任意四根回传给主机;或者接收主机通过并行接口发送的控制代码和汉字内码,并对其进行加工处理,进行汉字点阵数据的排版运算,或者进行汉字矢量笔划的放大旋转变换运算,形成外部设备可接收的字形数据。与外部设备通讯一面,向外部输出设备发送加工处理后的字形数据,从外部输出设备输出汉字。
本发明的效果是:支持外部设备输出汉字的汉卡,外挂连接于计算机CENTRONIX打印机并行接口,因而不受计算机系统总线的限制,可在配置有CENTRONIX打印机并行接口的计算机上使用,具有良好的兼容性;由于汉卡上安装有CPU,能接收主机发送的控制代码、汉字内码,从而提高计算机输出效率,汉卡CPU能对字库中字形数据加工、处理,可支持从点阵打印机输出点阵汉字,以及从给图仪等输出设备输出矢量汉字。
下面结合附图和实施例对本发明作详细说明。
图1为本发明的电路组成框图;
图2为本发明的一个实施例的电路图。
图1中汉卡上的单片机3和锁存器4、EPROM只读存储器5,随机存储器6构成了汉卡上单片机基本系统;由于固化汉字字模点阵数据和矢量笔划数据需要较大存储空间,从而必须提供大的寻址能力,这里使用MASKROM字库芯片7固化汉字字形数据,由数据锁存器9提供对字库芯片7寻址访问时的片选信号及高位地址信号,并由译码器件2输出信号中一个信号作为控制数据锁存器件9工作时打入信号,实现对单片机存储空间的扩展。
计算机的CENTRONIX并行接口中,其输出控制线的“选通”信号-STROBE用于将接口数据线的信号输出到外部输出设备,“初始化”信号-INIT用于对外部设备的初始化复位操作,而“自动进纸”信号-AUTOFDXT和“打印机输入选择”-SLCTIN信号在正常工作,使用并行接口传送数据时,其状态保持不变。即-AUTOFDXT信号保持为高电平,-SLCTIN信号保持为低电平。由此,使用并行接口12中-AUTOFDXT信号作为主机读取汉卡字形数据的控制信号,-SLCTIN信号反向后与-AUTOFDXT信号进行逻辑或后形成的信号连接至单片机I/O端口A中一个I/O位,作为单片机一个外部中断信号;对字形代码及汉字内码的传送则是通过并行接口[12]的数据线传送。并行接口12的数据线通过总线驱动器件1与单片机一个I/O端口B相连。主机读取汉卡字形数据时,首先将字形代码或汉字内码发送到并行接口12数据线上,再通过对并行接口12中输出控制寄存器的操作改变输出控制线-AUTOFDXT状态,形成对单片机的中断请求信号;单片机响应主机中断后,首先对I/O端口A中I/O位的操作,使得由译码器件2产生的其中一个译码信号作为总线驱动器件1的工作使能信号,总线驱动器1导通,再由单片机I/O端口B接收主机发送的字形数据或汉字内码数据。为了保证主机正确地向汉卡传送字形或汉字内码数据,发送数据前应查询汉卡上单片机的状态,使用并行接口12中BUSY“忙”状态线与单片机的I/O端口中一个I/O引脚相连,以便由主机读取并行接口12中状态寄存器来判断单片机当前状态。
由汉卡向主机回送字形数据时,使用并行接口12中-ACK、PE、-SLCTIN、-ERROR四个状态信号线,其中单片机的I/O端口A其中四个I/O位信号线通过逻辑切换电路10与并行接口12中状态信号线相连,逻辑切换电路10的另一组输入信号是外部输出设备的状态信号,逻辑切换电路10的控制端使用了打印机并行接口12中输出控制线-SLCTIN信号,在-SLCTIN信号为低电平信号时,外部输出设备状态信号至并行接口12的状态线信号导通,由主机正常读取外部输出设备的状态;而-SLCTIN信号为高电平时,汉卡上单片机I/O端口B中信号至并行接口12的状态线信号导通,向主机回送汉字字形数据,对于每个字节的数据分高、低四位两次传送。
汉卡上单片机向主机回送字形数据过程,同样是由单片机与主机的通讯完成的,由主机改变并行接口12中-AUTOFDXT信号的状态,形成对单片机的中断请求,单片机准备好字形数据时,通过改变I/O端口A中与BUSY信号相连的I/O位的状态,允许主机通过并行接口12状态线由状态寄存器读取字形数据。
由计算机发送输出的数据信息通过汉卡单片机再输出到外部输出设备,当汉卡上单片机接收主机发送的控制代码或汉字内码时,根据当前控制代码定义的字形,与汉字内码形成读取字库芯片7中字形数据的地址,若是从打印机一类点阵输出设备输出汉字时,对字形数据进行排版运算的加工处理,得到点阵图象数据发送给打印机输出汉字;或者从绘图仪一类矢量输出设备输出汉字时,对字形数据进行变换运算后,形成绘图仪命令,发送给绘图仪,输出汉字。
汉卡上单片机3接收主机发送的信息,是由并行接口12中-STROBE信号和-SLCTIN信号的逻辑或运算形成的信号Y1,对单片机的中断请求引起的,主机读取并行接口12状态寄存器检查BUSY位查看汉卡上单片机状态,决定是否发送下一数据信息;汉卡上单片机向外部输出设备发送数据信息时,其数据的输出由单片机I/O端口B完成的,对外部输出设备的“选通”控制信号是由译码器件2的其中一个译码输出形成的,外部输出设备的中的“忙”状态信号BUSY接至单片机3的I/O端口A的一个I/O引脚,由单片机对该I/O引脚的读操作,可检查外部输出设备的状态。
图2为本发明一个实施到的电路图。
汉卡CPU采用INTEL 8031单片机15,以及由74LS 373锁存器16、2764 EPROM可编程只读存储器17、6264 RAM随机存储器18构成了单片机基本系统:译码电路2和逻辑电路8使用G16V8器件,其中译码的输入引脚为I2、I3,对应于8031单片机15中的P3口的P3.4、P3.5两个I/O位,译码输出引脚为F0、F1、F2、和F3,而对于逻辑功能实现中,对应于G16V8器件的输入引脚I4、I5、I6、I7,分别对应于并行接口12中输出控制线-STROBE、-SLCTIN、-INIT、-AUTOFDXT四个信号,输出引脚为F4、F5;并行接口12和13均为CENTRONIX标准接口。
ROMMASK阵列采用四片AEN624017F字库芯片19,对AEN624017F的访问时A0…A15地址线信号由单片机15的P0口和P2口提供,A16…A19、D/A地址引脚的信号由74LS 373锁存器21的低五位Q0…Q4输出提供,四片AEN624017F字库芯片19的片选端信号由74LS 138译码器22的输出Y0…Y3提供,其输出的Y4、Y5作为EPROM 2764只读存储器17和6264 RAM随机存储器的片选信号。锁存器21的输入由单片机15的P1口提供,其锁存控制端使用了G16V8器件的F1输出端,锁存器21的输出Q5…Q7为译码器22的输入。
逻辑切换电路使用的74HCT157逻辑切换器件20,其输入为两组,一组是单片机15有P1口的低四位输出P1.0…P1.3 ;另一组输入为并行接口13的状态信号-PE、-ERROR、SLCT、-ACK。器件20的输出接至并行接口12的状态线-PE、-ERROR、SLCT、-ACK,其逻辑切换控制端-A/B使用了并行接口12的输出控制线-SLCTIN。
单片机15与并行接口12的通讯中,并行接口的数据线DATAO…DATA7通过74LS 244总线驱动器件14与单片机15的P1口相连,总线驱动器件14的导通允许控制端使用G16V8的输出引脚F0,这样,便可由单片机15的P1口接收主机发送的数据信息。单片机15的P3口的P3.2位与并行接口12的状态线BUSY相连,通讯时,通过并行接口12向主机提供汉卡单片机现行状态;并行接口12的输出控制信号-STROBE、-SLCTIN为G16V8器件的输入,其逻辑或产生的输出F4接至单片机15的P3口的P3.0引脚,使得当并行接口12中-STROBE、-SLCTIN两信号均为低电平时,对单片机15产生INTO中断,向外部设备输出数据信息;并行接口12的输出控制信号-SLCTIN、-AUTOFDXT同样为G16V8器件的输入信号,-SLCTIN的非和-AUTOFDXT的逻辑或产生的输出F5接至单片机15的P3口的P3.1引脚,由F5输出产生的中断INT1表明主机从汉卡读取字形数据。对字形数据的回送,则由单片机15的P1口的P1.0…P1.3四个I/O位分两次传送。
单片机15与并行接口13的通讯中,由单片机P1口与并行接口13的数据线DATA0…DATA7相连,以便由单片机15的P1口向外部设备发送数据信息;并行接口的状态信号BUSY接至单片机15的P3口的P3.3位,单片机15通过检查P3.3 I/O位了解并行接口13的状态;由单片机15对并行接口13的“选通”信号-STROBE使用了GAL16V8器件的F2输出引脚。