Part Number: AFE7950
Other Parts Discussed in Thread: LMK04828,
Hello,
We are using the AFE7950 with an LMK04828 for clocking and SYSREF generation.
we are looking to get SYSREF pulse mode working and we are having issue getting it to work.
The link comes up and the AFE reports good health when continuous SYSREF mode is used.
However, when using pulsed mode, the AFE is reporting errors. For both modes of operation,
Latte format5 log scripts are used to program the LMK and the AFE.
For pulse mode, the following lines are used in the Latte python script:
sysParams.continuousSysref = False
lmkParams.lmkPulseSysrefMode = True
We believe the following lines in the generated Latte log file is where SYSREF needs to be manually generated:
{0x4,0x01,0x00,0,0} //Send Pin sysref
{0x4,0x00,0x00,0,0} //Stop Pin sysref
The programming of the LMK using the LMK Latte log script leaves it in SYSREF pulser mode (register 0x143 is 0x12)
where pulses are generated using the SYNC pin. For the 0x4 opcode, we toggle the SYNC_POL
bit in register 0x143 to have the SYSREF pulses generated. LMK register 0x13E
is programmed for 4 pulses. So 4 SYSREF pulses are sent during opcode 0x4.
When this is run on the hardware, the AFE is not getting configured properly. The following
errors are being reported:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_afeSpiCheckWrapper][562]INFO:addr[0x011D], lsb[0], msb[7], data[0x87] not matching with expected value[0x00]
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_configAfeFromFileFormat5][273]ERROR:AFE FROM FILE Read Check Fail: 0x011d[0:7] = 0x0000
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_afeSpiCheckWrapper][562]INFO:addr[0x011C], lsb[0], msb[7], data[0x87] not matching with expected value[0x00]
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_configAfeFromFileFormat5][273]ERROR:AFE FROM FILE Read Check Fail: 0x011c[0:7] = 0x0000
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_afeSpiCheckWrapper][562]INFO:addr[0x011D], lsb[0], msb[7], data[0x87] not matching with expected value[0x00]
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_configAfeFromFileFormat5][273]ERROR:AFE FROM FILE Read Check Fail: 0x011d[0:7] = 0x0000
load_afe.sh[4920]:
load_afe.sh[4920]: AFE ID: 0…[ti_afe79_afeSpiCheckWrapper][562]INFO:addr[0x011C], lsb[0], msb[7], data[0x87] not matching with expected value[0x00]
The registers located at 0x11C and 0x11D are in the DAC JESD page in the AFE. For data of 0x87, these are the alarms reported:
bit7 = JESDB: multiframe alignment error
bit2 = JESDB: code synchronization error
bit1 = JESDB: 8b/10b not-in-table code error
Bit0 = JESDB: 8b/10b disparity error
We are unclear as to why we are seeing the AFE errors in SYSREF pulse mode and we are hoping you
can provide some guidance on what we can do to get this mode to work.