技术领域
[0001] 本发明涉及打印领域,具体而言,涉及一种打印机及打印控制方法。
相关背景技术
[0002] 打印机已经在各行各业中广泛应用。随着人们生活节奏的加快,用户对打印速度的要求越来越高。
[0003] 为了提高打印速度,公开号为JP5031967的日本专利公开了一种打印装置,如图1所示,该打印装置包括沿打印纸2输送方向排布的压盘5a、5b、5c、5d和输送辊8。打印纸2包括多个设定长度的页面。热敏打印头4a、4b、4c、4d间隔与页面长度L相同的距离排列。图像存储器存储页面的打印数据,打印控制装置将存储在图像存储器中相同的数据发送给热敏打印头4a、4b、4c和4d,因此热敏打印头4a、4b、4c和4d在打印纸2上同时打印相同的数据。
[0004] 发明人发现,实际应用中,打印机打印的每张页面的打印内容都不相同,比如,应用在超市、商场、餐饮等行业的收银系统中用于打印交易明细或发票的打印机,或者应用在公路、铁路、地铁等交通行业的票务系统中用于打印车票的打印机。由于上述打印机的每个打印头只能同时打印相同的内容,因此,无法提高单张页面的打印速度。
具体实施方式
[0030] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0031] 图2是根据本发明实施例的打印机的框图,图3是根据本发明的打印机的第一实施例的打印组件排布示意图。如图2所示,打印机包括打印组件1、控制器20、通讯接口3、接收缓冲区4、打印缓冲区5和FLASH存储器6。打印组件1包括n个热敏打印头,即,第一打印头11、第二打印头12、…、第N打印头1n,其中n为正整数,且n≥2。如图3所示,n个打印头依次沿打印介质输送的相反方向间隔设定距离排布,并位于打印介质输送通道的同一侧,各打印头用于在打印介质的同一面上打印图像或文字。打印介质从纸仓R向沿箭头A方向输送。图4是根据本发明实施例的热敏打印头打印点排列示意图,如图所示,第一打印头11包含多个发热体单元D,这些发热体单元D等距排列成一行,每个发热体单元对应一个打印点X1,等距排列成一行的多个发热体单元D形成一行打印点(以下简称点行)。打印介质P沿着介质输出方向A运动,形成Y1,Y2…等点行。每个点行的高度与打印头的纵向分辨率相关,对于纵向分辨率为203点/英寸(dpi)的打印头,每个点行的高度为0.125毫米。因此,如果已知两个相邻的打印头之间的距离为Di毫米(i=1,2,…,n-1,n为打印头个数),及每个点行的高度h毫米,则可以计算出两个相邻的打印头之间的点行数Li(i=1,2,…,N-1,N为打印头总数),即Li=Di/h。为了便于描述,本发明按点行的数量描述各打印头之间的距离。优选地,为了最大程度地利用打印介质,或者使相邻两打印头之间打印的打印内容之间过渡更顺畅,相邻两个打印头之间的距离设置为点行高度的整数倍,需要说明的是,该处所提到的相邻两个打印头之间的距离为两个打印头的打印位置之间的距离。设第一打印头111与第二打印头12之间相距L1点行,第二打印头121与第三打印头
131之间相距L2点行,…,第N-1打印头与第N打印头之间相距Ln-1点行,其中Li为正整数,i=1,…,n-1。本发明的设计思路是n个打印头共同在打印介质的一面打印,组合完成一张页面的打印。因此,假设一张页面的包含Y点行的打印数据,则,由第一打印头打印L1点行的数据量,即第1点行至第L1点行的打印数据,由第二打印头打印L2点行的数据量,即第L1+1至第L1+L2点行的打印数据,…,依次类推,由第n-1打印头打印Ln-1点行的数据量,即,L1+L2+…+Ln-2+1至第Ln-1点行的打印数据,由第n个打印头打印[Y-(L1+L2+…+Ln-1)]点行的数据量,即第L1+L2+…+Ln-1+1点行至第Y点行的打印数据。优选地,n个打印头两两之间间隔Y/n点行,则,每个打印头打印Y/n点行的打印数据,即每个打印头打印的数据量相等。
[0032] 通讯接口3用于建立打印机与主机之间的通讯,实现打印机与主机之间的数据传输。接收缓冲区4用于暂时存储主机发送的打印数据。打印缓冲区5用于存储发送给各打印头的打印数据。接收缓冲区和打印缓冲区可以是各自独立的RAM(随机存储器)存储器,也可以是一个RAM存储器中的不同存储区域。主机发送的打印数据可以是由原始数据生成以各种打印机语言描述的数据(Printer Language Description数据,PLD数据),如以ESC/P语言描述的ESC/P数据、以ESC/PK语言描述的ESC/PK数据等,也可以是由二进制数据组成的光栅数据。当主机发送的打印数据为PLD数据时,打印机的控制器需要对PLD数据中的各种打印内容指令进行解析,把以打印内容指令定义的数据,如字符、条码等,转换为由二进制数据组成的光栅数据,然后存储到打印数据缓冲区中。当主机发送的是光栅数据时,控制器直接将接收到的光栅数据存储到打印数据缓冲区。
[0033] 在打印过程中,通过向打印头的发热体单元发送由二进制数据组成的光栅数据,控制各发热体单元在选通时间段内是否发热。如,设置发热体单元接收到的二进制数据为1时,发热体单元加热,发热体单元接收到的二进制数据为0时,发热体单元不加热。当然,也可以设置发热体单元接收到的控制数据为0时,发热体单元加热,打印头发热体单元接收到的控制数据为1时,发热体单元不加热。
[0034] 当发热体单元发热时,打印介质的表面显色,当发热体单元不发热时,打印介质表面的颜色不发生改变。由上述描述可知,热敏打印头11包含等距排列成一行的多个发热体单元,因此,打印介质每前进一点行的高度,控制器的控制部向打印头发送一点行数据,其中,一点行数据包括与打印头的每个发热体单元对应的多个二进制数据,使打印头的一行发热体单元按规律发热,从而在打印介质上生成出一点行图像。随着打印介质的运动,多个点行的图像组成了设定的图形或字符。
[0035] 控制器20用于向各打印头发送打印数据,并控制打印机的各组成模块配合工作。FLASH存储器6用于存储各打印头分工规则。其中,由第一打印头打印第1点行至第L1点行的打印数据,由第二打印头打印第L1+1至第L1+L2点行的打印数据,…,依次类推,由第n打印头打印第L1+L2+…+Ln-1+1点行至第Y点行的打印数据。
[0036] 图5是根据本发明的打印控制方法的第一实施例的流程图。
[0037] 如图5所示,该打印控制方法包括以下步骤:
[0038] 步骤S11,接收打印数据,其中,打印数据为同一页面的打印数据,包括第一打印数据和第二打印数据。
[0039] 打印机利用通讯接口3接收到打印数据之后,可以按照预设的分工规则,例如,按照FLASH存储器6中预存的分工规则将打印数据拆分为第一打印数据和第二打印数据。
[0040] 步骤S12,将第一打印数据和第二打印数据分别发送至第一打印头和第二打印头,其中,第一打印头和第二打印头位于打印机的打印通道的同一侧。
[0041] 步骤S13,第一打印头在第一时间打印第一打印数据,第二打印头在第二时间打印第二打印数据,其中,第一时间和第二时间至少部分重合。
[0042] 当第一打印头与第二打印头之间的距离为点行高度的整数倍时,第一打印头和第二打印头可以同时在打印介质的同一面上打印图像或文字,第一时间和第二时间完全重合;当第一打印头和第二打印头之间的距离为点行高度的整数倍加上距离误差时(其中,距离误差小于一倍的点行高度,通常是由于零件加工误差或装配误差引起的),第二打印头开始打印第二打印数据第三时间之后,第一打印头和第二打印头再同时执行打印操作,因此,第一时间比第二时间滞后第三时间,第一时间和第二时间部分重合,其中,第三时间等于距离误差除以打印介质的前进速度。
[0043] 为了能够使得第一打印头和第二打印头能够做到完全同步打印以使打印速度最快,优选地,第一打印头与第二打印头之间的距离为点行高度的整数倍,且第一打印数据和第二打印数据的数据量相同。
[0044] 需要说明的是,该实施例中的第一打印头和第二打印头仅仅是泛指打印机中两个不同的打印头,即,本发明实施例中的打印头也可以是两个以上,在打印机包括n个打印头时,依次沿打印介质输送方向间隔设定距离排布,并位于打印介质输送通道的同一侧,各打印头用于在打印介质的同一面上打印图像或文字,n个打印头共同在打印介质的一面打印,组合完成一张页面的打印,从而提高了单张页面的打印速度。
[0045] 图6是根据本发明的打印控制方法的第二实施例的流程图。
[0046] 步骤S101,将接收到的打印数据存储到接收缓冲区中
[0047] 打印机通过通讯接口3接收主机下发的打印数据,并将打印数据暂存在接收缓冲区中。
[0048] 步骤S102,将接收缓冲区中的打印数据存储到打印缓冲区中。
[0049] 控制器分析接收缓冲区中的打印数据,当主机发送的打印数据为PLD数据时,打印机的控制器需要对接收缓冲区存储的PLD数据中的各种打印内容指令进行解析,把以打印内容指令定义的数据,如字符、条码等,转换为由二进制数据组成的光栅数据,然后存储到打印数据缓冲区中。当主机发送的是光栅数据时,控制器直接将接收缓冲区中存储的光栅数据存储到打印数据缓冲区。
[0050] 步骤S103,将各点行打印数据按设定规则发送给相对应的打印头[0051] 控制器按照打印数据接收的先后顺序,根据FLASH存储器中存储的各打印头分工规则,按照各点行数据在将打印缓冲区中的存储地址,将第1点行至第L1点行的打印数据发送给第一打印头,将第L1+1至第L1+L2点行的打印数据发送给第二打印头,…,依次类推,将第L1+L2+…+Ln-1+1点行至第Y点行的打印数据发送给第n打印头。
[0052] 步骤S104,各打印头在打印介质的表面打印各自接收到的打印数据[0053] 当打印介质前缘与第一打印头的发热体单元所在行平齐时,控制器控制各打印头开始工作。在打印介质前进过程中,第一打印头在打印介质表面打印第1点行至第L1点行的打印数据,第二打印头在打印介质表面打印第L1+1至第L1+L2点行的打印数据,依次类推,第n打印头在打印介质表面打印第L1+L2+…+Ln-1+1点行至第Y点行的打印数据。
[0054] 由于L1、L2、…、Ln-1可能各不相等,因此,可能出现某个打印头已经完成打印,而其他打印头还在打印的情况。因此,优选的,n个打印头两两之间间隔Y/n点行,每个打印头打印Y/n点行的打印数据。这样,由于n各打印头打印的数据量相等,可以最大限度的提高每个打印头的利用率,从而打印速度最快。
[0055] 本发明提供的打印控制方法,通过由n个打印头同时在打印介质的一面打印,每个打印头打印一个页面内容的一部分,从而提高了打印速度。
[0056] 图7是根据本发明的打印机的第二实施例的打印组件排布示意图。如图所示,打印组件包括2个打印头,即第一打印头11和第二打印头12。第一热敏打印头11与第二热敏打印头12依次沿打印介质输送方向的相反排列,并位于打印介质输送通道的同一侧,各打印头用于在打印介质的同一面上打印图像或文字。第一打印头11与第二打印头12之间相距L1点行,L1为整数。打印组件还包括第一胶辊112和第二胶辊122,其中,第一胶辊112与第一打印头11相对设置,第二胶辊122与第二打印头12相对设置,打印介质P从第一打印头11和第一胶辊112之间及第二打印头12和第二胶辊122之间通过。第一胶辊112和第二胶辊122用于支撑并输送打印介质。对应打印固定长度页面的打印机,如果页面长度为Y点行,则优选地,L1=Y/2,可以最大限度的提高打印速度。
[0057] 图8是根据图7所示的打印机的打印控制方法的流程图。
[0058] 步骤S201,将接收到的打印数据存储到接收缓冲区中
[0059] 打印机通过通讯接口3接收主机下发的打印数据,并将打印数据暂存在接收缓冲区中。
[0060] 步骤S202,将接收缓冲区中的打印数据存储到打印缓冲区中。
[0061] 步骤S203,将打印缓冲区中第1点行至第L1点行的打印数据发送给第一打印头,将第L1+1至第Y点行的打印数据发送给第二打印头。
[0062] 步骤S204,第一打印头和第二打印头同时在打印介质的表面打印各自接收到的打印数据。
[0063] 第一打印头和第二打印头组合完成一张页面的打印,从而提高了打印速度。
[0064] 图9是根据本发明的打印机的第三实施例的打印组件排布示意图,本实施例与第三实施例的区别在于,第一打印头11与第二打印头12之间相距D1不等于点行高度h的整数倍,即,D1=L1*h+b1,0<b1<h,其中,L1为正整数,D1、b1的单位为毫米,b1为距离误差,该距离误差小于一倍的点行高度,通常是由于零件加工误差或装配误差引起的。
[0065] 图10是根据图9所示打印机的打印控制方法的流程图。
[0066] 步骤S301,将接收到的打印数据存储到接收缓冲区中
[0067] 打印机通过通讯接口3接收主机下发的打印数据,并将打印数据暂存在RAM存储器4中。
[0068] 步骤S302,将接收缓冲区中的打印数据存储到打印缓冲区中。
[0069] 步骤S303,将打印缓冲区中第1点行至第L1点行的打印数据发送给第一打印头,将第L1+1至第Y点行的打印数据发送给第二打印头。
[0070] 步骤S304,第二打印头开始打印t1时间后第一打印头再开始打印。
[0071] 当打印介质前缘与第一打印头的发热体单元所在行平齐时,控制器控制第二打印头开始打印,当第二打印头开始打印t1时间后,第一打印头开始在打印介质表面打印,此时,第一打印头和第二打印头同时执行打印操作。其中,t1=b1/v,v是打印介质前进速度。
[0072] 第二打印头开始打印之后,当打印介质前进b1毫米时,控制器控制第一打印头开始打印,这样,第一打印头打印的最后一点行与第二打印头打印的第一点行之间不存在b1的间隙,因此,相邻两打印头打印的打印内容之间过渡十分顺畅,避免了两打印头之间的安装误差对打印效果的影响。
[0073] 在本发明实施例中,第一打印头和第二打印头(或者是两个以上的多个打印头)在执行打印时,可以是完全同时打印,即,打印的起始时刻和终止时刻均相同,例如,在二者需要打印的数据量完全相同的情况下,也可以是部分同时打印,即,其中一个打印头打印一段时间后,第二个打印头再执行打印,其中,在打印单张的打印数据时,只要保证第一打印头和第二打印头在至少部分时间内同时打印,就可以实现提高打印速度的效果。
[0074] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。