基于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,实现数据转义的输出
在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计的时候考虑周到外,还需要考虑数据展现的处理.如果是常规的处理,那 ...
随机推荐
- 你是怎么理解ES6中Proxy的?使用场景?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.介绍 定义: 用于定义基本操作的自定义行为 本质: 修改的是程序默认形为,就形同于在编程语言层面上做修改,属于元编程(meta pro ...
- pandas 自动化处理Excel数据
需求: 如下一份这样的Excel数据 现在需要把学生的学号.姓名分离出来到单独的一列 ,将 测验.讨论.成绩三列转换成数值,并把讨论这列的"-"转换成 0 显示 最后把处理好的内 ...
- 聊聊ShareGPT格式的微调数据集
转载请注明住处:https://www.cnblogs.com/zhiyong-ITNote 概述 ShareGPT格式的数据集中,一般是如下格式: [ { "conversations&q ...
- KingbaseES V8R6数据库运维案例之---用户权限导致的备份恢复故障
案例说明: 由于限制了用户对数据库的访问,导致在执行'sys_backup.sh init'初始化物理备份时,执行失败. 适用版本: KingbaseES V8R6 一.问题现象 如下所示,执行'sy ...
- SQLServer递归触发器在KES中的一次改造分析
文章概要: 某项目将数据从 SQLSERVER 迁移到 KES.其中SQLSERVER中触发器用到了 TRIGGER_NESTLEVEL() 函数,KES并不能直接支持该函数. 起初在分析该问题时想复 ...
- python---nltk工具包安装
先在pycharm里安装nltk cmd进入Python输入 import nltk nltk.download()如果下载失败在github上下载语料库:https://github.com/nlt ...
- OpenHarmony 3.2 Beta源码分析之MediaLibrary
1.MediaLibrary介绍 OpenAtom OpenHarmony(以下简称"OpenHarmony")MediaLibrary媒体库提供了一系列易用的接口用于获取媒体文件 ...
- 深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析
在 MongoDB 中,我们使用 find() 和 find_one() 方法来在集合中查找数据,就像在MySQL数据库中使用 SELECT 语句来在表中查找数据一样 查找单个文档 要从MongoDB ...
- Git分支教程:详解分支创建、合并、删除等操作
Git是一种强大的分布式版本控制系统,它的分支功能使得团队协作和代码管理变得更加灵活和高效.分支可以让开发人员在不影响主线开发的情况下进行并行开发和实验性工作.本篇博客将详解Git分支的创建.合并.删 ...
- CondeseNetV2:清华与华为出品,保持特征的新鲜是特征复用的关键 | CVPR 2021
论文提出SFR模块,直接重新激活一组浅层特征来提升其在后续层的复用效率,而且整个重激活模式可端到端学习.由于重激活的稀疏性,额外引入的计算量非常小.从实验结果来看,基于SFR模块提出的CondeseN ...