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

Crosslink-NX器件应用连载(10): 图像输入并通过HDMI输出

作者:Hello,Panda

大家下午好,晚上好。这里分享一个Lattice Crosslink-NX器件通过MIPI或LVDS输入图像,并通过HDMI输出图像的案例(其实这是个比较冷门的需求,Crosslink-NX器件还是主要做MIPI桥接用)。

咱们知道,Crosslink-NX系列器件的High Speed IO作为LVDS输出时,速率最大值一般是1.25Gbps,但是咱们HDMI输出1080P60则需要IO速率达到148.5MHz×10=1.485Gbps,显示通过它的IO输出最大只能到1920×1080P30,就更别说是4K了。

那么,根据Crosslink-NX系列器件的特性,咱们在有本地显示输出需要时就会考量两种方案:

(1)第一种方案:通过MIPI DSI显示,通过MIPI接口将图像发送到MIPI屏(可能需要做横竖屏转换),一般的1080×1920/60Hz需要一组MIPI D-PHY,2160×3840/60Hz则需要两组MIPI D-PHY,这种方式只能在本地的小屏上显示,且需要做横竖屏的切换;

(2)第二种方案:通过HDMI桥接芯片输出显示到电视。这种方案目前可用的有Sil9136-3和LT9611UXC两种可选方案。Sil9136-3是BT1120转HDMI,在8bit时可实现4K 30Hz显示(输入时钟297MHz),封装是14mm×14mm,通过IIC初始化即可。LT9611UXC是国产龙迅的MIPI桥HDMI的芯片,通过2组4-Lane MIPI可实现RGB888 4K30Hz输出,YUV422 8bit 4K/60Hz输出,性能占优,封装是7.5mm×7.5mm QFN,使用前需要厂家提供一次性烧录固件。

从易用性上讲,Sil9136-3使用简单,配置容易,但是需要占用较多的IO和较大的PCB面积,性能也稍逊一点。LT9611UXC是国产芯片,调试麻烦一些,但性能稍高,IO占用少,PCB面积也少一些,总体而言,对量产产品更加有优势。

本案例就以LT9611UXC为例描述之,下图1是实现该系统的原理框图。

    图1 系统原理框图

如上图1所示,Sensor将图像接收进来,经过Pipeline图像处理后,写入到DDR,MIPI DSI模块将图像数据从DDR读出经LT9611UXC转换成HDMI推到电视显示。

需要注意的是DDR的有效带宽,4K30Hz RGB888一幅图像所需带宽是3840*2160*3*30=712MByte/s,16bit DDR最多可以交互两次;如果是4K/60Hz,则需要32bit DDR。

同样的,也可以不使用DDR,具备严格行场同步的Sensor可以通过显示时序来同步Sensor的XVS和XHS,这样,只需要通过计算Pipeline的行延时精确控制即可实现时序同步,这样就无需使用DDR缓存直接显示。(当然,需要有DDR缓存需求的算法的情况除外)。

下图2是使用LT9611UXC将MIPI DSI转换成HDMI的电路原理图。图3是显示实际效果。

图2  基于LT9611UXC的MIPI DSI转HDMI电路原理图

图3 显示实际效果

相关文章:

  • 前端面试问题:子组件的某一个方法调用执行逻辑由父组件的属性状态变化来决定
  • .vimrc 配置项
  • Golang反射
  • Android Notes
  • ORA-08189: 因为未启用行移动功能, 不能闪回表问题
  • leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等的介绍
  • Presto 从提交SQL到获取结果 源码详解(3)
  • qt+ffmpeg 实现音视频播放(四)之音视频同步
  • k8s——Pod进阶(资源限制和探针)
  • 解决 Git commit 或 Git merge 跑到 VIM 里面去了
  • C#中的数组探索
  • C#面:.Net中会存在内存泄漏吗,请简单描述
  • python数据库操作
  • 校园导航系统C++
  • ReDos攻击浅析
  • 【5+】跨webview多页面 触发事件(二)
  • Android优雅地处理按钮重复点击
  • IDEA 插件开发入门教程
  • leetcode46 Permutation 排列组合
  • Mybatis初体验
  • Mysql优化
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • REST架构的思考
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 学习JavaScript数据结构与算法 — 树
  • 中文输入法与React文本输入框的问题与解决方案
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​补​充​经​纬​恒​润​一​面​
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)iOS字体
  • .net framework4与其client profile版本的区别
  • .NET Micro Framework初体验
  • .NET连接MongoDB数据库实例教程
  • .net连接MySQL的方法
  • .NET上SQLite的连接
  • /bin/bash^M: bad interpreter: No such file or directory
  • [ C++ ] 继承
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [1]-基于图搜索的路径规划基础
  • [4.9福建四校联考]
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [CentOs7]搭建ftp服务器(2)——添加用户
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [HarekazeCTF2019]encode_and_encode 不会编程的崽
  • [IE编程] IE中对网页进行截图的编程接口