DS90UB924-Q1EVM评估板实战:从硬件连接到软件调试的FPD-Link III解串器应用指南
2026/7/27 15:00:44 网站建设 项目流程

1. 项目概述:从零上手 DS90UB924-Q1EVM 评估板

如果你正在设计车载显示屏、工业摄像头或者任何需要长距离、高可靠性传输视频和数据的系统,那你大概率绕不开 FPD-Link III 这项技术。简单来说,它就像一条“数据高速公路”,能把原本需要几十根线并排走的视频、音频和控制信号,全部打包塞进一对双绞线里,跑得又远又稳。而 DS90UB924-Q1 就是这条高速公路终端的“收费站”和“分发中心”——一颗高性能的解串器芯片。

我手头这块 DS90UB924-Q1EVM 评估板,就是德州仪器(TI)官方出的“样板间”,让你能快速验证这颗芯片到底行不行,以及怎么把它用在你自己的项目里。刚拿到板子时,面对密密麻麻的跳线帽、拨码开关和一堆接口,确实有点懵。但别担心,这份指南就是帮你把官方那本几十页的英文手册嚼碎了,结合我实际调试中踩过的坑,用大白话讲清楚怎么让这块板子跑起来,并发挥出它的全部潜力。无论你是刚接触 SerDes 的硬件新手,还是正在选型的系统架构师,这篇文章都能给你提供从硬件连接到软件调试的一站式实操参考。

2. 核心硬件配置与电路原理深析

拿到评估板,第一步不是急着通电,而是要先看懂板子上的“机关”。DS90UB924-Q1EVM 设计得非常开放,提供了丰富的配置选项,理解其背后的电路原理,能让你在调试时事半功倍。

2.1 电源架构与选型考量

板子提供了两种供电方式:通过香蕉插座 J8 输入 3.3V,或者通过 DC 插座 J7 输入 5V。这里有个关键点:板载的线性稳压器(LDO)会将 5V 降压到 3.3V 供核心电路使用。所以,如果你手头有干净的 3.3V 电源,直接接 J8 效率最高,噪声也最小。如果只有 5V 电源,接 J7 也没问题,但要留意 LDO 的压差和发热。

更值得注意的是 JP7 这个跳线。它决定了芯片 I/O 口(VDDIO)的电压是跟随核心电压(VDD33,即 3.3V)还是独立的 1.8V。这个选择直接影响你后端显示设备或处理器的接口电平兼容性。例如,如果你的 LVDS 接收端是 1.8V 逻辑的 FPGA,那么就必须将 JP7 短接到 1.8V 一侧,并在相应的测试点焊接 1.8V 的 LDO(如 LP38693MP-ADJ)。默认出厂是接 3.3V 的。

实操心得:在首次上电前,务必用万用表确认一下 JP7 的状态和电源输入极性。我曾因为匆忙中误将 5V 接到了 3.3V 的 J8 上,导致一颗 LDO 过热保护,排查了半天。一个小习惯是:在电源输入端串联一个可调限流电源,先从 0V 缓慢上调电压,同时观察板子电流,异常立即停止。

2.2 关键开关配置详解(S1-S5)

板载的 5 组拨码开关是配置芯片工作模式的核心,其功能远不止设置地址那么简单。

S1(模式选择输入)

  • S1.1 (BISTEN):内置自测试模式使能。拉高后,芯片会忽略外部串行输入,转而使用内部图案发生器产生测试图像。这在排查是前端串行器问题还是后端链路问题时极其有用,相当于一个内置的信号源。
  • S1.2 (MAPSEL):数据映射选择。它决定了 RGB 数据中最高有效位(MSB)和最低有效位(LSB)在输出通道上的对应关系。如果你的显示屏出现颜色错乱(比如红色和蓝色通道反了),检查这个开关是第一步。
  • S1.3 (LFMODE):低频模式选择。当像素时钟(PCLK)低于 15MHz 时,需要将此开关拨到 LOW 以优化内部电路工作点。这是一个容易忽略的细节,如果你传输的是低分辨率或低帧率的视频,不配置此选项可能导致锁相环(PLL)无法锁定或数据错误。
  • S1.4 (PDB):芯片使能引脚。拉低时,芯片进入完全关断模式,所有寄存器复位。正常工作时必须保持为 HIGH

S2 & S3(I2C 从设备地址 IDx 设置): 这是为多设备同一条 I2C 总线场景设计的。DS90UB924-Q1 支持通过硬件引脚配置 10 个不同的 7 位 I2C 地址。S3.1(默认 ON)对应地址 0x2C(7位)或 0x58(8位写地址)。如果你只评估一块板子,保持默认即可。如果需要级联多块板子,就需要通过 S2 和 S3 的组合为每块板子分配唯一地址,避免总线冲突。

S4(输出状态选择)

  • S4.1 (OEN):输出使能。通常保持 HIGH(ON)使能输出。
  • S4.2:这个引脚复用了 BISTC(自测试控制)和 INTB_IN(中断输入)功能。具体功能取决于其他配置,默认情况下可按需设置。
  • S4.3 (OSS_SEL):输出状态选择。用于控制当输入信号丢失或无效时,LVDS 输出引脚的状态(高电平、低电平或高阻态)。这在系统安全性和功耗控制上有意义。

S5(模式选择 MODE_SEL): 这是一个多功能的配置引脚组,通过三位编码选择芯片的预定义工作模式。例如,模式 1(默认,S5.1 ON)是标准 FPD-Link III 模式。模式 7 可能启用重复器模式,模式 9 可能启用反向通道模式等。务必查阅芯片数据手册中关于 MODE_SEL 的详细真值表,这个表定义了每种模式下,重复器(REPEAT)、反向通道(BKWD)、I2S-B 格式、线缆绑定(LCBL)等高级功能的使能状态。EVM 手册里的表格只是示例。

2.3 接口与连接器全解析

  • J4 (HSD 连接器):这是 FPD-Link III 串行信号的主要输入接口,是一个车规级的 Rosenberger HSD 连接器,用于连接屏蔽双绞线(STP)电缆。它提供了优秀的屏蔽和连接可靠性。
  • J1, J2, J11, J12 (SMA 连接器):这四组 SMA 接口是备用的差分输入/输出测试点。你可以通过飞线将它们连接到你的串行器或其他测试设备。在高速信号下,SMA 连接器的阻抗匹配和线缆质量至关重要,建议使用相位稳定、阻抗为 50Ω 的同轴电缆。
  • J3 (20-pin IDC 连接器):这是解串后的FPD-Link (OpenLDI) 格式的 LVDS 输出。它包含 4 对 LVDS 数据线(TxOUT0± 到 TxOUT3±)和 1 对 LVDS 时钟线(TxCLKOUT±),以及电源和地。你需要一个对应的 20-pin 扁平电缆连接到你的 LVDS 显示屏或采集卡。
  • J6 (Mini-USB):用于连接电脑,板载的 USB 转 I2C 控制器(AT90USB1287)通过此口与 TI 的 ALP 软件通信,实现对芯片寄存器的读写控制。这是调试和配置芯片的主要途径
  • J5 (I2C 接口插针):这是一个额外的 I2C 接口,让你可以用自己的主控器(如单片机、FPGA)通过 I2C 直接控制 DS90UB924-Q1,绕开 ALP 软件。这在集成到自有系统时非常有用。

3. 软件环境搭建与 ALP 工具实战

硬件连接妥当后,软件就是操控芯片的“方向盘”。TI 的 Analog LaunchPAD (ALP) 软件是官方推荐的图形化配置工具,但它安装和使用的坑也不少。

3.1 ALP 软件安装与驱动陷阱

首先,确保你的电脑是Windows 7 64位或更高版本。从 TI 官网下载 ALP 安装包,过程就是典型的“下一步”大法,但有两个关键点:

  1. 安装到最后一步时,建议先取消勾选“Launch Analog LaunchPAD”。因为此时 USB 驱动尚未安装,直接启动软件可能会报错或进入演示模式。
  2. 用 USB 线连接板子 J6 口和电脑后,系统会提示发现新硬件。必须让系统自动搜索并安装驱动,或者手动指定驱动目录为 ALP 的安装目录(通常包含drivers文件夹)。如果系统自动安装了错误的驱动,你会在设备管理器里看到一个带感叹号的未知设备。

避坑指南:我在 Windows 10 上遇到的最常见问题就是驱动签名冲突。如果系统强制安装了 Windows 自带的“USB 输入设备”驱动,ALP 就无法识别硬件。解决方法:在设备管理器中找到该设备,右键“更新驱动程序” -> “浏览我的电脑以查找驱动程序” -> “让我从计算机上的可用驱动程序列表中选取”,然后选择“Texas Instruments USB2ANY”或类似的厂商驱动。如果列表里没有,可能需要暂时禁用 Windows 的驱动程序强制签名(具体方法因系统版本而异)。

3.2 ALP 软件核心功能演练

成功安装并连接后,打开 ALP 软件。主界面左侧“Devices”下拉菜单中应该只出现“DS90UB924”。如果出现一堆其他器件,说明软件运行在“演示模式”,需要去Preferences菜单里取消勾选Enable Demo Mode

