MIPI CSI接口调试方法:时序调试

2023-11-01

关于的mipi 的规范,协议及物理接口定义,网上文章确实比较多,想必也是每个想要了解mipi的人首先会阅读的,本人也是其中之一,所以这篇短文主要是想记录自己在调试mipi这个接口时遇到的一些问题;

1. clock lane: continue mode: non-continue mode?

continue mode: 连续时钟模式,即无论data lane上是否有数据在传输,clock lane总是在HS状态,从不进入LP状态。

如图:

non-continue mode:非连续时钟模式, 即当data lane 进入LP状态时,clock lane也会进入LP状态,在下次data lane进入HS状态时 clock lane会先于 data lane进入提前进入HS状态。

如图:

那到底传输时采用那种模式呢?这取决于发送端,两种模式如何取舍呢?

建议非连续模式,笔者在调试中遇到过,连续模式时传输不稳定,采用非连续模式时就稳定了。

为何?

后面会提到。

2. deskew

何为skew, 从字面意思看是倾斜了,不对齐了;

放在mipi的传输中意思就是clock lane和data lane 及data lane与data lane间出现了相位差;

一旦出现相位差,大家采样数据时就可能不在同一个节拍上,会出现传输错误。

所以就要做deskew,通过做deskew来使得大家重新对齐,在同一个节奏下传输数据. 一般当data rate高于1.5G时建议开启deskew。是否开启deskew也是由发送端决定,拿某主流sensor举例:

它就会明确告诉你要不要开启deskew及 deskew时要用多少个UI

deskew的时机:一旦开启deskew, 在每次mipi的状态由LP-HS时都会先做一次deskew。

即每次开始真正的数据传输前都会做一次deskew:

在高data rate下,deskew确实必要的,笔者曾调试一款sensor的输出data rate是 2496Mbps, 不做deskew 时传输非常不稳定。

加了deskew后就稳定了。

deskew到底做多少个UI,也不是越大越好,合适的才是最好的,怎么是合适的,接收端的 mipi 控制器的的設計説了算。

 3. global timing

global timing在某些情况下是有调整的余地的,毕竟硬件环境不一样,

这些时序不会是完全都匹配的。

所以在传出不稳定时,其他方向都调过没有效果时可试试调整global timing:

mipi csi dphy的规范里面有定义 这些的timing的最大值及最小值及推荐值。

同时, sensor中也会有相关描述用来调整这些timing的寄存器说明:

