連載
» 2010年08月05日 12時00分 UPDATE

いまさら聞けないロジック・アナライザ入門(3):今どきのロジアナ機能と避けては通れないプローブの話 (1/2)

使いこなせば便利な今どきのロジック・アナライザ機能と、ロジック・アナライザを接続するためのプローブについて紹介

[アジレント・テクノロジー 里見 尚志,@IT MONOist]
いまさら聞けないロジック・アナライザ入門 アジレント・テクノロジー
実機の環境はシミュレーションのように理想的ではない。実機で発生しているイベントをリアルタイムに観測できるツールはロジック・アナライザ(ロジアナ)だけだ。本稿では、これからロジアナを使ってみようと考えている読者を対象に、ロジアナの測定原理から、実機デバッグで役に立つテクニックまで順に解説していく。(編集部)

 前回は、状況に応じた測定器の選び方や使用方法について、ロジック・アナライザをオシロスコープやMSOと比較しながら説明しました。また、ロジック・アナライザの特長であるステート解析・高機能なトリガ・長時間測定については、DDRメモリ解析を例として解説しました。

 ロジック・アナライザ測定においては、タイミング解析の場合は波形表示で測定データを見て、ステート解析の場合はリスト表示で測定データを見る、というのが定石ですが、最近のロジック・アナライザにはさまざまな機能があり、それらを活用することによりデバッグの効率を飛躍的に上げることが可能です。連載3回目の今回は、使いこなせば便利な今どきのロジック・アナライザ機能と、測定するうえでは避けて通ることのできない、ロジック・アナライザを接続するためのプローブについて詳しく説明します。

デコーダによるデータ表示

 デコーダはデータの前後関係を見て、分かりやすく表示してくれる機能です。マイコン開発におけるバス解析でも使用されているため、逆アセンブラと呼ばれることもあります。

 ここでもDDRメモリを例にして説明します。デコーダを使用することにより、DDRメモリのどこのアドレスにどんなデータが書き込まれたか、あるいは読み込まれたかが一目で分かります(図1)。

photo 図1 デコーダの表示例:どこのアドレスにどんなデータが書き込まれたか一目で分かる

 デコーダを使用しない場合、コマンド、アドレスおよびデータとそれらの関係を自分の手で調べる必要があります。特に物理アドレスの組み立ては大変です。概要は図2を参照してください。

photo 図2 デコーダがない場合:どのアドレスにどんなデータが書き込まれたかは自分の手で調べる

パケット表示によるプロトコル解析

 最近のバスは従来のようなハンドシェイクではなく、通信プロトコルのようなパケットのやりとりを行うものが多くなってきました。パケットとパケットの間はアイドルデータが流れており、リスト表示でそのまま表示するとパケットが不要なアイドルデータの中に埋もれてしまい、非常に分かりづらくなります。フィルタを使用して不要なデータを表示しないようにする手もありますが、そのような場合にはパケット表示を使用すると、専用機であるプロトコル・アナライザのような表示で測定データを確認することができます(図3)。

photo 図3 パケット表示の例:双方向に流れるパケットとその中身を分かりやすく表示

 パケット定義はXMLなどで記述されているため、標準プロトコルをカスタマイズしたり、独自プロトコルをパケット・デコードしたりして表示することも可能です。

バストレースとソースコードを相関表示

 マイコンのバストレースでは、前述のデコーダ(逆アセンブラ)によりアセンブラレベルでの表示が可能ですが、さらにソースコードを相関させて表示することが可能です(図4)。

photo 図4 ソース相関表示:リスト画面とソースコード画面が連動して表示される

 マイコンに実行させるバイナリコードをコンパイル・リンクする際にデバッグオプションを付けることにより、シンボル情報を生成します。ロジック・アナライザはそのシンボル情報を基にバストレースのアドレス情報からソースコードの当該部分を表示します。

さまざまなカスタム解析ツール

 最近のロジック・アナライザは比較的容易にカスタマイズできるようになっており、さまざまな解析ツールを作成することも可能になっています。

 例えば、DDRメモリバスを測定する場合、読み書きするメモリ領域とその頻度を解析したり、ActivateやRefreshなどのコマンド発行頻度を確認したりするパフォーマンス解析ツールがあります(図5)。

photo 図5 DDRメモリのパフォーマンス解析:各コマンドの出現頻度が色別に表示される

 面白い例では、バス上を流れる画像データをロジック・アナライザ上で再生するツールがあります(図6)。画像を送信側、受信側だけでなくバス上でも確認することにより、問題の原因切り分けが容易になります。

photo 図6 画像表示ツール:MIPI上を流れる画像データをロジック・アナライザ上で再生

