点阵数据的打印方法及其装置转让专利

申请号 : CN200810118415.3

文献号 : CN101350070B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄建梅郭少伟温晓辉刘志红陈峰

申请人 : 北大方正集团有限公司北京大学北京北大方正电子有限公司

摘要 :

本发明公开了一种点阵数据的打印方法,包括:接收主机端发送的有效点阵数据;将接收的有效点阵数据按照成像部件进行划分;将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据;为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;控制需要打印有效点阵数据的各成像部件分别将读取的有效点阵数据打印输出,控制不需要打印有效点阵数据的各成像部件分别将配置的无效点阵数据打印输出。相应的,本发明还公开了一种点阵数据的打印装置,采用本发明方案,能够节约传输带宽,避免无效点阵数据对后端存储空间和存储空间总线资源的占用。

权利要求 :

1.一种点阵数据的打印方法,其特征在于,包括:接收主机端发送的有效点阵数据;

将所述接收的有效点阵数据按照成像部件进行划分;

将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;

为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;

控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。

2.如权利要求1所述的打印方法,其特征在于,所述与成像部件对应的存储单元是通过下述过程得到的:按照成像部件的数目N,将存储空间划分为N个存储单元;

将划分得到的N个存储单元与该N个成像部件进行一一对应映射。

3.如权利要求2所述的打印方法,其特征在于,所述成像部件的数目是动态变化的。

4.如权利要求2或3所述的打印方法,其特征在于,所述将对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存,具体包括:按照各成像部件组预先的排序,以及各成像部件组中各成像部件预先的排序,依次针对每个成像部件执行:将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存。

5.如权利要求4所述的打印方法,其特征在于,在所述将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元缓存之后,还包括:判断该存储单元是否写满;

在判断出该存储单元写满时,发出写满信号通知主机端暂停发送有效点阵数据。

6.如权利要求2或3所述的打印方法,其特征在于,所述为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据,具体包括:按照各成像部件组预先的排序,依次针对每个成像部件组执行:判断该成像部件组中是否至少有一个成像部件需要打印有效点阵数据;

在判断结果为否时,为该成像部件组中的每个成像部件配置无效点阵数据;

在判断结果为是时,按照该成像部件组中各成像部件预先的排序,依次针对每个成像部件执行:判断该成像部件是否需要打印有效点阵数据;

在判断结果为否时,为该成像部件配置无效点阵数据;

在判断结果为是时,为该成像部件从对应的存储单元中,读取缓存的有效点阵数据。

7.如权利要求6所述的打印方法,其特征在于,在所述从对应的存储单元中读取缓存的有效点阵数据之后,还包括:判断所述存储单元是否读空;

在判断出该存储单元读空时,发出读空信号向主机端报告打印错误。

8.如权利要求2所述的打印方法,其特征在于,当所述存储空间为单一总线接口存储空间时,在将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存之前,还包括判定没有从所述存储空间中读出数据的请求。

9.一种点阵数据的打印装置,其特征在于,包括:接收单元,用于接收主机端发送的有效点阵数据;

数据划分单元,用于将所述接收的有效点阵数据按照成像部件进行划分;

写入单元,用于将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;

读取及配置单元,用于为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;

打印控制单元,用于控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。

10.如权利要求9所述的打印装置,其特征在于,还包括:存储空间划分单元,用于按照成像部件的数目N,将存储空间划分为N个存储单元;

映射单元,用于将划分得到的N个存储单元与该N个成像部件进行一一对应映射。

11.如权利要求10所述的打印装置,其特征在于,所述写入单元按照各成像部件组预先的排序,以及各成像部件组中各成像部件预先的排序,依次针对每个成像部件,将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存。

12.如权利要求11所述的打印装置,其特征在于,还包括:写满判断单元,用于在写入单元将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存之后,判断该存储单元是否写满;

写满通知单元,用于在判断出该存储单元写满时,发出写满信号通知主机端暂停发送有效点阵数据。

13.如权利要求10所述的打印装置,其特征在于,所述读取及配置单元具体包括:第一判断子单元,用于按照各成像部件组预先的排序,依次针对每个成像部件组判断该成像部件组中是否至少有一个成像部件需要打印有效点阵数据;

第一配置子单元,用于在第一判断子单元的判断结果为否时,为该成像部件组中的每个成像部件配置无效点阵数据;

