论坛风格切换切换到宽版
  • 10884阅读
  • 16回复

简易频谱分析仪[2005年电子大赛一等奖] [复制链接]

上一主题 下一主题
离线BD3RJ
 
发帖
18844
只看楼主 倒序阅读 0楼 发表于: 2006-07-20
摘要:本系统利用spce061a单片机作为主控制器,采用外差原理设计并实现频谱分析仪:利用dds芯片生成10khz步进的本机振荡器,ad835做集成混频器,通过开关电容滤波器取出各个频点(相隔10khz)的值,再配合放大,检波电路收集采样值,经凌阳单片机spce061a处理,最后送示波器显示频谱。测量频率范围覆盖1mhz-30mhz,可根据用户需要设定显示频谱的中心频率和带宽,还可以识别调幅,调频和等幅波信号。
关键词:spce061a   dds

一、方案论证
  方案一:扫频法。这种频谱分析仪采用外差原理,由本机振荡器产生一定步进频率的信号与输入信号相乘,然后由适当的滤波器将差频分量滤出以代表相应频点的幅度。本机振荡信号可以达到很宽的频率,与外部混频器配合,可扩展到很高频率。这种方法的突出优点是扫频范围大,硬件成本低廉,但这种方法对硬件电路要求较高,各模块性能都需要精心设计,且连接在一起整体调试时有一定难度。而且它只适于测量稳态信号的频率幅度,获得测量结果要花费较长的时间。
  方案二:fft法。这种频谱分析仪采用数字方法直接由模拟/数字转换器(adc)对输入信号取样,再经fft处理后获得频谱分布图。它的频率范围受到adc采集速率和fft运算速度的限制。为获得良好的仪器线性度和高分辨率,adc的取样率最少等于输入信号最高频率的两倍。fft运算时间与取样点数成对数关系,频谱分析仪需要高频率、高分辨率和高速运算时,要选用高速的fft硬件,或者相应的数字信号处理器(dsp)芯片。可见这种方法的优点是硬件电路简单,主要依靠软件运算,可以提高分辨率。但缺点是频率越高,对adc和dsp芯片的速度要求越高,相应价格也越昂贵。
  方案三:分段fft。这种方法将输入信号分段,逐段进行fft的处理,这样分段取样降低了对adc和fft硬件的速度要求,又可以在相对窄的频段内得到更高的频谱分辨率。但是这种方法在软件和硬件的设计和测试上显然要复杂很多,尤其是在1m-30mhz如此宽的频段范围内。
  根据实际条件和成本上的考虑,在满足题目要求的前提下,我们选择方案一实现频谱分析仪。

二、详细软硬件设计
  根据题目要求,系统总体设计框图如图2.1,硬件连接图如图2.2。


1、硬件设计
(1) 单片机最小系统
  如图2.1,本系统选用spce061a单片机作为主控制器,进行信号处理和控制人机交互。spce061a是一款16位结构的微控制器。在存储器资源方面,spce061a内嵌32k字的闪存(flash),可供存储扫描所得的频率点幅值,而不用外置存储器,节省了存储时间,方便对数据进行处理;在处理速度方面,它的cpu时钟为0.32mhz~49.152mhz,较高的处理速度使其能够非常容易地、快速地处理复杂的数字信号;32位通用可编程输入/输出端口便于与外围器件相连;7通道10位电压模/数转换器(adc)可供采集样值。
(2)dds集成芯片
  如图2.1,本系统中选用ad9850 dds集成芯片完成dds本振。ad9850是高稳定度的直接数字频率合成器件,内部包含有输入寄存器、数据寄存器、数字合成器(dds)、10位高速d/a转换器和高速比较器。ad9850高速的直接数字合成器(dds)核心根据设定的32位频率控制字和5位相移控制字,在外接125mhz晶振时,可产生高达40mhz的正弦波信号。
