基于EDA技术的函数信号发生器设计
2024-07-27
来源:好走旅游网
山东省农业管理干部学院学报 2010住 第27卷 第6期 基于EDA技术的函数信号发生器设计 陈祖武 (福建师范大学协和学院,福建福州35 O108) 摘要:基EDA技术的函数信号发生器可产生频率可调的正弦波、方波、三角波、锯齿波、递增斜波、递减斜波和 不同占空比的矩形波等多种波形,可根据用户需要进行现场可编程,达到了预定的要求 关键词:电子设计自动化;函数信号发生器;可编程逻辑器件 中图分类号:TP30 文献标识码:A 文章编号:1 008—7540(201 0)06—01 6卜O2 一、引言 图l信号发生器整体设计 函数信号发生器,能产生某些特定的周期性时间函数波 三、各模块设计与仿真 形(正弦波、方波、三角波、锯齿波和脉冲波等)信号,频 3.1正弦波信号发生模块设计 率范围可从几个微赫到几十兆赫。函数信号发生器在电路实 本次设计采用的是取样的方法,以正弦波为例,一个 验和设备检测中具有十分广泛的用途。例如在通信、广播、 周期的正弦波分成64个样点,每个样点用8位的二进制数 电视系统中,都需要射频(高频)发射,这里的射频波就是 表示,所以最大值为255,最小值是0,其中32个点是递 载波,把音频(低频)、视频信号或脉冲信号运载出去,就 增,3 2个点递减,其增减关系满足公式:设A点函数值 需要能够产生高频的振荡器。除供通信、仪表和自动控制系 是Ya,相位值是Xa,B点函数值是Yb,相位值是Xb,其 统测试用外,还广泛用于其他非电测量领域【l】。 中B点是A点的相邻的下一点,则A、B间满足:Ya/Yb=sin 函数发生器在测量中作为信号源的应用也是非常广泛 (Xa+180/32)/sinXa 的。要得到一个频率稳定的正弦波、矩形波等多种波形的方 根据这个公式可分别计算,64个样点的值,并根据这些 法也很多,但是设备的成本都比较昂贵,本文在结合数字逻 值建立.mif文件,如图2示: 辑电路的应用,采用软硬件的方法来实现一个稳定性、可靠 目zxb.miF 性较好,成本较低的函数发生器。为此,先对要产生的波形 }Addr +o I+1 +2 +3 l+4 l +5 l+6 I+7 l 信号的一个周期进行采样,将采样点信号顺序存储在EPROM }0 忙55 I254 252 249 245 239 233 225 8 217 2f 17 197 186 174 162 150 137 中,再用控制电路调出所需信号,经D/A转换后,便能得到 }16 124 1 2 99 87 75 64 S3 43 频率可调的各种波形。 l24 34 26 19 13 8 4 1 0 }32 0 1 4 8 13 9 26 34 二、函数信号发生器的整体结构 }40 43 53 64 75 87 99 112 124 本次设计的函数发生器主要有几个模块组成:键盘扫描 l48 37 150 162 174 186 197 2O7 217 ls6 : 2S 233 239 245 24g 2S2 2S4 2SS 显示模块、FPGA控制模块、正弦波、三角波、锯齿波、递增 斜波、递减斜波、多路选择器、D/A转换模块,还有供键盘 图2正弦波MIF表 使用的普通分频计和供各个波形模块使用的可调分频计。如 再利用MegaWi zard Plug—In Manager定制正弦信号数 图1所示。— 据ROM宏功能块,并将以上的波形数据加载于此ROM中。通 过编辑源程序,调用元件例化语句,将ROM中数据传送至数 模转换模块中。例化语句如下: component zxb port(address:in std logic vector(5 downto 0): inc1ock:in stdlogic: q:out stdlogic vector(7 downto 0)): 作者简介:陈祖武(1 9 7 9一),男,硕士,专业方向通讯和可编程设计。 l6l end component: 性,最大的样点值可能为253或252等,使得最终的波形 值可能为3.59V或3.53V不等。模块的最大频率可达44. uI:zxb port map(address=>q1,q=>dout,inelock=> clk): 对程序进行功能仿真,即波形图仿真,如下: I P M 蛳 鲫P 蛳p M t : ”l } I n n n九nn几n n n n n n n n几几几几九 n n nn n 九n九n n nnn n n n n r 图3正弦波功能仿真图 由图3可知,波形仿真无误,其dout值与.mif文件里的 值完全一样,之后便可进行模拟量仿真,由于DAC7513的特 性,共l2位有效位,且是单位输出,应在正弦波程序中添加 程序,使dOLIt成为2个字节(即16位二进制数)的移位 输出。且DAC7513需要一个17倍于时钟周期的下降沿触发 信号load,和一个时钟信号周期Tclkl,该时钟信号Clki 在综合模拟时是与输出波形周期T有一定的关系: Tclkl爿c64 17=T。 程序修改后的功能仿真图见下: 图4正弦波加数模程序后的仿真图 由可知每一个load下降沿来的时候,dout开始按位传 送数据,由于DAC7513有效位是12位,所以每16位的15~ l2位数是作为无效位或控制位,由于本次设计建立.mif文 件是采样64个点,每个点是8位二进制数,所以最大值是255 (即“1l111 lll”),而且在程序中是将这些样点值分别乘以 l6,并把最终的数转换为l6位二进制数。连接硬件,对程序 进行下载测试,并用示波器观察波形: 图5正弦波波形图 正弦波形如图所示,由于并未加分频计,该波形频率还 不能够任意可调,此时波形幅值为3.59V,周期22.7us,已 知实验板所加频率为48MHZ,两个时钟周期程64.1 7的倍数 关系,符合原理。由于DAC7513芯片的VREF值为3.6V,所以 本次设计的最大幅值是3.6V,在设计中由于不同的波形特 ・162・ 2KHZ,3.2其他波形的模块设计 三角波、锯齿波等原理与正弦波相同,最终所得的波 形图如下: 图6三角波波形图 图7锯齿波波形图 4、结论 波形结果与上面各个模块的测试结果一样,波形选择也 没有任何问题,对频率进行调节时的结果如下:频率的理论 范围是0~22.05KHZ(24000000/64/17),实际测试出的频率 与输入频率对比结果如下: 表1测试与仿真对照表 输入频率(Hz) 显示频率(Hz) 误差(%) 1OO 96 4.0 500 482 3.6 3000 2890 3.67 8000 7762 2.98 12000 11700 2.5 20000 19580 2.1 从表中可以看出,虽然由于器件在时钟建立时间,时钟 保持时间,时钟至输出延时,时钟至引脚延时,外部延时(信 号从外部器件到达输入引脚的延时)等引起误差,但总的误 差不大,所以基于EDA基础的信号发生器的设计是可行的, 具有一定的应用前景。 参考文献: [1]宗荣芳,智能函数信号发生器的设计,信息技术与信息化 的开发与应用,2007.2 [2]付江蔚.基于DDS信号发生器的研究和设计[D]. 电子科技 大学,2007. [3]王正兰,基于AT89C5 l的多功能智能实验测试仪器的设计与 实现,兰州大学,2006年 [4]郑常胼. 基于FPGA和EDA硬件教学实验的设计与开发[D]. 天津大学,2007 [5]雷道仲.基于FPGA的正弦信号发生器研究与设计[D].湖南 师范大学,2008. [6]潘松、黄继业,EDA技术实用教程(第三版),科学出版社 2009、l [7]任志平,基于EDA技术的智能函数发生器的设计,科学技术 与工程2008.2 编辑:冯惟榘