第二判断子单元,用于在第一判断子单元的判断结果为是时,按照该成像部件组中各成像部件预先的排序,依次针对每个成像部件,判断该成像部件是否需要打印有效点阵数据;

第二配置子单元,用于在第二判断子单元的判断结果为否时,为该成像部件配置无效点阵数据;

读取子单元,用于在第二判断子单元的判断结果为是时,为该成像部件从对应的存储单元中,读取缓存的有效点阵数据。

14.如权利要求13所述的打印装置,其特征在于,还包括:读空判断单元,用于在读取子单元从对应的存储单元中读取缓存的有效点阵数据之后,判断所述存储单元是否读空;

读空通知单元,用于在判断出所述存储单元读空时,发出读空信号向主机端报告打印错误。

15.如权利要求10所述的打印装置,其特征在于,还包括判定单元,用于当所述存储空间为单一总线接口存储空间时,在写入单元将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存之前,判定没有从所述存储空间中读出数据的请求。

说明书 :

技术领域

本发明涉及数码印刷技术领域,尤其涉及一种点阵数据的打印方法及其装置。

背景技术

数码印刷是近年来高速发展的印刷技术,采用将数据直接传输、处理、印刷的方式,即将成像数据一次输入,由控制系统控制成像部件直接成像。例如,对于比较常用的采用按需式喷墨印刷的数码印刷设备,成像部件在控制系统的控制下,当承印体(如纸张)的表面到达预定位置时,喷嘴中的压电晶体产生脉冲将油墨挤出,并直接向承印体的表面喷射雾状墨滴直接成像。与传统的印刷方式相比,数码印刷省去了制版、打样等过程,步骤简单快速,并且支持可变数据打印。
在上述按需式喷墨印刷的数码印刷设备中,成像部件本身的分辨率和能实现的幅宽都有限,不能满足用户对图像分辨率和幅宽日益提高的要求。基于此,又提出了采用成像部件或承印体往复运动的方式提高图像分辨率和增大图像幅宽的数码印刷设备,根据成像部件与承印体的相对运动方式,采用该方式的数码印刷设备可分为多PASS和单PASS两种。多PASS的数码印刷设备是指承印体不动,成像部件往复运动的设备;单PASS数码印刷设备是指成像部件不动,承印体相对于成像部件运动的设备。
在单PASS的数码印刷设备中,通常都是采用多个成像部件叠加和拼接的方式,即采用若干成像部件叠加形成一个成像部件组的方式来提高图像的分辨率,采用若干成像部件组拼接的方式来增大图像的幅宽。这种叠加和拼接不仅体现在机械安装上,同时也体现在对数据的处理上。图1给出了单PASS数码印刷设备中成像装置的结构示意图,如图1所示,在幅宽方向上相邻两个成像部件组(例如成像部件组1与成像部件组2)不能安装在一条直线上,而是在承印体运动方向上(即每英寸内点数(DPI,Dots per Inch)的方向上)存在一定间距;相间的两个成像部件组(例如成像部件组1与成像部件组3)可以安装在一条直线上。因此,采用图1所示的成像部件印刷一条直线上的图像时,相邻两个成像部件不能同时完成该直线上图像的印刷,而相间的两个成像部件可以同时完成该直线上图像的印刷。
在数码印刷设备中,数据在主机端经栅格图像处理器(RIP,Raster ImageProcessor)处理为点阵数据后,传输给后端控制系统。对于单PASS的数码印刷设备,点阵数据中每一行的复现,都应该分配到各成像部件中,由各成像部件分别打印后拼接实现。而如上所述,由于相邻两个成像部件不能同时完成同一直线上图像的印刷,因此,若承印体沿着DPI方向进入,当承印体首次到达成像部件组1、成像部件组3......这些相间成像部件组中相应成像部件(成像部件a、成像部件c......)可印刷该直线上图像的位置时,成像装置中每个成像部件分别读取主机端传输给后端控制系统的第一行点阵数据中对应自身的点阵数据,即成像部件a、成像部件c......分别读取该第一行点阵数据中包含的对应成像部件a、成像部件c......的有效点阵数据;成像部件b、成像部件d......分别读取该第一行点阵数据中包含的对应成像部件b、成像部件d......的无效点阵数据(即空白数据),并基于所述读取的点阵数据,在承印体上进行印刷。
综上所述,采用数码印刷设备中现有的点阵数据打印方法,主机端传输给后端的点阵数据中包含有大量的无效点阵数据,从而大大占用了传输带宽;同时,由于大量的点阵数据需要高速传输到后端,所以后端必然需要使用存储空间对传输来的点阵数据进行缓存,而由于主机端传输的点阵数据中包含有大量无效点阵数据,从而需要占用后端较大的存储空间,造成了后端存储空间的浪费,以及对后端存储空间总线资源的占用。

