MIPI DPHY接口的若干种实现方案概述

2023-11-01

一、MIPI DPHY接口简介

       MIPI  DPHY是MIPI的一种物理层,其协议层有CSI和DSI两种,其中CSI主要用于图像接入,如图像传感器Sensor;DSI主要用于图像输出,如手机屏幕等。

        有关MIPI DPHY及CSI和DSI的技术背景可以Google,技术细节也可以参阅对应的标准文档(标准可扫描二维码添加公众号或QQ群获取)。这里主要介绍以下几个关键点:

    (1)MIPI DPHY的是源同步系统,由发送端输出时钟;

    (2)MIPI DPHY分为低速(LP)和全速(HS)两种传输状态,其中低速模式下不强制要求输出时钟且电平标准不一样;

    (3)MIPI DPHY在LP状态下输出电平是LVCMOS 1.2V,在HS状态输出电平为SLVS。

      MIPI DPHY物理层的以上三个关键的特性,就意味着实现它具有一定特殊性,下面就实现方案一一道来。

二、MIPI DPHY RX实现

        DPHY RX包括CSI和DSI两种协议。MIPI CSI常用于图像传感器Sensor接入(实际上几乎所有的消费级CMOS Sensor的输出接口都是MIPI),其中最广泛的要数手机摄像头了。MIPI DSI主要用于显示,其中手机屏幕、PAD之类的消费级产品几乎都是,其中DSI的RX一般是在屏端,有专门的ASIC直接实现或转成LVDS,这样的芯片有ICN6201、ZA7783、SSD2130、SSD2212等专门芯片,这里不展开介绍。主要是对MIPI DPHY CSI接收的几种实现方案展开说明。

   1)实现方案一

        采用带MIPI DPHY RX)接口的专门处理器(SoC)。这方面手机就是典型的例子,无论是高通、华为还是三星,它的手机SoC一定支持MIPI DPHY接口,最新的还支持CPHY(一种内嵌时钟的3线/Tri的传输方式)。使用专门处理的实现方式咱们不细说了,这个地球人都了解。

   2)实现方案二

        采用专门的接口转换芯片。对不能直接支持MIPI DPHY接口的处理平台又必须接入MIPI的,往往会考虑采用专门的接口转换芯片,如TOSHIBA的TC358746AXBG和TC358748XBG系列,前者实现从MIPI CSI到24bit并行数据的转换,后者实现24bit并行数据到MIPI CSI的转换。这样,接口的实现方案就变成如下图1所示了。

                                                                       图1  MIPI CSI和并口互转方案示例

    3)实现方案三

     使用FPGA在很多情况下,需要FPGA来实现一些定制化的需求。使用FPGA的方案,大约归纳起来有三种:

     a)采用带支持MIPI_DPHY_DCI IO standard的通用FPGA

      目前熊猫君了解到的可以直接支持MIPI_DPHY_DCI电平标准的FPGA仅有Xilinx的UltraScale系列和UltraScale+系列的直接支持(HP BANK Only),IO结构如图2。不过呢,这两个系列的FPGA是Xilinx的最新的高端器件架构,价格可是不菲。

 

                                                       

                                                                            图2 UltraScale(+) MIPI DPHY DCI IO结构

      b)采用低成本专用FPGA

      说起专用MIPI接口FPGA,Lattice应该是典范,他们家有一个专门的CrossLink系列支持MIPI DPHY CSI和DSI,请看下表1。

                                                                                 表1 Lattice CrossLink系列器件列表

       从表1可以看出,该系列FPGA的逻辑量均为5936个LUT,支持1~2个4Lane MIPI通道,小封装低功耗,非常适合做MIPI到并口之间或MIPI到LVDS之间的接口转换,实现思路如图3所示。

                                                                                  图3 CrossLink器件实现架构

       c)电平转换LVDS后接入FPGA

       FPGA接入的第三种方法就是通过将SLVS电平转换到LVDS接入FPGA,这种方案不挑FPGA,只要支持LVDS且IO速率够,逻辑量够用就行。针对不同的速率,一般有两种做法:

       第一种做法:采用电阻网络进行电平转换。

       这种方法主要针对单Lane通道速率在800Mbps以下的情况,电阻匹配网络的设计如下图4所示。

                                                                   图4 MIPI DPHY电阻匹配网络接收方案

      第二种做法:使用专门ASSP芯片转换到LVDS。

      使用专门ASSP进行转换主要针对单Lane速率在800Mbps以上的情况,目的是为了确保信号完整性,确保在高速率下的眼图质量。当然,这种方法也不挑FPGA,用哪家的都行,只要支持LVDS且IO速率够,逻辑量够用就可以了。国外有一家公司专门做这种MIPI DPHY转LVDS的ASSP芯片(MC20001),实现方案如下图5所示,这种方案可以支持到2Gbps/Lane速率以上,只要FPGA的IO速率够用。

                                                                   图5 使用MC20001转换ASSP接收方案

      以上就是对MIPI CSI几种实现办法的简单总结。

