HOME > ソフテックだより > 第53号(2007年11月7日発行) 技術レポート「測定機器の使用方法−ロジックアナライザ編−」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより(技術分野別)のページへ
ソフテックだより(シーン別)のページへ


ソフテックだより 第53号(2007年11月7日発行)

技術レポート

「測定機器の使用方法−ロジックアナライザ編−」

1. はじめに

当社では、組み込み系の開発や評価作業などを多く扱っていることもあり、単なるソフトウェア作成だけでなく、基板のチェックや波形の測定を行う場面も数多くあります。
電圧測定や波形観測などというと、ハード屋さんが行う作業のようなイメージがありますが、組み込み系のソフトウェア開発では、欠かせない技術と言えます。

今回の技術レポートでは、測定機器の中で、「ロジックアナライザ」にスポットを当てて、その使用方法や注意点について紹介します。

2. 測定機器

ひとえに測定機器といっても、定規から、ロジックアナライザまで、様々なものが測定機器として挙げられます。

測定機器の例
温湿度計、ノギス、マイクロメーター、メジャー、テスター(回路計)、圧力計、気圧計、オシロスコープ、ロジックアナライザ、天秤...

このように、様々な測定機器がありますが、当社で関わっている組み込み系開発で、デバッグの際によく使用する測定機器として、以下のものがあります。

  • テスター
  • オシロスコープ
  • ロジックアナライザ

テスターは、電圧、電流、抵抗などを測定できる測定機器です。
一般的に、アナログマルチメータや、電流計、電圧計なども、このテスターの類に該当します。
最近では、デジタルマルチメータが普及しており、電圧、電流や抵抗などもこのテスターという一つの機器で測定することが可能となっています。

オシロスコープは、1つまたはそれ以上の電位差を二次元のグラフとして表示する電気測定器です。画面上で、高速な時間信号のやり取りを測定できます。
近年、オシロスコープは、画面のフルカラー化が行われたり、USB経由でパソコンとの接続やストレージデバイスへの保存が可能となるなど、高機能化が進んでいます。

3. ロジックアナライザ

今回の技術レポートでは、「ロジックアナライザ」の使用方法を、注意点を含めて紹介したいと思います。

(1) ロジックアナライザとは?

ロジックアナライザとは、ロジック(logic:論理)をアナライズ(analyze:分析)するものであり、デジタル回路の動作を観測する測定器です。
デジタル回路からの出力、デジタル回路への入力を、電位差によって、0か1で示し、データ情報を時系列の波形として読み取ることが可能です。
実際の用途として、シリアル通信のデータ解析、制御信号やアドレスバスのデータ解析などが挙げられます。ロジックアナライザを使用することにより、このような電気信号のデータを視覚的に確認することが可能になります。

(2) オシロスコープとの違い

一般的にオシロスコープは、電位差を2次元のグラフに表示します。これを時系列に表示しますが、アナログ入力で2次元表示する為にサンプリングレートが非常に高くなっている為、入力本数が2〜4CHであるのが一般的であり、非周期的な複数の波形を同時に観測する用途には向いていません。
逆に、非周期的な複数の信号を同時に取得する場合に、ロジックアナライザは向いていると言えます。ロジックアナライザは、一般的に、16〜48CHといった多くの入力を備えており、波形記憶用のメモリを持っている為です。また、多くのトリガ機能を備えている為、特定のタイミングでの波形を取得したい場合に有効です。
ロジックアナライザは、デジタル回路用ですので、電圧の高低は精密には表示されず、単純にHiかLoで表示される仕様になっていることが多いです。

(3) 使用方法

使用方法を、順を追って説明します。
今回、例として、シリアル通信の送信データを確認したいと思います。
シリアル通信に関しては、2005年9月7日発行の技術レポート「シリアル通信とは?」をご参照ください。

マイコンと、ロジックアナライザの設定を以下に示します。

表1. マイコンの設定

設定項目 設定内容
通信モード 調歩同期式モード
パリティビット 無し
ストップビットレングス 1ビット
通信速度 2400bps
転送データ 0x55

表2. ロジックアナライザの設定

設定項目 設定内容 備考
測定する端子 RS-232Cコネクタ 2pin(TXD)  
分解能 100MHz (3)-3 参照
トリガ設定 端子の立ち下がりエッジ/立ち上がりエッジ (3)-3 参照
スレッショルドレベル 0V (3)-3 参照
(3)-1 機材の準備

まずは、機材の準備を行います。
必要な機材は、以下の2点となります。なお、ロジックアナライザには、プローブ(※1)やグラバー(※2)などを含みます。これらの基板との接続を行う機器に関しては、ロジックアナライザ本体の付属品として用意されている場合がほとんどです。

  1. ロジックアナライザ(図1)
    Hewlett-Packard(現Agilent Technologies)製
    54645D MIXED SIGNAL OSCILLOSCOPE
    16チャネルのロジック・チャネルと、2チャネルのオシロスコープを持つ。
  2. 波形を取得する端子が搭載されている基板(図2)
    ルネサス テクノロジ製
    Renesas Starter Kit for H8/38347
    当社にて新入社員研修用に購入した市販のH8/38347マイコンの学習/評価ツール

