基于 LMX1501 锁相环的频率合成设计
扫描二维码
随时随地手机看文章
0 引言
频率合成是从一个单一频率的低频晶体振荡器中产生多种特别精确频率的一种方法。在大多数接收机和发射机中,频率合成是产生各种频率的主要技术。到目前为止,最普遍的频率合成方法仍是锁相环法。
1 LMX 1501A 简介
LMX 1501A 是由美国国家半导体公司生产的一种高性能的频率合成器,通过 LMX1501 可以用整数分频来实现频率高达 1.1 GHz 的频率合成。
1.1 LMX 1501A 的结构
LMX 1501A 芯片内含双模预分频器,可以在 1.1 GHz 输入频率下实现 64 / 65 或者 128 / 129 除数分频。 LMX 1501A 使用数字锁相环技术,具有非常稳定的线性相位检测特性,以及很低的本振信号噪声。
串行数据可经过 LMX 1501A 的三线制 MICROWIRE 接口 ( 数据,使能,时钟 ) 传输到器件内部。供电电压范围为 2 ~ 5.5 V 。 LMX 1501A 的功耗比较低, 3 V 电压下的电流消耗典型值仅为 6mA 。 LMX 1501A 为 16 脚 JEDEC 型塑料封装。图 1 所示是 LMX1501 的结构简图。
1.2 LMX 1501A 的特性及应用
LMX 1501A 锁定频率范围最高为 1.1 GHz ,工作电压为 2.7 ~ 5.5 V , 3 V 时的电流消耗典型值为 6mA ,具有 64 / 65 或者 128 / 129 双模分频模式,内含平衡和低漏电流的电荷泵,并采用小外形塑料表贴封装。可广泛用于移动电话系统 (AMPS , NMT , ETACS) ,移动无线通信系统 (PCS / PCN , Cordless) ,高级无绳电话系统 (CT-1 / CT-la , CT-2 , ISM902-928) 以及其他无线通信系统。
1.3 LMX 1501A 的控制数据输入要求
LMX 1501A 芯片中的存储单元包括 19 位数据寄存器、 14 位 R 计数器、 1 位 S 锁存器以及 18 位 N 计数器 ( 有一些中间的锁存器没有显示 ) 。数据通常在信号上升沿由数据输入端锁存至相应寄存器,高位在前。
如果控制位 ( 输入的最后一位数据 ) 为高,则数据被传送到 R 计数器 ( 可编程参考除数器 ) 以及 S 锁存器。并由此决定预分频系数为 64 / 65 或者 128 / 129 。如果控制位 ( 最低位 ) 为低,则数据信号被传入 N 计数器 ( 可编程除数器 ) 。
如果控制位 ( 最后一位移人数据寄存器的数据位 ) 为高,则数据由 19 位的移位寄存器移入一个 14 位的锁存器 ( 用于设置 14 位的 R 计数器 ) 和一位 S 锁存器 (S15 ,用于设置预分频系数为 64 / 65 或者 128 / 129) 。
N 计数器包含 7 位吞咽计数器 (A 计数器 ) 和 11 位可编程计数器 (B 计数器 1 。如果输入的最后一位控制数据位为低,则数据由 19 位移位寄存器移入一个 7 位的锁存器,以用于设置 7 位吞咽计数器 (A 计数器 ) 和一位 11 位的锁存器以用于设置 11 位可编程计数器 (B 计数器 ) 。
1.4 锁相环吞咽脉冲方程
在不改变频率分辨力的同时,提高合成器输出频率的有效方法之一是采用变模分频器,也称吞脉冲技术。用双模分频器的输出同时可驱动两个可编程分频器,并可将它们分别预置在 N1 和 N2 ,同时进行减法计数。这样,经过推导计算,便可以得到此类频率合成器的脉冲吞咽方程:
其中, fVCO 为 VCO 的输出频率, B 为 11 位二进制可编程计数器的值 ( 范围为 3 ~ 2047) , A 为 7 位二进制可编程计数器的值 (0 ≦ A ≦ 127 , A ≦ B) , fOSC 为外部参考振荡器的输出频率, R 为 14 位二进制可编程计数器的值 ( 范围为 3 ~ 16383) , P 为双模寄存器的预设值 ( 通常为 64 或者 128) 。
2 Codeloader2 软件
对 LMX 1501A 进行频率控制的程序设计时,要得到所需频率的 PLL 控制数据 ( 即 R 寄存器和 N 寄存器的值 ) ,虽然可以采用手工计算的方法。但是,采用 NS 公司为该其锁相环设计的专用软件 Codeloader 2 则更为方便。下面来说明使用该软件计算 LMX 1501A 所需参数的具体方法。
为了说明的方便,现假设使用一个 12.8 MHz 的高稳定晶振来通过 PLL 控制 VCO ,以最终实现频带宽度为 890 ~ 915 MHz ,步进间隔为 200 kHz 的一个 GSM 用载频信号的频率合成器。
首先,应打开软件并选择 Select Device-->Pll Singal Integer-->LMX1501 。此时,该软件会弹出如图 2 所示的内部结构原理框图。
此时,即可使用此软件进行锁相环的数据计算。计算一般按照下述过程进行:
首先,通常设计已经知道所给外部晶体的振荡频率,这里是 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 器件中,而且,改变写入的数据后,输出频率随之改变,同时,软件所给出的数据即为所需数据。实际结果证明,利用该方法所做的锁相环可以满足设计给出的频率合成要求。