搜索
bottom↓
回复: 28

[求助] STM32H7 系列支持摄像头的最大分辨率是多少?

[复制链接]

出0入4汤圆

发表于 2020-2-27 18:23:43 | 显示全部楼层 |阅读模式
如题,想请教一下 STM32H7 系列支持摄像头的最大分辨率是多少? 看H7系列的数字照相机接口( DCMI)描述看的晕晕的,怎么评估处理器支持CMOS模组的最大分辨率?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2020-2-27 18:56:39 | 显示全部楼层
F4开发板上的是1280x1024的130万像素摄像头

出0入4汤圆

 楼主| 发表于 2020-2-27 19:37:44 | 显示全部楼层
styleno1 发表于 2020-2-27 18:56
F4开发板上的是1280x1024的130万像素摄像头

什么开发板?

出0入0汤圆

发表于 2020-2-27 20:03:49 | 显示全部楼层

LINK
STM32F4DIS-EXT

出0入0汤圆

发表于 2020-2-27 20:11:59 | 显示全部楼层
没用过H7,但是我觉得DCMI只管接收数据,就像USART一样,关键要看数据往哪里存,考虑一个像素点占两字节,看内存能放多大的图像。
如果单片机只是把数据收到后不作处理而是直接发给显示屏,那就基本不占内存,分辨率无所畏。
摄像头一般可通过SCCB(类似IIC)接口配置分辨率。

出0入4汤圆

 楼主| 发表于 2020-2-27 20:26:34 | 显示全部楼层
本帖最后由 yangpeng012 于 2020-2-27 20:29 编辑


感谢了!
这个开发板是STM32F407 都可以带1280*1080, H7肯定比STM32F4猛多了

出0入4汤圆

 楼主| 发表于 2020-2-27 20:27:07 | 显示全部楼层
lcw_swust 发表于 2020-2-27 20:11
没用过H7,但是我觉得DCMI只管接收数据,就像USART一样,关键要看数据往哪里存,考虑一个像素点占两字节, ...

准备通过USB 下传

出100入113汤圆

发表于 2020-2-27 20:27:25 | 显示全部楼层
500万 OV5640

出100入113汤圆

发表于 2020-2-27 20:29:04 | 显示全部楼层
高于 500万像素都是MIPI接口了,STM32不支持了。

出0入4汤圆

 楼主| 发表于 2020-2-27 20:30:13 | 显示全部楼层
saccapanna 发表于 2020-2-27 20:29
高于 500万像素都是MIPI接口了,STM32不支持了。

就是现在没办法确认!这块我也不太懂

出0入4汤圆

 楼主| 发表于 2020-2-27 21:56:55 | 显示全部楼层
本帖最后由 yangpeng012 于 2020-2-27 21:59 编辑

转知乎上的回答1:
作者:methamphetamine
链接:https://www.zhihu.com/question/348557717/answer/843634981
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

先说图像获取。这个要求系统的RAM(片内RAM+外扩RAM)够大,至少存下一帧有效图像。有效图像的分辨率要看需求,比如640*480的摄像头,我可以直接把所有图像都读出来。如果已经确定了只使用一部分图像数据,可以按坐标从读到的数据中筛选出这部分图像存到RAM,其他部分图像舍弃。比如:
for(int y=0;y<480;y++){
    for(int x;x<640;x++)    {
        Pix_t pix=Camera_NextPix();
        if((x>99&&x<201)&&(y>199&&y<301))
            PixData[y-200][x-100]=pix;
    }
}

这部分程序只会将原始图像(640*480)中起点(100,200),长宽100像素范围内的像素储存下来,其他舍弃,这样可以节约相当一部分RAM。RAM使用量的计算方法:水平分辨率*垂直分辨率*色彩深度/8。以640*480为例,RGB565(16bit)需要640*480*16/8=614400字节=600kB,如果是8bit灰度图像,就是300kB。按照上一段代码截取部分图像的话(100*100),RGB565需要约20kB,8bit灰度需要约10kB。获取的原始图像一般不压缩,所以特别占RAM空间,这是主要限制条件。对于图像处理,就牵扯到一个帧率问题,也就是每秒能处理多少帧图像。最常见的例子就是识别和预判。识别对帧率要求很低,5fps就够了,比如扫二维码。而预判的话,在自动驾驶的图像分析方面对帧率的要求比较高,尤其是在高速行驶中,如果帧率太低导致误判的话……就是人都撞飞好远了,车才开始减速……图像处理主要看性能,性能越强,处理一帧图像的速度就越快,帧率就越高。如果仅仅是做实验的话,不用考虑帧率,不过可能是PPT效果。以上两者是相互制约的,也就是:要获取足够的数据,也要在指定的时间内处理全部数据。性能太低没办法处理全部数据,分辨率太低没办法获取足够的数据。这要根据实际的需求权衡。

