《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于DSP控制的USB接口速印机
基于DSP控制的USB接口速印机
EEworld
摘要: 本文提出了一种基于DSP和USB接口的速印机解决方案,并从电机控制、图像处理和通讯接口三方面做了详细的阐述。经测试,本系统打印品质良好,印速可达120r/min,并可实现电脑直接打印,拼接印刷,缩放印刷等功能。此解决方案使得硬件控制电路得到简化,整体性能有所提高,图像处理技术的升级更加方便,是一种优化的解决方案。展望:可在此方案基础上再增加扫描仪功能,使其功能更加强大。
关键词: DSP USB接口 速印机
Abstract:
Key words :

关键字: DSP" title="DSP">DSP控制 USB接口" title="USB接口">USB接口 速印机" title="速印机">速印机

    1引言   

    速印机(也称速印一体机)是指通过数字扫描,数码热敏头制版成像的方式进行工作,从而实现印刷速度在每分钟100张以上的印刷设备。速印机印速快、成本低、耗电少、维护方便,使其广泛应用于经常大批量印刷的学校、机关中。所以近几年来国内外对速印机的研究也在不断升温。本文提出了一种将图像处理和电机控制功能集成于一片DSP芯片内,并支持电脑直接打印输出功能的解决方案。

 

2 系统硬件组成   

本文设计的速印机的控制系统主要组成部分有:面板控制器(选用80C51单片机)、DSP(选用TI公司的TMS320F2812)、FPGA(选用ALTERA公司的EP1C6Q240C8)、USB芯片(选用Cypress公司的CY7C68013)、CIS(接触式图像传感器)、TPH(热敏打印头)、SDRAM、按键、液晶显示器、电机、电磁开关、传感器等。其硬件结构框图如图1所示   图1 系统硬件结构框图   

3 工作原理   

仅使用速印功能时,其工作流程可分为制版和印刷两步。制版工作流程为:待制版键按下后,面板控制器将制版信号通过串口送至DSP(数字信号处理器),DSP通过中断响应制版信号,并启动扫描电机和DSP片上的ADC模块,同时DSP通过握手信号告知FPGA(可编程逻辑门阵列)启动CIS。FPGA产生CIS的时钟信号CLK、选通输入信号SI及各色光源选通信号,并通过这几个信号产生的相应时序控制CIS通过模拟信号输出引脚SIG向ADC模块串行移位输出对应像素的灰度。DSP把扫描到的图像数据通过γ补偿、滤波、二值化、数字半色调图像处理后,把数据存放在SDRAM存储器中,并通过握手信号通知FPGA从SDRAM存储器中提取光栅数据并控制热敏打印头将其烧写在版纸(也称蜡纸)上,制版结束。

印刷工作流程为:印刷按键按下后,版纸牵引电机和压版电机配合将版纸挂到滚筒上,此时油墨电机工作均匀上墨,待进纸电机把纸送到印刷区后,压纸电机把纸贴到滚筒上,主电机带动滚筒转一圈后,分离电机开始工作将纸从滚筒上剥离。 待纸张进入出纸区后,出纸电机和负压风机同时工作将纸送出,至此第一张纸印刷完成。印刷多张时就不用再制版了,直接印刷即可。

若使用电脑直接打印功能时,其工作流程为:电脑主机通过USB芯片把数据传给FPGA,FPGA通过产生相应的时序信号将数据存至SDRAM存储器中,然后FPGA按行将数据烧写至版纸上。制版完成后,FPGA通过DSP的外部中断引脚触发DSP的外部中断,在DSP的外部中断服务程序中,进行印刷流程。

4基于DSP的电机控制   

TI公司的数字信号处理器TMS320F2812片上集成了两个事件管理器模块(EVA,EVB)。每个事件管理器都包含通用目的定时器、全比较PWM单元、捕捉单元和正交脉冲编码电路等,可同时方便的控制两部电机,专为多轴运动控制应用而设计。[1] 在本系统中两个事件管理器分别应用于控制三相无刷直流电机(主电机)和三相反应式步进电机(扫描电机)。

对三相无刷直流电机的控制采用了转速电流双闭环调速方式。其控制系统框图如图2   图2 转速电流双闭环调速原理框图   

