デュアルモードのセルラ電話におけるMAX2309 PLL分周器の値の最適化

デュアルモードのセルラ電話におけるMAX2309 PLL分周器の値の最適化

著者の連絡先情報

Generic_Author_image

Bob Kelly

要約

このアプリケーションノートでは、デュアルモード(アナログAMPSとディジタルTDMA)のセルラ電話でPLL分周器の値を設定する方法について説明します。また、119.64MHzの第1 IFと455kHzのAMPS IFを使用する、IS-136デュアルモード電話の周波数計画について説明します。PLL位相ディテクタの周波数、ループ帯域幅、およびスプリアス出力の間でのトレードオフが必要となります。力まかせの方法でループフィルタ部品を切り替えて安定性を制御しなければなりません。AMPSモードでは50Hzの誤差があるため、PLLは同じフィルタ部品を使用できます。

追加情報:

はじめに

米国における当初のセルラ電話システムは、アナログ周波数変調(FM)技術に基づいたもので、AMPS (advanced mobile phone system)と呼ばれています。多くの電話は、現代のディジタルシステムと平行して、旧規格を引き続きサポートしようとしています。これは、ベースバンドプロセッサとRF(無線周波数)トランシーバをこのサポート用に設計すれば、技術的に無謀な挑戦ではありません。しかし、最新のベースバンドプロセッサの中には、AMPSサポートを中止しようとする動きも見られ、電話機の設計エンジニアは、AMPSのアナログ実装に必要な回路を「つなぎ合わせ」で設計せざるを得ない状況になっています。このアプリケーションノートでは、時分割多元アクセス(TDMA)のIS-136ディジタルモードとアナログAMPSモードの両方をサポートするセルラ電話機に向けた代表的な周波数計画について説明します。第2局部発振器(LO)での応答時間の高速性を維持するために、位相ロックループ(PLL)分周器の値を選択する方法を提示しています。19.44MHzの温度補償型水晶発振器(TCXO)、119.64MHzの第1 IF(中間周波数)、および455kHzのAMPS IFを使用すると、ディジタルとアナログの両モードにて、第2 LO位相ディテクタを最大40kHzで動作させることが可能となります。提供するMathcadワークシートを修正すれば、他の第1 IFやTCXOを簡単にサポートすることができます。

図1は、IS-136 TDMAとAMPSの両方の動作をサポートする代表的なセルラ電話のブロック図の一部です。フロントエンドはMAX2338と必要なRFフィルタリングです。第1 LOはTCXOを基準発信源とした位相ロックループによって制御され、RFミキサを駆動します。MAX2338の出力はIF 119.64MHzで、差動IFフィルタを通過してIF処理回路に伝達されます。ディジタルIFは、MAX2309のRXIF内で実行されます。このICには、IFをベースバンドI/Q出力にミックスダウンする直交復調器が含まれます。また、MAX2309には、無線用の第2 LOを実装するのに必要なPLLと電圧制御発振器(VCO)も含まれています。PLLは、大部分のエンニジアにとってなじみのある3線シリアルバスを使用してプログラミングされます。フィードバック分周器と基準分周器は、実際にはペアのレジスタです。これにより、ディジタルモードの動作とアナログ(FM-AMPS)動作のための分周器の値をシステムの初期化時に1回だけロードするだけでよく、PLLモードを変更するための正しいペアのレジスタを簡単に選択できるようになります。

図1. アナログAMPSをサポートするTDMA用のデュアルモードレシーバ
図1. アナログAMPSをサポートするTDMA用のデュアルモードレシーバ

問題のシステムのベースバンドプロセッサには、AMPSのFM信号をディジタル復調できるようにするための適切なサポートがありません。低コストで入手しやすい一般的な455kHz IFフィルタを使用して、小規模なFM IFセクションを追加します。119.64MHzの第1 IFを455kHzにミックスダウンするのに必要なLOは、MAX2309から流用します。これが可能となるのは、電話がAMPSモードのときには、ディジタル処理にI/Q出力を必要としないからです。

ディジタルモード用の第2 LO

TDMAのディジタル動作を可能にする第2 LOは、119.64MHzでなければなりません。これにより、正確にIFがベースバンドにミックスされ、ディジタル/アナログ変換が可能になります。ディジタル信号プロセッサ(DSP)は次に、必要な誤り検出や誤り訂正などを引き継いでこれを実行します。内部で2分周されるため、第2 LOを発生させるMAX2309内のVCOは、必要な周波数の2倍で動作させる必要があります。この2分周は、以下の方法を採用することで性能を向上できます。

  1. 第1 IFからVCOを離す。
  2. より正確な50%のデューティサイクルを得る。
  3. 直交復調器内の90度回路を簡素化する。
TDMA動作で使用される第2 LOを生成するため、VCOが239.28MHzで動作する値で内部レジスタをプログラミングする必要があります。これには、複数のソリューションセットが存在します。
  • R = 486、M = 5982 fREF (位相ディテクタ動作レート) = 19.44MHz/486 = 40kHz
  • R = 243、M = 2991 fREF = 80kHz
上記の第2 LOディジタルモード用の2つのソリューションは、位相ディテクタのレートが十分に高いため、どちらも許容できると考えられます。このため、所定のループフィルタにより、比較スプリアス出力を許容できる低レベルにまで減らすことができると同時に、高速応答と優れたノイズ抑制に十分な広さのPLL帯域幅を保つことができます。

AMPS用の第2 LO

AMPS IF用の第2 LOは、注意を怠ると、複雑さを増大させる原因にもなります。従来どおりの整数値で第2 LOを発生させる簡単な手法を以下に示します。

  1. 必要なLOに着目します。この例では、120.095MHzです。
  2. 2分周機能を考慮して、LO周波数を合わせます。VCO = 240.19MHz
  3. VCO周波数の最終桁数に着目します。VCOは最終桁が10kHzの位置になるように指定されます。これは、位相ディテクタ比較レートの候補であり、fREF = 10kHzとなります。他のソリューションも可能ですが、通常、目視検査では、これらの他のレートを十分に確認することはできません。
  4. タイムベースTCXOがfREFの整数倍であることを確認します。19.44MHz/10kHz = 1944
  5. 基準発信源分周器の値(R)を計算します。ステップ4から、1944となります。
  6. フィードバック分周器の値(M)を計算します。240.19MHz/10kHz = 24,019
これで設計は完了と考えられますが、AMPSモードとTDMAモードの切り替え問題について考えてみましょう。位相ディテクタのレートは10から40kHzに変更されます。ループフィルタは、モード変更時に時定数の変更を必要とすると考えられるので、特別な回路を追加します。当然、ロック時間とノイズ特性もAMPSモードとTDMAモードで異なります。2つのモード間で比較周波数が十分に近くて、フィルタ部品がいずれのモードでも機能し、部品を切り替える必要がなくなるような場合にこそ、設計が改良されたといえます。これは、主張としては極めて優れたものですが、多くの時間を必要とします。所望の出力周波数を生成するには、他のRとMの整数値を見い出す必要があります。通常、計算機を数分間使用するだけで、エンジニアは、これらの他の整数分周値を見つけるのに多大な時間を要することに気付くでしょう。

救済のためのコンピュータ

第2 LOを生成するハードウェアは、整数値だけをサポートするように構成されています(フラクショナルPLLを入手するまで、この問題を解決するためには別の方法を見つける必要があります)。これは、生成できる周波数が「量子化」され、分周器の設定のわずかな変化によって出力周波数が所望の値を超える可能性があることを示すものです。コンピュータは簡単に所望のレジスタ設定を見つけ出せますが、ソリューションを発見できるという保証はありません。先に進むためには、この時点において規則を曲げなければなりません。