调试三板斧到此结束,后续再补充

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MIPI CSI接口调试方法:时序调试 的相关文章

  • 捕获 Camera2 预览帧返回空缓冲区

    我一直在开发一个简单的 Android 应用程序 旨在将流式相机帧从 Android Camera2 API 管道传递到我的算法 我已经制作了几个应用程序 忠实地使用 Android Camera1 API 执行此操作 但即使在检查 Goo
  • 将预览帧转换为位图

    我知道这个主题已经在黑板上出现过很多次了 但无论如何我都无法让它发挥作用 我想将预览中的视图帧保存为 jpeg 文件 它看起来或多或少 代码被简化 没有额外的逻辑 异常等 像这样 public void onPreviewFrame byt
  • iphone如何通过Xcode拍照后进入图片库

    大家好 我正在实施以下代码来通过我的应用程序拍照 UIApplication sharedApplication keyWindow setRootViewController picker picker sourceType UIImag
  • Android:访问硬件相机预览帧数据而不绘制它们

    根据 Java SDK 端的 android 相机文档 必须为相机预览帧提供一个要绘制的 可见且活动的 表面 以便访问帧数据 我已经链接了我在这里遇到的一些内容 我是新人 所以最多有 2 个超链接 但是在最终在这里发布我自己的问题之前 我查
  • 适用于图片和视频的 Android 相机

    我想在我的 Android 应用程序中启动相机活动 并且我知道该怎么做 我想问当相机活动结束时 如何检查是否是用户拍摄的照片或视频 UPDATED 我有一个对话框 它询问两件事 新照片或视频 现有照片或视频 如果没有的话 1 这意味着相机将
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • 还有其他访问相机的替代方法吗?

    除了使用 ActionScript 3 之外 还有其他方法来访问相机吗 import flash media Camera videoInstance attachCamera cameraInstance 或者我应该使用任何 API 吗
  • Android 致命信号 11 (SIGSEGV) at 0x00000040 (code=1) 错误

    我正在开发一个 Android 应用程序 我正在其中获取用户照片图像 5张图像 使用opencv2 4 2具有面部检测功能的相机 并使用 Web 服务保存到服务器中的数据库中 为此 我使用 Opencv2 4 2 人脸检测示例 Ksoap2
  • 以编程方式截取屏幕截图不会捕获 surfaceVIew 的内容

    我有一个应用程序 我希望能够捕获屏幕截图 布局的背景是一个 SurfaceView 显示来自后置摄像头的视频 下面的代码可以截图 但是surfaceView的内容保存为黑色 这是代码 btn setOnClickListener new O
  • 从连接到计算机并在成像设备中列出的相机捕获图像

    我有一台佳能 EOS 1000D 当我将其连接到计算机时 它列在 控制面板 gt 成像设备 下 我想以编程方式拍照 我猜想成像设备中列出的所有设备都具有相同的接口 可能是 TWAIN 并且具有向它们发送命令的标准方法 TWAIN可以做到吗
  • Android相机无法从后台服务拍照

    我已经实现了一项从后台线程拍照的服务 但照片永远不会在我的任何设备上拍摄 这是代码 下面记录输出 public class PhotoCaptureService extends Service private static final S
  • 相机 API:跨设备问题

    我正在开发一个相机应用程序 基本上作为消息传递应用程序的一部分来附加图像等 该应用程序需要适用于 gt SDK 2 2 并且 I can t尽可能多地使用默认的 Android 相机 因为 该应用程序的性质决定了图像不应保存到磁盘上 一些
  • iPhone 相机访问权限?

    我想知道如何访问 iPhone 相机并实时使用它 例如 仅在相机视图上绘图 另一个相关问题 可以显示吗同时 4 个摄像机视图就像 Mac 上的 Photo Booth 一样 您可以使用 AVFoundation 来做到这一点 void in
  • 有机会通过 Android NDK 相机访问来减少快门时间吗?

    我编写了一个 Android 应用程序 可以从相机捕获实时预览 快门时间短很重要 至少应该是恒定的 目前我使用以下代码来实现低快门时间 Parameters params camera getParameters params setSce
  • iOS 相机视频实时预览与拍摄的照片有偏移

    我正在使用相机工作 相机以实时反馈的形式呈现给用户 当用户单击时 就会创建图像并将其传递给用户 问题是图像被设计为位于最顶部位置 该位置高于实时预览显示的位置 您知道如何调整相机的框架 使实时视频的顶部与他们要拍摄的照片的顶部相匹配吗 我以
  • 相机预览的有效模糊

    到目前为止我尝试过的 将每一帧转换为位图 然后用library https github com wasabeef Blurry并将其放入ImageView这是在相机预览前 显然太慢了 就像1 fps 然后我开始使用渲染脚本这会模糊每一帧
  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • Ionic-Angular.js 拍照并发送到服务器:空图像

    因此 我设法使用自定义指令通过 Angular js 将图像上传到我的服务器 我还成功地实现了 Cordova 的相机功能 现在我尝试连接两者 但是当将图像发送到服务器时 它们被存储为空 我认为问题在于我使用输入字段来获取图像 并且它获取了
  • 如何使用键盘和鼠标控制相机 - Three.js

    我在 WEB GL 中有一个带有 Three js 的 3D 环境 并且我曾经使用 Orbitcontrols js http codepen io nireno pen cAoGI http codepen io nireno pen c
  • 在我授予许可后,表面视图不显示相机

    public View onCreateView LayoutInflater inflater Nullable ViewGroup container Bundle savedInstanceState View view inflat

