Android平台下AOA协议的PWM信号控制系统

2015-02-11 21:30:33来源: 互联网
Android开放配件(AOA)协议是一种Android终端通过USB总线与Android配件进行通信的协议,该协议为Android终端应用于设备控制和数据采集领域提供了条件。在一些设备控制应用中,有采用Android设备作为控制终端的需求。针对该问题,提出了一个通过Android手机控制Android配件UMFT311EV 开发板生成PWM 信号的系统。系统基于Android开放配件协议,通过操作Android手机界面控制PWM 信号的周期和占空比。首先介绍了系统构成,然后给出了Android终端软件的具体实现,最后以驱动舵机为例进行系统测试。系统实现了Android手机产生参数可控的PWM信号。

PWM(Pulse width Modulation,脉冲宽度调制)是一种调压技术也是一种变频技术,由于其具有经济、节约空间、抗噪性能强等优点 ,已广泛应用于测量、通信、功率控制与变换等领域中。目前,嵌入式PWM 控制应用广泛采用单片机,如简单应用可选用PIC、AVR等系列单片机,比较复杂的应用可选用DSP,要求更高的可以选用ARM等。但是,PWM 控制应用中选用Android智能手机还未见相关实例。

Android是一种全新的开源手机操作系统,具有强大的应用层API和传感器功能,广泛应用于手机、平板电脑等移动设备中。Android智能手机具有优越的用户交互性、接口资源开放性、移动性以及便携性等特点,随着其处理速度、存储容量、稳定性、网络访问能力等性能的逐渐提高,Android智能终端与工业应用的结合将会得到很大发展。2011年Google推出Android开放配件协议(Android Open Accessory Protocol,AOA,Protoco1)及配件开发工具包(Accessory Development Kit,ADK),提供了Android设备与Android配件通过USB或蓝牙进行通信的API,进一步拓宽了Android终端的应用范围。基于以上条件,本文介绍了一种基于AOA协议,通过Android手机USB控制Android配件生成PWM信号的系统。

1 AOA协议

AOA协议用于Android配件通过USB或蓝牙与Android终端进行通信。基于AOA协议实现Android终端USB通信方式称为配件模式。此模式下,与Android终端通信的另一端设备称为Android配件,两者都必须支持AOA协议。在USB通信过程中,Android终端充当USB从机,Android配件充当USB 主机并为总线供电。Android配件需具有USB主控制器功能并移植有AOA 协议。ADK开发板是常见的Android配件。采用ADK 开发板的Android配件模式示意如图1所示.

 

 

AOA协议基于USB协议,它规定了配件如何检测、枚举Android设备,并与设备建立通信的方法。AOA协议的工作流程如图2所示。

 

 

2 系统设计与实现

2.1 系统设计

系统以Android手机控制Android配件(ADK 开发板)产生等脉宽PWM,并控制一舵机为例,采用的Android配件为英国飞特蒂亚公司(FTDI)公司生产的Android平台USB主控模块UMFT311EV。在该模块的核心芯片内集成了USB协议和AOA协议,并支持4路PWM。系统框图如图3所示。

2.2 软件开发

本系统采用的UMFT311EV 开发板由于集成了AOA 协议,因此无需开发Android配件端的程序。此外,FTDI公司针对UMFT311EV 为Android终端程序开发提供了底层API。基于UMFT311EV 的Android手机端PWM 控制程序结构如图4所示。

 

 

在图4所示的结构中,PWM 驱动层为FTDI公司提供的与UMFT311EV开发板通信的方法集合,PWM 驱动层通过如表1所列的两个类与开发板进行USB通信。

 

 

PWM 用户层具体实现控制逻辑,由用户编写程序实现。该层调用驱动层的方法,从而间接实现与开发板的通信。在本系统中,用到的驱动层的方法如表2所列。

 

 

在编写程序前,需要为Android工程做以下设置工作:

① 配置Android Mainfest文件,设置Android USB配件模式。设定 元素及android.hardware.usb.accessory属性值,声明使用USB配件API;设置最小SDK版本为12(Android从该版本后支持USB配件模式);增加元素,并指定android.hardware.Usb.action.USB_ACCESSORY_ATTACHED意图,用于当USB配件连接后向用户发出提示。增加元素并使其指向一个外部的XML资源文件accessory_filter.xml,该文件用于声明希望Android设备检测的USB配件的描述信息。② 配置accessory_filter.xml文件。增加元素,并指定manufacturer、model、version三个属性。在Android配件的固件程序中,同样包含以上三个属性值。根据AOA协议,当Android配件连接到Android设备上时,配件会发送该属性值到Android设备。Android程序将唯一响应与其accessory_filter.xml中指定的属性值匹配的Android配件。

本系统的accessory_filter.xml的配置如下:

< usb—accessory model=”FTDIPWMDemo”

Manufacturer=”FTDI”

version= ”1.0”/>

Android手机端程序流程如图5所示。

 

 

3 系统测试及结果

本系统的测试场景如图6所示。

将ADK开发板通过USB数据线连接至Android手机上,此时,手机界面将弹出授权对话框,提示打开系统软件。软件界面如图7所示。

点击“输出”按钮,输出PWM 信号。在输出信号的过程中,可以通过滑动条动态调整PWM 信号的周期和占空比。经过测试,本系统能够实现Android手机通过USB接口控制产生PWM 信号。由于实验设备(Android手机和ADK开发板)的性能限制,本系统能够实现PWM 信号的参数调节范围如表3所列。

 

 

 

 

结语

经过在小米2手机上的反复测试,通过手机能够产生的PWM信号周期范围为1~250 ms,占空比范围为5%~95%,系统总体延迟小于5 ms。系统实现了通过Android手机USB控制Android配件生成参数可控PWM信号的功能,并且可以通过操作Android手机界面实现动态调节PWM信号。项目组正开发多种PWM信号的控制系统,并在深入研究和探讨本系统与工业应用的结合。

关键字:Android  PWM  信号控制系统

编辑:探路者 引用地址:http://www.eeworld.com.cn/dygl/2015/0211/article_25587.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
Android
PWM
信号控制系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved