此时,即可使用此软件进行锁相环的数据计算。计算一般按照下述过程进行:
首先,通常设计已经知道所给外部晶体的振荡频率,这里是 12.8 MHz 的晶振。所以,在 Reference Oscillator 处输入 12.8 MHz 。
然后,根据步进间隔要求填人相应的数据。此时为 200 kHz 。在 Phase Detector Freq 数据输入框中填人 200 ,现在按回车,则其中的 R 计数器自动变为 64 ,说明需要填入到 R 寄存器的值为 64 。
接着可确定预分频系数为 64 还是 128 ,因为 LMX1501 是双模分频模式,所以有 64 或者 128 两种方式可供选择。此时可根据实际需要选取相应的值,本例选取 64 。当希望改为 128 时,可在此方框内点击鼠标左键,则系统会自动把该数据换为 128 。
最后根据需要的输出频率来确定 N 寄存器的值。输入想得到的频点的频率值。如要计算输出频率为 900 MHz 时的 N 寄存器的值,只需要在 VCO 下方的方框内输入 900 ,按下回车键后,则相应的 N 寄存器的值将出现在相应的位置 ( 软件显示为 4500) 。同样,也可以得到 890 ~ 915 MHz 之间的任一个频点对应的 N 寄存器的值。比如在输入 890MHz 后按下回车键,则 N 寄存器出现的值为 4450 ,输入 915 MHz 后按下回车键,则 N 寄存器出现的值为 4575 。所以,如果需要设计程序来完成由 890 ~ 910 MHz 的频率变化,仅需要用软件将 N 寄存器的值由 4450 ~ 4575 写入相应的寄存器即可。
3 锁相环控制数据的写入
寄存器的写入需要以锁相环可接受的时序及其要求来完成。在串行数据输入到锁相环内部时,有一些特殊的位可决定所写入的数据将写入到哪一个寄存器,或者选模为 64 还是 128 。为了避免人为失误造成调试不便,该软件还给出了数据的二进制表示方式。 900 MHz 时的二进制数据如图 3 所示。
图 3 所示是需要输入的数据由高到低位的二进制表示。这种表示为编写相应的锁相环控制程序提供了极大的方便。由图中的数据可以看到,其中 N 寄存器当高位在前时,数据为 0000100011000101000 , R 寄存器为 0001000000010000001 。需要将由高到低的显示改变为由低到高的显示时,仅需要单击 MSB--> 即可。这样, N 寄存器和 R 寄存器的显示顺序将变为由低到高。
写入数据的时序图如图 4 所示。
由图 4 可以看到,数据在串行输入到锁相环内部时,其输入将按照由 MSB 到 LSB 的顺序进行,数据在时钟脉冲的上升沿被锁存到寄存器中。本例的使能方式有两种:第一,如果使能端在数据输入的过程中是低电平,则只要一个正方向的脉冲即可;而如果使能端在数据输入的过程中是低电平,则在数据输入结束后还需要一个上升沿,同时要求此上升沿保持到下次有效数据的输入到来之前.也就是说,只有在有效数据再次到来时才将该使能端用一个下降沿拉至低电平。
4 结束语
经实际验证,对照该时序关系写出来的程序可以顺利地将所需数据写入 LMX1501 器件中,而且,改变写入的数据后,输出频率随之改变,同时,软件所给出的数据即为所需数据。实际结果证明,利用该方法所做的锁相环可以满足设计给出的频率合成要求。