随机推荐

  • 数据库的介绍

    1 什么是数据库 数据库是按照数据结构来组织 存储和管理数据的仓库 通常所说的数据库表示的是数据库的管理系统 并非是在的数据仓库 2 数据库的发展史 2 1早期的数据库 早期的数据库的存储方式是通过大量的分类 比较和表格绘制的机器运行数百万
  • 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(9)

    没有想到上一个问题还没有完全结束 解决了之后我们又发现了新的问题 关于上一个问题请移步山东大学项目实训开发日志 基于vue springboot的医院耗材管理系统 8 About 的博客 CSDN博客 问题是什么呢 我们发现中心库可以看到全
  • EduCoder_web实训作业--JavaScript学习手册三:JS运算符

    这里是2021 1 4 上午11 31 真不错 一上午发了三篇 所以 你有没有认真听实习课呢 可以在讨论区 讨论一下这个实习你学到了什么 假如认真听了的话 反正我是没认真听 第一关 请在此处编写代码 Begin var a var b va
  • 物联网毕设 - stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • 网络安全深入学习第六课——热门框架漏洞(RCE— Weblogic反序列化漏洞)

    文章目录 一 Weblogic介绍 二 Weblogic反序列化漏洞历史 三 Weblogic框架特征 1 404界面 2 登录界面 四 weblogic常用弱口令账号密码 五 Weblogic漏洞介绍 六 Weblogic漏洞手工复现 1
  • git 进阶系列教程--add

    git add 将工作区内容放入暂存区 功能介绍 将工作区 working directory 中的内容放入暂存区 staging area 追踪文件 解释 刚被添加到工作区的文件处于未跟踪状态 Untracked files 该命令会将新
  • Elasticsearch自定义评分算法

    官方文档地址 https www elastic co guide cn elasticsearch guide current boosting by popularity html
  • Unity-动作系统-案例学习(4)人物受伤和死亡

    系列文章目录 一 人物移动和转向 二 人物跳跃和落地 三 人物攻击和判定 四 人物受伤和死亡 目录 前言 一 人物受伤逻辑分析 二 人物受伤和死亡动画逻辑 三 人物受伤脚本实现 1 Damageable脚本 受击对象上 2 IMessage
  • 【微服务】springboot 多模块打包使用详解

    div class htmledit views div
  • C语言随机生成mac地址的代码

    以下是使用提供的 rand mac int get 函数和 random mac addr create 函数来生成随机 MAC 地址的示例代码 include
  • 【华为OD机试python】工单调度策略【 2023 Q1 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 当小区通信设备上报警时 系统会自动生成待处理的工单 工单调度系统需要根据不同的策略 调度外线工程师 FME 上站去修复工单对应的问题 根据与运营
  • 音频文件的采样率转换为 16K 的三种方法(python代码)

    要将音频文件的采样率转换为 16K 可以使用 Python 的 wave 模块和 scipy signal 模块 具体步骤如下 打开原始的音频文件 并读取其采样率和采样数据 import wave 打开音频文件 with wave open
  • win10 网卡驱动正常搜索不到WiFi信号 解决方法

    昨天晚上家里停电 早上起来发现电脑没有WiFi了 检查了一上午才搞好 1 检查是否是路由器问题 路由器信号正常 因为手机能连接使用 2 检查是否是网卡驱动问题 打开电脑 管理 设备管理器 查看网卡驱动是否显示异常 打开cmd 输入ping
  • 2023年中国酒店业数字化转型趋势报告

    报告在去年内容的基础上 做了进一步的延展 分析了领先型企业在数字化体系建设过程中表现出的特点及未来技术投资方向 深度剖析了处于数字化转型 进展期 的中国酒店业所取得的数字化成果以及未来的趋势洞察 关注公众号 互联互通社区 回复 SZJJ30
  • 将jar包打包成镜像:Dockerfile 看这一篇就够了

    新建一个目录 该目录下 Dockerfile文件 默认文件名称 内容下面所示 对应的jar包 penjdk 8 jre 为基础镜像 来构建此镜像 可以理解为运行的需要基础环境 FROM openjdk 8 jre WORKDIR指令用于指定
  • unity使物体运行时自动旋转

    using System Collections using System Collections Generic using UnityEngine public class jiaobeng MonoBehaviour public f
  • 网络安全难学吗?前途怎么样?

    会者不难 网络安全是比较复杂的 涵盖网络的各个方面 入门简单 但是要深入学习相对比较难一些 还是要通过各种方法去系统的学习网络安全知识 掌握网络安全技能 才能比较容易的进入到网络安全行业 发展前景 根据相关调研今年上半年 网络安全产业人才需
  • 微信小程序服务器里有数据库吗?,微信小程序云开发服务端数据库API 在集合上新增记录...

    Collection add 在集合上新增记录 函数签名如下 function add options object Promise 参数说明字段名类型必填默认值说明dataObject是新增记录的定义 返回值说明 Promise 的 re
  • Java 概述

    目录 1 Java 语言背景介绍 2 Java 语言跨平台原理 3 JRE 和 JDK 4 JDK 的下载和安装 1 Java 语言背景介绍 语言 人与人交流沟通的表达方式 计算机语言 人与计算机之间进行信息交流沟通的一种特殊语言 Java
  • MIPI CSI接口调试方法:时序调试

    关于的mipi 的规范 协议及物理接口定义 网上文章确实比较多 想必也是每个想要了解mipi的人首先会阅读的 本人也是其中之一 所以这篇短文主要是想记录自己在调试mipi这个接口时遇到的一些问题 1 clock lane continue