
FPGA的学习之旅
文章平均质量分 91
博主学习AlteraFPGA和XilinxFPGA的一些笔记,有错误还望指出。
大屁桃
加油啊
展开
-
【ZYNQ入门】第十篇、基于FPGA的图像白平衡算法实现
step1、分别对图像的R、G、B三通道的数据进行求和得到Rsum、Gsum、Bsum;step2、获取图像的R、G、B三通道的平均值Rv,Gv,Bv;imag_width:当前图像的宽,imag_high:当前图像的高度。step3、将求得的Rv、Gv、Bv 进行加和取平均值,得到step4、分别将R、G、B三通道的数据带入公式进行计算,得到新的值G通道:B通道:step5、最后将计算后的图片显示出来,便是白平衡后的图像。原创 2024-01-23 08:33:19 · 3820 阅读 · 2 评论 -
【ZYNQ入门】第九篇、双帧缓存的原理
这篇博客是我在调试摄像头显示的时候,记录的笔记。关于双帧缓存的实现还是比较简单的,所以文章比较简短。【ZYNQ入门】第五篇、AXI HP口读写数据原理-CSDN博客。我学习的途径是:《V3学院的视频课程我个人觉得如果大家是那种坐得住,爱调试,心态比较好的,其实你会发现搞FPGA还真的挺有意思的。原创 2024-01-23 08:29:43 · 1746 阅读 · 0 评论 -
【ZYNQ入门】第八篇、基于Lwip构建TCP服务器
Light weight IP,意思是轻量化的TCP/IP协议栈,是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。用少量的资源消耗实现一个较为完整的TCP/IP协议栈其中“完整”主要指的是TCP协议的完整性,实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用。此外LwIP既可以移植到操作系统上运行,也可以在无操作系统的情况下独立运行支持的协议较为完整。几乎支持TCP/IP中所有常见的协议,这在嵌入式设备中早已够用。原创 2024-01-22 10:00:15 · 4903 阅读 · 0 评论 -
【ZYNQ入门】第七篇、AXI Lite协议使用方法
这部分内容比较简单,相较于AXI HP口的使用,AXI GP口的使用就简单很多。这里做下记录,防止后面使用的时候忘记了流程。最后也希望我的笔记能够给你提供思路,当然个人的笔记难免会存在一些错误,若读者发现了,还忘指出。😇😇😇。原创 2024-01-22 09:51:19 · 1993 阅读 · 0 评论 -
【ZYNQ入门】第六篇、ZYNQ驱动SD卡读取TXT文本和BMP图片
ZYNQ驱动SD卡读取TXT文本和BMP图片的原理原创 2024-01-05 10:15:13 · 2967 阅读 · 0 评论 -
【ZYNQ入门】第五篇、AXI HP口读写数据原理
AXI HP口读写数据原理原创 2024-01-05 10:14:25 · 5635 阅读 · 0 评论 -
【ZYNQ入门】第四篇、HDMI发送端的构成原理
HDMI发送端的构成原理原创 2024-01-04 09:58:30 · 1786 阅读 · 2 评论 -
【ZYNQ实验】第一篇、ZYNQ驱动HDMI显示图片
ZYNQ驱动HDMI显示图片的小实验原创 2024-01-04 09:57:47 · 4315 阅读 · 57 评论 -
【ZYNQ入门】第三篇、双核AMP运行模式程序开发
介绍了ZYNQAMP模式的搭建方法以及生成BOOT.bin文件的办法原创 2024-01-03 12:44:04 · 4734 阅读 · 2 评论 -
【ZYNQ入门】第二篇、ZYNQ的中断系统及常用中断初始化程序
ZYNQ中断配置的相关知识原创 2024-01-03 10:48:45 · 6689 阅读 · 1 评论 -
【ZYNQ入门】第一篇、Vivado软件与外部代码编辑软件的联用办法
Vivado软件与Notepad++、VScode软件的联用办法原创 2023-09-04 14:56:13 · 3963 阅读 · 0 评论 -
【FPGA入门】第八篇、FPGA驱动VGA实现动态图像移动
FPGA控制VGA实现图像移动原创 2023-06-25 18:48:55 · 4094 阅读 · 19 评论 -
【FPGA入门】第七篇、FPGA实现VGA接口驱动
如何实现FPGA驱动VGA接口原创 2023-06-21 09:00:46 · 3286 阅读 · 4 评论 -
【FPGA入门】第六篇、异步串口通信
/ CSDN : 大屁桃// //9600波特率参量//波特率9600,接收间隔最大计数MAXEND = 50M/9600 = 5208.33 - 1 = 5207//5208/2 - 1 = 2603,要在2603这里点看到波形//5207需要13位来保存,[12:0]//115200波特率参量//波特率115200,接收间隔最大计数MAXEND = 50M/115200 = 434.02 - 1 = 433//5207需要9位来保存,[8:0]//变量reg rx1;原创 2023-06-20 16:00:35 · 3421 阅读 · 2 评论 -
【FPGA入门】第五篇、按键消抖
博主学习FPGA的笔记原创 2023-06-20 11:56:57 · 5308 阅读 · 3 评论 -
【FPGA入门】第四篇、有限状态机
本篇博客是我学习有限状态机做的总结笔记原创 2023-06-19 12:43:46 · 1947 阅读 · 0 评论 -
【FPGA入门】第三篇、modelsim软件的仿真与应用
关于modelsim软件的使用笔记原创 2023-06-17 10:36:22 · 10140 阅读 · 0 评论 -
【FPGA入门】第二篇、ISE软件的使用
本篇博客介绍了ISE开发软件的相关使用,包括了新建工程,下载程序等原创 2023-06-17 09:28:41 · 9210 阅读 · 4 评论 -
【FPGA入门】第一篇、Verilog基本语法常识
本篇博客为作者的关于verilog学习的一些笔记,希望对你有帮助原创 2023-06-16 13:25:44 · 9804 阅读 · 2 评论 -
【NiosII训练】第一篇、FPGA驱动AD9854基础篇
目录第一部分、前言1、效果图2、选题原因3、闲话第二部分、AD9854的储备知识1、AD9854用来干嘛的2、AD9854的详细介绍3、AD9854注意事项第三部分、我的题目要求1、题目文字描述2、图片3、思路第四部分、我的工程代码1、软核的搭建2、顶层文件的代码3、Ecplise代码第五部分、总结1、实现功能阐述2、结果演示3、接线图4、完整工程第一部分、前言1、效果图先来展示一波,是不是你想要的效果...原创 2020-12-16 09:03:12 · 3868 阅读 · 16 评论 -
【NiosII训练】第五篇、FPGA驱动DHT11
目录第一部分、前言1、闲话第二部分、题目要求1、图片2、文字描述3、dht11知识第三部分、工程代码1、软核的搭建2、顶层文件的代码3、Ecplise代码第四部分、总结1、效果演示2、感想3、完整工程第一部分、前言1、闲话还是一样,这个设计也是我们《SOPC技术及应用》课程结束的期末作业。我自己的是老师题库里的第题、驱动AD9854这个模块,题目要求在第一篇已经说到了,想回去看的铁子们可以回去看。这一题是我室友的,报酬是给我买一杯...原创 2020-12-16 09:00:02 · 1475 阅读 · 2 评论 -
【NiosII训练】第四篇、FPGA驱动DS18B20
第一部分、前言1、闲话还是一样,这个设计也是我们《SOPC技术及应用》课程结束的期末作业。我自己的是老师题库里的第五题、驱动AD9854这个模块《【NiosII训练】第一篇、FPGA驱动AD9854基础篇:https://blog.csdn.net/Learning1232/article/details/111193587》,想回去看的铁子们可以回去看。这一题是我们班同学的,报酬是给我买零食,然后,我就答应了。。。。题目要求如下:第二部分、题目要求1、图片2、文字使用FP.原创 2020-12-16 08:57:58 · 1296 阅读 · 3 评论 -
【NiosII训练】第三篇、定时闹钟的设计
目录第一部分、前言1、闲话第二部分、题目要求1、图片2、文字描述第三部分、工程代码1、软核的搭建2、顶层文件的代码3、Ecplise代码第四部分、总结1、实现的功能阐述2、结果演示3、完整工程第一部分、前言1、闲话这个设计也是我们《SOPC技术及应用》课程结束的期末作业,也相当于期末考试。我自己的是老师题库里的第五题、驱动AD9854这个模块,题目要求在《【NiosII训练】第一篇、FPGA驱动AD9854基础篇:https://blog.c.原创 2020-12-16 08:56:33 · 1966 阅读 · 13 评论 -
【NiosII训练】第二篇、FPGA驱动AD9854高级篇
第一部分、前言1、闲话第一篇是我题目的基本要求,实现起来太容易了。为了让我的作品变得更加完美,我又在题目的基本要求下优化了一下自己的作品,首先直接看效果图吧。2、效果图3、增加的功能我不知你看了效果有没有那么一点点惊讶,如果你看我的《第一篇、FPGA驱动AD9854基础篇》这一篇文章,你肯定知道我优化了哪些部分。首先是我把2.8寸的LCD9341换成了4.3寸的大LCD;其次我在大屏上面显示了AD9854产生的正弦波波形;最后还显示的当前波形的频率,最大幅值...原创 2020-12-15 18:33:15 · 1595 阅读 · 7 评论 -
【NiosII学习】第八篇、在NiosII上面运行uCOSII操作系统
第一部分、uCOSII操作系统简介1、什么是uCOSII?uC/OS II( Micro Control Operation System Two)是的一个多任务实时操作系统。实时操作系统就是:如果操作系统能使计算机系统及时响应外部事件的请求,并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种操作系统就是一个实时操作系统,也就是我们通常说所说的 RTOS( Real Time Operation System)。实时系统有两个基本要求:第一,实时系统原创 2020-12-15 18:32:11 · 1950 阅读 · 6 评论 -
【NiosII学习】第七篇、自定义PWM的IP核
第一部分、关于PWM的IP核的储备知识1、什么是IP核IP核(Intellectual Property core),就是知识产权核或知识产权模块的意思。同时IP又分为软IP、固IP和硬IP。我们这里面主要做的软IP,软IP是用Verilog/VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。2、为什么要自己写IP核我猜铁子们的Quartus II都是破解版,破解版它已经破解了很多Altera的IP核(这就是为什么正版软件这么贵),但是这些IP核有时候不能满足我原创 2020-12-15 18:25:36 · 2580 阅读 · 6 评论 -
【NiosII学习】第六篇、从零搭建属于自己的SOPC系统
第一部分、搭建自己的系统时的储备知识1、单片机芯片的组成我相信开始学FPGA的SOPC技术,我敢赌100块,你以前一定玩过单片机(例如:51、430、32等),既然你有了这些基础那我就好解释了,SOPC技术就是你自己搭建单片机的主控芯片。而我们接触的这些单片机,它的主控芯片又是由:CPU、RAM(运行内存)、ROM(空间内存)、I/O(端口)、UART(串口)、Timer(定时器)、Interrupt(中断)所构成。其中CPU、RAM、ROM这三个最必须也是最重要。其它可以理解成片上外设。...原创 2020-12-15 18:22:18 · 2179 阅读 · 0 评论 -
【NiosII学习】第五篇、TIMER定时器中断
第一部分、关于Timer定时器的储备知识1、内部寄存器的个数2、你要会的寄存器的使用方法(1)status寄存器//清除Timer中断标志寄存器 IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);(2)control寄存器让control寄存器低四位为:0x0007(低四位0111),0——计数器开始(STOP = 0)计数器停止(STOP = 1);1——计数器开始运行(START = 1);1——设置为连续计数模式(CONT .原创 2020-12-15 18:19:02 · 4177 阅读 · 0 评论 -
【NiosII学习】第四篇、USART串口收发
第一部分、新建Quartus II工程1、注意如果你和我FPGA型号不一样,那就复制你的SOPC工程文件到文件夹中,和前面一样,因为其他的步骤大致都和我的一样,没有区别。第一步、复制小梅哥的LCD9341的初始工程,到自己建立的文件夹中第二部分、修改别人软核1、添加UART核的详细步骤第一步、打开qsys文件第二步、添加一个UART(RS-232 Serial Port)IP核,里面的参数默认就可以第三步、对添加的核进行连线,分配地址,导出端口...原创 2020-12-15 18:14:44 · 3695 阅读 · 6 评论 -
【NiosII学习】第三篇、按键中断
第一部分、按键的储备知识1、读写数据寄存器IORD_ALTERA_AVALON_PIO_DATA(base);//base:是你设置引脚对应的地址,在sysm.h文件中找。 IOWR_ALTERA_AVALON_PIO_DATA(base, data);//base:是你设置引脚对应的地址,在sysm.h文件中找。data:是你想要写入的数据。用法:例如在按键中:K = IORD_ALTERA_AVALON_PIO_DATA(base); K = 0则证明按键被按下,K = 1 证原创 2020-12-15 17:08:49 · 4949 阅读 · 6 评论 -
【NiosII学习】第二篇、控制LED闪烁
第一部分、LED闪烁的储备知识1、任务阐述基于商家送的资料里面自带的NiosII例程修改,通过添加一个PIO的IP核实现FPGA上LED的闪烁。(绕口不,怪我语文没学好,只能描述成这个水平了,你可以留言说个通顺的,我到时候在Copy上来)。如果你的FPGA型号不一样,你就用你自己的。2、读写数据寄存器函数的用法IORD_ALTERA_AVALON_PIO_DATA(base); //base:是你设置引脚对应的地址 IOWR_ALTERA_AVALON_PIO_DATA(base, d原创 2020-12-15 17:06:21 · 1801 阅读 · 0 评论 -
【NiosII学习】第一篇、如何烧录NiosII工程
第一部分、FPGA型号不一样我猜有很多人的FPGA型号和我都不一样(我的是小梅哥家的AC620)你的不一样也没有关系,不要慌,也别急着退出去。我第一个教程只是为了让你学会如何烧录NiosII工程到你的FPGA开发板中去。你可以打开你那个FPGA资料中的NiosII的相关项目,然后直接从我的第四部分开始看,照着我的的步骤模仿操作,然后进行烧录,看现象就可以了。相信我也相信你自己,克服这“亿”点点困难,还是很简单。第二部分、复制别人的NiosII工程1、详细步骤第一步、建一个空文件夹,原创 2020-12-15 17:05:19 · 4349 阅读 · 12 评论