出0入4汤圆

 楼主| 发表于 2020-2-27 22:00:56 | 显示全部楼层
本帖最后由 yangpeng012 于 2020-2-27 22:02 编辑

转知乎回答2:
比如stm32板子,我怎么知道能驱动多少像素的摄像头?
答:基本无限制,取决于你要如何处理图像。 处理越复杂,对处理能力和内存要求越高。 如果只是流式处理, 那对内存之类的也没啥限制。 对stm32来说, 千万像素也不是问题。 还是 那句话,关键想如何处理图像。只要足够简单,多少像素都不是限制因素。

再者树莓派只支持最大800万像素摄像头,这个受限于什么,是芯片处理能力,还是板子预留接口,还是内存,还是啥?
答:我认为可能是驱动吧。 还有帧率等。 比如用USB2.0的摄像头(老树莓派只能支持这种),由于USB2.0的带宽限制, 太大的图像帧率会很低(考虑一下1920*1080 24bit真彩不压缩的大小,虽然一般摄像头都支持mjpg压缩,但也不能支持太大图像)。而帧率太低就对很多应用就失去了意义。 所以说不支持高分辨率的并没有什么错误。 但如果你自己不在乎帧率,那完全可以支持更高分辨率的摄像头。

如果想开发1000万以上像素的功能,需要什么板子呢?
答:看目标,如果不在乎帧率之类的,做很简单的操作,那基本没啥限制。 BTW,以上的简单是真的要简单,如果涉及到略微复杂的操作,比如做卷积,那对内存就有要求了。哈哈

作者:知乎用户
链接:https://www.zhihu.com/question/348557717/answer/846362775
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

出0入4汤圆

 楼主| 发表于 2020-2-27 22:36:32 | 显示全部楼层
转知乎回答3:
支持多大像素取决于几个因素,camera和stm32连接接口的速率;camera板自带的图像暂存区大小;图像帧率要求;stm32的主频;stm32的RAM大小;最后是用途,包括是显示还是存储。以上几个因素相互制约,所以你的问题没有条件要求基本回答是层出不穷的,比如你的camera暂存很大很大,你不要求实时性,你就可以做无限分辨率的camera。

作者:特青年
链接:https://www.zhihu.com/question/348557717/answer/851816593
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

出100入113汤圆

发表于 2020-2-28 09:49:10 | 显示全部楼层
yangpeng012 发表于 2020-2-27 20:30
就是现在没办法确认!这块我也不太懂

我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万像素的,就不要想了,都是MIPI接口,STM32不能直接支持,如果使用桥接芯片,理论上可以,但我们没试过,最关键的是 MIPI 接口的镜头,都不带ISP图像处理器,也就是说需要外置ISP,这个使用使用STM32难以完成图像处理工作。所以基本可以得出结论,500万以上像素就不要考虑 STM32 了。500万像素,我接触到的,目前只有 OV5640 是自带ISP的,性价比最高。不用担心接口速度问题,H7的DCMI接口速度很快,完全满足要求。内部 1MB RAM 不够,可以外扩 SRAM,我们目前使用 QSPI 的SRAM,速率 104MHz 时,理论读写速度可以到 52MByte/s,实际测试也差不多,所以足够用了。

出0入4汤圆

 楼主| 发表于 2020-3-6 09:47:20 | 显示全部楼层
saccapanna 发表于 2020-2-28 09:49
我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万 ...

非常感谢!

出0入0汤圆

发表于 2020-3-6 10:46:14 | 显示全部楼层
saccapanna 发表于 2020-2-28 09:49
我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万 ...

谢谢干货,实践出真知。

出0入4汤圆

 楼主| 发表于 2020-3-6 11:13:58 | 显示全部楼层
本帖最后由 yangpeng012 于 2020-3-6 11:25 编辑
saccapanna 发表于 2020-2-28 09:49
我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万 ...


想请教一下 外置ISP 有哪些参考方案?

出100入113汤圆

发表于 2020-3-6 12:00:24 | 显示全部楼层
yangpeng012 发表于 2020-3-6 11:13
想请教一下 外置ISP 有哪些参考方案?

外置ISP比较麻烦,需要ISP厂家针对具体的传感器调教参数,一般需要收取开发费用费用,开发费后期供货到一定量可以返还。国内有几家做ISP的,可以搜索一下,我没有用外置ISP,所以只是大概了解了一下,具体型号不记得了。

