- 博客(24)
- 收藏
- 关注
原创 vivado fpga程序固化
一般下载到fpga上的程序在掉电之后就会丢失,如果想要掉电之后程序不丢失,就需要将比特流文件固化到板载的flash上。以下以我的7a100t开发板为例,介绍程序固化的流程。点击OK就可以下载了。
2025-05-20 19:33:36
314
原创 波形数据有符号数和无符号数转换
在fpga做数字信号处理时,经常会遇到这个转换的问题,比如我的ADC采集的数据和DAC输出的数据采用的都是无符号数,但在使用一些ip核比如dds、fir、fft等的时候,需要使用的是有符号数,因此就需要这样的转换,并且保证波形和原来一致。1.无符号转有符号(举例)
2025-05-16 21:29:07
83
原创 LMS自适应滤波算法(MATLAB仿真+fpga实现)
将输入的信号改一下,改成s=sin(0.1*pi*t)+sin(0.3*pi*t);,参考信号改成s0=sin(0.1*pi*t);从图中可以看出:期望信号选择噪声信号或者正弦波信号均可得到较好结果。
2025-04-19 23:07:42
201
原创 fpga修改后的dds模块(可控增益)
dds一般都是从rom里读数据然后给DAC模块输出,有些时候题目会要求你的幅值有所倍数关系,因此我修改了原先的dds模块,注意不能直接÷,因为波形数据是无符号数,14位的数据,范围是0~16383,中心点8191对应的是实际DAC输出的0V,所以要稍微做一点点小处理。
2025-04-14 10:38:56
213
原创 fpga模块 占空比为50%的任意奇偶分频
还是比较好用的,现场写的话可能会浪费一点时间,比如奇数分频不是50%占空比、2分频不小心变成了4分频等等问题。在校赛的时候,需要用fpga分频时钟给CD4046并以此来获得倍频时钟,才发现需要准备这个模块。
2025-04-14 10:32:55
244
原创 用嘉立创制作单层腐蚀板步骤
找一个容器,将转印好的铜板放入,加入腐蚀剂和热水,并不断摇晃加快腐蚀。用砂纸将覆铜板擦拭干净,将热转印纸上的电路与覆铜板贴合,用。腐蚀完成后,再钻孔,然后就可以开始焊接了!1.使用tina仿真,画原理图。加热,将电路图转印到覆铜板上。切一块大小合适的铜板。
2024-11-06 16:22:15
495
原创 vivado ROM ip核的使用
与随机存储器(RAM)不同, ROM 存储的数据一旦写入后断电后不会丢失, RAM断电后数据直接丢失, 因此 ROM 也被称为非易失性存储器(Non-Volatile Memory)。FPGA中是有一定的存储资源,常见就是BRAM,本实验通过调用FPGA的IP核, IP 核相当于是已经写好的模块, 来实现 ROM 的功能,不过这个 ROM 本质是 RAM,断电后数据会丢失,只是具有 ROM 的功能。coe文件初始化ROM(coe文件可以由matlab生成,也可由软件生成)此处coe文件存的是正弦波形数据。
2024-11-06 15:39:21
1450
原创 vivado FIFO ip核的使用
FIFO(Frist Input Frist Output),即先入先出,也是一种存储器, 本质上还是RAM, 是一种先进先出的数据缓存器, 与普通存储器的相比, 没有外部读写地址线,这样使用起来非常简单。但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
2024-11-04 15:40:02
1145
原创 fpga模块(5)SPI从机通信
SPI通讯协议一共有四种通讯模式,模式0、模式1、模式2以及模式3,这4种模式分别由时钟极性(CPOL,Clock Polarity)和时钟相位(CPHA,Clock Phase)来定义,其中CPOL参数规定了空闲状态(CS_N为高电平,设备未被选中)时SCK时钟信号的电平状态,CPHA规定了数据采样是在SCK时钟的奇数边沿还是偶数边沿。数据更新在SCK时钟的偶数边沿,本模式中,偶数边沿为下降沿。模式1:CPOL= 0,CPHA=1。数据更新在SCK时钟的偶数边沿,本模式中,偶数边沿为上升沿。
2024-11-03 10:18:45
935
原创 fpga模块(3)verilog实现14位dds信号发生器+DAC模块波形输出
基于fpga的14位dds信号发生器,并可以通过dac模块实现波形输出
2024-10-24 19:15:14
986
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人