无论您是在调试棘手的摄像头链路,还是从头开始设计一套稳健的系统,知道错误隐藏何处就等于成功了一半。GMSL有许多不同类型的错误需要留意。本文将讨论这些错误在信号链中的潜藏位置。
开放系统互连(OSI)模型
OSI模型将通信系统的所有不同组成部分抽象成不同的层,每层各司其职,协同完成数据传输。
GMSL(或称SerDes)是一种点对点拓扑结构,此类设备中仅封装了其中两层:
数据链路层,利用特定协议连接两个设备,确保串行器与解串器之间实现无差错的帧传输。
通过简化SerDes系统的概念,我们可以将问题排查范围缩小到链路的两个不同部分。
图1:SerDes系统中物理层和数据链路层的位置
物理层
GMSL芯片之外,GMSL物理层接口从源端到接收端的传输路径还会经过PCB、线缆及连接器。上一篇关于通道规范的博文旨在强调为GMSL信号传输提供稳健通道的重要性。
我们概述了传输线要求:单端连接需保持50Ω特性阻抗,差分连接需100Ω,且工作频率需高达3GHz。然而,具体采用何种PCB叠层、线缆或连接器,并无硬性要求。这为系统设计人员提供了一定的灵活性,可先选择最适合应用的组件,再依据通道规范进行交叉检查。
我们的GMSL2硬件设计和验证指南为系统设计人员提供了全面的指导。
此外,源接口至串行器的布线及接收接口自解串器引出的布线也各有指导准则。为了便于讨论,我们假设这些准则都得到遵循。
物理层处于最底层,如果信号无法在链路上无差错地传输,下游的一切处理都将失去意义。在深入到IC之前,务必验证链路的信号完整性。
然而,GMSL链路不可孤立看待。实际应用中,线缆可能与其他线缆并行布放,邻近天线等辐射源,穿过动态活动的铰链,且需在温度波动环境中稳定工作。所有这些现实因素都凸显了优先关注物理层问题的重要性。
图2:信号通过理想(上)和非理想(下)通道传输的示例
数据链路层
验证GMSL通道符合规范(并确保在最坏情况下也符合规范)之后,我们便可深入探究GMSL芯片本身的内部工作机制。
数据链路层被认为是互连模型中最复杂的层级之一,它负责将物理信号转换为数据协议,并对数据传输的复杂细节进行抽象。它还负责数据帧封装、错误检测与纠正、流量控制和其他重要功能。
此层出现的错误通常源于配置不当或带宽计算有误。
缓冲区溢出和循环冗余校验(CRC)错误是两个常见例子。
当设备接收的数据量超过其输出能力时,便会发生缓冲区溢出。例如,若使用6Gbps GMSL2设备,6Gb就是它一次可处理的数据量物理极限。如果传感器以8Gbps的速率输出数据,那么6Gbps的串行器设备根本无法跟上节奏,导致缓冲区溢出和丢帧。
图3:FIFO接收和发送数据的可视化图示
GMSL数据通道采用多种CRC,可快速确认接收数据的完整性。发送器基于数据包生成CRC,接收器使用相同多项式对数据进行运算,并将原始CRC与计算出的CRC进行比较。
如果物理层没有问题,则可能是链路一端的配置错误导致数据丢失或路由异常。
图4:伪随机多项式生成的CRC
结论
即使最好的设计也仍然有可能出错,但审查潜在错误源头有助于设计人员在早期主动预防,而非后期被动应对。了解GMSL信号链中的错误藏身之处,对于构建可靠的高性能系统至关重要。掌握这些知识后,您将能更好地设计稳健的GMSL实现方案,高效排查故障,确保高速视频和数据链路在真实环境中顺畅运行。
138
