器件型号: DS560DF810EVM
设置:
我们使用的电缆是 MXP40。
- PPG 的 26.5625G NRZ x2 传输到 EVB RX0 和 RX1
- EVB TX0+输入示波器
- EVB TX0-进入触发器
- GUI 设置为 2xNRZ 到 PAM4 (PRBS15)
结果: 17.844GBaud PAM4(需要为 26.5625GBaud PAM4)

如果我们将 PPG 的触发器用于项目 3、则时钟是正确的、但结果表明输出实际为 17.84GBaud。

所以我们想知道我们犯了什么错。
我们应该尝试在 GUI 中进行一些设置吗?
下面是我们使用的 Bringup.py 代码。
device.hardReadAlways=1;
'''###----- BRINGUP PARAMETERS------------- ###''
sysParams.channelsDataRate=[26.5625]*8;#(以 GBaudps 为单位)26.5625 53.125
###要启用的通道:[Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.channelsEnabled=[1,1,1,1,1,1,1,1]; #[1、0、0、0、0、0、0、0];
### PAM4/NRZ 模式:1->PAM4、0->NRZ
sysParams.pam4Mode=[0]*8;#1->PAM4、0->NRZ
### Tx PRBS 发生器极性:0->不反相 1->反相、用于通道[Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.txPolarityInv=[0]*8;
### Rx PRBS 校验器极性: 0->不反相 1->反相、用于通道[Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.rxPolarityInv=[0、0、0、0、0、0];
### Rx PRBS 选择:0->7、1->9、'3->15、4->23、5->31、8->13 [Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.rxPrbsSel=[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3];
### Tx PRBS 选择:0->7,1->9,3->15,4->23,5->31(用于 PRBS 发生器模式)
sysParams.txPrbsSel=[3]*8;
###灰色代码:1->启用 0->禁用 [Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.grayCodeEn=[1]*8;
###齿轮箱模式:
### 0x00 直通 模式 0x01 交叉点模式 0x02 从 RX A 0x03 广播从 RX B 0x04 齿轮箱多路复用器到 TX A 0x05 齿轮箱多路复用器到 TX B
### 0x06 齿轮箱 多路信号分离器从 RX A 0x07 齿轮箱多路信号分离器从 RX B 0x08 上变频多路复用器至 TX A 0x09 上 变频多路复用器至 TX B 0x0A 下变频多路信号分离器从 RX A
### 0x0B 下变频多路信号分离器来自 RX B 0x0c 交叉点 0x80 模拟低延迟路径的 GPIO 控制。
###[Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.gearboxmode=[0x04]*8.
### AlarmEvent :每个位代表不同的事件
#### 1-在通道 2 上检测到信号丢失 — 在通道上检测到信号丢失 4 通道初始化已开始。 8 通道初始化完成
### 16-保留位 0 32 眼图偏移测量完成 64 通道就绪
###[Q0CH0、Q0CH1、Q0CH2、Q0CH3、Q1CH0、Q1CH1、Q1CH2、Q1CH3]
sysParams.alarmEventSel=[0xF]*8;
“-------------------------------- '''
DEF bercheck (quad、chRx、polySel、sample_count=2048):
returnArr=[];
vemList=[];
berArr=[];
### Rx PRBS 选择:0->7,1->9,3->15,4>23,5->31,8->13
sysParams.rxPrbsSel[quad*4+chRx]=polySel;
###检查通道初始化状态
[done、resultArr]=ds50.Quad[quad].chInitStat (chRx);
if (device.chInitComplete[quad*4+chRx]==1):
log(“通道初始化成功完成“、“Debug“);
###垂直眼图记录
vemList=ds50.Quad[quad].verteyeMacroCall (chIdx=chRx);
log(“VemList =“+str (vemList[1]));
### RX BER 检查
berArr=ds50.Quad[quad].prbsBERCheck (chRx、sysParams.rxPrbsSel[quad*4+chrx]、sysParams.rxPolarityInv[quad*4+chrx]、symbolWindow=sample_count、Seren=0);
延迟 (0.2);
否则:
ERROR(“通道初始化正在进行中/未实现锁定。 请确保已连接输入信号“);
returnArr.append (berArr);
returnArr.append (vemList);
returnArr.append (resultArr);
返回值返回值;
“-------------------------------- '''
''''----- 更改 CTLE 设置----- '''
默认值为 0、DAC 电缆为 1
sysParams.channelType=[0]*8;
默认值为#0-10dB PAM4 2-25dB PAM4 3-35dB NRZ
sysParams.channelPerformanceOptimize=[0]*8;