3.2.1 Information Tab(信息标签)这里显示连接器件的型号、版本等基本信息。首次连接时看一眼,确认软件识别到的器件是否正确,这是一个快速的健康状态检查。

3.2.2 Pattern Generator Tab(图案发生器标签)这是极其强大的调试工具。当你的前端视频源还没准备好,或者想单独测试解串器后端时,就可以在这里启用芯片内部的图案发生器。你可以选择色彩条(Color Bar)、渐变(Gradient)或棋盘格(Checkerboard)等测试图案,并设置分辨率、帧率。配置好后,在 S1 开关上将 BISTEN 置高,LVDS 输出口就会输出你设定的测试图案,用示波器或显示屏可以直接观察,省去了准备视频源的麻烦。

3.2.3 Registers Tab(寄存器标签)—— 核心配置区这是 ALP 软件的“心脏”。所有芯片的功能配置,最终都体现在对内部寄存器的读写上。

  • 界面布局:左侧是寄存器地址的树状列表,按功能模块分组(如“Global Control”,“Video Control”,“Audio Control”等)。点击任意一个寄存器地址,右侧会显示该寄存器的详细信息。
  • 读写操作
    • :选中一个寄存器,其当前值会显示在Value:输入框中(十六进制)。点击Refresh按钮可以重新读取。
    • :在Value:框内直接输入新的十六进制值,或者更直观地,在下方“Bit Fields”区域直接勾选(置1)或取消勾选(置0)对应的位域。修改后,必须点击Apply按钮,修改才会生效并写入芯片。
    • 位域查看:双击寄存器地址,可以展开看到每一位(Bit)的定义和当前状态。这对于理解复杂配置寄存器(如0x07: Backward Channel Control)非常有帮助。

3.2.4 Scripting Tab(脚本标签)—— 自动化利器对于需要重复进行的复杂配置或测试序列,手动点击效率太低。ALP 提供了基于 Python 的脚本环境。你可以录制操作,也可以直接编写脚本。例如,一个简单的脚本可以循环测试几种不同的视频模式:

# 示例:切换不同的输入模式并读取锁相环状态 import alp dev = alp.getDeviceByName(“DS90UB924”) reg_video_ctrl = 0x58 # 假设的视频控制寄存器地址 reg_pll_status = 0x5D # 假设的PLL状态寄存器地址 modes = [0x01, 0x02, 0x03] # 几种模式代码 for mode in modes: dev.writeRegister(reg_video_ctrl, mode) alp.delay(100) # 等待100ms稳定 status = dev.readRegister(reg_pll_status) print(f”Mode 0x{mode:02X}: PLL Status = 0x{status:02X}”) if (status & 0x01): # 检查LOCK位 print(“ -> PLL Locked!”) else: print(“ -> PLL NOT Locked!”)

注意事项:官方警告直接通过脚本与设备交互可能导致 GUI 卡顿甚至崩溃。建议在脚本中适当加入延时(alp.delay()),并且复杂的脚本最好在非关键任务下先进行测试。

4. 系统搭建与信号完整性调试实战

硬件连好,软件调通,接下来就是构建一个完整的视频传输链路并进行验证。

4.1 典型系统连接方案

你需要准备以下设备:

  1. 视频源:一个兼容的串行器评估板(如 DS90UB921-Q1EVM)和一个能产生 RGB888 格式的视频源(如 FPGA 开发板、带有 OpenLDI 输出的显卡、或专业的视频图案发生器)。
  2. 传输线缆:一条高质量的100Ω 屏蔽双绞线(STP),用于连接串行器的输出和解串器 J4 的输入。TI 推荐 Leoni Dacar 535-2 系列线缆,长度可达 10 米以上。线缆质量直接决定传输距离和稳定性,劣质线缆在高频下损耗巨大。
  3. 显示或采集设备:一个带有 LVDS(OpenLDI)输入的显示屏,或者一个高速 LVDS 采集卡(如 NI 的采集设备),用于接收 J3 输出的并行 LVDS 信号。
  4. 测试仪器(可选但推荐)
    • 示波器:用于观察串行输入信号(J4 或 SMA)的眼图,评估信号质量。这是调试信号完整性的黄金标准
    • 逻辑分析仪:可以抓取 I2C 总线上的通信数据,或者连接 LVDS 输出,解码并行视频数据,验证数据正确性。
    • 万用表:检查各路电源电压是否正常。

