微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ATmega8的DDS信号发生器的设计

基于ATmega8的DDS信号发生器的设计

时间:12-27 来源:互联网 点击:

工作模式、频率和相位参数,显示部分采用16×2的通用点阵字符液晶显示器。调制信号通过接口电路送入AD9832,然后通过0~10MHz的低通滤波器输出。

  (2)软件设计

  图3为单片机ATmega8的软件流程图。其中“AD9832初始化”是对AD9832写入一些控制字,包括对SLEEP、RESET、CLR、SYNC、SELSRC控制位的设置,一旦设定后,AD9832将保持设定状态不变,直到重新对这些控制位进行设定。初始化之后开始对键盘进行查询,当检测到有键按下时,判断键值,执行相应的操作,并将结果显示在LCD上。当检测到“确定”键被按下后,根据键盘设定的工作模式以及相应的参数来改变控制字,包括频率、相位控制字的计算和写入,使用管脚还是使用串行控制位来选择频率、相位寄存器,以及选择哪个或哪些寄存器的值等等,然后输出波形,等待下一次的键盘输入。

  本系统的另一特点是采用以高级程序设计语言BASIC为手段的AVR单片机开发平台:BASCOM-AVR。它是MCS Electronics公司推出的面向AVR单片机系列,采用高级程序设计语言Windows BASIC的软件开发平台。其特点主要有:程序语句和Microsoft VB/QB高度兼容,为标准的LCD显示器,I2C芯片和单总线协议芯片等扩充了专用语句,内置模拟终端和程序下载功能,内置软件仿真平台用于测试,具有完善的连机帮助功能和大量的例程。不仅控制灵活方便,而且学起来比较简单直观。在本系统的软件设计中,它最大的特点体现在对键盘和LCD的控制上。在BASCOM-AVR中,已经提供了一个读4×4键盘的专用功能函数(GETKBD),利用这个函数我们就不必从底层编写键盘扫描子程序了,只需调用该函数,就能完成按键扫描和消抖处理的过程,返回一个按键的值,非常方便灵活。在LCD的使用上,如果要先编写底层的控制子程序,再编写上层的应用程序,需要花费较长的时间。但是由于点阵字符液晶显示器模块在国际上已经规范化,因此BASCOM中提供了强大的LCD应用的功能语句,在LCD的字符显示、清屏,光标的定位、显示、闪烁等控制上都有专门的语句供调用,只要写上几条语句,需要显示的信息就能在LCD上显示出来。

  本系统设计了三种工作模式:点频、FSK、PSK。采用25MHz的晶振作为参考时钟,可以产生 0~10MHz 频率和相位都能精确控制的正弦波,频率分辨率为0.01Hz,相位分辨率为0.1°。结果显示,在频率跳变的过程中,波形衔接得非常好,中间没有控制失调的过渡带出现。此外,在产生PSK信号的过程中,相位跳变的瞬时性和准确度均很好,可以精确控制相位是DDS的一个突出优点,也是其它频率合成手段难以达到的。

  4结束语

  本文介绍了DDS的工作原理,设计了由AVR单片机ATmega8控制AD9832的DDS电路,构成了一个控制简便,响应速度快、稳定性、精度和分辨率都很高的频率合成器,输出信号的频率范围为0~10MHz,分辨率为0.01Hz,可实现点频、FSK和PSK输出。随着通信技术的发展, DDS合成信号源在国防通信、铁路通信及民用移动通信等方面,将得到广泛的应用。

  参 考 文 献

  1Analog Devices, Inc. CMOS Complete DDS AD9832 Datasheet, 1999

  2马潮,詹卫前,耿德根. ATmega8原理及应用手册. 北京:清华大学出版社,2003

  3耿德根,宋建国,马潮,叶勇建. AVR高速嵌入式单片机原理与应用. 北京航空航天大学出版社,2001

  4刘铁新,高俊法. 一种单片DDS构成的新型频率合成器. 宇航计测技术,1999,4

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top