2021-10-29 22:15:44 索炜达电子 1009
项目编号:E2005
文件大小:746K
源码说明:带中文注释
开发环境:C编译器
简要概述
下面是设计报告预览:
一、方案设计与论证
本设计采用直接数字频率合成。单片机从键盘获得控制信息,控制两路DDS芯片AD9850产生的两路设定频率的正弦波和方波。输出信号经过调整后输入AD7524可以在单片机的控制下完成对信号的程控误差。从DDS模块输出的两路信号经过低通滤波和直流偏置将两路信号输入模拟乘法器AD835,一路作为载波,一路作为调制波,从AD835产生调制波。同时可以将DDS信号输入到CD4046B芯片进行振荡输出调频信号。
方案选择
1、信号发生部分
方案一:采用单片压控函数发生器,如MAX038。MAX038可以方便地产生频率(0.1Hz~20MHz)可变的正弦波、方波、三角波及实现数控频率调整。但是,其输出频率的稳定度低,频率的步长控制难以达到理想的结果。
方案二:采用DDS波形发生技术,采用FPGA和单片机相结和的方式实现频率控制,由于本信号源只产生三种常见波形,不需要大规模的FPGA。
方案三:采用专用的DDS芯片,因为AD9850可以直接产生正弦波等常见波形用单片机的控制字可以方便地进行控制输出不同的波形,故本方案采用DDS专用芯片AD9850来实现。
2、信号放大部分
方案一:采用分立器件对信号进行放大,此方法制作复杂,且干扰较大
方案二:采用运算放大器进行放大,要改变放大倍数时,则可以采用外部电位器阻值的方式,因此可以得到可以调节的增益。在温度和电源电压变化时有很高的稳定性,完全可以满足本方案的要求。综合考虑本系统的精度要求,选择方案2。
3、模拟FM电路的设计
方案1:使用变容二极管和适当的电厂构成VCO电路。变容二极管通过改变外加反向电压可以改变电容的大小,从而改变VCO输出的信号频率。
方案2:采用锁相环器件,直接对调制信号进行相位比较,外部电路简单,实现方便。最终选择方案2。
4、输入控制部分
方案一:独立按键控制,制作简单,编程易于实现,但占用单片机I/O口较多。
方案二:矩阵4*4键盘,采用行列扫描的方式,最少要占用8个I/O口。
方案三:红外遥控解码控制,采用红外一体化接收头,制作简单,仅占用一个I/O口。在本设计中控制端较多,综合考虑采用方案三。
5、显示部分
方案一:数码管显示,由于本题要求实时显示输出信号的类型、幅度、频率和频率步进值等,而数码管不能显示字符。
方案二:LED点阵显示,LED点阵显示虽然能显示字符和数字,但显示效果不好,且不易编程。
方案三:LCD液晶显示,LCD液晶不但能显示字符和数字,而且显示效果较好,容易编程实现。
根据题目的要求,经过仔细分析,充分考虑各种因素,制定了整体设计方案:以单片机STC89C52为核心,完成四方面的功能:采用DDS专用芯片AD9850产生正弦波和方波,高带DA转换器AD7524控制AM调制度,接收红外遥控的控制码,同进LCD液晶显示所有数据。其系统如图1-1所示。
电路板图:
目录│文件列表:
└ DDS
└ DDS
│ 正弦信号发生器设计报告.doc
├ DDS程序
│ │ AD9850I
│ │ AD9850I.c
│ │ AD9850I.h
│ │ AD9850I.hex
│ │ AD9850I.lnp
│ │ AD9850I.LST
│ │ AD9850I.M51
│ │ AD9850I.OBJ
│ │ AD9850I.plg
│ │ AD9850I.uvopt
│ │ AD9850I.uvproj
│ │ AD9850I_uvopt.bak
│ │ AD9850I_uvproj.bak
│ │ delay.c
│ │ delay.h
│ │ delay.LST
│ │ delay.OBJ
│ │ hs0038.c
│ │ hs0038.h
│ │ hs0038.LST
│ │ hs0038.OBJ
│ │ lcd12864.c
│ │ lcd12864.h
│ │ lcd12864.LST
│ │ lcd12864.OBJ
│ │ main.c
│ │ main.LST
│ └ main.OBJ
└ 原理图 PCB
│ DDS_WHOLE.PcbDoc
│ PCB1 PCB ECO 2011-8-11 10-20-31.LOG
│ PCB1 PCB ECO 2011-8-11 11-22-17.LOG
│ PCB1 PCB ECO 2011-8-11 11-33-23.LOG
│ PCB1 PCB ECO 2011-8-11 14-32-33.LOG
│ PCB1 PCB ECO 2011-8-11 17-30-17.LOG
│ PCB1.DRC
│ PCB2 PCB ECO 2011-8-11 10-05-38.LOG
│ PCB2 PCB ECO 2011-8-11 9-33-07.LOG
│ PcbLib1.PcbLib
│ PCB_PROJECT1.PRJPCB
│ PCB_PROJECT1.PRJPCBStructure
│ Schlib1.SchLib
│ Sheet1 SCH ECO 2011-8-12 13-14-33.LOG
│ Sheet1 SCH ECO 2011-8-12 13-17-23.LOG
│ Sheet1 SCH ECO 2011-8-12 13-17-53.LOG
│ Sheet2 SCH ECO 2011-8-10 10-32-52.LOG
│ Sheet2 SCH ECO 2011-8-10 11-33-04.LOG
│ Sheet2 SCH ECO 2011-8-10 11-37-49.LOG
│ SHEET2 SCH ECO 2011-8-11 10-09-29.LOG
│ SHEET2 SCH ECO 2011-8-11 10-15-32.LOG
│ SHEET2.~(17).SCHDOC
│ Status Report.Txt
├ AM
│ │ DDS2_AM_FM.PCBDOC
│ └ History
│ │ DDS2_AM.~(1).PcbDoc
│ │ DDS2_AM_FM.~(1).PcbDoc
│ └ DDS2_AM_FM.~(2).PCBDOC
├ DDS信号发生
│ │ DDS1_SIGNAL2.DRC
│ │ DDS1_SIGNAL2.PcbDoc
│ └ History
│ │ DDS1.~(1).PcbDoc
│ │ DDS1.~(2).PcbDoc
│ │ DDS1.~(3).PcbDoc
│ │ DDS1_SIGNAL2.~(1).PcbDoc
│ │ DDS1_SIGNAL2.~(10).PcbDoc
│ │ DDS1_SIGNAL2.~(2).PcbDoc
│ │ DDS1_SIGNAL2.~(3).PcbDoc
│ │ DDS1_SIGNAL2.~(4).PcbDoc
│ │ DDS1_SIGNAL2.~(5).PcbDoc
│ │ DDS1_SIGNAL2.~(6).PcbDoc
│ │ DDS1_SIGNAL2.~(7).PcbDoc
│ │ DDS1_SIGNAL2.~(8).PcbDoc
│ └ DDS1_SIGNAL2.~(9).PcbDoc
├ History
│ │ PcbLib1.~(1).PcbLib
│ │ PcbLib1.~(2).PcbLib
│ └ PcbLib1.~(3).PcbLib
└ Project Outputs for Free Documents
└ SHEET2.~(17).xls