连接顺序:视频源 -> 串行器评估板 -> STP 电缆 -> DS90UB924-Q1EVM (J4) -> 扁平电缆 -> 显示屏/采集卡。同时,为串行器和解串器评估板分别供电,并用 USB 线连接解串器板到电脑。

4.2 上电、配置与初步验证

  1. 上电前最后检查:对照本章第一节,确认所有跳线(JP7)和开关(S1-S5)处于所需状态。特别是 S1.4 (PDB) 必须为 ON(HIGH)
  2. 上电:先给串行器板上电,再给解串器板上电。观察板载电源指示灯(LED1)是否亮起。
  3. 软件连接:打开 ALP 软件,确认能识别到 DS90UB924 设备。
  4. 基础寄存器检查:在 ALP 的 Registers 标签页,读取设备 ID 寄存器(通常是地址 0x00)。这能验证 I2C 通信是否正常。例如,DS90UB924-Q1 的器件 ID 可能是 0x0A,如果读回 0xFF 或 0x00,则说明通信失败。
  5. 检查锁相环(PLL)状态:芯片内部有一个关键的寄存器位指示 PLL 是否锁定到输入的串行数据流。在寄存器中找到LOCKPLL_LOCK状态位(具体地址查数据手册)。如果显示已锁定,说明串行链路物理层基本正常。
  6. 启用输出:确保相关控制寄存器(如输出使能寄存器)已正确配置,使能 LVDS 输出。

4.3 信号完整性调试与常见问题排查

这是最考验功力的部分。即使连接正确,也可能没有图像或图像有噪点、闪烁。

问题1:完全无输出,PLL 无法锁定。

  • 排查思路
    1. 查电源:用万用表测量芯片核心电压(VDD33,应约 3.3V)和 I/O 电压(VDDIO,根据 JP7 设置应为 3.3V 或 1.8V)。
    2. 查时钟:确认前端串行器有正确的像素时钟输入,并且其频率在 DS90UB924-Q1 支持的 5-96 MHz 范围内。特别注意 S1.3 (LFMODE) 的设置是否与时钟频率匹配
    3. 查差分信号:用示波器测量串行器输出(或解串器 J4 输入)的差分信号。确保有信号,并且幅值在合理范围(通常差分峰峰值在几百毫伏到一伏特左右)。如果信号幅值太小或没有,检查串行器配置和供电。
    4. 查电缆和连接:重新插拔 STP 电缆,检查 HSD 连接器是否锁紧。尝试更换更短的电缆,排除电缆损耗过大的问题。
    5. 查配置模式:确认串行器和解串器的工作模式(如色彩深度 RGB888 vs RGB666,是否启用音频等)必须完全匹配。一个常见的错误是串行器配置为 RGB666 + I2S,而解串器却配置为仅 RGB888 模式。

问题2:有图像输出,但存在雪花、条纹或颜色错误。

  • 排查思路
    1. 看眼图:这是最直接的诊断方法。将高速示波器连接到串行输入端的 SMA 测试点(J1/J2),使用差分探头,打开眼图测量功能。一个清晰、张开度大的眼图是高质量信号的标志。如果眼图闭合、抖动大,说明信号完整性差。
    2. 调整均衡器:DS90UB924-Q1 具有自适应电缆均衡功能,但也可以通过寄存器手动调整均衡强度。如果电缆较长或质量一般,尝试适当增强均衡(增大相关寄存器值),观察图像是否有改善。注意,均衡过度也会引入噪声
    3. 检查数据映射:图像颜色通道错误(红变蓝等),首先检查S1.2 (MAPSEL)开关设置,其次检查芯片内部的数据映射寄存器。
    4. 检查同步信号:确保 HSYNC、VSYNC、DE(数据使能)信号在 LVDS 输出端是正常的。可以用逻辑分析仪抓取这些信号,看时序是否符合显示屏的要求。
    5. 电源噪声:在芯片的电源引脚附近,用示波器交流耦合测量电源纹波。过大的电源噪声会调制到时钟和数据上,引起图像干扰。确保电源走线足够宽,并且使用了手册推荐数值和位置的去耦电容(板载已设计好)。

问题3:ALP 软件无法连接或读写寄存器失败。

  • 排查清单
    • USB 线是否松动?换一根线试试。
    • 设备管理器里 USB2ANY 驱动是否带感叹号?重新安装驱动。
    • ALP 软件是否运行在“演示模式”?去Preferences关闭。
    • 板子的 I2C 地址(S2, S3)是否被意外改动?恢复成默认设置(S2全OFF, S3.1 ON)。
    • 是否有其他 I2C 主设备(如你的单片机)也在总线上并发生冲突?暂时断开 J5 上的外部连接。

5. 进阶应用与设计迁移指南

