首页 > 技术 > 内容

基于fpga的信号发生器设计方案

时间:2025-12-10  作者:Diven  阅读:0

今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3。话不多说,上货。

本篇掌握基于 FPGA Vivado 信号发生器设计,掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习信号发生器的基本组成结构。

设计原理

信号发生器能够产生频率波形可调的信号输出,目前仅限于1Hz~4999Hz频率范围,波形可选择三角波,方波,锯齿波,以及正弦波。本系统在Basys3上构建了一个简易信号发生器,简化框图如下:

原理:通过按键设置波形的频率,并通过拨码开关设置波形的种类(一共有正弦波、三角波、方波、锯齿波四种)。频率值可以通过数码管显示。片上的输出时钟计算模块能够根据设置好的频率值,计算波形查找表的输出时钟,以及生成查找表的地址。查找表根据波形选择模块,决定输出何种波形数据,并在输出时钟的驱使下,输出波形数据。片上的DA模块将波形数据发送给外部DA。本设计通过Basys3外接Pmod-DA1模块,进行DA输出。

操作步骤

基于添加文件和IP

1. 新建工程项目

1) 双击桌面图标打开Vivado 2017.2,或者选择开始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;

2) 点击‘Create Project’,或者单击File>New Project创建工程文件;

3) 将新的工程项目命名为‘lab5’,选择工程保存路径,勾选‘Create project subdirectory’,创建一个新的工程文件夹,点击Next继续;

4) 选择新建一个RTL工程,勾选Do not specify sources at this time(不指定添加源文件),先不添加源文件。点击 Next继续;

5) 选择目标FPGA器件:xc7a35tcpg236-1或Basys3;

6) 最后在新工程中,检查工程创建是否有误。没有问题,则点击Finish,完成新工程的创建。

2. 添加已经设计好的IP和HDL文件

工程建立完毕,我们将所需的IP文件夹(IP_Catalog)和实验需要使用的HDL文件复制到已经创建的工程文件夹根目录下:

源文件位于Basys3_workshopsourceslab5SrcHDL_source

复制完成后,如下图所示:

1) 在Vivado界面左侧Flow Navigator中展开PROJECT MANAGER,选择‘Settings’;

2) 弹出窗口中,在左侧Project Settings中展开IP一项,选择‘Repository’,点击右侧的添加IP;

3) 选择复制到工程文件夹根目录下的IP文件夹;

4) 点击OK完成添加;

5) 添加IP至工程。

5.1 在Flow Navigator中展开PROJECT MANAGER,选择IP Catalog;

5.2 在右侧IP Catalog窗口的搜索框中搜索‘clocking’,双击‘Clocking Wizard’开始配置IP;

5.3 配置IP。

5.3.1 将IP的名字由‘clk_wiz_0’修改为‘clock’;

5.3.2 选择‘Output Clocks’,设置2路输出时钟(100MHz和50MHz);

5.3.3 在Enable Optional I/O for MMCM/PLL一项中取消勾选‘reset’和‘locked’选项;

5.3.4 Vivado会创建新的文件夹保存配置完成的IP,点击OK继续;

5.3.5 弹出Generate Output Products窗口,在Synthesis Options中选择‘Global’,点击‘Generate’继续。

5.4 同样的,在IP Catalog窗口中添加Divider Generator,配置如下图如下图所示:

5.5 同样的,依次在IP Catalog窗口中添加debounce和seg7decimal这两个IP,使用默认IP设置,无需另外配置,并且Generate Output Products,完成后Sources窗格中如下图所示:

6) 添加HDL文件至工程

6.1 在Flow Navigator中展开PROJECT MANAGER,选择Add Sources;

6.2 在导向窗口中选择‘Add or create design sources’,点击Next继续;

6.3 在Add or Create Design Sources页面中选择‘Add Files’;

6.4 找到lab5根目录,选中添加下图所示的2个HDL文件;

6.5 勾选‘Copy sources into project’,点击Finish完成添加;

6.6 完成后Sources窗格中如下图所示:

7) 添加物理约束(XDC)文件

7.1 在Flow Navigator中展开PROJECT MANAGER,选择Add Sources;

7.2 在导向窗口中选择‘Add or create constraints’,点击Next继续;

7.3 在Add or Create Design Sources页面中选择‘Add Files’;

7.4 找到约束文件路径Basys3_workshopsourceslab5SrcConstraint,选中并添加‘signal_gen.xdc’文件;

7.5 勾选‘Copy sources into project’,点击Finish完成添加。

3. 综合、实现、生成比特流文件

1) 在左侧Flow Navigator中依次点击‘Run Synthesis’、‘Run Implementation’和‘Generate Bitstream’执行综合、实现和生成比特流文件操作。或者,可以直接点击‘Generate Bitstream’,Vivado工具会提示没有已经实现的结果,点击‘Yes’,Vivado工具会依次执行综合、实现和生成比特流文件。

2) 完成后,选择‘Open Hardware Manager’打开硬件管理器。

3) 连接Basys3开发板,点击‘Open target’,选择‘Auto connect’。

4) 连接完成后,点击‘ProgRAM devICe’。

5) 检查弹出框中所选中的bit文件,然后点击ProgRAM进行下载。

设计验证

1. 基于Analog Discovery2

按照下图连接方式,首先将Pmod-DA1模块插入在JC口上方,同时将Analog Discovery2的示波器CH1的输出引线1+(橙色)和1-(橙白色)分别与Pmod-DA1模块的A1和GND相连接。

1) 打开WaveForms软件,连接Analog Discovery2设备

2) 在左侧的功能选择栏选择‘Scope’,使用示波器

3) 打开示波器,点击左上角‘Run’按钮,波形输出如下图所示:

2. 基于OpenScope

按照下图连接方式,首先将Pmod-DA1模块插入在JC口上方,同时将OpenScope的示波器CH1的输出引线1+(橙色)和1-(橙白色)分别与Pmod-DA1模块的A1和GND相连接。

1) 打开Digilent Agent;

2) 在Windows工具栏右侧,右键Digilent Agent图标,选择‘Launch WaveForms Live’,在浏览器中打开WaveForms Live;

3) 选择在实验二中已经添加的设备,点击连接该设备;

4) 在界面右侧将Time设置为2ms,找到并展开Osc Ch1(示波器Ch1),保持默认参数设置,点击右上角开关按钮,打开示波器。

5) 点击界面右上角的‘RUN’按钮,开始运行。在左侧的示波器中观察输出波形结果。

通过DIGILENT Basys3开发板右侧的上下左右键进行频率调节,以及利用低两位的开关来选择输出波形。

编辑:黄飞

猜您喜欢


电容式传感器是现代科技中重要的传感器。的工作原理简单,种类多样。本文将详细介绍电容式传感器的工作原理和类型。工作原理概述电容式传感器利用电容原理工作。电容是储存...
2025-03-22 00:00:35
随着电子产品的不断发展,贴片电阻作为基础电子元件,应用于各种电路设计中。而“贴片电阻4位数”作为标识方式,因其精确度高、编码简洁而受到工程师们的青睐。本文将全面...
2025-11-04 15:01:41
钢丝作为重要的工业材料,具有多项显著优势。钢丝的强度高,能够承受较大的拉力,应用于建筑、桥梁和机械制造等领域,确保结构的安全性和稳定性。钢丝的韧性好,能够在受力...
2015-11-20 00:00:00
自恢复保险丝因其独特的保护功能而受到青睐。LseLe作为行业内知名的自恢复保险丝系列,凭借其优异的性能和多样化的产品线,赢得了广大用户的认可。那么,LseLe自...
2022-08-31 16:54:30
盘头内六角机螺钉是应用于机械、电子和家具等领域的重要紧固件。设计独特,盘头形状能够提供更大的接触面积,确保在紧固时能够更好地承受压力,避免滑丝现象的发生。内六角...
2013-12-20 00:00:00
随着工业自动化和智能控制的发展,电流传感器作为关键的检测元件,应用于电力监测、智能家居、新能源汽车等领域。选择一家性能稳定、技术先进的电流传感器品牌,对于保证系...
2025-11-19 11:00:36
硅电容是电子设备中重要的部件。的好坏直接影响到电路的性能。本文将介绍一些测量硅电容的方法,帮助大家更好地判断电容的状态。外观检查要检查电容的外观。查看有没有破损...
2025-03-27 08:00:34
现代电子设备中,功率模块的性能直接影响着设备的整体效率和可靠性。DDPAK-7作为一种新型的功率模块封装,因其独特的设计和优越的性能,逐渐成为业界关注的焦点。本...
2025-02-24 17:14:50
贴片电阻上的431并非直接代表阻值,而是采用一种特殊的编码方式来表示。这种编码通常被称为三位数代码或EIA-96代码。 431中,前两位数字43代表有效数字,第...
2024-11-29 10:26:04
如果您正在寻找一种可以有效管理家庭空调系统的产品,那么我们的AC控制器将是您的理想选择。这款AC控制器专为满足一般用户的需求而设计,以其实用和简便的操作性能,帮...
2024-02-18 00:00:00