基于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。基于fpga的波形发生器的设计
相关推荐
的实现步骤: (1):对输入和输出值进行分配 第一个输入: 位置误差 E 设定量化论域 E={10, „ „ ,10},模糊语言子集 E 为 {NB(负大 )、 NM(负中 )、 NS(负小 )、ZE(零 )、 PS(正小 )、 PM(正中 )、 PB(正大 )}。 第二个输入:位移误差变化量 设定量化论域 EC={1,0,1}, EC 模糊语言子集取 {N (负 )、 ZE (零 )、 P(正
么不完全符合设计者的需要。 这种矛盾来自于 FPGA 本身的结构局限性, 短期内很难得到很好的解决。 (6).尽管 FPGA 实现了 ASIC 设计的硬件仿 真,但是由于 FPGA 和门阵列、标准单元等传统 ASIC形式的延时特性不尽相同,在将 FPGA设计转向其它 ASIC设计时,仍然存在由于延时不匹配造成设计失败的可能性。 针对这个问 题,国际上出现了用 FPGA 数组对 ASIC
几十甚至上百公里,分散布局在各个山头或沟壑, 每个井场由 3~10 口井组成,每口油井独立对应一个标准储油罐。 由于各个井场 储油罐相距较远 ,目前采用的储油方法是各井场独立存油,一段时间后再 通过拉油车将原油运输到储油中心。 管理方面 当前多采用看井工人工管理和统计每日原油灌的储存量,缺少必要的监控手段,所以错报漏报甚至瞒报现象时有发 生 ,并且由于缺乏监管机制,使不法分子有机可乘
码器的输出进行片选,译码器的两个地址引脚由单片机控制。 使用三块双口 RAM 的好处是可以顺利地接受单片机发送过来的数据,不必再增加额外的接口电路。 DDS 电路输出相位地址寻址波形数据存储器,波形数据存储器的输出和基准波模块的输出通过数字比较器 产生 PWM 波形。 DDS 基本原理 直接数字合成 (DDS, Direct Digital
京:科学出版社 .2020。 3. 赵俊超等 .集成电路设计 VHDL 教程 .【 M】 .北京 .北京希望电子出版社 .2020。 4. 周俊峰 陈 涛 . 基于 FPGA 的 直 接 数 字 频 率 合 成 器 的 设 计 和 实现 . 年 附录 : 顶层程序 文件名: library IEEE。 use。 use。 use。 entity top is Port (sysclk,reset
TB=S1(4)amp。 S0(4)。 在此添加“B”的功能模块中,例如程序代码为:(CODEOUTV=01)THEN IF(COUNT1=0)THEN FIRST_1=39。 139。 COUNT1=1。 S1(4)=S1(3)。 S0(4)=S0(3)。 表示当输入的代码CODEOUTV=01时,判断计“1”计数器COUNT1的状态,当为0时,即V之间的非0符号为偶数时