77范文网 - 专业文章范例文档资料分享平台

基于DDS技术的任意波形发生器(8)

来源:网络收集 时间:2018-12-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

河南城建学院本科毕业设计(论文) FPGA芯片设计

(3)定时驱动编译; (4)设计规则检查; (5)多器件划分;

(6)产生用于仿真的工业标准格式; (7)产生编程文件。 3.项目校验

MAX+PlusII提供的设计校验功能包括设计仿真与定时分析,用于测试设计的逻辑操作和内部时序。其中设计仿真又分为功能仿真、时序仿真和多器件仿真。

4.器件编程下载

MAX+PlusII编程器使用编译器生成的编程文件对Altera器件进行下载编程,它可以用来进行器件编程、校验、检查、探测空白及功能测试。

5.2 FPGA结构和规划

因为本设计采用自上而下的设计方法。因此,设计的第一个步骤就是划分确定整体机构,将设计划分为若干个小模块,然后一一实现这些模块的功能,最后将这些模块组合起来,实现整个FPGA预定的功能。

5.2.1整体设计结构

本设计中,FPGA芯片主要作为DDS数据处理处理芯片,另外还附带两个其它功能:锁存器功能和与非门功能(见图4-1)。因此,在FPGA芯片设计时,整体上将FPGA芯片划分为三个功能模块,锁存器模块、与非门模块和DDS模块。

锁存器功能模块和与非门功能模块实现起来比较简单。DDS数据处理模块比较复杂,下面给出了DDS数据处理模块的结构示意图(5-1):

结合图4-7,介绍DDS输出处理模块的工作过程。当WR引脚低电平且CS脚信号有效时,数据线D0-D7上数据写入功能寄存器:整个DDS模块一共有6个功能寄存器,由于功能寄存器长度不完全相同,一共分成8个命令字寄存器(见4.3.3节),与8个命令字对应的是3根地址线A0-A3。幅值寄存器一共8位,直接输出接幅值D/A转换器,用来控制输出波形电压。波形数据寄存器一共8位,接查找表数据输入端。查找表实际上相当是一个宽度为8位、深度为256字节的RAM,当往里面写数据时,其读写控制引脚为高电平,数据输入端的数据就写入输入地址对应的RAM单元了,当读写控制引脚为低电平时,输入地址对应的RAM单元的数据就从输出数据线上输出。RAM地址寄存器一共8位,用来初始化查找表时指定RAM地址。分频参数寄存器一共24位,用来指定分频参数,其输出接分频器;分频器按指定参数将输入DDS模块的时钟进行分频。相位累加

36

河南城建学院本科毕业设计(论文) FPGA芯片设计

参数寄存器一共12位,用来存储每次累加的相位数,这是控制输出频率的关键参数,其输出接相位累加器。相位累加器宽度为12位,其时钟接分频器的输出,每一个脉冲累加一次。控制寄存器一共两位,低位接RAM读写控制引脚。高位控制分频器、相位累加器和多路开关。低电平时,分频器清零,不输出脉冲;相位累加器清零,输出为零;多路开关选通RAM地址寄存器,将其连通RAM地址线。高电平时,分频器、相位累加器正常工作,多路开关选通相位累加器输出的高8位,将其连通RAM地址线。

DDS工作时,首先要进行初始化,其中包括功能寄存器的初始化和查找表的初始化。在进行初始化时,往控制寄存器写入数据,使高位为0,低位为0,这时,分频器、相位累加器停止工作。将RAM地址寄存器写入0,将波形的第一个数据写入波形数据寄存器;再将控制寄存器低位置1,然后再置0,这样,波形的第一个数据就写入查找表的第一个单元了,再将RAM地址寄存器加1,再输入下一个数据到波形数据寄存器??,依次将全部256个波形数据全部写入。下一步将各个功能寄存器的参数按要求写入查找表。完成初始化后,将控制寄存器高位置1,启动波形输出。

参考电源幅值D/A转换器波形D/A转换器滤波器输出幅值寄存器CSA0A1A2WR译码器多路开关RAM地址寄存器查找表波形寄存器D0-7分频参数寄存器分频器CLK相位累加参数寄存器相位累加器控制字寄存器DDS模块图5-1 DDS数据处理模块的结构示意图

