概要
「ADRV9001」は、アナログ・デバイセズが提供するソフトウェア無線(SDR:Software Defined Radio)向けのトランシーバーICです。その最大の特徴は、消費電力と性能がスケーラブルであることです。そのため、衛星通信、軍用通信、陸上移動体通信、公共の通信インフラ、セルラ・システムといった多くのミッション・クリティカルな通信に対応できます。本稿では、この先進的なICについて詳しく説明します。最初に、ADRV9001が備えるユーザ定義型の省電力機能を紹介します。同ICは、コンポーネント・レベル、チャンネル・レベル、システム・レベルの3種の省電力機能を提供しています。続いて、モニタ・モードと呼ばれる独自のシステム機能について解説します。このモードを利用すれば、ADRV9001だけではなく、ベースバンドIC(BBIC)の消費電力も削減することが可能です。その結果、システム全体として最高レベルの省電力化を達成することができます。また、各機能による消費電力の削減効果についての評価結果を示すと共に、性能上のトレードオフについても詳しく解説します。そうしたトレードオフについて深く理解することで、システムの省電力化について最良の方法を見いだすことができます。その結果、システムに求められる性能の要件を満たしつつ、消費電力を最適なレベルに抑えることが可能になります。
はじめに
ADRV9001は、SDR向けトランシーバー・ファミリに含まれる新世代の製品です。ユーザによる構成(コンフィギュレーション)が可能であり、非常にアジャイルであることを特徴の1つとします。また、一連の先進的なシステム機能を備えており、最先端のRFシステムを実現することができます。そうした機能の例としては、マルチチップ同期(MCS:Multichip Synchronization)、デジタル・プリディストーション(DPD:Digital Predistortion)、ダイナミック・プロファイル・スイッチング(DPS:Dynamic Profile Switching)、高速周波数ホッピング(FFH:Fast Frequency Hopping)などが挙げられます。加えて、ADRV9001は周波数分割複信(FDD:Frequency Division Duplex)、時分割複信(TDD:Time Division Duplex)の両方の動作に対応しています。更に、30MHz~6GHzという広範なRF周波数に対応しています。つまり、UHF(極超短波)帯、VHF(超短波)帯、ISM(産業‐科学‐医療)帯、セルラ用の周波数帯をカバーできるということです。狭帯域(最低12kHzまで)と広帯域(最高40MHzまで)の両方の信号を、24kSPS~61.44MSPSの大半のサンプル・レートで処理することが可能です。
上記のような多彩な機能を備えていることから、ADRV9001はミッション・クリティカルな各種アプリケーション向けのプラットフォームとして理想的なものだと言えます。実際、アナログ・デバイセズのパートナーであるAlciom、Epiq Solutions、NextGen RF Design、Vanteonといった企業は、既に同製品を採用した汎用のSoM(System on Module)製品を開発しています。それらの製品は、産業用オートメーションや高度な計測アプリケーションなどで求められるミッション・クリティカルな通信を対象としたものです。各SoM製品は、いずれもADRV9001を活用することにより、性能、消費電力、サイズ、コストの完璧なバランスを実現しています。図1に、ADRV9001のブロック図を示しました。この図には、コンポーネント、チャンネル、システムの各レベルで提供される省電力機能の適用範囲も示してあります。なお、ADRV9001ファミリの各製品には、チャンネルの数やシステム機能の面で違いがあることに注意してください。
図1において紫色で示しているのは、コンポーネント・レベルの省電力機能に対応している部分です。A/Dコンバータ(ADC)や、RF対応のフェーズ・ロック・ループ(RF PLL)、ベースバンド対応のPLL(BB PLL)、送信用のアナログ・ローパス・フィルタ(Tx LPF)、受信用のアナログ・ローパス・フィルタ(Rx LPF)などのコンポーネントが該当しています。従来のほとんどのトランシーバーとは異なり、ADRV9001は、I/Qのデータパスの両方に高性能(HP:High Performance)のADCと低消費電力(LP:Low Power)のADCを用意しています。どれを使用するのかは、ユーザが選択できます。各コンポーネントは、複数の省電力機能に対応しています。赤色の破線で囲んだ部分は、チャンネル・レベルの省電力機能に対応しています。ご覧のように、チャンネル・レベルの省電力機能はTxチャンネルとRxチャンネルのペアに対して適用されます。同機能は、送信と受信の動作が相互に時分割で多重化されるTDDアプリケーション向けに設計されています。つまり、一方のチャンネルが動作している間、他方のチャンネルはアイドル状態になるので、パワーダウンすることが可能です。チャンネル・レベルの省電力化では、動作の再開に必要なウェイクアップ時間を調整することにより、様々な手法を利用できます。システム・レベルの省電力機能に対応するのは、緑色の破線で囲んだ部分です。同機能を適用すれば、長い時間にわたって休止状態になることが予想される一部のアプリケーションにおいて、より一層の節電を実現できます。そうしたアプリケーションの例としては、デジタル移動無線(DMR:Digital Mobile Radio)のハンドセット・システムなどが挙げられます1。
ADRV9001は、省電力機能に加えてモニタ・モードを備えています。このモードを使用すると、システムのアイドル期間中にADRV9001とBBICの両方をスリープ状態に移行させることができます。その状態において、ADRV9001は定期的に1つのRxチャンネルをウェイクアップします。それにより、信号を検出することができます。つまり、BBICから信号を検出する役割をオフロードすることが可能になります。そのため、BBICはアイドル期間は常にスリープの状態にあっても構いません。そうすれば、システム全体として最高レベルの節電効果を得ることができます。
以下では、3種の省電力機能とモニタ・モードについて詳しく説明していきます。そのなかで、これらの機能に関連する性能上のトレードオフについて解説を加えることにします。そうしたトレードオフについて深く理解することで、十分なシステム性能を保証しつつ消費電力を削減することが可能になります。言い換えれば、節電に関するあらゆる可能性を追い求めることができるということです。
コンポーネント・レベルの省電力化
コンポーネント・レベルの省電力化は、ADRV9001を初期化する際、個々のハードウェア・コンポーネントの構成を行うことによって利用できるようになります。この作業は、SDK(Software Development Kit)が提供するAPI(Application Programming Interface)を使用することで容易に行えます。図2は、複数の省電力機能に対応する主なハードウェア・コンポーネントについてまとめたものです。ご覧のように、ADC、RF PLL、BB PLL、Rx LPF、Tx LPFなどが含まれています。これらのコンポーネントを適切に構成するには、性能のトレードオフについて理解することが不可欠です。
ADRV9001では、HP ADCとLP ADCのうちいずれかを選択できるようになっています。HP ADCは、連続時間型シグマ・デルタ(CTSD:Continuous-time Sigma-delta)のアーキテクチャをベースとしており、5ビット幅を備えています。LP ADCは、VCO(電圧制御発振器)のアーキテクチャをベースとしており、16ビット幅に対応しています。HP ADCとLP ADCは、同等のダイナミック・レンジ性能(熱ノイズとフル・スケールの比)を備えています。但し、直線性性能には差があります2。図3は、HP ADCとLP ADCの入力3次インターセプト・ポイント(IIP3)と入力2次インターセプト・ポイント(IIP2)の性能を比較したものです。この測定結果は、室温、レシーバーのゲインは最大という条件下で、広帯域のプロファイルと2つの連続波トーン(周波数間隔は1MHz)を使用して取得しました。グラフのX軸は、1つ目のトーン(周波数が低い方)のBB周波数を表しています。2つ目のトーンの周波数は、1つ目のトーンよりも1MHz高い値に設定しています。
図3からわかるように、HP ADCとLP ADCは、いずれも高い直線性性能を備えています。HP ADCは、LP ADCと比べて多くの電力を消費しますが、IIP2は約12dB、IIP3は約6dB優れています。HP ADCとLP ADCについては、それぞれのサンプル・レートを高、中、低のうちいずれかに設定することが可能です。より高いサンプル・レートを選択すれば、より高いノイズ性能が得られます。また、アンチエイリアシング(折返し誤差防止)フィルタの設計において、遷移帯域の急峻さに対する要件を軽減することが可能です。その代償として、高いレートでデータを処理することから、より多くの電力を消費することになります。
ADRV9001は2つのRF PLLを搭載しており、それぞれに求められるLO(局部発振器)信号を生成します。LOには2つのオプションが用意されており、最良の位相ノイズ性能と最良の消費電力性能のうちいずれかを実現できます。最良の消費電力性能を実現するモードでは、位相ノイズ性能がわずかに犠牲になります。最良の位相ノイズ性能を実現するモードは、LO周波数が1GHz未満である場合だけ使用することが可能です。各モードには、LOの出力振幅レベルが異なる3種の省電力機能が用意されています。振幅レベルが高いほど位相ノイズ性能は向上しますが、消費電力は多くなります。
BB PLLは、BB部とデータ・ポートに関連するすべてのクロックを生成します。ADCと同様に、HP BB PLLとLP BB PLLというオプションが用意されています。HP BB PLLの周波数は、7.2GHz~8.8GHzの範囲でプログラム可能です。一方、LP BB PLLは、3.3GHz~5GHzの範囲でプログラムすることができます。HP BB PLLでは、高い柔軟性でクロックを生成することができます。つまり、広範なサンプル・レートに対応可能です。信号のサンプル・レートが53.33MHzを超える場合には、HP BB PLLを使用する必要があります。一方、LP BB PLLは、サンプル・レートの面で制限があるものの、消費電力は少なく抑えられます。
Rx LPFは、5MHz~50MHzの可変帯域幅に対応して帯域外の信号を減衰させます。また、BBの電流信号を電圧信号に変換します。トランスインピーダンス・アンプ(TIA)モードでは、1次の単極フィルタとして構成できます。また、バイクワッド(BIQ)モードでは、伝達関数に2つの複素極を持つ2次のフィルタを構成することが可能です。いずれのモードも帯域内の性能は同等ですが、BIQモードでは2次のフィルタを使うので、1次のフィルタを使用するTIAモードよりも帯域外の減衰量が大きくなります。図4は、シミュレーションによって取得した両フィルタの周波数応答です。各フィルタのf1dB(1dBカットオフ周波数)として様々な値を設定してシミュレーションを実施しました。2次のLPFを選択した場合、1次のモードよりも多くの電力を消費します。また、2次のLPFの帯域内ノイズは、1次のLPFと比べて約2.5dB高くなります。1次のモードでも2次のモードでも、消費電力のレベルは高、中、低の3種の中から選択することができます。なお、消費電力を少なく抑える場合には、ノイズ性能と直線性性能をある程度犠牲にすることになります。
Tx LPFは、2次のバターワース・フィルタです。これは、D/Aコンバータ(DAC)のサンプリング処理に伴って生じる折り返しイメージを減衰させるために使用します。より詳しく言えば、DACからの電流信号を電圧信号に変換し、その出力に対してローパス・フィルタの処理を適用することで、アナログ信号のスペクトルを再構築します。Rx LPFと同様に、消費電力のレベルは高、中、低の3種の中から選択することができます。なお、消費電力を少なく抑える場合には、直線性性能をある程度犠牲にすることになります。
通常、すべてのコンポーネントが最大の電力を消費するように設定すれば、最高の性能が得られます。ここでは、そのような設定を行った上で、プロファイルとしてFDD/1T1R/LTE/20MHzという条件を適用するケースを考えます。その場合、TxチャンネルとRxチャンネルの両方がアクティブな状態になると、ADRV9001のトータルの消費電力は約1800mWになります(同じ構成でも、ハードウェアや温度によって消費電力は異なる値になることがあります)。表1に、様々な省電力機能を適用した場合の節電効果についてまとめました。表中の値は、1T1R/LTE/20MHzのプロファイルを適用し、LOが900MHz、Rxチャンネル1とTxチャンネル1の両方がイネーブルの状態にある場合の結果です。各行には、1つの省電力機能だけをイネーブルにした場合の相対的な消費電力の削減量(単位はmW)を示しています。例えば、HP ADCを中クロック・レート(クロック・レートが中程度のモード。以下、サンプル・レートが高いモードに設定する場合は「高サンプル・レート」、消費電力が少ないモードに設定する場合は「低消費電力」といった形で表記します)で使用すると、すべてのコンポーネントの消費電力が最大になるように設定した場合(最高消費電力は約1800mW)と比べて、約72mWの電力を節約できます。
ADC | 消費電力の削減量〔mW〕 | |
HP | 中クロック・レート | –72 |
低クロック・レート | –41 | |
LP | 高クロック・レート | –100 |
中クロック・レート | –177 | |
低クロック・レート | –158 | |
RF PLL | ||
最良の位相ノイズ | 中消費電力 | –44 |
低消費電力 | –84 | |
最良の消費電力 | 高消費電力 | –50 |
中消費電力 | –80 | |
低消費電力 | –108 | |
BB PLL | ||
HP | 中消費電力 | –5 |
低消費電力 | –10 | |
LP | 高消費電力 | –45 |
中消費電力 | –47 | |
低消費電力 | –49 | |
Rx LPF | ||
2次 | 中消費電力 | –26 |
低消費電力 | –40 | |
1次 | 高消費電力 | –77 |
中消費電力 | –101 | |
低消費電力 | –116 | |
Tx LPF | ||
中消費電力 | –29 | |
低消費電力 | –47 |
表1を基に考えると、アプリケーションにおける性能の要件が厳しくない場合には、各コンポーネントの消費電力が最小になるよう設定するということも想定できるでしょう。実際、このプロファイルの例では、約480mWの節電を達成できる可能性があります。但し、コンポーネント・レベルの省電力機能のうち、主なものは静的に設定することになります。つまり、ADRV9001を初期化する際に行った構成内容は、システムの動作中に動的に変更することはできません。ただ、HP ADCとLP ADCについては、APIを使うことでシステムの動作中に変更することが可能です。
静的な省電力機能の中には、特筆すべきものがあります。それは、電源ドメインの構成に関連する機能です。ADRV9001には、5種類の電源ドメインが存在します。1Vのデジタル電源(VDD_1P0)、1.8Vのデジタル電源(VDD_1P8)、1Vのアナログ電源(VDDA_1P0)、1.3Vのアナログ電源(VDDA_1P3)、1.8Vのアナログ電源(VDDA_1P8)の5種です。これらのうちVDDA_1P0は、すべての送受信用LO回路に対する給電に使用できます(オプション)。その1Vの電圧は、ADRV9001が内蔵するLDO(低ドロップアウト)レギュレータを使って生成します。あるいは、内蔵LDOレギュレータの一部をバイパスし、外部から給電することも可能です。つまり、LDOレギュレータをオフにして、高効率の外部電源を適用するということです。これは、より一層の節電を実現する上では好ましい方法だと言えます3。なお、本稿の執筆に向けて行った評価では、内蔵LDOレギュレータを使用してVDDA_1P0の電源ドメインに電力を供給しました。
チャンネル・レベルの省電力化
上述したように、コンポーネント・レベルの省電力機能は静的に設定します。それに対し、チャンネル・レベルの省電力化機能は動的に利用できます。同機能は、TDD動作専用のものとして設計されています。TDDにおいては、送信と受信の動作が相互に時分割で多重化されます(図5)。つまり、一方のチャンネルがアクティブである期間は、他方のチャンネルはアイドル状態になっています。そのチャンネルをパワーダウンすれば、消費電力を削減することができます。コンポーネント・レベルの省電力化とは異なり、アイドル状態のチャンネルをパワーダウンしても、性能は一切低下しません。但し、通常動作を再開するためのウェイクアップ時間は長くなります。
チャンネルをパワーアップ/パワーダウンする方法の1つは、チャンネル・イネーブルの信号(TX_ENBALE/RX_ENABLE)の立ち上がり、立ち下がりエッジを使用することです。図5に示したように、パワーダウンしているチャンネルは、それに対応するイネーブル信号の立ち上がりエッジでウェイクアップを開始します。完全な動作状態に移行するまでには、しばらく時間がかかります。チャンネルに関連するより多くのコンポーネントがパワーダウンしている場合、更に長いウェイクアップ時間が必要になります。したがって、ウェイクアップ時間については、TDDアプリケーションの送受信チャンネルが遷移する際のタイミングの要件を満たすか否かを評価しなければなりません。
チャンネル・レベルの省電力化モードとしては、モード0、モード1、モード2の3種が用意されています。上位のモード(数字の大きいモード)では、ウェイクアップ時間を長くとりつつ、チャンネルに関連するより多くのコンポーネントがパワーダウンします。表2は、これら3種のモードについてまとめたものです。RF PLLの各種キャリブレーション・モードとRF PLLの各種リファレンス・クロック・レートにおいて必要になるウェイクアップ時間の概算値も示しています。
パワーダウンするチャンネル関連のコンポーネント | モード0 | モード1 | モード2 | |
Txチャンネル | アナログ/デジタルのデータパス | X | X | X |
Tx PLL(内蔵) | X | X | ||
Tx PLLのLDOとチャンネルのLDO | X | |||
Rxチャンネル | アナログ/デジタルのデータパス | X | X | X |
Rx PLL(内蔵) | X | X | ||
Rx PLLのLDOとチャンネルのLDO | X | |||
様々な構成におけるウェイクアップ時間 | モード0 | モード1 | モード2 | |
RF PLLの通常キャリブレーション・モードと様々なリファレンス・クロック・レートを組み合わせた場合のパワーアップ時間の概算値〔マイクロ秒〕 | RF PLLのリファレンス・クロック:30MHz | 4.5 | 350 | 500 |
RF PLLのリファレンス・クロック:50MHz | 180 | 380 | ||
RF PLLのリファレンス・クロック:100MHz | 170 | 370 | ||
RF PLLの高速キャリブレーション・モードと様々なリファレンス・クロック・レートを組み合わせた場合のパワーアップ時間の概算値〔マイクロ秒〕 | RF PLLのリファレンス・クロック:30MHz | 100 | 300 | |
RF PLLのリファレンス・クロック:50MHz | 60 | 260 | ||
RF PLLのリファレンス・クロック:100MHz | 40 | 240 |
表2に示したように、チャンネル・レベルの省電力モードについては、より上位のモードであるほどウェイクアップ時間が長くなります。その代わり、チャンネル関連のより多くのコンポーネントをパワーダウンすることができます。他のモードに設定しない限り、デフォルトではモード0が常にイネーブルの状態になっています。このモードでは、チャンネルがアイドル状態になると、ミキサー、コンバータ、フィルタなど、アナログ/デジタルのデータパスのコンポーネントがパワーダウンします。また、パワーアップ/パワーダウンのトリガとしては、RX_ENABLE信号とTX_ENABLE信号だけを使用できます。ウェイクアップ時間は短く、約4.5マイクロ秒です。モード1では、更にチャンネルの内蔵PLLがパワーダウンします。PLLのパワーアップ中には、再度キャリブレーションを実施しなければなりません。したがって、PLLのウェイクアップ時間には、PLLのパワーアップ時間とPLLのキャリブレーション時間が含まれます。ADRV9001には、PLLのキャリブレーション方法として通常モードと高速モードの2つが用意されています。高速モードでは、通常モードとは異なり全温度範囲におけるロックは保証されません。ただ、チャンネルが特定の周波数にとどまっている時間が短い場合には高速モードが適しています。表2に示したように、高速モードでは通常モードよりもキャリブレーション時間が短くなります。したがって、PLLのウェイクアップが速くなります。また、RF PLLのリファレンス・クロック・レートが高くなるほど、PLLのキャリブレーション時間は短くなります。モード2では、更にPLLのLDOレギュレータとチャンネルのLDOレギュレータがパワーダウンします。このモードでは、LDOレギュレータをオンにするために一定のウェイクアップ時間が追加されます。なお、表2に示したウェイクアップ時間は、ADRV9001の標準的なシステム・クロック・レートである184.32MHzを使用して測定しました。任意のサンプル・レートを使用するカスタムのプロファイルを適用した場合、システムのクロック・レートを変更しなければならないことがあります。それに応じてPLLのパワーアップ時間は増減します(システムのクロック・レートが低いほど、PLLのパワーアップ時間は長くなります)。システム・クロックの情報は、ADRV9001の評価用ソフトウェア(TES:Transceiver Evaluation Software)を使用することで容易に取得できます。
モード0の場合と同様に、モード1とモード2でも、トリガとしてはRX_ENABLE/TX_ENABLE信号の立ち上がりエッジを使用します。TxチャンネルとRxチャンネルのペアが同じ内蔵PLLとLDOレギュレータを共有している場合には、PLLとLDOレギュレータはパワーアップしていなければなりません。そのため、一方のチャンネルがアクティブである場合には、モード1とモード2における消費電力の削減効果は限られます。両チャンネル共にアイドル状態になっていれば、より多くの電力を削減できます。モード0とは異なり、モード1とモード2では、事前に割り当てられたDGPIO(デジタル汎用入出力)ピンを使ってトリガすることも可能です。その場合、1本のDGPIOピンによって両方のチャンネルがパワーアップ/パワーダウンされます。つまり、この方法は、TxチャンネルとRxチャンネルの両方がアイドル状態にある場合だけ使用することができます。
図6は、DGPIOピンを使用してモード1またはモード2をトリガする例を示したものです。この例では、TDDの時間周期全体が複数のタイム・フレームに分割されています。各タイム・フレームは4つのタイム・スロットで構成されています。最初のスロットはTxタイム・スロットです。その後に2つのアイドル・タイム・スロットが続きます。最後のスロットはRxタイム・スロットです。デフォルトでは、モード0は常にイネーブルになっており、アイドル状態のチャンネルはパワーダウンされます。アイドル・タイム・スロット2と同3の期間中は、Tx/Rxチャンネルは共にアイドル状態になります。そのため、DGPIOピンによる方法を使用してモード1またはモード2をトリガすることができます。その結果、モード0だけを適用した場合と比べてより多くの電力を削減することが可能になります。
DGPIOピンによる制御では、図6に示した例のように、RX_ENABLE/TX_ENABLE信号でトリガしたモードよりも、常に上位の省電力モードをトリガする必要があります。この点には注意が必要です。Rx/Txチャンネルの遷移時間が十分ではない場合、RX_ENABLE/TX_ENABLE信号ではモード1とモード2をトリガできないことがあります。DGPIOピンによる方法は、そうしたケースでより多くの電力を削減するための手法として役に立ちます。
TDDアプリケーションの種類によっては、一方のチャンネルが初期化された後、長い時間使用されないままになることがあります。その場合、モード2(データパス、PLL、LDOレギュレータがパワーダウン)の場合と同様に、そのチャンネルをパワーダウンするために使用できるAPIが提供されています。そのAPIによって、使用していないチャンネルを休止の状態に移行させることができるということです。また、チャンネルが動作を開始する前に、別のAPIを使ってそのチャンネルをパワーアップすることも可能です。それにより、使用していないチャンネルの省電力化を最高のレベルで確実に実現することができます。チャンネル、システムの状態については、後ほど詳しく説明します。
ここでは、チャンネル・レベルの3種の省電力モードによって達成される消費電力の削減効果を確認してみます。プロファイルの例としては、24kSPSで動作するDMRを取り上げることにします。DMRのハンドセット・システムでは、バッテリの寿命がユーザ・エクスペリエンスを左右する重要な要素になります。ハンドセットがパワーアップした後は、送信、受信、アイドルの3つの状態を行き来することになります。その標準的なサイクルは5-5-90と表現されます。これは、ハンドセットにおいて、送信に約5%、受信に約5%、アイドル状態に約90%の時間が使われるという意味です。通常、5-5-90のサイクルについては、システムの重要なパラメータとして、バッテリの寿命に関するデータをハンドセットのデータシートに記載する必要があります1。
DMRのアプリケーションにおいて、消費電力は非常に重要な要素です。そのため、コンポーネント・レベルの最高の省電力機能を使用します。また、Rx/Txチャンネルのペアに対してPLLを1つだけ使用します。ADRV9001の場合、レシーバーではIF(中間周波数)モードを使用し、トランスミッタではゼロIFモードを使用します。そのため、一方のチャンネルがもう一方のチャンネルに切り替わる際には、PLLのチューニングが再度実行されます。
図7は、一般的なTDDのタイミングについて示したものです。TTXとTRXは、それぞれ送信、受信がアクティブになる時間を表しています。同様に、TIDLE1とTIDLE2はそれぞれのアイドル時間を表しています。なお、この図ではウェイクアップ時間は省略しています。一般に、ウェイクアップ時間は、チャンネルがアクティブな時間やアイドル状態にある時間よりもはるかに短くなります。そのため、消費電力を計算する際にも重要な要素にはなりません。
表3に、モード0/1/2における消費電力の測定結果を示しました。各数値は、TTX、TRX、アイドル時間(TIDLE1/TIDLE2)における消費電力です。この測定では、LOの周波数を900MHzに設定しました。
チャンネル・レベルの省電力モード | 消費電力〔mW〕 | ||
PTX(Txのみ) | PRX(Rxのみ) | PIDLE(アイドル状態) | |
モード0 | 580 | 525 | 368 |
モード1 | 580 | 509 | 205 |
モード2 | 580 | 502 | 173 |
各期間に生じる消費電力の値を把握すれば、次式に示すように平均消費電力を算出することができます。
5-5-90サイクルで動作する標準的なDMRであれば、モード2を使用した場合の平均消費電力は、580×5% + 502×5% + 173×90%という式によって約210mWという値が求まります。
モード1、モード2では、PLLとそれに関連するLDOレギュレータをパワーダウンすることができます。そのため、表3に示したようにアイドル期間にはより多くの電力を節約できます。しかし、PLLとLDOレギュレータが両方のチャンネルで共有されていることから、どちらかのチャンネルがアクティブな期間にはパワーダウンすることはできません。つまり、アイドル状態にあるチャンネルのLDOレギュレータなど、そのチャンネルに関連するコンポーネントしかパワーダウンすることはできないということです。したがって、節電の効果は非常に限定的なものになります。
システム・レベルの省電力化
先述したように、チャンネル・レベルの省電力化機能では、データパスやRF PLL、LDOレギュレータなど、チャンネルに関連するコンポーネントをパワーダウンします。図6で例にとった状況のように、Tx/Rxの両チャンネルがアイドル状態にある場合、システム・レベルのコンポーネントを更にパワーダウンしてより一層の省電力化を図ることができます。そうしたシステム・レベルのコンポーネントとしては、クロックPLL、コンバータ用のLDOレギュレータ、クロックPLL用のLDOレギュレータ、Arm®プロセッサとそのメモリなどが挙げられます。システム・レベルの省電力化に向けては、チャンネル・レベルの省電力と同様に3種のモード(モード3、モード4、モード5)が提供されています。上位のモード(数字が大きいモード)ほど、より多くのシステム・コンポーネントがパワーダウンします。表4は、システム・レベルの省電力化機能についてまとめたものです。
パワーダウンするチャンネル/システム関連のコンポーネント | モード3 | モード4 | モード5 | |
アナログ/デジタルのデータパス | X | X | X | |
Tx | Tx PLL(内蔵) | X | X | X |
PLLのLDOとTxのLDO | X | X | ||
アナログ/デジタルのデータパス | X | X | X | |
Rx | Rx PLL(内蔵) | X | X | X |
PLLのLDOとRxのLDO | X | X | ||
クロックPLL | X | X | X | |
システム | コンバータのLDOとクロックPLLのLDO | X | X | |
Armプロセッサとメモリ | X | |||
各モードにおけるウェイクアップ時間 | モード3 | モード4 | モード5 | |
パワーアップ時間の概算値〔マイクロ秒〕 | 250 | 650 | 3200 |
表4に示したように、モード3ではモード1でパワーダウンするコンポーネントに加えてクロックPLLがパワーダウンします。モード4では、モード2でパワーダウンするコンポーネントに加えてクロックPLL、コンバータのLDOレギュレータ、クロックPLLのLDOレギュレータがパワーダウンします。モード5では、モード4でパワーダウンするコンポーネントに加えてArmプロセッサとそのメモリがパワーダウンします。ウェイクアップ時間は、より多くのコンポーネントをパワーダウンするほど長くなります。モード5の場合、すべてのコンポーネントをパワーアップするまでに約3.2ミリ秒の時間がかかります。
チャンネル・レベルの省電力化とは異なり、システム・レベルの省電力化では、DGPIOピンを使用してトリガすることが必須です。図8は、TDD動作の各期間中にチャンネル・レベルの省電力化とシステム・レベルの省電力化を組み合わせて使用する例を示したものです。このような方法を採用することで、消費電力をより効果的に削減することができます。
図8の例において送受信の動作が交互に行われる期間には、RX_ENABLE/TX_ENABLE信号を使用することで、チャンネル・レベルの省電力モードのうち可能な限り上位のものを選択することができます。どのチャンネルも動作していない長いアイドル期間中には、DGPIOピンを使用して最上位の省電力モードをトリガし、更に多くのシステム・コンポーネントをパワーダウンすることが可能です。それにより、チャンネル・レベルの省電力化機能だけを適用する場合と比べて、更に多くの消費電力を削減することができます。DGPIOピンによってチャンネル・レベルの省電力機能であるモード1/モード2を制御する方法と同様に、DGPIOピンによるシステム・レベルの省電力機能は、RX_ENABLE/TX_ENABLE信号が共にローである場合だけ使用することができます。
表5は、図7に示したDMRアプリケーションにおける消費電力の削減効果についてまとめたものです。一方のチャンネルがアクティブである場合にはモード2を使用し、両方のチャンネルがアイドル状態にある場合にはシステム・レベルの省電力機能であるモード3/4/5を使用しています。
システム・レベルの省電力モード(アイドル状態の場合のみ) | 消費電力〔mW〕 | ||
PTX(Txのみ、モード2) | PRX(Rxのみ、モード2) | PIDLE(アイドル状態) | |
モード3 | 580 | 502 | 100 |
モード4 | 580 | 502 | 65 |
モード5 | 580 | 502 | 35 |
表3と比べると、アイドル期間には、システム・レベルの省電力モードを使用する方がより多くの電力を節約できることは明らかです。5-5-90サイクルで動作するDMRアプリケーションでは、モード5を使用した場合の平均消費電力はより少なくなります。具体的には、580×5% + 502×5% + 35×90% = 86〔mW〕と算出できます。
モニタ・モード
ここまで、3種のレベルの省電力機能について説明してきました。それぞれ、高い効果が得られることはご理解いただけたでしょう。しかし、システムにおいて最高レベルの節電を実現するには、ADRV9001の消費電力を削減するだけでは不十分なケースがあります。アイドル期間が長い場合には、すべての主要なコンポーネントをパワーダウンできることが理想です。そうすれば、システム全体として最高レベルの節電を実現することができます。この目標を達成するために提供されているのが、ADRV9001のモニタ・モードです。このモードでは、ADRV9001とBBICの両方をアイドル期間中にディープ・スリープの状態に移行させることができます。但し、Rxチャンネルの1つは、必要に応じてウェイクアップし、定期的に信号の検出を実施できるようになっています。有効な信号(意味のある信号)が検出されたら、ADRV9001は直ちにBBICをウェイクアップします。このような機能により、信号を検出する役割をBBICからオフロードすることができます。そうすれば、BBIC(場合によってはBBICが制御しているシステム内の回路も含めて)をアイドル期間の全体にわたってスリープの状態で保持できます。その結果、システム全体として最高レベルの節電を達成することが可能になります。
図9に示したのは、ADRV9001の状態遷移図です。通常動作モードとモニタ・モードの間でどのような遷移が生じるのかを示しています。この図を見ればわかるように、通常動作モードにおいて、ADRV9001はパワーアップが完了したら自動的にスタンバイ状態(Standby)に移行します。
この期間に、コンポーネント・レベルの省電力機能の設定を行うことができます。初期化が成功したら、スタンバイ状態からキャリブレーション済みの状態(Calibrated)に移行します。先述したように、この状態ではAPIを使用することで、初期化は終わっているものの使われていないチャンネルをパワーダウンすることができます。また、キャリブレーション済みで準備が完了した状態(Calibrated Ready)から休止状態(Hibernate)に移行させることも可能です。キャリブレーション済みの状態において、無線を起動するコマンドを使用し、送受信動作に備えて更に各チャンネルの準備を行い、すべてのチャンネルを準備が完了した状態(Primed Ready)に切り替えます。この状態は、デフォルトの設定であるチャンネル・レベルの省電力モード0に相当します。チャンネルのイネーブル信号がオンである場合、各チャンネルは更にRF_ONの状態(RF_ON)に移行して動作を開始します。先述したように、TDDで動作している間、アイドル状態のチャンネルは、チャンネル・レベルの省電力機能を使用してパワーダウンすることができます。モード0を使用する場合、アイドル状態にあるチャンネルはRF_ONの状態から準備完了の状態に移行します。モード1またはモード2を使用する場合には、アイドル状態にあるチャンネルは、RF_ONの状態から準備が完了したパワーダウンの状態(Primed Power-Down)に移行します。
通常動作モードからモニタ・モードへの遷移は、長いアイドル期間の開始を検出した後、BBICによって行われます。モニタ・モードでは、BBICは、BBICによって設定された内容に基づいてシステム・レベルの省電力機能であるモード3、モード4、モード5のうちいずれかを選択します。モニタ・モードでは、ADRV9001とBBICはいずれもスリープの状態になります。但し、ADRV9001のRxチャンネルのうちの1つは、必要に応じてウェイクアップし、定期的に信号の検出を実施できるようになっています。有効な信号が検出されたら、ADRV9001はBBICをウェイクアップします。すると、BBICはモニタ・モードをディスエーブルにし、通常動作を再開します。
図9に示すように、モニタ・モードは、スリープ(Sleep)、検出(Detect)、信号を検出済み(Detected)の3種のステートから成ります。スリープのサイクルと検出のサイクルは、タイマーによって制御されます。タイマーによるカウントが終了し、有効な信号が検出されなければ、そのときの状態から別の状態へと遷移します。BBICは、タイマーの動きを確認し、モニタ・モードをどの状態で開始しなければならないのか判断します。検出の状態にある際、有効な信号が検出されたら、ADRV9001は直ちに信号を検出済みの状態に遷移してBBICをウェイクアップします。続いて、BBICがモニタ・モードをディスエーブルにすることで、ADRV9001は通常動作モードに戻ります。モニタ・モードは、システム・レベルの省電力モードと同様に、DGPIOピンによってトリガされます。これら2つのモードは、モニタ・モードに信号を検出する機能が組み込まれている点を除けば非常に似ています。実際、ADRV9001では、APIを使うことによってシステム・レベルの省電力モードとモニタ・モードを動的に切り替えることができます。
図10は、ADRV9001とBBICにおいてモニタ・モード中に発生するタイミング・イベントの詳細を示したものです。モニタ・モードにおいて、BBICによりDGPIOピンがアサートされると、BBICはスリープの状態に移行します。一方、ADRV9001は構成済みのタイマーを使用し、スリープの状態と検出の状態を繰り返す動作に入る前に、構成が可能な初期遅延の間だけ待機します。ADRV9001は、初期遅延の期間中に信号の検出を実施します。それにより、スリープの状態に移行する前に有効な信号が存在しないことを確認することができます。ADRV9001において、スリープの状態と検出の状態を繰り返す動作は、意味のある信号が検出されるまで継続されます。続いて、ADRV9001はBBICをウェイクアップし、有効な受信データのバッファリングを開始します。それにより、BBICがスリープの状態にある間に有効なデータが失われることを防ぎます。BBICが完全にウェイクアップした後、Rxチャンネルは、インターフェースに対してあらかじめ設定された高いデータ・レートで、バッファされたデータをすべて取得できる状態になります。次に、BBICはモニタ・モードをディスエーブルにし、通常動作モードを再開します。なお、BBICはタイマーを0に設定し、ADRV9001による信号の検出が行われないようにすることができます。その場合、代わりにBBICが信号を検出することになります。有効な信号が検出されたら、DGPIOピンをいつでもデアサートすることが可能です。それによってモニタ・モードは終了します。
ADRV9001は、信号を検出するための複数の方法を備えています。それにより、様々な無線規格に対応できるようになっています。信号の検出は、RSSI(Receive Signal Strength Indicator)、同期(SYNC)、FFT(Fast Fourier Transform)などの方法を活用して実施されます。RSSI方式では、受信した信号のレベルを閾値と比較し、有効な信号であるか否かを判断します。この方法であれば、あらゆる種類の無線規格に対応することができます。SYNC方式では、DMRの規格で定義された特定の同期信号パターンを検出します。FFT方式は、変調方式としてFSK(Frequency Shift Keying)を採用した規格にだけ対応することが可能です。3種の方式をサポートしていることから、DMR以外の規格にも問題なく対応してモニタ・モードを利用することができます。
表6は、スリープの状態の期間と検出の状態の期間に消費される電力量についてまとめたものです。図7に示したDMRアプリケーションにおいてアイドル状態にある際に、モニタ・モードによって様々なシステム・レベルの省電力モードを利用した場合の結果です。
システム・レベルの省電力化モード | 消費電力〔mW〕 | ||
スリープ | 検出 | ||
モード3 | 100 | 240 | |
モード4 | 65 | 240 | |
モード5 | 35 | 225 |
モニタ・モードの期間の平均消費電力は、スリープの状態と検出の状態におけるタイマーの設定に応じて決まる可能性があります。ADRV9001では、スリープの状態よりも、信号の検出を実行する検出の状態の方が多くの電力を消費します。しかし、アイドル期間にBBICをスリープの状態に維持することができるので、結果として、システム全体の消費電力を抑えられる可能性があります。
TESによる消費電力の評価
本稿で示した消費電力の測定結果は、ADRV9001の評価用ボード(EVB)とTESを使って取得しました。EVBとTESの詳細については、「ADRV9002」の製品ページをご覧ください。なお、TESはXilinx®が提供するFPGA用の評価キット「ZC706」と「ZCU102」をサポートしています3。モニタ・モードを含むすべての省電力機能は、TESを使うことで容易に設定することができます。図11に示した設定用ページは、非常に使いやすいものになっています。
また、消費電力について評価する際に役立つように、ADRV9001用のEVBは、リアルタイムで消費電力を監視/測定するための電力監視ICを備えています。各電源ドメインにおける消費電力の詳細は、TESによって30秒間隔で表示することができます(図12)。TESは強力なビジュアル・ツールであり、チャンネルの各状態における電力性能をシステムの動作中に評価することを可能にします。測定精度は高く、許容誤差は±2.5%に抑えられます。
まとめ
本稿で説明したように、トランシーバーICの製品ファミリであるADRV9001は、消費電力の削減に向けた様々な機能を備えています。具体的には、コンポーネント・レベル、チャンネル・レベル、システム・レベルの省電力機能に加え、モニタ・モードが用意されています。これらを利用すれば、ミッション・クリティカルな多くのアプリケーションにおいて、スケーラブルな消費電力と性能を実現することができます。システムの消費電力を最良の状態で削減するためには、そのための戦略を決定する必要があります。それに向けては、各省電力機能に関連する性能上のトレードオフについて理解することが非常に重要です。すべての省電力機能については、ADRV9001のTESとEVBを使用することによって評価することができます。その際には、すべての電源ドメインにおける消費電力を高精度かつリアルタイムに表示することが可能です。
参考資料
1 「Two-Way Radios and Battery Life(双方向の無線機とバッテリの寿命)」Hytera Europe、2016年12月
2 ADRV9002:デュアル狭帯域/広帯域RFトランシーバー、 データシート、Analog Devices、2021年4月
3 ADRV9001 System Development User Guide(ADRV9001:システム開発ユーザ・ガイド)、Analog Devices、2021年10月