ZHDA302 August   2026 TDA4AH-Q1 , TDA4AP-Q1 , TDA4VH-Q1 , TDA4VP-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2USB 3.1 合规性模式:工作原理
    1. 2.1 首字母缩写词及定义
    2. 2.2 LTSSM 和 RX 检测
    3. 2.3 合规性模式进入方法
    4. 2.4 寄存器参考
      1. 2.4.1 xHCI PORTSC:端口状态和控制寄存器
      2. 2.4.2 PORTSC 位字段说明(USB 3.0 — xHCI 规范§4.19.7)
      3. 2.4.3 PLS 编码:USB 3.0 链路状态
      4. 2.4.4 在进入合规性测试之前验证 RX 检测
      5. 2.4.5 合规性写入值解码:0x0a010340
    5. 2.5 合规性码型 CP1 和 SSC
      1. 2.5.1 USB PHY 寄存器 — CP1(时钟码型)
      2. 2.5.2 寄存器地址
      3. 2.5.3 CP1 写入值解码:0x18230c10
  6. 3合规性程序 — TDA4VH/AH/TDA4AP/VP
    1. 3.1  硬件要求
    2. 3.2  软件要求
    3. 3.3  EVM 设置
    4. 3.4  合规性码型参考
    5. 3.5  LFPS:低频周期信令
    6. 3.6  合规性码型 0 (CP0)
    7. 3.7  合规性码型 1 (CP1)
    8. 3.8  LeCroy 示波器设置和结果
    9. 3.9  故障排查
    10. 3.10 合规性程序: DRA821 / TDA4AL/VL/VE / J721S2
  7. 4总结
  8. 5参考资料

合规性码型 1 (CP1)

合规性码型 1 (CP1) 是一种时钟序列,以 USB 3.0 链路速率对应的奈奎斯特频率 (5Gbps ÷ 2 = 2.5GHz) 发送。

默认 TI SDK (11.02) 设备树源码 (DTS) 不会在 SERDES PLL 上启用展频时钟 (SSC)。由于 CP1 测试需要 SSC,因此必须对 k3-j784s4-j742s2-evm-common.dtsi 文件进行以下修改:

转到 <SDK_INSTALL_DIR>/board-support/ti-linux-kernel-<version>/arch/arm64/boot/dts/ti/ k3-j784s4-j742s2-evm-common.dtsi

将以下代码添加到 &serdes_wiz0 节点以启用 SSC,如图 5 所示:

ti,core-clk-sel = <1>; /* Select internal ref clock */

ti,ssc-enable; /* Enable SSC */

ti,ssc-type = <1>; /* 1 for Downspread */

ti,ssc-frequency-hz = <33000>;

ti,ssc-depth-per-mil = <5>; /* 0.5% depth */

将以下属性添加到 serdes0_usb_link: phy@0 节点,以将 SSC 配置为内部模式:

cdns,ssc-mode = <2>; /* 2 for SSC enabled (internal) */

 修改设备树源码以启用 SSC 并强制 USB 处于主机模式图 3-6 修改设备树源码以启用 SSC 并强制 USB 处于主机模式

编译 dts 文件以生成.dtb 文件,如下所示:

$cd /<sdk-install directory>/board-support/ti-linux-kernel-6.12.57+git-ti

$export CROSS_COMPILE=/< sdk-install directory >/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-

$export ARCH=arm64

$make dtbs.

将.dtb 文件复制到 SD 卡中:

$cd /< sdk-install directory > /board-support/ti-linux-kernel-6.12.57+git-ti/arch/arm64/boot/dts/ti/

$sudo cp k3-j784s4-evm.dtb /media/<username>/root/boot/dtb/ti/k3-j784s4-evm.dtb

$sudo eject /media/<username>/root/

在 EVM Teraterm 上:

第 1 步:断开负载板,然后重新启动:

$ reboot

第 2 步:强制合规性模式:

$ devmem2 0x06010490 w 0x0a010340

第 3 步:写入 USB PHY CP1 寄存器:

$ devmem2 0x0601812c w 0x18230c10

$ devmem2 0x05060340 w 0x86000002 /*PLL0_CLK_SEL_M0_PLL0_CTRL_M0 */

第 4 步:重新连接合规性负载板。观察到的信号:CP1 — 周期性 1010 交替码型,输出带 SSC 调制的 2.5GHz 波形。USB 寄存器写入,直接选择 CP1。

 启用 SSC 后的 CP1 合规性码型图 3-7 启用 SSC 后的 CP1 合规性码型