CN1219256C - 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法 - Google Patents

用可编程门阵列对打印机控制器进行硬件逻辑配置的方法 Download PDF

Info

Publication number
CN1219256C
CN1219256C CN 03137082 CN03137082A CN1219256C CN 1219256 C CN1219256 C CN 1219256C CN 03137082 CN03137082 CN 03137082 CN 03137082 A CN03137082 A CN 03137082A CN 1219256 C CN1219256 C CN 1219256C
Authority
CN
China
Prior art keywords
programming
fpga
printer
port
printer port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 03137082
Other languages
English (en)
Other versions
CN1462945A (zh
Inventor
徐忠良
陈文先
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Acer Computer (Shanghai) Co., Ltd.
Original Assignee
Shanghai Founder Technology Computer System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Founder Technology Computer System Co Ltd filed Critical Shanghai Founder Technology Computer System Co Ltd
Priority to CN 03137082 priority Critical patent/CN1219256C/zh
Publication of CN1462945A publication Critical patent/CN1462945A/zh
Application granted granted Critical
Publication of CN1219256C publication Critical patent/CN1219256C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供了一种采用FPGA对打印机控制器进行硬件逻辑配置的方法,打印机驱动程序或者设备驱动在每个开始打印作业时通过读取打印机状态来确定FPGA是否需要编程;当确认FPGA需要进行编程时,打开配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按FPGA的编程接口时序写入FPGA;编程成功完成后,FPGA将获得打印机端口的控制权,编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付FPGA。本发明的方法,省却了在生产调试阶段的编程环节,取消了配置芯片,降低了成本;同时,用户可方便地完成修正或升级。

Description

用可编程门阵列对打印机控制器进行硬件逻辑配置的方法
技术领域:
本发明属于打印设备技术领域,尤其涉及用可编程门阵列(FPGA,即FieldProgramable Gate Array)对打印机控制器进行硬件逻辑配置的方法。
背景技术:
随着FPGA集成度的大幅提高(单片可达千万门级)及价格的大幅下降(每千逻辑单元小于1美元),FPGA越来越多地被应用在打印机控制器上,特别是当打印机控制器的量产不能达到大批量时(如小于100K/年),采用FPGA比投产ASIC芯片更合算;另外采用FPGA还可以在投产后的打印机控制器硬件设计进行修正或升级而无须更换打印机控制器,减少投产ASIC芯片的风险,同时可以缩短产品的设计周期。
对打印机控制器的硬件逻辑配置,是通过对FPGA进行编程实现的。如图1所示,对于FPGA编程,在生产的调试阶段,可以通过JTAG编程端口进行编程,JTAG编程方式是对FPGA直接编程。在产品上,是用配置芯片的方式进行编程,在打印机每次上电时,FPGA通过自带的编程接口自行读取存放在配置芯片的文件,从而对FPGA进行编程;打印机每次掉电时,FPGA的编程即删除。总之,无论是JTAG编程方式还是配置芯片编程方式,都需要专用编程器和专用软件工具。
具体到采用FPGA进行硬件逻辑配置的打印机控制器,尽管在修正或升级硬件设计时无须更换整个打印机控制器,但是,需要对FPGA重新编程,必须打开打印机机壳替换相应的配置芯片,并由专业人员才能完成修正或升级工作。因此,这种对打印机控制器硬件逻辑进行配置的方法,不仅成本高,而且用户无法自己对打印机控制器进行修正和升级。
发明内容:
本发明的目的是:针对采用FPGA设计的打印机控制器,提供一种成本降低、用户能够方便地进行修正和升级的硬件逻辑的配置方法。
本发明的技术方案如下:
采用FPGA对打印机控制器进行硬件逻辑配置的方法,实现过程是:
1.在指定目录下存储配置文件。
2.打印机驱动程序(如:打印监控器程序)或者设备驱动在每个开始打印作业时通过读取打印机状态(如用GetDeviceID)来确定FPGA是否需要编程,打印机控制器每次上电后需要编程,因此在开始打印作业时(如在StartDocPort()函数中)判断是否要编程,若控制器上电后第一次打印作业则进行编程。
3.当确认FPGA需要进行编程时,打印机驱动程序或者设备驱动负责打开指定目录下的配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按FPGA的编程接口时序写入FPGA(编程接口时序由FPGA供应商提供)。写配置文件过程中可能需要插入一些配置相关的命令(如:加入‘FPGA配置开始命令’,‘FPGA配置结束命令’)。当打印机驱动程序或设备驱动完成写配置文件后,检测编程是否成功(如用GetDeviceID函数)。如果编程不成功,可以进行第二次编程,再次检测编程是否成功;若还是失败,打印监控程序提示错误信息。
4.在FPGA编程成功完成后,FPGA将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付FPGA(例如,打印机端口采用IEEEE1284端口时,具体可用FPGA的CfigDone信号控制,如图4所示)。
一般情况下,都是打印机驱动程序或者设备驱动负责判断FPGA是否需要编程并进行写配置文件。当打印机被作为一PnP(即插即用)设备时(如USB打印机),也可以将编程操作设计在设备驱动的StartDevice例程中。
所述打印机端口可以是IEEE1284端口、USB端口、Standard TCP/IP端口及其它打印机协议端口。
本发明方法采用的编程方式类似如图1所示的JTAG编程方式,通过打印机端口完成编程过程而无须专用软件工具和硬件编程工具。如图2所示,本方法实质是将专用编程软件的工作设计在打印机驱动程序(如:打印监控器程序或打印设备驱动程序)中,并加入一些和打印机驱动程序相关的控制,使编程过程能随打印过程一起按要求自行完成(如:通过读取打印机状态GetDeviceID来确定FPGA是否需要编程、加入PJL命令‘FPGA配置开始命令’和‘FPGA配置结束命令’等);将硬件编程工具的硬件电路或实现该电路功能的模块设计在打印机控制器上。
本发明的优点和积极效果:本发明对打印机控制器进行硬件逻辑配置的方法,省却了在生产调试阶段对FPGA的编程这一环节;同时也取消了配置芯片,生产时无须用专用编程器和专用软件工具写配置芯片进行编程,降低了成本。用户在安装打印机时,只需运行相应的配置文件,即可完成对打印机控制器的硬件逻辑配置。由于采用了本发明的硬件逻辑配置方法,如果需要修正或升级当前打印机控制器,打印机用户只需要在自己的主机上运行打印机控制器开发商提供的修正文件或升级文件,修正文件或升级文件将更新当前存放在指定目录下的配置文件(编程文件),重新启动打印机即可方便地完成修正或升级,无需专业人员提供现场服务。
附图说明:
图1为现有FPGA编程示意图。
图2为本发明基于FPGA的打印机控制器编程部分示意图
图3为打印机端口为IEEE1284时实现FPGA芯片编程的示意图;
图4示出采用单片机作为硬件编程电路实现FPGA芯片编程的示意图。
具体实施方式:
本部分给出本发明的一个具体的实例。实例中使用的打印机端口可以为IEEE1284端口、USB端口或Standard TCP/IP端口。
对于IEEE1284端口、Standard TCP/IP端口,实例中将编程函数ConfigFpga()的调用设计在端口监控器程序的StartDocPort()函数中;对于USB端口,实例中将编程函数ConfigFpga()的调用设计在USB设备驱动程序的StartDevice()中,因为USB端口的打印机是一PnP设备,因此对于FPGA,在StartDevice()中无条件调用ConfigFpga()。
编程函数ConfigFpga()执行下述操作:
1.在每个开始打印作业时通过读取打印机状态来确定FPGA是否需要编程,若打印机控制器是上电后第一次打印作业则进行编程;
2.当FPGA编程完成以后,检测编程是否成功(如用GetDeviceID函数);
3.在FPGA编程成功以后,FPGA将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付FPGA。
实例中编程硬件电路或能实现编程的模块,由一单片机(如89C51)实现(如图3所示)。单片机实现FPGA的编程是用软件仿真的方式实现:
1.对于IEEE1284端口,单片机的数据总线和IEEE1284的总线相连,用P2口与控制线相连(只须实现兼容模式),用程序仿真控制信号,将编程数据读入。数据读入后同样用程序仿真编程接口的时序将数据写入FPGA。
2.对于USB端口及Standard TCP/IP端口:单片机按协议接口芯片的时序将编程数据读入,数据读入后用程序仿真编程接口的时序将数据写入FPGA(同上)。
编程硬件电路或能实现编程的模块通过总线缓冲或总线接口模块与打印机端口协议通信:
1.如图3所示,对于IEEE1284端口,该模块是总线缓冲电路及二选一电路;
2.对于USB端口及Standard TCP/IP端口,该模块分别是USB接口芯片及TCP/IP网络协议接口芯片。

Claims (5)

1.用可编程门阵列对打印机控制器进行硬件逻辑配置的方法,其特征在于,包括如下步骤:
(1)在指定目录下存储配置文件;
(2)打印机驱动程序或者设备驱动在每个开始打印作业时通过读取打印机状态来确定FPGA是否需要编程,若打印机控制器是上电后第一次打印作业则进行编程;
(3)当确认FPGA需要进行编程时,打印机驱动程序或设备驱动负责打开指定目录下的配置文件、读该文件、写到相应的打印机端口,由打印机控制器内置的编程硬件电路或能实现编程的模块负责打印机端口的数据通讯,并将打印机端口写入的配置文件数据按FPGA的编程接口时序写入FPGA;完成写配置文件后,检测编程是否成功;
(4)在FPGA编程成功后,FPGA将获得打印机端口的控制权,此时编程硬件电路或能实现编程的模块将打印机端口的通讯工作交付FPGA。
2.如权利要求1所述的方法,其特征在于,所述打印机端口采用IEEE1284端口,并与所述编程硬件电路或能实现编程的模块通过总线缓冲电路及二选一电路协议通信。
3.如权利要求1所述的方法,其特征在于,所述打印机端口采用USB端口,并与所述编程硬件电路或能实现编程的模块通过USB接口芯片协议通信。
4.如权利要求1所述的方法,其特征在于,所述打印机端口采用StandardTCP/IP端口,并与所述编程硬件电路或能实现编程的模块通过TCP/IP网络协议接口芯片协议通信。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述编程硬件电路或能实现编程的模块采用单片机。
CN 03137082 2003-06-18 2003-06-18 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法 Expired - Fee Related CN1219256C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03137082 CN1219256C (zh) 2003-06-18 2003-06-18 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03137082 CN1219256C (zh) 2003-06-18 2003-06-18 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法

Publications (2)

Publication Number Publication Date
CN1462945A CN1462945A (zh) 2003-12-24
CN1219256C true CN1219256C (zh) 2005-09-14

Family

ID=29748536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03137082 Expired - Fee Related CN1219256C (zh) 2003-06-18 2003-06-18 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法

Country Status (1)

Country Link
CN (1) CN1219256C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
CN102404539A (zh) * 2010-09-14 2012-04-04 北京首科软件及系统集成有限责任公司 新型移动可打印视频执法终端系统
CN102393810A (zh) * 2011-07-20 2012-03-28 上海杉德金卡信息系统科技有限公司 利用fpga实现对热敏打印机的打印控制方法
CN105446753A (zh) * 2014-07-02 2016-03-30 北大方正集团有限公司 配置文件的处理方法及装置

Also Published As

Publication number Publication date
CN1462945A (zh) 2003-12-24

Similar Documents

Publication Publication Date Title
CN102999350B (zh) 一种数字信号处理平台中fpga程序升级在线下载方法
KR101959359B1 (ko) 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
CN101937340B (zh) 使用补丁对软件进行动态升级与控制的方法和装置
CN200976140Y (zh) 一种用于现场可编程门阵列位文件升级的系统
CN101655802B (zh) 一种文件的批量下载系统及其方法
CN1622038A (zh) 一种通过因特网对打印设备进行自动升级的方法
CN1219256C (zh) 用可编程门阵列对打印机控制器进行硬件逻辑配置的方法
CN101634960A (zh) 一种修改bios参数及重新生成校验和的方法
CN100530146C (zh) Bios在线烧录方法
CN1219262C (zh) 一种打印机
CN107526614A (zh) Fpga开发板及其通信方法
CN1176411C (zh) 一种对打印机控制器进行硬件逻辑配置的方法
CN112612500A (zh) 一种升级bmc的方法、装置、电子设备及存储介质
CN1770119A (zh) 嵌入式设备调试方法及其调试工具
US20080263541A1 (en) Computer-readable recording medium for recovery of software
CN1294489C (zh) 单片机程序升级方法
CN110001553B (zh) 一种汽车四向可调转向操纵装置、控制器下载方法
CN1180869A (zh) 控制具有热切换功能的计算机系统的设备和方法
CN112463129A (zh) 一种汽车电动尾门ecu控制器软件架构的实现方法
CN1729450A (zh) 封装的硬件配置/控制
CN1991780A (zh) 模块化测试方法及其装置
JPH10222220A (ja) リモート診断システム
CN115934139B (zh) 一种fpga在线升级方法及系统
CN2864831Y (zh) 税控收款机软件升级器
JPS6238594A (ja) シ−ケンスプログラムのrom切り装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ACER COMPUTER (CHINA) CO., LTD.

Free format text: FORMER OWNER: BEIDA FANGZHENG SCIENCE + TECHNOLOGY COMPUTER SYSTEM CO., LTD., SHANGHAI

Effective date: 20101029

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100085 ROOM 204, SECONDARY BUILDING, FANGZHENG BUILDING, NO.9, SHANGDI STREET 5, HAIDIAN DISTRICT, BEIJING TO: 200001 3/F, NO.168, XIZANG MIDDLE ROAD, HUANGPU DISTRICT, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20101029

Address after: 3, No. 168 middle Tibet Road, No. 200001, Shanghai, Huangpu District

Patentee after: Acer Computer (Shanghai) Co., Ltd.

Address before: 100085, building 204, building nine, fangzheng building, five street, Haidian District, Beijing

Patentee before: Beida Fangzheng Science & Technology Computer System Co., Ltd., Shanghai

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050914

Termination date: 20190618

CF01 Termination of patent right due to non-payment of annual fee