基于LPM_ROM的正弦信号发生器电路实现方法.doc_第1页
基于LPM_ROM的正弦信号发生器电路实现方法.doc_第2页
基于LPM_ROM的正弦信号发生器电路实现方法.doc_第3页
基于LPM_ROM的正弦信号发生器电路实现方法.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于LPM_ROM的正弦信号发生器电路实现方法Design of the signal generator circuit of the sinusoidal wave based on LPM_ROM(渝西学院物理学与电子信息工程系) 杨守良 YANG,Shou-liang摘要:本文主要讨论了使用EDA工具设计正弦波信号发生器的技术问题。文中首先描述了正弦波波形数据ROM实现的几种方式;然后研究了定制波形数据和ROM元件的方法,最后给出了基于Cyclone的参数化模型库LPM描述其功能的VHDL语言程序设计。关键词:LPM-ROM;正弦波信号发生器;设计方法中图分类号:TP271+.82 文献标识码:A文章编号:Abstract : This article has mainly discussed that the technological problem of the sinusoidal wave signal generator based on tool design of EDA, and has described several ways in which the sinusoidal wave form data ROM realizes in the article at first; Then studied wave form data and ROM component method of customizing, provide based on Cyclone parameter model storehouse LPM describe function their VHDL language design program finally. Keywords: LPM-ROM;Sinusoidal wave signal generator;Design method正弦波信号是最常用的一种信号形式,应非常广泛,本文利用GW48-PK2 SOPC/DSP实验开发系统采用宏功能块较为方便地实现了正弦波信号电路。现场可编程门阵列(FPGA)中的波形发生器控制电路,如图1所示,它通过外来控制信号和高速时钟信号,向波形数据ROM发出地址信号,输出波形的频率由发出的地址信号的速度决定;当以固定频率扫描输出地址时,模拟输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则模拟输出波形为扫频信号。波形数据ROM中存有发生器的波形数据,如正弦波数据。当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据,地址变化得越快,则输出数据的速度越快,从而使D/A输出的模拟信号的变化速度越快。波形数据ROM可以由多种方式实现,如在FPGA外面外接普通ROM,由逻辑方式在FPGA中实现;或由FPGA中的EAB模块担当,如利用LPM_ROM实现。相比之下,第1种方式的容量最大,但速度最慢,第2种方式容量最小,但速度最快;第3种方式则兼顾了两方面的因素,达到了优化设计正弦波信号发生器。下面就笔者实际设计过程作一详细说明:一、定制ROM初始化数据文件构成ROM中的初始化数据文件格式有2种:Memory Initialization File(.mif)格式文件和Hexadecimal(Intel-Format)File(.hex)格式。本文以建立hex格式文件为例。其建立方法是利用普通单片机编译器来产生。方法是利用汇编程序编辑器将此64个数据(必要时增加波形点数,以利低频输出时,仍保持良好波形)编辑于如图2的编辑窗中,然后用单片机ASM编译器产生hex格式文件。在此不妨取名为sind1.asm,经编译后得到sind1.hex,现将此文件存放于D:sopcsingasm中以备调用。二、定制DATA_ROM元件在设计正弦波信号发生器前,必须首先完成存放波形数据的ROM的设计和测试,利用Quartus II中的MegaCore管理器定制正弦信号数据ROM宏功能块,并将以上的波形数据加载于此ROM中。设计和测试步骤如下:1、打开MegaCore管理器选择“Tools”选择“MegaWizard Plug-In Manager”,在弹出的窗口中确认选择“Create a new custom megafunction variation”,点击“NEXT”。 2、选择目标器件和宏功能块类型 在出现选择目标器件和宏功能块类型窗口中,选择目标器为Cyclone,模块表达语言为VHDL语言,模块内容为storage下的LPM_ROM,生成功能块的路径与取名为D:sopcsingdata_rom.vhd。 3、选择ROM控制线和地址、数据线在出现选择ROM控制线和地址线、数据线对话框中选择地址与数据的位宽分别为6和8,选择地址锁存控制信号inclock,并选择数据文件sind1.hex。最后完成ROM文件data_rom.vhd的生成。然后打开此文件,可以看到其中调用初始化数据文件的语句:init_file=”sind1.HEX”,此表达式显然有错,将其改为:init_file=”./asm/sind1.hex”。4、仿真ROM模块首先将data_rom.vhd设定为工程,编译后编辑波形文件,并启动仿真编译出现如图3所示的情况。由此我们可以看到,定制在HEX内的数据已经被调入到ROM中,说明ROM模块工作正常。 如将此项设计转换成RTL硬件电路,则其硬件电路如图4所示,由此可见,我们定制的data_rom元件由一个内部输入时钟和一个具有6位宽度的地址作为输入,另外还有一个具有8位数据宽度作为输出端,主要用于从ROM中读出的产生正弦波数据。根据图4可以看出只要设计一个电路,能够产生一个具有地址自动加1功能的电路,只要我们向该电路加上一个时钟,作为输入端,那么在其输出端将输出一系列的正弦波数据。 三、建立DAC工程为了实现只有一个时钟信号输入端,要求编制一个顶层文件,产生具有自动加一功能的地址加法器,其文件清单如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DAC IS PORT ( CLK : IN STD_LOGIC; DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END;ARCHITECTURE DACC OF DAC ISCOMPONENT data_romPORT(address: IN STD_LOGIC_VECTOR (5 DOWNTO 0);inclock: IN STD_LOGIC ; q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END COMPONENT; SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); SIGNAL DOUTI : STD_LOGIC_VECTOR (7 DOWNTO 0) ;BEGINPROCESS(CLK ) BEGIN IF CLKEVENT AND CLK = 1 THEN IF Q1 111111 THEN Q1 = Q1 + 1; ELSE Q1 = 000000; END IF; END IF; END PROCESS; DOUT Q1, q = DOUTI,inclock=CLK);END; 在建立DAC工程时将data_rom.vhd、dac.vhd两个VHDL文件均加入此工程,完成后再编译,最后在编辑波形文件,并启动仿真编译:“Start Simulation”。最后出现DAC工程仿真波形如图5所示:将DOUT展开后,其波形图如图6所示,由此可以看出其输出波形的频率是随输入端的频率CLK决定,要改变输出的正弦波信号的频率,只要改变输入端CLK的频率即可,达到调节频率的目的。如输入端的频率为周期性的时变信号,则输出波形为扫频信号。现将输入输出信号锁定在芯片确定的引脚上,最后重新编译后把配置文件下载进实验系统,并打开+/-12V电源,接上示波器后就能看到输出的正弦波,调整CLOCK0的脉冲频率,并控制滤波情况,可以看到波形的变化。如果改变ROM文件data_rom.vhd中的数据sind1.hex,编译下载可以看到波形形状的变化。 由此可见,采用此种方法设计的正弦波信号发生器具有占用的FPGA芯片资源较少,完全可以嵌入到FPGA芯片系统资源共用同一个FPGA芯片,不适为一个很好的正弦波信号产生电路解决方案。参考文献:1 Stefan Sjoholm,Lennart Lindh著,边计年 薛宏熙 译. VHDL设计电子线路M. 清华大学出版社. 20002潘松,黄继业,王国栋.现代DSP技术M.西安电子科技大学出版社 2003年8月3潘松,黄继业.EDA技术实用教程M.科学出版社 2002年10月4徐志军,徐光辉.CPLD/FPGA的开发与应用M.电子工业出版社 2002年1月5包明,赵明富,陈渝光.EDA技术与数字系统设计M.北京航空航天大学出版社 2002年7月6褚振勇,翁木云.FPGA设计及应用M.西安电子科技大学出版社 2002年7月7林明权.VHDL数字控制系统设计范例M.电子工业出版社,2003年1月,第一版8赵曙光、郭万有、杨颂华.可编程逻辑器件原理、开发与应用M.西安电子科技大学出版社,2000年8月,第一版9潘松、王国栋.VHDL实用教程M.电子科技大学出版社,2000年3月,第一版10 周祖成译.电子设计硬件描述语言VHDLM.北京学苑出版社, 1994年第一版11 侯伯亨、顾新.VHDL硬件描述语言与数字逻辑电路设计M.西安电子科技大学, 1999年第一版作者简介:杨守良 (1970.07),男,汉族,本科,物理教育,主要从事现代电子设计研究工作。TELO)Email:Brief introduction of author:YANG Shou-liang,male(1970.07-), The Han nationality, undergraduate course, physics education, en

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论