三、MIPI DPHY TX实现

       MIPI DPHY TX实现方案跟MIPI DPHY RX一样,也是分成三大类:①采用带MIPI DPHY TX)接口的专门处理器(SoC)、②采用专门的接口转换芯片、③使用FPGA。第①项不再赘述,仅就②③项与MIPI DPHY RX的实现差异部分做描述。

     (1)采用专门的接口转换芯片

       MIPI DPHY TX专门的并口(DPI)转MIPI的片子很多,比如支持DSI协议的有晶门科技,就是专门从事此类显示相关桥片的设计(如SSD2828);还有前面提到的TOSHIBA,也提供并口到MIPI CSI的互转。

      (2)使用FPGA

      使用FPGA还是三种种选择,一种是使用支持MIPI DPHY标准的UltraScale(+)器件,一种是使用Lattie的专用CrossLink系列器件(参照前文),一种是使用通用FPGA。使用通用FPGA也是一样,可以使用电阻网络进行电平的转换或使用专用的ASSP芯片,对速率适配的条件也是一样,下图6是使用通用FPGA的实现方案。

                                                                 图6 使用通用FPGA实现MIPI DPHY TX方案。

        以上是对实现MIPI DPHY的若干种方案描述,希望能对有需求的同行们起到抛转引玉的作用,其中有不对之处,请不吝赐教。另外,博主可提供MIPI接口相关的图像传感器输入采集和液晶屏显示输出的全套软硬件方案和技术服务,有关技术方面的探讨,欢迎加入QQ群或微信公众号讨论交流。

                                   

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

MIPI DPHY接口的若干种实现方案概述 的相关文章

  • Verilog--CDC跨时钟域处理(快时钟域到慢时钟域)

    Verilog CDC跨时钟域处理 快时钟域到慢时钟域 CDC问题 单比特信号的跨时钟域问题 从快时钟域到慢时钟域 从慢时钟域到快时钟域 多比特信号的跨时钟域问题 异步FIFO 握手协议 DMUX 格雷码 双D触发器 今天先写单比特信号从快
  • Ubuntu16.04主机安装基于ZYNQ的QT交叉编译库

    Ubuntu16 04主机尝试安装基于ZYNQ的QT交叉编译库 前言 基于vivado2016 4 SDK的交叉编译环境 主机Linux上安装vivado2016 4版本 qtcreator上添加基于ZYNQ的交叉编译工具 基本环境 参考资
  • STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?

    1 什么是STA STA 静态时序分析 是时序验证的一种方法 用于计算和分析电路是否满足时序约束的要求 2 为什么需要STA 电路能否正常工作 其本质上是受最长逻辑通路 即关键路径 的限制 以及受芯片中存储器件的物理约束或工作环境的影响 为
  • ZYNQ 库函数学习之SPI

    SPI是串行外设接口 Serial Peripheral Interface 的缩写 是一种高速的 全双工 同步的通信总线 并且在芯片的管脚上只占用四根线 节约了芯片的管脚 同时为PCB的布局上节省空间 提供方便 正是出于这种简单易用的特性
  • PLL时钟约束

    方法 1 自动创建基时钟和 PLL 输出时钟 例 derive pll clocks 这一方法使您能够自动地约束 PLL 的输入和输出时钟 ALTPLL megafunction 中指定的 所有 PLL 参数都用于约束 PLL 的输入和输出
  • ZYNQ LINUX 下 PL中断PS记录

    最近ZYNQ的项目需要 调试了PL中断PS的部分 下面将其中了解到信息记录下来 以防遗忘 如图一 图二所示 PL到PS的中断分为16个共享中断 SPI 和4个私有中断 PPI 本文用到了共享中断 着重介绍SPI中断 图一 图二 PL 侧16
  • 硬件设计---了解电源篇

    1 概述 在高速电路设计中一块单板上常存在多种电源 3 3V 1 8V 1 2V 1 0V 0 9V 0 75V等 有时光是对FPGA供电就需要五六种电源 为了便于使用往往用户只需要提供一种或几种电源 然后经过板上电源模块转换到各个目标电源
  • FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)

    目录 一 验证与门 二 验证与非门 三 验证二选一数据选择器 四 验证2 4译码器 五 验证半加器 六 验证全加器 0 初始化定义 1 第一个半加器 2 第二个半加器 3 得到最终进位Co 代码 0决定与 1决定或 一 验证与门 只要有一个
  • win10下安装vivado 2018.3之后ise14.7 的impact 无法使用

    软件版本号 操作系统win10 ise14 7 vivado 2018 3 ise14 7 在win10里面问题总结 1 ise14 7 闪退问题 比较好解决 论坛上比较多的解决方法 2 ise 14 7 windows 10 版本的ise
  • 从零开始zynq linux AXI DMA传输

    本文从0开始叙述过程 使用的工具为vivado2016 4 sdk也是2016 4 准备工作 首先下载如下的目标文件 1 下载xilinx官方的bootloader文件 git clone https github com Xilinx u
  • 【PIPE】流水线设计中的基本模块

    大概分成以下几节 1 概述及协议 2 valid forward valid超前 3 bubble collapse 消除气爆 4 input output skid 不知中文怎么说 5 pipe halt 流水停顿 6 idle pres
  • FPGA Lattice Diamond 开发环境搭建

    FPGA Lattice Diamond 开发环境搭建 Lattice Diamond 软件下载 在浏览器中输入 Lattice 的官网地址 http www latticesemi com 进入官网首页在上方选择产品系列选项 出现如下图所
  • FPGA_MIG驱动DDR3

    FPGA MIG驱动DDR3 说明 FPGA zynq 7z100 DDR3 MT41K256M16TW 107 内存大小为512MB 数据接口为16bit 环境 Vivado2018 2 IP核 Memory Interface Gene
  • 用python接收高速率的UDP数据包

    我正在使用 python 来从 FPGA 接收 UDP 数据包流 并尝试丢失尽可能少的数据包 数据包速率从大约 5kHz 到一些 MHz 我们希望在特定时间窗口 代码中的 acq time 内获取数据 我们现在有这样的代码 BUFSIZE
  • 使用 VHDL 实例化 FPGA 中的 RAM

    我试图按照中的指导实现双端口 RAM这篇优秀的博文 http danstrother com 2010 09 11 inferring rams in fpgas 然而 ModelSim 在编译时给出以下警告 Warning fifo ra
  • VHDL - PhysDesignRules:367

    当我尝试从 VHDL 代码合成 实现和生成程序文件时 我收到警告 当我尝试合成时出现此错误 WARNING Xst 647 Input
  • UIO 设备上的 mmap EINVAL 错误

    在尝试使用 UIO 而不是直接映射后 我在 Xilinx Zynq 上映射物理内存时遇到问题 dev mem 虽然计划是以普通用户身份运行应用程序 而不是root这仍在运行root 显然 第一个映射成功 其余映射到同一个文件描述符12 de
  • 模拟器和合成器之间初始化状态机的差异

    我的问题是关于合成状态机中使用的第一个状态 我正在使用莱迪思 iCE40 FPGA 用于仿真的 EDA Playground 和用于综合的莱迪思 Diamond Programmer 在下面的示例中 我生成一系列信号 该示例仅显示引用状态机
  • 您可以使用类 C 语言对 FPGA 进行编程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在大学里 我用类似 C 的语言编写了 FPGA 不过 我也知道人们通常使用 Verilog 或 VHD
  • 了解 U-Boot 内存占用

    我不明白加载 U Boot 时 RAM 中发生了什么 我正在开发 Xilinx Zynq ZC702 评估套件 并尝试使用 U Boot 在其上加载 Linux 内核 于是我使用Xilinx工具Vivado和SDK生成了一个BOOT bin

