MIPI D-PHY的校准测试

2023-11-01

        MIPI的校准环节类似于DDR中的读写训练,其目的都是为了满足最佳的眼图采样时刻,因此,在系统的传输速率很高、通道之间存在延时、设计中有外部干扰等等影响因素的时候,信号抖动将会被增强,此时,校准将对长时间的稳定运行起到关键的补偿作用,在MIPI D-PHY V2.0的标准定义中,关于校准的描述如下图所示,其中,明确定义了当传输速率≥1.5Gbps时,需要进行校准,并且,可分为初始化和周期校准两种形式,推荐使用初始化校准,周期校准仅做为可选项,不做强制要求。

 

        初始化校准,被定义为在系统上电完成后、信号开始传输之前的时间段,发送特定的校准码流;

        周期性校准,被定义为每段高速信号开始传输之前或者总线特定状态发生变化之前,都会发送特定的校准码流。

        有经验的工程师,此时,就会发现一个问题:周期性校准会比初始化校准更加影响系统传输带宽,所以,小编到目前为止,还没有碰到需要进行周期性校准的场景,毕竟超过1.5Gbps,系统带宽使用率就已经相当高了,不太可能再空出专门的带宽以用于校准的循环编码输出。

        综上所述,本文探讨的都是基于初始化的校准。

        实际使用时,为了降低功耗以及辐射功率,经常会对MIPI的数据线进行低功耗模式的配置(即不传输高速信号码流时,通过特殊的编码操作,将总线悬挂不产生工作电流),如下图所示,正常的数据发送状态变化会经历:LP-11 --> LP-01(TLPX) --> LP-00(THS-PREPARE) --> HS0(THS-ZERO) -- > HS Sync-sequence(THS-SYNC) --> HS Data --> THS-TRAIL --> LP11,除了对数据总线可以进行低功耗模式的转换之外,还可以对时钟线进行类似的操作,以达到更低功耗的目的,但是多见于手机的应用中,小编所从事的汽车电子行业,则鲜有此超低功耗的应用。

        初始化校准操作,其开始前、结束后的状态与正常模式相同,如下图所示,校准的数据发送状态变化会经历:LP-11 --> LP-01(TLPX) --> LP-00(THS-PREPARE) --> HS0(THS-ZERO) --> HS Skew-sequence(TSKEWCAL-SYNC) --> TSKEWCAL bits --> THS-TRAIL --> LP11,其中, TSKEWCAL-SYNC16UI的“1”,其代替了正常模式下的THS-SYNC TSKEWCAL bits为最小2^15UI的连续时钟信号(即连续的“01”),完成后,即退出到低功耗模式。

 

        测试时,由于初始化校准并不是发生在MIPI正常工作时,因此,不能通过示波器自动触发进行测量,需要设定触发方式进行单次抓取,因此,数据的测量也只能通过手动方式进行操作和判定,并且在这个过程中,由于MIPI接收芯片只是做为被动接收方,校准码流的状态完全由发送芯片的配置所决定,因此,开始测量前,需要明确MIPI发送芯片的相关参数配置。

        小编的应用中,MIPI输入速率为1.8Gbps,通过单次电平触发第一个数据线上的LP-01,抓取到如下图所示的校准波形,其中,绿色波形是时钟线的差分信号,黄色波形为Data0通道P的单端信号,蓝色波形为Data0通道N的单端信号,首先,需要根据工作状态大致判定所抓取的波形是否是真的校准信号,然后,需要放大时间轴刻度,再根据前文中描述的校准过程对每个时间段进行精确测量,具体步骤如下:

        1) 如下图所示,TLPX=102.5ns,发送端要求最小50ns,因此,满足设计要求;

        2) 如下图所示,THS-PREPARE=59.886ns,发送端要求其范围为40+4*UI~85+6*UI,即42.22~88.33ns,满足设计要求;

 

         3) 如下图所示, THS-ZERO=143.98ns,发送端要求最小为(145+10*UI)-(85+6*UI),即62.22ns,因此满足设计要求;

        4) 如下图所示, THS-SYNC=8.7773ns,即16UI的“1”;

 

        5) 如下图所示, TSKEWCAL bits = 72.862μs,即持续了72.862μs∗1.8Gbps≈2^17 UI因此,满足最小2^15 UI的设计要求;

 

        6) 如下图所示,THS-TRAIL=93.509ns发送端要求最小为60+4*UI,即62.22ns,满足设计要求;

 

        至此,小编完成了对MIPI初始化校准的验证,最终,结果完全符合芯片发送端配置要求,接收端也可以正常工作。

        接下来,就需要在这个校准的配置下,进行MIPI的模板以及压力测试,以确保信号完整性以及系统的长期工作稳定性。

 

 

 

 

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

MIPI D-PHY的校准测试 的相关文章

  • Unity中两种播放器

    一 Animator动画播放器 1 简单搭建UI 通过Slider来控制Cube当前状态动画的播放 2 给Cube加上Animator组件 做两个简单的动画 随便做个来回移动的动画就行 注意要关闭动画的循环播放 3 给摄像机挂在脚本 并拖拽
  • sql注入漏洞测试2(初级篇)--为了女神小芳^o^

    今天的的靶场是来自封神台的一个sql注入靶场 图片如下 点击进入传送门 结果如下图所示 先观察网站的url 查看是否有sql注入特征的信息 结果发现没有什么有用信息 但是图片下面有一个超链接 点进去看看 进去之后看到了网站的url有我们想要

