基于C的音频范围扫频仪Word文档格式.docx
《基于C的音频范围扫频仪Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于C的音频范围扫频仪Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
3系统方案2
3.1总体介绍2
3.2第一级调理电路2
3.3带阻网络5
3.4第二级调理电路7
4系统功能模块设计8
4.1DSP选择与外围电路设计8
4.2RS232通讯接口9
4.3ADC接口10
4.4电源模块10
5系统软件设计11
5.1软件总体框图11
5.2上位机部分11
5.3下位机部分12
6系统关键设计与创新13
7系统测试结果14
8附录一(均衡算法)16
9附录二26
9.1PCB板照片26
9.2上位机交互界面31
1引言
本文设计目的是制作一台音频范围的扫频仪,该扫频仪包括下位机DSP及外围电路完成指定频率范围幅频特性测试和上位机VB图形显示界面,之间通过RS232串口电缆连接。
此外为了方便测试性能,我们还制作了一个带阻网络模块。
在电子测量中,经常遇到对网络的阻抗特性和传输特性进行测量的问题,其中传输特性包括增益和衰减特性、幅频特性、相频特性等。
用来测量上述特性的仪器我们称为频率特性测试仪,简称扫频仪。
它为被测网络的调整、校准及故障的排除提供了极大的方便。
我们所设计和制作的这台音频频率范围内的扫频仪,能够实现在音频范围内对带阻网络进行其特性的测试,性能良好。
DSP(DigitalSignalProcessing)数字信号处理是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
而DSP(DigitalSignalProcessor)是一种独特的微处理器,是以数字信号来处理大量信息的器件,也是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
在这个设计中,我们选择了新款的低成本控制系列TMS320F28234芯片,主要使用了DSP内部PWM、SCI以及ADC外设。
本设计基于TMS320F28234DSP平台,完成了扫频仪的制作与测试。
2系统指标要求
本设计具体指标要求如下表1所示。
表1系统指标要求
模块
基本要求
电源
单电源供电
扫频信号产生
不得使用外部DAC或DDS芯片,只能使用C2000内部PWM信号发生器
扫频信号频率范围20~20kHz,步进小于10Hz;
计算出基于所使用芯片所能达到的最小分辨率
信号调理电路1
输出幅度应在0~3V;
具体峰峰值不限
输出电阻为600
带阻网络
使用推荐放大器
以10kHz单频信号为基准,要求带阻网络的最大衰减≥10dB
带阻网络应可拆卸
幅频特性测试
信号调理2的输入电阻为600
应用数字信号处理技术获取带阻网络在20~20kHz间的幅频特性,不得使用硬件真有效值检测电路;
使用C2000内建ADC
幅频特性显示
使用C2000的UART和电脑显示器通信,
设计显示界面和简单界面;
或利用模拟示波器;
均衡
(发挥部分)
20~20kHz频率范围内的通带起伏不大于±
1.5dB
3系统方案
3.1总体介绍
本设计是以外部电路尽量简单,充分使用DSP的内部设备资源的前提完成的。
信号处理部分以TMS320F28234DSP芯片作为控制和测量的核心。
在硬件部分,分为第一级调理电路、带阻网络和第二级调理电路。
其中,第一级调理电路采用了巴特沃斯四阶低通开关电容滤波器集成芯片TLC04来实现,设计以及操作都比较简单;
带阻网络采用了改进型的双T型陷波器,经过测试,性能良好;
第二级调理电路采用了集成芯片——具有MUX的零漂移、可编程增益放大器PGA113来实现,可以完美地实现对于信号的第二级调整要求。
总体框图如图3.1所示。
图3.1总体框图
3.2第一级调理电路
本部分主要实现了在音频的20Hz到20kHz中将DSP输出的单频PWM方波信号变成单频的正弦波。
经过查阅资料,有几种办法实现此功能。
首先,我们考虑了锁相环。
模拟锁相环可以产生高频率稳定度的正弦信号,而且能够实现对单频信号的倍频输出,经过试验发现即使输入的是方波也具有很好的输出波形。
但是常见锁相环一般应用于高频信号的生成,对于低达20Hz的信号输出非常困难。
而且,锁相环电路调试尤其是VCO的制作比较困难,锁定时间较长,而且很容易失锁的情况。
因此,我们经过初步的实验就放弃了这种方法。
其次,考虑到PWM生成的方波就是不同能量的奇数次正弦波谐波的叠加,所以我们想到无源的RC低通滤波器,但是,由于扫频信号频率在20Hz~20kHz如此宽的范围内,很难设计一个固定的RC电路完成工作。
虽然这个方案在初始阶段就被否定了,但启发了我们继续思考。
如果滤波器截止频率可变,问题就迎刃而解,于是诞生了我们最后采用的方案。
该方案使用了有源滤波器,它由R、C元件与运算放大器组成。
有源滤波同无源滤波比较,滤波效果好,主要可以同时滤除多次及高次谐波,不会引起谐振,能够较好地达到我们的要求。
通常用三个运算放大器辅以合适的电阻和电容元件就可以实现双二阶型的有源滤波。
但同样无法实现截止频率可变这一设计要求,于是我们使用了TLC04,它是巴特沃斯四阶低通开关电容滤波器,理论上四阶低通滤波器适合于滤除多次谐波,其最大的优点是截止频率可以通过时钟引脚控制,非常符合本设计的需要。
TLC04是一种单片巴特沃斯四阶低通开关电容滤波器,成本低廉且易于使用。
该芯片截止频率稳定度只依赖于外部时钟频率的稳定性,并且截止频率是可以根据时钟来调整的,在时钟与截止频率为50:
1的时候有低于
的误差。
该芯片的功能框图见图3.2.1所示。
图3.2.1TLC04的功能框图
根据TLC04性能以及典型应用电路,我们设计了第一级调理电路,见图3.2.2所示。
输入两路方波信号,一路为输入信号,一路为时钟信号,开关滤波得到与输入同频正弦信号;
再对所得正弦信号进行二阶低通滤波,使其高频波形平滑;
其后对信号正向分压(使用0PA364搭建的正向分压电路),将输出信号幅度控制在0~3V之内。
0PA364的输出电阻为0,输出端串联两个300
的电阻,使得第一级调理电路的输出电阻为600
,满足了阻抗匹配的要求。
调理电路一具体电路详见图3.2.3~3.2.6所示。
其中,图3.2.3为电压偏置电路,保证输入时钟信号的电压值幅度;
图3.2.4为TLC04单电源开关滤波电路,将PWM信号转换为同频正弦信号;
图3.2.5为平滑滤波电路,增益为
,截止频率为
;
图3.2.6为有源正向分压电路,有
。
图3.2.2第一级调理电路
图3.2.3电压偏置电路
图3.2.4TLC04采用外部时钟驱动电路
图3.2.5二阶低通滤波
图3.2.6有源正向分压电路
3.3带阻网络
该部分主要是设计并制作了一个可拆卸的带阻网络,为调试提供方便。
带阻网络的设计种类繁多,各不相同。
包括有源和无源两大类。
其中,RC带阻滤波电路即为简单的无源带阻网络,该电路只需要计算出设定电阻和电容的大小即可使用,此电路的优点是使用一级运放就可实现频率限定,没有大量复杂的计算,但是,题目要求必须使用有源滤波器,所以,这种简单的方法我们不予考虑。
在有源带阻滤波器中,双T带阻滤波电路效果较好,使用较为广泛,其理论计算和设计都比较成熟。
运放同相端外接一个双T带阻滤波电路,它是由无源低通电路两个R和C和高通电路两个C和R/2并联组成。
有带深度电压串联负反馈的运放双T网络负载电阻无限大。
双T电路是两个星形接法阻抗电路的并联。
此电路有较好的限波特性。
基本的双T型陷波器的设计以及其频率特性如图3.3.1所示
图3.3.1双T型陷波器电路以及其频率特性
其传递函数为:
其中,
R和C的值可由中心频率
来决定,即:
其Q值可由下式计算而得:
,f为反馈系数,并且,Q值随反馈系数的增高而增大。
根据上述的原理,我们设计了一种有源的改进型的双T型陷波器。
电路图如图3.3.2
而我们的设计中对双T网络进行了改进,增加了跟随器,以使得满足第一级调理电路的输出要求。
制作中采用的运算放大器芯片是TI公司的OPA364。
对带阻网络的性能测试后发现,以10kHz单频信号为基准,带阻网络的最大衰减达到了要大于10dB的要求,并且,得到了比较理想的Q值。
图3.3.2带阻网络
3.4第二级调理电路
第二级调理电路主要要实现的功能是对于带阻网络输出的信号在进入ADC模块之前进行幅度上的调整,使其在0~3V之间,不致对ADC模块产生影响。
为了实现将大信号缩小,小信号放大的功能,该部分我们选择采用了具有MUX的零漂移、可编程增益放大器PGA113。
PGA113是单电源供电,带有输入多路复用器的PGA。
多路复用通道选择和增益选择是通过一个标准的SPI接口。
PGA113有两个通道输入复用器,其增益提供选择范围
为(1,2,5,10,20,50,100,200),并有一个三线SPI数字接口。
其典型的应用电路如图3.4.1所示。
图3.4.1PGA113的典型应用电路
我们应用PGA113设计的第二级调理电路如图3.4.2所示。
并按照题目要求,第二级调理电路的输入电阻应该是600
,所以,我们在输入端并联了1.5K
和1K
的电阻,使其能够满足要求。
除此之外,输出信号在进入ADC采样之前,我们还加入了简单的RC低通滤波,尽量减少噪声信号干扰影响AD采样精度。
图3.4.2第二级调理电路
4系统功能模块设计
系统功能模块由以下四部分组成:
DSP及外围电路、通讯接口、ADC接口、电源模块,下面分别介绍。
4.1DSP选择与外围电路设计
本设计中我们选择DSP芯片TMS320F28234作为核心处理芯片,其外围电路包括复位电路、JTAG调试接口、时钟电路等。
TMS320F28234含有丰富的片上外设资源,如ADC、事件管理器、PIE、看门狗、SCI、SPI等。
使用了其片上ADC、PWM及SCI等模块,无需外扩ROM。
系统中,F28234协调着整个系统各模块的有序工作及承担着信号处理的任务。
复位电路采用阻容式电路,以方便进行手动复位。
JTAG口方便程序的调试和烧写。
DSP复位电路以及JTAG电路如图4.1.1。
图4.1.1DSP复位电路以及JTAG接口
F28234的另一个特点就是其CPU时钟频率已经可以达到150MHz,即单周期指令执行时间为6.67ns。
这从而为高速采集和处理信号提供了保障。
因而,系统中F28234由外部30MHZ的有源晶振提供时钟信号,并在其内部2分频经锁相环10倍频至150MHz。
时钟电路图如图4.1.2所示。
图4.1.230MHz时钟晶振接入电路
4.2RS232通讯接口
通讯模块接至F28234的SCI模块,通过9芯标准RS-232口与其它系统进行串行通讯。
选用F28234片上SCIC作为串行通讯口,选用MAX232作为串口通讯信号电平转换模块的主要器件。
串行通讯部分硬件连接图如图4.2所示。
图4.2通讯接口硬件连接图
4.3ADC接口
系统使用了两路AD:
ADINA0和ADINB0,ADC部分硬件连接图如图4.3所示。
图4.3ADC接口硬件连接图
4.4电源模块
系统供电电路总体框图如图4.4所示。
图4.4系统总体供电框图
该模块主要使用了电源转换芯片TPS767D301。
因为DSP芯片TMS320F28234需要+3.3V的工作电源和+1.9V的内核电源,该模块采用了这种电源转换芯片将+5V转换为+3.3V和+1.9V。
为了减小数字部分对模拟部分的影响,系统中将数字电源与模拟电源、数字地与模拟地分开。
模拟地与数字地之间接0电阻,以抑制高频串扰。
5系统软件设计
5.1软件总体框图
系统软件整体设计分为两大部分,即上位机PC和下位机DSP两部分的软件设计。
5.2上位机部分
程序说明:
在VB6.0环境下开发,采用RS232协议。
关于通信的数据传输协议:
数据帧的帧头为2个特定的字符‘S’和‘T’,利用控件的事件驱动进行帧同步和有效数据提取处理。
本界面的数据采用实时显示的方式,可以动态的看到曲线的生成,还可以通过鼠标选择特定的频点进行观察比较。
上位机的流程图如图5.2
图5.2上位机流程图
5.3下位机部分
在CCS3.3环境下开发,下位机的处理单位是一个频点,完全受上位机指令控制运行。
下位机通信协议跟上位机基本相同,只是数据承载的内容有所变化,为了减少下位机的运算量,降低开发难度,提高扫描效率,在设计中将对数计算和数据缓冲区放到了上位机中进行。
下位机的流程图如图5.3
图5.3下位机流程图
6系统关键设计与创新
1、本系统采用TI公司在F2812芯片基础上进行改进后推出的F28234芯片上进行开发,在功耗、性能、稳定性方面都有很大提升,片内ADC精度也有较大提高,非常适合承担低成本条件下的控制和运算任务。
2、基于方波就是同频正弦波及其奇数次谐波组成的成分关系,采用MAX293/297集成芯片,实现了低通滤波器截止频率程控的功能,将片上PWM输出的50%占空比方波扫频信号完美的转化为幅度基本恒定的不失真的正弦扫频信号。
3、有源带阻网络使用了应用广泛,较为成熟的双T带阻滤波电路,在设计频点实现了-20dB以上的衰减。
4、在ADC采样前端加入可编程运算放大器PGA113,不但提高了本设计在测量微小信号时的测量精度,还实现了AD与待测信号之间的有效隔离。
5、在上位机采用VB环境进行开发,其串口控件和图形显示控件非常好的协助了本设计的实现,操作简单的同时也使得测量结果更加直观。
6、在RS232通信协议的应用中自主定义了通信帧格式,使得通信过程更加规范、简单、有效,对外界干扰也具有一定的抑制作用,提高了系统的鲁棒性。
7系统测试结果
最后,我们进行了系统联调,测试结果如表2所示。
表2系统指标完成质量
实际效果
+5V供电
使用TMS320F28234的
PWM外设(两路)
计算出基于所使用芯片所能达到的最小分辨率
扫频信号频率范围20~20kHz,最小步进1Hz;
计算最小分辨率见下文
信号调理1的输出电压峰峰值约为2.62V
使用TI推荐的放大器OPA364
以10kHz单频信号为基准,要求带阻网络的最大衰减>
21dB(位于1.1kHz附近)
自制带阻网络,可更换
信号经DSP内部AD采样和处理,获得带阻网络幅频特性
使用C2000的UART和电脑显示器通信,设计显示界面和简单界面;
经过RS232串口和PC机通信,由上位机VB交互界面直观且清晰显示所测网络的幅频特性
音频范围内的通带起伏
不大于±
1.5dB,C2000可以实时处理(具体均衡算法分析见附录一)
扫频信号最小分辨率分析:
设
为CPU系统主时钟频率(F28234最高可达150MHz),
为PWM输出50%占空比方波频率,变量PRE表示时钟预分频寄存器值,变量DIV表示PWM分频寄存器值,变量PRD表示周期寄存器值。
通常分辨率跟计数器的位宽以及计数器基础频率决定,符合以下公式:
ResolutionFrequency*2^B=CounterBaseFrequency
其中B为计数器位宽,可见其相对分辨率完全由B决定,28234中PWM计数器位宽为16-bit,则相对分辨率为1/65536,约为0.015%。
根据上式可以推导出关系式:
可见计数器基础频率并不确定,其跟CPU系统时钟以及两个寄存器的数值相关。
单纯就提高分辨率来讲,系统时钟越小越好,但系统时钟
又不可能太小,会影响其工作及运算效率。
而PRE与DIV又要根据生成方波波的频率范围决定,也不可能为了提高分辨率任意增大。
所以,无法找到绝对的最小分辨率。
在本工程实际应用中,使用了150MHz的系统时钟,我们优先根据待测频率保障PRD的数值尽可能接近最大值来确定PRE和DIV的数值,尽可能的提高相对分辨率。
8
附录一(均衡算法)
8.1方案分析
为补偿陷波器的陷波特性,实现均衡,我组提出2种可行方案。
方案一:
FFT处理:
AD采样,将连续信号离散化,通过FFT快速傅利叶变换运算,得到输入信号的频谱。
根据事先所得的陷波器陷波特性参数,在频域上进行幅频均衡处理。
最后将信号通过IFFT傅氏反变换到时域,并经过外置平滑低通滤波器输出,将通频带为20Hz~20kHz内的信号电压幅度波动控制在在1.5dB以内,实现数字均衡的目的。
示意图如下所示:
这里,均衡效果很大程度上依赖于所测得的陷波器特性参数。
因为我们将利用示波器观测的陷波器音频输出信号数据(指各频率输出的峰峰值),或者直接利用由显示界面观测的陷波器音频幅频曲线,依参考频率(可选为10kHz)输出幅度进行归一化处理,得到处理后数据,再使用Matlab对数据进行拟合,得到需要修正的幅频曲线,取倒数则得到修正曲线。
只要每次FFT处理得到信号频谱后,将离散频谱数据与相应的修正曲线数据相乘,即完成了频域幅度修正,再做IFFT将其还原为时域信号输出,即实现了时域内幅频均衡。
使用FFT直接对频谱进行均衡过程中也可能存在问题,如还原波形帧与帧之间衔接处可能会出现毛刺,因为FFT帧处理可等效为对时域信号加矩形窗。
还有由于分辨率的关系,低频成分还原可能会出现失真。
不过这些问题应该可以通过叠处理的方法来解决,如下图所示:
图8.1.2叠处理方法
处理中丢弃每帧的坏值,按照时域顺序输出有效的数据,经过FFT处理后还原出平滑无失真的波形。
现大概计算一下运算量,若我们选用80k的采样率和4096点FFT定点运算,此环境下20kHz信号一周期内能保证4次采样,频谱最小分辨力为20Hz。
增大采样率和处理点数,能提高频谱分辨率和均衡效果,但是处理数据量和对数据处理速度的要求会增加。
鉴于FFT的低频特性不好,数据处理量大,波形易失真等缺点,我们不采用这种方案。
方案二:
使用数字滤波器,直接在时域对信号进行幅度-频率补偿,如图2所示。
设计思路有两种:
⑴求陷波器幅频特性,通过仿真计算其零极点,得到传递函数,设计与陷波器互补的带通网络及其传递函数,编程设计滤波器算法实现。
具体实现方法如下:
1进行电路仿真,求陷波器零极点;
2由零极点求系统传递函数;
3计算反传递函数;
4z域变换得到数字传递函数;
5编程设计IIR滤波器算法实现每个双二阶滤波器。
此设计思路清晰,但仿真是关键,寻找零极点较困难,而且容易丢失,结果存在一定的不确定性。
⑵基于原型法,级联多个滤波器,用MATLAB设计出多级直接II型滤波器来拟合实际的带通滤波器曲线,得到滤波器参数。
此思路即滤波器级联拟合逼近,设计基于原型双二阶滤波器,只需给定增益,中心