AN-1254: 同步多个基于DDS的频率合成器AD9915

简介

许多应用要求产生两个或两个以上具有已知相位关系的正 弦波或方波信号。ADI公司的 AD9915DDS IC能够提供这种 信号。本应用笔记详细说明了如何使两个或更多该器件同 步,同时考虑了可能的相位误差源。

为成功同步,用户必须能控制每个器件的REF CLK、SYNC_CLK 和IO_UPDATE时序。目的是让所有DDS器件采用相同的内 部系统时钟计数工作,并且各器件之间的计数相差小于±1 或更多。因此,每个器件的SYNC_CLK必须互相对齐,且各器件的IO_UPDATE必须与SYNC_CLK同步,从而消除所有输出相位误差不确定性为±1或更高的系统时钟周期。

注意,由于输出滤波失配、REF CLK偏斜和其他外部源所产生的任何输出相位误差通常表现为固定来源的误差。但是,DDS提供可编程输出相位调节功能,可以抵消固定来源的相位误差。本应用笔记描述了同步多个DDS器件的基本要求。成功的同步始于REF CLK信号的分配。

如何同步多个器件

为所有待同步的DDS器件提供同步REF CLK


成功同步多个AD9915器件的第一个要求是所有DDS的REF CLK输入之间的相位误差必须达到最小。假设不考虑其他因素,若REF CLK输入信号在多个DDS器件之间存在对齐误差,那么输出将(至少)具有同样的对齐误差量。因此,用户必须审慎考虑电路板(PCB)布局中的时钟分配方式(参见 图1)。

图1. 推荐布局(顶视图)与不良布局(底视图)

 

实际上,过多的REF CLK对齐误差或输入时钟偏斜会抑制多个DDS器件的SYNC_CLK与相同REF CLK边沿对齐的能力。如果SYNC_CLK不对齐,则无法实现多芯片同步。注意,DDS内部系统时钟是REF CLK的延迟副本,因此每个器件都具有相同的内部时钟速率。此时假定内部PLL禁用。若非如此,则系统时钟速率等于REF CLK速率乘以经过编程设置的PLL乘法系数。

多个同步DDS器件支持的最大系统时钟速率为2.5 GSPS。在超过此速率的情况下工作会增加稳定时序解决方案部署的难度。若必要,内部PLL可支持多芯片同步。


对齐所有DDS器件的SYNC_CLK


SYNC_CLK是CMOS时钟输出信号,输出频率等于系统时钟除以 16。 SYNC_CLK内部采样 IO_UPDATE,从而SYNC_CLK输出由外部提供,以便同步至外部 IO_UPDATE。上电时,所有器件的SYNC_CLK边沿相互之间随机处于16种相位状态中的任意一种,哪怕REF CLK在多个器件间处于完美对齐状态。

由于这个原因,必须首先对齐各SYNC_CLK边沿,才能正确同步。若非如此,那么多个器件的相位累加器将无法在相同的系统时钟计数内及时累加。

在多个器件间同步SYNC_CLK要求对多个寄存器进行置位,还要求具有一致的SYNC_IN信号,同时对每个器件发出自动DAC校准命令。基本上,目标是(通过SYNC_IN信号)复位产生SYNC_CLK信号的内部分频器。通过向所有DDS发送一致的SYNC_IN信号,可以实现该目标。此外,SYNC_IN必须满足内部系统时钟的内部建立时间要求。

大多数情况下,SYNC_IN信号来自SYNC_OUT信号,而后者由主DDS产生。SYNC_IN和SYNC_OUT信号均为3.3 V CMOS逻辑信号。SYNC_OUT时钟速率等于系统时钟速率的1/384。注意, SYNC_IN不需要通过主 DDS器件的SYNC_OUT输出来驱动,但SYNC_IN信号源速率必须等于系统时钟速率的整数约数,同时要低于50 MHz,才可同步。

最大工作速率为2.5 GSPS时,内部系统时钟的周期为400 ps。若要同步多个器件并获得最佳的内部时序裕量,则SYNC_IN应置于系统时钟周期的中心,如图2所示。

图2. 所需的内部时序

 

然而,在图2中,用户无法直接获得SYNC_IN和REF CLK信号之间的内部时序关系,因为信号在内部传播。注意,在外部SYNC_IN引脚和外部REF CLK引脚上,AD9915设计为只要SYNC_IN信号的上升沿与REF CLK信号的上升沿时间一致,即可满足最小内部建立时间(最高2.5 GSPS)要求。时序关系参见图3。

图3. 所需的外部时序

如果所有器件的外部引脚上未能满足此时序关系,那么SYNC_IN信号依然可相对于REF CLK边沿作出调整。这可通过寄存器0x1B的内部可编程延迟位SYNC_OUT实现。因此,由于调整了SYNC_OUT,所有器件的SYNC_IN边沿也应当相应调整。欲了解更多信息,请参考AD9915数据手册。

此外,内部SYNC_IN信号路径可通过置位寄存器0x1B中的相应位来调整延迟。因此,内部SYNC_IN可相对于系统时钟而针对单个器件设置延迟。如果编程设置的延迟过大,那么SYNC_CLK输出会跳变,跳变量为器件之间相互独立的系统时钟周期,具体数值取决于所施加的SYNC_IN延迟量,导致 SYNC_CLK边沿产生对齐误差。有关对齐SYNC_CLK信号的步骤可参见“在多个器件之间对齐SYNC_CLK”部分。所有器件的SYNC_CLK信号对齐后,便可禁用SYNC_OUT信号。


