你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用

[复制链接]
实在太懒于是不想取名 发布时间:2025-3-12 18:43

前言

去年末ST推出的STM32N657DK开发板中,它的摄像头比较特殊。

image.png

CSI是相机串行接口的简称和之前常用的类似Ov2640等SCCB接口的摄像头相比,CSI 接口支持高速数据传输,数据传输速度比 SCCB 快得多。例如,CSI 总线提供高达 1Gbps 的数据传输速度,而 SCCB 的数据传输速度相对较慢。具有更低的功耗,采用串行传输方式,减少了信号线的数量,从而降低了功耗。具有更低的功耗,因为它们采用串行传输方式,减少了信号线的数量,从而降低了功耗。

而STM32N6是ST的MCU中第一款支持CSI的单片机,在此之前CSI接口为STM32MP系列独有。

CubeMX在N6使用中的BUG

这里我要吐槽一下CubeMX在N6中的各种Bug。首先是RIF的BUG,作为防止用户异常访问的防火墙机制,在N6推出时,CubeMX中并没有直接的RIF选项,需要在搜索框中搜索RIF才可以打开RIF配置,否则在使用摄像头和LCD显示屏的时候就会触发内容保护。

image.png

不过今天发现CubeMX可以更新了,而官方的STM32N6的库也更新到了1.1版本。image.png

新版本的CubeMX完善了这个Bug,可以直接配置RIF选项。

其次是CSI和DCMIPP的BUG,而这个BUG是妨碍摄像头使用的最大BUG。

image.png

CSI在配置完后,启动CubeMX生成代码的时候会发现CSI的内容没有填充,而DCMIPP的配置则会缺少很多很多的内容。

image.png

为了解决这个问题,只能从ST的官方库的例程找到CSI和DCMIPP配置。

image.png

直接CV官方的CSI和DCMIPP的配置参数,写入配置。

然后可能是由于CSI的问题,导致时钟树中的IC18是被禁用的。

image.png

这里为什么要强调一下IC18呢,因为IC18提供CSI的时钟源。

image.png

CSI的时钟源只能由IC18提供,这里并不能配置CSI的IC18,这里也有可能是因为CSI的BUG导致。

image.png

而且DCMIPP的主时钟应该和CSI的主时钟相同,因此解决的问题还得包括解决CSI的时钟问题。

image.png

官方的例程中对DCMIPP的配置是将其配置为300MHZ,经典配置是333MHZ,这点和手册中描述的一致。

image.png

image.png

对CSI的时钟配置是由PLL1引入,将其60分频。而上面配置DCMIPP的时候PLL1为1200MHZ,因此CSI的主频是1200/60 = 20MHZ。image.png

当然别忘记了开启CSI的时钟总线使能,这样子就能够解决CubeMX关于CSI和DCMIPP的BUG了。

上述BUG花了很长的时间去启动摄像头,不过从CubeMX的这次更新可以看出官方已经在逐渐的完善N6的功能了,期待这些问题的解决。

驱动移植

解决掉上述问题之后,找到ST的BSP支持包

image.png

IMX335_Probe(IMX335_R2592_1944, IMX335_RAW_RGGB10);

 if (HAL_DCMIPP_CSI_PIPE_Start(&hdcmipp, DCMIPP_PIPE1, DCMIPP_VIRTUAL_CHANNEL0 , BUFFER_ADDRESS, DCMIPP_MODE_CONTINUOUS) != HAL_OK)

 {

   Error_Handler();

 }

启动DCMIPP即可,当然这里还要配置TDC以便于LCD显示屏启动还有解除LTDC和DCMIPP的内存保护。

video.gif

image.png
收藏 评论0 发布时间:2025-3-12 18:43

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版