TMS320F2812的捕捉单元可以方便的捕捉编码器的脉冲信号,以形成速度反馈。其ADC模块可以将霍尔电流传感器的模拟信号转换为数字值,以形成电流反馈。TMS320F2812的全比较PWM单元使得产生SVPWM(空间矢量脉冲宽度调制)的操作大大简化。双闭环调速方式提高了主电机(三相无刷直流电机)的控制精度。

步进电机具有如下特点:

(1)角位移与输入脉冲数成正比,无累积误差,具有良好的跟随性。

(2)动态响应快,易于起停、正反转及变速。

(3)速度可在宽范围内平滑调节,低速下仍能获得大转矩。

(4)步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应措施。三相反应式步进电机有三种工作方式:单三拍、双三拍和六拍工作方式。单三拍工作方式即是按A-B-C方式循环通电;双三拍循环通电顺序为AB-BC-CA;六拍循环通电顺序为A-AB-B-BC-C-CA(上述三种循环通电顺序均为正转方式)。[2] 三种工作方式中六拍工作方式相电流、转矩最大,高频性能最好,电磁阻尼大,不易产生振荡。所以本系统采用三相六拍工作方式控制步进电机。另外为了使步进电机更加稳定还使用了机械阻尼法,就是在电动机轴上加阻尼器。

5图像处理   

在仅使用速印功能时,其图像处理过程可分为五步:模拟图像数字化、γ校正、滤波、二值化和数字半色调处理。

模拟图像数字化是由TMS320F2812片上集成的ADC模块实现的。TMS320F2812的ADC模块是一个16通道12位分辨率具有流水线结构的模数转换器。它的16个通道可配置为两个独立的8通道,最快转换时间为80ns。从CIS中输出的模拟图像的电流经过ADC模块采样,其数字值存放在对应通道的结果寄存器ADCRESULT中,等待TMS320F2812的CPU作进一步的处理。

图像传感器的输入输出特性一般都不是线性的,即入射光强度L和曝光量D或者是输出电流I不是正比关系。输入输出关系可用以下公式表示: 。若γ为1时,输入输出为正比关系。但γ一般在0.4到0.8之间。对这种非线性关系进行校正,使其成为正比关系的   操作称为γ校正。可做一个具有平均特性的速查表来进行γ校正。[3]   图像中的边缘和噪声对应于傅里叶变换中的高频部分,所以要削弱噪声就需要减弱高频分量部分。我们需要选择一个合适的低通滤波器。理想低通滤波器(将高频成份直接“截去”)可以削弱噪声、平滑图像,但容易产生模糊和振铃现象。一阶巴特沃思(Butterworth)低通滤波器可以平滑图像、削弱噪声,并且巴特沃思低通滤波器在高频与低频间的过渡比较光滑,所以不易出现振铃现象。由于图像边缘部分也对应于傅里叶变换中的高频部分,过分削弱高频分量会使图像模糊。所以选择合适的截止频率即能有效去除噪声,又能使图像不太模糊。品质要求较高时,也可再对图像进行适当的锐化清晰处理。

图像的二值化就是将灰度图像变为只有两个灰度级的图像。其过程非常简单,就是确定一个阈值T,大于阈值的灰度值变为1,小于阈值的灰度值变为0。在一幅图像的整体范围内只取一个阈值来对图像进行二值化处理的方法称为全局阈值法。将图像分成几个子块,在每个子块中选取最佳阈值的方法为局部阈值法。在纯文本速印方式时使用全局阈值法,在图片速印方式时使用局部阈值法。本系统中采用最大方差比法计算阈值。

数字半色调处理过程就是创建复合点(也称半色调单元)的过程。复合点(spot)是由打印机点(dot)组成的方块网格,这些网格中的任何一个打印机点都是可以打开或关闭的(白色或黑色)。若要创建一个深色复合点,可以将该复合点内的打印机点多打开一些;若要创建一个浅色复合点,可以少打开一些打印机点。人眼具有低通特性,能将复合点看成具有灰度的点。[4] 这些复合点具有3个属性:频率、角度和形状。本系统使用分辨率为400dpi*400dpi的打印机。网点频率为50lpi(lines per inch),灰度色阶数为65,采用45度方块形网格。使用数字半色调处理技术,可以在二值输出设备上输出漂亮的灰度(连续色调)图像。

6通讯接口   

