CN1196064C - 一种对打印设备上的数据流进行管理和控制的方法 - Google Patents

一种对打印设备上的数据流进行管理和控制的方法 Download PDF

Info

Publication number
CN1196064C
CN1196064C CN 03121288 CN03121288A CN1196064C CN 1196064 C CN1196064 C CN 1196064C CN 03121288 CN03121288 CN 03121288 CN 03121288 A CN03121288 A CN 03121288A CN 1196064 C CN1196064 C CN 1196064C
Authority
CN
China
Prior art keywords
data
data stream
sdram
module
interface
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 03121288
Other languages
English (en)
Other versions
CN1439972A (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 03121288 priority Critical patent/CN1196064C/zh
Publication of CN1439972A publication Critical patent/CN1439972A/zh
Application granted granted Critical
Publication of CN1196064C publication Critical patent/CN1196064C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

本发明提供了一种对打印设备上的数据流进行管理和控制的方法,步骤为:打印数据流经打印机数据输入接口进入打印机接口协议模块;端口仲裁模块对输入端口进行管理,端口仲裁;对打印数据的页结束字符串进行监控,为存储器管理模块提供页计数;数据流通过SDRAM接口存储到SDRAM中,并由存储器控制模块对SDRAM进行存储管理;通用处理器通过SDRAM接口读取存储器的数据并分析作业头文件和页头文件,根据文件内容对机芯进行初始化和必要的设置,之后启动命令解释和数据解压缩模块,获得SDRAM的读控制权,读取包含压缩指令和压缩数据的数据流,根据压缩指令对压缩编码进行还原;重复处理过程直到通用处理器处理到光栅化打印数据流中的作业结束命令字符串后结束该打印过程。

Description

一种对打印设备上的数据流进行管理和控制的方法
技术领域
本发明涉及一种对打印设备上的数据流进行管理和控制的方法。
发明背景
目前市场上大多数中低端激光打印机采用光栅化打印数据流进行打印控制,而其中的绝大多数打印机控制器是采用通用处理器或通用处理器为内核的打印机专用处理器;用通用处理器或用通用处理器为内核的打印机专用处理器处理光栅化打印数据流的过程是:用通用处理器的DMA通道将端口的光栅化数据流(经编码压缩)存入打印机控制器的内存,通用处理器需要对光栅化数据流进行多次处理,每次处理都需要对内存进行读写,由于通用处理器在解压缩还原光栅化数据处理时很难达到实时输出的要求,因此需要将光栅化还原数据存还内存。这样在要求一定的打印速度条件下需要通用处理器具有相当高的性能,同时内存管理比较复杂。为了平滑端口传输速度、提高打印速度,需要在内存中缓冲多页数据,因此对内存要求较高。
由于通用处理器不但要进行命令解释和数据解压缩等工作,而且要实时保持与主机的通讯并对打印硬件进行管理和配置,同时还要负责内存的管理,这使得通用处理器的工作负担过大,需要较高的成本投入,才能满足其性能上的要求。
发明内容
针对上述普通打印机在打印过程中所存在的问题和不足,本发明的目的是提供一种对打印设备上的数据流进行管理和控制的方法。通过实施该方法,能够有效的解决打印数据在存储器中进行多次存储的问题,从而更好的满足了实时性的要求。同时,设计一种独立的存储器控制方法对内存进行管理,以减轻通用处理器的工作负担。
为了达到上述目的,本发明设计了一种对打印设备上的数据流进行管理和控制的方法,所述打印设备包括:打印机数据输入接口、打印机接口协议模块、端口仲裁模块、SDRAM接口、SDRAM(同步随机存储器)、存储器控制模块、通用处理器、命令解释和数据解压缩模块、打印设备机芯接口及打印机机芯。所述方法包括如下步骤:
将经过打印驱动程序、打印处理器程序、语言监控器程序处理后形成的打印数据流通过所述打印机数据输入接口进入打印机接口协议模块。
所述端口仲裁模块负责对输入端口进行管理,端口仲裁。
对所述打印数据的页结束字符串进行监控,为所述存储器控制模块提供页计数。
所述数据流通过所述SDRAM接口存储到所述SDRAM中,并由所述存储器控制模块对所述SDRAM进行存储管理。
当所述SDRAM中的数据流大于或等于一页时,所述通用处理器通过所述SDRAM接口读取存储器的数据并分析作业头文件和页头文件,(1)根据文件内容对机芯进行初始化和必要的设置,之后启动所述命令解释和数据解压缩模块。(2)页内的光栅化打印数据流经命令解释和数据解压缩模块处理还原成可打印的光栅化数据。重复(1)和(2)处理过程直到所述通用处理器处理到光栅化打印数据流中的作业结束命令字符串后结束该打印过程。
还原后的光栅化数据流由打印机机芯接口按机芯相关的输出格式进行输出。
其特征在于,在所述通用处理器对打印作业的头文件和页头文件完成分析,并且对打印机的机芯进行设置后,所述命令解释和数据解压缩模块获得所述SDRAM的读控制权,读取包含压缩指令和压缩数据的数据流,根据压缩指令对压缩编码进行还原。
更具体来说,所述存储器控制模块将所述SDRAM控制为一环形存储器,该控制模块包括三个内存管理单元:写指针(lpWrite)、读指针(lpRead)和当前打印页开始位置指针(lpCurrentJob);所述写指针(lpWrite)指向数据流被写入存储器的位置,所述读指针(lpRead)指向数据流被读出存储器的位置,所述当前打印页开始位置指针(lpCurrentJob)指向当前打印页开始位置的位置;所述存储器控制模块根据所述三个内存管理单元的值及其相互关系确定对所述SDRAM进行读或写操作的地址,并指示所述SDRAM的状态。
由于本发明采用了与通用处理器相分离的命令解释和数据解压缩模块,因此能够保证一定的解压缩速度,而且能够达到实时解压缩实时打印的要求,从而避免了现有打印设备中打印数据需要多次存储的现象。
另外,本发明还采用了独立的存储器控制模块,用于对存储页面进行简单的控制,而不需要通用处理器对存储器进行管理,因此,减轻了通用存储器的负担。
由上述两点有益效果可以看出,由于通用处理器无需再对打印数据进行命令解释和解压缩,也无需对存储器内存进行管理,因此对于通用处理器的性能要求将大大降低,从而降低了成本开销。
附图说明
通过下面的详细描述和相应的本发明实施例的附图,将更加全面充分地理解本发明。当然,附图不应该被用来将本发明限定在特定的实例中,它只是起到解释和帮助理解的作用。
图1示出了采用本发明所述方法的打印数据流处理流程图。
图2示出了本发明所述方法的存储器环形管理的逻辑示意图。
具体实施方式
如图1所示,经过打印驱动程序、打印处理器程序、语言监控器程序处理后的光栅化打印数据流由PC机的并行端口或USB端口进入打印机控制器端口,先达到的光栅化打印数据流将获得打印处理权,处理权在整个作业打印完成后释放,未获得打印处理权的光栅化打印数据流将被禁止在端口;端口仲裁逻辑负责端口管理、端口仲裁。
对光栅化打印数据流的页结束字符串进行监控,给多页面环形存储管理模块提供页计数。
而后,该光栅化打印数据流进入SDRAM进行存储,存储后的光栅化打印数据流由存储器控制模块进行管理,当存储器中的数据流大于或等于一页时,通用处理器通过SDARM接口读取存储器的数据并分析作业头文件和页头文件,根据文件内容对机芯进行初始化和必要的设置,之后启动精简光栅化PCL解释器和数据解压缩模块。精简光栅化PCL解释器和数据解压缩模块被启动后获得SDRAM的读控制权,页内的光栅化打印数据流经PCL解释器和数据解压缩模块处理还原成可打印的光栅化数据,当一页完成后将SDRAM的读控制权释放,由通用处理器作页间的分析处理。重复这一处理过程直到通用处理器处理到光栅化打印数据流中的作业结束命令字符串后结束该打印过程。
还原后的光栅化数据流由打印机机芯接口模块按机芯相关的输出格式进行输出;在数据输出简单通用处理器可以同时与机芯保持通讯。
下面详细介绍本发明的命令解释和解压缩过程。根据优选的具体实施方案在简单通用处理器完成作业的头文件和页头文件分析、对机芯初始化设置后启动精简光栅化PCL解释器和数据解压缩模块,处理任务由该模块进行,该模块在获得SDRAM的读控制权后读取包含精简光栅化PCL压缩指令和压缩编码的数据流,根据压缩指令对压缩编码进行还原。为了提高压缩编码的效率采用了多种编码技术共用的编码,不同的编码方法由PCL指令指示;编码采用行内编码和行内分段技术,使压涨(压涨时用不压缩指令)范围限制到最小。一旦模块完成当前页处理(遇到页结束指令),模块将SDRAM的读控制权释放。
该模块能独立完成页内光栅化PCL指令的解释和数据解压缩,能确保一定的解压缩速度,保证实时解压缩打印。
下面将对照图2详细描述本发明优选的存储器管理方法。该方法是一种用于存储打印数据流的内存管理技术。将分配的一块内存视为环形存储器,内存管理模块(硬件模块)管理写指针lpWrite指向数据流被写入存储器的位置、读指针lpRead指向数据流被读出存储器的位置、当前打印页开始位置指针lpCurrentJob指向当前打印页开始的位置,三个指针像表针一样作“顺”时针旋转;lpWrite到lpCurrentJob的“顺”时针间隔表示“空”内存,这一区间可以接受新的数据流。若接收到‘作业开始’命令,lpCurrentJob=lpRead=lpWrite=0;当数据流被写入内存时lpWrite计数,此时lpWrite象表针作‘顺’时针旋转,当lpWrite达到该块内存的长度时lpWrite=0,象表针过‘12’后回零一样。当数据流被读出内存时lpRead计数,此时lpRead也象表针作‘顺’时针旋转,若一页数据输出后该页面需要‘拷贝’多份,内存管理模块在接收到CopyCommand(拷贝命令)后,将lpCurrentJob赋给lpRead,就象把lpRead‘逆’时针拨到lpCurrentJob的位置,当前页面数据将被重复输出一次。若当前页输出完成或‘拷贝’达到要求的份数后,内存管理模块将收到CurrentPagePrintedCom(当前页打印完成命令),管理模块将lpRead赋给lpCurrentJob,象把lpCurrentJob‘顺’时针拨到lpRead的位置,接着可以进行下一页的打印,此时上一次的页面数据将被遗弃。当lpRead达到该块内存的长度时lpRead=0,同lpWrite一样。该内存管理模块同时得到‘空’内存的长度(若分配的内存长度=2**N,MemoryEmptyLength=lpCurrentJob-lpWrite).N+1位自动溢出。PC机可以通过相应的命令获取包含‘内存状态’的‘打印控制器状态字符串’得到内存状态。
使用该环形存储管理打印数据流时无须考虑‘页面’格式,语言监控器程序只需要通过‘获取内存状态’命令得到‘空’内存状态(如是否有64k-bytede的‘空’内存)来确定数据流的是否需要继续传输,确保硬件通道不被阻塞,同时提高内存的使用效率,存储多个页面的压缩数据。
该方案内存管理简单,简单通用处理器只需根据分析页面头文件结果及当前页输出后发送‘作业开始’、‘拷贝’或‘当前页打印完成’等命令。
根据以上的描述,本领域的普通技术人员已经可以容易的实施本发明所述的方法。当然,上述发明可以在其它的特殊形式中得到具体实施,且并不背离所揭示的精髓或根本特征。因此可以理解,本发明不应被前面说明性的细节所限定,而是由附加的权利要求所定义。

Claims (8)

1.一种对打印设备上的数据流进行管理和控制的方法,所述打印设备包括:打印机数据输入接口、打印机接口协议模块、端口仲裁模块、SDRAM接口、SDRAM、存储器控制模块、通用处理器、命令解释和数据解压缩模块、打印设备机芯接口及打印机机芯;所述方法包括如下步骤:
将经过打印驱动程序、打印处理器程序、语言监控器程序处理后形成的打印数据流通过所述打印机数据输入接口进入所述打印机接口协议模块;
所述端口仲裁模块负责对输入端口进行管理,端口仲裁;
对所述打印数据的页结束字符串进行监控,为所述存储器控制模块提供页计数;
所述数据流通过所述SDRAM接口存储到所述SDRAM中,并由所述存储器控制模块对所述SDRAM进行存储管理;
当所述SDRAM中的数据流大于或等于一页时,所述通用处理器通过所述SDRAM接口读取存储器的数据并分析作业头文件和页头文件,(1)根据文件内容对机芯进行初始化和必要的设置,之后启动所述命令解释和数据解压缩模块;(2)页内的光栅化打印数据流经命令解释和数据解压缩模块处理还原成可打印的光栅化数据;重复(1)和(2)直到所述通用处理器处理到光栅化打印数据流中的作业结束命令字符串后结束该打印过程;
还原后的光栅化数据流由打印机机芯接口按机芯相关的输出格式进行输出;
其特征在于,在所述通用处理器对打印作业的头文件和页头文件完成分析,并且对打印机的机芯进行设置后,所述命令解释和数据解压缩模块获得所述SDRAM的读控制权,读取包含压缩指令和压缩数据的数据流,根据压缩指令对压缩编码进行还原。
2.如权利要求1所述的方法,其特征在于,所述存储器控制模块将所述SDRAM控制为一环形存储器,该控制模块包括三个内存管理单元:写指针(lpWrite)、读指针(lpRead)和当前打印页开始位置指针(lpCurrentJob);所述写指针(lpWrite)指向数据流被写入存储器的位置,所述读指针(lpRead)指向数据流被读出存储器的位置,所述当前打印页开始位置指针(lpCurrentJob)指向当前打印页开始位置的位置;所述存储器控制模块根据所述三个内存管理单元的值及其相互关系确定对所述SDRAM进行读或写操作的地址,并指示所述SDRAM的状态。
3.如权利要求2所述的方法,其特征在于,所述写指针与所述当前打印页开始位置指针之间的存储区域为可用区域;初始时所述三个内存管理单元的值置零;
当数据流被写入时,所述写指针进行计数,当其值达到了该内存区域的长度时,将该写指针置零;
当数据流被读出时,所述读指针进行计数,当其值达到了该内存区域的长度时,将该读指针置零,同时将此段存储区作为可用区域,将其值提交给所述存储器控制模块;
若当前页的数据需要多次复制,则使所述读指针的值等于所述当前打印页开始位置指针的值;当前页输出完成或按照指定次数复制完成后,使所述当前打印页开始位置指针的值等于所述读指针的值。
4.如权利要求2所述的方法,其特征在于,所述命令解释和数据解压缩模块中的命令为精简PCL指令集。
5.如权利要求4所述的方法,其特征在于,所述命令解释和数据解压缩模块根据所述精简PCL指令集中的指令所指示的压缩编码技术对相应的数据进行解压缩。
6.如权利要求1所述的方法,其特征在于,所述通用处理器为简单通用处理器,该简单通用处理器负责对USB包协议进行解释,对PJL命令进行解释执行,与主机进行通讯,以及对打印硬件进行配置。
7.如权利要求1所述的方法,所述打印机数据输入接口是IEEE 1284端口、USB接口或其他协议端口。
8.如权利要求7所述的方法,所述打印机接口协议模块是IEEE1284模块、USB模块或其他协议模块。
CN 03121288 2003-03-31 2003-03-31 一种对打印设备上的数据流进行管理和控制的方法 Expired - Fee Related CN1196064C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03121288 CN1196064C (zh) 2003-03-31 2003-03-31 一种对打印设备上的数据流进行管理和控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03121288 CN1196064C (zh) 2003-03-31 2003-03-31 一种对打印设备上的数据流进行管理和控制的方法

Publications (2)

Publication Number Publication Date
CN1439972A CN1439972A (zh) 2003-09-03
CN1196064C true CN1196064C (zh) 2005-04-06

Family

ID=27797241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03121288 Expired - Fee Related CN1196064C (zh) 2003-03-31 2003-03-31 一种对打印设备上的数据流进行管理和控制的方法

Country Status (1)

Country Link
CN (1) CN1196064C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753877B2 (en) 2009-11-30 2017-09-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with signal processing on general purpose processor
CN113138803B (zh) * 2021-05-12 2023-03-24 类人思维(山东)智慧科技有限公司 一种计算机编程用指令集存储系统

Also Published As

Publication number Publication date
CN1439972A (zh) 2003-09-03

Similar Documents

Publication Publication Date Title
US5993088A (en) Method for improving print performance and quality by accumulating, storing and using resource accounting information with a print job
EP0321547B1 (en) Electronic collation
EP0585522B1 (en) Page printer having automatic font compression
US5533175A (en) Low cost page printer system and method
US6665081B1 (en) Print system printer driver and printer
EP0578258A1 (en) Resource-oriented printer system and method of operation
JPH0798636A (ja) 分解能を自動的に低下させる装置及び方法
CN1031144A (zh) 存贮字符图形的方法和字符图形应用系统
CN108520489B (zh) Gpu中一种实现命令解析和顶点获取并行的装置和方法
JPH08503318A (ja) フォント・ラッピング・プリンタ・データに対するシステム及び方法
EP0772115B1 (en) System, output device, method, and computer-usable medium using a split printer driver to control a computer printer device
CN1184558C (zh) 一种打印设备
CN1687923A (zh) 一种排版文件的预处理方法
CN1196064C (zh) 一种对打印设备上的数据流进行管理和控制的方法
JPH09130262A (ja) データ圧縮伸張装置
CN1195797A (zh) 数字信号处理器中发送和接收异步串行数据的方法
US20010056442A1 (en) Information storage using tables and scope indices
CN1834892A (zh) 用于为打印作业数据提供索引数据的方法和系统
CN1093960C (zh) 适应性地调节超高速缓冲存储器对字形数据存储分配的方法和装置
US20040246510A1 (en) Methods and systems for use of a gradient operator
US20040012797A1 (en) Load balancing in image generation
US20130258374A1 (en) Parallel printing system
GB2330030A (en) Increasing printer speed by data reduction
CN1577240A (zh) 用于补救错误的打印方法和装置及计算机可读记录介质
JPH02159615A (ja) プリンタ装置のコントローラ

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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Peking Founder Group Co., Ltd.

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

Contract fulfillment period: 2007.10.8 to 2013.10.7 contract change

Contract record no.: 2008110000206

Denomination of invention: Data stream management and control method in printing device

Granted publication date: 20050406

License type: Exclusive license

Record date: 20081217

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2007.10.8 TO 2013.10.7; CHANGE OF CONTRACT

Name of requester: BEIJING UNIVERSITY FOUNDER GROUP CO.

Effective date: 20081217

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, Room 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: 20050406

Termination date: 20150331

EXPY Termination of patent right or utility model