一种打印控制系统的设计-技术方案_第1页
一种打印控制系统的设计-技术方案_第2页
一种打印控制系统的设计-技术方案_第3页
一种打印控制系统的设计-技术方案_第4页
一种打印控制系统的设计-技术方案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑一种打印控制系统的设计-技术方案1.引言

当前,大多数打印机都是由桌面机及相应软件来驱动的,打印机(printer)是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上。衡量打印机好坏的指标有三项:打印分辨率,打印速度和噪声。将计算机的运算结果或中间结果以人所能识别的数字、字母、符号和图形等,依照规定的格式印在纸上的设备。打印机正向轻、薄、短、小、低功耗、高速度和智能化方向发展。打印机[1]的种类很多,按打印元件对纸是否有击打动作,分击打式打印机与非击打式打印机。按打印字符结构,分全形字打印机和点阵字符打印机。按一行字在纸上形成的方式,分串式打印机与行式打印机。按所采用的技术,分柱形、球形、喷墨式、热敏式、激光式、静电式、磁式、发光二极管式等打印机。

2.打印控制系统硬件结构

硬件结构原理图如图1所示:

图1硬件结构原理图

各主要模块基本组成描述如下:

(1)微处理器MPU:本系统采用的嵌入式微处理器是Samsung公司S3C2410。这块处理器是一款基于ARM920T内核的16/32位RISC嵌入式微处理器,采用五级流水线和哈佛结构,提供1.1MIPS/MHz的性能,主要面向手持设备以及高性价比,低功耗的应用。微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作。在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。通常所说的16位机、32位机是指该计算机中微处理器内部数据总线的宽度,也就是CPU可同时操作的二进制数的位数。目前常用的CPU都是32位的,即可传送32位二进制数。

(2)Flash存储器:采用Samsung公司K9F1208U0MNandFlash存储器,存储容量为64MB,用于存放嵌入式操作系统和应用程序,剩余空间用于暂存文件和用户自由存储使用。

(3)SDRAM存储器:采用HY57V561620CT,大小为32MB.

(4)USB集线器芯片:采用ALCORMICRO公司AU9254A21型号的USB集线器芯片,可将系统扩展为4个USB外部接口,用于连接打印机,U盘,鼠标,键盘等外部设备。

(5)触摸屏:采用Sharp公司的3.5寸LCD液晶屏,320×240的分辨率,自带触摸功能。

3.打印控制系统的软件设计

3.1linux操作系统简介

Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中着名的例子。它诞生于1991年的10月5日(这是次正式向外公布的时间)。以后借助于Internet网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用多的一种UNIX类操作系统,并且使用人数还在迅猛增长。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。Linux操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。

目前国际上有两百多种嵌入式操作系统,比较有影响力的几种是:VxWorks,uC/OS,WindowsCE,Linux,QNX,PalmOS.这其中,Linux以其诸多的优点,发展快,应用广。

Linux操作系统有如下几个特点:

(1)使用,节省了大量的开发费用。

(2)开放源代码,可以根据需要随意定制内核。也正是由于其开源性,使得Linux成为自由软件世界的一面旗帜,也使得我们能够从广袤的网络世界中获取大量的资源。

(3)可移植性,能够应用于多种硬件平台。原形可以在标准平台上开发,然后移植到具体硬件上,加快了开发过程。

(4)高度的模块化使添加部件非常容易。

本文所述系统采用经过裁减(依据外围硬件和所需服务)的linux操作系统。

3.2linux操作系统下的打印控制系统

根据打印机的命令方式,可以将其分成文本打印机、PostScript打印机和其它种类。所谓文本打印机,就是那些比较古老的针式打印机,我们不需要驱动程序,就可以直接用cat命令驱动打印机打印文字,但只能打印英文,这种打印机现在已经很少使用了。PostScript(简称PS)是一种绘图能力很强的解释性脚本语言,1985年由Adobe公司制定。由于它占用计算机系统资源少,处理过程标准化而且与设备无关,所以被广泛的应用于打印系统。现在,能够直接支持PostScript的打印机,通常都是非常的办公打印机,对于这种打印机来说,PS语言是它们和计算机之间沟通的简便的方式,应用程序可以将生成的PS文档直接发给打印机打印。

接下来,我们根据图2所示框图,介绍一下打印控制系统中的几个主要问题:

(1)格式转化程序Netpbm:

