景德镇陶瓷学院本科生毕业设计(论文)
耗、高性能的AT89C52单片机。信号的频率、初始相位控制字通过与单片机相连接的键盘(4X4)输入,经单片机处理后转换为频率/相位控制字通过接口电路送至DDS芯片,然后在DDS的D/A转换器的模拟输出端接一个低通滤波器便可得到所需的正弦波信号。将产生的正弦信号经A/D转换后送回至AT89C52,通过计算得出信号的频率值和瞬时电压值,并通过共阴极LED显示出来。AD9850内部有集成比较器因此将产生的正弦信号通过该比较器便可得到方波信号,方波信号再经过一个积分电路便可得到三角波信号了。由于积分电路对于固定频率的方波转换成三角波,如果频率变化就要改变积分电路参数,不然会严重失真,因此积分电路中加入了一个电容八选一模块。
AT89C52与AD985O的接口可采用并行方式也可以采用串行方式,考虑数据的传输效率,本设计采用的是并行接口方式。由于单片机I/O口的资源不够用,并且为了避免总线冲突,在单片机与AD985O之间利用CMOS芯片74HC373、74HC245锁存器进行输入数据的缓冲以及端口扩展,以使系统更加稳定,可靠的工作。
DDS的输出频谱里含有一些镜像频率的成分,为了使输出的频率不受外界和一些杂波的干扰,需用一个低通滤波器滤除这些镜像频率,本设计中低通滤波器设计为椭圆滤波器。本课题用九阶椭圆滤波器进行仿真,通过数据记录并计算,得出椭圆滤波器的失真度远小于1%,然而系统中的波形失真主要来自滤波,因此可说明本系统的失真度小于1%。
系统设有两个显示模块,一个是信号频率,用6位共阴极LED显示,一个是正弦波形瞬时电压,用4位共阴极LED显示,这两个模块中的LED均采用美国MAXIM公司生产的专用驱动芯片MAX7219驱动。
由于DDS在3.3V的电源输入时,最大输入功率只有155mW,不能达到本课题功率大于1W的要求,因此加入放大模块。
画出总体框图以后就开始分模块设计各部分电路,并且用Protel99se画图工具画出硬件电路图。
3.2 MCU主控部分硬件设计
AD9850所需输入的控制字由单片机提供,这种方式比较灵活,通过编制的程序,用户操作连接在单片机上的键盘即可方便地调节输出信号的频率和相位。单片机技术经过几十年的发展己经很成熟了。单片机现在已经有数十个品牌,而且
第 20 页 共74页
景德镇陶瓷学院本科生毕业设计(论文)
性能也非常稳定可靠,本课题选用的是常用的MCS系列单片机中的AT89C52,AD9850的硬件接口非常适合像MCS这样的单片机对其编程,这样只要按照配置时序对芯片进行简单的配置,芯片就能输出所需的波形。 3.2.1 AT89C52的功能和结构
单片机AT89C52的主要性能分别为:与MCS单片机产品兼容;8K字节在系统可编程Flash存储器;1000次擦写周期;全静态操作:0Hz~33Hz、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、双数据指针、掉电标识符。
AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89C52具有以下标准功能:8k字节Flash、256字节RAM、32 位I/O 口线、2个数据指针、三个16 位定时器/计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。另外,AT89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 3.2.2 AT89C52的I/O口规划
AT89C52有4组8位I/O口:PO、Pl、P2和P3。Pl、P2和P3为准双向口,P0口则为双向三态输入输出口。在本设计中四个I/O口都用到了,但仍然难以满足端口数,因此其中P0口用作三态输入口,扩展后接AD9850、八选一电路以及A/D转换后的八位量化编码到单片机处理,然后转化位BCD码通过串口输出;P1接键盘,键盘输入的数值通过P1口送至AT89C52单片机,经过单片机处理转换成频率控制字以后再通过P1口送至AD985O;P2口用到了P2.0、P2.1、P2.2用于控制P0口扩展;P3口,其中P3.0、P3.2、P3.3用作普通I/O口,P3.1用作串行输出口,P3.4和P3.5作为定时器中断产生时钟信号的输出端口,P3.6用于AD985O的复位,P3.7用于显示通断控制。
第 21 页 共74页
景德镇陶瓷学院本科生毕业设计(论文) 值得注意的是当P1口作为通用的I/O口使用时,由于输出电路三极管漏极开路,因此,必须在P1口外接上拉电阻(通常外接电阻为:5~10KΩ),才能有高电平输出 AT89C52的外围电路如下图3-2中的图(a)AT89C52,图(b)扩展口所示。 其中的74HC373芯片管脚功能如下: OE:Output Enable,输出使能,低电平有效; LE:Latch Enable,数据锁存使能,latch是锁存的意思; Dn:第n路输入数据; Qn:第n路输出数据。 74HC245引脚说明: 第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输 入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第2~9脚“A”信号输入输出端,A0=B0,A7=B7,A0与B0是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地。 第20脚VCC,电源正极。 R9DGND11K2C334+55220uF6789S1RXD10SW-PBP3的0,1,4接显示驱TX动D11FQ-UT12P3的2,3,6接AD98W50_CLK13R10CLK114CLK21510KC2RESET16P3.7接A/D方向控制LED217DGND1847uF19Y12012.000MHZC1P10P11P12P13P14P15P16P17U1P1.0VccP1.1P0.0/AD080C52P1.2P0.1/AD1P1.3P0.2/AD2P1.4P0.3/AD3P1.5P0.4/AD4P1.6P0.5/AD5P1.7P0.6/AD6RESETP0.7/AD7RXD/P3.0EA/VppTXD/P3.1ALE/PROGINT0/P3.2PSENINT1/P3.3P2.7/AD15T0/P3.4P2.6/AD14T1/P3.5P2.5/AD13WR/P3.6P2.4/AD12RD/P3.7P2.3/AD11XTAL2P2.2/AD10XTAL1P2.1/AD9VssP2.0/AD880C524039383736353433323130292827262524232221+5AD0AD1AD2AD3AD4P0口接扩展锁存AD574HC245,74HC373AD6AD7+5接键盘LEP2.2接八选一使能控制LEDP2.1接A/D使能控制DDSP2.0接DDS使能控制DGND47uF 第 22 页 共74页 景德镇陶瓷学院本科生毕业设计(论文) (a) AT89C52 GNDAAD0AD1BCAD2AD3INH12345678910GNDDIRU18OEQ0D0D1Q1Q2D2D3Q3GND74HC373U17DIRA0A1A2A3A4A5A6A7GND74HC245VDDOEB0B1B2B3B4B5B6B72019181716151413121174HC373VCCQ7D7D6Q6Q5D5D4Q4LE20191817161514131211+5AD7AD6Q接电容八选一接单片机LED23.3 AD985O外围电路设计 3.3.1 晶振的选择 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一第 23 页 共74页 D接P0口D接P0口AD5AD4LELE接单片机+5LEDOE接单片机B0B1B2B3B4B5B6B71AD02AD13AD24AD35AD46AD57AD68AD7910A接P0口B接A/DGNDQ接AD9850数据输入U3AQ0AD0AD1AQ1AQ2AD2AD3AQ312345678910OEQ0D0D1Q1Q2D2D3Q3GND74HC37374HC373VCCQ7D7D6Q6Q5D5D4Q4LE20191817161514131211+5AQ7AD7AD6AQ6AQ5AD5AD4AQ4DDSLE接单片机 (b) 扩展口 图3-2 AT89C52的外围电路 景德镇陶瓷学院本科生毕业设计(论文) 个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。 DDS的基准信号源决定于整个系统输出的精确度和稳定度,为保证输出信号的精度和稳定度,在本系统中采用了32.768MHz的温度补偿晶体振荡器TX2110作为DDS的基准信号源,温度补偿晶体不随温度的改变而改变,而且精度和稳定度是非常高,抗千扰也是比较好,使得整个系统输出的频率精确稳定。 3.3.2 AD9850电源模块的设计 由于AD9850需要用到+3.3V,本设计选用TI公司的TPS70302电源管理芯片来设计电源模块,该芯片具有两路可调电压输出Vout1和Vout2,调节范围为1.22V~5.5V,Vout1输出电流为1A,Vout2输出电流为2A,因此该芯片可以满足要求,TPS70302外围电路连接图如图3-3所示。 AVDDU4+5123456789101112GNDGNDTPS70302VIN1VOUT1VIN1VOUT1NCVSENSE1/FB1MR2NCMR1PG1ENRESETSEQNCGNDVSENSE2/FB2VIN2VOUT2VIN2VOUT2GNDGNDTPS70302242322212019181716151413C522uF输出到AD98503.3VR12250KR11250KC647uFC40.22uF 图3-3 TPS70302外围电路 3.3.3 AD985O接口电路 单片机与AD9850的接口既可采用并行方式,也可采用串行方式,但为了充分发挥芯片的高速性能,应在单片机资源允许的情况下尽可能选择并行方式,本设计采用的就是并行方式。I/O方式的并行接口电路比较简单,但占用单片机资源第 24 页 共74页