新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于 Android 平台的 USB 数据采集系统

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

作者:时间:2013-08-06来源:网络收藏

UsbAccessory 本类是针对Open Accessory API设计的。UsbConstants作为 常量定义,在Linux内核文件linux/usb/ch9 . h中。UsbDevice获取设备的信息,比如说类型、制造商等等。

  UsbDeviceConnection 这个是 设备传输控制的核心。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 通信命令

模数转换器相关文章:模数转换器工作原理


分频器相关文章:分频器原理


评论


相关推荐

技术专区

关闭