基于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。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。