ZHCUCT2 February   2025 LMH1229 , LMH1239

 

  1.   1
  2.   LMH1229 和 LMH1239 编程指南
  3.   商标
  4. 1访问方法
    1. 1.1 通过 SMBus 对寄存器进行编程
    2. 1.2 通过 SPI 对寄存器进行编程
    3. 1.3 寄存器页面
  5. 2寄存器命令语法
  6. 3器件配置
    1. 3.1  通用器件配置
    2. 3.2  通用寄存器命令
      1. 3.2.1 通道控制
      2. 3.2.2 LMH12x9 复位
        1. 3.2.2.1 LMH12x9 ENABLE 引脚覆盖
        2. 3.2.2.2 LMH12x9 共享、CDR 和 EQ/驱动器页面复位
    3. 3.3  IN_MUX_SEL 覆盖
    4. 3.4  SDI_IN± 和 SDI_IN1± 的信号检测状态
      1. 3.4.1 强制信号检测断电
    5. 3.5  锁定数据速率指示
    6. 3.6  CDR 环路带宽覆盖
    7. 3.7  选择性 SMPTE 数据速率锁定
      1. 3.7.1 数字静默基准阈值
      2. 3.7.2 CTLE 索引检查和手动 CTLE 覆盖
    8. 3.8  眼图张开度监视操作
      1. 3.8.1 快速 EOM
        1. 3.8.1.1 快速 EOM 操作
      2. 3.8.2 读取水平和垂直眼图张开度
    9. 3.9  SDI_OUT±、OUT0± 和 OUT1± 默认工作模式
      1. 3.9.1 SDI_OUT±、OUT0± 和 OUT1± 独立控制
    10. 3.10 反转 OUT0±、OUT1± 和 SDI_OUT± 数据极性
    11. 3.11 OUT0±、OUT1± 和 SDI_OUT± 驱动器设置
      1. 3.11.1 OUT0± 和 OUT1±VOD 设置
      2. 3.11.2 OUT0± 和 OUT1± 去加重设置
      3. 3.11.3 SDI_OUT± VOD 设置
      4. 3.11.4 SDI_OUT± 预加重
      5. 3.11.5 输出驱动器断电
      6. 3.11.6 电缆故障检测 (CFD)
    12. 3.12 LOCK_N 引脚输出设置
      1. 3.12.1 由中断寄存器编程的中断输出
    13. 3.13 PRBS 生成器和校验器
    14. 3.14 CDR 锁定定时控制
      1. 3.14.1 看门狗计时器
  7. 4寄存器映射
    1. 4.1 共享寄存器
    2. 4.2 CDR 寄存器
    3. 4.3 EQ_Drivers 寄存器

PRBS 生成器和校验器

LMH12x9 可配置为输出 PRBS-7、PRBS-9、PRBS-23 和 PRBS-31。根据选择的 PRBS 多项式和极性,在加载初始种子后生成数据。生成的 32 位数据由串行器时钟读取。该模式可以输出到 SDI_OUT±、OUT0± 和/或 OUT1±。

表 3-51 PRBS 生成器
命令寄存器MASK//注释

RAW

FF

04

07

//选择 CDR 寄存器页面

RAW

2C

80

C0

//通过启用 VCO_PD 覆盖并将 0 写入 VCO_PD 来启用 VCO

RAW

45

88

CE

//启用 PFD

RAW

41

80

C0

//启用解串器

RAW

3F

00

20

//启用 PDIQ

RAW

3F

00

07

//选择 VCO 标量分频器

//Reg0x3F[2:0] = 3'b000 全速率

//Reg0x3F[2:0] = 3'b001 2 分频

//Reg0x3F[2:0] = 3'b010 4 分频

//Reg0x3F[2:0] = 3'b011 8 分频

//Reg0x3F[2:0] = 3'b100 40 分频

RAW

3F

08

08

//启用 PDIQ 覆盖

RAW

3F

48

48

//启用 PDIQ PD 覆盖

RAW

54

80

E0

//Reg0x54[7:5]= OUT0 上的 3'b100 PRBS 数据

10

1C

//Reg0x54[4:2]= OUT1 上的 3'b100 PRBS 数据

03

03

