省一【A题-南信大-电信/长望】信号失真度测量
该项目基本完成了A题的各项要求。能偶测量THD值,以及个分量的谐波占比。
标签
嵌入式系统
电赛
MSP432
katsu
更新2022-01-08
南京信息工程大学
1854

简介

       电赛要先拿到奖项,完成度首先要有保障。在确定方案时,要考虑系统能够达到的性能极限。

系统总体设计

       系统结构的选择是根据题目的要求来进行设计选择的。输入信号的幅值范围是30mV~600mV。因此对输入信号应该进行预处理。尤其在处理小幅值高频率的信号时,注意选用的线材等,保证信号质量。对于本题,我们组选择了AD603模块,用于将输入的信号归一化到统一的幅值,我们这里是将输入的信号(30~600mV)借助AD603芯片,归一化成1V电压。将该电压输入到ADC前置处理电路(抬升输入信号值MCU的内置ADC范围内)后,直接接入MCU即可。至此外围电路的关键部分完成。其他非关键部分,包括一块串口屏用于显示测量的数据。串口屏只需占用一个MCU的UART接口。此外还有一个ESP32模块,用于完成发挥部分的手机显示,同样占用一个UART接口。最后是一个TLV3501高速比较器模块,用于辅助完成输入信号的频率测量,该模块输出方波,直接接入MCU的一个定时器的一个结构,测量单位时间方波数量,完成“频率“的测量。考虑到输入的信号在一个周期内可能多次触发TLV3501跳变,导致测量的频率为实际频率的倍数关系。所以还需进一步处理该“频率”值。

Fu2mMouptdSomNsBv3T9vKUCrIpp

我在组内负责代码编写,硬件部分我参与的比较少,所以在这里只做简单介绍。

  1. 显示方案。

在这里我们选用的是串口屏。鉴于电赛的比赛形式,时间是最宝贵的。要在短时间内完成功能是首先要考虑的。串口屏简单易用,能够使用简单的代码就能完成想要的功能,同时带有触摸功能,借助于串口,能够完成设备的交互,省去了其他的硬件设备,比如按键之类的东西。只需要使用配套软件绘制好显示界面,下载到串口屏中,便完成了显示功能的实现。后续只需要发送串口命令到串口屏中就能够显示THD值和绘制波形。

在发挥部分要求在手机上显示内容,这一部分使用ESP32来实现,同样借助于串口来进行通信。ESP32将数据发送到服务器上,然后手机APP去读取服务器上的内容,进行显示。

  1. 信号调理电路

这一部分我了解的比较少,有队友选择的硬件。使用的是AD603模块。该模块能够自动将输入信号的幅值调整到某一设定值。也就是实现自动增益控制的功能。这样使用一个模块便可以完成这个信号的调理,也就不用在考虑输入信号幅值这一因素的影响。

  1. MCU的选择

万万没想到信号处理题竟然要求使用TI的芯片。之前接触的都是STM32的芯片,TI的板卡基本上没有接触过,也就是说要在电赛期间重新熟悉一块板卡。

板卡的选型,对于我们来说也是非常的草率了。因为当时手里只有一块MSP432P401的板子,ADC的采样最高时1Msps,12位精度。我怀疑这道题是不是就是为了榨干这块板子的性能而出的。此外,网上的教程关于TI的32板卡也是比较少的,基本上只能看例程来学习。学校提供的还有MSP432E401,但因为已经开始使用了P系列板子,写了部分代码,而且E系列的资料好像更少。综合选择,我们小组使用P系列板卡。

  1. 其他

在这道赛题里,我们还使用了,TLV3501比较器模块,和一个自制的ADC抬升电路。比较器用于测量频率,抬升电路用于将输入信号抬升至MCU的内置ADC的要求范围之内。

代码设计

       这道题的硬件部分工作不是很多,器件选型也没有花费很多时间。主要是代码的编写是这道题的核心工作。由于不熟悉TI板卡的工作流程。第一天我基本上是在看教学视频,熟悉各个外设的工作。主要为以下几个外设编写代码

  • ADC+DMA: 这道题的最困难的部分应该就是驱动起MSP432的ADM和DMA了。因为需要待测信号最高频率为100kHz,其5次谐波分量也就是500kHz,所以采样频率最高需要1Msps。正好是MSP432P板卡的性能极限。这么高的采样率需要使用DMA。DMA的配置十分麻烦,我也只是看着例程代码一点点改出来的。该板卡DMA一次最多只能搬运1024点,更高点数的需要使用乒乓操作来进行信号采集。但我们组最终没有调试成功乒乓操作。最终作品使用的就是1024点的FFT操作。PS:这块板子好像可以超频,ADC的输入时钟可以更高,导致其采样率可以超过1Msps
  • Timer外设在本设计中,使用定时器用于输入捕获操作,来对输入的TLV3501进行计数。完成频率测量。起始也可以使用FFT操作,根据基波在FFT的位置,确定频率的大致范围,然后再次调整采样率,进行采集。我们两种方案都有所采用。首先使用FFT计算出频率的大致范围,然后计算该频率和TLV3501算出的频率成何种倍数关系,对TLV3501的频率除以这个倍数,得到的就是真正的信号频率。这样的测量得到的频率值更加准确。

其实,我们最初的想法仅仅是使用比较器进行频率的测量,后面才发现会导致频率错误,这时才想到信号会在一个周期内多次是比较器跳变。这种情况实在不应该发生,应该早先就预料到。后面我们又实现了FFT的测频功能。但准确度不是非常高。于是想到将两种方案进行融合。

  • UART接口。MSP432的UART资源几乎都已经被用掉了。分别用于和电脑的通信,和串口的通信,和ESP32的通信。UART的配置过程相对简单。配置完成便一劳永逸了。

我使用串口实现了一个简单的和电脑通信的方案。只需要电脑发送一个命令,便可执行对应的一个函数,这对于后面的调试,起到了很大的帮助。比如发送命令更改采样频率等等。

测量结果:

       基本要求全部满足。

       发挥部分,在接近100kHz时,对于误差增加,结果3%误差左右。对于高频部分 完成度不高。部分测试可以参考视频。

附件下载
A_题—可能最终版本.zip
CCS工程文件
团队介绍
队员分别来自南信大电信院和长望院。各司其职,分别负责硬件选型和论文写作,硬件部分调试,代码编写。
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号