为所有DDS器件提供同步IO_UPDATE


所有器件的SYNC_CLK对齐后,进一步的编程需要一个公共IO_UPDATE信号。例如,若不发送IO_UPDATE信号,那么可以首先通过异步方式逐个将器件的频率调谐字寄存器和相位失调字寄存器编程设置为所需的数值。因此,所有器件的DDS内核都不会对这些改变作出响应,直到发出IO_UPDATE信号。相应地,在此之后输入所有器件的公共IO_UPDATE信号将迫使全部器件的频率调谐字和相位字在同样的内部系统时钟计数内同步更新为所需结果。

IO_UPDATE必须与SYNC_CLK同步发生。最短建立时间为2 ns,最短保持时间为0 ns。如果满足该时序且所有器件的SYNC_CLK均对齐,则可进行同步。


在多个器件之间对齐SYNC_CLK


这一过程分八步:

  1. 使所有器件上电并施加REF CLK信号源。电路框图见图4。注意,所有器件的REF CLK信号都应当具有尽可能最低的REF CLK时序偏斜。尝试在高于2.5 GSPS的系统时钟下工作将会降低成功同步多芯片的可能性。
  2. 向所有DDS器件发送一个通用主芯片复位信号。主芯片复位信号可异步发送至每一个器件。主芯片复位将内部寄存器置于预定义默认值状态。
  3. 发送DAC CAL信号至所有DDS器件。将寄存器0x03中的DAC CAL位置位为逻辑1,随后清零。也就是说,施加一个IO_UPDATE信号,将DAC CAL位置位为高电平,然后施加另一个IO_UPDATE信号,清零DAC CLK位。此时,IO_UPDATE信号可异步施加于器件。
  4. 将寄存器0x01中的SYNC_OUT使能位(位9)置位为逻辑1(仅主DDS器件)。施加一个IO_UPDATE信号。这将启动SYNC_OUT,驱动主芯片的SYNC_IN引脚以及从芯片的全部SYNC_IN引脚。大多数情况下,SYNC_OUT应采用外部扇出器件缓冲,以驱动多个器件。SYNC_OUT的频率等于系统时钟频率的1/384。此时,IO_UPDATE信号 可异步施加于器件。
  5. 将寄存器0x1B中的SYNC位置位为逻辑1,以便设置所有器件的CAL。同样,此时IO_UPDATE信号可异步施加于器件。
  6. 使用寄存器0x1B中的可编程SYNC_OUT延迟位,并对该位进行调整,以便更好地对齐主芯片器件的SYNC_IN上升沿和REF CLK信号(如图3所示)。
  7. 对所有器件执行另一次DAC CAL(重复步骤3),包括主芯片器件。同样,此时可异步施加IO_UPDATE信号。此步骤将使所有器件的 SYNC_CLK与主芯片器件的SYNC_CLK对齐。
  8. 当所有器件的SYNC_CLK都与主芯片器件对齐后,下一步便可测试能否正确同步。将所有器件的3个prole引脚置位为逻辑0。
    • 在不发送IO_UPDATE信号的情况下对各器件单独编程,使能prole模式,并将所需的频率调谐字编程至Prole 0寄存器中。
    • 下一步,发送公共或同步IO_UPDATE信号至所有器件。IO_UPDATE必须满足SYNC_CLK的设置与保持时间要求。该步骤应使各DDS输出互相对齐。
图4. 概念电路

小结

只要妥善处理并采用本应用笔记描述的程序,多个DDS器件可以实现输出同步。

图5至图7显示4个器件之间的各种时序关系结果。图5表示上电之后、执行任何同步步骤之前4个器件之间SYNC_CLK随机对齐的情况,哪怕此时各器件的REF CLK相互之间完美相位对齐。

图5. 上电后器件之间的SYNC_CLK随机对齐情况
 

图 6和 图 7表示执行 SYNC_CLK对齐步骤并发出同步IO_UPDATE信号(步骤8)后,SYNC_CLK和DDS输出的对齐情况。

图6. 执行SYNC_CLK对齐步骤后器件之间的SYNC_CLK对齐情况
图7. 执行SYNC_CLK对齐步骤以及发送同步1174IO_UPDATE信号后器件之间的输出情况

注意,假定图7中器件之间的相位失调值相同。如果某个器件的相位失调值改变90°,则该器件的输出将会相对其他3个输出移位90°。

作者

David Brandon

David Brandon

David Brandon 是ADI公司高速放大器部门(位于北卡罗来纳州格林斯博罗)的产品工程师。David从1982年开始便在ADI公司工作,迄今已35年。他在DDS部门担任应用工程师愈20年,发表了多篇应用笔记和杂志文章。David经常与Rob Reeder和其他人合作评估新的行业器件声明和交流测试设备功能。David业余时间喜欢打高尔夫球,并与家人共度美好时光。David于1982年获得美国北卡罗来纳州格林斯博罗的吉尔福德科技社区学院电气工程学位。