一种喷码机的fpga控制系统及其控制方法

文档序号:9708017阅读:465来源:国知局
一种喷码机的fpga控制系统及其控制方法
【技术领域】
[0001 ]本发明涉及一种基于FPGA实现喷码机的喷码控制系统及方法。
【背景技术】
[0002]目前,可作为喷码机的喷墨模块的控制引擎的方案有:高速CPU、DSP(digitalsignal processor,数字信号处理器)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)及FPGA(Field-Programmable Gate Array,现场可编程门阵列),其中采用高速CPU和DSP控制具有成本高的缺点,而且由于其串行的指令特性,当产线速度比较高时,喷码机的喷印控制经常不能实时跟上产线速度的变化,导致出现漏喷、间断等问题;CPLD控制虽然支持并行处理,但由于是控制密集型,芯片内部没有可作数据缓冲区的存储器,因此需要外挂存储器,导致成本增加、电路变复杂,机身尺寸增大。

【发明内容】

[0003]本发明的目的在于克服上述现有技术的不足,提供一种利用FPGA实现对喷码机的打印控制系统及方法,实现模化块,提高整体系统的实时性。
[0004]为实现上述目的,本发明采用以下技术方案:
[0005]—种喷码机的FPGA控制系统,包括
[0006]用于与CPU主控系统交互的并行总线接口以及与喷码设备的后端驱动相连的串行接口;
[0007]FIFO单元,用于接收和存放所述CPU主控系统写入的原始打印数据;
[0008]喷印控制寄存器,用于接收和存放所述CPU主控系统写入的控制字;
[0009]喷印状态寄存器,用于存放需要向所述CPU主控系统报告的状态信息;
[0010]数据转换模块,用于根据打印作业参数,对原始的打印数据进行偏移、镜像、压点处理,从而生成目标打印数据;
[0011]承印物侦测及产线速度侦测模块,与电眼、同步器相连,用于对电眼、同步器输入的信号进行侦测并生成打印启动及同步信号;
[0012]状态机单元,控制所述FIFO单元、喷印控制寄存器、喷印状态寄存器、数据转换模块以及承印物侦测及产线速度侦测模块,用于控制打印数据的读和写操作以及对打印数据的处理,根据打印启动及同步信号将目标打印数据发送至喷码设备的后端驱动;
[0013]数据缓冲器,用于接收来自状态机单元的命令,暂存原始打印数据以及生成的目标打印数据。
[0014]—种基于FPGA的喷码控制方法,包括以下步骤:
[0015]1)CPU主控系统将打印数据写入所述FIFO单元,并向所述喷印控制寄存器写入控制字;
[0016]2)状态机单元收到控制字后将打印数据从FIFO单元取出并暂存到原始打印的数据缓冲器;
[0017]3)数据转换模块根据所述喷印控制寄存器中的参数对原始打印数据进行偏移、镜像、压点等处理从而生成目标打印数据,并将目标打印数据暂存在目标打印的数据缓冲器;
[0018]4)电眼、同步器将检测到的信号输入承印物侦测及产线速度侦测模块,所述承印物侦测及产线速度侦测模块对电眼信号和同步器信号进行侦测并生成打印启动及同步信号;
[0019]5)状态机单元根据所述承印物侦测及产线速度侦测模块生成的打印启动及同步信号,将目标打印数据往后端驱动输出;
[0020]6)完成所有打印数据后,所述喷印状态寄存器向所述CPU主控系统报告打印状态。
[0021]上述步骤4)与5)中采用速度预测算法,用同步器检测承印物的运动速度,把当前检测到的速度,预测为下一列喷印时的速度,并按该速度控制喷嘴的动作,在下一列的喷印周期内,根据实际检测到的速度再对下一列的喷印速度进行调整。
[0022]采用上述技术方案后,本发明与【背景技术】相比,具有如下优点:
[0023]本发明方案适用于Elf in系列喷码机,其采用ALTERA新一代的FPGA(FieIdProgrammable Gate Array,型号为EP4CE22E22)作为喷墨控制引擎,FPGA内部有可配置的存储器资源,无须外挂存储器,与CPU主控系统采用总线方式通信,作为单芯片方案,喷墨控制引擎非常简洁,同时具有完备的喷印数据存储、数据处理以及喷印控制能力。
【附图说明】
[0024]图1为本发明FPGA系统的内部结构示意图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]实施例
[0027]如图1所示,本发明FPGA系统的内部结构包括FIFO单元、状态机单元、喷印控制寄存器、喷印状态寄存器、数据缓冲器(BUFFER)、数据转换模块、承印物侦测及承印物侦测及产线速度侦测模块,FPGA系统通过并行总线接口与CPU主控系统进行交互,并且还通过串行通讯接口与喷码设备的后端驱动相连。
[0028]FIF0(First Input First Output,先入先出)单元用于接收和存放CPU主控系统写入的喷印数据。
[0029]喷印控制寄存器用于接收和存放CPU主控系统写入的控制字,控制字是决定FPGA控制系统作出何种动作的命令,例如开始喷印,改变喷印方向等,喷印控制寄存器的空间大小为16个16位字节。
[0030]喷印状态寄存器用于存放需要向CPU主控系统报告的状态信息,例如喷印是否已完成、目前喷印哪个步骤等状态信息,CPU可以随时了解喷印状态,喷印状态寄存器的空间大小为16个16位字节。
[0031]数据转换模块负责喷印数据的偏移、镜像、双头组合时的压点等处理。每个喷头有300个喷嘴,编号为N1、N2……N299、N300,对应300位喷印数据,编号为B1、B2……B299、B300o
[0032]数据偏移的处理如下:假如向下偏移2位,则如此处理喷印数据:0、0、N1、N2……吧97、吧98,假如向上偏移3位,则如此处理喷印数据:财、肥……N299、N300、0、0、0。
[0033]数据镜像的处理如下:将喷印数据由N1、N2……N299、N300排列,镜像为N300、N299……N2、N1排列即可。
[0034]双头压点的处理如下:比如两个喷头组合时由于结构原因,喷印内容重叠了3点,则将上喷头的喷印数据向上偏移3位即可,或者将下喷头的喷印数据向下偏移3位也可。
[0035]由于FGPA的并行处理特点,以上各处理可在一个时钟周期内完成,极大地提高了喷印数据的处理速度,如果交由系统CPU处理,由于CPU的串行指令特点,将大量消耗CPU资源及时间并降低整机的喷印速度。
[0036]数据缓冲器用于暂存原始打印数据以及生成的目标打印数据。
[0037]承印物侦测及产线速度侦测模块与电眼、同步器相连,用于对电眼、同步器输入的信号进行侦测并生成打印启动及同步信号。
[0038]状态机单元控制上述各个模块单元,用于控制打印数据的读和写操作以及对打印数据的处理,根据打印启动及同步信号将目标打印数据发送至喷码设备的后端驱动。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1