37

河南城建学院本科毕业设计(论文) FPGA芯片设计

5.2.2设计模块划分

整个设计有一个顶层模块,按照功能要求划分成三个功能模块,其中,前两个模块比较容易实现,第三个模块复杂,分为5个子模块,如图5-2所示:

顶层模块锁存器DDS处理与非门comWricount24phrAddmuxAddram

图5-2设计模块划分

comWri模块主要实现功能寄存器及译码器的功能;count24模块实现分频器的功能,其实质是一个24位计数器;phrAdd实现12位相位累加器的功能;muxAdd实现多路选择开关的功能;ram模块实现查找表的功能。这5个模块一起实现DDS数据处理的功能。

5.3各模块设计与仿真

本设计中,与非门模块可以直接调用,其余模块均需要自己设计。下面主要介绍DDS处理模块及其子模块实现过程,其它模块比较简单,实现方法与这几个模块类似。

5.3.1 comWri模块

comWri模块实现功能寄存器写入功能,它包括8个命令字寄存器以及译码器。当锁存控制信号和片选信号为低电平时,数据写入功能寄存器,否则锁存数据实现代码如下所示:

always @(latch or add or dataIn) if ((latch ==0)&(cs==0)) case (add)

3’b000: amp = dataIn; 3’b001: dataReg = dataIn; 3’b010: addRam = dataIn;

38

河南城建学院本科毕业设计(论文) FPGA芯片设计

3’b011: demu0 = dataIn; 3’b100: demu1 = dataIn; 3’b101: demu2 = dataIn; 3’b110: phraseCon0 = dataIn; 3’b111: begin

phraseCon1 = dataIn[7:4]; control = dataIn[3:0]; end endcase

整个always语句以latch、add、dataIn为敏感信号,当其中一个有变化时,执行语句。当latch、cs为低电平时,写入寄存器数据。当为其它情况时,根据Verilog语法,将保持上一状态,即实现锁存功能。设计完成后,对其仿真,仿真结果如图5-3所示:

观察仿真结果,在cs为低电平时,在latch为低电平时,往各功能寄存器写入数据,在latch为高电平时.起锁存功能。当cs为高电平时,片选信号无效,无法写入功能寄存器数据。根据图形,我们发现该模块功能完全得到了实现。

图5-3 comWri模块仿真结果

5.3.2 count24模块

count24模块主要实现分频器功能,其实质是一个24位的计数器。它有3个输入,1个输出。输入信号有清零信号cr、时钟信号clk,还有一组分频控制信号 ldword。输出实际上是计数器的溢出信号c。该模块的实现代码如下所示:

Always@ (posedge clk or negedge cr) if (!cr) begin q<=0;

39

河南城建学院本科毕业设计(论文) FPGA芯片设计

c<=0; end

else if (q == ldword – 1 //q == 24’hfffffff) begin q <= 0; c <= 1; end else begin

q <=q+1; c <= 0; end

每一个时钟到来时,该计数器加l,当计到ldword-1时,计数器清零并重新计数,而溢出信号c发出一个脉冲,该计数器实际上是ldword-l进制计数器,c信号实际上是clk信号的ldword分频。其仿真结果如图5-4所示:

图5-4 count24模块仿真结果

在此仿真中,我们将ldword设为9,可以观察到在c:信号高电平时,溢出信号c将clk信号9分频输出。在cr信号为低电平时,输出q保持为0,输出c无信号输出。通过仿真,我们看到该模块功能已完全得到实现。

5.3.3 phrAdd模块

phrAdd实现相位累加器的功能,相位累加器一共是12位。输入有时钟信号clk、清零信号clr和每次累加的相位控制信号phraseCon,输出为累加后的相位信号。其实现代码如下所示:

always @ (negedge clr or posedge clk) if (!clr)

pOut <= 0; else

pOut<= pOut + praseCon;

40

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于DDS技术的任意波形发生器(8)在线全文阅读。

基于DDS技术的任意波形发生器(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/395317.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: