当前位置: 首页 > news >正文

RK3588/RK3576/RK3562、T113/T527 MIPI CSI调试思路

调试思路

以RK3588调试ov13850摄像头为例。

第 1 步: 确认模组上电时序是否正常

能正常识别摄像头chip id,说明上电时序没有问题,模组与RK3588能正常进行 i2c 通信。

dmesg | grep  13850

图片

读不到 chip ID 对比

图片

如上电时序不正常,先解决i2c通信问题(嵌入式分享#19:《嵌入式外设调试思路》--I2C设备篇),再往下一步调试。

第 2 步:确认驱动是否注册成功

Sensor 已经注册成一个 entity,说明已经注册成功。

media-ctl -d /dev/media0 -p | grep 13850

图片

第 3 步:确认是否生成 videoX

查看生成设备节点,如下。

v4l2-ctl --list-devices

图片

查看支持格式

v4l2-ctl --list-formats-ext -d /dev/video0

图片

第 4 步:抓图是否有输出

抓数据流,不保存图,仅刷出帧率(该方法常用来调试,确认是否有MIPI输出数据)。

v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='BG10' --stream-mmap=4

系统会不断刷数据,说明获取视频流正常。

图片

如能正常抓取原始视频数据,则可以使用gst-launch-1.0命令获取图像数据从屏幕进行预览。

gst-launch-1.0 v4l2src device=/dev/video55 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480,framerate=60/1 ! waylandsink

排查思路

(1)Sensor ID 无法识别,i2c 通信失败

请按以下顺序排查:

  • Sensor 的 7-bits i2c slave id 是否正确, 是否误写成8-bits。

  • mclk 是否有输出, 电压幅度是否正确。mclk 一般是 24Mhz,也有27Mhz。

  • Sensor 的上电时序是否满足要求,主要包括 avdd, dovdd, dvdd, power down, reset 等。

(2)没有收到帧数据,也没有看到 ISP/MIPI 有报错

  • 确认 kernel log 中有没有关于 MIPI 的报错,比如用 dmesg | grep MIPI 看看有没有出错信息。

  • 确认 kernel log 中有没有出现 Sensor 的 I2C 读写失败,如果 Sensor 在配置寄存器时失败了,Sensor也可能没有正确初始化并使能输出。

  • 实际量测下 MIPI 的 clk 及 data 线上有没有信息输出。如果没有,建议从 Sensor 初始化及硬件方面分析。

  • 实际量测有 MIPI 信号输出,但没报错也收不到数据,请再次检查MIPI 需要设置的参数(比如 sensor 分辨率、输出格式等)。

  • 请确认 I2C 通讯没有错,Sensor 的寄存器初始化列表有全部写到 Sensor 中,在 Sensor 驱动中,最后使能 MIPI 输出的是 s_stream() ,请确认在这个函数前,特别是s_power() ,不要让 MIPI 信号输出。这是因为在 s_stream() 前,MIPI 控制器还未实际准备好接收数据,如果在 s_stream() 前输出数据,可能导致 MIPI 协议头 SOT 信号丢失,也可以将 Camera Sensor 端 clock lane 由 continue 模式切换到 no continues。(这点需要对驱动较为熟悉)

(3)经常会出现抓 Raw 数据没数据返回,串口也没报错,抓图的时候报 select timeout 的错误。

此现象可以按照如下排查:

  • 查看DPHY的状态
    根据TRM手册,查看dphy的stopstate 来判断是否有收到数,例如查看RK3588 CSI0:io -4 -l 0x100 0xfdd30000需要连续读取10次上述寄存器,正常有识别到 MIPI 信号的话,对应的stopstate会在0/1之间变化。

  • 测量 MIPI 信号。使用示波器测量是否有 MIPI 通道信号的输出。

  • 确认 sensor 寄存器

  • 确认 sensor mipi ou t的寄存器是正常的,可以使用i2c工具读取,推荐使用 i2ctransfer。

  • 确定芯片的睡眠和复位引脚电平是否正常。

欢迎关注“嵌入式分享”,持续更新!

相关文章:

  • Windows防火墙指南大全:安全红线与科学替代方案
  • MongoDB:索引
  • 解锁n8n:开启工作流自动化的无限可能(5/6)
  • 一个免费的视频、音频、文本、图片多媒体处理工具
  • 16_设备树中的remote-endpoint演示基于视频字符设备Linux内核模块
  • 集群聊天服务器---muduo库的使用
  • 鲲鹏服务器创建Zookeeper镜像实例
  • 网络安全智能体:重塑重大赛事安全保障新范式
  • 《Go小技巧易错点100例》第三十六篇
  • TDengine 3.3.5.0 新功能——服务端查询内存管控
  • 【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性
  • 【分布式技术】Bearer Token以及MAC Token深入理解
  • 《HTTP权威指南》 第7章 缓存
  • 算法入门——排序算法详解(C++实现)
  • ANN、CNN、RNN 深度解析
  • Java面试复习:Java基础、OOP与并发编程精要
  • Coilcraft电感上的横线是什么意思?电感有方向么?
  • 每日算法刷题Day35 6.22:leetcode枚举技巧枚举中间2道题,用时1h
  • 用可观测工具高效定位和查找设计中深度隐藏的bug
  • 跨平台高稳定低延迟的RTSP转RTMP推送方案实践
  • 武汉SEO网站宣传公司哪家好/怎样在浏览器上找网站
  • 建设银行徐州分行网站/论坛推广平台有哪些
  • 陈村建网站/网站seo排名优化软件
  • 长沙网络营销首选智投未来/河北seo网络优化师
  • 做360网站中保存的图片存在哪里的/搜索引擎在线
  • 和孕妇做网站/邯郸seo营销