無線エンジニアは伝統的に、正確なLO周波数を得ようと努めてきました。しかし、AMPレシーバで、第2 LOを正確な周波数に設定することは本当に必要でしょうか?少し考えてみれば、ディスクリミネータの動作や第2 IFフィルタの帯域幅のため、第2 LO内の少々の誤差は適切に容認すべきであるという結論に達することができます。第2 LOは、信号がIFフィルタを通過して復調器に運ばれるように、周波数を正確な値に近づける必要があります。しかし周波数が少々上下に偏移しても、深刻な問題は起こらないはずです。これこそ、第2 LOのPLL設定に対する他のソリューションを見い出す一助とするために、ここで行おうとしていることなのです。このアプリケーションノートでは、付録に示すMathcadワークシートを使用し、第2 LOが25Hzの誤差を許容できるという制約条件を用いて、この問題のためのソリューションを探りました。

結果

Mathcadワークシート(付録)の最初の部分は、すべてのRとMの値について、総当たり式に徹底的な検索を行う場合に必要となる繰り返し回数を計算しています。実に4,579万回の試行が必要になります。ここでは、Microsoft Excelの表計算を使用してこれを実行しようとしましたが、この構想をテストするだけの大きさのシートを取り扱うことさえできませんでした。次に、問題を部分セットに分割しましたが、それでも表計算は計算開始10分後にもまだ計算を続けていました。

「最高の最適化機能は両耳の間(脳)にある¹」という古いことわざがありますが、すべてを網羅するような検索が必要でないことは明らかです。テストする意味のあるM値は、Rの各値ごとに1つ(もしくは2つ)だけです。Mathcadワークシートはこの手法に従ったものです。基準分周器の値(R)は、最小値から最大値にまで及ぶことが許されています。各Rについて適切なM値が計算され、整数に変換されます。PLLの出力はRとMを使用して計算されます。この出力が目標値の240.19MHzと比較されます。誤差が計算され、許容誤差バジェット50Hzと比較されます。R値のベクトルは、誤差バジェットを満たすR値のみで構成されます。このベクトルはグラフ化され、結果を目視で検査できるようになります。正しいR値を求めるためのガイドとしてグラフを使用した結果、すばやい試行錯誤によって正確なR値を見つけ出すことができました。正しく機能する6つのR値がすぐに見つかりました(ここでは、40kHzまたは80kHz近辺の位相ディテクタのレートを生成する値だけを対象としています)。

R = 422、M = 5214のときの出力周波数は19.44MHz × (5214/422) = 240.189952607で、誤差は約47Hzです。

位相ディテクタは約46kHzで動作します。これはディジタルモードのときのレート40kHzに十分近いものであり、同じループフィルタを両方のモードで使用できます。

付録

このPLL分周器の値のアルゴリズムは、可能な限り広いループ帯域幅を与えつつ、最高の位相ディテクタ基準周波数を使用するよう、周波数シンセサイザのフィードバック分周器と基準分周器を求めるものです。

この作業で使用する値を決定します。第1 IF = 119.64MHzと仮定し、第2 LOでハイサイド挿入を使用します。

fTCXO:= 19.44 × 106;PLLの基準発振器
fTARGET:= 240.19 × 106;要求または目標出力周波数(第2ミキサでハイサイド挿入)

総当たり式検索で必要となる繰り返し回数を概算します。

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値は1つまたは2つしかありません。これにより、他のソリューションを見つけるための計算量は大幅に削減されます。

任意のR値に対して、必要なMを正確に計算できます。M値は通常、整数ではありません。この方法は、規定の誤差を持ち所望の出力周波数を生成するMの整数値を見つけようとするものです。各Mの計算は簡単です。出力周波数に対する範囲は、Rの値、TCXO周波数、および許容誤差成分に基づいて設定できます。

ε := 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の値を見つけます。グラフをこの推定の手引きとして使用します。

Phase Detector Comparison
Frequency
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.