基于fpga的波形发生器的设计内容摘要:

扰性的高频信号,由于不须运算发大器,参数 计算容易,对系统要求不高。 因此在本设计中,利用 RC 低通滤波器就可以达到要求。 第三章 软件设计 相关软件采用 VHDL 硬件描述语言编写。 VHDL 是用于逻辑设计的硬件描述语言, 为IEEE 标准。 利用它,硬件的功能描述可完全在软件上实现。 它支持自顶向下( Top Down)和基于库( Library_Based)的设计方法,支持同步电路、异步电路、 FPGA 以及等随机电路的设 计,范围很广,语言的语法比较严格,给阅读和使用都带来极大好处。 软件设计分为三个进程。 正弦波 /三角波切换进程,频率幅值设置进程,以及波形数据ROM, ROM中存储的是产生波形的采样点数据。 如正弦波,分为 64个采样点,最高采样点值为 255,对应的八位二进制数为 11111111,第二个采样点为 254,对应的八位二进制数为11111110。 如果预置的八位二进制数为 11111110,那么时钟跳变一次就产生一个脉冲来让FPGA取出波形数据 ROM中的采样点数据,变化比较快,相应的△ t就比较小,得到的波形频率就高;如果预置 的数是 11110101,即 245,那么就要过 10个脉冲才会采样一次,因此△ t就比较大,得到的波形频率就小。 第四章 系统测试 示波器: 绿扬 YB4365, 100MHz,江苏扬中电子仪器厂 ; 直流电压源: DF1731SC2A; FPGA 实验仪: DPFPGA, 广州致远电子有限公司; 频率计: SP1500A 等精度频率计,南京盛普电子实业有限公司。 系统测试在清华 TPG_FPGA 实验箱上进行,引脚锁定后将程序下载到 Xilinx 公司的目标芯片 SpartanⅡ系列的 XC2S2005PQ208 上调试通过。 可以在示波器上看到平滑的正弦波 第 5 页 共 10 页 和三角波波形,切换和频率幅度的设置都可以达到预期的效果。 4. 3. 1 频率和幅度测试 表 1 频率和幅度测试结果 频率设置 /KHz 所测频率 /KHz 幅度设置 /V 所测幅度有效值 峰-峰值 4. 3. 2 测试结果 由表中数据可看出,该方法可实现两种正弦波和三角波两种波形的切换,并且得到平滑的频率和幅值都可调的波形。 但是在频率高的地方会有一定的误差。 第五章 结束语 由以上的分析和实验结果可以看出,利用 FPGA 来完成波形发生器的设计,使其产生频率和幅值可调的正弦波和三角波的方法行之有效。 利用 VHDL 硬件描述语言完成程序的设计,并且下载到 Xilinx 公司 SpartanⅡ 芯片上调试通过,在示波器上得到的波形和期望值一致。 如果修改一下程序还可以得到其他的任意波形,简单易行,利于控制。 第六章 参考文 献 1 李冬梅 .PLD器件与 EDA技术 [M]. 北京:北京光播学院出版社, 2020年第一版 2赵俊超 .集成电路设计 VHDL教程 [M].北京:北京希望电子出版社, 2020年第一版 3 赵曙光 .郭万有 .可编程逻辑器件原理,开发与应用 [M].西安:电子科技大学出版社 .2020年第一版 4甘历 .VHDL应用与开发实践 [M].北京:科技出版社 .2020年 第一版 第七章 附录 程序清单 ――――――――――――――――――――――――――――――――――――――― 文件名: 功能:产生正弦波或三角波信号 说 明:基于 VHDL 硬件描述语言在 在 Xilinx公司的 SpartanⅡ系列的 XC2S2020PQ208芯片上 实现 最后修改时间: 2020年 7月 28 日 ――――――――――――――――――――――――――――――――――――――― library IEEE。 use。 use。 use。 entity sin_rec is Port ( clk ,reset: in std_logic。 sinm: in std_logic_vector(3 downto 0)。 正弦波或三角波的幅度设置 dataf : in std_logic_vector(7 downto 0)。 频率预置 conver: in std_logic_vector(1 downto 0)。 正弦波与三角波的设置的切换 第 6 页 共 10 页 dd : out std_logic_vector(8 downto 0)。 正弦波输出 ss:out std_logic_vector(8 downto 0))。 三角波输出 dd :out integer range 765 downto 0 )。 end sin_rec。 architecture Behavioral of sin_rec is signal q :integer range 63 downto 0。 正弦波数据点 signal q2: integer range 64 downto 0。 三角波数据点 signal n0,n,n2:integer range 1 to 12。 正弦波或三角波的幅度档位 signal dataf0,count8,dataf22,count9,d,s: integer range 255 downto 0。 频率设定系数 signal fs。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。