Hewlett-Packard(現Agilent Technologies)製 54645D MIXED SIGNAL OSCILLOSCOPE 16チャネルのロジック・チャネルと、2チャネルのオシロスコープを持つ。
図1. ロジックアナライザ

ルネサス テクノロジ製 Renesas Starter Kit for H8/38347 当社にて新入社員研修用に購入した市販のH8/38347マイコンの学習/評価ツール
図2. 使用基板

※1
プローブ:
測定する回路からの信号をロジックアナライザ本体に入力するケーブル。
※2
グラバー:
プローブの先端に接続し、端子を掴む為のクリップ。近接している端子とショートしづらい構造になっており、細かい端子などを掴むのに使用する。
(3)-2 基板とロジックアナライザの接続

基板波形を取得したい端子とロジックアナライザを接続します。

基板の電源が入っている状態で、グラバーを接続しようとすると、特に端子が密集している場合などには、グラバーの先が他の端子と触れてしまい、測定対象となる端子と他の端子がショートしてしまい(図3)、場合によっては基板の故障にも繋がります。
必ず電源が入っていない状況で接続を行う必要があります。

このような無理な接続はしないように
図3. ショートする危険のある接続

最初に、ロジックアナライザのGNDプローブに接続されたグラバーと基板上のGND端子を接続します。
次に、基板上の波形を取得する対象となる端子と、ロジックアナライザのプローブを接続します。(図4)
今回の例の場合は、グラバーをRS232CコネクタのTXD端子に接続します。

基板とグラバーを接続します
図4. グラバーの接続

(3)-3 ロジックアナライザの設定

しっかり接続されていることを確認したら、ロジックアナライザの電源を入れ、各設定を行います。

  • 分解能と時間の設定

    分解能の設定を行います。
    これは、測定の細かさの限界を設定します。どのくらいまで設定可能かは、使用するロジックアナライザの性能に依ります。
    例えば、分解能50MHzであれば、50MHzの周期で、サンプリングを行います。
    よって、何秒毎に入力信号のサンプリングを行うかは、以下の式で求められます。

    サンプリング秒数 = 1/(50×106) = 0.02×10-6 = 20ns

    また、表示される時間の設定を行います。
    この設定は、例えば1秒間の範囲の波形を見たいのか、それとも1μ秒の範囲の波形を見たいのかというところで、画面上で表示される範囲の設定を行います。

  • スレッショルドレベル(threshold level)の設定

    スレッショルドレベルとは、閾(しきい)値のことで、この設定によって、ロジックアナライザで、「何VまでをHiとし、何VまでをLoとするか」の表示を決めることが可能です。
    このスレッショルドレベルを超えているか否かで、ロジックアナライザのHiかLoかの表示(出力)が切り替わります。以下に、実際に入力されているアナログ波形と、スレッショルドレベルとの関係を示します。(図5)

    スレッショルドレベルを境に、Hi/Lo表示が切り替わります
    図5 実際に入力されるアナログ波形とロジックアナライザで表示される波形

今回使用しているロジックアナライザには、入力電圧の設定として4つから選択可能です。それぞれの内容を以下に示します。

表3. 入力電圧の設定値

名称 スレッショルドレベル 論理レベル
TTL(※3) 1.4V Hiレベル:2V〜VCC
Loレベル:0V〜0.8V
CMOS(※4) 2.5V Hiレベル:0.7V×VCC〜VCC
Loレベル:0V〜0.3V×VCC
ECL(※5) -1.3V Hiレベル:-0.8V
Loレベル:-1.8V
任意設定 任意 -
※3
TTL : Transistor-Transistor Logic
通常5V単一電源のモノリシック集積回路として作られている。
※4
CMOS : Complementary Metal Oxide Semiconductor
単一電源でCMOSレベルの入出力インターフェースで統一された集積回路。
※5
ECL : Emitter-Coupled Logic
バイポーラトランジスタよって電流を制御することで論理回路機能を実現する集積回路の論理素子の一種である。

これらの設定を行い、出力波形を観測します。
今回の測定では、RS-232Cコネクタの端子にプローブを接続する為、スレッショルドレベルを0Vに設定しています。
RS-232Cインターフェースの規定では、出力電圧は、"1"で-5〜-15V、"0"で+5〜+15Vに、入力電圧は-3V以下で"1"、+3V以上で"0"と判断することが決まっている為です。

