ZYNQ/FPGA实战合集
文章平均质量分 91
ZYNQ和FPGA学习过程中的心得体会,以及实战演练
技术小董
目前就读于华南地区某211,电子信息本科,光学工程硕,课题方向显微镜生物医疗器械图像处理领域。
研究生参加FPGA创新设计大赛-AMD综合赛道获全国一等奖(方向为显微镜高速聚焦成像系统)
本科参加全国电子设计大赛-电源方向获全国一等奖(方向为开关电源+FPGA高速脉冲驱动)
擅长基于Zynq-7000,Zynq UltraScale+ MPSoC FPGA(4EV)关于图像方向开发,也在学习中
深知FPGA入门学习艰辛性,一个人摸怕滚打也很难,个人打算花心思在图像处理入门上能基于大家一些帮助
不爱伸手就来,文章以解惑为主,付不付费看心情而定,不提倡为爱发电,希望对你有价值
展开
-
010-新手如何建立一个属于自己的图像处理FPGA/ZYNQ框架(自己的用着才舒服,内容非常全面!)
架构的建立一直是一个重中之重的问题。在初期学习FPGA或者ZYNQ的过程,我们大多数人都是通过网上开发板厂商的例程走,有些厂商的代码书写风范不错,但是整体架构过于冗余,有的厂商代码冗余,却整体架构不错。不是点名某个具体的厂商,而是真的有此类情况出现,许多新入门的小伙伴学着学着就弄糊涂了,到最后买了一块板子回来学习,由于架构太过于复杂或者是代码风格太冗余,到后面只会看代码,自己真正去做却无从下手,特别是在bd里面密密麻麻的ip核,无比复杂的连线,有时候搞得头都晕了,对于初学者无比的不友好。原创 2024-01-19 14:37:05 · 1572 阅读 · 2 评论 -
009-Zynq基操之如何去玩转PL向PS的中断(对新手友好,走过路过千万不要错过)
本设计跟我的ZYNQ实战合集专栏中的脉冲触发电路有关系,也正好趁这个机会讲述一下PL-PS的中断系统,如何去触发中断,使其能够做一些响应工作。本文所提及的中断只涉及到PL向PS触发的中断,并不涉及到PS端双核的中断,做这个主要目的也就是为了让大家更加熟悉这个中断系统,并且能够用到自己的实际工程项目之中去。原创 2024-01-13 10:58:46 · 2359 阅读 · 1 评论 -
008-关于FPGA/ZYNQ直接处理图像传感器数据输出的若干笔记(裸板采集思路)
最近也是未来需要考虑做的一件事情是,如何通过FPGA/ZYNQ去做显微镜图像观测下的图像采集传输与后续的处理。目前显微镜观测领域通常是以PC端连接工业相机接口,这个接口可以是USB3.0,可以是网口,也可以是其它传输方式。常常通过工业相机输出的为视频流数据,厂商会提供对应的协议,只需要用他们的软件去进行控制即可,但这种方式,明显不自由,也会受一些限制。如果能够做一款自己的工业相机出来,是不是会把这种限制给解决。当然,这个要解决的问题需要很多,我最近也在研究和调研这个方向的知识。原创 2024-01-11 16:03:38 · 2093 阅读 · 2 评论 -
007-可调脉冲数触发之FPGA实现(Zynq也可驱动,带启动停止及完成中断输出)
此代码是在做显微镜高速聚焦系统中自己写的步进电机电机驱动源码,为了达到最快的驱动速度,因此选用脉冲触发方式进行驱动。在电机驱动的过程中往往需要对脉冲进行使能,启动,配置好输出N个脉冲,设置电机转动的方向,发送脉冲的过程中发送急停信号,停止当前的脉冲输出以及脉冲输出完后反馈回来中断触发信号。经过实测代码能够满足步进电机的驱动需求,且能够在驱动完毕后反馈中断信号提示脉冲信号已经输出完毕。原创 2024-01-10 12:00:00 · 1353 阅读 · 0 评论 -
006-Zynq图像传输中cache刷新对视频的影响(讲究一个恰到好处)
也是移植过程中遇到的一个问题,尝试了一些解决方案,也算是解决了这个问题。这个问题出现在通过以太网传输分辨率为1280*720,帧率为30Fps的图像过程中。在初始化的时候,初始了Xil_DCacheDisable(void)这个函数,相当于直接用CPU去读数据不经过Cache,直接访问PS端的DDR3,初始化了以后在图像传输的过程中会出现帧率突然下降到原先一半的问题,然后又恢复正常。大概猜到了问题应该是在CPU直接读取DDR,速率受到限制导致的。原创 2024-01-09 08:00:00 · 1479 阅读 · 0 评论 -
005-Zynq基操之如何去玩EMIO接口(走过路过千万不要错过)
今天分享这个主要原因是,把最基础的EMIO接口弄清楚咋操作的,咱们就可以做一些由PS端控制PL端的器件小功能,最常见的就是我们驱动某些图像传感器时,需要配置一些信号啥的,包括复位信号,休眠信号这些(对,我说的就是你,ov5640的rst和pwdn信号),学会了最基础的操作,用你聪明的小脑壳去拓展一下,多玩玩你就熟悉了。原创 2024-01-08 10:06:58 · 2267 阅读 · 0 评论 -
004-Zynq实现SD卡存储灰度图片(彩色图片存储正点已开源)
最近在弄SD卡存储灰度图片,参考了正点原子的OV7725照相机实验,但发现最终存储出来打不开,用专门的软件去看发现其中的数据全部乱码。后面发现正点原子存储的是彩色24位深度的图片,与我存储灰度图片不符合,到网上搜了一下灰度bmp图片的存储格式,加上自己查看了一下灰度图片的二进制数据解析,最终解决了问题。原创 2024-01-06 14:52:58 · 963 阅读 · 1 评论 -
003-FPGA之手把手教你做多路信号发生器(STM32与FPGA数据互传控制波形生成)
实现STM32和FPGA的串口通信,并将STM32传输过来的频率信息和波形信息解析存入定义的reg变量中。通过调用ROM核内部的数据给高速DA模块发送数据,使得高速DA模块能够产生特定频率的波形有什么不懂的可以在下方留言,只要学会了方法,实现信号发生器会比较简单的。原创 2023-05-27 20:25:08 · 3393 阅读 · 2 评论 -
002-FPGA之手把手教你写串口协议解析(STM32与FPGA数据互传)
实现STM32和FPGA的串口通信,并将STM32传输过来的频率信息和波形信息解析存入定义的reg变量中。后续其他外设需要调用频率信息或者波形信息只需要实例化此串口模块即可。有什么不懂的可以在下方留言,只要学会了方法,对于串口数据的解析会变得很简单。这个仅仅是对数据进行处理,后续会发一篇DDS信号发生器的总代码,告诉大家如何调用PLL和ROM核生成特定频率的波形。原创 2023-05-13 13:38:36 · 6442 阅读 · 6 评论 -
001-基于FPGA的外部数字键盘输入
最近闲来没事儿,想练习一下FPGA,于是衍生出了做一个外部按键输入的想法。做起来不难,但是对于新手而言是一个很好的练习方法。首先能够学会多重实例化嵌套的思路,其次能够通过testbench验证自己电路的逻辑状态,通过modelsim里面反馈出的各种时序图从而判断如何去修改自己的代码使得达到理想的结果。verilog跟c很大的不同在于是描述硬件的一款语言,在写代码的时候一定要忘记c语言过程中的一些思路,去适应verilog的硬件描述。原创 2022-08-20 18:25:38 · 2017 阅读 · 0 评论