出0入4汤圆

 楼主| 发表于 2020-3-6 17:53:37 | 显示全部楼层
saccapanna 发表于 2020-3-6 12:00
外置ISP比较麻烦,需要ISP厂家针对具体的传感器调教参数,一般需要收取开发费用费用,开发费后期供货到一 ...

非常感谢,回答太专业了!

出10入0汤圆

发表于 2020-3-9 12:03:13 | 显示全部楼层
saccapanna 发表于 2020-2-28 09:49
我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万 ...

请教下QSPI的SRAM和QSPI的FLASH可以同时使用吗?H750VB不能外扩SDRAM,本身FLASH又小得挂FLASH,感觉有点别扭

出0入0汤圆

发表于 2020-3-9 12:12:34 | 显示全部楼层
goodjob2 发表于 2020-3-9 12:03
请教下QSPI的SRAM和QSPI的FLASH可以同时使用吗?H750VB不能外扩SDRAM,本身FLASH又小得挂FLASH,感觉有点 ...

不能同时用

出100入113汤圆

发表于 2020-3-9 15:04:48 | 显示全部楼层
goodjob2 发表于 2020-3-9 12:03
请教下QSPI的SRAM和QSPI的FLASH可以同时使用吗?H750VB不能外扩SDRAM,本身FLASH又小得挂FLASH,感觉有点 ...

一般来说,不能同时用,如果 QSPI 用地址映射模式,用来挂FLASH跑程序,就很难再挂SRAM了。当然非主流的方式,两个BK,一个挂FLASH,一个挂SRAM,两个分别驱动,启动时把外部FLASH的数据读取到内部SRAM运行,然后把QSPI用来驱动外部SRAM是可以的,不过非主流。内部SRAM ITCM/DTCM都是可以运行代码的,AXI总线的 512KB没有实验过,如果AXI也可以运行代码,那么这种方式就可行,并且512KB不小了吧?你自己试试。

出100入113汤圆

发表于 2020-3-9 15:06:59 | 显示全部楼层
goodjob2 发表于 2020-3-9 12:03
请教下QSPI的SRAM和QSPI的FLASH可以同时使用吗?H750VB不能外扩SDRAM,本身FLASH又小得挂FLASH,感觉有点 ...

如果嫌麻烦,那就直接上 H750 的BGA封装吧,价格贵不了多少,脚位够了可以 FMC 挂SRAM,QSPI挂FLASH。

出10入0汤圆

发表于 2020-3-9 16:43:29 | 显示全部楼层
saccapanna 发表于 2020-3-9 15:04
一般来说,不能同时用,如果 QSPI 用地址映射模式,用来挂FLASH跑程序,就很难再挂SRAM了。当然非主流的 ...

主要是想做个LDTC转VGA 640x480的R/2R电阻网络输出,AXI内存刚好少了一点点,不过专门换H750IBK成本高很多了。我先去试试非主流吧。谢谢回复

出0入0汤圆

发表于 2020-3-23 16:03:59 | 显示全部楼层
saccapanna 发表于 2020-2-28 09:49
我明确的告诉你,我们用H750做过。目前500万以以下像素的镜头,有DVP接口的,STM32H7可以支持,高于500万 ...

回答太专业了!!
最近也在看摄像头,我用的是OV7695摄像头,我看这个摄像头支持两根数据线的SPI。我想问一下我可以直接用STM32 的QSPI去读取OV7695吗?
盼望大佬指点一二!

出0入0汤圆

发表于 2020-3-23 18:33:05 | 显示全部楼层
zhangguanghui82 发表于 2020-3-23 16:03
回答太专业了!!
最近也在看摄像头,我用的是OV7695摄像头,我看这个摄像头支持两根数据线的SPI。我想问 ...

不是SPI,是SCCB接口(类似IIC),配置参数用的

出0入0汤圆

发表于 2020-3-23 20:26:36 | 显示全部楼层
lcw_swust 发表于 2020-2-27 20:11
没用过H7,但是我觉得DCMI只管接收数据,就像USART一样,关键要看数据往哪里存,考虑一个像素点占两字节, ...

对头,分辨率主要影响时钟和序列初始化

出0入0汤圆

发表于 2020-3-25 11:40:14 | 显示全部楼层
flash3g 发表于 2020-3-23 18:33
不是SPI,是SCCB接口(类似IIC),配置参数用的

OV7695的数据口是SPI的,请问可以直接用QSPI接口读摄像头数据吗?

出0入4汤圆

 楼主| 发表于 2022-1-13 17:29:44 | 显示全部楼层
今年用了一下Hi3559V200这个芯片,性价比蛮高的,sensor有效分辨率最高可以到4000x3000
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 09:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表