< ! 皇 基于EDA技术的数字式信号发生器的设计 ◆王武乔 摘要:EDA技术依托计算机、大规模可编程逻辑器件的开发软件,利用相关软件自动完成电子系 统,实现软件对硬件系统的合成技术。本文采用TEDA'/ ̄计工具VHDD; ̄件描述语言和信号发生器设计 数字式信号发生器。 关键词:EDA;信号发生器;VHDI;MAX+PLUSII 函数信号发生器可以称得上是世界电子设计技术的最新发 展方向,它在电路实验、机器测试以及自动控制系统测试等方 面有着广泛应用,应用前景十分广泛[t-No 一、函数信号发生器的整体结构 函数发生器的设计是由键盘扫描模块、正弦波、锯齿波、 递减斜波等多个模块构成,使用键盘是普通频率计模块,波形 能够调整频率计的使用。 二、各模块设计与仿真 2.1正弦波信号发生模块设计。本设计所采用的是基本采 样法,拿正弦波来说,正弦波的一个周期是64个样本,每一个 样本点是用8位的二进制数来表示的,计算得}n的数值有0、 43、124、137、225等,其中255是最大值,0是最小值。数值 增减关系为: 设A点函数值为Aa,相位值为Ba,与之对应的B点函数 值设为Ah,相位值为Bh,其中B点是A点的相邻的下一个点, 则A,B之间的函数关系为: Aa/Ab=sin(Ba+180/32)MnBa 通过上述公式能够全部计算出这64个采样点的数值,记 录在案并设置出了.mif文件: 利用MegaWizard Hug-In Manager定制正弦信号数据ROM 宏功能块,在ROM中输入刚刚登记的全部波形数值。通过编 辑源程序,调用元件例化语句,在数模转换模块中录入下来。 例化语句如下: Component zxb oprt faddress:in std logicv ̄tor downto o1 Inclock:in stdJogie; q:out st&logicvmor(7 downto 01: end component; u1:zxb oprt map(address=>ql,q=>dout,inel ̄k=>clk) 对程序进行功能仿真,其dout值与.mif文件里的数值相同, 接着进行模拟量仿真,DAC7513需要制作出一个17倍于时钟 周期的下降沿触发信号load和一个时钟信号周期 lk1,clkl输 波形周期为T,三者满足:c11d'64"17=T。 2.2递减锯齿波的设计。利用255—0循环减法计数器设计 递减锯齿波波形。基本思路如下:reset是重置信号,mp是一 28 信息系统工程I 2017 11.20 个中问变量的引入。例如:在重置信号有效之时,输出为1”, 最小值被设置为…0’,最大值被设置为“255”,从“255” 开始,当时钟检测到时间的上升时,输出将逐渐递增,数值一1。 其中Q[7.o1为并行输出数据;CIK为同步时钟信号;RESET为 重设信号。 当一个设计项目被编译时,我们必须测试实验结果是否能 够符合逻辑思维,其运算过程操作是否方便,其运算结果是否 正确,有无差异,这样才能辨别是否可以将其放心投入现实生 活之中。MAX+PLUSII不仅能够支持单设备模拟,还能够交互 式地指导命令或通过文本命令文件执行指定的模拟任务,为仿 真技术提供了~种方便、快捷的方式。然而,它在科技领域实 际上仿真工作的负载量非常大,位于信号发生器设计中的重要 部分。 23信号发生器顶层电路。将上述几个模块为供顶级电路 调用所生成符号。signall模块对应正弦波信号所形成的信号模 板;signal2对应递增锯齿波信号所形成的信号模板,一一对应。 三、基于MATLAB语言的仿真波形 由于VHDI语言不支持使用模拟方式来显示仿真结果,因 此,把数据选择器的输人到MATLAB中仿真}H波形,打开.sc 件, 然后从“File”菜单中选择“Create Table Files”,能够产生.thl文件, 我们通过MATLAB仿真出波形,结果证明此设计电路是正确的。 四、结论 本文设计的信号发生器,采用了层次化、模块化及并行设 计等多种方法。信号发生器设计被划分为多个功能模块,使用 VHDL语言和两个功能模块输入。然后通过运用MATLAB来实 现仿真信号发生器的设计,最终成形。此结果证明该设计准确、 方便可行,在市面上有很大的推广潜力。∞ 参考文献 【1】Kliene G E1ectronics.2f)12.92~118 『2]席德勋.现代电子技术[M_.北京:高等教育出版社,2(x)9. 13l李季.信号发生器发展浅析田 电子产品世界,2012:(1{})65—75 (作者单位:肇东市第一中学)