大数跨境

技术洞见 | MIPI DSI多通道和底层协议

技术洞见 | MIPI DSI多通道和底层协议 牛芯半导体
2025-09-12
0
导读:本文转载自CSDN论坛作者G2突破手259的博客,转载文章仅供学习和研究使用。

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


多通道分配与合并


DSI是一种Lane可扩展接口,需要比一个数据通道提供带宽更多的带宽的应用程序将数据路径扩展到两个、三个或四个通道,并获得峰值总线带宽的近似线性增长。
多通道实现应使用单个公共时钟信号,由所有数据通道共享。
从概念上讲,在PHY和更高级的功能块之间是一个允许多通道操作的层。在发送器中,如图所示,该层在N个Lane上分配数据包字节序列,其中每个Lane 是一个独立的逻辑和接口电路块。在接收器中,如图所示,该层收集来自N Lanes的传入字节,并将这些字节合并成完整的数据包,传递给接下来的数据包分解器。
Lane分配采用任意字节长度的HS传输,缓冲N个字节,其中N是接口中实现的Lane数,并在N个Lane上并行发送N个字节组。在发送数据之前,所有Lane并行地执行SoT序列,以指示其相应的接收单元数据包的第一个字节开始。在SoT之后,Lane从第一个数据包中并行发送N个字节的组,遵循循环过程。例如,在双通道系统中,数据包的字节0到通道0,字节1到通道1,字节2到通道0,字节3到通道1,以此类推。
多通道互操作性和通道号不匹配
使用的通道数应该是一个静态参数。应在系统设计或初始配置时固定,不得动态变化。通常,外设的带宽需求及其相应的Lane配置决定了系统中使用的Lane数量。
主机处理器应配置为支持外设所需的相同数量的Lane。具体来说,具有N Lane能力(N>1)的主机处理器应该能够使用更少的Lane进行操作,以确保与具有M Lane的外设(其中N>M)的互操作性。
多通道的时钟考虑
在EoT中,协议层应将其对公共DSI时钟信号的控制建立在最后一个有效通道模块的时序要求上。如果协议层在HS传输之间将DSI时钟置于LPS中以节省功率,则应尊重EoT序列中相对于所有串行数据信号对DSI时钟的时序要求。
在SoT之前,DSI时钟启动相对于所有串行数据信号的时序要求也应同样得到尊重。
双向和多通道功能
将数据返回给主机处理器时,外设通常没有太多的带宽需求。为了保持设计的简单性和提高互操作性,所有符合DSI的系统都应该在LP模式下只使用Lane 0从外设返回数据到主处理器。
多通道配置中的SoT和EoT
由于HS传输是由任意数量的字节组成的,这些字节可能不是Lane数的整数倍,因此一些Lane可能会在其他Lane之前耗尽数据。因此,通道管理层在缓冲最后一组小于N字节的数据时,将其“有效数据”信号解除到没有进一步数据的所有Lane中。
虽然所有的Lane都是通过并行的SoT同时开始的,但每个Lane都是独立运行的,可以在其他Lane之前完成HS传输,提前一个周期(字节)发送EoT。
链路接收端的N个物理层并行收集字节,并将其馈送到通道管理层。通道管理层在传输中重建原始的字节序列。
图说明了HS传输可以为不同的通道数和数据包长度而终止的各种方式。


底层协议错误和竞争