一组转换图形格式的程序集,可以将png和jpg等格式的图像经中间格式PNM,终转换成通用的PostScript格式。其中包括了pngtopnm,pnmtops等一系列独立的小程序,将它们搭配使用,可以对图像进行诸如缩放,旋转等各种处理。

(2)GhostScript程序:

对于支持PostScript的打印机而言,要在Linux下使用是比较容易的,但对于那些不支持PostScript的打印机而言,就必须要把PostScript格式转换成打印机能够识别的命令格式,而GhostScript就是用来完成这个工作的。Ghostscript是PostScript打印机模拟程序,通过软件模拟PostScript打印机,它的具体工作是将PostScript页面描述语言,转译成各种打印机专用的低阶打印指令,并发送给打印机执行。因此,Ghostscript需要知道各种打印机的指令语言,这就是的打印机驱动程序。

(3)打印机驱动程序:

打印机驱动程序是应用软件与打印机之间交流的桥梁,它可以将转化好的打印文件,按照各种打印机不同的格式发送给打印机,因此不同的打印机都有自己特有的打印驱动程序。另外,随驱动程序一起发布的还有PPD文档,PPD(PostScriptPrinterDescription)是用来描述打印机功能的文件,里面包含了字体,打印页面等的一些描述。

(4)打印管理程序:

作为一个多用户多任务的操作系统,Linux上的所有程序都是基于多任务、多用户而设计的,打印也不例外。为了让不同的用户、不同的任务在打印的时候不会产生冲突,就需要一个打印管理程序,我们通常称其为spooler。这类管理程序很多,从传统的LPD,到时下非常流行的CUPS,它们功能各异,但有一点不变的就是都是用来协调打印任务的。CUPS的工作方式如下:通过命令行接收要打印的文件;通过文件的类型判断是否需要将其转换为PostScript,如果需要,则调用相应的应用程序进行转换;通过PPD文件来判断GhostScript应使用何种驱动处理此PostScript文件;把GhostScript处理的结果输出到打印设备上。

(5)用户统一界面Foomatic:

由于打印领域标准问题长时间不统一,诞生了各种打印管理程序,而要学会为每一个打印管理程序安装驱动程序,是一件非常复杂的事情;如果用户需要更换打印机,也必须更改复杂的设置。为了改善这种状况,就出现了Foomatic应用程序,它的作用是通过一种方式管理所有的打印机,把PPD文档和打印管理程序的配置屏蔽掉,给用户一个友好的统一的界面。

在嵌入式系统设计中,因为其系统资源有限,合理分配资源和保证处理速度是我们首先要考虑的问题。一台不支持PostScript格式的打印机工作时会占用大量的CPU处理时间和内存空间,只是在PC上工作时,由于CPU处理速度快,内存空间大,所以用户感觉不到罢了。基于以上考虑,本文所设计的嵌入式打印系统,在保留上述打印机系统结构的情况下,以简单的shell脚本程序代替CUPS等庞大的打印管理程序,以自行开发的图形用户界面代替Foomatic应用程序。另外,由于惠普公司的打印机驱动程序具有良好的通用性和可移植性,因此我们选择HPDeskjet系列喷墨打印机,同时使用这一系列的通用驱动程序hpijs(含多种打印机型号的PPD文档),源代码由惠普公司网站提供。

3.3软件设计中的关键问题:

(1)交叉编译:

IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。嵌入式项目的开发中,有一个重要的环节就是构建交叉编译工具链。所有的软件源程序,必须经过这个工具链的编译,链接后才能生成可以在嵌入式系统上运行的代码。在过去,编译一套工具链要花费开发人员不少的时间,但现在在网上很容易就可以一套已经做好的工具链。

(2)打印任务管理程序:

没有使用CUPS打印管理程序,是因为它会耗费大量的系统资源,这对于嵌入式系统来说无疑是致命的。但节约资源的同时,我们也要花费时间去设计一个适和于目标系统的程序,来管理打印任务。程序流程图如下所示:

3.4用户图形界面设计

Foomatic应用程序本身并不大,但它是一个Perl脚本程序,所以如果要使用它,我们还得额外移植一套庞大的Perl脚本解释器,这对系统会有十几兆的开销。因此,我们选择用Qt/Embedded工具包开发了一套简单的用户界面。其主要功能是让用户可以看到存储设备(flash存储器或外接usb存储设备)上的文件,以便选择打印,其中jpg和png格式的图像还可以显示出来,供

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论