版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式喷码机系统的设计与开发王宏文淳B章亮;宁乐;雷盼霎【摘要】Accordingtotheefficientandstablecharacteristicsofmodernproductionassemblylinework,akindofnewinkjetprintercontrolsystemisdesignedwhichusesS3C6410processorandWINCE6.0operatingsystemasitscore.Byadoptingtheideaofmodularization,theinkjetprinterpowersupplycircuitisdesignedandfinishedthedesignofotherperiph-eralcircuit.UsingthePlatformBuilder,itcompletesthedevelopmentoftheXJ128print-headdriverandtheintegrateddesignoftheDM9000Adriver,meanwhiletheWINCE6.0operatingsystemiscustomized.VS2005softwareisusedforhuman-machineinterfacedevelopmentbyadoptingmultithreadedprogrammingtechnique.Theexperimentalresultsprovethattheinkjetprintercontrolsystemrunsstableandreliable,theimageprintedisveryclear,meettherequirementofthemanufacturer.%针对现代生产流水线作业高效、稳定特点,设计了一种基于S3C6410处理器和WINCE6.0系统为核心的新型喷码机控制系统.采用模块化的思想对喷码机的电源电路进行了设计并完成了其他外围电路的硬件实现.利用PlatformBuilder完成了XJ128喷头驱动的开发和DM9000A网卡驱动的集成设计并定制了WINCE6.0操作系统.通过VS2005采用多线程编程技术进行了人机界面开发.实验结果表明该系统运行稳定可靠,喷印图像清晰,满足了生产厂商对高效率喷码机系统的要求.【期刊名称】《计算机工程与应用》【年(卷),期】2017(053)024【总页数】7页(P226-232)【关键词】S3C6410处理器;WINCE6.0系统;喷码机控制系统;XJ128喷头驱动;人机界面【作者】王宏文淳障亮;宁乐;雷盼霎【作者单位】河北工业大学控制科学与工程学院沃津300130;河北工业大学控制科学与工程学院沃津300130;河北工业大学控制科学与工程学院沃津300130;河北工业大学控制科学与工程学院,天津300130【正文语种】中文【中图分类】TP23近年来,随着现代工业的飞速发展,越来越多的生产企业对产品标识技术提出了更高的要求。更快、更好的喷印质量和更低的生产成本成为喷墨打印机系统发展的主要挑战[1]。目前国内喷码机设备多数采用单片机控制,存在着喷印效率低、结构复杂和功能单一等缺点,不能满足现代企业流水式作业的要求。基于此现状,文献[2-5]提出了一种嵌入式喷码机系统,通过将嵌入式ARM9技术和WINCE5.0系统应用于喷码机系统中,对喷码机系统做出了重大改进并为国内喷码机行业的发展提供了技术性支持,但以上方案仍存在不足之处。例如,其中电源电路的设计大多采用变压整流方案,虽然使系统更加紧凑,但是系统存在发热且易受电磁干扰的问题。喷印环节采用非中断模式,因此喷印效率比较低,未能满足现代企业流水式作业的要求。同时存在应用软件不足的问题。针对以上问题,本文结合项目的需求从硬件和软件两个方面对系统进行了升级和改进,设计了一种基于S3C6410处理器和WICNE6.0操作系统为核心的高解析喷码机控制系统。该系统完善了电源电路的设计,提高了系统抗电磁干扰的能力,采用中断的方式完成了喷头驱动程序的开发提高了喷印效率,对喷码机应用程序进行了重新设计,增加了图像处理和快捷菜单等功能,同时通过添加DM9000A网卡模块实现了远程动态监测功能。通过对上述模块和功能的完善,最终设计出一款人机操作简单、喷印质量高和执行效率快的嵌入式喷码机系统。高解析喷码机系统由控制系统、输入输出接口、检测设备和XJ128喷头组成。控制系统的主控制芯片采用S3C6410,它是一款低功耗、性能高的RISC处理器[6],负责检测流水线上传送带的转速,待喷印物体是否到达喷印区域,图像数据的加载和处理,并控制XJ128喷头实现高效喷印。输入输出接口包含USB摄像头接口、LCD触摸屏接口、9针和15针串口等。检测设备主要由欧姆龙系列的E6B2-CWZ6C增量型旋转编码器和E3ZB61光电传感器组成。XJ128喷头是由英国赛尔(XAAR)公司生产的一款按需喷印式喷头,XJ128喷头可实现200dpi分辨率[7]的喷印效果。高解析喷码机系统的总体结构图如图1所示。系统上电后,首先光电编码器采用变M/T法[8]用于检测流水线上传送带的速度和方向,并将检测到的数字脉冲信号反馈给控制系统,控制系统将此信息与设定值进行比较,用于保持传送带速度的稳定。当激光传感器检测到传送带上的待喷印物体时,触发喷印中断事件,中断处理程序调用ISR(InterruptServiceRoutine)通知内核触发喷印事件,同时该事件的IST(InterruptServiceThread)进入就绪状态,在中断处理线程函数IntProcesThread()中,控制系统采用曲线拟合的方法用于控制喷头的点火频率和SPI的传输速率,然后驱动XJ128喷头将从应用程序导入的图像数据打印到待喷印物体上。摄像头模块负责监测喷码机控制台的工作状态并将相应的数据通过以太网发送到远程数据服务中心。系统硬件电路主要由ARM11主控制电路、喷头转接电路、电源电路和输入输出接口电路组成。系统主控制器S3C6410配有1GB的NANDFLASH和256MB的SDRAM,分别用于存储系统程序、配置文件、系统正常运行时产生的用户程序和程序正常运行时临时数据的存储区。硬件系统的总体框图如图2。喷码机系统的电源电路采用模块化的设计思想。为了降低系统的开发难度、提高系统的稳定性、安全性和抗电磁干扰的能力,本设计放弃了原先的变压整流供电方案,采用24V12W的直流电源适配器供电。电源电路主要提供4部分电源:S3C6410主控制器和其他外设芯片正常工作所需要的3.3V系统电源;USB模块、LCD模块、电平转换电路和喷头的逻辑电压5V电源;检测装置中所需要的12V的检测电压;XJ128喷头正常工作所需要的36V驱动电压。为了防止不同模块之间由于功耗不同造成的电磁干扰,各模块之间均采用独立供电即每个模块都需要单独与直流电源适配器连接。在设计XJ128喷头的36V驱动电压时,由于市场上很难找到输出为36V的稳压模块,最后采用2片金升阳带隔离的DC-DC模块VRB_MP-8W-24V和VRB_MP-8W-12V相叠加得到,并在电路的输出端接入470Uf/50V的电解电容和0.1pF的贴片电容进行稳压滤波。喷码机电源电路在设计时选用了3个三端稳压芯片LM2575。该稳压电源是降压型开关稳压器的集成电路,采用贴片式封装具有良好的散热性,芯片内部有完善的保护电路,其电压输出可调范围为1.23~37V,开关频率为52kHz。例如,图3为该芯片为检测装置提供12V的检测电压电路。其中VMP为开关电源适配器的24V电压输出端,为了保证转换电路的安全稳定,在电路的输入端接有滤波电容,考虑到电容的ESP应尽可能小以减少电容漏电损耗,故选用了100pF/50V的电解电容,在电解电容两端并联了一个0.1pF的贴片电容以实现对高频及脉动干扰信号的有效滤除。电路输出端接有肖特基二极管B340A用于续流,根据公式(1)并结合负载电流约为0.5A最终选用470pH的线圈磁芯电感。最后考虑到电容的等效串联电阻和耐压值等因素,最终选用470mF的电解电容,在其两端并联0.1pF的贴片电容进行高频滤波。式(1)中,VI表示LM2575的输入电压,VO为芯片的输出电压,f表示开关频率,T表示开关周期,E表示线圈的感应电动势。处理器要想实现对XJ128喷头的控制以及图像数据的传输,首先需要进行电平转换,本设计采用了2片74LVC4245用于完成处理器的3.3VCMOS逻辑电平和喷头的5VTTL逻辑电平之间的转换。74LVC4245为三态双转换总线接收发器[9],每个芯片拥有8路转换接口,其中DIR引脚用于控制电平的转换方向。S3C6410与XJ128喷头之间主要通过11条信号线进行数据传输,处理器通过其中的8条信号线向XJ128喷头发送数据及控制指令,通过另外的3条信号线接收XJ128喷头反馈的指令信息。图4为S3C6410与喷头的15针串口的连接示意图。网络模块设计时采用DM9000A网卡芯片负责远程数据的传输,该网卡控制器支持10/100MB的传输模式和RJ-45标准接口[10],内部带有16KByte的SRAM作为数据的收发FIFO缓冲区。图5为S3C6410与DM9000A的连接电路。本设计中,S3C6410与DM9000A采用16位模式相连,即DM9000A的SD0~SD15引脚分别与S3C6410的低16位数据线相连。片选信号CS引脚与处理器的Bank1引脚Xm0CS1相连,所以该芯片的物理基地址为0x18000000。DM9000A具有2个可以访问的端口,地址端口和数据端口,数据地址信息复用通过CMD引脚进行选择,例如:当Xm0ADDR[2]为低电平时,访问的为数据端口。另外DM9000A的中断引脚与S3C6410处理器的EINT5相连,处理器通过EINT5引脚接收DM9000A的中断请求。系统软件设计主要包括XJ128喷头驱动程序设计和DM9000A网卡驱动程序设计以及喷码机应用软件设计。为方便应用程序对喷码机的硬件设备进行灵活的控制,喷头驱动和网卡驱动均采用流接口驱动形式进行编写。在流驱动中外设被抽象成一个文件,应用程序通过使用操作系统提供的文件API调用对应的流式接口函数访问外设[11],即把对喷头、网卡等硬件的操作转变成对相应文件的读写控制。用户只需要在相应的接口函数中根据硬件设备的操作时序编写控制命令即可。流接口设备驱动提供给操作系统标准的流接口,如:XXX_Init()、XXX_Read()和XXX_IOControl()等。4.1.1XJ128喷头设备驱动程序的设计喷头驱动程序的编写必须严格按照XJ128喷头的逻辑时序进行编写,为了提高系统的效率,喷印环节是在中断服务线程IST中完成的。当E3Z-B61激光传感器检测到待喷印物体时,与E3Z-B61的输出端相连的EINT0弓I脚会接收到一个低电平信号从而产生一个IRQ(InterruptReQuset),该IRQ通过ISR被映射为OEM(OriginalEquipmentManufacturer)定义的逻辑中断,操作系统根据该逻辑中断通知内核触发喷印事件,然后该事件的IST便进入就绪状态并调度执行喷印动作。在编写喷头的驱动之前,需要完成的工作有两点:(1)5V逻辑电压和36V驱动电压的上掉电时序控制,主要通过控制与GPE3和GPE4引脚相连的2个继电器的通断,分别实现对36V驱动电压和5V逻辑电压的控制。需要注意的是:XJ128喷头的驱动电压、逻辑电压和复位必须满足一定的上掉电顺序[12],否则会缩短喷头寿命甚至烧毁喷头。(2)PWMTimer和SPI的设置,系统需要通过设置PWMTimer的TCFG0、TCFG1、TCMPB0、TCNTB0、TCON寄存器为XJ128喷头提供1MHz的主时钟。XJ128喷头内部有2个64位的移位寄存器[13],应用程序中的数据通过SPI的MOSI引脚装载到该寄存器中。通过配置SPI的MODE_CFG寄存器设置传送模式为32位,只需要2次便可完成数据的装载。因为数据传输模式即可在查询中又可在中断中完成,为了进一步提高数据传输的速率,本设计采用中断模式,当检测到TX_DONE标志位为1后立即进入中断函数完成数据传输。另外卜需要通过设置SPI的CLK_CFG寄存器使串口波特率跟喷头的主时钟保持一致。喷头的逻辑时序图如图6。在WINCE6.0系统下,要完成XJ128喷头设备驱动程序的编写,首先需要将寄存器的物理地址转变成程序可以访问虚拟地址。具体实现方法是先通过函数VirtualAlloc()在,hareMemory上申请一段地址空间,然后通过函数VirtualCopy()将该地址映射到Kernel中虚拟地址上,这样便可以通过程序实现对喷头、网卡等硬件设备的控制。完成地址映射后,接下来需要在函数PRT_Init()中完成相应寄存器的配置工作,主要是对与XJ128喷头的nREST(复位)、nFIRE(点火)、READY、nSS1和nSS2(片选)信号相连的GPG1、GPB8、GPB6、GPG14和GPG13弓I脚的寄存器进行输入输出配置。同时要完成中断初始化工作,具体实现是通过函数CreateEvent()创建喷印中断事件并将该内核事件赋值给句柄hPRTEvent,利用函数KernelIoControl()获取IRQ的逻辑中断服务号并赋值给dwPRTSysIrq,通过函数InterruptInitialize(hPRTEvent,wPRTSysIrq)将逻辑中断号与中断事件进行绑定。最后通过函数CreateThread()、CeSetThreadPriority()创建该事件的IST并设置喷印事件为最高中断优先级。当触发喷印中断事件,进入函数PRTThread()后,先清除该事件的中断标志位,然后根据XJ128喷头的控制时序完成喷头驱动程序的编写。图7为喷头设备驱动程序的具体实现流程图如下。4.1.2DM9000A网卡驱动的集成设计网卡驱动程序的集成设计主要包括DM9000A网卡芯片的初始化和数据帧的接收和发送。网卡的初始化部分是在初始化接口函数DM9_Init()中实现的,主要完成地址映射和相关寄存器的配置工作。首先完成地址的映射,本设计中直接在OEM层地址配置表(oemaddrtab_cff.inc)中查找到DM9000A芯片所使用的SROM的BANK1的虚拟地址为0x94000000,再经过映射后作为网卡芯片内部寄存器的首地址,这样驱动程序便可以直接访问该地址。然后,S3C6410需要通过对其外部控制总线和数据总线的读写操作实现对DM9000A的相应的控制寄存器的配置工作,其中关键寄存器的配置步骤如下:(1)完成芯片的复位唤醒工作后,通过配置芯片的GPR寄存器激活内部PHY°(2)通过配置NCR寄存器设置芯片的软复位并设置工作模式为回环模式。(3)设置IMR寄存器第8位为1,使能SRAM的读写指针并通过向PAR寄存器写入6个字节的以太网节点地址设置MAC地址。(4)通过设置NCR寄存器使芯片工作模式切换到正常模式。(5)通过向NSR和ISR寄存器读写1,分别清除发送标志位和中断状态标志位。(6)通过设置IMR寄存器开启DM9000A的读写中断使能。(7)设置RCR寄存器的第0位为1,开启网卡芯片的接收使能。完成以上寄存器的配置后,网卡芯片便可以正常启动,完成数据包的接收和发送。数据帧的发送和接受是在DM9_IOControl()函数完成的,该函数中主要包含网卡的发送函数dm9000a_send(pInBuf,nInBufSize)和网卡的接收函数dm9000a_receive(pOutBuf,nOutBufsize)。其中pInBuf和pOutBuf分别为流接口函数传入的发送数据指针和就收数据指针,nInBufSize和nOutBufsize为流接口函数传入的相应的发送、接收数据的长度。本设计中网卡模块主要完成喷码机系统现场数据的采集工作即数据的发送环节。发送函数的具体实现流程如下:首先,将待发送的数据写入DM9000A的发送缓冲区,将数据的长度写入到发送数据包长度寄存器(TXPLL/TXPLH)中,然后将发送控制寄存器(TCR)的第0位TXREQ位置1开始发送数据,检测网络状态寄存器(NSR)的完成标志位,需要注意的是PT标志属于ISR寄存器中的发送中断标志位,当数据发送完毕后,PT会被置0,等到一帧数据发送完成后需要清除PT发送标志位以方便发送新的数据帧。图8为发送函数的工作流程图。本设计采用PlatformBuilder6.0根据喷码机系统的硬件配置对WINCE系统进行了定制。主要是对S3C6410开发板的BSP包的源码进行相应的修改,修改内容主要有:通过在OEMInit()函数中添加与喷头、网卡和USB摄像头等硬件相关的I/O端口配置代码,完成喷码机系统硬件设备的初始化工作。通过修改源码配置文件中的Dirs、Source、MakeFile文件以及注册表文件BIB和REG为系统添加喷头驱动、网卡驱动和摄像头驱动等,并删除系统不需要的驱动功能。最后对修改好的BSP进行编译即可完成了系统定制工作,编译后最终生成3个重要的文件:STEPLDR.nb1、EBOOT.nb0和NK.bin。系统定制完成后同时可以导出特定的SDK(SoftwareDevelopmentKit)供开发喷码机应用程序使用。喷码机应用程序的开发是在VS2005编译环境下完成。程序设计中使用C++语言以及面向对象的设计思想,通过采用MFC编程方式[14]和多线程编程技术实现喷码机应用程序的开发。该应用软件主要功能有:(1)读取BMP位图信息并实现位图信息的加载与显示;(2)通过数字图像算法实现对位图信息的几何变换;(3)通过触摸屏上的按钮实现对喷码机硬件的控制并与硬件进行数据通信;(4)通过设置相应的参数改变喷头喷印的速度。图9为喷码机软件主界面。根据以上功能应用程序的编写采用了4个线程,其中主界面程序作为系统的主线程,在主线程中开辟了位图信息处理、软硬件通信和喷印调速3个子线程。下面主要对新添加的位图处理模块进行介绍。商标等复杂的位图文件的喷印是高解析喷码机的重要功能,在喷印之前需要读取位图的有效数据并经过编程驱动后才能完成图像的喷印。本设计通过创建CImgCenter类实现对位图信息的读取,即通过函数read(LPCTSTRlpimgpathname)读取保存在结构体BITMAPFILEHEADER、BITMAPINFOH-HEADER和RGBQUAD中的数据实现对位图文件头、信息头和调色板信息的读取。通过函数write(LPCTSTRlpimgname)实现对已打开的位图文件的数据进行修改。读取完位图数据后,需要对位图信息进行算法处理,即对位图进行几何变换。该部分函数主要是在GeometryTrans类中实现的。主要包含对位图的放缩、旋转和镜像处理等。由于篇幅所限这里就不在螯述,下面以图像的水平镜像为例进行介绍,水平镜像是指对图像进行像素位置变换,形成一个与镜面水平对称的另一图像的过程[15],图10为水平镜像的坐标示意图。假设输入的位图宽度为w像素,则原图中的像素点坐标为(x0,y0)经过水平镜像后的坐标为(w-1-x0,y0),于是水平镜像的变换公式为:在GeometryTrans类中,根据以上公式编写相应的程序即可在应用程序中实现位图的镜像处理。以喷印苹果笑脸标志为例对喷码机系统进行测试,首先通过DNW软件依次STEPLDR.nb1、EBOOT.nb0和NK.bin文件下载到喷码机系统的目标板当中,系统正常启动后,便可以通过U盘将应用程序的可执行文件(prt.exe)加载到目标板的NANDFLASH当中。然后关掉系统电源并连接好外围硬件电路,主要是将XJ128喷头、E6B2-CWZ6编码器和E3Z-B61光电传感器等器件连接到目标板上。给喷码机系统上电,通过应用程序将U盘中的苹果笑脸图片加载到目标板的NANDFLASH中,在应用程序中打开图片并调节图片大小为128x128,并调节喷头喷印速度为44m/min,然后对图片进行镜像调整并点击喷印按钮。等到传送带转速稳定在213r/min后,将实验用的白色纸盒放到传送带上,当光电传感器检测到待喷印物体后,喷头开始喷印。其中图11为待喷印的位图图片,图12为实际的喷印结果。经过实验测试表明:喷印过程中系统运行稳定,几乎不存在电磁干扰的问题;喷印速度表明改进后的喷码机系统喷印效率较高;增加了图像处理和快捷菜单的喷码机应用软件功能更加的丰富;实际图像与喷印图片存在镜像关系且经过应用程序处理后的图像数据喷印出来的图像更加清晰。设计达到了预期效果。本文介绍了一种基于S3C6410和WINCE6.0为核心的高解析喷码机系统,从硬件和软件两个方面对喷码机系统进行了设计与开发。模块化的电源设计增强了系统的抗电磁干扰能力,检测装置的加入构成了闭环控制系统,使系统运行更加的稳定。中断模式的加入,提高了系统的运行效率。摄像头和网卡模块的加入,系统可以进行远程动态监测。应用软件的开发实现了喷码机系统的人机交互。实验测试表明该系统运行稳定,喷印效果好,提高现代生产流水线作业的效率,具有很好的市场应用价值。【相关文献】EzzeldinM,vandenBoschPPJ,WeilanS,etal.Towardbetterprintingqualityforadrop-on-demandink-jetprinter:improvingperformancebyminimizingvariationsindropproperties[J].C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆解粉尘除尘运维工规程
- PGA岗位综合能力测试试题
- 路基填筑碾压操作工规程
- 口腔扁平苔藓饮食禁忌清单规范共识
- 浙江省绍兴市城东东湖2027届八上数学期末检测模拟试题含解析
- 2025-2026学年云南省开远市初中政治八年级期末上册自测模拟快速提分卷详细参考解析
- Oracle数据库综合测试题(含详细答案)
- OHSAS18001职业健康安全管理体系内审员考试试题及详细答案
- 全口义齿工艺技术试题含答案
- 冰雪天气道路防滑及交通事故演练方案
- 高中数学竞赛真题分类汇编 专题4 平面向量(学生版+解析版50题)
- 2025版中华民族共同体概论课件第三讲文明初现与中华民族起源(史前时期)第四讲天下秩序与华夏共同体演进(夏商周时期)
- 面积补差承诺协议书
- 《热学(第二版)》杨体强编-李椿 第6章 热力学第二定律学习资料
- 酒店公共卫生间每日检查表
- 2025版中石化石油化工项目可行性研究报告编制规定
- 2024年安徽省机械行业设备点检员职业技能竞赛理论考试题库(含答案)
- DL∕T 1832-2018 配电网串联电容器补偿装置技术规范
- QBJS 10-2023 轻工业工程设计概算编制办法 (正式版)
- 《VSM价值流图》课件
- 耳前瘘管护理查房课件
评论
0/150
提交评论