智能座舱架构与芯片- (6) 显示篇 上

一、概述

在智能座舱的发展历程中,显示屏的个数越来越多,分辨率和显示屏的尺寸也越来越大。这已经是不可逆转的趋势。传统的座舱显示屏需要一颗主芯片支持一块屏幕,这在功能上和成本上都不是很好的做法。最新的智能座舱解决方案中,一芯多屏是必须要支持的功能,区别在于采用什么样的技术途径。本章节将主要讲述智能座舱中显示子系统的硬件相关技术。如下图所示,智能座舱内部所需要支持的显示屏包含这些:

  • 仪表盘显示屏IC(Instrument Cluster)
  • 副驾信息娱乐屏(Passenger Infotainment Screen)
  • 中控娱乐屏ICS(Instrument Central Screen)
  • 抬头显示器HUD(Head Up Display)
  • 后座控制屏RCP (Rear Control Panel)
  • 后座娱乐屏 (Rear infotainment Screen)

  • 仪表屏和副驾屏

  • 中控娱乐屏

  • HUD

  • 后排娱乐屏

  • 后排控制屏

二、座舱显示架构

根据最新智能座舱发展的趋势来看,车载显示屏硬件技术需要支持一芯多屏。使用一颗CDC座舱芯片,要尽可能地满足如上所述多个显示屏的显示要求。这样一来,可以尽可能地节省成本和功耗。将原来需要多颗芯片才能支持的屏幕功能,尽量集成到一颗高性能的SOC芯片上来,是当前智能座舱发展的客观需求。

一种符合智能座舱CDC一芯多屏需求的车载显示屏的基本架构如下图所示:

根据上图所示,可以看到,智能座舱CDC的显示子系统包括如下技术:

三、显示屏原理

本节将简要介绍显示屏的基本原理。

显示屏控制系统主要包含2大类芯片,一个是负责驱动显示屏实现行列显示的驱动芯片,称为DriverIC。另一个是负责控制DriverIC的任务分发和控制芯片,称为TCON(时序控制)

显示驱动芯片DriverIC,是显示屏成像系统的重要组成部分,其主要工作是驱动显示屏的像素点实现点亮或者关闭,并控制光线强度和色彩等。

显示驱动芯片分为源驱动器(Source Driver)门驱动器(Gate Driver)。Gate Driver:连接至晶体管Gate端,负责每一行晶体管的开关,扫描时一次打开一整行的晶体管;所以也称为Row drivers。Source Driver:连接到晶体管的source端。当一行晶体管被Gate driver打开(ON)时,Source Driver IC才能够将控制亮度、灰阶、色彩的控制电压加载到这一行的每个像素点上。因此,Source Driver也称为Column Driver。

DriverIC在显示屏中的结构可以参见下图所示:

时序控制芯片TCON(Timing Controller) 是显示屏模组的主控芯片。它主要负责分析从CDC SOC传来的信号,并拆解、转化为Driver IC可以理解的信号,再分配给Source/Gate driver去执行

下图是一个典型的eDP TCON接口系统。SOC通过eDP通道,将显示数据传送到eDP TCON芯片中。

TCON有2个主要功能:

  1. 接收来自SOC的eDP信号
  2. 产生行(送给row drivers)和(送给column drivers) 显示信号,并按规定好的时序发送到Row/Column Driver IC上;

在T-CON与Gate/Source之间的信号传输以前是以LVDS为主,现在比较流行的则是LVDS的升级版,主要是mini-LVDS(by德州仪器)和RSDS(ReducedSwing Differential Signaling by国家半导体)。这两种规格现在也渐渐落后了,取而代之的是Advanced PPmL(Point to Point mini LVDS)以及V-by-One HS的配套标准CalDriCon。所以在T-CON处需要有一个输出mini-LVDS/RSDS/CalDriCon/Advanced PPmL信号的Transmitter,而在Source/Gate IC那里则需要有相应的Receiver。

当收到信号后,Row Drivers逐行打开晶体管;而Column Drivers则将不同级别的电压加在这一行的每一列像素点上,从而实现像素点的色彩,亮度区别。

TCON芯片实现的难点在于,根据显示屏分辨率和刷新率的不同,需要产生满足时序的行列信号,给到Source/Gate Drivers。分辨率越大,需要显示的像素点就越多;刷新率越高,则要求TCON产生刷新数据的时序越快。并且对Gate/Source Drivers和LCD像素点改变状态的延时要求也越高。 当分辨率和刷新率两个结合起来时,要求TCON处理的数据量越来越多,所产生的行列时序信号也就要求越高。

