【Android源码 栏目提醒】:网学会员为需要Android源码 的朋友们搜集整理了基于Android平台的USB数据采集系统 - 期刊论文相关资料,希望对各位网友有所帮助!
2012 年 第 21 卷 第 8 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用基于
Android 平台的 USB 数据采集系统①苏维嘉 1,唐 宇 2,杨 静21 辽宁工程技术大学 机械工程学院 汽车系 阜新 1230002 辽宁工程技术大学 机械工程学院 机械电子系 阜新 123000摘 要:介绍了一种新型的
Android 平台的数据采集系统,并实现了与 LPC2142 之间的 USB 通信设计。
描述了
Android USB 应用程序的完整开发过程,并在此基础上实现了
Android 手机和 AMR 平台之间的 USB 通信,是基于开源移动终端
Android 的最新应用程序的开发。
该设计前端采用 LPC2142 的 AD 接口采集数据并通过 USB 数据线发送到后端设备。
后端采用
Android3.1 平板电脑的 USB 通信接口接收数据,并在
Android 平板设备上显示波形。
该设计实用,新颖,具有广阔的应用前景。
关键词:
Android;USB;应用开发;LPC2142;数据采集Application Development of
Android USB Data Acquisition SystemSU Wei-Jia1 TANG Yu2 YANG Jing21Dept of Automotive Mechanical Engineering College Liaoning Technical University Fuxin 123000 China2Dept of Mechanical and Electronic Mechanical Engineering College Liaoning Technical University Fuxin 123000 ChinaAbstract :This paper introduced a new data collection system based on
android platformand achieved USBcommunication between
Android and LPC2142. It describes the development process of the
android USB applicationand on the basis implements USB communication between
Android system and AMR platform. It is the latestapplication development based on revenue of mobile terminal
Android. The front-end uses LPC2142 A/D interface tocollect data and sent it to back-end through USB data wire. The back-end use the USB interface which is based onAndroid 3.1 platform to receive data and show the wave on the
Android Tablet PC. So this design has wide applicationprospect.Key words:
Android USB application development LPC2142 data collection 随着科技的发展嵌入式及移动互联网的应用越 Google 对
Android 平台的 SDK 更新很快, 目来越广泛,二者以其自身的优势在各自领域都占有一 前已发布的平板
Android 3.1 API level 12及以上版本席之地。
目前基于
Android 操作系统的手机进行移动 实现了对 USB 外设模式和主机模式的支持,并遵循应用开发非常火热,
Android 以其源代码开放,硬件选 USB2.0 通讯协议。
本文结合两者的突出优点设计了一择丰富,无缝结合 google 等特点,自发布以来
Android 种新型数据采集系统,以下将详细阐述
Android 3.1立刻受到了业界的广泛关注。
而嵌入式 ARM7 微处理 平台下的 USB 应用程序开发的完整过程,以及与器 LPC2142 具有较高的集成度和高性价比很适合于 LPC2142 之间的 USB 通信功能。
数据采集系统设计。
因此,了解
Android 平台的组成、系统架构 API 和应用程序框架,并掌握该平台移动应 1
Android USB应用程序开发用的开发方法将为从事移动互联网开发的企业和个人 1.1
Android 开发框架带来非常广阔的前景。
Android 系统架构1由 5 部分组成,分别是:Linux① 收稿时间:2011-12-13收到修改稿时间:2012-03-10 System Construction 系统建设 39计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2012 年 第 21 卷 第 8 期Kernel、
Android Runtime、Libraries、Application Frame- 提供了应用程序开发直接可用的 USB API,这个 USBwork、Applications。
类是在
android.Hardware.usb 包下,具体介绍如下:
Android 开发主要有三种类型如图 1 所示: 移植开发和电话系统
Android 应用程序开发
Android 系统开发 本文中的
Android 应用程序的开发是在
Android系统第三个层次Java 框架和第四个层次Java 应用之间的接口之上开发出来的。
图2 USB 主机模式 UsbAccessory 本类是针对 Open Accessory API 设计的。
UsbConstants 作为 USB 常量定义,在 Linux 内核文件 linux/usb/ch9.h 中。
UsbDevice 获取 USB 设备的信息,比如说类型、 制造商等等。
UsbDeviceConnection 这个是 USB 设备传输控制 的核心。
UsbEndpoint 获取一个 USB 终端信息。
UsbInterface USB 底层接口,获取一些信息底层信 息,比如说通讯协议,等等。
UsbManager USB 管理类,它提供了识别和使用的 USB 设备和 USB 配件通讯方法。
应用程序可以获取一 个 UsbManager 实例,然后用于连接的设备或配件清单 查询,管理、通信。
UsbRequest 核心的 USB 请求处理类,支持读写 操 作 , 以 字 节 数 组 方 式 处 理 一 个 UsbEndpoint , 图1
Android 开发详解
Android12.3 提 示 这 个 类 类 似 WinCE 串 口 通 讯 的 CreateFile 部分,可以进行数据流的读写。
1.2
Android USB 接口 1.3
Android 应用程序组件
Android 支持各种 USB 外围设备,通过两种模式
Android 应用程序由松散耦合的组件组成3。
各个来支持
Android USB 外设实现了
Android 外设协议 应用是相互独立的,并运行在自己的进程当中,要进 2的硬件:USB 外设模式和 USB 主机模式 。
Android 行基于
Android 的移动应用程序的开发, 开发人员将在新的平板电脑版 Honeycomb 3.1 和智能手机版 需要熟悉以下几个基本组件:Gingerbread 2.3.4 中首次支持 USB 外设模式,该支持 Activity活动应用程序中每个屏幕都是 Activity包括一种新的 Open Accessory API,含有谷歌提供的一 类的扩展,活动使用视图来形成显示信息和响应用户个 USB 支持库。
而在
Android3.1 及以上版本才支持主 动作的图形界面。
机模式。
Android 从机设备只能和
Android 主机设备连 Broadcast Receiver广播接收器通过创建和注册接,而主机模式可以连接其他 USB 设备,故本设计采 广播接收器,应用程序可以监听到那些匹配特定的过用
Android3.1 主机模式连接 LPC2142USB 接口。
当 滤标准的广播。
Android 设备处于主机模式时,它扮演 USB 主机角色 Intent意图应用程序间传递消息的框架。
并为总线供电。
如图 2 所示。
View 是
Android 中图形用户界面的基类,提供可
Android3.1API 12更新的 API 为
Android 开发者 视化界面的展示。
40 系统建设 System Construction2012 年 第 21 卷 第 8 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用1.4
Android 应用程序设计 RAM最高工作频率能够高达 60MHz。
同时集成了
Android 应用程序开发是由 Java 语言实现的,具 A/D、定时器、串口等资源与 LPC2132 相比最突出的体是由 Google 为开发者提供的一些类和接口组成。
本 特点就是内置了 USB2.0 Device全速控制器。
该芯片设计主要用到 USB 类、数据存储 SQLiteDatabase 类、 内部资源比较丰富特别适用于工业控制等嵌人式系视图显示 SurfaceView 类以及一些
Android 小组件类 统。
该设计总体框图如图 4 所示。
等。
程序设计框架如图 3。
定时器0
Android平板电脑 A/D LPC2142 USB USB 转换器 CPU 控制器 USB数据线 模块 显示 驱动 信号输入 I/O接口 图4 系统总体框架 图3
Android 程序框架 2.1 A/D 采集接口 该设计共创建五个 Activity 来实现人机交互界面, LPC2142 包含 2 个模-数转换器,提供 6/14 路模使用户操作起来方便快捷。
MainMenuActivity 是主界 拟输入,每个通道的转换时间低至 2.44vs。
具体特性面,由这一界面可以进入以下三个界面:USBconnect 如下:Activity 是 USB 连接界面,在这个类里实现设置要连 10 位逐次逼近模数转换器接的 USB 的端口参数,查找并发现 USB 设备,按条 6 或 8 个管脚复用为输入脚件枚举 USB 设备,得到连接设备的权限,连接 USB 测量范围:03.3V设备,终止已连接的 USB 设备等功能,如 USB 设备 单路或多路输入的突发转换模式连接成功则进入下一界面;USBMonitorActivity 是接 可选择由输入跳变或定时器匹配信号触发转换收 USB 数据的界面,USB 连接成功后,开始接收数据, 2 个转换器全部启动命令并 把 已 接 收 的 数 据 以 文 件 形 式 存 入 SD 卡 中 A/D 转换器的基本时钟由 VPB 时钟提供,每个转FileListActivity 是显示已存入 SD 卡所有文件的列表界 换器包含一个可编程分频器,可将时钟调整至逐步逼面,单击文件进入显示波形界面。
除了 Activity,该程 近转换所需的 4.5MHz。
序还注册了 BroadcastReceiver广播消息来接收系统 2.2 LPC2142 与 USB 模块接口USB 连接消息的通知。
同时各个 Activity 之间的通信 LPC2142 微控制器内部带有一个 USB 设备控制是由 Intent 实现的, 界面的一些按钮、布局等是由 View 5 器 ,该控制器支持 32 个固定配置的物理端点,并完实现的。
全兼容 USB2.0 全速规范。
该控制器嵌于 CPU 芯片内 部,这样的集成方式不仅使 USB 设备控制器与 CPU 之2 LPC2142前端采集平台设计 间的数据交换可以稳定地达到很高的速度,而且提高了 4 本设计前端采用 ARM7 处理器 LPC2142 作为硬 芯片的性价比。
USB 接口电路如图 5. LPC2142 的 P0.27件开发平台,LPC2142 是 PHILIPS 公司生产的基于 和 P0.26 引脚的第二功能控制 USB 数据的传输。
支持仿真和嵌入式跟踪的 32 位 ARM7TDMI-S 内核的
Android USB 主机与 LPC2142 USB 设备之间的通CPU,带有 64kB 的高速 Flash 存储器和 16kB 的 信完全遵循 USB2.0 全速规范,根据规范建立 USB 连 System Construction 系统建设 41计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2012 年 第 21 卷 第 8 期接的命令流程如图 6。
图5 USB 接口电路 图7 心电信号波形图 3 结语 本文介绍了
Android 平台的系统构成以及基于
Android 平台平板电脑 USB 应用程序的开发和设计, 并将这一应用与 AMR 平台紧密结合开发出一种新型 数据采集系统,即基于
Android 平台和 AMR 平台相结 合的 USB 数据采集系统。
可以看出,
Android 平板 电脑在应用程序开发上已与 PC 相媲美,而 ARM7 处 图6 USB 通信命令 理器 LPC2142 具有 USB 通用串行总线接口,可以进 行高速数据采集的处理,该平台具有良好的实用性可2.3 应用 应用于需要实时高精度测量电参数的领域,而且方便 该系统能够成功实现
Android3.1 平板与 LPC2142 快捷。
相信未来随着
Android 技术的不断发展平板电之间的 USB 数据通信,传输速率完全满足 USB2.0 全 脑应用程序会越来越丰富,应用领域会越来越广。
速规范。
与传统数据采集系统相比更具优越性,既拥有
Android 完美的人机交互界面, 又兼具 LPC2142USB 参考文献 1 姚昱旻刘卫国.
Android 的架构与应用开发研究.计算机系高速采集的优点,具有很强的实用性。
为测试该系统 统应用20081:110112.运行正常,利用 LPC2142 发送一组来自麻省理工的心 2 韩超梁泉.
Android 系统原理及开发要点详解.北京:电子工电数据进行测试,为配合
Android 支持的 USB 传输模 业出版社2010.式,LPC2142 USB 按批量传输方式,一次可传送最大 3 公磊周聪.基于
Android 的移动终端应用程序开发与研究.包长度为 64 字节,
Android 平板也采用批量传输方式, 计算机与现代化20088:8589.设置的接收时间与 LPC2142 的发送时间一致,接收函 4 周立功.深入浅出 ARM7-LPC213x/214x下册.北京:北京数是 bulkTransfer UsbEndpoint endpoint,byte buffer, 航空航天大学出版社2006.int length,int timeout。
为说明测试结果,将接收的数 5 周立功等.PDIUSBD12 USB 固件编程与驱动开发.北京:北据以文件形式存入数据库与原数据进行对比正确,说 京航空航天大学出版社2003.明测试结果非常标准,测试波形如图 7 所示。
42 系统建设 System Construction