基于EPCLYPSE的DDS控制器(一)
软硬件平台
操作系统:windows11
软件平台:vivado2021.1 开发套件
硬件平台:Digilent Eclypse-Z7 Zmod开发套件
vivado 工程搭建
①直接拉取笔者的三个ip
②新建工程

唯一注意的就是板子芯片不要选错就好了
③工程构建
主语路径不能有中文,这三个ip就是笔者链接的ip

在设置中导入三个下载好的ip,然后点击“block design”

然后就得到了以上这个界面

最后根据上面的示意图添加对应的ip,得到工程图

然后生成顶层文件,在做这一步之前先看一下注意事项 如果内部修改了,得重新生成顶层文件
②注意事项
③分配好管脚
若使用官方的板子,则用笔者的xdc文件就可以直接使用,否则需要对应自己板卡做对应引脚的修改,以下是笔者的管脚约束
## 125MHz Clock
set_property -dict { PACKAGE_PIN D18 IOSTANDARD LVCMOS33 } [get_ports { sys_clk }]; #IO_L12P_T1_MRCC Sch=sysclk
create_clock -add -name sys_clk_pin -period 8.00 -waveform {0 4} [get_ports { sys_clk }];
## Buttons_rst
set_property -dict { PACKAGE_PIN C17 IOSTANDARD LVCMOS33 } [get_ports { resetn}];
## USART
set_property -dict {PACKAGE_PIN H17 IOSTANDARD LVCMOS33} [get_ports uart_rxd]
set_property -dict {PACKAGE_PIN H18 IOSTANDARD LVCMOS33} [get_ports uart_txd]
## DAC
set_property -dict {PACKAGE_PIN W16 IOSTANDARD LVCMOS18} [get_ports ZmodDAC_ClkIn_0]
set_property -dict {PACKAGE_PIN W17 IOSTANDARD LVCMOS18} [get_ports ZmodDAC_ClkIO_0]
## DAC SPI
set_property -dict {PACKAGE_PIN Y14 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_SDIO_0]
set_property DRIVE 4 [get_ports sZmodDAC_SDIO_0]
set_property -dict {PACKAGE_PIN AA14 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_CS_0]
set_property DRIVE 4 [get_ports sZmodDAC_CS_0]
set_property -dict {PACKAGE_PIN AA13 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_SCLK_0]
set_property DRIVE 4 [get_ports sZmodDAC_SCLK_0]
set_property -dict {PACKAGE_PIN W15 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_SetFS1_0]
set_property -dict {PACKAGE_PIN Y15 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_SetFS2_0]
set_property -dict {PACKAGE_PIN Y13 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_Reset_0]
set_property -dict {PACKAGE_PIN AA22 IOSTANDARD LVCMOS18} [get_ports sZmodDAC_EnOut_0]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[13]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[12]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[11]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[10]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[9]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[8]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[7]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[6]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[5]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[4]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[3]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[2]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[1]}]
set_property IOSTANDARD LVCMOS18 [get_ports {dZmodDAC_Data_0[0]}]
set_property PACKAGE_PIN V13 [get_ports {dZmodDAC_Data_0[13]}]
set_property PACKAGE_PIN W13 [get_ports {dZmodDAC_Data_0[12]}]
set_property PACKAGE_PIN AB14 [get_ports {dZmodDAC_Data_0[11]}]
set_property PACKAGE_PIN AB15 [get_ports {dZmodDAC_Data_0[10]}]
set_property PACKAGE_PIN V14 [get_ports {dZmodDAC_Data_0[9]}]
set_property PACKAGE_PIN V15 [get_ports {dZmodDAC_Data_0[8]}]
set_property PACKAGE_PIN Y20 [get_ports {dZmodDAC_Data_0[7]}]
set_property PACKAGE_PIN Y21 [get_ports {dZmodDAC_Data_0[6]}]
set_property PACKAGE_PIN AA19 [get_ports {dZmodDAC_Data_0[5]}]
set_property PACKAGE_PIN AA18 [get_ports {dZmodDAC_Data_0[4]}]
set_property PACKAGE_PIN AB20 [get_ports {dZmodDAC_Data_0[3]}]
set_property PACKAGE_PIN AB22 [get_ports {dZmodDAC_Data_0[2]}]
set_property PACKAGE_PIN Y18 [get_ports {dZmodDAC_Data_0[1]}]
set_property PACKAGE_PIN Y19 [get_ports {dZmodDAC_Data_0[0]}]
④综合上板
在上板综合之前,一定要注意,这个板子的内部reset引脚是一直拉低的,若设计的复位低电平复位的,那么直接接入就会一直拉低,导致整个板子不工作,所以得取反

然后就可以愉快的生成比特流文件了

⑤实物接线


⑥测试输出




上位机软件