当评估板工作稳定后,下一步就是思考如何将这颗芯片用到你自己的产品设计中。

5.1 从评估板到自主 PCB 设计的关键差异

EVM 为了测试灵活性,做了很多“冗余”设计,而你的产品板需要更精简、更优化。

  1. 电源设计:EVM 使用了多个 LDO。在产品设计中,你可能需要考虑使用效率更高的 DC-DC 开关电源,但必须特别注意其开关噪声对高速模拟电路的影响。电源滤波和去耦电容的布局至关重要,应严格按照数据手册的推荐,将小容量陶瓷电容(如 0.1uF)尽可能靠近芯片的每个电源引脚放置。
  2. 时钟与信号完整性
    • 参考时钟:如果芯片需要外部参考时钟,必须使用低抖动、高稳定性的晶振或时钟发生器。时钟走线应尽量短,并做好包地处理。
    • 高速差分走线:FPD-Link III 的串行差分对(RIN+/RIN-)以及 LVDS 输出差分对,必须作为阻抗受控的差分对来布线。通常目标阻抗为 100Ω。使用你的 PCB 设计软件进行阻抗计算和仿真,确保走线等长、对称,并远离噪声源。
    • ESD 保护:EVM 在接口处放置了 ESD 抑制器(如 CR1, CR2)。在你的产品设计中,尤其是车载或工业环境,必须为所有外部接口(HSD, LVDS 连接器)设计 robust 的 ESD 保护电路。
  3. 配置引脚的上/下拉:EVM 用拨码开关实现灵活配置,但产品中通常用固定电阻进行上拉或下拉。仔细阅读数据手册的“Pin Configuration”章节,明确每个配置引脚(如 MODE_SEL0-2, IDx)的内部弱上/下拉情况,并根据你的固定需求,决定是否需要外部更强力的上/下拉电阻来确保状态稳定。

5.2 利用内部诊断功能进行生产测试

DS90UB924-Q1 提供了丰富的内部诊断寄存器,这在产品量产测试中非常有用,可以不用接显示屏就能判断芯片和链路是否基本正常。

  • 锁相环锁定状态:读取状态寄存器,确认 PLL 是否锁定。
  • 电缆检测与信号强度:某些寄存器可以反映输入信号的幅度或电缆均衡器的设置状态,间接判断电缆连接是否良好。
  • BIST(内置自测试):通过配置寄存器启用 BIST 模式,并读取 BIST 错误计数器,可以快速验证芯片内部逻辑和 LVDS 输出通路是否正常。
  • I2C 回环测试:通过反向通道(如果使能),可以让主控制器发送一个命令,并验证是否能通过 I2C 从串行器读回正确数据,从而验证整个双向控制通道的完整性。

5.3 与微控制器的集成:超越 ALP 软件

ALP 软件只是评估工具。在实际系统中,你需要用你自己的主控 MCU 通过 I2C 去初始化和管理 DS90UB924-Q1。

  1. 初始化序列:上电后,MCU 需要等待一段时间(参考数据手册的 Power-Up Time),然后通过 I2C 发送一系列寄存器配置值,将芯片设置为所需的工作模式。最好的方法是参考 ALP 软件中“Registers”标签页在你配置好后所有寄存器的值,将其导出或记录,作为你 MCU 初始化代码的基准
  2. 错误处理与状态监控:你的 MCU 程序应该定期轮询或通过中断(如果配置了 INTB 引脚)读取芯片的关键状态寄存器(如锁相环状态、错误标志位),实现系统的自我监控和故障上报。
  3. 动态配置:在某些应用中,可能需要动态切换视频模式(如分辨率)。这就需要 MCU 根据命令,实时地通过 I2C 修改芯片的相应寄存器组。注意,修改某些关键寄存器(如视频格式相关)可能导致输出暂时中断,需要做好同步处理

折腾完这块评估板,我的一个深刻体会是:高速数字设计,五分在原理,五分在 layout 和调试。DS90UB924-Q1EVM 把芯片的所有能力都开放了出来,虽然初期配置显得繁琐,但正是这种繁琐让你能透彻理解每一个功能模块。从眼图测量到寄存器配置,从电源纹波分析到 Python 脚本自动化,这一套流程走下来,不仅是对这颗解串器,对整个 SerDes 链路的调试方法都有了实战经验。最后给个小建议:一定要把芯片的官方数据手册和这份评估板手册放在手边对照着看,很多评估板上的设置细节,其根源和影响都在数据手册里有最权威的解释。当你看着稳定的高清图像通过一根细细的双绞线传输过来时,之前所有的调试折腾都值了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询