西京学院控制工程学院 苏加斌 李红波 许 鹏 杨稀智 李 杰 李春江
基于IAP15W和CH9343的手机虚拟示波器设计
西京学院控制工程学院 苏加斌 李红波 许 鹏 杨稀智 李 杰 李春江
【摘要】设计了一种以IAP15W单片机和CH9343芯片为核心的Android手机虚拟示波器,具体给出了信号调理电路、单片机数据采集电路和CH9343主机接口电路,并开发了单片机程序和手机程序,实现了两通道信号的实时波形显示功能。实验证明:该示波器实用新颖,使用方便。
【关键词】CH9343;IAP15W;虚拟示波器;智能手机
智能手机作为一种便携式移动平台,界面友好,性能优异,有非常广阔的应用空间。通过接入应用配件和安装示波器APP应用软件使手机成为一种便携式示波器,该示波器将极大地满足便携式测量的需要。近年来,国内以Android智能手机为平台的虚拟示波器设计资料和文献并不多,只有少数硕士论文中涉及相关应用[1][2][3][4][5]。本文提出并设计了一种基于IAP15W和CH9343的手机虚拟示波器,该示波器具有智能小巧、携带方便、即测即用等特点,能较好地解决快速便捷测量的需要。
本设计采用STC(宏晶)公司的IAP15W4K58S4单片机,宽电压供电(2.5V~5.5V),高性能、低功耗,单机器周期,具有硬件乘法/除法器,性能超过16MIPS;58KB 片上FLASH ROM,4KB SRAM;4个超高速USART;8通道10位 ADC转换器,采样率可达300kHz;1个可倍速的SPI接口;5个定时器;支持6路15位PWM带死区控制的通道等,其资源丰富,性价比高,可以满足快速地数据采集和复杂地数据运算。
CH9343接口芯片是WCH(沁恒)公司的一个高度集成、单芯片全速USB 安卓主机接口控制芯片,兼容USB2.0,内置USB协议解析器,符合Android AOA规范,无需外部编程,并为Android手机或平板提供USB转GPIO、UART、PWM、主SPI、从SPI和I2C等6种可配置硬件接口,用于内置USB设备接口的安卓设备访问外部组件,不受Android系统升级的影响,为用户提供简单易行的Android设备接口扩展方案,广泛用于车载系统、POS机、智能家居等行业。
图1 CH9343内部结构图
系统硬件主要包括信号调理电路、IAP15W单片机数据采集电路和CH9343主机接口电路,其共同组成示波器配件。系统框图如图2所示。
图2 系统框图
3.1 信号调理电路
信号调理电路主要完成信号的阻抗匹配、衰减和单双极性变换的功能,信号调理电路如图3所示,图中给出了其中1路。输入信号范围为-5V~+5V,由前级运放进行信号阻抗匹配,中间级进行了2倍衰减和后级信号抬升平移,完成双极性信号到单极性信号的变换功能,满足了单片机输入信号0~5V的要求。
图3 信号调理电路图
3.2 单片机数据采集电路
该电路把调理后的信号进行高速模数转换,完成数据采集工作。数据采集电路如图4所示。图中In0和In1是两通道经调理后的信号,它们分别连接至单片机的ADC0和ADC1的模拟输入引脚上。单片机的串口(TXD和RXD)与CH9343主机接口电路的串口(RXD和TXD)相连。
图4 数据采集电路图
3.3 CH9343主机接口电路
IAP15W单片机串口连接至CH9343的串口上,串口采用交叉连接。CH9343芯片的USB端口信号连接至安卓手机的USB接口上。当数据采集完成后,数据从高速串口发往CH9343主机接口电路,后由CH9343的USB接口上传至手机示波器软件中。CH9343主机接口电路如图5所示。
图5 CH9343主机接口电路图
固件程序设计主要包括主程序和ADC采集程序两部分,其中主程序用于完成单片机初始化设置和采集数据上传功能,ADC采集程序主要完成定时数据获取、转换和分析等功能。
4.1 主程序设计
主程序主要包括初始化数据缓冲区、I/O口、定时器T0、串口1 和ADC及上传采集数据等。当采集完成后,上传程序按照定义好的帧格式完成实时数据上传。主程序流程如图6所示。
图6 主程序流程图
主程序主要代码如下:
4.2 ADC采集程序设计
在该程序中,定时器T0设置为自动重装方式,当定时时间到时,进入T0中断服务程序,完成一次数据采集工作。定时周期与ADC采样率有关,由上位机软件设置。
定时器中断服务程序主要代码如下:
示波器应用软件采用Android Studio开发环境编写。Android 与CH9343的USB通讯遵循Google Android的AOA协议规范,通过CH9343主机接口芯片提供的高速串口与单片机数据采集电路连接,Android手机无需安装USB驱动,即插即用,与外设方便地进行即时数据通讯。通讯的建立往往需要经过四个交互过程:(1)检测安卓设备是否连接;(2)判断安卓设备是否支持Accessory模式;(3)试图在Accessory模式下启动设备;(4)支持AOA协议的情况下,建立通讯连接。图7是运行在HTC安卓智能手机上的虚拟示波器软件界面,图中所示的两通道波形是ADC的采样率为62.5kHz时分别对标准3V 1kHz方波和1V 5kHz正弦波信号的测量效果。
图7 软件界面
本文利用高性能控制器和安卓主机接口芯片,设计了一款手机虚拟示波器。该示波器融合了数字测量和便携式应用的优点,扩展了数字测量的应用空间,是传统数字示波器的有利补充。实验证明,该示波器能较好的满足中低频信号的测量需要,使智能手机成为一种即测即用的便携式数字示波器,可以较好的满足快速便捷测量需求。
参考文献
[1]王升.基于Android平台的虚拟示波器开发[D].哈尔滨﹕哈尔滨理工大学,2014﹕1-40.
[2]郝苒安.基于移动平台的虚拟示波器系统设计[D].西安﹕电子科技大学,2013﹕1-60.
[3]张群群.基于Android的数字示波器操作界面及手势设计[D].哈尔滨﹕哈尔滨工业大学,2013﹕1-60.
[4]宋菲菲.基于Android系统的示波器应用程序开发[D].哈尔滨﹕哈尔滨工业大学,2012﹕1-50.
[5]王永胜.USB+OTG在手持数字存储示波表中的应用研究[D].西安﹕电子科技大学,2009﹕1-60.
基金项目:2015年高校国家级大学生创新创业项目(编号:201512715798)。
作者简介:
苏加斌(1994—),陕西西安人,大学本科,现就读于西安西京学院。
李红波(1982—),陕西西安人,讲师,主要研究方向为数据采集与控制。