对于DSI系统,EMI、ESD或其他瞬态错误机制可能会导致链路的一端进入错误状态,或者链路传输损坏的数据。
在某些情况下,状态机或时钟或数据信号中的短暂错误可能导致可检测的底层协议错误,这些错误表明相关数据已经或可能已经损坏。检测和响应此类错误的机制将在以下部分中详细介绍。
在其他情况下,应该接收数据的双向PHY可能在授权的发送器同时驱动同一条数据线时开始传输,从而导致竞争和数据丢失。
本节记录了从某些底层协议错误和竞争中恢复所需的最低功能。底层协议错误由PHY中的逻辑检测,而竞争问题则使用竞争检测器和计时器解决。在基于DSI的系统中,实际的竞争将非常罕见。在大多数情况下,适当使用计时器可以从瞬态竞争情况中恢复。
注意,与竞争相关的特性对单向DSI链路没有好处。然而,“普通模式故障”仍然可能发生在单向系统中。
以下部分指定了检测底层协议错误、竞争恢复所需的最低功能,以及使用DSI 的主机处理器和外设的相关计时器。
底层协议错误
PHY中的逻辑可以检测到一些底层协议错误。这些错误将通过物理协议接口传达给协议层。以下错误应由外设识别并存储为状态位,以便以后报告给主机处理器:
  • SoT Error
    高速开始传输(SoT)的前导序列对任何单比特错误和一些多比特错误都具有容错性。因此,如果检测到错误,接收到的同步位和随后的数据包可能仍然没有损坏,但对有效负载数据完整性的信心较低。此条件应与带有 SoT错误标志的协议通信。
    外设PHY检测到SoT错误。如果期望得到确认响应,外设将使用数据类型 0x02(确认和错误报告)发送响应,并在返回包中设置SoT错误位给主机处理器。外围设备不应该根据收到的可能损坏的HS传输采取其他操作。
  • SoT Sync Error
    如果SoT前导序列被损坏,不能期望正确的同步,SoT同步错误将被标记。HS传输中的后续数据可能已损坏,不应使用。
    外设PHY检测到SoT同步错误。如果期望得到确认响应,外设将使用数据类型 0x02(确认和错误报告)发送响应,并在返回包中设置SoT同步错误位给主机处理器。由于数据可能已损坏,因此在外设中不应解释或操作任何命令。不得在外围设备中进行写操作。
  • EoT Sync Error
    DSI是一种面向字节的协议。所有未损坏的HS传输都包含整数字节。如果,在EoT序列期间,外设PHY检测到最后一个字节不匹配字节边界,EoT 同步错误将被标记。如果期望得到一个确认响应,外围设备将发送一个确认和错误报告包。外设应该在返回给主机处理器的包的错误报告字节中设置EoT同步错误位。
    如果可能,外设应该不采取任何动作,尤其是WRITE活动,以响应预期的命令。由于此错误直到包的末尾才被识别,因此在检测到错误之前可能会发生一些不可逆的操作。
  • Escape Mode Entry Command Error
    如果链路开始一个Escape模式序列,但是Escape模式进入命令不能被接收的PHY Lane识别,接收方应该标记Escape模式进入命令错误。从发送方的角度来看,这种情况可能是一个合法的命令,但接收协议无法识别或理解它。在双向系统中,链路两端的接收器应检测和标记无法识别的Escape模式序列。只有外设会报告这个错误。
  • LP Transmission Sync Error
    如果在低功耗传输结束时接收的数据未同步到字节边界,则断言此错误标志。在双向系统中,链路两端的接收器应检测并标记LP传输同步错误。只有外设会报告这个错误。
  • False Control Error
    如果外设检测到LP-10(LP请求)之后没有剩余的有效Escape或反转序列,或者如果检测到LP-01(HS请求)之后没有桥接状态(LP-00),则在错误状态寄存器中捕获一个假控制错误,并在下一个BTA之后报告给主机。此错误应该在本地标记到接收协议层,例如,当主机检测LP-10没有遵循有效的Escape或反转序列的剩余部分时。