随机推荐

  • C++ 数组详解

    C 支持数组数据结构 它可以存储一个固定大小的相同类型元素的顺序集合 数组是用来存储一系列数据 但它往往被认为是一系列相同类型的变量 1 数组初始化 2 char 数组 3 指针 动态数组 1 数组初始化 在 C 中要声明一个数组 需要指定
  • ENVI汉化教程

    ENVI 5 3汉化教程 向上兼容 提示 此教程用的是官方的方法 非第三方的插件 此办法仅适用于ENVI5 3以上的版本 前言 ENVI The Environment for Visualizing Images 是一个完整的遥感图像处理
  • 欧科云链OKLink全新推出Onchain AML服务 助力新金融合规健康发展

    据香港大公报报道 为期两天的全球高端经济峰会2023格林威治经济论坛 GreenwichEconomicForum 下称GEF论坛 于6月15日在香港交易所举办 欧科云链控股有限公司 下称 欧科云链 股票代码 01499 HK 受邀出席 并
  • Object slicing(对象切片)

    关于对象切片Thinking in C 中有这么一段话 If you upcast to an object instead of a pointer or reference something will happen that may
  • Unity3D游戏开发--基础游戏 SpaceShooter学习笔记(运动、销毁相关脚本)

    运动 销毁相关脚本 角速度脚本 直线运动脚本 陨石子弹回收脚本 击中销毁脚本 爆炸效果的回收 陨石移动分为直线运动和旋转 因为子弹的发射也是直线运动 所以直线运动和旋转分开 写两个脚本 子弹和陨石的直线运动公用一个脚本 角速度脚本 usin
  • Shell--基础--10--test命令

    Shell 基础 10 test命令 1 介绍 用于检查某个条件是否成立 可以进行数值 字符和文件的测试 2 数值测试 2 1 案例1 bin bash 定义变量 num1 100 num2 100 if test num1 eq num2
  • selenium webdriver 开启网页失败,被发现为爬虫,的解决办法

    1 换用火狐浏览器 2 隐藏谷歌浏览器中的特殊变量值 from selenium import webdriver options webdriver ChromeOptions 防止被检测 旧版本用法 1 chrome在79版之前用这个
  • 虚拟机VMware中实现linux与windows的共享

    方法有很多 今天讲解一下用linux操作系统中自带的samba服务器实现 使用samba服务器实现 类似于2台计算机通过网络远程访问来实现文件共享 即 虚拟机VMware中的linux计算机和本地windows计算机 samba是在linu
  • 嵌入式硬件通信接口协议-IIC(二)分层架构设计模拟接口

    文章首发于同名微信公众号 DigCore 欢迎关注同名微信公众号 DigCore 及时获取最新技术博文 原文链接 https mp weixin qq com s jFxic0iOet rIlWi3is8eQ 关于分层设计的思想 在之前的一
  • 前端轮播图插件Swiper使用新手详细教程

    Swiper应用广泛 使用频率仅次于jQuery 轮播图类排名第一 是网页设计师必备技能 大量demo即下即用 前端新手亦可快捷做出精美效果 使用Swiper swiper官网链接 1 进入官网 点击开始使用 2 下载Swiper 1 点击
  • 数字图像处理-Matlab实现图像边缘检测

    1 边缘检测函数 1 1Sobel算子边缘检测 function OutImage SobelOperate InputImage Direction 功能 Sobel边缘检测 参数 InputImage为输入单通道图像 Dirction为
  • 【python正则表达式 实战示例】求数组全部相邻数据

    本节利用python的正则表达式快速求解数组中相邻数据的位置 含完整的python源码 求解过程和正则表达式详细解析 1 求解步骤 1 生成随机数据 x 用于输入与测试 2 对原始数据进行从小到大排序 对排序后的数组利用numpy diff
  • windows下编译proj库

    编译sqlite 下载地址 SQLite Download Page 把sqlite amalgamation XXXXX zip sqlite tools win32 x86 XXXXX zip sqlite dll win32 x86
  • STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法 英语 MD5 Message Digest Algorithm 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 MD5由美国密码学家罗纳德
  • 未启用远程计算机的访问,技术员解决win10系统连接远程提示未启用对服务器的远程访问的技巧...

    今天和大家分享一下win10系统连接远程提示未启用对服务器的远程访问问题的解决方法 在使用win10系统的过程中经常不知道如何去解决win10系统连接远程提示未启用对服务器的远程访问的问题 有什么好的办法去解决win10系统连接远程提示未启
  • 使用纯原生JS实现日历

    废话不多说 该有的注释都在代码里了 直接上代码 HTML
  • 【排序算法】堆排序

    堆排序 思路 思路 1 将数组构造成大顶堆 假设此时有n个节点 数组长度为n 2 此时大顶堆的根节点是数组中最大的数 将其与数组末尾元素交换 将剩下的长度为n 1的数组堆化 注意 堆化是指在左右子树都为大顶堆的前提下 插入一个新的根节点 将
  • 如何用Python语音合成,以及文字转语音~

    今天就给大家带来个语言识别跟语言转文字的小工具 感兴趣的铁汁萌可以往下滑了 1 直接使用 在1 2官网注册后拿到APISecret和APIKey 直接复制文章2 4demo代码 保存为online tts py 在命令行执行 python
  • JDBC 负载均衡读取mysql cluster

    语句使用 jdbc mysql loadbalance host1 port host2 port host3 port database propertyName1 propertyValue1 propertyName2 propert
  • MIPI D-PHY的校准测试

    MIPI的校准环节类似于DDR中的读写训练 其目的都是为了满足最佳的眼图采样时刻 因此 在系统的传输速率很高 通道之间存在延时 设计中有外部干扰等等影响因素的时候 信号抖动将会被增强 此时 校准将对长时间的稳定运行起到关键的补偿作用 在MI