根据ad9850说明书的电路制作了dds集成板。实际测试dds的芯片所产生的信号波形(10m以下)较好,幅度随着频率的升高而略有下降,为了满足ad835小信号混频的性能,我们后接ad603加以衰减。详细见下面(3)。
(3)混频器
  乘法器ad835可以实现250mhz带宽内的混频,这对于我们的设计完全满足要求。而且其输出幅度在不同频率值时相对稳定,外围电路也相对简单,不需要进行复杂的调零调试,只需要对z的直流输入进行相对调整即可。其基本原理框图如图2.3所示。其中w=x×y+z。

图2.3 ad835原理框图

  ad835对小信号的乘法精度较高,不易输出新的频率分量,所以我们利用ad603将dds输出信号适当衰减,将输入小信号适当放大,再送入乘法器,以获得最好的相乘效果。电路连接如图2.4所示。
  在实际测试过程当中,我们发现乘法器的输出信号幅度会随信号频率的升高而略有增加,很好地弥补了dds集成芯片ad9850输出信号的幅度随着频率的增加而小幅度降低的这种缺陷。

图2.4 带宽90mhz、增益可控的ad603信号放大电路

(4)滤波器
  本设计要求频谱分辨力为10khz,所以每个扫频点的间隔为10khz,以此频点作为中心,左右各5khz范围之内为有效值,所以滤波器需要5khz的带宽。max297为8阶开关电容滤波器,可以实现截止频率0.1~50khz的可调,很容易满足题目的要求。其带内增益平坦,带外衰减速度很快。
  max297的1管脚的clk信号可以外接一个电容实现截止频率的选择:

这样可以根据max297的截止频率和clk的比值为1:50的关系确定截止频率fc,经过实际测试选择120 pf可以实现5khz的截止频率,满足题目的频谱分辨率要求。如图2.5所示。

图2.5 由max297所组成的截止频率为5khz的lpf

(5)检波电路
  如图2.1,为了提高检波精度,我们选择了mx636作为检波电路,其电路原理图如图2.6,它的外围电路只有一个电容。这个电容的选择很重要,它决定了检波的精度和稳定时间。大电容检测精度高,放电时间长;小电容会加大检波电路的输出电压的波纹,使检测精度下降。为了平衡dds的扫描速度和数据采集精度的问题,我们选择了0.1uf的电容,经过测试效果比较理想。

图2.6 mx636检波电路原理图

(6)电源管理及保护
  由于本系统各模块对电源的要求不一致,若各种电源值都由外部分别提供,则电源接口会显得很复杂,所以在电源设计上,本方案使用了各种稳压三极管。外部只提供正负16伏的电源,+15v用7815分压得到;- 15v用7915分压得到;+5v用7805分压得到;- 5v用7905分压得到。
  另外,为了防止用户误将电源反接而损毁系统内部芯片,我们在电源的入口接了一个二极管,负极接正电源,正极接负电源,若电源反接,接口电压会限制在二极管的导通压降0.7v,保证了整个电路安全。如图2.7所示。

2.7   电源分压及保护电路

(7)键盘及显示电路
  本设计中采用普通的4×4键盘,其功能示意图如图2.8。
1      
2      
3      
4

5      
6      
7      
8

9      
0      
mhz      
频标

显示

-      
start/

return      
f1/

fo      
f2/

w
图2.8   键盘功能示意图

按键功能说明:
· 0~9和"."为普通数字输入。
· "mhz"为设置频率和带宽的单位。
· "start/return"为新输入信号后启动测量和界面切换键。
· "set fo"和"set w"分别为设置中心频率和设置扫描带宽键。
· "频标显示"决定是否显示出频标。
  显示模块采用市场上常见的fm1602c液晶显示模块。
  液晶屏上会有操作指示,可按响应按键,使得操作简单易懂。

