大数跨境

技术洞见 | MIPI DSI概述及物理层介绍

技术洞见 | MIPI DSI概述及物理层介绍 牛芯半导体
2025-09-05
1
导读:本文转载自CSDN论坛作者G2突破手259的博客,转载文章仅供学习和研究使用。

本文转载自CSDN论坛作者G2突破手259的博客,转载文章仅供学习和研究使用。


简介


DSI(显示串行接口)规范定义了主机处理器和外围设备之间的协议,这些设备遵循MIPI联盟的移动设备接口规范。


DSI概述


DSI指定了主机处理器和外围设备(如显示模块)之间的接口。它以现有的 MIPI联盟规范为基础,采用DPI-2、DBI2和DCS标准中规定的像素格式和命令集。
图1显示了一个简化的DSI接口。从概念上看,兼容DSI的接口与基 DPI-2和 DPI-2标准的接口或类似的并行显示接口执行相同的功能。它向外设发送像素或命令,并可以从外设读取状态或像素信息。主要区别在于,DSI将所有像素数据、命令和事件串行化,这些数据、命令和事件在传统或遗留接口中通常是通过一个带有附加控制信号的并行数据总线与外设相互传递的。
从系统或软件的角度来看,串行化和反串行化操作应该是透明的。从串行数据转换回并行数据的最明显和不可避免的后果是,需要外设响应的事务的延迟增加。例如,使用DSI比使用DBI从显示模块上的帧缓冲区读取像素具有更高的延迟。另一个根本区别是,在读取事务期间,主机处理器无法限制返回数据的速率或大小。
DSI层定义
DSI的概念视图将接口组织成几个功能层。下面是对这些层的描述,也显示在图2中。
物理层(PHY Layer):物理层指定传输介质(电导体)、输入/输出电路和从串行比特流中捕获“1”和“0”的时钟机制。该部分规范记录了传输介质的特性、信号的电气参数以及时钟和数据通道之间的时序关系。指定了传输开始(SoT)和传输结束(EoT)的信号机制,以及可以在发送和接收物理设备之间传递的其他“带外”信息。位级和字节级同步机制是PHY的一部分。请注意,DSI(SLVS)的电气基础有两种不同的操作模式,每种模式都有自己的一组电气参数。
通道管理层(Lane Management Layer):DSI是通道可扩展的,以提高性能。根据应用的带宽需求,数据信号通道的个数可以是1、2、3或4。接口的发送端将传出的数据流分发到一个或多个Lane(“分发器”功能)。在接收端,接口从Lane收集字节,并将它们合并成一个重新组合的数据流,恢复原来的流顺序(“合并”功能)。
协议层(Protocol Layer):在最低层,DSI协议规定了通过接口的位和字节的顺序和值。它指定如何将字节组织到称为数据包的定义组中。该协议定义了每个数据包所需的报头,以及如何生成和解释报头信息。接口的发送端向正在传输的数据附加报头和错误检查信息。在接收端,报头被剥离并由接收端相应的逻辑进行解释。错误检查信息可用于测试传入数据的完整性。DSI协议还记录了如何标记数据包,以便使用单个DSI将多个命令或数据流交叉到不同的目的地。
应用层(Application Layer):这一层描述数据流中包含的数据的高级编码和解释。根据显示子系统体系结构,它可以由具有规定格式的像素组成,或者由显示模块内的显示控制器解释的命令组成。DSI规范描述了像素值、命令和命令参数到数据包集合中字节的映射。
Command模式和Video模式
兼容DSI的外设支持两种基本操作模式:Command模式和Video模式。使用哪种模式取决于外设的体系结构和功能。模式定义反映了DSI用于显示互连的主要预期用途,但并不打算限制DSI在其他应用中的操作。一般来说,外设能够进行Command模式操作或Video模式操作。一些Video模式显示模块还包括Command模式操作的简化形式,其中显示模块可以从缩小尺寸的或部分帧缓冲区刷新其屏幕,并且可以关闭到主机处理器的接口(DSI)以减少功耗。
Command模式
Command模式指的是一种操作,其中事务主要采取将命令和数据发送到外设(例如包含显示控制器的显示模块)的形式。显示控制器可以包括本地寄存器和帧缓冲区。使用Command模式的系统对寄存器和帧缓冲存储器进行写入和读取。主处理器通过向显示控制器发送命令、参数和数据来间接控制外设的活动。所述主机处理器还可以读取显示模块状态信息或所述帧存储器的内容。Command模式操作需要双向接口。
Video模式
操作Video模式是指以实时像素流的形式从主机处理器传输到外设的操作。在正常工作中,显示模块依靠主处理器以足够的带宽提供图像数据,以避免显示图像中的闪烁或其他可见伪影。视频信息只能使用高速模式传输。
一些Video模式架构可能包括一个简单的定时控制器和部分帧缓冲区,用于在待机或低功耗模式下保持部分屏幕或低分辨率图像。这允许接口被关闭以减少功耗。
为了降低复杂性和成本,只在Video模式下运行的系统可以使用单向数据路径。
虚拟通道功能
虽然本规范只处理主处理器与单个外设的连接,但DSI在主处理器与多个物理显示模块之间集成了虚拟通道功能(virtual channel capability)。桥接设备可以创建多个独立的连接到显示模块或其他设备,或者显示模块或设备可以支持多个虚拟通道。显示模块是完全独立的,可以同时运行,可以是不同的显示架构类型,仅受共享DSI链路上可用的总带宽的限制。将多个外设连接到单个Link的详细信息超出了本文档的范围。
由于接口带宽在外设之间共享,因此存在限制多外设系统的物理范围和性能的约束。
DSI协议允许多达四个虚拟通道,使多个外设的流量能够共享一个公共DSI链路。例如,在一些高分辨率的显示设计中,多个物理驱动器服务于一个公共显示面板的不同区域。每个驱动程序都集成了自己的显示控制器,该控制器通过 DSI连接到主处理器。使用虚拟通道,显示控制器将数据引导到各个驱动程序,从而消除了对多个接口或复杂的多路复用方案的需要。虚拟通道也可以被设备所采用,其中一个通道是双向Command模式通道,第二个通道是 Video模式单向通道。虚拟通道可以由接收来自主机处理器的隔行视频的显示模块或DSI桥接设备使用,其中一个通道对应于隔行视频帧的第一字段,另一个通道是第二字段。DSI规范对用于指定隔行视频字段的每个虚拟通道分配的具体值没有要求,为了清晰起见,第一个隔行视频字段可以分配为DI[7:6] = 0b00,第二个隔行视频字段可以分配为DI[7:6] = 0b01。


