应用笔记 1107

优化双模蜂窝电话中MAX2309 PLL分频比

By: Bob Kelly

摘要 : 本文介绍了在双模(模拟AMPS和数字TDMA)蜂窝电话中设置PLL分频比的方法。IS-136双模手机频率分配情况已经确定:第一级IF为119.64MHz,AMPS IF为455kHz。这就需要综合考虑PLL鉴相频率、环路带宽和输出杂散信号。一种强制措施就是通过切换环路滤波元件控制稳定性。如果在AMPS模式下允许50Hz的偏差,则PLL可利用相同的滤波器元件。

更多信息:

引言

美国最初的蜂窝电话系统基于模拟频率调制(FM)技术,称其为高级移动电话系统(AMPS)。许多电话设计努力在采用数字模式的同时也支持老的标准,如果利用支持双模系统的基带处理器和RF (射频)收发器进行设计将不会存在太大难题。然而,一些新型基带处理器已不再支持AMPS模式,这就要求手机设计工程师增加实现AMPS的模拟电路。这篇应用笔记介绍了一种同时支持时分复用(TDMA) IS-136数字模式和模拟AMPS模式的蜂窝手机的典型频率规划方案。给出了一种选择锁相环(PLL)分频比的方法,能够保持第二本振(LO)中的快速响应时间。利用19.44MHz的温补晶振(TXCO)、第一IF (中频)为119.64MHz、AMPS IF为455kHz,这样,无论是数字模式、还是模拟模式,第二本振的鉴相器都可以工作在40kHz左右。本文还提供了一个Mathcad工作表,在支持其它第一IF和TCXO的设计中可以方便地进行修改。

图1所示为同时支持IS-136 TDMA和AMPS两种模式的蜂窝电话的部分结构框图。前端是MAX2338和必要的RF滤波。由锁相环(PLL)控制第一本振驱动RF混频器,参考基准为TXCO。MAX2338的输出IF为119.64MHz,通过差分IF滤波器后送入IF处理电路。IF处理由MAX2309 RXIF实现,该IC包括一个正交解调器,将IF信号下变频至基带I、Q输出。另外,MAX2309还带有PLL和压控振荡器(VCO),用于实现无线设备所需的第二本振。大多数工程师非常熟悉通过三线串行总线对PLL进行编程设置。反馈和基准分频器实际上就是一对寄存器,允许系统初始化时加载数字模式和模拟(FM-AMPS)模式的分频比,接下来,可以简单地选择恰当的寄存器来改变PLL模式。

图1. 同时支持TDMA和模拟AMPS的双模式收信机
图1. 同时支持TDMA和模拟AMPS的双模式收信机

对于那些基带处理器没有提供支持AMPS FM信号数字解调功能的系统。所以本文的设计中加上了FM中频部分,利用的是成本低廉、易于应用的普通455kHz的中频滤波器。用来将119.64MHz的第一中频混频至455kHz所需的本振来自MAX2309。这是可以实现的,因为手机处于AMPS模式下I/Q输出的信号不用再做数字处理。

用于数字模式的第二本振

数字TDMA工作所需的第二本振为119.64MHz。它与中频信号精确的混频到基带进行模拟到数字的转换。然后由数字信号处理器(DSP)来完成所需的误差检测、校正等操作。MAX2309的内部VCO提供第二本振,因为内部分频比为2,所以它的工作频率应为所需频率的两倍。使用2分频可以从以下方面改善工作特性:

  1. 将VCO远离从第一中频。
  2. 更精确地获得50%的占空比。
  3. 简化正交解调器中的90度移相电路。
为了产生TDMA工作所需的第二本振,需要对内部寄存器进行编程,使VCO能够运行在239.28MHz。两个解决方案的设置为:

  • R = 486, M = 5982 fREF (相位检测器的工作级) = 19.44MHz/486 = 40kHz
  • R = 243, M = 2991 fREF = 80kHz
