电路设计论坛
直播中

从未拥有

9年用户 980经验值
擅长:可编程逻辑 电源/新能源 光电显示
私信 关注
[问答]

AD9122输出错误,FIFO乱序怎么解决?

da9122配置参数:
f 数据数据数据数据数据= 122.88 MSPS = 122.88
内插=8x8,使用HB1+10 ' 和
HB2010010 ' 和HB3001001 '
f refclk 平面= 122.88MHz = 122.88MHz
PLL = 已启用
f dacclk 倾角=f = f数据数据数据数据数据* 内插=983.04兆赫
f VCO= 2 * f=2 * fdacclk 倾角= 1966.08 MHz (1 GHz < f VCO < 2 GHz)
N1=fdacclk 倾角/ f 年年refclk 平面= 8 = 8
N2=fv voco/ f 年年dacclk 倾角=2
配置值:
0x00=>   0x20; /* Issue Software Reset */
0x 00      =>   0x 80; // SDIO输入输出
0x03 0x03      =>   0x 01; // BYTE模式

0x 0B      =>   0x 20; /* Start PLL */
0x 0C      =>   0x D1;
0x 0D     =>   0x D6; /* 设置VCO参数发援会:122.88*8; VCO:122.88*16; */
0x 0A     =>   0x CF; /* VCO自动调整 */
0x 0A     =>   0x A0; /* VCO自动调整 */
读取0x 0E; //等待200米 千米后读取PLL状态,若锁定,则往下配置,否则重新开始配置
0x 1B      =>   0x E4; /* Configure Interpolation Filters */
0x 1C      =>   0x 04; /* set HB1 */
0x 1D     =>   0x 24; /* set HB2 */
0x 1E      =>   0x 12; /* set HB3 */

0x 30      =>   0x 00; // SET NCO 0
0x 31      =>   0x 00; // SET NCO 1
0x 32      =>   0x 00; // SET NCO 2
0x 33      =>   0x 00; // SET NCO 3
0x 36      =>   0x 00; // UP数据数据数据数据数据NCO
0x 36      =>   0x 00; // UP数据数据数据数据数据NCO

0x 10      =>   0x 48; /* Choose Data Rate Mode */
0x 17      =>   0x 04; /* Issue Software FIFO Reset */
0x 16      =>   0x 00;
0x 18      =>   0x 02;
读取0x18 0x18;
0x 18      =>   0x 00;
读取0x18 0x18;

0x 01      =>   0x 11; // both DAC shut down
在refclk 平面,DCI稳定的情况下,重复配置9122芯片,输出小概率出错
出错时,读取配置数据全部正确
但是读取0x18 0x18发现位数 7, 位数6经常出现告警
读取0x19 0x19发现Fifo 级别乱跳,出现一系列值:0x07 0x07,0x 0f,0x 19 0x 19,0x 39,0x03 0x03,0x 13,0x 43 0x 43,0x 1d,0x 53,0x 23,0x 1e等等乱序出现
出错时,在不做软件复位的情况下,重新配置依然保持错误状态,
如果进行软件复位,重新配置则可以正常运行

更多回帖

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