一般的串口通讯速率为几Kb/s到几十Kb/s,并口的速率为40Kb/s到1 Mb/s,USB接口有低速、全速和高速三种工作方式,低速模式的传输速率为1.5Mb/s,全速为12 Mb/s,高速可达480 Mb/s,特别适合像速印机这样的需要大批量传输数据的设备。本速印机选用USB2.0全/高速接口作为与电脑主机的接口。

USB功能设备芯片选用Cypress公司EZ-USB FX2系列的CY7C68013。它包括1个增强型8051处理器、1个串行接口引擎(SIE)、1个USB收发器、8.5KB片上RAM、4 KB FIFO存储器及1个通用可编程接口(GPIF)。它支持高速模式,兼容全速模式,性价比高,是USB2.0接口设计的主流芯片之一。[5]   USB定义了四种传输方式:控制传输方式、等时传输方式、中断传输方式和批量传输方式,以适应各种设备的需要。在开发USB设备时可通过设置相应寄存器使端点处于不同的工作方式。控制传输主要用来进行查询、配置端点和给设备发送命令。等时传输提供了确定的带宽和间隔时间,它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如USB麦克风、音箱等使用等时传输是很好的选择。中断传输方式是PC机周期性的轮询设备是否有数据要传送的一种方式,该方式应用于少量的、分散的、不可预测的数据传输,比如键盘、鼠标、摇杆等。批量传输方式主要应用于无带宽和间隔时间要求的大量数据的传送和接收,打印机、扫描仪和USB硬盘等就属于这种类型。在速印机系统中,USB芯片“大”端点2、4、6、8均配置为双倍缓冲区批量传输方式。

CY7C68013有3种接口模式:端口模式、从属FIFO模式和GPIF主控器模式。在端口模式中,所有I/O引脚都是通用I/O端口。从属FIFO模式中,外部控制器可像普通FIFO一样对FX2的多层缓冲FIFO直接进行读写。GPIF主控器模式下,可以编程读写控制波形,几乎可以对任何8/16 位接口的控制器、存储器和总线进行数据的主动读写,非常灵活。CY7C68013虽然可以用片上增强型8051单片机直接处理USB2.0数据,但这样会受到单片机速度的限制而无法实现USB2.0的高速传输。从属FIFO方式可以解决这一矛盾,在此种方式下,USB数据流并不经过CY7C68013的片上增强型8051单片机,而是直接在快速外部主设备与FIFO端点之间实现高速传输。

USB的软件设计包括:固件程序、驱动程序和应用程序的设计。

(1)固件程序设计   

固件程序由USB芯片集成的增强型8051单片机来处理,其主要工作是解析并执行主机的命令。FX2的一个重要特性就是以“软”为主,内部无ROM,仅有程序和数据RAM,所以需要通过主机将固件程序下载至RAM中运行。CYPRESS公司提供了EZ-USB FX2固件程序框架以加速固件程序的开发。 [6]   

(2)驱动程序设计   

本系统需要两个驱动程序,即固件下载驱动程序和设备功能驱动程序。固件下载驱动程序负责在外部设备连接到USB总线后把特定的固件程序下载到FX2的RAM中,FX2模拟断开与USB总线的连接以完成对固件的重新设置,并使用新的固件程序进行重枚举。主机则根据新的设置来安装设备功能驱动程序。设备功能驱动程序不必对具体硬件编程,它只需定义与应用程序的接口,定义与外部设备的通信接口和通信数据格式。应用程序调用设备功能驱动程序,设备功能驱动程序调用总线驱动程序把USB命令传给硬件。CYPRESS公司提供了固件下载驱动程序范例,只需作少量修改即可作为本系统的固件下载驱动程序。为加速设备功能驱动程序的开发,CYPRESS公司提供了EZ-USB通用设备驱动程序规范。此规范的目的是描述从用户应用程序到设备驱动程序的接口方式。

(3)应用程序设计。

本速印机的应用程序使用了Windows操作系统提供的标准打印机应用程序插件。

7 结束语   

本文提出了一种基于DSP和USB接口的速印机解决方案,并从电机控制、图像处理和通讯接口三方面做了详细的阐述。经测试,本系统打印品质良好,印速可达120r/min,并可实现电脑直接打印,拼接印刷,缩放印刷等功能。此解决方案使得硬件控制电路得到简化,整体性能有所提高,图像处理技术的升级更加方便,是一种优化的解决方案。展望:可在此方案基础上再增加扫描仪功能,使其功能更加强大。

此内容为AET网站原创,未经授权禁止转载。