当鉴相器工作在足够高的频率时,以上两个解决工作在数字模式下所需第二本振的方法是可行的。这使得环路滤波器能够将比较器的鉴相泄漏产物降低到可以接受的低水平,同时还能保持足够的用于快速响应和良好噪音抑制的PLL带宽。

用于AMPS的第二本振

如果不谨慎考虑,到用于AMPS IF的第二本振可能使问题复杂化。用传统的整数分频器来产生第二本振是一个直观的方法:
  1. 记下所需的本振,本例中为120.095MHz。
  2. 调整本振频率值以解决2分频的功能实现, VCO = 240.19MHz。
  3. 注意VCO频率中出现最后整数的位置,确定VCO出现最后整数位置是在10kHz上;这个值作为鉴相器比较频率的候选值—fREF = 10kHz。还有其它办法来解决问题,但是通常情况下这些其它速率很难直接观察出来。
  4. 确定时基,TCXO应为fREF的整数倍,19.44MHz / 10kHz = 1944。
  5. 计算R值,参考分频器;1944这个值由第4步得到。
  6. 计算M值,反馈分频器;240.19MHz / 10kHz = 24,019。
看似设计到此已经完成,但是还要考虑AMPS模式和TDMA模式间的切换问题。鉴相频率从10kHz变化至40kHz。在模式转换时,环路滤波器将可能需要改变时间常数,这就需要添加额外电路。毋须赘述,AMPS和TDMA模式间锁定时间和噪音特性也会不同。如果两种模式下的比较频率非常接近,滤波器元件就可工作在两种模式下,避免了切换元件,将会是一个改善的设计。这很有道理,但不是总能做到。我们需要找到另外的R、M的整数值,用于提供所期望的输出频率。借助于计算器只用几分钟就可以算出所需的分频整数值,而人工则需要花上好几个小时。

求助计算机来确定分频值!

硬件所产生的第二本振只能来支持整数分频(若不用小数锁相环,我们必须另寻途径来解决这个问题)。那就意味着所产生的频率被量化,在分频器中的微小变化就会导致输出频率发生超出期望值很大的跳动。计算机搜索期望的寄存器设置很容易,但不能保证能够找到有用的结果。在这时,为了能够取得进展,我们需要设计规则做折中让步。

按传统想法射频工程师们要能够准确地找到本振频率。在AMPS收信机中,真的有必要精确地确定第二本振的频率吗? 思考一下就会发现,从鉴相器的工作情况和第二中频滤波器的带宽来看,第二本振中的微小误差可以从容的忽略。第二本振的频率值必须足够接近精确值以得到通过中频滤波器进入解调器的信号。事实是此频率上下很小的波动不会产生严重问题。这就是我们在找其它方案来解决第二本振PLL设置所需要做的。附录中的Mathcad作业表就是用来搜索这个问题的解决方案,用到的限制条件是第二本振的误差不超过25Hz。

结果

Mathcad作业表(附录)中的第一部分计算了用于直接、穷举搜索全部R和M值的尝试次数。需要做45,790,000次搜索。曾试图用微软的Excel电子表格来做这项工作,但其无法创建足够大的表来验证这一想法。即使将搜索压缩到一个子集,其运行10分钟后也为未能得到结果。

显然并不需要全部的搜索¹。对于每一个R值,与其对应的有意义的M值只有一个(可能有两个?)。Mathcad作业表即利用这一方法。允许参考分频器的值R在一个最小值到一个最大值范围内变化。计算出对应于每个R的M值并将其转化为整数。然后利用R和M来计算PLL的输出。此输出值与目标值240.19MHz进行比较;计算出误差后和所允许的目标误差50Hz进行比较。由一组符合误差要求的R值组成R向量。将此向量用图表示出来,以方便直观查看。然后通过快速的反复试验来找到R的值。使用这个图表作为寻找正确的R值在什么位置的引导。可很快找到六个R值(我们只关心使鉴相器工作在接近40kHz或80kHz的值)。