下图是一个eDP接口的LCD显示系统示意图。可以看到来自GPU的显示数据,通过eDP接口传输到LCD屏上的TCON芯片中(如果距离过长需要增加SerDes通道)。eDP ML Receiver将eDP数据送给Pixel Formater模块,产生行(Gate)和列(Source)显示信号。Row / Column Drivers 接收来自LCD Interface的信号(mini-LVDS/RSDS/CalDriCon/Advanced PPmL),并实现LCD屏的显示刷新。

在高清电视或者车载显示屏方案中,每块屏幕都需要一颗TCON芯片。如果屏幕尺寸扩大,则Driver IC的需求数量大幅增加。如下图,分别需要12颗Source Driver和8颗Gate Driver,另外还需要两颗PMU(电源管理芯片)及3颗Vcom(电压校准芯片)

上面说的都是显示器的情况,手机则稍微有点不同。手机因为各种芯片的功能更加集中,CPU/GPU等相当于电脑主机的芯片都集中在了应用处理器AP(ApplicationProcessor),而DDIC也是一个芯片集合了所有的功能。所以信息从AP出来以后以后会直接通过MIPI DSI接口进入DDIC,而DDIC直接就可以控制TFT了,不需要那么多的接口。

以上内容,介绍了显示屏的主要原理,那么接下来就要了解AP与显示屏之间有哪些接口技术。

四、显示接口溯源

如果需要将显示数据从SOC主芯片传送到显示屏并完成显示,需要2大类显示接口技术。一种是从CDC SOC到TCON的显示接口,另外一大类则是从TCON到Gates/Sources 。后者主要在显示屏内部,由显示屏厂商实现。前者则需要考虑得更多,因为需要兼容不同的SOC,它们对显示接口技术的选择,影响了TCON的输入标准。

虽然本文主要讨论的是车载显示接口,但这些显示接口技术的历史来源主要是基于2大应用场景:电视机或者个人计算机。因此,我们将首先回顾一下数字视频接口技术的发展,与车载环境相关性不大的将会被省略。

  • LVDS:

最早由National Semiconductor(国家半导体公司,后被德州仪器收购)提出,基于LVDS(Low-Voltage Differential Signaling 低压差分信号)技术,将并行的数字视频信号转为串行传输。它的每一对LVDS差分信号线传输的是7bit数据。如果要传输RGB666,需要使用4对LVDS差分线。基于LVDS技术的传输接口标准主要有OpenLDI,FPD-Link,DP(Display Port)/eDP等;

  • TMDS:

最早由Silicon Image(现在已经被Lattice Semiconductor收购)所研发的技术解决方案,称为TMDS (Transition-Minimized Differential Signaling)。这个技术和LVDS在物理层面上有些相像,但是在通信协议上则完全不同,它采用了IBM的8b/10b的编码方式,可以减少信息的错误的产生并支持更长的线缆长度。在传输RGB888 的图像信号时,它首先将一路8bit并行信号(R/G/B分量分别为8/8/8bit)串行化为10bit输出,然后在接收端再解串,将10bit转换为8bit。

TMDS前8位数据经过编码后,第9位接编码方式,第10位作用是DC均衡。

一条TMDS信号通道传输8位数据,传输R'G'B'数据需要三条TMDS信号通道,另外还需要一条时钟通道。每一个通道其实也是一对差分信号线。

基于TMDS的传输接口标准主要有DVI,HDMI,DFP等。

  • MIPI DSI:

与LVDS或者TMDS不同,MIPI DSI主要用于手机等移动设备的显示屏接口。MIPI的全称是(Mobile Industry Processor Interface Alliance),它是2003年由ARM、英特尔、诺基亚、三星、意法半导体和德州仪器共同创立的一个全球的开放组织,其主要目的就是发展移动生态环境的接口标准。经过十几年的发展,目前在全球已经有250多个会员公司,而且随着移动生态的发展,MIPI制定的标准已经进入到了人工智能、物联网、虚拟与增强现实、汽车、照相机、工业电子与医疗设施等等领域。

MIPI将接口的物理标准与其传输协议分开定义。目前MIPI规定了三种物理标准,分别是M-PHY、D-PHY和C-PHY。其中M-PHY传统上是用在当做芯片与芯片之间的高速数据传输,而D-PHY则被用来连接摄像头与主芯片组以及显示屏与主芯片组。后来MIPI又在D-PHY的基础上,发布了同样用途的C-PHY标准,可以算是对D-PHY标准的升级。