なお、上述した種類の他の端子から波形を出力する場合でも、それぞれの端子の特性、電圧に沿った設定にする必要があります。
例えば、対象とする端子がオープンドレイン出力であれば、(基板設計の話ですが)予めプルアップしておくなどの対処が必要です。

  • トリガの設定

    トリガ(TRIGGER:引き金)の設定では、入力されている波形の、どのタイミングから波形を取得するかを設定します。

    例えば、SRAMなどの外部メモリとの制御信号である、CS(チップセレクト)信号がアサート(ローアクティブとする)されたときの波形をとりたい、といった場合には、CS信号に接続してあるプローブCHに対して、Hi→Loの立ち下がりをトリガに設定します。そうすると、CSが入った時点から波形が取得できます。
    単純な立ち上がり/立ち下がりの設定の他に、5回立ち下がりが発生した場合や、10秒以上Lo状態が続いた場合、などの設定や、複数チャネルのエッジの組み合わせなども可能です。(これはロジックアナライザの性能に依存します)

  • 実際に波形が取得できるのかの確認

    ほとんどのロジックアナライザ/オシロスコープには、波形確認用の端子がついており、それにプローブを接続することで、動作チェックが出来ます。
    今回使用しているロジックアナライザでは、Loレベル:0V、Hiレベル:5V、1.2kHzでトグル出力されます。

(3)-4 測定

ロジックアナライザ側の設定が完了したら、基板の電源を入れます。
マイコンでは、表1で示した内容のソフトを動作させます。
以下に、主要な操作を紹介します。

  • RUN/STOP

    設定した端子からの出力波形のサンプリング開始/停止を操作します。

  • Single/Auto

    SingleとAutoのモードを切り替えます。
    トリガに設定した信号の変化が発生した時に、1回でストップするのか、一度ストップして繰り返すのか、という指定をします。
    Singleでは、こうなったときの波形を見たい、という時に便利であり、Autoであれば、連続した長い波形を目視で取得したい場合に便利です。

  • Auto-Scale

    取得対象となる波形の出力中に、波形サイズが上手く設定出来ない、ノイズが大きくて全体像が見えない、などといった場合に、自動的に適切な範囲の表示をする機能です。
    この操作は、「取りあえず繋いでどのような波形が出ているのか確認する」といった場合に有効です。

    RUNの操作で、サンプリング開始し、マイコンでシリアル通信を開始すると、波形が動き、ロジックアナライザの画面上で波形が出ていることが確認出来ます。(図6)

    最初の立ち上がりでトリガがかかっていることが分かります
    図6. シリアル通信の波形(トリガを立ち上がりエッジにした場合)

波形を取得し、もう少し大きい幅の波形が見たい、違う信号線を見たいなどといった場合には、上述したロジックアナライザの設定を変更します。

トリガの設定を変更した場合を図7に示します。
入力端子に対して、立ち上がりエッジで設定していましたが、立ち下がりエッジに変更した為、表示が開始されるタイミングが変わっています。

最初の立ち下がりでトリガがかかっていることが分かります
図7. シリアル通信の波形(トリガを立ち下がりエッジにした場合)

次に、スレッショルドレベルを変更します。
RS-232Cの信号は、矩形波として入力されますので、時間の設定で、全体が見える設定では、スレッショルドレベルの違いによる変化は見られません。
そこで、時間の設定で、表示する時間を短くし、電圧値の変化が確認できるようにします。
今回、使用しているロジックアナライザは、オシロスコープの機能も備えており、電圧レベルの変化も確認出来ますので、両方表示させ、違いを確認します。
あらかじめ設定しておいたスレッショルドレベル(0V)での波形を図8に、変更後のスレッショルドレベル(+4V)での波形を図9に示します。
画面上側のオシロスコープでの波形で、トリガがかかるタイミングの電圧が違っていることが確認できます。

0V時点でHiに切り替わっていることが分かります
図8. シリアル通信の波形(スレッショルドレベル0V)

+4V時点でHiに切り替わっていることが分かります
図9. シリアル通信の波形(スレッショルドレベル+4V)

4. メリットとデメリット

ロジックアナライザを使用するメリットとデメリットを紹介します。

メリット
  • 非周期的な複数の信号を同時に取得できる。
  • HiとLoの単純な波形でロジックを解析できる。
  • 多数のチャネルを使用可能。
  • 複雑なトリガをかけて、波形を取得することが可能。
デメリット
  • 電圧をスレッショルドレベルから上か下かのHiかLoでしか認識出来ない。
  • その為、ノイズなのか、論理的にHi/Loが出力されているのかが確認出来ない場合がある。
    (図10)

→このような場合には、オシロスコープで測定し、何の波形なのか確認する必要があります。

ノイズの部分で、0Vと5Vが交互に切り替えられているような波形になります
図10. ノイズを出力する場合の波形例

5. まとめ

組み込み系の開発において、ロジックアナライザを使用してデバッグ、テストを行うのは、必須であると言えます。
今回は、シリアル通信の出力端子の波形を取得するという、基本的な使用方法を紹介しました。
この他にも、データバス信号をまとめて確認するなど、用途はいろいろあります。

ただし、実際にロジックアナライザを使用する場合のメリットとデメリットをしっかりと認識し、デバッグやトラブルなどの解析時に、用途に合った測定機器を選定する必要があります。

以上、本文書が、ロジックアナライザを使用する方の参考になれば幸いです。

(Y.S.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