随机推荐

  • 业界都有哪些数据库监控工具

    本文主要介绍下数据库监控工具 业界有很多数据库监控工具 以下是一些常见的数据库监控工具及其使用的公司 Zabbix 一款开源的企业级分布式监控解决方案 支持对MySQL Redis MongoDB等多种数据库的监控 使用的公司包括 IBM
  • 【图像处理】RGB、YUV (YCbCr) 图像表示详解

    RGB RGB图像表示是我们最常见的一种图像表示方式 这个非常好理解 三原色可以构成所有颜色 因此通过R G B三个通道的组合 就可以构成一张色彩丰富的图片 下面这张图可以直观感受一下RGB图像表示 从原点到最大值点的连线 就是我们熟知的灰
  • Jenkins连接gitlab提示returned status code 128解决办法

    Docker入门视频教程 Docker从入门到进阶 学习视频教程 腾讯课堂 个人博客纯净版 Jenkins连接gitlab提示returned status code 128解决办法 代码搬运工 在项目中配置git仓库地址 报无权限 Fai
  • 随机生成昵称工具类

    public class NicknameUtil public static final String FIRST NiCK NAME 墨 云 寒 慕容 欧阳 岳 南宫 郝连 司徒 独孤 王 皇甫 公羊 百里
  • Python中的负数取余问题

    12 5 12 5 output 2 3 在数学里 负数取余 遵循的是 如果 a 与 d 是整数 d 非零 那么余数 r 满足 a q d r q 为整数 且 0 lt r lt d 由此可见 我们的被除数 a 12 我们的商 d 5 那么
  • 快速理解ES6的解构赋值?

    function arr return 苹果 茶 蛋糕 我们将上述数组中的值依次赋值给三个变量 并在后续的程序中输出 传统的实现方法 var testArr arr var fruit testArr 0 tea testArr 1 cak
  • java无法解析符号什么意思,Intellij:无法解析符号'springframework'

    我试图用Spring开始我的第一个项目 我使用intellij的想法 我也很新 但无论如何 我跟着在jetbrain网站上写下的步骤 我不知道我做错了什么 但是我在第一个到默认创建的文件上有很多错误 Intellij 无法解析符号 spri
  • SpringSecurity+Oauth2+JWT

    SpringSecurity Oauth2 JWT SpringSecurity Oauth2 JWT 快速入门 自定义登入 自定义登入成功失败处理器 权限判断 自定义异常返回 自定义方法实现权限控制 注解实现权限控制 记住我实现 退出登入
  • WIN7搜索不到共享打印机怎么办? 亲测成功

    1 开启的服务 右键点击 计算机 右键菜单中选择 管理 找到 服务和应用程序 打开 服务 或者用WIN R打开 运行 对话框 输入services msc 按回车键打开 服务 然后 将以下服务的 启动类型 选为 自动 并确保 服务状态 为
  • 【数据库技术】NineData数据复制,加速实时数仓构建

    8 月 30 日 由 NineData 和 SelectDB 共同举办的主题为 实时数据驱动 引领企业智能化数据管理 的线上联合发布会 圆满成功举办 双方聚焦于实时数据仓库技术和数据开发能力 展示如何通过强大的生态开发兼容性 对接丰富的大数
  • mysql输入密码后闪退问题的解决

    1 找到配置文件my ini 然后用记事本将其打开 2 打开后 搜索mysqld关键字 找到后 在mysqld下面添加skip grant tables 保存退出 若提示不让保存时 可以将文件剪切到桌面 更改保存后再复制到mySQL目录下
  • 安装opencv和opencv-contrib库

    快速安装的方法在最后 速度超快 1 安装opencv python Win R 输入cmd 然后输入activate 进入base环境 或者其他自己创建的环境 输入 pip install opencv python 如果报错 显示的是拒绝
  • 正则表达式之ip地址匹配(详细讲解)

    正则表达式之ip地址匹配 一 正则匹配基本知识及概念 二 ip地址匹配 一 正则匹配基本知识及概念 在练习之前 需要大家知道一些基本知识 如果有一定基础的可以跳过该步骤 直接往下看 正则表达式 字符类 abc 代表a或者b 或者c字符中的一
  • lambda函数

    lambda函数也叫匿名函数 就是没有函数名的函数 lambda表达式基于数学中的 演算得名 直接对应于其中的lambda抽象 lambda函数的语法只包含一个语句 lambda arg1 arg2 argn expression 冒号前面
  • 设计模式(十九) 备忘录模式

    备忘录模式是一种行为型模式 作用是将对象的内部状态保存下来 在必要的时候恢复 备忘录模式可以用于游戏存档恢复 文件的历史记录等场合 下面是一个简单的代码例子 首先是文档管理器 用于保存文档的状态 public class DocumentM
  • 【Eclipse】Maven安装配置&Eclipse配置Maven插件

    文章目录 前言 一 下载安装Maven 二 配置Maven环境变量 三 修改Maven仓库配置 四 Eclipse配置 maven
  • JS提取链接参数

    假如要提取当前网络链接上面的参数 那么请看下去 比如要提取 var url http www baidu com x 10 y 20 c 30 d 40 中的 xycd的值 那么
  • 【已解决】SpringBoot 后端开发中console中中文乱码问题,以及其他解决方法。

    项目场景 在IDEA中 使用Maven构建SpringBoot Web后端项目 黑马程序员中的javaWeb 2023最新课程中的案例 有同样问题的同学欢迎一起讨论学习 问题描述 前端网页请求发出后 后端成功响应 但是在控制台中 中文数据会
  • C标准库文件&常用函数

    编号 头文件 C标准版本 介绍 1
  • MIPI DPHY接口的若干种实现方案概述

    一 MIPI DPHY接口简介 MIPI DPHY是MIPI的一种物理层 其协议层有CSI和DSI两种 其中CSI主要用于图像接入 如图像传感器Sensor DSI主要用于图像输出 如手机屏幕等 有关MIPI DPHY及CSI和DSI的技术