在当今科技飞速发展的时代,无论是调试棘手的摄像头链路,还是精心设计一套稳健的系统,了解错误的潜藏之处往往是成功的关键一步。GMSL(Gigabit Multimedia Serial Link)信号链中存在着许多不同类型的错误,这些错误可能会对系统的性能和稳定性造成严重影响。本文将深入探讨这些错误在 GMSL 信号链中的潜藏位置,为设计人员提供有价值的参考。
在上一篇博客文章中,我们着重探讨了 GMSL 通道,并强调了遵守通道规范的重要性。之所以用一篇完整的博文来讨论 GMSL 通道,是因为它是 GMSL 信号链中两个可能出现错误的关键地方之一。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