PC 开发环境版本:Vivado Design Suite 2015.2 硬件系统工程新建一个zedboard工程建好工程后,再新建一个Block Design点击ADD IP,添加ZYNQ PS
共1条
1/1 1 跳转至页
使用VDMA在PL和PS之间传输视频流数据

理论部分
VDMA可以把AXI4-Stream 类型的视频流通过S2MM,写入到DDR3中,反之也可以通过MM2S读入到VDMA接口的外设中。通过内嵌FPGA逻辑分析仪进行观察数据。
本文所使用的开发板是Miz702(兼容zedboard)
PC 开发环境版本:Vivado Design Suite 2015.2 硬件系统工程新建一个zedboard工程建好工程后,再新建一个Block Design点击ADD IP,添加ZYNQ PS
点击Run Block Automation,在弹出的对话框点击OK
双击ZYNQ图标,去掉不用的外设
使能一个HP接口,PL和PS通过VDMA传输数据做准备
设置好后,点击OK添加VDMA IP Core
点击Run Connection Automation在弹出的对话框的左上角选择All…,点击OK再次点击Run Connection Automation在弹出的对话框的左上角选择All…,点击OK,然后重新生成布局添加TPG IP Core
双击刚刚生成的TPG图标,作如下设置
按照如图所示连接
按照如图所示连接时钟线
同上把VDMA的m_axis_mm2s_aclk以及s_axis_s2mm_aclk和上述时钟线连在一起把TPG的aresrtn按照如图所示连接
重新生成布局后,如图所示(右击可以查看高清大图)
添加ILA IP Core(方法很多,这里未必是最好的)
把ila_0的SLOT_0_AXI和VDMA的M_AXI_MM2SS连接在一起
把ila_0的clk和VDMA的aclk连在一起在添加一个ILA IP Core把ila_1的SLOT_0_AXI和VDMA的M_AXI_S2MM连接在一起把ila_1的clk和VDMA的aclk连在一起完整的硬件结构框图如下(右击可查看高清大图)
右击Bolock design,选择Create HDL Wrapper再次右击Bolock design,选择Generate output Prouducts完成点击Run Synthesisi完成后,点击Generate bitstream(耐心等待下吧,可以去吃个饭,睡会觉或者浏览下论坛的帖子,发几个评论……)然后再选择,Tools -> set Up Debug最后,File->Export->Export Hardware —-File ->Launch SDK软件工程SDK启动后,新建一个Hello World工程把helloworld.c里的代码修改如下: 按照如下配置配置软件Debug


设置好之后,开发板上电,点击Debug打开vivado->open hardware->program device成功后,vivado会自动打开硬件调试界面,如图所示
添加触发信号在hw_ila_1里添加axi_vdma_0_M_AXI_MM2S_ARVALID信号,如图所示:
同上在hw_ila_2里添加axi_vdma_0_M_AXI_S2MM_AWVALID信号把waveform里不相关的信号去掉可以单步调试运行或者直接运行VDMA启动两个通道启动后,wavefom里的波形如下所示:S2MM
MM2S
这里大家可能会注意到有个问题,就是MM2S只传输了一次就停止了,这是问什么呢?大家可以思考下!总结,在本篇文章我们实现了用VDMA的洗数据,把stream类型的数据转为Memory Map类型的存到内存中,然后用VDMA的读数据把MM的数据转为Stream型。最后还留了个小问题(PS:其实有一步我忘了做了),大家可以思考下!
PC 开发环境版本:Vivado Design Suite 2015.2 硬件系统工程新建一个zedboard工程建好工程后,再新建一个Block Design点击ADD IP,添加ZYNQ PS
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |