一种对打印机控制器进行硬件逻辑配置的方法

文档序号:6364387阅读:357来源:国知局
专利名称:一种对打印机控制器进行硬件逻辑配置的方法
技术领域
本发明属于打印设备技术领域,尤其涉及用以并行走线的可编程逻辑器件CPLD(Complex Programmable Logic Device)对打印机控制器进行硬件逻辑配置的方法。
对于打印机控制器的硬件逻辑配置,是通过对CPLD进行编程实现的。如

图1所示,对于CPLD的编程,是在生产打印机控制器时,人工采用专用软件工具和硬件编程工具通过JTAG编程端口对CPLD直接编程。在打印机控制器产品售出后,如果需要对CPLD重新编程譬如修正或升级,必须打开打印机机壳,用专用软件工具和硬件编程工具进行重编程,需要专业维护人员才能完成重新编程工作。因此,这种对打印机控制器硬件逻辑进行配置的方法,不仅成本高,而且用户无法自己对打印机控制器进行修正和升级。
本发明的技术方案如下一种对打印机控制器进行硬件逻辑配置的方法,所述打印机控制器的硬件逻辑配置是通过可编程器件CPLD实现的,包括如下步骤1.在指定目录下存储配置文件,并在打印机相关目录的注册库中设置标志位;2.打印机驱动程序(如打印监控器程序)或者设备驱动在每个开始打印作业时通过读取注册库中的标志位确定CPLD是否需要重新编程,若注册库中设置标志位被设置则进行编程(编程可以在StartDocPort()函数进行)。
3.当确认CPLD需要重新编程时,打印机驱动程序(如打印监控器程序)或者设备驱动负责打开指定目录下的配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按CPLD的编程接口时序写入CPLD(编程接口时序由CPLD供应商提供)。过程中可能需要插入一些配置相关的命令(如加入“CPLD配置开始命令”,“CPLD配置结束命令”)。当打印机驱动程序或设备驱动完成写配置文件后,检测编程是否成功(如用GetDeviceID函数)。如果编程不成功,可以进行第二次编程,再次检测编程是否成功;若还是失败,打印监控程序提示错误信息。
4.在CPLD编程成功完成后,清相应注册库中的标志位。CPLD将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付CPLD。(例如,打印机端口采用IEEEE1284端口时,具体可用CPLD的CfigDone信号控制,如图3所示。)一般情况下,都是打印机驱动程序或者设备驱动负责判断CPLD是否需要编程并进行写配置文件。当打印机被作为一PnP(即插即用)设备时(如USB打印机),也可以将编程操作设计在设备驱动的StartDevice例程中。
所述打印机端口可以是IEEE1284端口、USB端口、Standard TCP/IP端口及其它打印机协议端口。
本发明方法采用的编程方式类似如图1所示的JTAG编程方式,通过打印机端口完成编程过程而无须专用软件工具和硬件编程工具。如图2所示,本方法实质是将专用编程软件的工作设计在打印机驱动程序(如打印监控器程序)或设备驱动中,并加入一些和打印机驱动程序相关的控制,使编程过程能随打印过程一起按要求自行完成(如通过读取注册库中的设置标志位来确定CPLD是否需要编程、加入PJL命令‘CPLD配置开始命令’和‘CPLD配置结束命令’等);将硬件编程工具的硬件电路或实现该电路功能的模块设计在打印机控制器上。
本发明的优点和积极效果本发明的对打印机控制器进行硬件逻辑配置的方法,打印机控制器在生产时无须用专用编程器和专用软件工具进行预编程,在安装打印机时或者打印机上电时,执行编程程序,完成对打印机的硬件逻辑配置。同时,如果需要升级或者修正当前打印机控制器,打印机用户只需运行打印机生产商提供的升级程序或者修正程序,升级程序或者修正程序将更新当前存放在指定目录下的配置文件(编程文件),并在打印机相关目录的注册库中设置标志位。执行打印机控制器厂商提供的配置文件即可完成对打印机控制器硬件逻辑的升级或者修正。
对于IEEE1284端口、Standard TCP/IP端口,实例中将编程函数ConfigCpld()的调用设计在端口监控器程序的StartDocPort()函数中;对于USB端口,实例中将编程函数ConfigCpld()的调用设计在USB设备驱动程序的StartDevice()中。因为USB端口的打印机是一PnP设备,因此对于CPLD,在StartDevice()中无条件调用ConfigCpld()。
编程函数ConfigCpld()执行下述操作1.在每个开始打印作业时通过读取注册库中的标志位来确定CPLD是否需要重新编程,若注册库中设置标志位被设置则进行编程;2.当CPLD编程完成以后,检测编程是否成功(如用GetDeviceID函数);3.在CPLD编程成功以后,清相应注册库中的标志位,CPLD将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付CPLD。
实例中编程硬件电路或能实现编程的模块实例中该模块由一单片机(如89C51)实现(如图4所示)。单片机实现CPLD芯片的编程是用软件仿真的方式实现。
1.对于IEEE1284端口,单片机的数据总线和IEEE1284的总线相连,用P2口与控制线相连(只须实现兼容模式),用程序仿真控制信号,将编程数据读入。数据读入后同样用程序仿真编程接口的时序将数据写入CPLD。
2.对于USB端口及Standard TCP/IP端口单片机按协议接口芯片的时序将编程数据读入。数据读入后用程序仿真编程接口的时序将数据写入CPLD(同上)。
编程硬件电路或能实现编程的模块通过总线缓冲或总线接口模块与打印机端口协议通信1.如图3所示,对于IEEE1284端口,该模块是总线缓冲电路及二选一电路;2.对于USB端口及Standard TCP/IP端口,该模块分别是USB接口芯片及TCP/IP网络协议接口芯片。
权利要求
1.一种对打印机控制器进行硬件逻辑配置的方法,所述打印机控制器的硬件逻辑配置是通过可编程器件CPLD实现的,包括如下步骤(1)在指定目录下存储配置文件,并在打印机相关目录的注册库中设置标志位;(2)打印机驱动程序或者设备驱动在每个开始打印作业时通过读取注册库中的标志位确定CPLD是否需要重新编程,若注册库中设置标志位被设置则进行编程;(3)当CPLD需要进行编程时,打印机驱动程序或者设备驱动负责打开指定目录下的配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按CPLD的编程接口时序写入CPLD;当打印机驱动程序或设备驱动完成写配置文件后,检测编程是否成功;(4)在CPLD编程成功完成后,清相应注册库中的标志位,CPLD将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付CPLD。
2.如权利要求1所述的方法,其特征在于,所述打印机端口为IEEE1284端口,与所述编程硬件电路或能实现编程的模块通过总线缓冲电路及二选一电路协议通信。
3.如权利要求1所述的方法,其特征在于,所述打印机端口为USB端口,与所述编程硬件电路或能实现编程的模块通过USB接口芯片协议通信。
4.如权利要求1所述的方法,其特征在于,所述打印机端口为Standard TGP/IP端口,与所述编程硬件电路或能实现编程的模块通过TCP/IP网络协议接口芯片协议通信。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述编程硬件电路或能实现编程的模块为单片机。
全文摘要
本发明提供了一种采用可编程器件CPLD对打印机控制器进行硬件逻辑配置的方法,包括如下步骤在指定目录下存储配置文件,并在打印机相关目录的注册库中设置标志位;打印机驱动程序或者设备驱动在每个开始打印作业时通过读取注册库中的标志位确定CPLD是否需要重新编程;当确认需要编程时,打开配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按CPLD的编程接口时序写入CPLD;编程成功后,清注册库中的标志位,CPLD将获得打印机端口的控制权,打印机端口的通讯工作交付CPLD。采用本发明的方法,生产时无须对CPLD进行预编程,在安装打印机或打印机上电时完成逻辑配置。
文档编号G06F1/00GK1462916SQ03137080
公开日2003年12月24日 申请日期2003年6月18日 优先权日2003年6月18日
发明者徐忠良, 陈文先 申请人:上海北大方正科技电脑系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1