基于eda智能函数发生器的设计内容摘要:
测调试的优点,因此本设计的函数发生器选择方案四完成波形发生的全部功能。 波形函数输出控制方式选择 方案一:控制多路 D/A 开关输出方式 此种方案为每一路输出的波形函数使用一路 D/A 转换后输出,通过控制开关控制每一路 D/A是否工作,决定输出的波形。 此种方案可以同时输出多路波形,但是需 要路 D/A 转化器,外围电路复杂,制作成本较高而且控制复杂。 方案二:采用数据选择器方式 D/A 转换 波形发生模块 时钟 clk 复位 reset 波形输出选择模块 5 此种方案可以利用 VHDL 语言写出数据选择器,然后每种函数发生器的输出和数据选择器输入相连接,通过控制开关选择对应的波形输出。 方案二完全可以得到方案一的设计要求,而且只需一个 D/A 转换器就可以。 电路不需要外部搭建,节约成本且控制简单方便。 方案三:采用数据分配器方式 此种方案利用数据分配器的功能,通过控制开关选择相应的函数发生器模块,使之产生相应的波形输出,并通过数据分配器的使能复位控制决定是否输出波形, 此种方案和方案二很 相似,也能够实现设计的功能也具有方案二的优点。 基于方案二的设计简便、节约制作元件和成本、控制简便等优点,选择方案二作为波形函数输出控制方式。 通过以上各个模块的分析最终确定函数信号发生器的自顶向下的细化框图为: 系统的整体原理框图: 系统时钟输入后,通过复位开关选择是否产生波形,当各个模块产生相应的信号波形后,通过波形选择模块波形选择开关选泽输出不同的波形,再通过 D/A 转换器转换,就可以把数字信号(由 FPGA 输出 )变成了相应模拟的信号波形。 整个系统设计的核心就是 FPGA部分。 第 4 章 各模块程序设计及仿真 根据自上而下的思路进行项目设计。 明确每个模块的功能以后,开始编写各个模块的程序。 递增斜波 icrs 的 VHDL 程序如附录所示,其中 clk 是输入时钟端口, sel0、 sel sel2为选择波形按键值, reset 为输入复位端口, q为八位二进制输出端口。 图 1 递增斜波模块仿真图 程序设计的当复位信号为 0 时,输出为 0,无对应的波形产生。 当复位信号为 1时,每当检测到时钟上升沿时,计数器值加 1,当 增加到最大后清零。 计数值增加呈现线性关系,因此输出的波形是递增的斜波。 从仿真波形图也能看出这种变化规律。 VHDL 描述为: IF reset=39。 039。 THEN tmp:= 00000000。 复位信号清零 ELSIF clk39。 EVENT AND clk=39。 139。 THEN IF tmp=11111111 THEN tmp:=00000000。 递增到最大值清零 ELSE tmp:=tmp+1。 递增运算 递减斜波 dcrs 的 VHDL 程序 如附录所示,其中 clk 是输入时钟端口, sel0、 sel sel2为选择波形按键值, reset 为输入复位端口, q为八位二进制输出端口。 波形选 择模块 递增斜波模块 递减斜波模块 三角波模块 阶梯波模块 正弦波模块 方波模块 时钟 clk 复位 reset 波形选择开关 D/A转换器 6 图 2 递减斜波模块仿真图 程序设计的是复位信号为 0 时输出为 0,无对应的波形产生。 当复位信号为 1 时,当每当检测到时钟上升沿时,计数值减 1,当减到 0 后赋值到最大。 计数值减少呈现线性关系,因此输出的波形是递减的斜波。 从仿真波形图也能看出这种变化规律。 VHDL 描述为: IF reset=39。 039。 THEN tmp:=11111111。 复位信号置最大值 ELSIF clk39。 EVENT AND clk=39。 139。 THEN检测时钟上升沿 IF tmp=00000000 THEN tmp:=11111111。 递减到 0 置最大值 ELSE tmp:=tmp1。 递减运算 三角波模块 三角波 delat 的 VHDL 程序如附录所示,其中 clk是输入时钟端口, sel0、 sel sel2为选择波形按键值, reset 为输入复位端口, q 为八位二进制输出端口。 三角波波形是对称的,每边呈线形变化,所以可以根据数据做简单运算,就可以得到三角波。 图 3 三角波模块仿真图 程序设计的是 reset 复位信号为 0 时输出为 0,无对应的波形产生。 当复位信号为 1时,当每当检测到时钟上升沿时,当计数的数据不是最大值时,数值做递增运算,当增大到最大时,然后再做递减运算,因此输出的波形便呈现出三角波的形状。 从仿真波形图也能看出这种变化规律。 VHDL 描述如下: IF reset=39。 039。 THEN tmp:=00000000。 复位信号为 0,置最小值 ELSIF clk39。 EVENT AND clk=39。 139。 THEN检测时钟上升沿 IF a=39。 039。 THEN IF tmp=11111110 THEN tmp:=11111111。 置最大值 a:=39。 139。 ELSE 不是最大值时递增 tmp:=tmp+1。 递增运算 END IF。 ELSE IF tmp =00000001 THEN tmp:=00000000。 置最小值 a:=39。 039。 ELSE a 为 1 时,执行递减运算 tmp:=tmp1。 递减运算 阶梯波模块 阶梯波 ladder 的 VHDL 程序如附录所示,其中 clk 是输入时钟端口, sel0、 sel sel2为选择波形按键值, reset 为输入复位端口, q为八位二进制输出端口。 图 4 阶梯波模块仿真图 7 阶梯波设计的是数据的递增是以一定的阶梯常数向上增加,所以输出的波形呈现是成阶梯状的,而不是,完全呈现是直线增长。 从仿真波形图也能看出这种变化规律。 VHDL 描述如下: IF reset=39。 039。 THEN tmp:=00000000。 复位信号为 0,置最小值 ELSIF clk39。 EVENT AND clk=39。 139。 THEN检测时钟上升沿 IF a=39。 039。 THEN判断 a数 值,计数。 IF tmp=11111111 THEN tmp:=00000000。 计数到最大清零 a:=39。 139。 ELSE tmp:=tmp+16。 阶梯常数为 16,可修改 a:=39。 139。 END IF。 ELSE a:=39。 039。 循环计数标志 END IF。 END IF。 q=tmp。 END PROCESS。 END behave。 正弦波 sin的 VHDL 程序如附录所示,其中 clk 是输入时钟端口, sel0、 sel sel2为选择波形按 键值, reset 为输入复位端口, q为八位二进制输出端口。 图 5 正弦波模块仿真图 正弦波产生原理:通过循环不断地从波形数据 ROM 文件中依次读取正弦波一个周期在时域上 64个采样点的波形数据送入波形 DAC,从而产生正弦波。 方波模块 方波模块的 square 的 VHDL 程序描述如下:其中 clk 为输入时钟端口, sel0、 selsel2 为选择波形按键值, reset 为输入复位端口, q为整数输出端口。 图 6 方波模块仿真图 方波模块的设计是当内部计数 t 达到 64 时,根据输出标志 a 的数值输出对应的数值,当 a=0 输出 0,也即是方波周期中的低电平,当 a=1,输出 255,也即是方波周期中的高电平。 连续的输出便成了观测到的方波波形。 其 VHDL 描述如下: 8 IF clr=39。 039。 THEN a=39。 039。 ELSIF clk39。 EVENT AND clk=39。 139。 THEN 检测时钟上升沿 IF t63 THEN 计数 64 个点 t:=t+1。 计数 ELSE t:=0。 当计数的值大于 64 时,清零。 a=NOT a。 对 内部 a 变量取反, a 变化启动进程 END PROCESS。 ............... PROCESS(clk, a) BEGIN IF clk39。 EVENT AND clk=39。 139。 THEN IF a=39。 139。 THE。基于eda智能函数发生器的设计
相关推荐
53 54 测试结果 57 字符显示 57 图片显示 58 60 结束语 61 参考文献 63 致谢 62 基于 FPGA的 LCD控制器设计 5 第 1章 绪论 选题的背景与意义 液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。 一般可分热致液晶和溶致液晶两类。 在显示应用领域,使用的是热致液晶
个反馈电阻接在运算放大器的输出端和输入端之间。 (5) VREF :参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,V REF范围为(10~+10)V。 V REF端与 D/A 内部 T 形电阻网络相连。 (6) Vcc :芯片供电电压,范围为(+5~+15)V。 (7) AGND :模拟量地,即模拟电路接地端。 (8)
数来实现改变死区宽度。 多路 PWM 发生器的实现原理通过上面的设计可以实现单路的 PWM 的 FPGA 设计,利用 FPGA 来扩展 I/O 接口,可实现多路 PWM(脉宽调制)输出,在超声、电机控制等许多应用场合,需要产生多路频率,和脉冲宽度可调的 PWM 波形。 应用实现的单路的 PWM 的设计,可以推广到多路 PWM 设计,图 1-4 为多路 PWM 的系统原理框图。 通过一个主控
第 6 页 共 34页 数字水印的分类 数字水印 的分类方法多种多样,从不同的角度可以如下进行分类: ( 1) 按水印的可见性划分 按嵌入水印后数字产品中水印是否可见可将数字水印分为可见水印和不可见水印。 可见水印主要用于当场声明数字产品的版权 归属,对盗版者起到即时威慑和约束作用,也可用于在因特网上在线分发带 有可见水印的数字产品,对数字产品进行广告宣传。
直接在数据库上操作 ; 有的用 Visual Basic 等编程语言作开发平台。 但无论采用什么流程 , 最终的成果都可以导入到电子表格中 , 从而 进行处理。 毕业论文 共 31 页,第 11 页 Excel 对沉降观测的内业数据处理 对一次沉降观测的数据处理 用 Excel 内置函数处理沉降数据 以下是 朝阳区 北苑路大羊坊 6 号楼的 首次观测数据 , 这是一个 12 层的建筑物
性能静态 CMOS 制造工艺 主频达 150MHZ(时钟周期 ) 低功耗 (150MHz 核电压 ,135MHz 以下核电压 ,I/O 口电压) Flash 编程电压为 2)支持 JTAG 边沿扫描 3)高性能 32 位 CPU 16 16 和 32 32 乘积累加操作 16 16 双乘积累加器 程序和数据空间分开寻址 (哈佛总线结构 ) 快速中断响应和处理 统一寄存器编程模式 可达 4M