发明内容

本发明提供一种点阵数据的打印方法及其装置,以能节约点阵数据的传输带宽及后端的存储空间。
本发明实施例提出了一种点阵数据的打印方法,包括:接收主机端发送的有效点阵数据;将所述接收的有效点阵数据按照成像部件进行划分;将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。
本发明实施例提出了一种点阵数据的打印装置,包括:接收单元,用于接收主机端发送的有效点阵数据;数据划分单元,用于将所述接收的有效点阵数据按照成像部件进行划分;写入单元,用于将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;读取及配置单元,用于为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;打印控制单元,用于控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。
本发明实施例提出的点阵数据打印方法,通过将主机端发送的有效点阵数据按照成像部件进行划分,将划分出的对应每个成像部件的点阵数据写入对应该成像部件的存储单元中缓存,以及在为需要打印有效点阵数据的成像部件读出对应缓存的有效点阵数据,为不需要打印有效点阵数据的成像部件配置无效点阵数据后,进行打印输出,使得从主机端传输的点阵数据中仅包含有效点阵数据,从而节约了传输带宽,避免了无效点阵数据对后端存储空间以及存储空间总线资源的占用。

附图说明

图1为单PASS数码印刷设备中成像装置的结构示意图;
图2为本发明实施例提出的点阵数据打印方法的流程示意图;
图3为本发明实施例提出的在存储空间为单一总线接口存储空间时,读写存储空间时的读写仲裁流程示意图;
图4为本发明实施例提出的点阵数据打印方法中为成像部件读出对应点阵数据或配置无效点阵数据的具体流程示意图;
图5为本发明实施例提出的采用轮询机制为成像部件读出对应的点阵数据或配置无效点阵数据的流程示意图;
图6为本发明实施例提出的点阵数据打印装置的结构示意图。

具体实施方式

本发明实施例提出的点阵数据打印方案为:接收主机端发送的有效点阵数据,以及在后端通过将接收到的有效点阵数据进行对应成像部件的缓存管理,从而能在为需要打印有效点阵数据的成像部件读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的成像部件配置无效点阵数据之后,进行点阵数据的打印输出。
下面结合说明书附图来说明本发明的具体实施方式。
图2为本发明实施例提出的点阵数据打印方法的流程示意图,具体的流程说明如下:
步骤21:按照成像部件的类型、打印分辨率的要求以及打印幅宽的要求,确定打印所需成像部件的数目N;即打印所需成像部件的数目是变化的。
因为数码印刷设备在实际的生产和使用过程中,用户经常会有不同打印分辨率和打印幅宽的要求,且通常在一个数码印刷设备中采用同一种类型的成像部件,因此为了达到一定的分辨率需求,基于数码印刷设备成像部件的种类,可以动态确定采用X个成像部件组成一组;为了达到一定幅宽的打印需求,基于数码印刷设备中成像部件的种类,可以动态确定采用Y组成像部件,从而可以动态确定出打印所需成像部件的数目为N=X×Y。
本步骤可以由主机端执行,也可以由本发明实施例提出的点阵数据打印装置执行后上报主机端,以动态确定打印所需成像部件的数目。当然,如果数码印刷设备中采用确定数目的成像部件,本步骤可选。
步骤22:按照确定出的打印所需成像部件的数目N,将存储空间划分为N个存储单元;即在硬件的存储空间管理过程中,根据确定出的成像部件的数目N,将存储空间划分为N个存储单元,该N个存储单元的大小可以相等。
若步骤21的过程由主机端完成,那么在本发明实施例提供的点阵数据打印装置中设置与上层主机端的配置接口,从而使得点阵数据打印装置可根据主机端设置的系统中使用的成像部件数目,动态为每个成像部件分配存储单元。
步骤23:将划分得到的N个存储单元与该N个成像部件进行一一对应映射;
具体地,在步骤21中基于特定的打印需求,动态地确定出打印所需成像部件的数目,在步骤22中按照该动态确定出的打印所需成像部件的数目,对存储空间进行划分,并为划分得到的每个存储单元动态分配相应的起始地址和结束地址,另外,由于在打印时,要读取存储器中对应的点阵数据给每个成像部件,所以对应每个成像部件,在存储单元中都会有一个当前读地址和当前写地址。可以采用四个寄存器来存储对应每个成像部件的四个地址参数:对应该成像部件的存储单元的起始地址、结束地址、以及当前读地址、当前写地址。同时可以根据步骤21中确定的打印所需成像部件的数目N,建立一个索引表,这个索引表由每个成像部件对应的四个地址参数构成,从而在特定的成像部件需要进行读写访问时,可以根据索引表读出相应成像部件的四个地址参数进行读写访问操作,例如将读出的四个地址参数放到四个对应的公用寄存器中,利用公用寄存器进行读写访问操作后,再将四个公用寄存器的值写回对应的寄存器中。
上述这种采用软件接口动态分配存储空间的方式,大大提高了整个系统的灵活性,可以使用户自由掌握打印质量,根据不同的打印需求与数码印刷设备灵活交互。另外,由于在实际印刷设备中如果要达到一定质量的印刷效果,会使用为数众多的成像部件,要管理这些成像部件所对应的寄存器会造成逻辑资源的巨大消耗,采用公用寄存器的方式,可以有效地减少管理成像部件地址所需的逻辑资源,并有利于优化时序。另外,由于各成像部件的存储空间彼此独立,因此,每个成像部件的存储单元可循环使用。
当然,如果采用独立编址的多个存储器与各成像部件对应关联,那么步骤22与步骤23可选。
步骤24:接收主机端发送的有效点阵数据;
由于采用本发明方案,后端能将接收到的有效点阵数据按照成像部件进行有效管理,并为不需要打印有效数据的成像部件配置无效点阵数据,以满足数码印刷设备对点阵数据的需求,所以主机端可以仅发送有效点阵数据给后端,使得节约了传输带宽。
步骤25:将所述接收的有效点阵数据按照成像部件进行划分;通常主机端顺序发送有效点阵数据,在接收到有效点阵数据以后,点阵数据打印装置首先将接收到的有效点阵数据划分成与各个成像部件相对应的数据,具体的划分方式有多种,例如动态确定出的打印所需成像部件的数目为N个,主机端发送了X比特的有效点阵数据,那么可以对该X比特的有效点阵数据进行划分,使得该X比特有效点阵数据中前N×1/X比特的有效点阵数据与第一成像部件对应,从第N×1/X个数据开始至第N×2/X个数据结束的这些有效点阵数据与第二成像部件对应,以此类推,直至该X比特有效点阵数据中最后N×1/X比特的有效点阵数据与第N成像部件对应。其它的划分方法此处不再赘述。
步骤26:将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;
若采用独立编址的多个存储器与各成像部件对应关联,即每个存储器都有各自独立的读写总线,那么在将接收到的对应各成像部件的数据同时写入对应各成像部件的存储器时,不存在争抢写权限的问题;而若对应每个成像部件的存储单元是通过步骤22,将存储空间进行划分的方式来得到,即划分得到的各存储单元共用读写总线,那么要将对应各成像部件的数据,同时写入对应各成像部件的存储单元时,必然会发生争抢写权限。其中,各成像部件组可能有同时写入数据的请求,一个成像部件组中各成像部件也可能有同时写入数据的请求,因此,在数据写入时采用成像部件组间、成像部件组中各成像部件间的写权限仲裁机制,步骤26具体的可以为:按照各成像部件组预先的排序,以及各成像部件组中各成像部件预先的排序,依次针对每个成像部件,将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存。
即依次查询是否需要将对应各成像部件的有效点阵数据写入对应存储单元,如果需要则获得写权限,并在对应该成像部件的有效点阵数据写完后让出写权限。
另外,主机端通常按照成像部件组预先的排序,顺序发送有效点阵数据,因此各成像部件组间可以不存在争抢总线写权限的问题,但是在一个成像部件组中各成像部件之间会存在争抢总线写权限的问题,即可能存在一个成像部件组中多个成像部件有写入请求,此时就需要按照各成像部件组中各成像部件预先的排序,依次针对每个成像部件,将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存,并在对应该成像部件的有效点阵数据写完后让出总线写权限。
例如,接收到主机端发送的按照成像部件组预先的排序,顺序发送的有效点阵数据后,将接收的有效数据进行划分,首先得到对应第一成像部件组的有效点阵数据,为避免第一成像部件组中各成像部件争抢存储器的写总线,可以按照第一成像部件组中各成像部件预先的排列顺序,建立一个写权限仲裁机制,例如首先第一个成像部件获得写权限,直至将对应第一个成像部件的有效点阵数据写入对应的存储单元,然后第二个成像部件获得写权限,直至将对应第二个成像部件的有效数据写入对应的存储单元,以此类推,写权限仲裁循环往复进行查询,此处不再赘述。
较佳地,在执行完将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元缓存之后,还包括:判断该存储单元是否写满;以及在判断出该存储单元写满时,发出写满信号通知主机端暂停发送有效点阵数据。
需要说明的是,若该存储空间为单一总线接口存储空间,例如为同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory),即读写操作不能同时进行的存储器时,需要对读写操作进行仲裁。因为通常主机端发送有效点阵数据的速度要快于后端成像部件消耗数据的速度,所以如果同时发生读存储器请求和写存储器请求时,应优先满足读存储器的请求,获得读权限,这样能够保证后端所读取的打印数据的连续性。图3给出了本发明实施例提出的读写仲裁流程图,首先检测SDRAM是否处在空闲状态,如果是,查询是否有读请求,如果有读请求,那么响应读请求,并将读权限赋给特定的成像部件,然后等数据读出之后SDRAM重新进入空闲状态;如果没有读请求,则查询是否有写请求,如果有写请求,那么响应写请求,等写访问结束后SDRAM重新进入空闲状态。
即在存储空间为单一总线接口存储空间时,在执行步骤26之前,还包括判定没有从所述存储空间中读出数据的请求。
下面继续参照图2说明本发明实施例提出的点阵数据打印方法:
步骤27:为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;其中,上述读取有效点阵数据与配置无效点阵数据的过程并没有特定的时序关系。
在进行数据打印时,需要打印有效点阵数据的成像部件均需从对应的存储单元中读取相应的有效点阵数据。同样,若采用独立编址的多个存储器与各成像部件对应关联,即各存储器各自使用独立的读写总线,那么在同时从各存储器中读取与需要打印有效点阵数据的成像部件对应的有效点阵数据时,不会发生争抢读权限的问题;而若对应每个成像部件的存储单元是通过步骤22,将存储空间进行划分的方式来得到,即划分得到的各存储单元共用读写总线,那么要同时从该存储空间中读取与需要打印有效点阵数据的成像部件对应的有效点阵数据时,必然会发生争抢读权限。因此,步骤27具体的可以采用如图4所示的流程,具体流程说明如下:
步骤271:按照各成像部件组预先的排序,依次针对每个成像部件组,判断该成像部件组是否需要打印有效点阵数据;判断成像部件组是否需要打印有效点阵数据即:判断该成像部件组中是否至少有一个成像部件需要打印有效点阵数据。
在进行数据打印时,多个成像部件组有可能同时产生读数据请求,从而发生争抢总线读权限的问题,所以应首先以成像部件组为单位,按照各成像部件组预先的排序,依次针对每个成像部件组判断是否要打印有效点阵数据;
步骤272:在判断结果为否时,为该成像部件组中的各成像部件配置无效点阵数据;
判断成像部件组是否需要打印有效点阵数据的方式有多种,例如判断该成像部件组中各成像部件是否需要打印有效点阵数据;具体地,在判断出该成像部件组中各成像部件均不需要打印有效点阵数据时,确定该成像部件组不需要打印有效点阵数据,在判断出该成像部件组中存在至少一个成像部件需要打印有效点阵数据时,确定该成像部件组需要打印有效点阵数据。再比如若承印体到达成像部件组中所有成像部件均可印刷的位置时,此时,该成像部件组中各成像部件要么都需要打印有效点阵数据,要么都不需要打印有效点阵数据,即对于该成像部件组是否需要打印有效点阵数据的判断,只需按照该成像部件组中各成像部件预先的排序,判断第一个成像部件是否需要打印有效点阵数据即可。具体地,在判断出第一个成像部件组中第一个成像部件不需要打印有效点阵数据时,不需要继续判断第一个成像部件组中的第二个成像部件是否需要打印有效点阵数据,即可判定第一个成像部件组中的各成像部件均无需打印有效点阵数据,从而为第一成像部件组中的各成像部件配置无效点阵数据。
步骤273:在判断结果为是时,按照该成像部件组中各成像部件预先的排序,依次针对每个成像部件,判断该成像部件是否需要打印有效点阵数据;
步骤274:在判断结果为否时,为该成像部件配置无效点阵数据;
步骤275:在判断结果为是时,为该成像部件从对应的存储单元中,读取缓存的有效点阵数据;
在判断出成像部件组需要打印有效点阵数据,即该成像部件组中至少存在一个成像部件需要打印有效点阵数据时,因为若该成像部件组中存在两个及两个以上成像部件需要打印有效点阵数据时,这些需要打印有效点阵数据的各成像部件有可能同时产生读存储器请求,从而发生争抢总线写权限的问题,因此需要采用读权限仲裁方法,首先按照该成像部件组中各成像部件预先的排序,依次针对每个成像部件,判断该成像部件是否需要打印有效点阵数据,然后在判断结果为否时,为该成像部件配置无效点阵数据;以及在判断结果为是时,获得读权限为该成像部件读取对应的存储单元中缓存的有效点阵数据。
另外,通常主机端发送的针对每一成像部件的有效点阵数据,是按照该成像部件打印有效点阵数据的时间先后顺序进行发送的,且有效点阵数据写入同一存储单元的顺序与接收到有效点阵数据的时间先后顺序一致。所以需要打印有效点阵数据的成像部件,通常从对应该成像部件的存储单元中,读出最先写入的有效点阵数据进行打印输出。由于有效点阵数据是写入对应的存储空间中缓存,假如存储空间A中按照时间顺序分别写入了有效点阵数据a、b、c,例如有效点阵数据a、b、c分别均为128bit(不同的打印系统有不同的位宽要求,此处以主机端发送128bit对应一个成像部件的数据,以及每次读出128bit的数据至一个成像部件进行打印为例来说明),那么在读出最先写入的有效点阵数据a后,存储空间A中此时最先写入的有效点阵数据为b。
综上所述,在进行数据打印时,可按照成像部件组预先的排序,依次判断各成像部件中是否至少有一个成像部件需要打印有效点阵数据,在判断结果为需要时,依次使需打印有效点阵数据的成像部件组中各需要打印有效点阵数据的成像部件获得读权限,并在读出相应的点阵数据后让出读权限;在判断结果为不需要时,则为该成像部件组中的各成像部件均配置无效点阵数据。即为了避免各成像部件争抢存储空间的读总线,可以建立轮询机制,如图5所示,首先查询第一个成像部件组是否需要打印有效点阵数据,即查询第一个成像部件组中是否至少有一个成像部件需要打印有效点阵数据,如果第一个成像部件组不需要打印有效点阵数据,则为第一个成像部件组中的各成像部件配置无效点阵数据,并继续查询第二个成像部件组是否需要打印有效点阵数据,即查询第二个成像部件组中是否至少有一个成像部件需要打印有效点阵数据;如果第一个成像部件组需要打印有效点阵数据,则按照第一成像部件组中各成像部件预先的排序,首先,判断第一个成像部件是否需要打印有效点阵数据,如果第一个成像部件不需要打印有效点阵数据,则为第一个成像部件配置无效点阵数据,并继续判断第二个成像部件是否需要打印有效点阵数据;如果第一个成像部件需要打印有效点阵数据,则获得读权限直到为该第一成像部件读出对应存储单元中缓存的有效点阵数据,然后继续判断第二个成像部件是否需要打印有效数据,以此类推,读权限仲裁循环往复进行查询,此处不再赘述。
需要说明的是,上述第一个成像部件获得读权限后,为该第一成像部件读出对应存储单元中缓存的有效点阵数据的量,依据具体打印系统的打印位宽而定。
较佳地,在步骤273执行完从对应的存储单元中读取缓存的有效点阵数据之后,还包括:判断所述存储单元是否读空;以及在判断出该存储单元读空时,发出读空信号向主机端报告打印错误。
下面继续参照图2说明本发明实施例提出的点阵数据打印方法:
步骤28:控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。其中,上述打印输出有效点阵数据与打印输出无效点阵数据的过程并没有特定的时序关系。
在步骤27中为需打印有效点阵数据的成像部件读出对应的有效点阵数据,以及为不需要打印有效点阵数据的成像部件配置无效点阵数据后,满足了数码印刷设备对点阵数据的需求,可以进行后续控制各成像部件进行打印输出点阵数据的处理。
上述已经提到对应每个成像部件都提供四个寄存器,分别存储该成像部件对应存储单元的起始地址、结束地址、以及当前读地址、当前写地址。建立由每个成像部件对应的四个地址参数构成的索引表,从而在特定的成像部件需要进行读写访问时,可以根据索引表读出相应成像部件的四个地址参数,并将读出的四个地址参数放到四个对应的公用寄存器中,利用公用寄存器进行读写访问操作。
具体地,公用寄存器在执行完一次读写操作后,通过当前地址的累加操作计算出下一个地址,即当前读写地址,从而按照地址达到访问存储器的目的。若计算出的下一个写地址超过了该成像部件对应存储单元的结束地址时,那么下一个地址就是该成像部件对应存储单元的起始地址,以循环使用地址空间;读写访问操作结束后,公用寄存器将最后一次读写的地址进行累加计算出下一个地址,即得到当前读写地址,并利用公用寄存器中起始地址和结束地址,将四个公用寄存器此时的值写回对应的寄存器中。若某一特定成像部件对应存储单元的当前读地址超过了当前写地址,那么认为该存储单元的数据读空,发出读空信号,向主机端报告打印错误,说明数据打印速度大于写入速度,需要加快前端数据读入速度;若某一特定成像部件对应存储单元的当前写地址等于当前读地址,那么认为该存储单元写满,发出写满信号,说明数据打印速度小于写入速度,通知前端暂停读入数据。
下面以一个具体的实施例来说明本发明方案。在本实施例中以主机端动态确定打印所需成像部件的数目,根据确定的打印所需成像部件的数目,将单一存储器动态拆分为对应每个成像部件的存储单元,以及所述单一存储器为单总线存储器为例来说明。
主机端动态确定打印所需成像部件的数目;在点阵数据打印装置中设置与上层主机端的配置接口,使得点阵数据打印装置可根据主机端设置的系统中使用的成像部件数目,动态为每个成像部件分配存储空间,每个存储空间都有起始地址和结束地址,采用地址寄存器存储划分出的各存储空间对应的四个地址,包括存储空间的起始地址、结束地址,该存储空间的当前读地址、写地址。在进行相应存储空间的读写操作时,从该地址寄存器中取出对应的四个地址,放入公用寄存器中进行读写操作,读写操作完成后将公用寄存器中的四个地址再写回地址寄存器中。由于对应每个成像部件的存储空间相对独立,所以该存储空间的地址可以循环使用。
在接收到主机端发送的有效点阵数据后,点阵数据打印装置将接收的有效点阵数据按照成像部件进行划分,使得划分出的每份有效点阵数据分别与每个成像部件对应;通常主机端按照成像部件组预先的排序,顺序发送有效点阵数据,因此各成像部件组间不存在争抢总线写权限的问题,但在一个成像部件组中各成像部件间可能发生争抢总线写权限的问题,所以采用写仲裁方式,按照各成像部件组中各成像部件预先的排序,依次针对每个成像部件,将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存,并在对应该成像部件的有效点阵数据写完后让出总线写权限。
在执行完将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元缓存之后,还包括:判断该存储单元是否写满;以及在判断出该存储单元写满时,发出写满信号通知主机端暂停发送有效点阵数据。
当然,由于存储器为单总线存储器,而采用本发明方案,读写存储器的访问是相对独立进行的,所以读和写请求有可能同时发生,因此采用读写仲裁方式,优先满足读操作权限,以保证后端读取打印数据的连续性,即在进行存储器写操作之前,还包括判定没有从所述存储器中读出数据的请求的步骤。
同样的,在进行数据打印时,各成像部件组可能同时有从存储器中读取有效点阵数据的请求,从而存在读权限总线竞争,因此采用读权限仲裁方式,按照各成像部件组预先的排序,依次针对每个成像部件组,判断该成像部件组中是否至少有一个成像部件需要打印有效点阵数据;在判断结果为否时,为该成像部件组中的各成像部件配置无效点阵数据;在判断结果为是时,依次使该成像部件组中各需要打印有效点阵数据的成像部件获得读权限,将获得读权限的成像部件对应的存储单元中缓存的有效点阵数据读出,以及为该成像部件组中各不需要打印有效点阵数据的成像部件配置无效点阵数据。
在完成将成像部件对应的存储单元中缓存的有效点阵数据读出之后,还包括:判断所述存储单元是否读空;以及在判断出该存储单元读空时,发出读空信号向主机端报告打印错误。
本发明实施例提出的点阵数据的打印装置如图6所示,包括:接收单元601,用于接收主机端发送的有效点阵数据;数据划分单元602,用于将所述接收的有效点阵数据按照成像部件进行划分;写入单元603,用于将划分出的对应每个成像部件的有效点阵数据,分别写入与该成像部件对应的存储单元中缓存;读取及配置单元604,用于为需要打印有效点阵数据的各成像部件分别读取对应缓存的有效点阵数据,为不需要打印有效点阵数据的各成像部件分别配置无效点阵数据;打印控制单元605,用于控制所述需要打印有效点阵数据的各成像部件分别将所述读取的有效点阵数据打印输出,控制所述不需要打印有效点阵数据的各成像部件分别将所述配置的无效点阵数据打印输出。
所述点阵数据的打印装置还包括:存储空间划分单元606,用于按照成像部件的数目N,将存储空间划分为N个存储单元;映射单元607,用于将划分得到的N个存储单元与该N个成像部件进行一一对应映射。其中,所述成像部件的数目是动态变化的。
所述写入单元603按照各成像部件组预先的排序,以及各成像部件组中各成像部件预先的排序,依次针对每个成像部件,将所述对应该成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存。
所述点阵数据的打印装置还包括:写满判断单元608,用于在写入单元603将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存之后,判断该存储单元是否写满;写满通知单元609,用于在判断出该存储单元写满时,发出写满信号通知主机端暂停发送有效点阵数据。
所述读取及配置单元604具体包括:第一判断子单元,用于按照各成像部件组预先的排序,依次针对每个成像部件组判断该成像部件组中是否至少有一个成像部件需要打印有效点阵数据;第一配置子单元,用于在第一判断子单元的判断结果为否时,为该成像部件组中的每个成像部件配置无效点阵数据;第二判断子单元,用于在第一判断子单元的判断结果为是时,按照该成像部件组中各成像部件预先的排序,依次针对每个成像部件,判断该成像部件是否需要打印有效点阵数据;第二配置子单元,用于在第二判断子单元的判断结果为否时,为该成像部件配置无效点阵数据;读取子单元,用于在第二判断子单元的判断结果为是时,为该成像部件从对应的存储单元中,读取缓存的有效点阵数据。
所述点阵数据的打印装置还包括:读空判断单元610,用于在读取子单元从对应的存储单元中读取缓存的有效点阵数据之后,判断所述存储单元是否读空;读空通知单元611,用于在判断出所述存储单元读空时,发出读空信号向主机端报告打印错误。
所述点阵数据的打印装置还包括判定单元612,用于当所述存储空间为单一总线接口存储空间时,在写入单元603将对应成像部件的有效点阵数据写入与该成像部件对应的存储单元中缓存之前,判定没有从所述存储空间中读出数据的请求。
本发明实施例提出的点阵数据的打印方法,充分利用了软件的灵活性和硬件的实时性,结合分成像部件的存储和管理方法,动态分配存储空间并循环使用,该方法及对应的点阵数据打印装置简单易实现,能够满足数据的快速存储和管理,由于进行了合理的设计,大大减少了硬件资源的消耗,降低了成本。
本发明实施例提出的点阵数据打印方法,简单容易实现,可以保证数码印刷设备的数据存储速度,减少硬件资源的消耗。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。