0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用笔记 | STM32 DCMI 的带宽与性能介绍

STM32单片机 来源:未知 2023-08-01 17:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

关键字:DCMI,最大像素时钟,Overrun

目录预览

1 引言2 STM32 DCMI3 小结

1. 引言

随着市场对更高图像质量的需求不断增加,成像技术持续发展,各种新兴技术(例如3D、计算、运动和红外线)的不断涌现。如今的成像应用对高质量、易用性、能耗效率、高集成度、快速上市和成本效益提出了全面要求。为了满足这些要求,STM32 MCU 内置的数字照相机接口(DCMI),能够高效连接并行照相机模块。 对于使用STM32 DCMI 开发相机应用的客户,经常有以下问题:STM32 DCMI 最大支持的像素时钟是多少?STM32F4/F7/H7/U5 能支持1280×720 的相机分辨率吗?最大的帧率是多少?如何判断所设计的应用产生的带宽是否能充足?相机输出是选择8 位、10位、12 位、还是14 位? 针对这些问题,本文档从DCMI 使用的几个方面,介绍了STM32 DCMI 在连续抓取模式下带宽的估算,以及提升性能需要注意的事项。客户在设计相机应用时可以参考。

2.STM32 DCMI

STM32 数字照相机接口(DCMI)采用同步并行数据总线。它可以轻松集成并适应相机的特殊应用要求。DCMI 可连接8、10、12 和14 位CMOS 照相机模块,并支持多种数据格式:8/10/12/14 位逐行视频、YCbCr42 逐行视频、RGB565 逐行视频、JPEG 等。像素最大支持16 位色深。 2.1. STM32 智能架构中的DCMI DCMI 应用需要用帧缓冲区来存储采集的图像。必须根据图像大小和传输速度使用合适的目标存储区。在某些应用中,必须连接外部存储器(SDRAM),以便提供较大的数据存储空间。对于支持DMA2D(Chrom-ART Accelerator控制器)的STM32 系列,也可以用它做色彩空间转换(例如RGB565 至ARGB8888),或使用DMA 从一个存储区到另一个存储区的数据转移。 下面图1 是STM32F2x7 系列智能架构中DCMI 的例子。这里DCMI 通过AHB2 外设总线连接到AHB 总线矩阵。DMA2 主控访问DCMI,将DCMI 接收到的图像数据传输到内部RAM 或外部SDRAM 中,具体目标位置取决于应用。 aac5bf84-304e-11ee-9e74-dac502259ad0.png图1. STM32F2x7系列智能架构中的DCMI从设备AHB2外设2.2. DCMI 最大像素时钟频率STM32 DCMI支持的像素时钟频率,与AHB时钟频率比值必须小于0.4。具体的像素时钟频率最大值要查询所用STM32的数据手册。下面表1中列出了部分STM32系列DCMI最大像素时钟频率及相关可用资源的信息。如需更详细信息,请参考相应的参考手册/数据手册。aaec131e-304e-11ee-9e74-dac502259ad0.png表1. DCMI及相关可用资源2.3. DCMI 支持的图像分辨率STM32 DCMI仅对输入像素时钟频率有硬件限制(DCMI_PCLK / fHCLK 最大0.4),对图像的分辨率没有限制。DCMI连续抓取模式下,图像分辨率会影响帧率(帧率的大小会影响视频的流畅度)。在固定的像素时钟频率下,高分辨率图像的带宽需求较高,对应的帧率则会下降。或者说,在相同的图像分辨率下,提高帧率需要相应地提高像素时钟频率。例如下表2(摘自三星S5K5CAGA CMOS Image Sensor的数据手册)所示,大家可以从中了解S5K5CAGA的像素频率、图像分辨率、帧率的关系(非RGB888,16位色深)。另外,图像分辨率主要通过设置相机的输出格式进行修改。ab17376a-304e-11ee-9e74-dac502259ad0.png表2. S5K5CAGA YUV/RGB565像素时钟频率与帧率对于中高分辨率的图像,一般采用双缓冲区或多缓冲区模式。这个主要原因是因为DCMI使用的DMA计数寄存器SxNDTR使用了16位用于计数。最大0xFFFF,即 65535 ,单位为32位Word,当图像分辨率超过65535 Words(262140字节)时,则要使用双缓冲区或多缓冲区模式。双缓冲区地址由DMA_SxM0AR/DMA_SxM1AR设定。多缓冲区时,则需要动态交替DMA_SxM0AR/DMA_SxM1AR,使之指向图像缓冲区的不同存储位置,相当于分块存储。2.4. DCMI 带宽与性能使用DCMI的相机应用,使用连续抓取模式,功能往往是由相机连续输出所摄图像数据流到STM32,STM32 DCMI捕获视频流后,再输出到屏幕显示(如监控)或做图像数据处理、传输等。如果相机输出的是高像素高色深高帧率的视频流,DCMI在接收过程中,如不能及时处理,DCMI FIFO即会产生溢出错误(Overrun),进而导致图像数据丢失,帧率下降等问题。2.4.1. DCMI 带宽与性能DCMI带宽计算公式为:带宽 = 分辨率 * 色深 * 帧率。以三星S5K5CAGA为例,如表2中第1行数据(这里相机采用RGB565,16位/像素,8位输出格式),则QXGA输出的带宽需求 =(2048 * 1536)* 2 * 6 ≈ 38MBps。像素时钟为40MHz,8位输出,每2个CLK传输1个像素数据,对应的最大输出能力为40 MBps。则QXGA在40MHz的像素时钟频率下是可以以6帧/秒的帧率输入到DCMI的。DCMI捕获图像数据流,再由DMA传输到图像缓冲区,该例中,图像缓冲区(帧缓冲区)的大小为:2048 * 1546 * 2 ≈ 6.3 MByte高像素高色深的图像,对应的图像缓冲区较大。当MCU内置的SRAM不能满足DCMI图像缓冲区需求时,则需要用外部SDRAM来存储。例如STM32F469 MCU(见表1,第6行数据),其FSMC支持的最大频率为90MHz,宽度32位,则SDRAM的带宽 = 90 * 4 = 360 MBps,能够满足DCMI带宽的需求。一般,DCMI图像缓冲区中的数据是需要再次传输或由CPU进行计算处理的,理论上DCMI输入的带宽需求最大不应超过SDRAM的带宽的50%。这里需要注意SDRAM可能存在多个主控(如CPU、DMA、LTDC等)的访问,如遇到SDRAM性能瓶颈问题,可考虑下列方面进行优化:(1)将各主控设备访问的存储器尽量分开,以减少竞争访问;(2)将CPU访问的SDRAM Bank 与DCMI图像缓冲区的Bank分开;(3)将DCMI图像缓冲区区域设为不可缓冲,CPU 访问的区域则可以设为可缓冲。对于性能,另外一个重要因素是总线竞争问题。DCMI DMA申请的AHB总线访问(即使在使用FIFO的情况下)并非长Burst的访问。如果AHB总线上存在其它长Burst访问(最大1KByte),会造成DMA延迟访问DCMI,令其不能及时将DCMI FIFO中的数据传输出去。可以认定:DCMI需要传输数据时的总线繁忙是造成 其FIFO 溢出错误的根源。解决办法除了直接为设备分配不同SDRAM之外(将长Burst访问放在其他SDRAM),还可以考虑在内部SRAM增设DCMI LineBuffer,化零为整,巧妙避开AHB 长Burst 访问造成的DCMI延迟问题。数据流如下:(1)DCMI(经DMA)=> 内部SRAM(LineBuffer) ;(2)内部SRAM(LineBuffer)=> 外部SDRAM(图像Buffer)。由LineBuffer 到SDRAM的数据中转传输请求,可使用DCMI IT_LINE 中断(行结束)触发。这里MCU如果是STM32F7/H7系列,还可使用MDMA 充分发挥AXI总线的优势,但要注意LineBuffer 最好是8字节的倍数(64位总线)。2.4.2. DCMI 图像大小调整功能当考虑了上面的措施,仍无法满足应用对高分辨率需求时,用户可以通过设置相机,修改相机输出分辨率,配合DCMI调整图像大小功能,找到合适的折中方案。DCMI提供的相关功能如下:(1)窗口裁剪:使用寄存器DCMI_CWSTRT指定起始坐标;使用寄存器DCMI_CWSIZE指定窗口大小。(2)图像数据调整(详见寄存器DCMI_CS中LSM/BSM等位域):- 行选择:可选择2选1,行数减半;- 数据选择:字节流上可进行2选1、4选1已经4选2 (注意:对于RGB565格式, 只能4选2可选,2选1及4选1会造成色彩数据错乱)

