微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于 Android 平台的 USB 数据采集系统

基于 Android 平台的 USB 数据采集系统

时间:08-06 来源:互联网 点击:

  随着科技的发展, 嵌入式及移动互联网的应用越来越广泛,二者以其自身的优势在各自领域都占有一席之地。目前基于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 设备连接成功则进入下一界面;US

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top