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文件的注释是一个#
相关文章:
FPGA采集adc,IP核用法,AD驱动(上半部分)
未完结,明天补全 IP核:集成的一个现有的模块 串口写好后基本不会再修改串口模块内部的一些逻辑,将串口.v文件添加进来,之后通过他的上层的接口去对他进行使用,所以我们打包IP,之后就不用去添加源文件了&a…...
MongoDB 如何做mapreduce
以下是在MongoDB中使用MapReduce的详细步骤和相关说明: 1. MapReduce的概念 MapReduce是一种用于大规模数据处理的编程模型,它由两个主要阶段组成:Map阶段和Reduce阶段。在MongoDB中,MapReduce操作允许在服务器端对数据进行批量…...
Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用
学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…...
c++ 桶排序(看这一篇就够了)
1. 概述 桶排序(Bucket Sort)又称箱排序,是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,也可以是使用其他排序算法将每个桶分别排好序&…...
格点拉格朗日插值与PME算法
技术背景 在前面的一篇博客中,我们介绍了拉格朗日插值法的基本由来和表示形式。这里我们要介绍一种拉格朗日插值法的应用场景:格点拉格朗日插值法。这种场景的优势在于,如果我们要对整个实数空间进行求和或者积分,计算量是随着变量…...
【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
零.前置篇章 本篇前置文章为【LVGL快速入门(一)】LVGL开源框架入门教程之框架移植 一.UI设计 介绍使用之前,我们要学习一款LVGL官方的UI设计工具SquareLine Studio,使用图形化设计方式设计出我们想要的界面,然后生成对应源文件导入工程使用…...
jmeter中用csv data set config做参数化2
在jmeter中,使用csv data set config进行参数化是很重要的一个功能,但是这个功能的使用需要十分仔细和小心,因为细节之处往往决定着结果的正确与否。 举例: 一个登录接口用加密密码登录,一个登录接口用原始密码登录。…...
背包问题整理
1.01背包 题目描述 小明有一个容量为 V 的背包。 这天他去商场购物,商场一共有N 件物品,第 i 件物品的体积为 wi,价值为 vi。 小明想知道在购买的物品总体积不超过 V的情况下所能获得的最大价值为多少,请你帮他算算。 输入描述…...
基于Matlab车牌识别课程设计报告
Matlab车牌识别系统 分院(系) 信息科学与工程 专业 学生姓名 学号 设计题目 车牌识别系统设计 内容及要求: 车牌定位系统的目的在于正确获取整个图像中车牌的区域, 并识别出车牌号。通过设计实现车牌识别系…...
SSM框架实战小项目:打造高效用户管理系统 day3
前言 在前两篇博客中,后台已经搭建完毕,现在需要设计一下前端页面 webapp下的项目结构图 创建ftl文件夹,导入css和js 因为我们在后台的视图解析器中,设置了页面解析器,跳转路径为/ftl/*.ftl,所以需要ftl文件…...
一款现代化、可定制的跨平台文件浏览器,高颜值高效率的的管理神器!(附私活源码)
在如今这个注重效率的时代,我们每天都在与文件打交道。 但是,你有没有感觉到传统的文件管理器总是让人提不起劲?单调的外观,有限的功能,仿佛是上个世纪的产物。 一直以来,我都在寻找一款既颜值高又功能强…...
【C】二分查找与函数1
二分查找 练习: 给定一个整型的有序数组,在数组中找到指定的一个值,如: 1,2,3,4,5,6,7,8,9,10 找出7.如果找到了&#x…...
光纤光学的基本方程
一、麦克斯韦方程与亥姆赫兹方程 1.1 麦克斯韦方程 光纤是一种介质光波导,具有以下特点: ① 无传导电流 ② 无自由电荷 ③ 线性各向同性 推导出来的即为波动方程。为材料在真空中的磁导率,为材料在真空中的介电常数,n为材料折…...
题解:CF584D Dima and Lisa
前置知识 哥德巴赫猜想,任一大于 2 2 2 的偶数都可写成两个素数之和。 思路 我们可以分类讨论一下。 n n n 一开始就是质数。直接输出即可 n n n 是偶数,那么一定可以写成两个质数之和。那么暴力枚举两个质数即可。 如果以上均不符合,计…...
【OD】【E卷】【真题】【100分】内存资源分配(PythonJavaJavaScriptC++C)
题目描述 有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源返回申请结果成功失败列表。 分配规则如下: 分配的内存要大于等于内存的申请…...
Linux基础项目开发day05:量产工具——页面系统
文章目录 一、数据结构抽象page_manager.h 二、页面管理器page_manager.c 三、单元测试1、main.page.c2、page_test.c3、Makefile修改3.1、unittest中的Makefile3.2、page中的Makefile 四、上机实验 前言 前面实现了显示、输入、文字、UI系统,现在我们就来实现页面的…...
保护企业终端安全,天锐DLP帮助企业智能管控终端资产
为有效预防员工非法调包公司的软硬件终端资产,企业管理员必须建立高效的企业终端安全管控机制,确保能够即时洞察并确认公司所有软硬件资产的状态变化。这要求企业要有一套能够全面管理终端资产的管理系统,确保任何未经授权的资产变动都能被迅…...
2024市场营销第3次课
品牌管理 1.认识品牌 品牌定义:一个名称、术语、标志、符号或设计,或者是它们的组合,用来识别某个销售商或某一群销售商的产品或服务,并使其与竞争者的产品或服务区分开来。 品牌构成:成功品牌的构成都是由外及内的…...
Python基础之函数的定义与调用
一、函数的定义 在Python中,函数是一段可重复使用的代码块,用于完成特定的任务。可以使用def关键字来定义函数。 语法如下: def function_name(parameters): """docstring""" # function body return expres…...
GPU在AI绘画中的作用以及GPU的选择
大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 GPU在AI绘画中的作用: GPU在A…...
网站优化过程中如何防范黑帽SEO行为
网站优化过程中如何防范黑帽SEO行为 在数字营销和网站优化领域,搜索引擎优化(SEO)是一个至关重要的环节。为了迅速提升网站排名,有些人可能会尝试使用“黑帽SEO”手段。这种行为不仅违反了搜索引擎的规则,还可能导致网…...
OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制自动化模块
OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制自动化模块 1. 为什么需要自定义Skill 去年冬天,当我第一次尝试用OpenClaw自动整理电脑上的技术文档时,发现现有的通用技能无法完美匹配我的需求——我需要一个能理解Qwen3-14b_int4_awq模型…...
借助AIBIYE的AI改写功能,学习五个核心技巧,快速优化论文内容以达到低重复率标准。
嘿,大家好!我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题:论文重复率飙到30%以上怎么办?别慌,我这就分享5个实用降重技巧,帮你一次搞定,轻松压到合格线以下。这些方法都是我亲身试验过的&a…...
CsvHelper与Entity Framework集成:数据库导出的终极指南
CsvHelper与Entity Framework集成:数据库导出的终极指南 【免费下载链接】CsvHelper Library to help reading and writing CSV files 项目地址: https://gitcode.com/gh_mirrors/cs/CsvHelper 在当今数据驱动的世界中,CSV文件处理是每个开发者都…...
RAG 不需要向量库?无向量检索新范式全攻略(非常硬核),大模型检索从入门到精通,收藏这一篇就够了!
基于推理的检索如何击败结构化文档上的相似性搜索,以及如何使用 PageIndex 构建它 你向 AI 智能体询问一份 200 页合同的问题。它自信地回答。答案是错误的。它从正确的主题中提取了文本,但却是错误的条款,而模型从未注意到。 这不是模型问…...
seo关键字价格便宜的方法有哪些
价格便宜的方法有哪些 在当今市场竞争激烈的环境中,降低成本成为企业提升竞争力的关键之一。价格便宜的方法有哪些呢?本文将从问题分析、原因说明、解决方法、注意事项和实用建议五个方面来详细探讨这一话题。 问题分析 我们需要明确什么是“价格便宜…...
无人车避障新思路:手把手教你用MATLAB实现贝塞尔曲线路径规划(含完整代码)
无人车避障新思路:手把手教你用MATLAB实现贝塞尔曲线路径规划(含完整代码) 在自动驾驶和机器人导航领域,路径规划的核心挑战之一是如何在复杂环境中生成既安全又符合车辆运动学的轨迹。传统方法如A*或Dijkstra算法虽然能找出最短路…...
TYPE3-CAAV5如何革新CATIA中的文本与投影设计流程
1. TYPE3-CAAV5如何改变CATIA设计流程的游戏规则 第一次在CATIA里用TYPE3-CAAV5创建文本时,我盯着屏幕愣了三秒——原来工程软件的操作还能这么流畅!这个看似简单的工具条彻底颠覆了我对CAD文本处理的认知。传统CATIA里需要切换多个模块才能完成的文本操…...
敏捷测试实践:两周一个迭代的质量保障
在软件快速交付的时代,以两周为一个迭代周期的敏捷开发模式已成为行业主流。对于测试从业者而言,这既是挑战也是机遇。传统的“瀑布式”测试在漫长的周期后介入的模式已彻底失效,质量保障活动必须无缝融入高速运转的迭代流水线,从…...
手把手教你用S32K SDK和TCANLINPRO调试LIN总线主从通信(附Tomoss白盒实战)
手把手构建S32KTCANLINPRO的LIN总线开发实战:从硬件对接到协议栈调优 LIN总线作为汽车电子领域经典的辅助网络协议,在车门控制、座椅调节等场景中依然占据重要地位。对于刚接触汽车电子的开发者而言,如何快速搭建LIN通信调试环境往往是个令人…...
