- 博客(12)
- 收藏
- 关注
原创 部署Finn的手写数字识别项目(基于pynq-z2的手写数字识别)
博者的搭档就在完成finn的部署,我们共同验证了finn的官方例程所给出的手写数字识别的项目。后面的项目的代码博者没有进行验证,进行尝试前需要在github查看是否符合你所使用的板卡,如果没有,则需要从Finn的量化训练开始完成项目的验证,这里博者将bit文件以绝对路径引用。如果遇到环境相关的报错,则需要在终端的命令行上完成相应的环境的安装,可以问gpt,对环境的搭建是没有问题的,gpt能够很好的完成这个任务。在本例中,博者要用的是另一个方法进行验证,在jupyter上进行ipynb的代码验证。
2024-10-21 00:16:55
831
3
原创 基于qnn-mo-pynq的tiny-yolo模型检测本地视频文件
要注意的是由于视频帧的大小与 cv2.VideoWriter 初始化时设置的大小不匹配,处理后的帧(frame_detected)需要在写入视频之前调整为原视频的尺寸,博者在这个问题上踩坑了,pynq-z2板卡运行完代码就直接显示jupyter notebook核心挂掉,没有报错,博者调试了好久才发现是这个问题。调用opencv将视频文件里的视频打散成视频帧进行读取,在读取帧时已经将image实例转换为数组,博者通过调用了一个临时文件作为缓存,每次读取帧后就清空该缓存,再进行检测。
2024-10-15 11:38:54
361
1
原创 Vivado 2018.3使用tcl命令行生成hdf文件
如今的vivado生成的硬件描述文件都是.xsa文件,hdf文件已经被弃用了,但是个别情况下还是需要使用,博者查找下发现可以在tcl命令行实现生成hdf文件。这个命令行是因为Vivado 的工作方式是从 impl目录复制 .sysdef 文件,生成hdf文件。
2024-10-10 14:21:09
584
原创 制作pynq最小系统(正点原子领航者V2-7020)
如今的hdf文件已经弃用,博者在tcl命令中输入以下命令:file copy -force D:/Downloads/pynq_jingxiang/pynq_min/pynq_min/pynq_min.runs/impl_1/pynq_min_wrapper.sysdef D:/Downloads/pynq_jingxiang/pynq_min/pynq_min/pynq_min.sdk/pynq_min_wrapper.hdf。完成IP核的设置,点击ok,之后就出现下图,自动连接。
2024-10-10 00:36:33
1037
1
原创 QNN-MO-PYNQ项目的复现(基于pynq—z2的yolo tiny模型、分类任务)
在PYNQ的早期版本中,Xlnk是用来管理内存分配的类,特别是在使用PYNQ的自定义Overlay时。在继续运行的过程中可以发现为找到环境所在的位置,由于我们使用的pynq版本太新了,需要修改包的路径,我们在终端使用cd和ls命令,找各个包所在的位置。这段代码使用了Python的unittest.mock模块中的Mock类来创建一个模拟对象,并将其用作pynq模块中Xlnk类的替代。Qnn-mo-pynq的项目基本上是同样的问题,由于版本太老了,修改这几个地方即可成功复现。进入网络文件夹的界面。
2024-09-27 16:30:49
428
1
原创 Pynq-z2通过ps端调用usb摄像头
确保板卡可以连接上以太网一个免驱动的摄像头Pynq-z2板卡套件将pyqn-z2板卡连接在电脑上,电源器模式启动,连接上usb摄像头:这里博者购买的是一款免驱的usb摄像头(要支持uvc模式)。连接完成后,在pc端打开设备管理器,查看端口号博者的是com7,putty选中串口通信,speed:115200,在open终端界面。在终端界面登入pynq后,输入: ls /dev/video*查看板卡是否识别到usb摄像头。
2024-09-25 19:25:08
986
3
原创 DMA IP核
DMA 背景DMA 允许您将数据从内存(在本例中为 PS DRAM)流式传输到 AXI 流接口。这称为 DMA 的READ 通道。DMA 还可以从 AXI 流接收数据并将其写回 PS DRAM。这是WRITE 通道。DMA 具有用于读取通道的 AXI 主端口和另一个用于写入通道的 AXI 主端口,也称为内存映射端口 - 它们可以访问 PS 内存。这些端口标记为 MM2S(内存映射到流)和 S2MM(流到内存映射)。现在,您可以将这些端口视为 DRAM 的读取或写入端口。控制端口。
2024-06-13 15:00:23
1282
原创 Pynq-Z2多路视频拼接1
特别注意的是IP核配置的那段代码,将IP核当作封装的函数来使用,在软件端给出相应的指令,调用官方的IP核可以搜索相应的IP核的手册来对IP核进行实例化。在参考别的博主的博客的时候,看到这么一句话‘没有做过视频拼接,等于不会fpga’,正好实习的公司也在做相关的项目,于是就和同组的小伙伴开始了基于pynq-z2的多路视频拼接的项目。基于pynq-z2开发,多路视频的HDMI显示功能,该功能由ov5640摄像头采集720*1280的8bit位宽图像数据,该数据复制为多路数据通过HDMI展示在屏幕上。
2024-06-13 10:33:01
780
原创 AXI_VDMA ip核
举例而言,对于三帧存而言,动态Genlock Master会按照0,1,2,0,1,2的顺序循环使用帧存,一旦检测到Master即将操作Slave正在操作的帧,就会跳过该帧继续循环。写通道(S2MM):当配置为Genlock Master时,该通道不会跳过或者重复任一帧数据,并把当前帧的编号输出到s2mm_frame_ptr_out端口。在上一篇文章中,视频流的传输,我们使用到了vdma,视频的流向是从S_AXIS_S2MM传入,在由M_AXIS_MM2S传出。2、调节了数据传入和传出的频率。
2024-03-21 19:06:46
1917
2
原创 PYNQ-Z2+ov5640项目,视频流的传输
同步信号频率的计算,例如一行640 pixel,则hsync的频率为pclk/(640+dummy);上一篇博客博者简单描述了项目的复现流程及项目复现中遇到的问题,这篇博客是博者的复现笔记,简单记录一下知识点。2、vsync:帧同步信号,例如高电平信号,vsync置高直至拉低,这个时间段内的画面组成同一帧;1、hsync:行同步信号,告诉接收端在hsync有效时间段内,接收到的数据为同一行;3、pclk:像素点同步时钟信号,上升沿输出有效数据。视频输入的四个信号,其中data就不过多赘述。
2024-03-15 09:52:34
606
3
原创 无pmod适配器下PYNQ-Z2+OV5640 项目复现
2、由于在淘宝上买不到pmod-camera的适配器,本次复现就采用修改pmod接口的约束文件(.xdc文件)的方法来连接板子和摄像头。(注意:我们修改的是9*2的pmod接口的约束文件)首先是找到板卡pmod接口的逻辑功能,和摄像头引脚逻辑功能要一一对应;1、CV5640这个项目是GitHub上开源的项目,可以从GitHub上将项目整包下载到自己的电脑里。点击左边框框的source,选中项目文件右击,设置顶层文件。也可以使用杜邦线按照引脚号的逻辑功能连接摄像头和板卡。-PYNQ-Z2板卡套件。
2024-03-13 10:36:51
1439
1
原创 PYNQ-Z2登入jupyter的网络配置
在pynq-z2的板子烧录完成后,要先对自己的电脑进行网络配置才能进入jupyter nootbook界面。首先是,打开控制面板(可直接在设置的搜索框里搜索),进入“网络和internet”界面再进入“访问类型”特别注意的是在配置IP地址时“192.168.2.——”,第四位不可以是’99‘!打开终端,ping 192.168.2.99 ,网络配置成功。连接板子后会出现未识别网络一栏,点击“以太网2”再点击“属性”,即可配置网络;
2024-02-06 15:07:22
711
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人