电路设计论坛
直播中

李俊

7年用户 1334经验值
私信 关注
[问答]

请问如何正确配置AD9689来实现时间戳模式?

目的:为了实现多片ADC同步,项目采用timestamp mode给采样点打上时间戳,但是出现了奇怪的问题,希望帮忙解答,并且请问如何正确的配置AD9689来实现时间戳模式?
实验过程:
对两片ADC进行寄存器配置,配置如下:(两片AD配置相同)
螺旋线( 10) ;
(d) sendcmdtoad9689(adcsel,0x0000,0x81);
线( 20) ;
SendCmdToAD9689(ADCSCel, 0x003F, 0x80); // CHIP PDWN 针忽略
/// 芯片模式
SendCmdToAD9689(ADCSCel,0x0200,0x00;//全带宽模式)
SendCmdToAD9689(ADCSCel,0x0201,0x00;//芯片的切裂率=1)
SendCmdToAD9689( ADCSCel, 0x0120, 0x04); // N shot 模式; 水平上升边缘
SendCmdToAD9689( ADCSel, 0x0121, 0x00; / ignore 0 sysref)
SendCmdToAD9689(ADCSCel, 0x0122, 0x00; / SYSREF 窗口)
SendCmdToAD9689(ADCSCel, 0x0571, 0x15); // JESD204B 连接下方电源
SendCmdToAD9689(ADCSCel, 0x0572, 0x00; // CGS 力)
SendCmdToAD9689(ADCSCel, 0x058B, 0x87); // scrabbing off [7=1, L=8]
SendCmdToAD9689(ADCSCel, 0x058E, 0x01); //M = 2
SendCmdToAD9689(ADCSCel, 0x058C, 0x00; // F = 1)
SendCmdToAD9689(ADCSCel, 0x058D, 0x13); // K = 20
[size=150%]SendCmdToAD9689(ADCSel, 0x01FF, 0x01); / 时间戳模式
SendCmdToAD9689(ADCSCel, 0x058F, 0x8D); //N=14 CS*2
SendCmdToAD9689(ADCSCel, 0x0559, 0x50); // cs1 = 1
SendCmdToAD9689(ADCSCel, 0x055A, 0x50); // cs2 = 1
SendCmdToAD9689(ADCSCel, 0x056E, 0x00; //lane 率= 6.75-13.5Gb/s)
//ADC 测试模式
SendCmdToAD9689(ADCSCel, 0x0561, 0x00; // offcomet 编码)
SendCmdToAD9689( ADCSCel, 0x0550, 0x0F); / / 0x0F: ramp 输出
SendCmdToAD9689(ADCSCel, 0x0571, 0x14); // JESD204B 连接电源
(d) sendcmdtoad9689(adcsel,0x1228,0x4f);
(d) sendcmdtoad9689(adcsel,0x1228,0x0f);
(d) sendcmdtoad9689(adcsel,0x1222,0x00);
(d) sendcmdtoad9689(adcsel,0x1222,0x04);
(d) sendcmdtoad9689(adcsel,0x1222,0x00);
(d) sendcmdtoad9689(adcsel,0x1262,0x08);
(d) sendcmdtoad9689(adcsel,0x1262,0x00);

然后对JESD204B接收核复位,发出指令让外部时钟芯片产生一个sysref脉冲,脉宽是100ns,(实际示波器测到100ns)
此时链路建立,JESD204B接收核收到了有效采样信号, 而且此处(控制位居然有两位是拉高的?请问这是为什么)。
再让外部时钟芯片产生一个sysref脉冲,100ns脉宽,
但是无法在控制位上打上timestamp。
请问这种配置有什么问题嘛?我是按照手册里面Figure147配置的,不知道是不是哪里有理解的偏差了。谢谢

更多回帖

发帖
×
20
完善资料,
赚取积分