2.5. DCMI 10/12/14数据线输入

DCMI 支持最多14条数据线(D13 - D0),如果将DCMI配置为接收10、12或14位数据,DCMI将用2个像素时钟周期捕获一个32位数据。以12位数据宽度为例,DCMI在第1个像素时钟捕获12位LSB(忽略D[13 :12]),存于DCMI_DR寄存器低16位字中低12位,高4位(D[15 :12)清零;第2像素时钟捕获的12位LSB则存于DCMI_DR高16位字的低12位,高4位(DCMI_DR的[31 : 28])清零。另外相机也必须配置为10/12/14位输出。具体情况则由应用决定。

3.小结

本文通过介绍STM32 DCMI支持的最大像素时钟频率,支持的图像分辨率及与帧率的关系,进而引出DCMI带宽与性能提升的注意事项。另外附带了DCMI图像大小的调整及10~14数据线的简介,为用户遇到相关问题时提供思路参考。

完整内容请点击“阅读原文”下载原文档。

ab341cf4-304e-11ee-9e74-dac502259ad0.png

长按扫码关注公众号

更多资讯,尽在STM32

点击“阅读原文”,可下载原文档


原文标题:应用笔记 | STM32 DCMI 的带宽与性能介绍

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45624

    浏览量

    675099
  • STM32
    +关注

    关注

    2313

    文章

    11205

    浏览量

    375144

原文标题:应用笔记 | STM32 DCMI 的带宽与性能介绍

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    小红书笔记详情API 实战总结(技术复盘)

    小红书笔记详情API 实战总结(技术复盘) 后端开发工程师 | 项目完结精简复盘 一、摘要 本人完成小红书笔记详情数据采集项目,采用笔记详情API,以OAuth2.0鉴权方式采集笔记
    的头像 发表于 05-19 09:15 38次阅读

    LTP850x应用笔记 ▏专为小尺寸设计的单片振荡器/功率驱动器

    LTP850x应用笔记LTP850x是一款专为小尺寸设计的单片振荡器/功率驱动器,隔离接口应用中的隔离电源。该设备通过3.3V或5V直流电源驱动一个低矮的中心抽头变压器初级。次级根据变压器匝数比提供
    的头像 发表于 03-13 17:20 753次阅读
    LTP850x应<b class='flag-5'>用笔记</b> ▏专为小尺寸设计的单片振荡器/功率驱动器

    基于Rockchip RK3588 SoC的开源笔记本电脑介绍

    想拥有一台完全自定义、性能拉满还开源的笔记本吗?这款从零打造开源笔记本堪称创客圈的硬核神作!
    的头像 发表于 02-27 09:14 660次阅读
    基于Rockchip RK3588 SoC的开源<b class='flag-5'>笔记</b>本电脑<b class='flag-5'>介绍</b>

    LAT1173高精度定时器的同步功能应用笔记

    STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能与片上的其他定时器以及其他芯片进行同步,本文将对高精度定时器的同步功能进行介绍
    发表于 01-11 17:32 0次下载

    LAT1180+STM32L4R9 的 QuadSPI Flash 通讯速率不理想应用笔记

    客户反应 STM32L4R9 同 QSPI Flash 通讯,测出来的读取速率为 10MB/s, 和理论值相差较大。按照客户的时钟配置和 STM32L4R9 的数据手册中的数据,OSPI 读数速率为 10MB/s肯定存在问题。
    发表于 01-11 17:30 0次下载

    LAT1187+在 Keil 中使用 STM32CubeProgrammer应用笔记

    STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以
    发表于 01-11 17:27 0次下载

    AN5289 使用 STM32WB 系列微控制器构建射频应用笔记

    本文档一步一步地指导设计人员基于 STM32WB 系列微控制器构建特定 Bluetooth低功耗或802.15.4 应用。它汇集了最重要的信息,并且列出了需要处理的方面。为了充分利用本文档中的信息
    发表于 01-09 14:13 0次下载

    STM32WB 系列微控制器 OTA 和无线固件更新应用笔记

    本文档介绍了通过低功耗蓝牙连接在 STM32WB 设备上进行 OTA 固件更新的过程。它讲解如何使用 STM32Cube 固件包中提供的 OTA 应用程序,实现用户应用程序、无线固件和固件升级服务的更新。
    发表于 01-08 14:50 0次下载

    AN2606_STM32单片机系统内存启动方式应用笔记

    自举程序存储在STM32器件的内部自举ROM(系统存储器)中,由ST在生产期间进行编程。其主要任务是通过一种可用的串行外设(如USART、CAN、USB、I 2C)将应用程序下载到内部Flash中
    发表于 01-08 14:49 0次下载

    SAW 滤波器怎么选?给射频工程师的一份实用笔记

    ,直接影响灵敏度、误码率以及认证测试结果。 问题在于: 打开器件库,会发现各种 SAW 型号——频点、带宽、插入损耗、封装、温度等级都不一样。 很多工程师心里都会冒出同一个疑问: “我该选哪一颗?选轻了
    发表于 11-04 17:49

    永铭叠层电容:笔记本电脑中的性能加速器

    1笔记本电脑市场现况随着远程办公和移动办公趋势的加强,消费者对轻薄、高性能笔记本电脑需求不断上升,这推动了笔记本电脑制造商在产品设计和性能
    的头像 发表于 09-01 10:07 1144次阅读
    永铭叠层电容:<b class='flag-5'>笔记</b>本电脑中的<b class='flag-5'>性能</b>加速器

    永铭钽电容:藏在笔记本“电力心脏”中的精密艺术

    笔记本中的艺术当你用笔记本电脑流畅剪辑4K视频、激战高画质3A游戏时,是否想过是谁在幕后默默保障电力稳定?在纤薄机身与强悍性能并存的今天,笔记本电脑正面临“既要极致轻薄,又要澎湃动力”
    的头像 发表于 09-01 09:57 986次阅读
    永铭钽电容:藏在<b class='flag-5'>笔记</b>本“电力心脏”中的精密艺术

    STM32H750 USB HS HOST 加 DCMI 接口不能正常工作怎么解决?

    我目前使用STM32H750加USB3300用做USB高速host,然后通过通过DCMI接口读取摄像头数据,摄像头的分辨率是640480(640480*2bytes)。 单独打开USB时,usb
    发表于 07-25 07:22

    GPDV6624C应用笔记1.0版

    电子发烧友网站提供《GPDV6624C应用笔记1.0版.pdf》资料免费下载
    发表于 06-06 17:20 0次下载