MIPI DSI(Display Serial Interface)是一个应用于显示技术的串行接口。它以串行方式向外围设备(实际上是液晶显示器)发送像素信息或指令,并从外围设备读取状态信息或像素信息。在传输过程中,它享有自己独立的通信协议,包括数据包格式和纠错检测机制。

  • 总结

根据上述简要介绍,我们可以总结一下,可以使用在车载环境下的数字视频接口技术溯源如下图所示:

显示系统数字视频接口的规格为:

HDCP:High-bandwidth Digital Content Protection,高带宽数字内容保护。
EDID:Extended Display Identification Data,扩展显示标识数据。
DDC:Display Data Channel,显示数据通道。
DMT:Display Monitor Timing,显示器时序规范。
P&D:Plug and Display,即插即用。
DSC:Display Streaming Compression,显示流压缩技术,可以实现将Display数据进行压缩后再传输,以节省带宽,支持高清视频传输。最高可达3:1的压缩比率。

五、接口技术

5.1 OLDI

在讨论视频传输接口时,首先要了解视频数据格式。一般来说,可以有2种方法来表示每个像素的颜色。第一种是每个像素点用3种颜色来表示,分别是Red/Green/Blue,也就是3原色。如果每个颜色采用8个bit(1个字节),则一个像素点需要3*8=24bit的存储空间。第二种是采用YUV分量的方式。YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV的存储空间通常小于RGB格式,并且在容忍一定的数据损失前提下(人眼感知不到),RGB与YUV色彩格式可以相互转换。

  • 视频数据格式

18位单像素R'G'B':使用6位R'G'B'值,R5~R0,G5~G0,B5~B0。

24位单像素R'G'B':使用8位R'G'B'值,R7~R0,G7~G0,B7~B0。

18位双像素R'G'B':将两个像素表示为3个6位R'G'B'值高位/低位对;

RU5~RU0,GU5~GU0,BL5~BL0,RL5~RL0,GL5~GL0,BL5~BL0。每个高位/低位对表示两个像素。

24位双像素R'G'B':将两个像素表示为3个8位R'G'B'值高位/低位对;

RU7~RU0,GU7~GU0,BL7~BL0,RL7~RL0,GL7~GL0,BL7~BL0。每个高位/低位对表示两个像素。

  • OLDI传输

OpenLDI,LVDS链使用了8对串行数据线(A0~A7)和两个采样时钟线(CLK1和CLK2)。实际使用的串行数据线依赖于像素格式,串行数据率为7倍采样时钟频率。CLK2信号在双像素模式下用于与FDP链(一种高速数字视频接口)接收端后向兼容。

传输18位单像素R'G'B'时,OpenLDI串行线的A0~A2用于传输。

传输24位单像素R'G'B'时,OpenLDI串行线的A0~A3用于传输。

传输18位双像素R'G'B'时,OpenLDI串行线的A0~A2,A4~A6用于传输。

传输24位双像素R'G'B'时,OpenLDI串行线的A0~A7用于传输。

LVDS链支持使用32.5~160 MHz的视频采样率和时序。

如下图,为OpenLDI的LVDS链示意:

在传输显示数据时,OLDI实际上每一对差分线传输的是7bit的数据,因此一个时钟节拍内,4对差分线可以传输28bit的数据,其中包含24bit数据和3个bit的控制信号。如下图所示,D0+/- ~ D2+/-传输RGB666+DE+VS+HS,D3+/- 传输剩下的6bit RGB。因此3对差分线可以传输18bit RGB666,4对线可以传输RGB888。

在实际使用中时,TI的FPD-link可以支持将远距离传输的视频数据,在解串器端进行反串行化,输出RGB格式的数据。然后通过OLDI接口传送给显示屏。此时显示屏的TCON芯片同样采用OLDI接口输入数据。

5.2 HDMI

HDMI是基于TMDS技术发展而来的,它与LVDS在物理层上有些类似,同样也是采用差分线对来传输高速数据信号。但是它的编码方式与LVDS不相同,而是基本采用了IBM的8b10b编码方式。

下图说明了HDMI的传输架构:

8bit的数据在source经过TMDS encoder后得到10bit数据,经过serializer后串行输出;在sink端先进行复原成10bit的数据,再通过TMDS decoder得到8bit的源数据。

  • 数据传输协议

HDMI采用1对Clock 线和3对数据线的方式来传输。其中Clock信号线传输的是Pixel同步时钟信号。数据线上,一共可以传输4种信号类型:

  1. Preamble(控制信息),主要用于控制接下来传输的数据是Data Island或者Video Data。图中,Preamble指CTL0,CTL1,CTL2,CTL3。它们占用channel1和channel2的D[1:0]通道,一共4bit;
  2. Data Island(数据包),各种类型的包信息,包括音频数据包,图像信息包等。在图中,它们占用3个channel的D[3:0],一共10bit的数据输入。例如,Channel0的D[3:2]用于传输PacketHeader。Channel1和Channel2的D[3:0]用来传输Auxiliary Data 包,如Audio 音频数据,图像分辨率和格式信息等。
  3. Video Data (视频信息),视频像素数据,HDMI可以传输RGB与YUV两种格式的像素数据。在图中,它们占用了3个Channel的D[7:0],一共24bit的数据输入。
  4. Hsync和Vsync,通过channel0的D[1:0]来传输:

如果传输的是Video Data,并且格式为RGB,那么会占用三个通道的所有24bit输入,Channel0[7:0]用于传输B,Channel1[7:0]用于传输G,Channel2[7:0]用于传输R。

如果传输的是Data Island,则占用三个通道共10bit输入,Channel0[3:2]用于传输Data Island Header(包头),Channel1[0:3]与Channel2[0:3]用于传输Data Island Content(包内数据)。

如果传输的是Preamble,则占用1,2两个通道共4bit输入,Channel1[1:0]与Channel2[1:0]分别为CTL0,CTL1,CTL2,CTL3,用于判断接下来输入的是Video Data或者Data Island

对于Hsync与VSync,会占用Channel0通道的两个bit输入,Channel0[0]为Hsync,Channel0[1]为Vsync

  • 传输周期

HDMI的TMDS数据传输可以分为三个传输周期:

  1. Control Period期间会传输Hsync,Vsync,并且在该时期的最后阶段会传输Preamble
  2. Data Island Period期间会传输Data Island(数据包),也会有Hsync与Vsync
  3. Video Data Period期间会传输Video Data(视频像素数据)

某帧的总体周期如下:

三个传输周期的过渡如下:

  • 有效传输带宽

根据上面的描述,HDMI所传输的有效数据,要小于物理层提供的高速传输带宽。除了8b10b编码的损失之外,还有3个传输周期的切换所造成的损失。有效的图像传输带宽为:(720*480) / (858*525) * (8/10) = 345600/450450 * 8/10 = 61.3%;

参考文献

  1. 高兴:显示器都有哪些内外部接口,他们之间有什么区别和联系?超级详细!——节选自《高兴说显示进阶篇之三》
  2. 段宏达:Chapter 6 数字视频接口——消费分量接口
  3. 显示器的 VGA、HDMI、DVI 和 DisplayPort 接口有什么区别?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/173959.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里 OSS鉴权访问文件

如果OSS文件设置保护,需要鉴权才能访问,添加请求头鉴权,SDK方法如上; 将鉴权信息和地址、时间返回给前端,前端直接从oss上读取 String filePath "/admin/2023/6/183569314928918546.png"; RequestMessage…

【python笔记】客户运营 - cohort分析

一、数据 本文涉及数据下载链接。 二、数据预处理 2.1 读取数据 import pandas as pddf pd.read_csv(your_path/Year 2010-2011.csv, encodingISO-8859-1) df.head()2.2 检查数据 检查空值情况 df.isna().sum() # 结果 Invoice 0 StockCode 0 De…

基于SpringBoot+MyBatis-Plus的校园图书管理系统

基于SpringBootMyBatis-Plus的校园图书管理系统 校园图书管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 校园图书管理系统 欢迎访问此博客,是否为自己的毕业设计而担忧呢?是否感觉自己的时间不够做毕业设计呢?那你不妨看一下…

python趣味编程-5分钟实现一个简单弹跳球游戏(含源码、步骤讲解)

简单的Python弹跳球程序是使用Python编程语言开发的。 Python 中的弹跳球游戏是 使用 Tkinter 和图形用户界面 (GUI) 设计的,它是一个桌面应用程序。 Python 中的弹跳球游戏代码使用Canvas 在 Python 中绘制对象和随机模块。

ES7-ES13有何新特性?

目录 ES7 ES8 ES9 ES10 ES11 ES12 ES13 hello,大家好呀!之前发布的两篇关于ES6新特性的文章学习完了吗?今天来给大家介绍ES6之后,截止到2022年的ES13每个时期新增的一些新特性!快来一起学习吧! ES7 …