请注意,单向DSI外设不需要报告,因为它们不能向主机处理器报告此类错误。
竞争检测和恢复
竞争是一个潜在的严重问题,虽然非常罕见,但它可能导致系统挂起,并强制进行硬复位或断电/开机周期来恢复。DSI指定了两种机制来最小化这个问题并使恢复变得更容易:PHY中的竞争检测器用于LP模式竞争,计时器用于其他形式的竞争和普通模式故障。
LP模式下的竞争检测
在双向链路中,PHY中的竞争检测器需要检测两种类型的竞争故障:LP High Fault和LP Low Fault。当外设检测到其中一个竞争错误时,应该在错误报告字节中设置“检测到竞争错误”。附件A提供了基于物理的LP竞争故障检测和恢复过程的详细描述和状态图。状态图显示了一系列事件,从检测开始,到恢复正常操作结束。
使用计时器恢复竞争
PHY不能检测到所有形式的竞争。尽管它们不直接检测竞争,但使用适当的计时器可以确保发生的任何竞争的持续时间是有限的。当外设检测到第7.2.2.1 节定义的HS RX定时器或LP TX定时器Peripheral已过期时,外设应在错误报告字节中设置外设超时错误。本节中描述的超时机制对于从竞争失败中恢复非常有用,而无需强制系统进行硬复位(开关周期)。
所需竞争恢复计时器摘要
表中指定了DSI系统中竞争恢复所需的最小计时器集。
外设HS_RX超时(HRX_TO):这个计时器对于从一些可能导致竞争或普通模式错误的瞬态错误中恢复非常有用。HRX_TO定时器直接监视外设的HS接收器保持在高速模式的时间。它被编程为比外围接收器期望的高速传输的最大持续时间更长。HS_RX超时将HS_RX模式期间发出一个错误信号,如果在超时到期之前没有收到EoT。与HTX_TO相结合,这些计时器确保瞬态错误将 HS模式中的竞争限制在超时期间,并且总线将返回到正常的LP状态。超时时间的值与协议有关。HS_RX超时应使用的双向链路和单向链路Escape模式。建议所有DSI外设设置HS_RX超时,所有双向DSI外设都需要设置HS_RX超时。
在此模式下,HS时钟处于活动状态,可用于外围设备中的HS RX定时器。“LP高故障”和“LP低故障”是由链路两端同时传输造成的。注意:“LP高故障”和“LP低故障”仅适用于双向数据通道。当发送端和接收端不在同一通信模式时,例如发送端(主处理器)驱动LP-01或LP-10,而接收端(外设)处于HS RX模式,连接终端。没有竞争,但是接收方不能正确捕获传输的数据。该错误既可能发生在双向通道,也可能发生在单向通道。HS RX超时后,外设恢复到LP-RX模式,可以恢复正常工作。注意,在普通模式故障的情况下,可能没有来自主机处理器的DSI串行时钟。因此,可能需要HRX_TO计时器的另一个时钟源。
主机处理器的HS TX超时(HTX_TO):这个定时器用于监控主机处理器自身的HS传输长度。它被编程为比高速传输的预期最大持续时间更长。HS最大传输长度与协议有关。如果定时器过期,处理器强制HS传输清零终止并进入 EoT序列,然后驱动LP-11状态。所有主机处理器都需要此超时。
注意,外围设备的HS-RX超时(参见7.2.2.2节)应该设置为一个比主机处理器的HS-TX定时器短的值,这样外围设备就可以返回到LP-RX状态,并准备好接收来自主机处理器的LP-11的进一步命令。
LP TX-Peripheral超时(LTX-P_TO):该定时器用于监控外设在LP传输模式下自身的LP传输长度(总线占有时间)。LP TX的最大传输长度由协议和数据格式决定。这个超时对于从LP竞争中恢复很有用。双向外设需要LP TX-Peripheral超时。
请注意,主机处理器LP-RX超时(见第7.2.2.5节)应该设置为比外设的LP-TX-P定时器更长的值,以便外设返回到LP-RX状态,并准备好从主机处理器接收到LP-11后的进一步命令。
LP-RX主机处理器超时(LRX-H_TO):主机处理器中的LP-RX超时时间应该大于LP TX-Peripheral超时。由于两个定时器大约在同一时间开始计数,这确保了当LP-RX定时器在主机中过期时,外设已经返回到LP RX模式,并正在等待总线活动(来自主机处理器的命令等)。超时值与协议有关。所有主机处理器都需要这个计时器。


往期推荐

01

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

▲ 点击阅读

02

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

▲ 点击阅读

03

牛芯DDR5 IP取得突破性进展

▲ 点击阅读


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


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


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

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