デジタルVSA(Vector Signal Analysis)解析

 携帯電話のような無線機器では、従来は全体的な制御にマイコンが用いられてきた程度で、信号はアナログで処理されていました。最近はベースバンドをデジタル化して処理することが普通に行われています。デジタル・ベースバンドとIF信号における時間、周波数、モジュレーションドメイン解析をロジック・アナライザ上で実行するようなツールもあります(図7)。

photo 図7 デジタルVSA解析の例

ロジアナで多チャンネルの信号品質チェック

 ステート解析を行ううえで重要なポイントの1つは、適切なサンプリング位置でデータをサンプリングすることです。システムがきちんと動いているのに、ロジック・アナライザが間違ったデータを観測していたのでは何の意味もありません(図8)。

photo 図8 ロジック・アナライザでは適切なサンプリング位置の設定が重要

 これを解決するために、いまのロジック・アナライザの中には、つながっている信号すべてのアイパターンを一度に描画できるものがあります(図9)。

photo 図9 多チャンネルのアイパターン描画:適切なサンプリング位置の設定と信号品質のチェック

 原理は、ロジック・アナライザのスレッショルドとディレイを少しずつ変えていき、そのポイントでデータが遷移するかどうかでアイパターンを描いていきます。遷移があればドットを描きます(図8でオレンジ色の部分)。

 もともと、正しいサンプリング位置を決めるための機能ですが、多チャンネルの信号品質を確認できますので、多チャンネルのオシロスコープとしても使えます。ただし、原理を説明したとおり、リアルタイム・オシロスコープではなくサンプリング・オシロスコープに近いです。信号のパラメトリックな評価にはリアルタイム・オシロスコープを使用します。

 DDRメモリの中でも、PCやサーバで使用されるDIMMでは、データがReadとWriteで64ビットずつ、アドレスが16ビット、コマンドが10ビット……と100を優に超す信号があります。一昔前のシステムなら16ビットあるうちの数ビットを見てOKであればほかのビットもOKとできたかもしれませんが、近年の高速、複雑化したシステムでは、それだけで安心できないケースが増えています。それでは、1つ1つオシロスコープで見るのでしょうか。ロジック・アナライザを使えば、全信号を一度にチェックできます。しかも、時間軸分解能10ps、電圧軸分解能10mVというかなり高い分解能でアイパターンを描けるものもあります。

 通常のタイミング解析は、ターゲットではなく測定器のクロックに従って解析する非同期の解析です。それに対して、この機能は、ターゲットの基準信号に同期した形で、ほかの信号のタイミング解析を行います。この考え方は、シンクロナス(同期)・タイミングと呼ばれ、今後より高速・複雑化していくシステムでは、非常に重要になる考え方になるでしょう。

専用ソフトウェアツールと測定用アダプタ

 規格やデバイスに特化したソフトウェアツールなども充実してきており、それらの解析を行う専用機として使っても申し分ないくらいのものもあります。また、ロジック・アナライザで直接測定が困難なシリアルバスや高速バスに対しては、測定用アダプタ(解析プローブ)を使用することにより測定や解析を行うことが可能です(図10)。

photo 図10 ロジック・アナライザをベースにした専用ツールの例:FPGA、DDR、MIPIアナライザ

 このようにオシロスコープやMSOにできない多彩な解析を行えるのが現在のロジック・アナライザです。いかがでしょうか、ロジック・アナライザ=タイミング・チャートというイメージを持っていた読者の方は、ロジック・アナライザへの認識が大きく変わったはずです。今回はそれぞれの機能を簡単に紹介しましたが、次回以降でいくつかを詳細に解説します。

 さて、いくら解析機能が充実していても、ロジック・アナライザと被測定物(DUT:Device Under Test)がうまく接続されていなければ、信頼性の高い測定や解析を行うことはできません。次にロジック・アナライザを使用するうえでは避けて通れないプローブについて説明します。

重要なプローブ選び

 非接触で信号を測定できればよいのですが、そうなるにはまだまだ時間がかかりそうです。ロジック・アナライザを使用するうえでは、適切なプローブを選択することが重要です。プローブ選択には、以下のようなポイントがあります。

  • 物理的形状:DUTに接続しやすいか、物理的に干渉しないか、取り付け強度は大丈夫か
  • 電気的負荷:取り付けることによってDUTに電気的影響を与えないか
  • 伝送帯域:測定する信号の周波数やデータレートに対応できる帯域を持っているか

 プローブには大きく分けて以下の3種類があります。

  • フライングリード:プローブリードを信号個別に接続する
  • コネクタ:あらかじめDUTに搭載しておいたロジック・アナライザ用コネクタに接続
  • コネクタレス:あらかじめDUTに搭載しておいた信号パッドにプローブピンを接触させる

 次ページではそれぞれのプローブについて説明していきます。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.