BITSLIP 发表2019年10月28日 分享 发表2019年10月28日 你好, 我正在尝试使用Zybo的参考设计通过UART控制台更改PCAM 5C的分辨率。 The console application supports 3 pre-configured resolution setting changeable by typing 'a' and then the setting number. 但是我想通过访问PCAM 5C的内部ISP寄存器手动更改它 - 如数据表中的第41页所述: https://cdn.sparkfun.com/datasheets/sensors/lightimaging/ov5640_datasheet.pdf 问题: 可以仅通过“飞行”更改这些寄存器的价值来更改决议? 或者是一个完整的initialization sequence required ? 链接到评论 在其他网站上分享 更多的sharing options...
1 Bogdanvanca 发表October 30, 2019 分享 发表October 30, 2019 你好@bitslip,,,, Yes, you are correct. Theoretically you can rescale the image at any size, even at 1000x1. I'm saying theoretically because I never tried it, not because I think it's not possible. The sensor doesn't have any kind of constraints that could stop you to do that. Or, at least I couldn't find any into the datasheet. The VDMA has to have a fix number of bytes for each individual transfer. So, if you are playing with the number of bytes, you have to reinitialize the function above for each transfer, as it was done in the DEMO. BITSLIP 1 链接到评论 在其他网站上分享 更多的sharing options...
1 Bogdanvanca 发表2019年10月28日 分享 发表2019年10月28日 你好@bitslip,,,, Things are a little bit more complicated. Indeed, for changing the resolution you have to rewrite some registers. But you also need to make sure that the Video Trimming controller ip generates the required constants for you resolution. I wouldn't recommend to write all the needed registers from the control interface (it would be agonising) Instead I would go with the existent logic for changing the resolution, which is adding a new structure with all the register values. As an example, you can check the OV5640.H file. I much simple and quicker solution would be to use our video scaller ip. This ip was written in HLS and it was used in the fmc pcam adapter demo for re-scalling the video at a 640x480 resolution. You can check the design in here:https://reference.digilentinc.com/learn/programmable-logic/tutorials/zedboard-fmc-pcam-adapter-demo/start Best Regards, Bogdan Vanca BITSLIPandBianca 2 链接到评论 在其他网站上分享 更多的sharing options...
1 Bogdanvanca 发表2019年10月29日 分享 发表2019年10月29日 @bitslip 回答您的问题。 1.是的。您可以输出传感器数据表中描述的任何图像大小。如果您重新编程正确的寄存器,则可以随时完成。演示项目已经实现了一部分。用户界面的更改分辨率选项将重新编程每个分辨率的传感器。有关更多信息,您可以研究流浪功能:pipeline_mode_change(vdma_driver, cam, vid, Resolution::R1280_720_60_PP, OV5640_cfg::mode_t::MODE_720P_1280_720_60fps);OV5640_CFG名称空间为每个分辨率具有3种不同的模式。每种模式都是与存储该分辨率所需的所有寄存器值的结构通讯。更具体地说,这些结构中都配置了所有负责图像窗口的寄存器(0x3800至0x3807)。让我们以CFG_1080P_15FPS_结构体。如果要计算输出X大小,则将有2287(0x3804,0x3805寄存器)-336(0x3800,0x3801) - 16(0x3810,0x3811),与1919年相等。因此,图像基本上没有刻度。对于图像窗口,您必须重写这些寄存器。 2.是和否。这取决于您要添加多少分辨率。不幸的是,我不能给您一个数字,因为我不确定当前的设计多功能。目前,它适用于3种不同的分辨率,但是很难说出您可以添加多少分辨率。每个单独的分辨率可能具有不同的像素时钟,或者正如我之前所说的一组图像常数。 目前,我可能会开始了解如何配置上述寄存器,我将开始与它们一起玩。您还需要确保VDMA转移按预期工作。如您所见,pipeline_mode_change功能重新配置每个分辨率的VDMA_DRIVER对象。 BITSLIP 1 链接到评论 在其他网站上分享 更多的sharing options...
0 BITSLIP 发表2019年10月28日 作者 分享 发表2019年10月28日 非常感谢您的输入Bogdan。 不幸的是,使用捕获器IP不是一个选项 - 更改实际的解决方案是传感器输出是强制性项目要求。 Quote But you also need to make sure that the Video Trimming controller ip generates the required constants for you resolution Can you explain what you mean by "Video Trimming Controller IP" ? 我在Vivado PCAM 5C参考设计中找不到这样的组件... 链接到评论 在其他网站上分享 更多的sharing options...
0 Bogdanvanca 发表2019年10月29日 分享 发表2019年10月29日 你好@bitslip,,,, 对不起这是我的错。我指的是Video Timing Controller不是“修剪”。该IP只是为所需分辨率生成定时参数。检查此链接:https://www.xilinx.com/support/documentation/ip_documentation/v_tc/v6_1/pg016_v_tc.pdf 链接到评论 在其他网站上分享 更多的sharing options...
0 BITSLIP 发表2019年10月29日 作者 分享 发表2019年10月29日 我明白。Thanks.我将参考设计的基础架构作为实现不同操作的基础。 我需要做的是通过软件请求将(单)原始图像记录到Zynq的内存。 不需要向监视器的输出输出,因此可以丢弃整个TX路径。 现在,就我而言 - Zynq可能要求的分辨率可能是非常任意的,并且不仅限于一组标准图像大小(基本上是在传感器的范围内的任何X * y)。 几个问题: 1. Would the sensor support output of an arbitrary image size configured using its registers ? 2. What about the other IP's in the design ? 链接到评论 在其他网站上分享 更多的sharing options...
0 BITSLIP 发表2019年10月29日 作者 分享 发表2019年10月29日 Quote 这取决于您要添加多少分辨率。 好吧...控制逻辑设计的软件应用程序可能会设置任何x * y组合 - 甚至“非常奇怪”的大小,例如:x = 1000,y = 1。So I must be able to support all possible matrix sizes.According to what you say - the sensor DOES support it...am I correct ?但是我不确定VDMA确实如此。我可能必须完全从设计中删除此IP并编写一些自定义的东西。 链接到评论 在其他网站上分享 更多的sharing options...
0 BITSLIP 发表October 30, 2019 作者 分享 发表October 30, 2019 Thanks a lot for your kind help.请保持发布 - 我会更新我的进度,并且随着我的进展,肯定会有更多问题。 链接到评论 在其他网站上分享 更多的sharing options...
问题
BITSLIP
你好,
我正在尝试使用Zybo的参考设计通过UART控制台更改PCAM 5C的分辨率。
The console application supports 3 pre-configured resolution setting changeable by typing 'a' and then the setting number.
但是我想通过访问PCAM 5C的内部ISP寄存器手动更改它 - 如数据表中的第41页所述:
https://cdn.sparkfun.com/datasheets/sensors/lightimaging/ov5640_datasheet.pdf
问题:
可以仅通过“飞行”更改这些寄存器的价值来更改决议?
或者是一个完整的initialization sequence required ?
链接到评论
在其他网站上分享
8个答案
推荐的帖子
创建一个帐户或登录以评论
You need to be a member in order to leave a comment
Create an account
在我们社区注册一个新帐户。这很简单!
注册新帐户Sign in
已经有一个帐户?在这里登录。
登入Now