基于fpga的数字波形发生器论文内容摘要:
效时停止对 FIFO 的写操作 ;空标志信号,当有效时停止对 FIFO 的读操作。 频率测量模块在本系统中起着非常重要的作用,它不仅决定着采样频率,还决定液晶显示屏幕的基本时间基准。 测量频率其实就是单位时间内的计数。 在本设计中,测频模块的具体设计思路为:首先将 A/D 转换器转换后的数据通过一个比较器得到测频脉冲,由于本设计中的 A/D 将 0V 电压转换为 0x80,为避免在 0V 附近的小信号振荡造成测频误差,将比较器的固定比较值设定为 0x88。 然后将测频脉冲通过一个 D触发器同步后便开始计数,在计数过程中为避免尖脉冲或毛刺信号造成对计数的影响,根据上次测频 的结果选择合适的过滤脉宽,即比给定脉冲宽度小的信号脉冲将不会被计数,提高了整个测量的精度。 整个测频模块的符号图如图 7 所示。 在图 7 中, pare 为比较模块,然后经过触发器同步后,通过脉宽过滤模块 (FreLatch1)后到计数测频模块 (MeasureFrequency),测量得到的数据通过八位寄存器 counter_out counter_out2 和 counter_out3 输出。 OneSecondPulse 模块为产生 1s脉冲的模块,为计数提供基准参考脉冲。 MATLAB 作为一款优秀的数学工具软件,具有强大的运 算功能;可以方便的产生各种信号波形,在软件 第二章 单元电路设计 9 中实现波形信号的产生、抽样和模数转换。 设计的任意波形发生器,数据存储器选用 28C256 芯片,信号波形通过 MATLAB 仿真产生;得到的波形数据存放在数据存储器 28C256 中。 具体设计中,我们要求产生周期为 200ms,脉宽为 5ms 的单 /调频混合信号,其中单频信号的脉宽为 4ms,频率为 30KHz;调频信号的脉宽为 1ms,频率为 30KHz_35KHz。 在 MATLAB 中设定抽样率为 500KHz,得到了 2500 个波形数据。 这些混合波形数据在烧录入数据存储器的过程中,由于波形数据 较多,直接用手工录入数据存储器中不仅费时且容易出错。 为克服这一弊端,通过 MATLAB编程的方法将产生的波形数据按照 HEX 文件的 INTEL 格式存放 ,然后将这些波形数据整批次烧录入数据存储器中。 采用上述方法,波形数据生成简单,快捷;可根据需要在软件程序中方便地修改信号参数;无需改动硬件电路即可实现信号参数的功能扩展。 CPLD 逻辑设计 分频电路采用两片 74HC163 实现。 通过分频电路,将 12MHz 的晶振标准频率分频后,得到 500KHz 的抽样频率,作为地址发生器的时钟。 分频电路的工作由单片机控制。 地址发生器电路由 3片 74HC163 组成,时钟频率为 500KHz,有分频电路提供;和预存的波形数据抽样频率相一致,以实现数据的无失真读出。 电路设计中,采用 ALTRA 公司的 EPM7128AETC100- 10芯片,在 MAX+PLUSⅡ 开发环境中完成分频缏泛偷刂贩 ⑸ 鞯缏返纳杓啤; 贑 PLD 的电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。 通过 CPLD 和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路 十分简单,为工程调试和应用带来了方便。 D/A 转换电路 D/A 转换电路的实现如图 3所示。 电路中, AD7545 将波形数据转换为模拟信号; LF353 进行信号滤波和整形。 基于 FPGA的数字波形发生器 10 FPGA 接口及数模转换电路设计 电路如图 所示 图 FPGA接口与模数转换电路 第三章 软件设计 11 第三章 软件设计 正弦波合成 器设计 正弦波波形数据产生 利用 计算波形数据 , 程序及结果如下: step=2*pi/1023。 x=0:step:2*pi。 y=*sin(x)+。 z=round(y) z = Columns 1 through 10 128 128 129 130 131 131 132 133 134 135 Columns 11 through 20 135 136 137 138 138 139 140 141 142 142 …… Columns 1021 through 1024 125 126 127 127 波形 存储 器 的设计 使用开发软件为 Xilinx ISE ,编程语言为 VHDL,仿真工具为 ModelSim Xilinx Edition XE。 顶层程序 文件名: 基于 FPGA的数字波形发生器 12 library IEEE。 use。 use。 use。 entity top is Port (sysclk,reset,key1,add,sub,key_route:in std_logic。 led1,led10,led100,led1000: out std_logic。 data : out std_logic_vector( 8 downto 0))。 end top。 architecture Behavioral of top is ponent key Port (sysclk,key1,reset,add,sub: in std_logic。 led1,led10,led100,led1000,clock3200: out std_logic。 N:out integer range 1023 downto 0)。 end ponent。 ponent pir_add Port ( sysclk,reset : in std_logic。 N :in integer range 1023 downto 0。 addr: out integer range 1023 downto 0。 aslant,triangle,rectangular:out std_logic_vector( 8 downto 0))。 end ponent。 ponent sinx PORT ( Qt : in INTEGER RANGE 1023 DOWNTO 0。 DD : out std_logic_vector(8 downto 0) )。 end ponent。 ponent choice_function Port (clk3200,reset,key_route:in std_logic。 sin_data,tri_data,asl_data,rec_data:in std_logic_vector(8 downto 0)。 第三章 软件设计 13 function_data: out std_logic_vector(8 downto 0))。 end ponent。 signal N_p,addr_p :integer range 1023 downto 0。 signal clock3200_p :std_logic。 signal sin_data_p,tri_data_p,asl_data_p,rec_data_p :std_logic_vector(8 downto 0)。 begin key_u : key port map (sysclk=sysclk,reset=reset,add=add,sub=sub,key1=key1,clock3200=clock3200_p, led1=led1,led10=led10,led100=led100,led1000=led1000,N=N_p)。 pir_add_u : pir_add port map (sysclk=sysclk,reset=reset,N=N_p,addr=addr_p,aslant=asl_data_p,triangle=tri_data_p, rectangular=rec_data_p)。 sinx_u :sinx port map (Qt=addr_p,DD=sin_data_p)。 choice_function_u : choice_function port map clk3200=sysclk,reset=reset,key_route=key_route, sin_data=sin_data_p,tri_data=tri_data_p,asl_data=asl_data_p,rec_data=rec_data_p,function_data=data)。 end Behavioral。 正弦波波形存储 文件名: 说明:限于篇幅,只给出部分程序代码 library IEEE。 use。 use。 use。 entity sinx is PORT ( Qt : in INTEGER RANGE 1023 DOWNTO 0。 DD : out std_logic_vector(8 downto 0) )。 end sinx。 基于 FPGA的数字波形发生器 14 architecture Behavioral of sinx is SIGNAL D : INTEGER RANGE 255 DOWNTO 0。 BEGIN PROCESS(Qt) BEGIN CASE Qt IS when 0001 = D=128。 when 0002 = D=128。 when 0003 = D=129。 when 0004 = D=130。 when 0005 = D=131。 when 0006 = D=131。 when 0007 = D=132。 when 0008 = D=133。 when 0009 = D=134。 when 0010 = D=135。 (部分省略) whe。基于fpga的数字波形发生器论文
相关推荐
储单元: 掉电 存储单元的作用是在电源断开的时候,存储当前设定的单价信息。 AT24C02 是 ATMEL 公司的 2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到,额定电流为 1mA,静态电 流 10Ua(),芯片内的资料可以在断电的情况下保存 40 年以上,而且采用 8 脚的 DIP 封装,使用方便。 AT24C02 的外围电路中有 R R2 两个上拉电阻
,可以有效地节约小区务业管理的人力资源,降低事故的发生率,保证居住方便、安全、舒适。 二、选题报告 (一)论文选题意义 随着社会经济水平的发展,现在人们的生活追求个性化、自动化, 同时 追求快节奏 和 充满乐趣的生活方式, 所以 家装要求的档次 就 越来越高, 从而,一种人性化、智能化的生活模式孕育而生。 智能电子技术在现实生活中的智能家居电子产品中得到广泛应用。 而计算机网络与通讯技术的应用
)齿轮离合器 a、结构( 图 6—11) b、控制系统 图 6—12 离合器打开:压力油→ K 管→ n→ m→ s→ r(压力油将活塞销顶起,活塞销下端离开轮毂凹槽,解除闭锁,同时使 r 的空间与 j 孔相通)→ j→ i→ h→ g→ f→ e→离合油缸左腔; 离合油缸右腔→ d→ c→ b→ a→ L 管→油池。 缸体带动外齿轮向左移动,直到与内齿圈脱开。 离合器合上:压力油→ L 管→
2410 处理器介绍 精读 S3C2410 处理器的 USER39。 S MANUAL 的 memory controller 及NandFlash controller 部分 4 掌握 S3C2410 处理器的芯片 有关存储器接口的 原理及用法 讲授,演示,实践 3 S3C2410 处理器介绍 精读 S3C2410 处理器的 USER39。 S MANUA 的 Clock amp。 Power
图 26 校验时, P0 输 出 原 码 , 此 时 P0 外 部 必 须 被 拉 高。 图 26 AT89S52 P1口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1
地沟→回填工。 ⑵ 结构工程 结构定位放线(预检)→构造柱钢筋绑扎、定位(隐检)→砖墙砌筑(+ 50cm 线找平、预检)→柱梁、顶板支模(预检)→梁板钢筋绑扎(隐检、开盘申请)→砼浇筑→下一层结构定位放线→重复上述施工工序直至顶。 ⑶ 内装修工程 门窗框安装→室内墙面抹灰→楼地面→门窗安装、油漆→五金安装、内部清理→通水通电、竣工。 ⑷ 外装修工程 外装修工程遵循先上后下原则,屋面工程(包括烟道