- 博客(41)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 基于FPGA的蓝牙密码锁,小程序端修改密码(4位密码/6位密码)可扩展功能verilog,已通过上板验证
准备:蓝牙模块、矩阵键盘模块、数码管模块以及开发板即可4位密码/6位密码Quartus或者vivado 都可。
2025-03-29 15:28:52
317
原创 基于FPGA的ESP8266无线数据传输(温湿度DTH11、光照强度BH1750、WIFI模块)连接中国移动onenet云平台,仿真+上板通过+可视化平台搭建
踩得坑:正点原子的esp8266模块不用刷固件,mqtt直接用,买其他的esp8266 -01需要刷固件,我还没买底座,比较麻烦,后来索性换了正点原子的wifi模块。其实用其他的效果一样,都是AT指令+MQTT,只不过需要刷固件。参考:优快云大佬们 ID:紧邻的二氧化碳虽然但是fpga做这些没什么优势,但是架不住有些毕业设计需要,emmmm当个参考吧。
2025-03-27 22:29:03
427
3
原创 OFDM接收机学习-第二章 符号同步模块FPGA的实现
第一章根据短序列的周期性以及延迟相关并长度保持算法进行了判断新数据分组到来的判断。输出的结果就是根据输入给与一个大概位置的有效标志,之后更加精确的判断交给后面的其他模块。因为本实验只使用了一个载波,所以不需要进行载波同步,直接进入符号同步,符号同步会充分利用短序列,燃烧最后价值。消除空闲间隔,输出长序列以及有效数据。理解教材公式,做好数据控制,验证数据计算。实际上板需要结合实际更新阈值等数据。代码参考教材:基于xilinx FPGA的OFDM通信系统基带设计。
2025-01-13 16:12:13
1049
原创 OFDM接收机学习-第一章 分组检测模块FPGA的实现
ofdm发射机信号最终是发出来了2路8位的时域信号,分别是8位实部和虚部。最终的话通过板子验证发射机与接收机之间的正确通信,因此涉及到不同时钟域作用下的信号首先就要考虑信号的同步问题。如何在有噪声的情况下基本正确找到帧头也就是前导码,正确找到前导码也就意味着正确找到了数据域,才能完成两个时钟域之间的正常通信。理解教材公式,做好数据控制,验证数据计算。实际上板需要结合实际更新阈值等数据。
2025-01-11 15:30:49
1219
原创 基于FPGA的洗衣机控制器电子定时器
(2)用两个数码管显示洗涤的预置时间(默认10分钟),再用两个数码管按倒计时方式对各个洗涤状态过程作计时显示,直到 时间到停机;(3)洗涤过程由“开始”信号开始;(1)定时启动正转20秒暂停10秒反转20秒暂 停10秒,定时未到回到“正转20秒暂停10秒……若定时到,则停机发出音响信号;其中围绕工作状态展开进行二次状态设计,正转、反转以及暂停等等。(4)三只LED灯表示“正转”,“反转”、“暂停”三个状态。首先控制空闲状态、工作状态以及结束状态。(5)用动态扫描控制四个数码管的输出。
2025-01-04 20:48:10
872
原创 OFDM学习-(二)长短序列和PPDU整体数据处理流程
根据框图可以知道发射机这部分信号在DA转换之前,数据是两路,分别是实部和虚部8位信号。通过DA转换也是两路模拟信号,通过IQ调制搞到射频。PPDU包括3部分数据,长短序列是不需要进行ofdm操作的,signal和data的信号需要进行ofdm操作,也就是下面图中扰码、卷积编码、交织等等的操作,最后通过ifft和cp加窗后进行输出,最后将实部信号与虚部信号与训练序列的实部和虚部按照位置分别发送。训练序列的产生要明白:频域上用了12个子载波,间隔为4,BPSK符号格式,功率因数1.4几来着?。
2025-01-03 22:35:45
1181
原创 基于FPGA的辩论赛系统设计-8名选手-正反两方-支持单选手评分-正反两方评分总和
基于FPGA的辩论赛计分器,(1);答辩倒计时功能,当正反任意一方开始答辩后,倒计时30S。在倒计时最后10S后,LED灯开始闪烁,用来提醒辩论人时间快结束了。(2);答辩评分和计分功能,当答辩方结束答辩后,评委可以通过按键进行评分,基础分数为10分(满分),可以通过按键减少分数,最后通过确认按键确定评分。同时正方和反方的评分总数可以通过按键进行显示,达到一个计分的功能。
2024-12-31 15:16:24
486
原创 基于FPGA 的4位密码锁 矩阵键盘 数码管显示 报警仿真
正确 错误输出对应的led信号 连续错误3次输出led锁定信号。1、通过键盘模拟4位密码输入 矩阵键盘。3、密码可通过管理员按键进行修改。
2024-12-22 10:30:59
547
5
原创 OFDM学习(一)解析OFDM无线通信数据协议
思来想去,焦虑如同有丝分裂一般占据我内心的最高点,打破原本的电解质平衡,整个心理防线破烂不堪,导致焦虑所到之处如同废墟一般。为何焦虑?不仅仅是基础不牢的知识储备,还有课题内容的停滞不前,还有父亲康复的煎熬陪护,还有看不到自己得未来,还有担心不能给予所爱之人稳定且安逸的生活。《研究生FPGA只会写SPI、串口和IIC,感觉毕业之后会找不到工作,请问下一步应该学什么?,看到之后感慨万分,仿佛看到了自己的身影。
2024-12-12 15:22:57
1095
原创 基于FPGA的PI环调节电压
默认DA输出初始电压-AD获取DA输入电压-FPGA负责根据目标值进行调节-最终DA输出电压稳定在目标电压附近-改变目标值DA输出随之改变。AD7606数字量范围与AD9767不同,注意数字量之间要基于基础电压单位进行切换,避免仿真跑飞。error = meas(AD)- target(我都会设置为1.0V)%通过pi环计算ref值,系数定为:Kp=0.5 Ki=0.05。%然后计算需要送出去的值要增加减少多少。%计算target和meas的误差。AD7606-AD采样模块。%然后计算出要送出去的值。
2024-12-09 18:13:48
513
原创 基于FPGA的智能电子密码指纹锁(6位密码) 全套Verilog代码 可上板
其实就是围绕UART和状态机展开的逻辑编写,部分常见代码直接参考了正点原子、野火、等等案例,部分简单功能使用了chatgpt进行描述生成。实现难度并不大,就是涉及的模块较多,不过好好利用仿真结果能够差不多。代码有很多不足之处,有问题欢迎批评指正。
2024-12-07 20:36:10
1297
2
原创 CPLD入门-Quartus-图形化编程-LED骑士之光效果
在这个里程碑中,您将使用 CPLD 和6个 LED 构建骑士之光效果。系统概览如图 2.1 所示。开始使用 EPM240 CPLD.创建中等复杂度的可重用模块。熟悉多种设计输入方法,
2024-11-24 16:42:18
310
原创 FPGA学习-FFT变换-解决频率低信号进行FFT运算的取点问题
首次接触FFT变换是在OFDM中,QAM后的实部信号与虚部信号需要进行FFT转化,将频域信号转化为时域信号,最终通过DA接口转化为模拟信号。当时对于FFT的理解比较浅,对离散傅里叶的变化了解也少之又少。通过结合MTALAB进行了FFT变化操作,了解了直流分量以及FFT的基本计算。后期在vivado中调用fft的ip核遇到了很多问题。踩过的坑一一写在下面,希望能给路过的各位提供一点点价值:1.fft ip核的配置,端口含义config相关数据的配置、ifft、fft对应0和1。
2024-11-24 16:39:17
696
原创 基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功
设计实现连续相位 2FSK 调制器,2FSK 的两个频率为:fI=15KHz,f2=3KHz,波特率为 1500 bps,比特0映射为f 载波,比特1映射为 载波。1)接收到被发送的数据帧后,按下面格式生成突发帧:帧头(1111111101111110,16比特)+数据帧长度字节(高位在前)+数据帧(来自UART接口的数据字节,每个字节高位在前)+XOR校验字节(长度字节、数据的XOR结果)+结尾8比特(0000000)2)通过 DAC 模块输出已调信号波形。
2024-11-22 18:33:27
1466
原创 基于FPGA的FM调制(载波频率、频偏、峰值、DAC输出)-带仿真文件-上板验证正确
FM、AM等调制是学习FPGA信号处理一个比较好的小项目,通过学习FM调制过程熟悉信号处理的一个简单流程,进而熟悉信号变换的一些基本方法。能够学习真好,需要学习的太多了,时不时的记录一下,好记性不如烂笔头。
2024-11-22 18:33:06
2778
2
原创 FPGA学习-RGB LCD显示正弦波
板子:正点原子达芬奇的FPGA开发板,后续FPGA学习硬件都是基于该开发板,软件环境基于vavido和modelsim完成显示屏算是一个比较常见的功能模块,最开始接触是一种长方形的模块,比较low像外面超市那种循环播放的红色字幕的屏幕。后来在接触就是oled屏幕,当时32学习这个屏幕也是主要围绕通信协议以及封装函数,显示都是直接调用封装好的函数,本身没有涉及太多的逻辑。今天来看看这个板卡配套的大屏幕的工作流程吧,了解屏幕的基本参数,通信原理以及图形显示等等。
2024-11-04 17:04:17
891
原创 OFDM学习-IP核学习-FIFO IP核和FFT IP核在vavido中的配置以及使用
记录一下OFDM学习中遇到的ip核使用方法,个人之前主要用Quatus,之前用ip核也比较少,记录一下配置过程吧以及一些参数的含义,避免我忘记,个人自用,有问题欢迎指出。记录一下东西能够让人心静下来,正处于秋招这个烦躁的时间点,希望一切能够有个好的结局吧。
2024-10-12 16:52:06
963
原创 OFDM学习-通过共轭配对实现IFFT输出虚部为零-输出实部信号-避免后续DA转化后进行的操作
正常来讲,OFDM发射机中,经过IFFT输出的两路信号分别是实部信号和虚部信号,完成基本的信号处理后需要进行DA转换,分别对cos和相差90度相位的cos相乘后进行信号叠加,进而完成信号发射的基本形式。本文是通过处理IFFT的输入,利用共轭的基本性质,最后使得IFFT的虚部信号输出基本为0,实际仿真得出虚部信号在(FE~01)之间,基本满足。提示:以下是本篇文章正文内容,下面案例可供参考共轭这个处理手段能够减少后面的一定操作,如果需要,可以简化整体的一个流程。
2024-10-12 10:22:16
585
原创 32位/16位/4位超前进位加法器 Verilog
首先,搭建1位的全加法器模块,实现1位数据的相加。一位的全加法器相对简单,针对输入信号数据1、数据2以及进位信号输出两个信号,分别是相加之后的结果和进位信号。其中相加的结果直接使用异或门进行计算,避免使用组合逻辑,避免产生系统延迟,计算进位信号使用与门和或门搭配进行实现,当输入信号任意两个或者三个为高电平时,则说明需要进行进位。基于Verilog语言设计一个32位加法器,普通加法器基本上都是串行逻辑,但是随着数据位的增加,串行执行所需要的周期就越长,因此对整个系统造成的相位落后就越大。
2024-07-16 09:13:07
685
原创 基于FPGA的四层电梯 层数可改 Verilog 通过仿真带tb文件
在电梯控制系统设计仿真练习中,学生将能够通过实际的项目实践,深入理解和掌握Verilog语言的应用、FPGA的设计方法以及仿真工具的使用。这种练习不仅培养了学生的工程设计能力,还能够帮助他们理解和分析实际硬件设计与仿真结果之间的关系,从而为未来的工程项目打下坚实的基础。电梯控制器设计任务:设计一个四层楼房自动电梯控制器,用四个 LED显示电梯行进过程,并有数码管显示电梯当前所在楼层位置,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层的LED亮。用CLK脉冲控制电梯运动,每来一个CLK脉冲电梯升(降
2024-07-13 10:05:51
916
原创 GD32系列海棠派学习日志4_ESP8266模块调试
按照这个顺序进行发送,其中注意手机打开TCP创建服务器,手机与ESP8266模块要连接到一个热点上。WIFI模块是我离你越近,你感觉到我对你的喜欢就越强烈~ESP8266接受数据不需要配置。2024.5.30(一天)设置模式 选择模式3。
2024-06-24 11:30:03
277
原创 Quatus软件Verilog调用同步FIFO ip核步骤
FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。与 ROM 或 RAM 的按地址读写方式不同,FIFO 的读写遵循“先进先出”的原则,即数据按顺序写入 FIFO,先被写入的数据同样在读取的时候先被读出,所以 FIFO存储器没有地址线。FIFO有一个写端口和一个读端口外部无需使用者控制地址,使用方便。FIFO就是如果两个人同频,那么你们永远都不会走散,我的爱意先进先出,但是存满就会表达爱意哦~
2024-06-01 16:52:44
655
原创 Quatus软件Verilog调用PLL ip核步骤
PLL(Phase Locked Loop,即锁相环)是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经过 PLL 后的时钟在抖动(Jitter)方面的性能更好一些。Altera中的PLL是模拟锁相环,和数字锁相环不同的是模拟锁相环的优点是输出的稳定度高、相位连续可调、延时连续可调;缺点是当温度过高或者电磁辐射过强时会失锁(普通环境下不考虑该问题)
2024-06-01 15:32:27
1779
原创 GD32系列海棠派学习日志3_FLASH读写实验WQ25XX
FMC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32H7XX系列MCU中,具有高达3840KB字节的片上闪存可用于存储指令或数据。全都封装好了 还是比较方便的,但是我就疑问一个东西,就是为什么这个SPI接口定义完了,没有执行bsp_spi_init这个函数对这个接口进行初始化?但是我感觉他这个不就是开发板上的flash芯片,看原理图应该是WQ25XX系列的,GD自己也做FLASH芯片,正好前段时间调了这个芯片。2024.5.29(1小时)读写函数,参数是地址。
2024-05-30 08:10:47
409
原创 GD32系列海棠派学习日志1_按键使用调试(普通和中断)
key_scan()扫描函数主要是监测按键状态,当有按键按下后,all_key_up标志置高,然后返回按键状态,其中通过结构体将按键的按下时间进行了赋值,主程序可以通过判断对按键状态进行具体的控制。按键基础监测时间10 按键回调函数10ms这个 按下自动调用key_scan(10)主程序通过判断按键持续时间进行相应的操作。按键状态监测,根据按键状态进行控制;按键按下了,人生的命运齿轮开始转动?2024.5.29(1小时)GPIO输入功能原理;按键查询输入检测原理;
2024-05-30 08:09:35
454
原创 GD32系列海棠派学习日志1_点亮LED灯
函数参数结构体定义如图所示,主要是名称、引脚、引脚模式、还有callback函数等等。led.h文件里面介绍了相关操作函数,分别是初始化,点亮,熄灭和翻转函数。主程序通过翻转函数以及LCD屏幕进行显示。开发板上有4个LED灯,接口如图所示。2024.5.29 1小时。灯亮了,我的世界也亮了。
2024-05-29 16:33:19
476
原创 GD32系列海棠派学习日志0_板卡资源介绍熟悉
GD32H757开发板外形尺寸100mm*60mm,板内集成了SDRAM/SD卡槽/TFT LCD接口/RGB565接口/OLED接口/摄像头接口/NOR FLASH/ SWD+USART接口/USB接口,板载资源丰富、采用144引脚的GD32 H757ZMT6作为主控芯片,芯片自带3840K字节FLASH和1024k字节SRAM,并外扩32M字节SDRAM和16M字节NOR FIASH,板子提供多种标准接口方便实验和产品开发。主频:最高600Mhz 144pins。
2024-05-29 16:06:57
530
原创 FPGA通过SPI读取WQ25128 FLASH芯片内容 Verilog语言
按照数据手册一步一步去实现,应该问题不大,写数据的话用到的命令稍微多一点,需要确定相关的状态,还需要擦除一定扇区。如果需要完整代码工程的话可能后台私信我,一键三连哦~
2024-05-24 10:05:37
719
1
原创 Quatus软件Verilog调用FIFO ip核步骤
现有市场中又很有封装好的ip核,学会怎么调用ip核能够减小自身代码量,我觉得就类似学会32里面怎么调用库函数,基本一个道理吧。不过这个ip核还需要配置一下。本文以FIFO IP核为例进行操作,如有错误,希望评论指出~
2024-05-08 15:56:10
389
1
转载 STM32---存储器
RAM是“Random Access Memory"的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。这个词的由来是因为早期计算机曾使用磁鼓作为存储器,磁鼓是顺序读写设备,而RAM可随读取其内部任意地址的数据,时间都是相同的,因此得名。实际上现在RAM已经专门用于指代作为计算机内存的易失性半导体存储器。根据RAM的存储机制,又分为动态随机存储器DRAM(Dynamic RAM)以及静态随机存储器SRAM(Static RAM)两种。
2024-03-29 11:38:53
413
1
原创 FPGA Verilog 单芯片控制双AD7606芯片
控制双ad7606的目的是因为所需要的通道数12,单个ad7606只有8个通道,因此需要控制2个ad7606满足12个通道的采样需求。
2024-01-12 16:30:44
2000
3
原创 FPGA Verilog 曼彻斯特编码译码 同步 DPLL(二)
前面进行了曼彻斯特编码的讲解,只要注意数据来源频率与编码时钟频率之间的关系就能够精准进行编码工作。同样这两个问题也是保证译码工作的关键!实际上板之后仿真通过,通过示波器观察信号波形能够获取正确的信号波形。
2024-01-10 18:32:15
1189
3
原创 IT行业的护城河
只有具备了深厚的技术功底,程序员才能够在复杂的系统环境中游刃有余,从容地应对各种挑战,确保系统的稳定性和安全性。总的来说,程序员的护城河是一个综合性的概念,涵盖了技术能力的深度、对创新的追求以及沟通协作等软实力。只有综合考量这些方面,程序员才能够在数字世界中真正成为护城河,捍卫着系统的安全和稳定,为构筑美好的数字未来贡献自己的力量。良好的沟通能力和团队协作精神是非常重要的,它可以帮助程序员更好地与团队成员、业务部门以及用户进行有效的沟通和协作,共同推动项目的顺利进行并取得成功。
2023-11-20 11:47:30
88
1
原创 FPGA Verilog 实现串口发送任意字节数据(8的倍数)已通过上板验证支持常用波特率
/ ** 功能 : 1、基于FPGA的串口多字节发送模块;// 2、可设置一次发送的字节数、波特率BPS、主时钟CLK_FRE;// 3、UART协议设置为起始位1bit,数据位8bit,停止位1bit,无奇偶校验(不可在端口更改,只能更改发送驱动源码);// 4、每发送1次多字节后拉高指示信号一个周期,指示一次多字节发送结束;// 5、数据发送顺序,先发送低字节、再发送高字节。如:发送16’h12_34,先发送单字节8’h34,再发送单字节8’h12。
2023-11-19 12:15:38
1213
4
原创 Verilog 实现CRC_16(DNP)协议校验码已通过仿真
CRC校验(循环冗余校验)小知识CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。NAME:参数模型名称。WIDTH:宽度,即CRC比特数。POLY:生成项的简写,以16进制表示。
2023-11-19 11:51:55
898
7
原创 Verilog小案例-任意位宽并行数据转串行数据
本文以16位并行数据输入为例,将该数据转化为串行数据进行输出,上板验证正确,不存在错误。同时可以进行修改,可以自行结合修改输入位宽,同步修改cnt以及边界值即可!
2023-11-15 16:16:04
391
原创 FPGA Verilog 曼彻斯特编码译码 同步 DPLL(一)
本章给出了曼彻斯特编码的Verilog代码以及上板验证过程,验证成功,没有出现差错。讲解了定义、编码规则、实验代码、注意事项等等。
2023-11-15 15:47:55
1667
该系统整体包含四个功能:如图2.1数字时钟自定义显示、数字时钟校时、闹钟设置、倒计时设置,根据4个开关的0和1状态,实现功能间的切换
2024-12-31
OFDM无线通信研究,包括发射机与接收机仿真,通过该案例能够学习通信数据所需要进行的数据处理操作,进而为实现FPGAofdm通信打好基础 MTALAB仿真文件
2024-12-31
新年烟花LED效果,10分频,10khz变1khz,Multisim仿真
2024-12-24
基于FPGA 的4位密码锁矩阵键盘 数码管显示 报警仿真
2024-12-22
FPGA-EPM240-Quartus-LED-图形化编程
2024-11-22
基于Verilog语言设计一个32位超前进位并行加法器 带tb文件 通过仿真 位数可以变8/4/12/24位
2024-07-13
基于fpga 的四层电梯,仿真通过 带tb文件
2024-07-13
基于fpga的9层电梯,层数可以改,任意层数均可实现,先看tb文件 理解怎么个工作流程
2024-07-13
FPGA Verilog DDS 雏形,本资源只是为了调用一下rom ip核 具体使用流程看说明
2024-06-02
FPGA Verilog 计算信号频率,基础时钟100Mhz,通过锁相环ip核生成200Mhz检测时钟,误差在10ns
2024-06-02
FPGA Verilog PLL锁相环 FIFO同步 ip核调用 仿真工程
2024-06-01
Verilog 实现CRC-16(DNP)协议校验码已通过仿真
2023-11-19
FPGA Verilog 实现串口发送任意字节数据(8的倍数)已通过上板验证支持常用波特率
2023-11-19
FFT FPGA点数问题
2024-10-28
OFDM输出信号怎么合并为1路
2024-08-30
FPGA方向准备找工作,有没有什么笔试刷题的小程序或者网站呢
2024-06-01
Verilog FPAG 逻辑语法问题
2024-05-24
AD 不规则板子拼板的板子形状?
2024-05-18
c语言如何保存函数返回的数组?
2024-05-12
FPGA Verilog 如何实现乘小数
2024-01-28
fpga 怎么实现简易输出随着输入进行变化
2023-11-15
DPLL数字锁相环FPGA
2023-09-05
FPGA DPLL 位同步
2023-07-25
Verilog 开发语言进 求解决
2023-07-11
Verilog 曼彻斯特译码 如何实现同步?
2023-07-03
蓝桥杯嵌入式中关于LCD 控制的一些问题
2021-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人