时钟芯片AD9523-1数据手册阅读
手册是给多种人看的,不同类型的人员看的侧重点不一样。像我属于使用芯片配置编程的,前面很多参数略过,只需注意关心的时钟频率范围。因此要有目的性的看,而不是通篇读。
我是对照着AD9523-1的英文数据手册看的。
芯片特点:
两级PLL
14个差分输出时钟
通过串行接口对内置的EEPROM进行编码改变芯片配置
按照目录解读:
SPECIFICATIONS使用说明书
CONDITIONS工作条件
SUPPLY CURRENT工作电流
POWER DISSIPATION功率耗散
INPUT CHARACTERISTICS输入特性
OUTPUT CHARACTERISTICS 输出特性
TIMING ALIGNMENT CHARACTERISTICS时间对齐特征
……
ABSOLUTE MAXIMUM RATINGS绝对最大额定参数
其中涉及一些专业名词并不能看懂,上面这些基本可以略过。
需要注意的是一些口的输入输出的时钟范围、PLL1的VCO范围250MHz、PLL2的VCO范围2.94-3.1GHZ
PIN CONFIGURATION AND FUNCTION DESCRIPTIONS引脚配置及功能说明
这一部分包含了所有引脚的描述,并不是要你一个一个的看而是像查字典一样用到时查
TYPICAL PERFORMANCE CHARACTERISTICS典型性能特性
用曲线图表示输出信号各个参数之间的关系,我觉得可以略过
INPUT/OUTPUT TERMINATION RECOMMENDATIONS输入/输出终止建议
指需要加电容电阻来达到DC或AC耦合驱动,应该是给设计原理图PCB的人看的
TERMINOLOGY术语
关于时钟的专业术语,好像这几个术语对于配置时钟频率也没什么用
Phase Jitter and Phase Noise相位抖动和相位噪声
Time Jitter时间抖动
Additive Phase Noise加性相位噪声
Additive Time Jitter加性时间抖动
THEORY OF OPERATION工作原理,这部分要细读
PLL1 General Description
组成部分:phase-frequency detector (PFD)鉴频鉴相器、charge bump电荷泵、passive loop filter无源环路滤波器和external VCXO外部压控振荡器
很遗憾我本科没有接触过锁相环,再看了一下两篇才有了基本的认识:
https://wenku.baidu.com/view/3bc75a6fb84ae45c3b358cd4.html(看前半部分)
https://blog.****.net/zhang810413/article/details/2603545
PLL1 Reference Clock Inputs参考时钟输入
有两对可选差分参考时钟输入REFA REFA、REFB REFB,也可以用单端输入,另一端接地。
Register 0x01A配置用A还是B
PLL1 Loop Filter
不懂原理,配置电阻的
PLL1 Input Dividers
对输入参考频率进行分频1-1023,降低参考频率以适应PLL1通常需要的带宽是必要的。
PLL1 Reference Switchover
两对参考时钟频率的使用与切换。默认用A,若A失效用B;还能配置若A失效后又恢复了是接着用B,还是返回A。
Register 0x01C来配置
PLL1 Holdover
若参考时钟都失效,进入这个延期模式
PLL2 General Description
组成部分:an optional input reference doubler倍频器, reference divider参考分频器, phase-frequency detector (PFD), a partially integrated analog loop filter (see Figure 27), an integrated voltage-controlled oscillator (VCO),and a feedback divider反馈分频器。
VCO产生一个标称的3.0 GHz信号,其输出分压器的分频比率为3 4 5。
Input 2× Frequency Multiplier
如图27,对于上级PLL1有一个R2分频,然后一个x2倍频,但有利有弊
PLL2 Feedback Divider(N divider)反馈分频器
如图27里的虚线框,N=4xB+A,4是预分频,A值0-3,B值3-63,实际有一定约束,参见寄存器0x0F1
PLL2 Loop Filter
配置电阻来减少相位噪声
VCO Divider M1 and VCO Divider M2
对VCO输出进行分频均可为3 4 5
VCO Calibration 压控振荡器校准
通过Register 0x0F3,Bit 1(默认值0)设置为 1进行校准,通过读Register 0x22D, Bit 0=1来确定正在校准中,若要保存EEPROM,先设置校准VCO比特为1然后再保存,以确保读取配置后自动校准。校准顺序:
只有在校准后才有输出。什么时候要校准:改变了PLL2的A,B或者PLL2的参考时钟或者其他需要校准的情况。
CLOCK DISTRIBUTION
意思就是可以有多个输出,谓之DISTRIBUTION。且每个输出还有一个单独的分频器1-1024。
如图24,OUT4-9可以选择M1或M2,还可以将VCXO输出至OUT0-3。
Output Power-Down
用不到的通道OUTx可以通过设置寄存器来关闭。
Multimode Output Drivers
见Table 51 寄存器的后四位,可以选择输出信号的模式
Clock Distribution Synchronization
让输出信号之间同步,可通过设置引脚17 SYNC,或者寄存器0x232的Bit0,还可以设置输出信号相对于VCO divider output clock的相位偏移个数0-63。如图30
ZERO DELAY OPERATION零延迟操作
零延迟指的是时钟频率合成器能够提供与时钟参考源边沿对齐的输出信号,其应用包括许多同步系统,如SONET和SDH网络、高速网络服务器、网络线路卡以及用于W-CDMA和Wi-Fi的基带定时等。
参考这个http://m.elecfans.com/article/759439.html,然而并没有看懂,但这不是重点。
SERIAL CONTROL PORT
这部分讲I2C和SPI的操作过程。
EEPROM OPERATIONS
怎么读、写、对其进行编程的方法。
POWER DISSIPATION AND THERMAL CONSIDERATIONS功耗和热的考虑
这个不用看了。
CONTROL REGISTERS
这部分配置寄存器的,细看。
CONTROL REGISTER MAP控制寄存器映射位描述
地址是0x000-0x234
其实主要的就是看初始化的、串口配置的、PLL1 PLL2配置、参考时钟配置、OUT0-OUT13等寄存器。
EEPROM Buffer
这是缓存?0xA00-0xA16
EEPROM Control
控制?0xB00-0xB03
OUTLINE DIMENSIONS
这是给画PCB看的
从得到的师兄的资料来看,已经有了配置寄存器的数据,没有用到关于EEPROM的写读什么的(我也没看),下面来解读一下资料内容:
因为要配置多个芯片,所以师兄这么定义配置数据格式。例如0x1000024:1代表AD9523配置数据,0代表写寄存器,000代表寄存器地址000,24代表写入的数据,查数据手册可以看到24指Soft reset。
(其中蓝色是我添加的内容,红色表示看不懂,绿色表示比较重要的寄存器配置)
|
|
1000024 |
Soft Reset |
8000000 |
延时约 8ms |
1000401 |
Read buffered values |
1023401 |
更新寄存器,缓冲区寄存器的内容转移到活动寄存器中 |
1001100 |
PLL1 refa R1 divider MSB, |
1001001 |
PLL1 refa R1 divider LSB R_a=1 |
1001300 |
PLL1 refb R1 divider MSB |
1001201 |
PLL1 refb R1 divider LSB R_b=1 |
1001700 |
PLL1 N divider MSB |
1001601, |
PLL1 feedback N divider LSB N_1 = 1 |
1001900, |
PLL1 charge pump control tristate |
1001880, |
PLL1 charge pump control tristate |
1001A05, |
Enable REFA ,disable REFB,single-ended receiver mode
|
1001B60, |
Bypass feedback divider |
1001C84, |
Revert to REFA
|
1001D01, |
PLL1 Rzero |
100F076, |
PLL2 charge pump control 413/3.5 = 118 |
100F106, |
PLL2 N divider A = 0,B =6. N = 4*B+A = 24 |
100F213, |
normal |
100F302, |
Calibration VCO |
100F440, |
Power down VCO divider M2 ; enable M1 = 3 M divider 1000M |
100F701, |
PLL2 R2 divider = 1 |
100F600, |
Enable internal Rzero |
100F53A, |
Rpole2=0,rzero=7,cpole1=2 |
1019020, |
Power down OUT0 |
1019100 |
|
1019200, |
|
1019301, |
Enable OUT1 LVPECL |
1019403, |
Channel divider LSB = 3+1=4 10bit channel divider 250M |
1019504, |
Phase=1/2 period offset ; channel divider MSB = 0 |
1019620, |
Power down OUT 2 |
1019700, |
|
1019800, |
|
1019920, |
Power down OUT 3 |
1019A00, |
|
1019B00, |
|
1019C01, |
Enable OUT 4 |
1019D07, |
D = 8 channel divider 125M |
1019E04, |
|
1019F01, |
OUT 5 |
101A0FF, |
D = 256 channel divider 1000/256=3.90625M Sysref<采样率/K/F |
101A104, |
|
101A201, |
OUT 6 |
101A3FF, |
D = 256 channel divider |
101A404, |
|
101A501, |
OUT 7 |
101A6FF, |
D = 256 channel divider |
101A704, |
|
101A801, |
OUT 8 |
101A9FF, |
D = 256 channel divider |
101AA04, |
|
101AB01, |
OUT 9 |
101AC07, |
D = 8 channel divider 125M |
101AD04, |
|
101AE20, |
Power down OUT 10 |
101AF00, |
|
101B000, |
|
101B120, |
Power down OUT 11 |
101B200, |
|
101B300, |
|
101B420, |
Power down OUT 12 |
101B500, |
|
101B600, |
|
101B701, |
OUT 13 |
101B803, |
D = 4 channel divider 250M |
101B904, |
|
101BA00, |
Out 4,5,6 use divider M1 |
101BB80, |
Out 7,8,9 use divider M1 ; PLL1 output power down. OUT0,1,2,3 use VCO divider output clock |
1023300, |
Enable PLL1 PLL2 |
1023200, |
Status pin divider disable ; sync normal |
1023103, |
Status 1 = PLL2 locked |
1023002, |
Status 0 = PLL1 locked |
1023401, |
update |
1023201, |
Enable sync |
1023401, |
|
1023200, |
|
1023401, |
|
根据我使用的开发板原理图,可以得到OUTx与其他芯片的相连关系,如下图。
根据上面的配置寄存器的数据可以看出,参考图24,AD9523是这样配置的,PLL1的输入输出倍频为1:输入输出均为125M;PLL2的倍频N2=24,即VCO输出=125x24=3000;VCO后面的M1=3,即FANOUT之前为1000M,然后再配置每个OUTx的单独Divider以得到期望的时钟。