系统电路设计演示文稿.pptVIP

  • 4
  • 0
  • 约2.26万字
  • 约 85页
  • 2018-02-23 发布于天津
  • 举报
演示文稿演讲PPT学习教学课件医学文件教学培训课件

伴随FPGA器件的发展,FPGA的应用已经渗透到各个领域,从家用电器、医疗设备、工业控制和军事领域都能看到FPGA的应用。 第7章以算法设计、信号处理、信号检测、人机接口等几个不同方面的系统设计为例,给出FPGA系统设计思路、设计参考程序、性能分析等内容,提供FPGA应用的设计参考。; 7.1 信号发生器设计 7.2 数字电压表设计 7.3 有限状态机设计 7.4 存储器设计 ;7.1 信号发生器设计;结构框图:根据设计要求,构造信号发生器的结构框图,如图所示。 分频网络:根据已有时钟信号的频率、实际产生信号的频率以及D/A转换器时钟频率的需求,决定分频网络分频系数的设计。 信号产生:产生所需的各种信号,根据信号特点不同,可以有多种产生方式,例如,用计数器直接产生三角波等信号输出。或者采用查找表方式产生正弦波信号,用计数器产生存储器的地址,在存储器中存放正弦波信号输出的数据。 信号控制:控制模块可以用数据选择器实现,用6选1数据选择器实现对6种信号的选择。 D/A控制器:按照D/A转换器的时序要求,D/A控制器产生D/A转换器的控制信号,将波形数据经过D/A控制器送入D/A转换器,将数字信号转换为模拟信号,产生模拟信号输出。;1. 信号产生原理和设计 递增锯齿波设计为例:利用计数器产生递增锯齿波信号。设计复位信号reset使输出清零,高电平有效;reset为低电平时,在输入时钟信号clk的作用下,设计一个8位二进制加法计数器,输出信号依次从全0变为全1,计为全1后恢复为全0,不断循环,从而产生递增锯齿波信号输出。程序设计参考下一页。 正弦波信号设计为例:利用ROM产生正弦波信号。首先用计数器产生存储器的地址,接着读取存放在存储器中的正弦波信号数据。程序设计可以参考第4章4.5节关于层次化设计中的完整设计举例。;产生递增锯齿波信号的程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity signal1 is --产生递增锯齿波模块signal1 port(clk,reset:in std_logic; --复位信号reset,时钟信号clk q:out std_logic_vector(7 downto 0));--输出信号q,8位数字信号 end signal1; architecture a of signal1 is begin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); begin if reset=1 then --复位信号reset=1有效,启始状态 tmp: elsif rising_edge(clk)then --复位信号无效,时钟信号有上升沿 if tmp then --计数值全1,恢复到全0状态 tmp: else tmp:=tmp+1; --加法计数 end if; end if; q=tmp; --信号输出,产生递增锯齿波信号 end process; end a; ;2. 数模控制原理和设计 数模转换芯片:采用美国Analog Devices公司的AD7528数字/模拟转换器。 AD7528:是一款双路、8位的数字/模拟转换器,其外部引脚如图所示。工作电源5~15V,功耗小于15mW,可直接产生电压输出。AD7528内部包含两个数据锁存器,通过数据输入端DB0~DB7传送,控制输入端决定数据存入哪个数据锁存器。 AD7528工作方式:如表所示。表中H表示高电平,L表示低电平,×表示任意。;AD7528工作时序:如图所示,用FPGA编程控制AD7528时,必须严格按照其工作时序,尤其注意要满足各信号的建立和保持时间。 禁止数据输入:片选信号为高电平时。 实现数模转换:片选和写控制均为低电平,AD7528的模拟输出端对DB0~DB7数据总线输入端的活动做出响应,输入数据直接影响模拟输出,实现数模转换。 实现数据锁存:当片选和写控制信号变为高电平时,DB0~DB7输入端上的数据被锁存。;采用状态机的方式编程:通过状态机实现FPGA对AD7528的控制,按要求依次输出控制信号,连接示意图如图所示。FPGA的dac输出信号与AD7528的相连,FPGA的data输出信号与AD7528的数据输入端相连,FPGA的cs和wr输出信号分别与AD7528的CS和WR相连。;设选取AD7528内部的DACA数据锁存器,则FPGA的模数控制程序如下。 libr

文档评论(0)

1亿VIP精品文档

相关文档