2、软件设计
  在软件控制上,由于方案要求产生的10khz频率步进增加,所以对ad9850频率调制字改变也应是快速的。ad9850调制字(tuning words)的装入采用异步串行接口uart,同时兼顾到单片机i/o口的分配和对调制字装入速度的要求,为了加快扫频和扫描速度,将系统时钟改成最大值49mhz,以加快扫频和扫描速度。
  另外,由于硬件采集系统无法达到全频段的稳定性,在收集频谱样值后我们通过软件对其进行一定的校准处理:根据固定输入信号的幅值,对全频段扫描结果并记录比较,设计校准曲线,来达到良好的稳定性,弥补硬件频率失真带来的误差,提高频谱测量仪的精度。软件还对数据进行分析,根据频谱特性判别是am、fm或单频波,计算调制深度或调频系数。
其主程序流程图如图2.9。

图2.9   主程序流程图

三、测试说明
1、测试仪器:
· tektronix tds1012 双通道数字示波器 100mhz
· ht-1714c型直流稳压电源
· tfg2030 dds函数信号发生器 30mhz
· ut56 multimeter 数字万用表

2、测试过程几组测试数据:
(1)频率范围测试:
  测试条件:输入信号有效值20mv。

表3.1 频率范围测试
输入频率 fi /mhz      
1      
2      
3      
4      
5      
6      
7      
8      
9      
10

示波器显示电压 /v      
4.2      
4.2      
4.2      
4.2      
4.4      
4.0      
4.0      
4.0      
3.8      
4.0

测得输入信号有效值 /mv      
21      
21      
21      
21      
22      
20      
20      
20      
19      
20

输入频率 fi /mhz      
11      
12      
13      
14      
15      
16      
17      
18      
19      
20

示波器显示电压 /v      
4.0      
3.8      
3.8      
3.8      
3.8      
3.8      
4.0      
3.8      
4.0      
3.8

测得输入信号有效值 /mv      
20      
19      
19      
19      
19      
19      
20      
19      
20      
19

输入频率 fi /mhz      
21      
22      
23      
24      
25      
26      
27      
28      
29      
30

示波器显示电压 /v      
3.8      
3.8      
3.8      
3.8      
3.8      
4.0      
4.0      
3.8      
3.8      
4.0

测得输入信号有效值 /mv      
19      
19      
19      
19      
19      
20      
20      
19      
19      
20


  结果:最大误差2mv。

(2)幅度精度测试:(示波器显示幅值和测得相应频点幅度有效值)

表3.2 幅度精度测试
输入幅度有效值      
fo=1mhz      
fo=10mhz      
fo=20mhz      
fo=30mhz

15mv      
3.2v/16mv      
3v /15mv      
3.2v/16mv      
2.6v/13mv

20mv      
4.1v/20.5mv      
4v/20mv      
4v/20mv      
3.8v/19mv

25mv      
4.6v/23mv      
4.9v/24.5mv      
5v/25mv      
4.6v/23mv


  结果:在测量范围内,幅度精度较高,误差在2mv以内。
(3)识别调幅,调频,等幅波测试:
① 输入等幅波,可精确扫描到中心频率点。
② 输入调幅波调制度为30%,调制信号频率为20khz,中心频率fo=10mhz,载波信号,幅度500mv峰峰值。
  结果:三条谱线,中心频率10mhz。两边频率为9.98mhz和10.02mhz,中间幅度/边频幅度约为1/6,可计算出调制度为33%。
③ 输入调频波频偏为20khz,调制信号频率为1khz, 中心频率2mhz载波信号,幅度600mv峰峰值。
  结果:可以看到中心频率值左右有多条谱线,但幅度不同,可以算出中心频率2mhz。
  分析:因为扫频是测量某一瞬态的频谱,对于调频波这种变频信号,不同瞬态的频谱图不一样。频率最大值会在频偏范围内摆动,且每隔1khz的频谱超过了我们的分辨率,所以我们测得的调频信号频谱不是特别理想。但仍然可以根据谱线分布特征判断出为调频波的中心频率。