这个app控制器,需要matlab2021A的runningtime 所以可以自行下载一个,然后安装这个软件,也可以用matlab打开笔者的工程文件,也是一样的,看哪个方便即可
工程下载
笔者把三个ip丢在这里哩,要的可以去参考一下,️没错就是我
基于EPCLYPSE的DDS控制器(一)的更多相关文章
- 基于FPGA的DDS设计(一)
最近在学习基于FPGA的DDS设计,借此机会把学习过程记录下来,当作自己的学习笔记也希望能够帮助到学习DDS的小伙伴. DDS(Direct Digital Synthesizer)直接数字合成器,这 ...
- 基于Controller接口的控制器及简单应用
DispatcherServlet在Spring当中充当一个前端控制器的角色,它的核心功能是分发请求.请求会被分发给对应处理的Java类,Spring MVC中称为Handle.在Spring 2.5 ...
- 基于FPGA的DDS设计(二)
在DDS设计中,如果相位累加器每个时钟周期累加1,就会输出频率为195.313KHz的波形.如果每个时钟周期累加2,就会输出频率为2*195.313KHz的波形·······,如果每两个时钟周期累加1 ...
- 基于FPGA的DDS任意波形发生器设计
一.简介 DDS技术最初是作为频率合成技术提出的,由于其易于控制,相位连续,输出频率稳定度高,分辨率高, 频率转换速度快等优点,现在被广泛应用于任意波形发生器(AWG).基于DDS技术的任 ...
- 基于FPGA(DDS)的正弦波发生器
记录背景:昨晚快下班时,与同事rk聊起怎么用FPGA实现正弦波的输出.我第一反应是利用高频的PWM波去滤波,但感觉这样的波形精度肯定很差:后来想起之前由看过怎么用FPGA产生正弦波的技术,但怎么都想不 ...
- Android 基于蓝牙的方向控制器
最近开发了一个蓝牙控制器App,用手机远程控制小球的运动. 包含了一些基础知识:多线程使用,页面UI数据更新,按钮事件,选择项功能,蓝牙功能(蓝牙打开,蓝牙搜索,蓝牙连接,蓝牙命令发送,蓝牙命令接收) ...
- 基于S5PC100的FIMC控制器解析
作者:邹南,华清远见嵌入式学院讲师. http://www.cnblogs.com/gooogleman/archive/2012/07/26/2610449.html CAMERA SENSOR O ...
- 基于异步的MVC webAPI控制器
MVC – Task-based Asynchronous Pattern (TAP) – Async Controller and SessionLess Controller Leave a re ...
- 国产CPLD(AGM1280)试用记录——做个SPI接口的任意波形DDS [原创www.cnblogs.com/helesheng]
我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺 ...
- 在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义的输出
在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计的时候考虑周到外,还需要考虑数据展现的处理.如果是常规的处理,那 ...
随机推荐
- 记录--求你了,别再说不会JSONP了
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 JSONP是一种很远古用来解决跨域问题的技术,当然现在实际工作当中很少用到该技术了,但是很多同学在找工作面试过程中还是经常被问到,本文将带 ...
- ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接 是因为使用urlopen方法太过频繁,引起远程主机的怀疑,被网站认定为是攻击行为.导致u ...
- Spring Cloud服务之Nacos作为注册中心与配置中心
1.创建maven父工程管理jar包版本 创建maven骨架,删除多余部分文件.只留pom文件,添加依赖 <packaging>pom</packaging> <pare ...
- 索引与查询使用的 collate 不一致导致无法使用索引
索引与表的collate 不一致的情况下,会导致表上的索引不可用,这时要想使用索引,必须在SQL 语句指定建索引所用的collate. 数据库默认collate : test=# \l List of ...
- archlinux调整分区及btrfs文件系统大小
1.防止数据丢失 有重要数据要先备份 最好现在虚拟机练习一下, 2.注意点 修改分区的初始位置似乎需要删除分区后重建分区,意味着分区数据全被删除. 所以修改分区初始位置可能需要其它办法 修改分区的初始 ...
- 浅谈JVM整体架构与调优参数
本文分享自华为云社区<[性能优化]JVM整体架构与调优参数说明>,作者: 冰 河. JVM的分类 这里,我们先来说说什么是VM吧,VM的中文含义为:虚拟机,指的是使用软件的方式模拟具有完整 ...
- Codeforces Round #682 (Div. 2)
CF1438A Specific Tastes of Andre 洛谷传送门 CF1438A 代码(全铺成1就可以了) #include <cstdio> #include <cct ...
- #原根,BSGS,扩欧,矩阵乘法#CF1106F Lunar New Year and a Recursive Sequence
题目 已知数列 \(f\) 满足 \(f_{1\sim k-1}=1\) 且 \(f_n=m\), 并且知道 \(f_i=(\prod_{j=1}^kf_{i-j}b_j)\bmod{99824435 ...
- C#_面试题1
C#_面试题1 1.维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么? 答:尽可能用约束(包括CHECK.主键.唯一键.外键.非空字段)实现,这种方式的效率最好:其次用触发器,这种方 ...
- MyBatis 应用的组成
王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 大家好,我是王有志.在上一篇文章的最后,我们写了一个简单的例子,今天我们就通过这个例子来看一看一个标准的 ...