R = 422, M = 5214,输出频率为:19.44MHz × (5214/422) = 240.189952607 ,误差约47Hz

鉴相器工作在约46kHz,此值已非常接近在数字模式中所要求的40kHz的鉴相频率,这样就允许在双模下使用同一个环路滤波器。

附录

在频率合成器中使用PLL分频比的运算法则来找出反馈分频器和参考分频器的分频值,以便使用最高的鉴相频率同时给出尽可能宽的环路带宽。

通过上面的分析确定将要用到的参数;假设第一中频 = 119.64MHz,第二本振使用高端注入。

fTCXO:= 19.44 × 106;PLL参考频率
fTARGET:= 240.19 × 106; 所期望的或目标输出频率(在第二混频器下的高端注入)。

估算在平滑搜索过程中用到的尝试次数...

R的最大值将把PLL相位检测器参考值设为10kHz,这样通过简单整数M将输出频率设置为期望值。考虑的R的最小值为使鉴相器运行在最大允许频率下的一个值。对于这种情况,假设检测器的最大运行速率为约1MHz。

StepSize:= 10 × 10³

RMIN:= fTCXO / 1 × 106

RMIN = 19.44;因为实际的硬件逻辑限制,所以此值必须为整数。转换为整数。

RMIN:= RMIN - mod(RMIN, 1) ;将实数转换为整数。

RMIN = 19

RMAX:= fTCXO / StepSize ;估算参考分频器最大的分频值

RMAX:= RMAX - mod(RMAX, 1)

RMAX = 1944

估算出能够被考虑的反馈分频值的范围

MMIN:= fTARGET × RMIN / fTCXO

MMIN:= MMIN - mod(MMIN, 1)

MMIN = 234

MMAX:= fTARGET× RMAX / fTCXO

MMAX:= MMAX - mod(MMAX, 1)

MMAX = 24019

如果对于每个R值,试验整个范围内的M值。估算此方法要进行的尝试次数...

MaxAttempts:= (RMAX - RMIN) × (MMAX - MMIN)

MaxAttempts = 4.579 × 107

显然,必须找到更有效的方法来解决这个问题。即使是在内存很大的PC上运行Excel也不能处理这个穷举搜索。在研究之后, 发现对于每个R值只要试验一个或是两个的M值就够了。这就大大地降低了查找其它解决方法的计算量。

对于一个给定的R值,可以精确计算出所需的M值;通常M的这个值不是整数。这种方法尝试选取一个M的整数值,这个值将会使输出频率和期望值产生一定的偏差。这样就可以根据R值、TCXO频率和允许的误差值直接快速的计算决定输出频率的M值的范围。

ε := 50;允许的频率误差

R:= RMIN, RMIN +1...RMAX ;设置R值的搜索范围

估算需要检测的反馈分频器的分频值。

Me (R) = fTARGET × R / fTCXO

计算Me的整数部分

intMe (R):= Me (R) - mod(Me(R), 1)

检测每个输出频率以确定此值在误差限度内。

fOUT(R):= intMe(R) × fTCXO / R

g(R):= if [ (fout(R) - ftarget)² < ε ², R, 0]



查找到R的精确值,提供可接受的误差值。利用上图来指导推测。

鉴相器比较
频率
g(211) = 211 fTCXO / 211 = 92132.701
g(422) = 422 fTCXO / 422 = 46066.351
g(633) = 633 fTCXO / 633 = 30710.9
g(844) = 844 fTCXO / 844 = 23033.175
g(1055) = 1055 fTCXO / 1055 = 18426.54
g(126) = 1266 fTCXO / 1266 = 15355.45

参考资料

  1. Coffman, Ken Real World FPGA Design with Verilog, Prentice Hall PTR, Upper Saddle River, NJ, 2000, pg. 71.