怎么才能增加fpga+fx3通过uvc输出视频的帧率

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
zjjnsst
Level 4
Level 4
10 questions asked 25 replies posted 50 sign-ins

我使用网上的开发板然后修改了程序,原本输出720p30帧,现在想输出1080p30帧,但最多输出20帧。

在fpga那边只能输出20帧,如果继续增加视频输出帧率,pc这边的uvc上位机就只能显示黑屏了。

增加dma缓存大小也会使上位机显示黑屏,而且我用USBBulkSourceSink试了下可以吞吐400mbyte/s,也不像是这里导致最多20帧。

现在怀疑是gpif限制了帧率,是这个原因吗

 

0 点赞
1 解答
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

你可以稍微调小一点试一试,FV最小应该起码有100us。

在原帖中查看解决方案

0 点赞
7 回复数
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您GPIF用的是32位还是16位?1080P 30帧16位应该是不够的,带宽只有16*100Mhz ≈ 1.6Gbps

USBBulkSourceSink是USB 向主机端传0xAA的数据跑满,这是个USB的最大速度,3014主要传输限制还是GPIF端的32位并行接口

0 点赞
zjjnsst
Level 4
Level 4
10 questions asked 25 replies posted 50 sign-ins

额我用的16位的GPIF,但是我现在带宽只有600mbps多呀,

我传的是yuv422,1920*1080*2*20*8,这么算下来就663552000😂

0 点赞
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

这里面行场信号实际上是不止1920 * 1080的,因为还有blanking的时间,你可以量一下FV LV

0 点赞
zjjnsst
Level 4
Level 4
10 questions asked 25 replies posted 50 sign-ins

那Vertical Blanking和Horizontal Blanking有一个最小值吗

我们fpga输出20帧视频的时候,Horizontal Blanking是1000*10ns,输出30帧视频的时候就500*10ns,这样是不是不对劲🤣

0 点赞
zjjnsst
Level 4
Level 4
10 questions asked 25 replies posted 50 sign-ins

32位的话我怕板子不支持,而且spi好像就用不了了😂

0 点赞
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

你可以稍微调小一点试一试,FV最小应该起码有100us。

0 点赞
zjjnsst
Level 4
Level 4
10 questions asked 25 replies posted 50 sign-ins

emm我还是试试用32bit的吧,反正迟早得用32bit

0 点赞