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

今天给大侠带来基于 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开发板右侧的上下左右键进行频率调节,以及利用低两位的开关来选择输出波形。


TMS320C6000 DSP芯片介绍
华为魏之来:繁荣端侧算网生态,重塑家庭互动生活
关于蓝牙无线技术的特点以及市场竞争优势
电动自行车电池简介
分析|手机行业已是一片红海 诺基亚回归有几分胜算?
基于fpga的信号发生器设计方案
工业园区必备良药!工业园区智慧安全远程监控系统解决方案
CHIPWAYS一举斩获“2023年度最具创新精神IC设计企业奖”大奖
2018年与2019年中国机器人产业发展情况对比
面向新型消费应用的IEEE 802.15.4 ZigBee
带你走进盖茨、马云、刘强东等IT大佬们的办公室
基于梯形永磁体的切向内置式转子结构研究
realme Q采用索尼IMX586旗舰级传感器,价格在千元起步
分布式汽车车身控制系统设计
关于基于FPGA的图像FFT滤波处理的分析和介绍
大疆正式发布 “御”Mavic 2行业双光版
“量子点光谱传感器”亮相本届科技周,辨析光波分析物质内在成分
银行自建的区块链平台究竟谁会脱颖而出
石墨烯材料水分测定仪应用范围
iphone常见八大故障分析,难怪苹果销量下滑 iphone7也没能幸免