//Reg0x54[1:0]= SDI_OUT 上的 2'b11 PRBS 数据

RAW

53

02

02

//覆盖独立输出控制

RAW

40

20

20

//启用串行器

RAW

82

40

40

//允许串行器时钟驱动 PRBS-core

RAW

FF

05

07

//选择 EQ/驱动器寄存器页面

RAW

34

40

40

//禁用 TX0 断电功能

RAW

36

40

40

//禁用 TX1 断电功能

RAW

38

80

80

//禁用 SDI_OUT± 断电功能

RAW

FF

00

07

//选择共享寄存器页面

RAW

0C

04

04

//将串行器时钟保持在复位状态

RAW

0B

04

04

//启用串行器时钟

RAW

0C

00

04

//使串行器时钟退出复位状态

RAW

FF

04

07

//选择 CDR 寄存器页面

RAW

79

00

30

//Reg0x79[5:4] = 2'b00 PRBS7

10

30

//Reg0x79[5:4] = 2'b01 PRBS9

20

30

//Reg0x79[5:4] = 2'b10 PRBS23

30

30

//Reg0x79[5:4] = 2'b11 PRBS31

RAW

7A

00

01

//在生成的数据上不强制极性反转

RAW

79

02

02

//将逻辑设置为 PRBS 生成器

RAW

79

01

01

//启用 PRBS 功能

RAW

FF

00

07

//选择共享寄存器页面

RAW

FE

08

0C

//覆盖 OUT0±

在生成器模式下对 LMH12x9 进行编程时,器件能够生成无错误的 PRBS。通过翻转所生成数据中的一位,可以向生成的数据注入一位错误。用户可以通过设置自清除注入位将错误分配到 32 个位之一。执行此操作后,输出数据将携带一位错误。

表 3-52 位错误注入
命令寄存器MASK//注释

RAW

FF

04

07

//选择 CDR 寄存器页面

RAW

82

xx

1F

//0x82[4:0]= 5'bxxxxx 选择 32 位地址以注入单个位错误

RAW

82

20

20

//触发 PRBS 生成器,只在生成的数据流中注入一位错误。自清除。

如果模块设置为检查 PRBS,则传入的解串器数据首先作为种子加载到器件中。根据状态机选择的 PRBS 多项式和极性,器件生成一个新值,并在下一个数据时钟周期将此值与解串器数据进行比较。对 64 个时钟周期重复执行此过程,如果来自器件的数据与所有 64 个时钟周期中的解串器数据匹配,状态机 (SM) 将声明 PRBS-lock,这意味着 SM 在传入的数据中找到匹配的 PRBS 多项式。否则,SM 会切换至测试相反极性,然后测试另一个多项式。重复此过程,直到 SM 找到 PRBS 锁定。但是,如果传入的信号与任何受支持 PRBS 多项式均不匹配,此过程将一直持续。

表 3-53 PRBS 校验器
命令寄存器MASK//注释

RAW

FF

04

07

//选择 CDR 寄存器页面

RAW

40

20

20

//初始化时钟信号以进行 PRBS 检查

RAW

82

40

40

//初始化时钟信号以进行 PRBS 检查

RAW

82

00

40

//初始化时钟信号以进行 PRBS 检查

RAW

40

00

20

//初始化时钟信号以进行 PRBS 检查

RAW

8B

00

80

//关闭下电上电

RAW

82

80

80

//允许解串器时钟驱动 PRBS-core

RAW

79

04

04

//将逻辑设置为 PRBS 校验器

RAW

79

10

10

//启用 PRBS 功能

RAR

73

0F

//读取 PRBS_PATT_DET 以检测正在提供哪个 PRBS

//寄存器 0x73[3:0] = 检测到 4'b1000 PRBS-31

//寄存器 0x73[3:0] = 检测到 4'b0100 PRBS-23

//寄存器 0x73[3:0] = 检测到 4'b0010 PRBS-9

//寄存器 0x73[3:0] = 检测到 4'b0001 PRBS-7

RAR

74

07

//读取 11 位宽错误总和的高三位。最大总错误数为 2047。

//Reg0x74[2:0] = 3'bxxx

RAR

75

FF

//读取 11 位宽错误总和的低八位

//Reg0x75[7:0] = 8'bxxxxxxxx