正弦信号发生器[2005年电子大赛一等奖]2008年06月15日星期日 17:06摘要:以SPCE061A单片机为核心,通过DDS合成技术设计制作了一个步进值能任意调节的多功能信号源。
该信号源在1KHz~10MHz范围能输出稳定可调的正弦波,并具有AM、FM、ASK和PSK等调制功能。
信号输出部分采用低损耗电流反馈型宽带运放作电压放大,很好地解决了带宽和带负载能力的要求。
系统带中文显示和键盘控制功能,操作简便,实现效果良好。
一、方案论证1、信号产生方案一:使用传统的锁相频率合成的方法。
要求产生1KHz到10MHz的信号,用锁相环直接产生这么宽的范围很困难,所以先产生50.001M到60M的可调信号,然后把此信号与一个50M的本振混频,得到需要的频率。
此方法产生的频率稳定度高,但波形频谱做纯很困难,幅度也不恒定,实现也麻烦。
方案二:采用专用DDS芯片产生正弦波。
优点:软件设计,控制方便,电路易实现,容易直接达到题目要求的频率范围和步进值,且稳定性和上法一样,频谱纯净,幅度恒定,失真小。
综上所述,选择方案二用专用DDS芯片AD9850产生正弦波。
AD9850是采用DDS技术、高度集成化的器件,当它在并行工作方式时,有8根数据线、3根控制线与单片机相连。
AD9850的频率控制字为:其中FTW为频率控制字,为要输出的正弦的频率,为系统时钟的频率,由晶振产生。
2、模拟频率调制方案一:使用内调制(软件调制),通过单片机中断,对外来模拟调制信号进行采样,采样速率为32KHz,然后对采样值进行转换,把电压转换成对应的频偏,然后转换成相应的频率控制字送DDS,以实现对1KHz正弦信号的调频,这样可以满足最大频偏的精度要求。
方案二:使用外调制,通过锁相环控制DDS总时钟,在锁相环电路中进行频率调制,来改变DDS输出信号频率,间接实现调频,这样实现简单,频域内频谱连续,但是很难做到精确的10KHz和5KHz的最大频偏。
综合以上方案,选择方案一,实际中要求调制信号是固定不变的1KHz正弦信号,所以,我们直接把正弦信号存储在单片机中,并且换算好频率控制字。
3、模拟幅度调制方案一:使用二极管调幅电路。
较常用的二极管调幅电路有二极管平衡调幅电路和二极管环形调幅电路。
但由于二极管的特性不一致,会造成电路不可能完全对称,造成控制信号的泄漏。
方案二:充分利用单片机SPCE061A的资源,1K的调制信号使用单片机的DA 口输出,经滤波放大后送MC1496与DDS产生的载波进行混频,这样效果非常好,而且成本低。
综合以上方案,选择方案二。
4、ASK和PSK数字调制方案一:充分利用DDS资源,两种调制都通过DDS自己实现,单片机通过基带信号的电平值直接送出相应的相位控制字或者频率控制字(ASK时,1代表频率输出为正常频率100KHz,0代表频率输出为0),但使用的DDS芯片为AD9850,它的相位和频率控制不灵活,不能得到完美的PSK和ASK信号来。
方案二:采用运算放大器F733输出两路相位相反的信号,再使用基带码元选择这两路信号,则得到PSK;基带信号的"1"选择其中一路,"0"选择地,则得到ASK。
通过一块CPLD对载波分频作为基带信号的时钟,这样使得PSK和ASK 与基带信号完全同步。
综合以上方案,选择方案二。
二、主要电路设计与分析1、系统原理框图方案框图如图1所显示:图1 系统原理框图系统主要由载波产生放大电路,调制信号产生放大电路,乘法器,载波反相分割电路,码元同步电路,模拟开关组成。
2、系统各模块的理论分析和实际设计正弦输出电路设计:AD9850产生要求的正弦信号,系统时钟由100M的有源晶振提供,它决定了系统的频率稳定度。
由DDS芯片输出的信号滤波后经LT1253放大,得到所需要的信号幅度。
LT125是低功耗的宽带放大器,±5V供电时带宽为90MHz,DDS输出正弦信号的峰峰值为450mV,要得到6±1V的最终输出,放大倍数要在11.1和15.5之间,我们采用反相放大电路,放大倍数按如下公式计算:我们选100Ω,要使在11.1和15.5之间,的值必须选在1.11K和1.55K之间,实际电路中我们使用一个2K的精密可调电位器来微调增益,把输出电压峰峰值定在5V。
具体电路见图2。
输出峰峰值为5V,负载为50Ω时,流过负载的峰值电流为:这个电流是高速运放难以达到的,为了提高带负载能力,放大后的信号经射极跟随器输出,使得50Ω负载上电压峰峰值在整个频带宽度内峰峰值为稳定的5V。
为了把输出频率扩展到低频而又同时保持良好的高频,射随器前面的耦合电容使用一个22uF和一个0.1uF并联。
这样做使实际输出范围向下扩展到300Hz,具体电路见图3。
图2 AD9850波形产生和放大电路图3 射极跟随器电路模拟频率调制方案设计:我们采用软件调频的方案,通过中断单片机采样调制信号,然后通过线性运算把采样得到的电压值转换成对应的频偏值,然后与当前设置的中心频率相加,换算成频率控制字送到DDS,这样就实现了FM,如图4(a)。
但是根据题目要求,调制信号为固定的1KHz正弦,所以,我们就去掉了繁杂的采集和运算,直接把对应于1KHz正弦信号的频偏控制字存储为一个表,然后通过中断把这个表里的频偏控制字和当前中心频率控制字相加送出。
(a)(b)图4 频率调制实现框图分析和计算过程如下:FM的瞬时的频率可以分解为两部分:中心频率和瞬时频偏;而和调制信号的瞬时电压成正比,则频偏数据可以存储为一组有符号的正弦表,同时,又要满足最大频偏为10KHz(5KHz是可以用同一个数据表,做一下处理即可),所以正弦数据的最大值为10000,使用正弦取表工具生成数据。
这样,频偏表就确定了。
电路中选用100MHz的有源晶振,则当前中心频率和频偏表里的每一个元素分别做这样一次运算之后得到频率控制字表并存储。
之后打开32KHz的中断,从这个表里依次取值送出。
这个中断服务过程中单片机没有一点运算。
此过程见图4(b)。
模拟幅度调制的调制信号产生:AM信号的调制度计算公式为为调制信号的幅度,为直流偏移量。
固定(的固定是通过两个方面实现的,单片机输出信号因为必须是单极性的,所以已经有了一个直流偏移,在送到MC1496时,MC1496电路里又有一个电位器调节直流偏移,我们用这个电位器做的校准),改变就可以控制调制度。
则当0.1≤≤时就可以使得调制度满足10%~100%的要求。
实际上我们可以通过按键在0到100%之内任意设置;调制信号的产生:在单片机内做一个正弦表,通过42KHz的中断不断把表里的数据和相乘后送到DA口输出,然后经低通滤波和放大,送到模拟乘法器MC1496和载波混频得到AM信号。
数字调制的波形反相分割电路与码元同步的实现:为了得到PSK的反相信号,我们采用F733运放把输入波形分割成两路反相信号,码元的时钟由载波在CPLD内部10分频得到的10KHz时钟提供,这样就很容易保持同步,防止码元差错;另外,我们加了一片74LS123以精确控制数字调制输出信号的初始相位。
而调制信号的输出由模拟开关4053选择完成,码元的"1"选择一路信号,"0"选择另外一路,得到PSK信号;码元的"1"选择一路信号,"0"选择地电位,则得到ASK信号。
图5 ASK、PSK产生电路三、软件流程1、软件功能本系统采用凌阳SPCE061A十六位单片机。
软件采用了凌阳公司的MINIOS实时操作系统,并采用了事件驱动的编程思想。
主任务就是一个消息驱动的线程,等待键盘任务和其他中断发出事件请求来完成各种功能。
具体功能有:图形化的操作界面;各个功能的切换;各种参数的设定;频率步进等。
2、本系统软件特点利用消息驱动机制实现了图形动态菜单。
使操作界面更加直观,更加人性化,操作更简单。
消息驱动的简单数据结构:union _EVENT_FLAG_{struct _bit_flag{unsigned char INTOSUBMENU :1;unsigned char RETURNMINMENU :1;unsigned char CANNEL :1;unsigned char OK :1;unsigned char ASK :1;unsigned char PSK :1;unsigned char AM :1;unsigned char FM :1;unsigned char SINE :1;unsigned char Reserve :9;//保留}Bit;unsigned char Value;}MY_Event={0x0000};里面包括七个事件标志变量,被定义为_EVENT_FLAG_的共用体。
当MY_Event 的具体位被置为1的时候就表示相应的事件发生,并请求消息处理任务对事件进行处理。
复杂的消息驱动机制还需要相应的消息队列,邮箱等等,在此不做累述。
3、软件流程图图6 软件流程图事件处理任务流程图:图7 事件处理任务流程图四、测试分析1、主要测量仪器稳压电源,示波器2、测量结果各项指标均达到要求,并且大部分指标优于题目要求。
测试数据见表1和表2:表1 基本部分测试数据 基本要求实际性能 弦波输出频率范1kHz ~10MHz 300Hz ~20MHz有频率设置功能,率步进 100Hz 按键任意设置频率频率步进默认100Hz可任意设置步进值出信号频率稳定优于10-4实现度输出电压幅度在负载电阻上的电压峰-峰值V opp≥1V实现失真度用示波器观察时无明显失真1M以上略有失真表2 发挥部分测试数据挥部分实际性能加输出电压幅度在频率范围内负载电阻上正弦信号输出电压的峰-峰值V opp=6V±1V稳定的5.0V生模拟幅度调制(AM)号在1MHz~10MHz范围内调制度ma可在10%~100%之间程控调节,步进量10%,正弦调制信号频率为1kHz,调制信号自行产生0到100%可程控调节另可通过按键任意设ma值。
生模拟频率调制(FM)号在100kHz~10MHz频率范围内产生10kHz最大频偏,且最大频偏可分为5kHz/10kHz二级程控调节,正弦调制信号频率为1kHz,调制信号自行产生实现生二进制PSK、ASK信在100kHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生实现他图形菜单PSK调制信号初相位可调由测试结果看出,输出信号频率高的时候有失真,分析其原因,主要是级间耦合和分布参数引起的。
五、结论本系统完成了题目基本部分和发挥部分的全部内容,在完成的项目中大部分指标优于题目要求,个别指标由于时间有限做得不是非常完善。