喷墨打印控制装置的制作方法

文档序号:6434985阅读:139来源:国知局
专利名称:喷墨打印控制装置的制作方法
技术领域
本发明涉及一种喷墨打印控制装置,尤指一种利用简易指令读取分散的打印数据的喷墨打印控制装置。
背景技术
由于多媒体快速普及,可提供彩色打印的喷墨打印机亦随着走入许多家庭。由于喷墨打印机可以一次打印多行,且配合喷墨头的喷孔排列的机械特性或其它硬件特性,打印影像数据并非从上到下,一条线一条线地次序抓取,而通常有一些规则或不规则性跳行,此需由喷墨打印机上的处理器或与喷墨打印机连接的个人计算机先行排序整理,此会占用喷墨打印机或个人计算机上的处理器时间及总线频宽。
如图1所示,一般影像数据在内存中排列方式,是以水平相邻像素依序存储。在存储满一个四字节(byte)的字组(word)后,下一水平相邻像素数据就存储到下一地址(address)的存储空间中。在图1中,一个像素占4个位,8个像素占满一个字组后,相邻像素便存储至下一个地址的内存中。
当打印机一次打印多行时,因打印数据分属不同行的缘故,故需读取不连续地址的内存。且每次只用到一个字组当中的一个像素资料。以打印机的打印数据为例,经半色调(halftone)处理后,一个像素数据就是只占内存中一个或少数位(bit)。若内存宽度为16位,一次读16位数据只用到一个位(一个像素数据),其它15位在用到时需再读取一次,重复15次读取动作,此不仅浪费许多时间,也占据了其它处理器使用共享的内存频宽。如果内存宽度为32位,就浪费更多时间及频宽。
针对此问题,在美国第USP6,298,332号专利案中,使用可程序化时序轮廓(timing profile)以调整不同喷墨头时序相关控制。然而,其并未能解决喷墨打印机一次打印多行(line)的问题,仍须以喷墨打印机上的处理器或个人计算机的处理器事先将影像原始数据(raw data)转换成配合喷墨头次序的格式。此种转换使用软件运算,并且涉及大量位处理(bit operation),且运算速度慢。如使用一特定处理器专门处理上述动作,因分工的作用,虽可提升效能,但运算速度仍慢。故现行的喷墨打印控制装置在实用性上仍有改善空间。

发明内容
本发明的目的是提供一种喷墨打印控制装置,以能利用简易指令读取分散的打印数据的喷墨打印控制装置。
为达成前述的目的,本发明提供一种喷墨打印控制装置,其经由一总线连接至一处理器及一存储装置,该存储装置用于存储打印影像数据,该喷墨打印控制装置用于提取存储在该存储装置的打印影像数据并进行数据运算,以驱动一或多个喷墨打印头,该喷墨打印控制装置包含一直接存取控制器、一指令内存及一提取处理器。该直接存取控制器系连接至该总线,以存取在该存储装置中的打印影像数据;该指令内存存储提取打印影像数据的提取指令;该提取处理器连接至该指令内存及该直接存取控制器,以依据指令内存的提取指令,计算该直接存取控制器存取该存储装置的地址;其中,该直接存取控制器依据该存取地址,以存取在该存储装置中的打印影像数据。


