基于STM32和CH9343的手机虚拟信号源设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32和CH9343的手机虚拟信号源设计
作者:王鹏李红波苏加斌
来源:《无线互联科技》2018年第11期
摘要:文章利用Android智能手机作为应用平台,通过设计信号调理电路、主控电路和CH9343主机接口电路,实现DAC数模转换,使得模拟数据按照设定参数产生波形输出,通过编写手机APP应用软件,完成波形参数输入功能。

实验证明,该虚拟信号源实用新颖,使用方便。

关键词:CH9343; STM32;虚拟信号源;手机示波器
实验室信号源是电子实验中常用的仪器,目标电路通过接入信号评估测试电路参数或性能。

实验用信号源往往采用交流供电,体积大,功能多,使用起来也较为复杂。

本文设计了一种基于STM32和CH9343的手机配件,通过利用安卓手机和接入应用配件,制作了一款便携式虚拟信号源。

该信号源具有携带方便、新颖实用、即插即用等特点,较好地解决了工程技术人员的快速测试需要。

近年来,有关智能手机在虚拟信号源方面的应用,更多的只是论述硬件设计方面[1-5],较少的结合智能手机平台方面的应用设计。

1 STM32单片机
本设计采用意法半导体(STMicroelectronics,ST)公司的STM32F103RC单片机,以ARM Cortex-M3为内核的增强型32位微控制器,专门为高性能、低成本、低功耗的嵌入式应用设计。

工作频率高达72 MHz,是同类产品中性能最高的;256 kB 片上FLASH ROM, 48 kB SRAM; 5个超高速USART;支持DMA操作的2通道12位同步DAC转换器;8个定时器;支持多路PWM带死区控制的通道等,其资源丰富,可以满足数据快速传输和复杂的数据运算等功能。

2 CH9343接口芯片
该芯片是沁恒公司的一个单芯片全速USB安卓主机接口芯片,符合Android开方文式配件(Android Open Accessory,AOA)规范,芯片内部配置有USB协议解析器,用于内置安卓设备对外部组件的访问。

该芯片提供了 USB转GPIO,UART,SPI和I2C等多种可配置硬件接口,可方便地实现安卓设备接口的扩展,用途广泛。

3 系统硬件设计
系统硬件主要包括智能手机和信号源配件两部分。

信号源配件由CH9343主机接口电路、STM32主控电路和信号调理电路组成。

系统框如图1所示。

3.1 信号调理电路
信号调理电路主要用来实现信号电流放大和极性变换功能,信号调理电路如图2所示,图中给出了其中1路。

输入信号uil范围为0〜+3 V,输出信号uol范围为-3〜+ 3 V。

由前级运放进行信号的双极性变换,后级进行了 2倍增益和50Ω阻抗输出等功能。

3.2 STM32主控电路
该电路完成用户参数到高速的数模转换,以产生需求的模拟信号。

主控电路如图3所示。

图中ui1和ui2分别是数字模拟转换器(Digital to analog converter,DAC)通道0和通道 1的输出信号,它们分别连接至信号调理电路上。

STM32控制器的串口(TXD和RXD)与
CH9343芯片的扩展串口(RXD和TXD)交叉相连。

3.3 CH9343主机接口电路
STM32控制器高速串口连接至CH9343的串口上,串口采用交叉连接。

CH9343芯片的USB端口信号连接至安卓手机的USB接口上。

当用户设定好波形参数后,数据从手机虚拟信号源软件中下传到CH9343的USB接口电路,后由CH9343主机接口电路转发至STM32的高速串口。

CH9343主机接口电路如图4所示。

4 固件程序设计
固件程序设计主要包括主程序和定时器中断程序两部分,其中主程序用于完成控制器初始化设置和数据接收功能,定时器中断程序主要完成波形产生等功能。

4.1 主程序设计
主程序主要包括初始化数据缓冲区、I/O口、串口 1、DAC模块和定时器TIM1及产生波形等。

主程序主要代码如下:
int main()
{
ClearBuffer 。

; //数据缓冲区清零ConfigurationPort(); //配置 I/O端口ConfigurationUart ();//配置高速串口,波特率
921600bps
ConfigurationDAC(); //配置DAC,12位分辨率ConfigurationTIMlO; //初始化定时器while(1)
4.2 定时器中断程序设计
在该子程序中,启用了定时器TIM1的中断功能。

当定时时间到达设定值时,进入
TIM2_IRQHandler。

中断服务程序,完成一次数据DAC数据发送工作。

定时周期与波形频率和周期采样点数有关,由下位机计算设置。

定时器中断服务程序主要代码如下:
void TIM2-IRQHandler(void)
{
DACSetChannel 1 Dat a(DAC-Align-l 2b-R,DA-ROMValue[0][k]); //发出通道0数据
DAC- S etChannel 1 Dat a(DAC- Align- 12b-R ,D A-ROMValue[l][k]); //发出通道 1 数据cnt++;
if(cnt>=Count)//每通道 20 个点
{
cnt=0;
flagOK=l;
……
}
}
5 应用软件设计
虚拟信号源应用软件采用Eclispe开发环境编写。

沁恒公司为安卓手机用户使用外部组件提供了固件支持,只要通过CH9343的安卓Demo模板,就可方便地完成手机APP界面设计和逻辑功能编写。

APP运行时,智能手机与CH9343的通信建立分4个过程:(1)检测安卓设备是否连接;(2)判断安卓设备是否支持AOA模式;(3)试图在AOA模式下启动设备;(4)支持AOA协议的情况下,建立通信连接。

运行在华为安卓智能手机上的虚拟信号源软件界面如图5所示,图中通道1为双极性,幅值1.0 V,频率为1 kHz的正弦波设定情况,通道2
为单极性,幅值2.0 V,频率为5 kHz的三角波设定情况。

如图6所示为图沖设定参数的实测波形,上面波形为通道1波形,下面为通道2波形。

由图可知本手机虚拟信号源工作效果良好。

6 结语
本文利用STM32控制器和安卓主机接口芯片,设计了一款手机虚拟信号源。

该信号源创新性地把传统信号发生器和智能移动终端相结合,扩展了信号源的应用空间,是传统信号源的有利补充,给工程技术人员带来便利。

实验证明,该信号源能较好地满足中低频信号的发生需要,使智能手机成为一种便携式信号源,可以较好地满足快速便捷测量需求。

[参考文献]
[1]张海鹏.简易信号发生器及手持信号检测仪[J].电子世界,2017(9):85.
[2]姜建国.基于STM32的新型信号发生器设计[J].化工自动化及仪表,2017(3):273.
[3]苏加斌,李红波.基于IAP15W和CH9343的手机虚拟示波器设计[J].电子世界,2016(5):76.
[4]牟光红.STM32的双路信号源及其配置平台设计[J].单片机与嵌入式系统应用,2014(10):37.
[5]王永胜.USB+OTG在手持数字存储示波表中的应用研究[D].成都:电子科技大学,2009.。

相关文档
最新文档