四、结论
  本设计利用外差原理实现了对信号频谱分析的功能,覆盖了1mhz-30mhz的频谱范围。对电压值的标定采用对比法,能得到很高的测量幅度精度。利用示波器显示频谱值,并可根据使用需要设置中心频率和显示带宽。
  应用了集成度较高的芯片作为个功能模块,提高了整个系统的稳定性和精度。在设计中各模块的设计都很重要,只有掌握好各种芯片的性能指标,使每级输入的幅度和频率都适合才能使他们发挥最好的效果,并且要注意各级的级联,否则会影响整个系统的性能。

源码下载
离线paging
发帖
1377
只看该作者 1楼 发表于: 2006-07-20
好,支持出套件!!!
离线BG2CW/7
发帖
4409
只看该作者 2楼 发表于: 2006-07-25
spec061a我有很多!
离线ba7ib
发帖
4569
只看该作者 3楼 发表于: 2006-07-26
2cw出套件
离线rogerllg
发帖
301
只看该作者 4楼 发表于: 2006-09-04
呵呵,我光从电源上就发现错误了,+-16v经过lm7815.lm7915怎么可以得到+-15v的电压?压差不够吧.....这个一等奖有点猫腻........
离线BG7TBL
发帖
2965
只看该作者 5楼 发表于: 2006-09-04
这种竞赛很能体现老师的素质!!
呵呵!!!
离线hocool
发帖
20749
只看该作者 6楼 发表于: 2006-09-04
呵呵,我光从电源上就发现错误了,+-16v经过lm7815.lm7915怎么可以得到+-15v的电压?压差不够吧.....这个一等奖有点猫腻........
________________________________________________

我看没有问题吧。反正最后能够出来+_ 5v就行了。16v直接加在7805发热太厉害,万一超过16v就更热了,所以先让7815预先保证电压不超过15v,减少7805的发热。
离线9V1EE
发帖
1619
只看该作者 7楼 发表于: 2006-09-05
用户被禁言,该主题自动屏蔽!
离线庄乾章
发帖
1047
只看该作者 8楼 发表于: 2006-09-05
这种竞赛很能体现老师的素质!!

完全正确!加十分

我参加了8届
离线BG4DZY
发帖
560
只看该作者 9楼 发表于: 2006-09-05
'
1、4148钳位到0.7伏....这个4148真的利害.
2、那个7815, 7915 如果改成7812, 7912, 就不那么令人惊讶了.
'

2个4148都是反偏,不会钳位在0.7v。我看是可能会击穿。
这是个致命的错误,无论是钳位在0.7v,还是击穿,结果都是电源短路。然后就是火灾。
离线追梦男孩
只看该作者 10楼 发表于: 2006-09-05
好,谢谢
最近在做dds,信号源,看了学了不少,ad9851的控制字如何处理,请各位支招!
离线bellstudio
发帖
2820
只看该作者 11楼 发表于: 2006-09-05
'
2个4148都是反偏,不会钳位在0.7v。我看是可能会击穿。
这是个致命的错误,无论是钳位在0.7v,还是击穿,结果都是电源短路。然后就是火灾。
'

人家只要后面的电路不烧,管你电源毁不毁呢
离线BG7TBL
发帖
2965
只看该作者 12楼 发表于: 2006-09-06
管他电源烧好,设计不合理好,错别字多好,只要能得一等就是好!
离线hocool
发帖
20749
只看该作者 13楼 发表于: 2006-09-06
不管接的是不是4148就算接4007也一样。变压器输出只要够强劲,接错了都一样的结果。所以接4148意思意思就够了。
离线ba3dp
发帖
3281
只看该作者 14楼 发表于: 2006-09-06
没啥讨论的,接一个全桥,2个电容,只要电源不离谱就好。
离线cctvcctv
发帖
412
只看该作者 15楼 发表于: 2008-07-09
做个几记号
离线BG4RID
发帖
31295
只看该作者 16楼 发表于: 2008-07-09
跟着做记号