【Computer Vision Foundation】全球计算机视觉基金会论文网

计算机视觉基金会(Computer Vision Foundation,简称CVF)是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息: 成立目的: CVF成立的目的是促进计算机视觉领域的学术研究、技术…

【C+进阶之路】第六篇:C++11

文章目录 一、【C】C11(1)二、【C】C11(2) 一、【C】C11(1) 【C】C11(1) 二、【C】C11(2) 【C】C11(2) 🌹&#x1f33…

时间复杂度和运算

时间复杂度 在算法和数据结构中,有许多时间复杂度比 O(1) 更差的情况。以下是一些常见的时间复杂度,按照从最优到最差的顺序排列: O(1): 常数时间复杂度,操作的运行时间与输入规模无关,是最理想的情况。 O…

ky10 server arm 在线编译安装openssl3.1.4

在线编译脚本 #!/bin/shOPENSSLVER3.1.4OPENSSL_Vopenssl versionecho "当前OpenSSL 版本 ${OPENSSL_V}" #------------------------------------------------ #wget https://www.openssl.org/source/openssl-3.1.4.tar.gzecho "安装OpenSSL${OPENSSLVER}...&q…

nodejs微信小程序+python+PHP-维斯公司财务管理系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

IP地址定位是如何实现的?

IP定位的实现是通过查找IP地址对应的地理位置信息来实现的。具体来说,IP定位是通过查询IP地址对应的地理位置数据库来获取地理位置信息。这个数据库可以是公共的或者私有的,其中包含了IP地址和地理位置信息之间的映射关系。 在实际操作中,IP定…

如何实现车机体验”遥遥领先”?头部玩家已经给出答案

车机与手机的深度融合,通过跨终端互联互通实现全场景、沉浸式的用户体验,正在成为各大高端智能汽车品牌的新战场。 此前,已经有华为、苹果几大手机巨头已经纷纷开启“造车”业务,同时吉利等车企也反向进入手机领域,各…

关于lenra你需要了解的

monorepo:项目代码管理方式,单个仓库中管理多个项目是一种设计思想 lenra:是一种工具,对于使用npm和git管理多软件包代码仓库的工作流程进行优化 使用这些工具的优点: 公共依赖只要安装一次,Monorepo 中…

Linux学习第44天:Linux 多点电容触摸屏实验:难忘记第一次牵你手的温存

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章的思维导图内容如下: 二、硬件原理图分析 三、实验程序编写 1、修改设备树 1)、添加FT5426所使用的IO 一个复位 IO、一个中断 IO、…

gitlab图形化界面使用

gitlab使用 创建用户 上面是创建用户基本操作 修改密码 创建组 给组添加用户 创建项目 选择空白项目 退出root用户,切换其他用户 在服务器上创建ssh密钥 使用ssh-ketgen 命令 新服务器上创建的 [rootgitlab ~]# ssh-keygen Generating public/private rsa key …

Linux shell编程学习笔记27:tput

除了stty命令,我们还可以使用tput命令来更改终端的参数和功能。 1 tput 命令的功能 tput 命令的主要功能有:移动更改光标、更改文本显示属性(如颜色、下划线、粗体),清除屏幕特定区域等。 2 tput 命令格式 tput [选…

2023年中国羽绒制品需求现状、市场规模及细分产品规模分析[图]

羽绒羽毛指生长在水禽类动物(鹅、鸭)腋下、腹部羽绒和羽毛的统称,属于上游鹅鸭肉食品工业副产品的综合利用,是下游羽绒制品的填充料。根据国家标准,绒子含量≥50%的称为羽绒,绒子含量<50%的称为…

Altium Designer学习笔记5

整体修改元件标号: 重置Reset Schematic Designators: 恢复之前的状态。复位,恢复之前的状态。

Linux下使用宏定义判断系统架构和系统类型

文章目录 查看编译器当前支持的宏定义查找指定的宏不同架构不同系统 附录-编译器内部常用的一些宏定义宏定义实际应用使用宏定义判断系统架构使用宏定义判断系统类型 一般情况下在linux下做C/C方面的开发不需要太关注系统架构,当然如果涉及到不同架构下的适配问题&a…

linux md5sum计算hash指令

在soc启动,验证镜像签名时,会计算文件的hash值,确保文件未被修改,md5sum可以计算,有256,512位的的其他指令, 如下,计算文件hash值。