第三次积分赛总结

C题等精度测频

1.等精度测频法

原理图如下:
这里写图片描述

这里写图片描述

测量开始,首先发出一个清零信号CLR,使2个32 b的计数器和D触发器置0,然后再发出允许测频命令,即使预置门控信号GATE为高电平,这时D触发器要一直等到被测信号的上升沿通过时,Q端才被置1,即使BZ_ENA和DC_ENA同时为1,将启动计算器BZ_Counter和DC_Counter,系统进入计算允许周期。这时,计数器BZ_Counter和DC_Counter分别对被测信号和标准频率信号同时计数。当Tc秒过后,预置门控信号被单片机置为低电平,但此时2个32 b的计数器仍然没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这2个计算器同时关闭。由图2所示的测频时序图可见,GATE的宽度和发生的时间都不会影响计数使能信号允许计数的周期总是恰好等于待测信号XCLK的完整周期,这正是确保XCLK在任何频率条件下都能保持恒定测量精度的关键。因为,此时GATE的宽度Tc改变以及随机的出现时间造成的误差最多只有基准时钟BCLK信号的一个时钟周期,由于BCLK的信号是由高稳定度的100 MHz晶体振荡器发出的,所以任何时刻的绝对测量误差只有1/108 s,这也是系统产生主要的误差。

2.系统方案

本次采用了FPGA测量频率,占空比,时间间隔的方法,单片机与串口屏则作为数据接收与显示方案。本题原理清晰,实现的算法多样。

Created with Raphaël 2.1.2 Signal FPGA

单片机与FPGA采用串口通信,波特率为115200.通信方案为:FPGA不停地将每次测量的结果发送给MCU。数据帧头为0X0A,数据帧尾为0X0D。每次发送数据长度为16字节,包含4个32位数据。数据处理格式为:
* 频率=数据1/数据0
* 占空比=数据2/数据0
* 相位差=数据3

3.遇到的问题

1.串口接收数据错误

  • MCU采用串口中断触发不使用FIFO的方式接收数据,每接收一字节的数据就进入中断。结果显示,接收的数据常常在数据头或者数据尾发生错误。
  • 原因分析:在串口接收过程中,由于中断中存在判断数据帧头语句,因此在数据帧头后紧接着的数据头易丢书。和中断进入也有关系
  • 解决方案:放弃使用中断接收数据,改为在while(1)大循环中使用while循环,判断串口是否为空的方式接收数据

2.使用TM4与串口屏通信时,没有现象

  • 按照UART的常规配置方法配置好后,串口屏未接收到数据,插入电脑测试后也无现象
  • 原因分析:TM4对某些引脚采用了锁引脚的操作,使得某些引脚如果不解锁则无法使用
  • 解决方案:换用串口5

3.数据处理出错

  • 在对数据处理时,经过乘方运算后,输出数据错误
  • 错误分析:C语言实际上是不提供乘方操作的
  • 解决方案:调用math.h中的pow函数实现乘方操作

4.最终结果

  • 频率测量范围:1Hz-40M,平均误差不高于1%
  • 占空比测量误差较大,最大有5%的误差
  • 时间间隔测量准确,平均误差为1%

5.需要改进

  • 增加高频信号测量
  • 减小误差,尤其是占空比测量

B题锁定放大器

1.锁定放大器原理

两个信号相乘,因为在同频同相的情况下才会生成一个带直流偏量的信号。通过一个低通滤波器滤除交流成分,就会得到一个与原始输入信号成正比的直流信号,通过测量这个直流信号,就可以得到输入信号的值
因为锁定放大器抗干扰能力强,所以通常被用来测量微弱信号

2.系统方案

整个系统以相敏检波器为核心,输入信号进来后,首先经过一个交流放大器放大微弱的信号,之后通过一个中心频率为1kHz的带通滤波器来滤除其他频率的噪声。同时,输入信号再分出一路通过一个迟滞比较器进行触发整形,再经过一个由FPGA实现的数字移向器,之后通过一个用作方波驱动的放大器将方波信号放大。两路信号加到乘法器中,由于两信号同频同相,所以会产生一个带直流偏置的信号。将相敏检波器输出的信号通过一个低通滤波器滤除交流成分,得到直流信号,最后使用TM4内置12位AD测量直流信号,并发送到串口屏进行显示。
该系统中交流放大器分两级,后级为固定增益的放大器,前级为增益可控的程控放大器,其增益范围为1,10,100,1000.
系统框图如下:

graph LR
A[信号] --> B[衰减器]
B --> C[被测信号]
B --> D[参考信号]
D --> E[触发整形]
C --> F[交流放大]
E --> G[移向器]
F --> H[带通滤波器]
H --> I[相敏检波器]
G --> J[方波驱动]
J --> I
I --> K[低通滤波器]
K --> L[AD] 

3.遇到的问题

1.测量信号时出现幅值缓慢下降

  • 使用AD测量幅值时,幅度值难以稳定,呈缓慢下降趋势。
  • 原因分析:带通滤波器带增益,造成经过带通滤波器的信号出现缓慢相移,使原先对齐相位的信号不再,使得幅度下滑
  • 解决方案:改为使用不带增益的带通滤波器

2.测量信号时出现幅值来回跳动的情况

  • 使用AD测量时,经过拟合后的数据在不同测试时呈现不同的结果
  • 原因分析:每次锁定放大器产生的直流偏量不尽相同,使得拟合失去意义
  • 解决方案:无

3.测试方案不对

  • 采用更改衰减器的方案来分段测量100uV-1mV和1mV-10mV的信号。在测试的过程中,老师则认为作品应当是完备的,不被更改的,在测试过程中修改电路是错误的做法

4.增益控制无法切换

  • 本次放大采用程控的方案,通过判读AD采样的阈值来切换放大的挡位。在实际测试中出现挡位停留在100档出不来的现象。
  • 原因分析:经查找,发现100倍放大时电路出现削顶现象,无论怎么样改变输入,都无法改变输出电压,且输出电压始终无法达到阈值
  • 解决方案:调低阈值

5.带通滤波器出现50Hz漂移

6.加法器没能实现1:1叠加,从而无法在10倍噪声幅度下提取信号

4.最终结果

  • 能较准确的测量信号,但整个电路需要一定的调整时间。
  • 无法换挡,导致不停按Reset
  • 10倍噪声无法测量信号

5.需要改进

增加整个电路输出的稳定性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值