基于单片机和FPGA的频率特征测试仪
在学习《电子线路》、《信号处理》等电子类课程时,高校学生只是从理论上理解真正的信号特征。不能真正了解或观察测试某些信号。而幅频特性和相频特性是信号最基本的特征.这里提出了基于单片机和FPGA的频率特性测试仪的设计方案,可使学生在实践中真正观察和测试信号的频率特性。
2 设计方案
该系统设计采用扫频测试法。设频率响应为H(jω),实系数线性时,不变系统在正弦信号x(n)=Acos(ω0n+ψ)的激励下的稳态输出为y(n)。利用三角恒等式,将输入x(n)表示为两个复数指数函数之和:
若输入为exp(jω0n),线性时不变系统稳态输出为H(exp(jω0n))exp(jω0n)。根据线性性质可知,输入g(n)的响应v(n)为:
同理,输入g*(n)的输出为v*(n)是v(n)的复数共轭。于是输出y(n)的表达式:
由上可知,当系统在正弦信号的激励下,输出响应达到稳态,这是与输入激励信号频率相同的正弦波,响应信号与激励信号幅值比为该频率的幅频响应值,而两者的相位差为相频特性值。因此采用扫频法测量频率特性。
以单片机和FPGA为核心,利用FPGA通过DDS合成得到且频率由单片机控制的正弦波作为扫频信号,将其输入至待测网络,由峰值检波电路分别测量各扫频信号对应的输入网络信号和输出网络信号,并由其比例关系求得待测网络的幅频特性。测量幅度的同时FPGA利用计数法测量出代表进出网络信号的相位差的脉冲数,然后送入单片机得到对应频率点的相角。将各频点得到的幅度特性和相位特性存入FPGA内部的RAM中,并结合锯齿波显示在示波器上。同时,LCD还显示扫描频率的初始值、终止值和步进值。定点测量时,LCD显示单个频率点的幅度和相位。该系统设计框图如图1所示。
3 硬件电路设计
3.1 信号产生模块
利用FPGA内部的DDS信号输出扫频信号经D/A转换器形成正弦信号。D/A转换器选用DAC0800。DAC0800具有8位分辨率,输出电流建立时间为100 ns,8位的位宽,工作电压范围为±4.5~±18 V。因此,经DAC0800所形成的正弦信号有256个取样值,完全能满足系统精度要求。输出正弦信号的最高频率为200 kHz,100 ns的速率也满足系统要求。由于DAC0800只具有从数字量到模拟电流输出量转换功能,因此.需增加运算放大器实现I—V转换,其转换电路如图2所示。DDS信号输出需要加低通滤波器来平滑滤波,以减少信号的谐波分量。
3.2 峰值检波电路
峰值检测原理是当输入电压通过正半周时,检波管导通,电容C充电,选取适当电容值,使其电容放电速度大于充电速度,这样,电容两端的电压可以保持在最大电压处,该电压通过由运算放大器构成的射随器(高阻隔离)输出电压峰值。这里运算放大器选用LF356,其输入失调电压和输入失调电流较小,输入阻抗大,可以很好隔离前后级。峰值检波电路如图3所示。
3.3 比较器电路
在输入/输出端信号经无限放大进入过零比较器,产生与两信号同步变化的方波信号,可提供给FPGA进行相位差计数。过零比较器无相位延迟,其方波信号完全反应进、出网络的相位差。MAX912是MAXIM公司的双通道高速低功耗、高精度电压比较器。该器件传播速度快(典型值为10 ns),功耗低(单个比较器工作电流为6 mA),每个比较器均有独立的锁存使能功能。由于FPGA对相位的测量是基于对下降沿的检测,为了产生边沿陡峭的方波,因此,选用MAX912组成的高速过零比较器,其电路如图4所示。
4 软件设计
图5为系统软件设计流程图,首先系统初始化,主要是初始化LCD菜单显示,这样可便于根据LCD菜单进行按键操作。然后系统可根据默认频率范围(100 Hz~1 000 kHz)扫描,如果无其他按键,则示波器显示待测网络在该默认频率范围的频率特性曲线。当有按键下,CPU产生中断进行按键处理,改变扫描参数。系统配置主要有4种按键处理情况,若左右频率设置则改变最小最大频率,即改变扫描范围;若步进设置,则改变扫描步进,最小步进设置为10 Hz;若设置为快扫和慢扫,快扫速度快实时性好,而慢扫精度高但速度慢;若特定频率点测量,则LCD显示该网络在单个频率点的幅度特性和相位特性。按键设置完毕,系统按照设定参数扫描和测试,示波器和LCD显示新结果并等待新的按键操作。
5 测量结果
在此基础上设计一个双T网络。由于双T滤波网络是属于带阻滤波器,若输入某一频率信号,该电路发生谐振而使其不能通过,但输入其他频率信号基本都可通过,但幅值有所衰减。采用阻抗星形三角形变换法,该双T网络可等效为简单的π型网络。利用Matlab仿真,得到双T滤波网络幅频特性曲线和相频特性曲线,如图6所示。
通过实验测试数据可知,双T网络的
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)