FPGA采集adc,IP核用法,AD驱动(上半部分)

未完结,明天补全

IP核:集成的一个现有的模块

串口写好后基本不会再修改串口模块内部的一些逻辑,将串口.v文件添加进来,之后通过他的上层的接口去对他进行使用,所以我们打包IP,之后就不用去添加源文件了,

IP Catalog ->集合;里面就是我们所有可以调用的集合

fft:快速傅里叶变换

如果创建了一个IP之后,我们就可以直接调用这个模块,这个模块里的功能都是完成了的,我们只需要对接口进行例化就行

对于我们要使用的串口模块,我们要把我们的控制信号给列举出来

把通信信号也列举出来

然后就是时钟复位信号clk,rstn

以及定义的两个参数:时钟频率SYSCLK_FREQ,波特率BUAD_RATE

在调用的时候也要给一些参数,可以改变串口IP的波特率

创建一个自己的IP:

block design就是一个画布

IP管理页面:

File Groups:文件组

Synthesis:可综合文件

当我们自己创立IP时,我们也可以通过我们输入的一些参数对IP进行配置,当我们这样去定义出来,例如

在打包IP时它会自动的给你识别成一个上层可配置的一个参数,就会给你在这儿列举出来

右键->添加一个总线接口,因为串口是已经有了总线不是没有总线

PortMap:端口的映射

串口协议中,其它信号可有可无,但Txd和rxd是必须要有的

因为我们并不是一个有地址的,有寄存器的总线协议,所以我们这边并没有一个地址映射

IP识别成功:

采用OC的一个IP:编译好后就不会再改变

实现:当串口发送一个特定值的时候,我的DAC的输出就是我的ADC的输入,就是我将我采集到的输出出去,否则的话就是如果发送的不是特定的值,或者是没有发送值,我的DAC就会输出一个正弦波

uart_0.veo :verilog语言的端口例化

端口例化时输入一般要给,输出可以不连

输入如果不连的话,我们一般要给个定值,没有输入就会导致内部的话就是一个未知状态

降频倍频:clock的IP

Docnav:赛灵思的文档,不仅是IP文档,还包括了软件使用,fpga的学习,各种各样的文档

Minimize Power:最小功耗

Minimize Output Jitter:最小输出抖动

系统时钟:

output clocks

若高电平复位:reset

若低电平复位:resetn

MMCM可以支持1/8的小数分频,并且只在out1里面有,PLL不支持

生成一个时钟模块:

有些IP提供test bench,有些只有例程工程

前面这段时间输出的时钟还没有到稳定状态,所以锁是拉低的,当锁拉高时,说明我们后面的时钟输出是一个稳定状态的,后面的时钟是一定可以用的

给的例程:直接去看IP,它是怎么去进行接口的输入输出的,然后我们就可以进行控制

当复位和锁同时为高的情况下,时钟是可以用的

将复位信号和锁的信号给&上,这样的话作为我们整体的复位信号

默认情况下输出正弦波,当我们的串口输入某个特定的值,那我就要dac输出一个我adc采集到的数据,如果接收到其它非特定值,那我继续输出正弦波

对于一块ROM储存空间:我将我的正弦波一个周期给存进去,输入我的地址,它输出我的当前地址对应的值,改变我的地址,输出我对应的值,地址不断的这样去反复的累加,输出的值就会是一个正弦的波形

Distributed memory generator:分布式储存器ram//LUT搭建

block memory generator:块储存器//现有

fpga中只有ram,而rom就是我在搭建这块ram的时候,把其写端口给取消掉

ram:既能存又能写

使用matlab生成一个coe文件,使其输出正弦波

dac_type是在串口的50M的时钟域下,他却用在了一个100M的时钟域里

如果是一个高速的信号,则有问题

将一个时钟下的数据移到另一个时钟下去使用,这时候我们就要用到双端口的fifo

先入先出

同步时钟的块ram:

commom clock black ram

异步时钟的块ram

ila:逻辑分析仪

仿真没问题,下板有问题

因为我们的IP进行了时钟约束,所以我们不需要额外再添加system文件去给它约束

xdc文件的注释是一个#

相关推荐
szxinmai主板定制专家9 小时前
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)
fpga开发·zynq·数据采集卡
szxinmai主板定制专家12 小时前
基于TI AM62x+FPGA的24bit高精度数据采集卡设计(振动/风电/发动机监测)
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家14 小时前
基于 ARM+FPGA 雕刻机控制系统的设计
arm开发·人工智能·fpga开发·rk3576·半导体设备
吉他英雄一里2 天前
zynq入门教程
fpga开发·zynq
XMAIPC_Robot2 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
156082072192 天前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)2 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
女神下凡3 天前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
szxinmai主板定制专家4 天前
工业视觉新思路:FPGA图像预处理+RK NPU推理,实现高速缺陷检测
人工智能·嵌入式硬件·fpga开发·rk3576+codesys
FPGA小徐5 天前
【硬件实战】立创 EDA 绘制 TF/SD 卡模块电路|SPI 模式原理图 + 阻抗匹配 + PCB 布局布线全教程
单片机·嵌入式硬件·fpga开发