图1为一般影像数据在内存中排列方式的示意图。
图2为本发明的喷墨打印控制装置的方块图。
图3为本发明的提取指令格式的示意图。
图4为本发明的提取处理器的方块图。
图5为本发明的喷墨打印机的喷墨头喷孔排列方式的示意图。
图6为本发明的调整小于内存宽度的像素的偏移的示意图。
图7为本发明的影像数据在内存中排列方式的示意图。
图8为本发明的影像数据在旋转器中排列方式的示意图。
图9为本发明的旋转器的方块图。
图10为本发明的影像数据在激发缓冲装置中排列方式的示意图。
具体实施例方式
有关本发明的喷墨打印控制装置200的较佳实施例,请先参照图2显示的方块图,其中,喷墨打印控制装置200主要由一指令内存(instruction RAM)210、一直接存取控制器(DMA controller)220、一提取处理器(capture processor)230、一屏蔽转换器(mask converter)240、一旋转器(rotator)250、一激发缓冲装置(firing buffer)260、一平移逻辑装置(shift logic)270及一喷墨头时序控制器(ink jet head timing controller)280所构成。此喷墨打印控制装置200经由一总线320连接至一处理器300及一存储装置310,而提取存储在该存储装置310的打印影像数据并进行数据运算,以经由一高压驱动装置340驱动一或多个喷墨打印头330。
前述直接存取控制器220系连接至该总线320,以存取在该存储装置310中的打印影像数据。而该指令内存210连接至该总线320,以存储提取打印影像数据的提取指令。该提取处理器230系连接至该指令内存及该直接存取控制器,以依据指令内存210的提取指令,计算该直接存取控制器220存取该存储装置310的地址。该直接存取控制器220依据该存取地址,以存取在该存储装置310中的打印影像数据。
前述指令内存210所存储的提取指令的格式如图3所示,可分为循环式提取的循环控制指令及非循环式提取的记录线偏移(line offset)指令。其中,记录线偏移指令具有循环(loop)、向前(forward)及下一线偏移数目(next line offset number)字段,而循环控制指令具有循环(loop)、命令位置指针(command address pointer)及重复次数(repeatnumber)字段。
记录线偏移指令及循环控制指令可由系统程序设计者根据喷墨头喷孔位置而调整参数,再由该处理器300写入至该指令内存210中。执行的次序为从该指令内存210中位置为”0”开始,依序跳到该指令内存210下一行地址的指令执行。
如指令中循环字段为”0”,该指令为记录线偏移指令系提供下一需读取行数据的偏移行数。向前字段为”0”则指向后面的行数,使用乘法(行数乘行宽)与加法(加上目前DMA地址)运算得到下一所需DMA地址。向前字段为”1”则指向前面的行数,使用乘法(行数乘行宽)与减法(目前DMA地址减去乘法所得)运算得到所需地址。
如指令中循环字段为”1”,则该指令为循环控制指令,命令位置指针字段指向该指令内存210中下一个欲执行的命令地址。重复次数字段为重复此循环的次数,如重复次数已完成,则执行该指令内存210中下一地址的指令,直到指令为”0”为止,表示此行结束,该指令内存210地址回到”0”,重新再开始下一循环。使用此方法可方便的计算取得所有该行(column)按次序所应取得的DMA地址。
图4为该提取处理器230的详细方块图,该提取处理器230包含一线偏移信息(line offset number)410、一前后移旗标(forward flag)420、一重复计数器参数(repeat counter parameter)430、一循环旗标(loopflag)440、一跳跃地址信息(branch address pointer)450、一影像地址产生电路(video address generator)460、一状态机(state machine)470及一指令地址产生电路(fetch address generator circuit)480。该提取处理器230系计算该直接存取控制器220提取该存储装置310中的打印影像数据的地址,其计算系依据该指令内存210所存储的指令。该指令内存210所存储的指令依据喷孔位置由系统程序设计者调整而有所变化,再由该处理器300写入至该指令内存210中。
该指令内存210的数据输出经由一总线490连接至该提取处理器230,该指令内存210的数据的各个字段,分别输出至线偏移信息410、前后移旗标420、重复计数器参数430、循环旗标440及跳跃地址信息450。亦即,该指令内存210经由该总线490而提供线偏移(line offset)、向前或向后偏移(forward or backward offset)、循环指示(loop indicator)、重复计数(repeat count)及跳跃提取地址(branch fetch address)等相关信息及相对应的控制。
该影像地址产生电路460依据该指令内存210所提供的信息及该状态机470所提供的时序,产生适当的影像地址。该指令地址产生电路480依据该指令内存210所提供的信息及该状态机470所提供的时序,产生适当的指令提取地址,以提取该指令内存210中的数据(即提取指令)。当一提取指令系一最后数据指示时,该指令地址产生电路480会被重置,而该影像地址产生电路460所产生的影像地址会跳至下一行(column)的起始地址。
该直接存取控制器220依据该影像地址,以存取在该存储装置310中的打印影像数据。该直接存取控制器220会持续存取打印影像数据,直到该直接存取控制器220内部一数据计数器的数据递减至0,此代表一条线已被打印。
如图5所示,其为一喷墨打印机的喷墨头喷孔排列方式,D0与D1代表某一颜色的偶数及奇数行(Line)的两组喷孔。当喷墨头移动时,会对喷孔所在位置水平行喷出颜料。图5中是以18个喷孔为某一颜色的总点数(nozzle number),当一喷墨打印机具有多色打印功能时,亦即其喷墨头会具有多组D0与D1喷孔。为追求更高速打印,单色喷孔数可达数百个以上。其它颜色喷孔可摆放在相同水平位置左右两边或垂直上下位置。
在所有颜色的D0与D1喷孔中,具有相同英文字母编号的喷墨孔可同时喷出墨点,但D0、D1水平位置会根据喷墨孔的机构位置而有水平偏移(offset),此偏移不一定是内存宽度的整数倍,因此为了调整水平偏移,可在偶数行或奇数行调整写入内存的地址(加减内存宽度的整数倍像素的偏移),及如图6所示,其利用一可编程数据偏移器610(programmable shifter)调整小于内存宽度的像素的偏移。图7的数据为水平调整过已对齐的格式。
如图7所示,原始影像的未处理数据以一列接一列、一个像素接一个像素的方式放在该存储装置310中。其中,一条线的长度(即打印水平宽度)为”n+1”个像素,每一个像素以2个位表示,”K0.0”及”K1.0”代表黑色最左边第0个像素,”K0.1”及”K1.1”代表最左边第1个像素,依序到最右边第n个像素”K0.n”及”K1.n”。此实施例中,一个像素由2个字节成,低位”K0.0”到”K0.n”依序放在内存相邻位置。高位”K1.0”到”K1.n”放在紧邻同行低位的下一地址,依序补满内存每一个word。同理,”Cx.y”代表青色(cyan)图像数据,”Mx.y”代表洋红色(magenta)图像数据,”Yx.y”代表黄色(yellow)图像数据。如有其它颜色图像数据,可以同样方式排列。
以图5的D0与D1喷孔而言,欲处理的数据为C(cyan)、M(Magenta)、Y(Yellow)三色,需喷出的次序可为编号a、b、c、...、h及i的喷孔。这些行的数据在图7原始摆放格式中并未按次序排列。因此可以使用简易指令控制跳行抓取。
先将配合喷墨头喷孔排列的控制指令写入该指令内存210中。其次,将配合喷墨头时序控制的参数写入该喷墨头时序控制器280的缓存器中。将该直接存取控制器220设定好起始DMA地址,等待打印影像原始数据(raw data)摆好放在该存储装置310中,即可启动该直接存取控制器220。
如打印资料尚未经过筛点(shingling mask)处理,可设定屏蔽转换器240的屏蔽地址参数或直接设定屏蔽数据。通过多重屏蔽处理可提高打印质量,但每一个带(band)需用不同的屏蔽(mask),屏蔽设定可依据公式(1)所示进行相关参数设定。屏蔽变化可参考带数目(band number)而加入于公式(1)中。
Cm1.x=F(C0.x,C1.x,F(Band-m),F(Mask-m))(1)其中m为带(band)的次序,需加入公式(1)中以计算相对应的屏蔽。
直接存取控制器220将根据在指令内存210中指令的控制,陆续将分散在存储装置310的将打印同一行(column)的数据一一读取,经由公式(1)转换,变成一个像素以一位表示(one bit per pixel)。经屏蔽转换器240转换后的数据再送至旋转器250中,如图8所示,其依据图中A方向将资料写入旋转器250中。图9为该旋转器250的方块图,其中,旋转器250由一32×32位的存储装置810、一相关写入控制电路820及一读取控制电路830所构成,该存储装置可为缓存器(register)或拴锁器(latch),该写入控制电路820控制数据由A方向写入该存储装置810,而读取控制电路830控制数据由B方向读出。
待旋转器250被填满后,从旋转90度方向将旋转器250中数据一一读取,再摆放在激发缓冲装置260中,亦即,由图8中B方向将数据一一读出,于本实施例中,是于旋转器250中由B方向一次读出32位。由B方向所读出的32位数据,依序写至激发缓冲装置中260的暂存库-0(bank-0)地址0到31处,直到旋转器250被读空为止。重复此动作写读旋转器250,再写至激发缓冲装置中260的下一个暂存库中(bank-1)。如此重复到整个行的数据全部旋转搬入激发缓冲装置中260中。
此时激发缓冲装置中260中已存入32行的打印数据,先从第一个行开始读数据,如图10所示,从暂存库-0地址0(bank-0 address-0)起,暂存库-1地址0(bank-1 address-0)、暂存库-2地址0(bank-2 address-0)至最后一个暂存库-31地址0(bank-31 address-0)。再读取第二个行的暂存库-0地址1(bank-0 address-1)、暂存库-1地址1(bank-1 address-1)至最后一个暂存库-31地址1(bank-31 address-1)。重复上述读取程序,直到最后一个行的暂存库-0地址31(bank-0 address-31)、暂存库-1地址31(bank-1 address-31)至最后一个暂存库-31地址31(bank-31address-31)。至此32个符合喷墨头高度的垂直线数据依水平方向再经由平移逻辑装置270传送到喷墨头时序控制器280后,再传送至一高压驱动装置340以驱动喷墨头330以完成打印。
当该直接存取控制器220从存储装置310读取到一打印行的最后一笔数据时,即该32行(column)数据已读取结束,指向指令内存210的地址会回到起始位置”0”,重新启动下一循环,即下一单位的32个打印行(Column)的数据。重复这样的动作直到到达水平方向的终点,将最后一个行(Column)数据印完。如此,已印出相当于喷墨头打印高度的行数的连续水平线,如图5范例,即18条上下相连的水平线。重复此一动作可将整个画面填满,完成整页打印行为。
由以上的说明可知,本发明是利用一简易指令,将分散的打印数据(image)按正确的次序跳跃,从存储装置310逐一读取,再使用硬件对数据旋转后存储,以转换成配合喷墨头打印次序的数据排列格式。同时,因使用具有弹性的指令,可应付一些不规则的跳行读取动作并能减短指令数目的循环功能,以因应喷墨头喷孔数增加的趋势,以满足高速打印的需求。
上述实施例仅是为了方便说明而举例而已,本发明所主张的权利范围自应以权利要求范围所述为准,而非仅限于上述实施例。
权利要求
1.一种喷墨打印控制装置,其经由一总线连接至一处理器及一存储装置,该存储装置用于存储打印影像数据,该喷墨打印控制装置用于提取存储在该存储装置的打印影像数据并进行数据运算,以驱动一或多个喷墨打印头,该喷墨打印控制装置包含一直接存取控制器,其连接至该总线,以存取在该存储装置中的打印影像数据;一指令内存,其存储提取打印影像数据的提取指令;以及一提取处理器,其连接至该指令内存及该直接存取控制器,以依据指令内存的提取指令,计算该直接存取控制器存取该存储装置的地址;其中,该直接存取控制器依据该存取地址,以存取在该存储装置中的打印影像数据。
2.如权利要求1所述的装置,其中,该提取指令分为循环式提取指令及非循环式提取指令。
3.如权利要求1所述的装置,更包含一屏蔽转换器,其连接至该直接存取控制器,以将该直接存取控制器所提取的打印影像数据进行屏蔽运算。
4.如权利要求1所述的装置,其更包含一旋转器,其连接至该屏蔽转换器,以将该屏蔽转换器的输出数据进行旋转。
5.如权利要求4所述的装置,其中,该旋转器包含一n×n个存储装置、一写入控制电路及一读取控制电路。
6.如权利要求5所述的装置,其中,该写入控制电路控制数据由一第一方向写入该存储装置,该读取控制电路控制数据由一第二方向读出。
7.如权利要求6所述的装置,其中,该第一方向与该第二方向互相垂直。
8.如权利要求5所述的装置,其中,该n×n个存储装置由缓存器所构成。
9.如权利要求5所述的装置,其中,该n×n个存储装置由拴锁器所构成。
10.如权利要求1所述的装置,更包含一激发缓冲装置,其连接至该旋转器,以暂存该旋转器的输出数据。
11.如权利要求1所述的装置,更包含一平移逻辑装置,其连接至该激发缓冲装置,将该激发缓冲装置并列输出数据转成串行数据以平移输出。
12.如权利要求1所述的装置,更包含一喷墨头时序控制器,其连接至该平移逻辑装置,以依据该平移逻辑装置的输出数据及喷墨头结构,产生喷墨头时序控制信号。
13.如权利要求1所述的装置,更包含一高压驱动装置,其连接至该喷墨头时序控制器,以将该喷墨头时序控制器的输出信号,转换至可驱动一喷墨头的电压位准,以驱动该喷墨头。
全文摘要
本发明涉及一种喷墨打印控制装置,其经由一总线连接至一处理器及一存储装置,存储装置用来存储打印影像数据,喷墨打印控制装置用来提取存储在存储装置的打印影像数据并进行数据运算,以驱动一或多个喷墨打印头。喷墨打印控制装置包含一直接存取控制器、一指令内存及一提取处理器。指令内存存储提取打印影像数据的提取指令。该提取处理器连接至该指令内存及该直接存取控制器,以依据指令内存的提取指令,计算该直接存取控制器存取该存储装置的地址,其中,该直接存取控制器依据该存取地址,以存取在该存储装置中的打印影像数据。
文档编号G06F17/00GK1769051SQ200410087190
公开日2006年5月10日 申请日期2004年11月4日 优先权日2004年11月4日
发明者吴恒谦 申请人:凌阳科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1