在ARM芯片AT91RM9200上构建了无线打印模块的硬件平台,在Android操作系统上完成了软件平台的搭建,通过调用Linux内核的CUPS,实现移动终端在Android系统上直接打印文件的功能。
Android作为基于Linux开放性内核的开源智能手机操作系统,为智能手机、平板等移动、嵌入式设备应用提供了便捷的系统级支持,但Android系统目前并不支持常用的USB打印功能,打印机厂家暂时也没有专门为Android设备提供打印机驱动程序。本文设计了一种新型的基于Android平台的无线打印模块,采用移植Linux下相关开源驱动的方式,通过调用Linux内核的CUPS(Common UNIX Printing System),实现And roid系统上的USB打印功能,为Android系统打开了一条实现USB打印驱动从上层应用到内核配置的通路。
1 系统总体设计方案
本系统设计的嵌入式打印模块是通过WiFi无线网络接收客户机发送来的文件,在液晶屏上显示打印队列和打印文件信息,再通过USB接口把需要打印的文件发送到USB打印机上实现打印。总体设计框图如图1所示,文件打印数据流程图如图2所示。
2 系统硬件设计
嵌入式打印模块的硬件主要包括:核心处理器、WiFi无线模块、USB打印功能模块、液晶显示模块等。核心处理器采用的是Atmel公司的AT91RM9200处理器。
为了实现打印模块与USB打印机的通信,选用Philips公司的ISP1161A1芯片作为USB主机控制器。ISP1161A1的主机控制器部分符合USB1.1规范,支持全速(12Mbi/s)和低速(1.5 Mbi/s)的数据传输。ISP1161A1提供两个下行端口,可与USB打印机进行连接。WiFi无线模块采用的是G—SKY无线发射模块,其发射芯片是ReaLTEk公司的RTL8187芯片。液晶采用320×240的LFUBK909XA彩色(256色)点阵图形液晶模块,液晶控制器芯片为S1D13503。该液晶屏上带有触摸屏,采用触摸屏控制器FM7843进行A/D转换,转换结果输出到AT91RM9200处理器。系统总体硬件框图如图3所示。
存储器系统提供2 MB的NOR FLASH和16 MB的NAND FLASH来存放BootLoader启动程序和应用程序。WiFi无线模块接收无线网络传输的文件,再送到USB芯片的下行口连接的USB打印机实现打印。
3 软件平台设计
软件基于Android平台,经过精简移植与交叉编译完成软件平台的搭建,平台架构如图4所示。
软件平台基于Android实现,人机操作界面采用Java语言编写,Java语言通过JNI访问打印框架链接库,再由打印链接库完成与后台打印服务程序的通信。整体实现遵循Linux系统下的CUPS标准,针对不同型号的打印机提供相应的CUPS打印驱动程序即可完成文件的打印。
4 CUPS打印机驱动程序设计
CUPS作为通用打印系统,默认已支持多种类型的文档的打印,Linux下的打印流程如图5所示。
本打印模块针对Android平台提供打印机驱动程序,既支持PS(PostScript)语言的打印机,也可以通过Imageto Raster和RastertotHP(或RastertoEpson)过滤器将需要打印的内容转换为HP公司的PCL(Print Control Language)、Epson公司的ESC/P等。Backend过滤器选用USB,以配合所选打印机的接口。打印实现流程图如图6所示。
Backend过滤器USB打印接口是通过AT91RM9200,按照USB主机规范控制其自带的主机接口实现的,主要包括I/O缓存的初始化、USB主机芯片的初始化以及USB打印机的设备枚举及初始化等。USB打印机设备的驱动程序结构框图如图7所示,流程图如图8所示。
首先对I/O缓存以及AT91RM9200的USB主机部分进行初始化。其中,关于USB主机部分的初始化包括了对外设时钟的设置,初始化host stack,将所有的TD、ED和HCCA全部归零,USB主机软复位,设置AIC中断等。
然后通过对早先定义的全局变量HOST_Rhsclntr的监控,判断是否有中断发生,从而来判断是否有USB接口打印机的接入,以决定是否进行下一步的枚举操作。一旦检测到,主机则要等待400ms,使插入操作完成并使设备电源稳定工作。然后进行对USB打印机的枚举过程。
再通过对函数USBHostPrinterGetStatus()的调用,查询当前的USB打印机的工作状态——是否离线,是否缺纸,是否发生错误。并根据得到Print_Status中的8位数值来判断打印机的工作状态,如果处于正常的等待打印的状态,则进入到正常打印状态。由于采用的HP公司支持USB口和PCL5打印命令的打印机,通过对相关PCL打印命令的调用,完成对打印机的复位、设置纸张大小、页面格式和字体大小等操作。紧接着则可以通过端点的调用进行数据的传输,进行打印工作。最后通过调用函数USBHostPrinterReset()再次对打印机进行软复位,等待下一次的打印请求。
5 实验结果
实验采用HTC智能手机发送文本文件到打印模块,打印模块通过USB接口与HP激光打印机连接,打印模块将文件传输到打印机,最后由打印机打印输出。图9为打印模块打印设置界面,图10为打印操作页面。
结语
本文采用高性能ARM处理器AT91RM9200以及Android操作系统,采用移植Linux下相关开源驱动的方式,通过调用Linux内核的CUPS,实现Android系统上的USB打印功能,解决了智能移动终端没备(如智能手机或平板电脑等)不支持直接打印功能的问题,给移动用户带来了文件打印的便利。
关键字:Android平台 无线打印模块
引用地址:
一种新型的基于Android平台的无线打印模块设计
推荐阅读最新更新时间:2024-03-16 15:54
HTC安卓智能手机选用博通四核基带和平台
该款高性价比安卓智能手机配有4.5英尺显示屏,提供1080p高清视频、Wi-Fi、蓝牙和全球导航卫星系统(GNSS)功能 北京,2013年12月17日-全球有线和无线通信半导体创新解决方案的领导者博通(Broadcom)公司(NASDAQ:BRCM)今天宣布,世界领先的智能手机制造商——HTC公司为其新型安卓(Android)智能手机Desire 6160选用博通公司的四核基带和连接平台。由于HTC Desire 6160采用博通公司的HSPA+1.2-GHz四核处理器、射频收发器、电源管理集成电路(IC)、连接组合芯片和多星座全球导航卫星系统(GNSS)定位芯片,HTC公司的安卓智能手机能够为中国迅速发展的安卓市场提供一系列具
[手机便携]
2013年Android平台产品将超过4000万台
资策会产业情报研究所(MIC)预估,截至2013年,全球采用Android平台的产品销售量将超过4,000万台,其中移动电话产品将超过70%以上,其它为Netbook、MID、PMP与汽车电子等类型产品。 继Google于2007年发表Android移动电话开发平台之后,移动电话业者也与Google共同发表应用Android平台的产品,使得Android平台终端使用者在2008年底即超过百万户。 MIC表示,台湾地区的Acer、Garmin-Asus、韩国的LG、Samsung等跨国品牌业者参与,预期2009年下半年将陆续推出应用Android的移动电话相关产品,而Motorola、Sony Ericsson
[手机便携]
智能手表平台Android Wear优缺点
BI中文站 7月15日报道 谷歌(微博)前不久推出了针对可穿戴智能设备的新版Android操作系统。从目前的市场情况来看,这款新操作系统率先应用在一些智能手表之中。到目前为止,还没有看到两款不同的可穿戴设备搭载了相同的操作系统,这种结果也就意味着,针对一款智能手表的应用与服务不会运行在另一款智能手表上。 事实上,Android Wear已经让其它智能手表操作系统——例如,索尼为Smartwatch 2打造的基于Android的定制操作系统等显得有点多余。像三星Tizen(搭载在Gear智能手表之中)之类的操作系统似乎已难以吸引开发者的关注。 在此方面,谷歌已经做得非常出色。不过,Android Wear在初步发布之后,
[手机便携]
iOS 6/Android 4.x/WP 7.5平台大比拼
虽然苹果新一代的移动操作系统iOS 6还未发布正式版本,但是我们已经可以通过WWDC大会的演示以及Beta版本了解到其中的许多新特性:比如功能更强大的Siri、Siri for New iPad、2G/3G Facetime、整合Facebook、增加游戏中心的用户体验、添加3D地图等等。新产品发布后,自然会遇到竞争者的挑战。在移动领域当中,风头最盛的当然就是iOS、Windows Phone以及Android了。 那么iOS 6在与最新版本的Android以及Windows Phone会擦出怎么样的火花呢?国外科技网站RedmondPie 制作了一张三大移动平台之间的功能大比拼,我们一起来看看究竟吧。 PS:严格来说
[手机便携]
分析:Android平台的技术动力和商业价值
到2010年底,市面上将会有115款谷歌Android手机以及50款非手机的Android设备。不管这些数字是否准确,现实的情况是,Android开始突破其最初锁定的智能手机,开始向多个行业和领域的嵌入式设备进军。 为什么产品经理以及技术负责人都对这个热门的平台投以青睐的目光?为什么Android技术对医疗设备、机顶盒和车载信息娱乐系统等诸多不同的市场有如此大的吸引力?其中既有商业方面的因素,也有技术方面的因素。 产业动力 在开源授权许可下的技术,会给成本和开发团队建设带来极大的优势,这对技术经理和公司高管都有足够的吸引力。这方面的确有一些令人信服的理由,让他们选择嵌入式Android操作系统。 首先
[手机便携]
瑞萨移动在4G世界通信大会上展示Android智能手机3D移动平台
瑞萨移动公司(以下简称“瑞萨移动”)是一家致力于提供创新性蜂窝半导体解决方案和平台的供应商,它将于在芝加哥举办的2011年4G世界通信大会(10月24-27日,展位编号:2025)上展示其为Android系统的智能手机所提供的高性能3D移动平台——MP5225。该平台整合了主频高达1.2 GHz的双模ARM™ Cortex™ A9和Imagination Technologies公司先进的多核PowerVR™Series5XTMP图形处理器(GPU)。这也标志着人们向着通过手机获得游戏机般体验的方向上迈出了重要的一步。 MP5225平台旨在为Android™提供卓越的性能,其核心是瑞萨移动最先进的低功耗、高性能应用处理器R-Mobi
[手机便携]
安卓平台2013八大预测:4.5寸成高端机标配
导语:美国科技资讯网站CNET今天撰文对Android生态系统在2013年的发展前景进行了预测,并认为谷歌明年将发布Android 5.0操作系统、Android设备屏幕会更大更清晰、加快进军消费电子市场等新领域。 以下为Android平台2013年八大预测具体榜单: 屏幕更大更清晰 不久之前,大部分智能手机的屏幕尺寸还都不超过4英寸。在HTC Evo 4G亮相以前,Android手机的屏幕尺寸大多在3.2英寸至3.5英寸之间。如今,随着三星Galaxy S3(4.8英寸)和Galaxy Note 2(5.5英寸)等移动产品日趋受欢迎,消费者越来越青睐大屏幕设备。 摩托罗拉移动已可以在Droid Razr
[手机便携]
风河为Clarion AX1车载信息娱乐设备提供定制化Android软件平台
【新闻要点】 ·Clarion Malaysia最新产品Clarion AX1 IVI采用风河公司定制化Android软件平台。 ·Clarion AX1 的主要功能包括通过智能手机或移动Wi-Fi 连接互联网以及访问应用软件商店进行音乐和应用软件下载 。 ·汽车 IVI 设备制造商以及OEM厂商可以借助于风河公司在汽车领域逾20多年的经验,包括软件集成专业知识和丰富的开源技术加快创新步伐,缩短产品上市时间。 全球领先的智能互连系统嵌入式软件提供商风河®公司近日宣布,Clarion Malaysia将借助于风河Android 软件以及专业技术设计其新的Clarion AX1 汽车车载信息娱乐 (IVI, In-vehicl
[汽车电子]