
Android 平台的 USB 数据采集系统.docx
6页Word版本下载可任意编辑】 Android 平台的 USB 数据采集系统 Key words:Android; USB; a pplication development; LPC2142; data collection 随着科技的发展, 嵌入式及移动互联网的应用越来越广泛,二者以其自身的优势在各自领域都占有一席之地目前基于Android操作系统的开展移动应用开发非常火热,Android以其源代码开放,硬件选择丰富,无缝结合google 等特点,自发布以来 Android 立刻受到了业界的广泛关注而嵌入式ARM7 微处理器LPC2142具有较高的集成度和高性价比, 很适合于数据采集系统设计因此,了解Android平台的组成、系统架构API和应用程序框架,并掌握该平台移动应用的开发方法将为从事移动互联网开发的企业和个人带来非常广阔的前景 Google 对Android平台的SDK更新很快,目前已发布的平板Android 3.1(API level 12)及以上版本实现了对USB 外设模式和主机模式的支持,并遵循USB2. 0 通讯协议本文结合两者的突出优点设计了一种新型数据采集系统,以下将详细阐述Android 3. 1平台下的USB 应用程序开发的完整过程,以及与LPC2142之间的USB 通信功能。
1 Android USB应用程序开发 1 . 1 Android 开发框架 Android系统架构由5部分组成,分别是:Linux Kernel 、Android Runtime、Libraries 、Application Frame-work、Applications Android开发主要有三种类型( 如图1 所示) : 移植开发和系统; Android应用程序开发; Android系统开发; 本文中的Android应用程序的开发是在Android系统第三个层次(Java 框架) 和第四个层次(Java 应用)之间的接口之上开发出来的 图1 Android开发详解 1 . 2 Android USB 接口 Android支持各种USB 外围设备,通过两种模式来支持Android USB外设( 实现了Android外设协议的硬件) :USB 外设模式和USB 主机模式Android将在新的平板电脑版Honeycomb 3 . 1 和智能版Gingerbread 2. 3 .4 中首次支持USB 外设模式,该支持包括一种新的Open Accessory API,含有谷歌提供的一个USB 支持库。
而在Android3 . 1 及以上版本才支持主机模式Android从机设备只能和Android主机设备连接,而主机模式可以连接其他USB 设备,故本设计采用Android3 . 1主机模式连接LPC2142USB 接口当Android设备处于主机模式时,它扮演USB主机角色并为总线供电如图2 所示 Android3 .1(API 12)更新的API为Android开发者提供了应用程序开发直接可用的USB A PI ,这个USB类是在android.Hardware. usb 包下,具体介绍如下: 图2 USB 主机模式 UsbAccessory 本类是针对Open Accessory API设计的UsbConstants作为USB 常量定义,在Linux内核文件linux/usb/ch9 . h中UsbDevice获取USB设备的信息,比方说类型、制造商等等 UsbDeviceConnection 这个是USB 设备传输控制的UsbEndpoint 获取一个USB 终端信息UsbInt erface USB 底层接口,获取一些信息底层信息,比方说通讯协议,等等。
UsbManager USB管理类,它提供了识别和使用的USB 设备和USB 配件通讯方法应用程序可以获取一个UsbManager实例,然后用于连接的设备或配件清单查询,管理、通信UsbRequest 的USB请求处理类,支持读写操作,以字节数组方式处理一个 UsbEndpoint, Android12.3提示这个类类似WinCE串口通讯的CreateFile部分,可以开展数据流的读写 1.3 Android 应用程序组件 Android应用程序由松散耦合的组件组成各个应用是相互独立的,并运行在自己的进程当中,要开展Android的移动应用程序的开发,开发人员需要熟悉以下几个基本组件: Activity(活动) 应用程序中每个屏幕都是Activity类的扩展,活动使用视图来形成显示信息和响应用户动作的图形界面Broadcast Receiver(广播接收器) 通过创立和注册广播接收器,应用程序可以监听到那些匹配特定的过滤标准的广播Intent( 意图) 应用程序间传递消息的框架View 是Android中图形用户界面的基类,提供可视化界面的展示 1 . 4 Android 应用程序设计 Android应用程序开发是由Java语言实现的,具体是由Google为开发者提供的一些类和接口组成。
本设计主要用到USB 类、数据存储SQLiteDatabase类、视图显示SurfaceView 类以及一些Android 小组件类等程序设计框架如图3 图3 Android 程序框架 该设计共创立五个Activity来实现人机交互界面,使用户操作起来方便快捷MainMenuActivity 是主界面,由这一界面可以进入以下三个界面:USBconnect Activity是USB 连接界面,在这个类里实现设置要连接的USB 的端口参数,查找并发现USB 设备,按条件枚举USB 设备,得到连接设备的权限,连接USB设备,终止已连接的USB 设备等功能,如USB 设备连接成功则进入下一界面;USBMonitorActivity 是接收USB 数据的界面,USB 连接成功后,开始接收数据,并把已接收的数据以文件形式存入 SD 卡中;FileListActivity 是显示已存入SD卡所有文件的列表界面,单击文件进入显示波形界面除了Acti vity ,该程序还注册了BroadcastReceiver( 广播消息) 来接收系统USB 连接消息的通知同时各个Activity之间的通信是由Intent 实现的,界面的一些按钮、布局等是由View实现的。
2 LPC2142 前端采集平台设计 本设计前端采用ARM7处理器LPC2142作为硬件开发平台,LPC2142是PHILIPS公司生产的基于支持仿真和嵌入式跟踪的32位ARM7TDMI-S内核的CPU ,带有64kB的高速Flash存储器和16kB 的RAM,工作频率能够高达60M Hz同时集成了A/D 、定时器、串口等资源, 与LPC2132 相比突出的特点就是内置了USB2.0 Device( 全速) 控制器该芯片内部资源比较丰富, 特别适用于工业控制等嵌人式系统该设计总体框图如图4 所示 图4 系统总体框架 2 . 1 A/D 采集接口 LPC2142 包含2个模-数转换器,提供6/14 路模拟输入,每个通道的转换时间低至2.44vs 具体特性如下: 10位逐次逼近模数转换器6 或8 个管脚复用为输入脚测量范围:0~3 . 3V单路或多路输入的突发转换模式可选择由输入跳变或定时器匹配信号触发转换2个转换器全部启动命令A/D 转换器的基本时钟由VPB 时钟提供,每个转换器包含一个可编程分频器,可将时钟调整至逐步逼近转换所需的4 . 5MHz 。
2 . 2 LPC2142与USB 模块接口 LPC2142 微控制器内部带有一个USB 设备控制器,该控制器支持32个固定配置的物理端点,并完全兼容USB2. 0 全速规范该控制器嵌于CPU 芯片内部,这样的集成方式不仅使 USB 设备控制器与 CPU 之间的数据交换可以稳定地到达很高的速度,而且提高了芯片的性价比USB 接口电路如图 5. LPC2142 的P0.27和P0.26 引脚的第二功能控制 USB 数据的传输Android USB 主机与LPC2142 USB设备之间的通信完全遵循USB2. 0 全速规范,根据规范建立USB 连接的命令流程如图6 图5 USB 接口电路 图6 USB 通信命令 2 . 3 应用 该系统能够成功实现Android3.1平板与LPC2142之间的USB 数据通信,传输速率完全满足USB2. 0 全速规范与传统数据采集系统相比更具优越性,既拥有Android完美的人机交互界面,又兼具LPC2142USB高速采集的优点,具有很强的实用性为测试该系统运行正常,利用LPC2142发送一组来自麻省理工的心电数据开展测试,为配合Android支持的USB 传输模式,LPC2142 USB按批量传输方式,可传送包长度为64字节,Android平板也采用批量传输方式,设置的接收时间与LPC2142 的发送时间一致,接收函数是bulkTransfer (UsbEndpoint endpoint,byte buffer,int length ,int timeout) 。
为说明测试结果,将接收的数据以文件形式存入数据库与原数据开展比照正确,说明测试结果非常标准,测试波形如图7 所示 图7 心电信号波形图 3 结语 本文介绍了Android平台的系统构成以及基于Android平台平板电脑USB 应用程序的开发和设计,并将这一应用与AMR 平台严密结合开发出一种新型数据采集系统,即基于Android平台和AMR平台相结合的USB 数据采集系统可以看出,Android平板电脑在应用程序开发上已与PC相媲美,而ARM7 处理器LPC2142 具有USB 通用串行总线接口,可以开展高速数据采集的处理,该平台具有良好的实用性, 可应用于需要实时高精度测量电参数的领域,而且方便快捷相信未来随着 Android 技术的不断发展平板电脑应用程序会越来越丰富,应用领域会越来越广 6 / 6。