DSI物理层


利用一个或多个串行数据信号和随附的串行时钟在主机处理器和外设之间传输信息。通过总线发送高速串行数据的动作称为高速传输或突发(HS transmission or burst)。
在传输之间,差分数据信号或Lane进入低功耗状态(LPS)。当接口不主动发送或接收高速数据时,接口应处于LPS状态。图3显示了HS传输的基本结构。N是传输中发送的总字节数。
D-PHY底层协议规定最小数据单位为一个字节,传输包含整数字节数。
数据流控制
协议层和物理层之间没有握手,一旦传输正在进行,协议层就可以限制数据传输到物理层或从物理层传输出去。数据包的发送和接收应完整且不中断。链路两端的协议层和数据缓冲层的带宽应始终等于或大于物理层电路。事实上,系统实现者应确保接收器的带宽能力等于或大于发射器的带宽能力。
双向和低功耗信号策略
DSI实现的物理层由一到四个数据通道和一个时钟通道组成。在Command 模式系统中,数据通道0应为双向的;额外的数据通道应为单向的。在Video 模式系统中,数据通道0可以是双向的也可以是单向的。
对于这两种接口类型,时钟通道只能由主机处理器驱动,而不能由外设驱动。
正向低功耗传输只能使用数据通道0。数据通道0上的反向传输只能使用低功耗模式。外设应能够在低功耗或高速模式下接收任何传输。注意,在LP模式下传输时,传输带宽大大减少。
对于双向通道,数据应该在外设到处理器的方向上传输,或者反向传输,只使用低功耗(LP)模式。
物理层和协议层之间的接口有几个控制总线方向的信号。当主机发送器需要外设的响应时,例如返回READ数据或状态信息,它在传输的最后一个包期间向其PHY断言TurnRequest。这告诉物理层在EoT序列之后断言总线反转(BTA)命令。
当外设接收到总线反转命令时,其PHY层将TurnRequest作为协议层的输入。这告诉接收协议层,它应该准备向主机处理器发送响应。通常,刚刚接收到的数据包告诉协议层,一旦总线可以传输到主机处理器,要发送什么信息。
在发送响应后,外设类似地使用TunRequest向自己的物理层将总线控制交还给主机处理器。
Command模式接口
在Command模式下运行的DSI主机处理器的最低物理层要求是:
  • Data Lane Module: CIL-MFAA (HS-TX, LP-TX, LP-RX, and LP-CD)
  • Clock Lane Module: CIL-MCNN (HS-TX, LP-TX)
在Command模式下运行的DSI外设的最低物理层要求是:
  • Data Lane Module: CIL-SFAA (HS-RX, LP-RX, LP-TX, and LP-CD)
  • Clock Lane Module: CIL-SCNN (HS-RX, LP-RX)
双向链路应支持数据通道0的反向Escape模式,以支持读取数据的LPDT以及外设发出的ACK和TE触发消息。在正向方向上,数据通道0应支持LPDT。所有触发器消息应通过数据通道0进行通信。
Video模式接口
在Video模式下工作的DSI发送器的最低物理层要求是:
  • Data Lane Module: CIL-MFAN (HS-TX, LP-TX)
  • Clock Lane Module: CIL-MCNN (HS-TX, LP-TX)
在Video模式下工作的DSI接收器的最低物理层要求是:
  • Data Lane Module: CIL-SFAN (HS-RX, LP-RX)
  • Clock Lane Module: CIL-SCNN (HS-RX, LP-RX)
在正向方向上,数据通道0应支持LPDT。所有触发器消息应通过数据通道0进行通信。
双向控制机制
总线的反转是由令牌传递机制控制的:主机处理器发送一个总线反转(BTA)请求,该请求向外设传达其释放或停止驱动数据路径的意图,之后外设可以将一个或多个数据包发送回主机处理器。当它完成时,外设应该将总线的控制返回给主机处理器。总线反转使用物理层协议提供的Escape模式机制发出信号。
在双向系统中,由于EMI可能导致总线竞争而产生错误行为的可能性很小。本规范提供了从任何总线竞争事件中恢复的机制,而无需强制对整个系统进行 “硬复位”。
时钟管理
DSI时钟是一个从主机处理器到外围设备的信号。在某些系统中,它可能具有多种功能:
Byte Clock:细分后,DSI时钟用于在协议层和应用层之间的概念接口上生成 Byte Clock。在HS传输过程中,每个字节的数据都伴随着一个Byte Clock。像DSI Bit Clock一样,Byte Clock在传输数据时应该是有效的。在协议层到应用层的接口上,所有的动作都同步到Byte Clock。
Application Clock(s):DSI Bit Clock的分频版本可用于外设的其他时钟功能。这些“应用程序时钟”可能需要在没有串行数据传输时运行,或者它们可能需要持续运行(连续时钟)以支持外设上的有源电路。如何生成和使用这些额外时钟的细节超出了本文档的范围。
对于连续时钟行为,时钟通道保持在高速模式,在HS数据包传输之间产生有效时钟信号。对于非连续时钟行为,时钟通道在HS数据包传输之间进入LP-11状态。
时钟需求
所有DSI发送器和接收器应支持时钟通道上的连续时钟行为,并可选择支持非连续时钟行为。DSI主机处理器应该支持系统需要的连续时钟,并具有关闭串行时钟以降低功耗的能力。
请注意,主机处理器控制所需的时钟操作模式。主机协议和应用程序控制时钟通道工作模式(高速或低功耗模式)。系统设计人员负责了解DSI外设的时钟要求,并根据这些要求控制时钟行为。
注意,在低功耗信号模式下,LP时钟在功能上嵌入到数据信号中。当LP数据传输结束时,时钟有效地停止,并且后续的LP时钟不可用于外设。为了在LP 模式传输中完成接收数据的处理或管道移动,外设不需要主机处理器提供额外的位、字节或数据包。有多种方法可以满足这一要求。例如,外设可以生成自己的时钟,也可以要求主机处理器保持HS串行时钟运行。
BTA的握手过程只允许主机处理器和外设之间有限的Escape模式时钟频率不匹配。主机处理器和外设之间的Escape模式频率比不得超过3:2。主处理器负责控制自己的时钟频率以匹配外设。主机处理器LP时钟频率应在外设LP时钟频率的67%~150%范围内。因此,外设实现者应指定外设的标称LP时钟频率和保证的精度。
时钟功率和时序
MIPI Alliance Specification for D-PHY, version 1.1中的附加时序要求指定了数据信号的电源状态和时钟信号的电源状态之间的时序关系。观察这种时序关系是主处理器的责任。如果DSI时钟连续运行,则不适用这些时序要求。
系统上电和初始化
系统启动是一个多状态过程,它不仅取决于主设备(主机处理器)和从设备(外围设备)的初始化,还可能取决于从设备的内部延迟。本节指定操作所需的参数,并提出一些建议,以帮助确保系统上电过程的健壮性。
上电后,主机处理器将观察一个初始化周期,TINIT,在此期间,它将在链路的所有通道上驱动一个持续的TX-Stop状态(LP-11)。
外设应在RX-Stop状态下上电,并监视Link以确定主机处理器是否至少在 TINIT期间断言了TX-Stop状态。在检测到TINIT事件之前,外设应该忽略所有的链路状态。外围设备应在TINIT周期结束后立即准备好接受总线事务。
检测TINIT事件需要外设上一些最小的定时能力。然而,只要能够可靠地检测到TINIT事件,准确性就不是关键;在大多数情况下,±30%精度的R-C定时器是可以接受的。
如果外设在上电后需要的时间比主机处理器驱动的TINIT时间长。该要求应在周边产品信息或数据表中声明。在外围设备通电后,主机处理器应遵守所需的额外时间。
图4演示了DSI显示模块的上电顺序示例。在图中,假设初始化采用上电复位(POR)机制。在显示模块内部,在I/O和核心电压稳定后,可能会发生 POR的解除断言。最坏情况下的tPOR参数可以由显示模块数据表定义。tINIT_SLAVE表示用于驱动LP-11到显示器的主机的最小初始化周期(TINIT)。这个间隔在tPOR周期之后立即开始。外设可能需要额外的 tINTERNAL_DELAY时间才能在上电后达到功能状态。在这种情况下,tINTERNAL_DELAYn也应该在显示模块数据表中定义。在本例中,主机的 tINIT_MASTER参数被编程为驱动LP-11的时间长于tINIT_SLAVE和 tINTERNAL_DELAY的总和。显示模块在此期间忽略所有Lane活动。

往期推荐

01

牛芯半导体亮相ICDIA 2025展会,斩获“2025中国创新IC-强芯评选”生态贡献奖

▲ 点击阅读

02

牛芯半导体成功入围2024年度深圳高成长企业TOP100

▲ 点击阅读

03

牛芯DDR5 IP取得突破性进展

▲ 点击阅读


牛芯半导体(深圳)有限公司(简称“牛芯半导体”)成立于2020年,聚焦接口IP的开发和授权,并提供相关整体解决方案,致力成为全球领先的IP供应商。


牛芯半导体在主流先进工艺布局SerDes、DDR等中高端接口IP,产品广泛应用于消费电子、网络通信、数据存储、人工智能、汽车电子、医疗电子等领域。


未来,牛芯半导体持续响应IP市场需求,适应不断演进的接口技术和日益拓展的接口互联场景,赋能数智时代下的千行百业。

【声明】内容源于网络
0
0
牛芯半导体
牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
内容 0
粉丝 0
牛芯半导体 牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
总阅读0
粉丝0
内容0