(57)【特許請求の範囲】
【請求項１】
シリアルバスを介して伝送されるデータの波形を測定する波形測定装置において、
前記データのビットレートを検出するビットレート検出手段と、
前記データに関する信号数を検出する入力信号検出手段、前記データに関するクロック信号を検出するクロック検出手段、及び前記データの極性を検出する極性検出手段の少なくとも１つと、
前記ビットレート検出手段の検出結果に加えて、前記入力信号検出手段、前記クロック検出手段、及び前記極性検出手段の検出結果の少なくとも１つに基づいて、前記シリアルバスの種類を判定する判定手段と
を備えることを特徴とする波形測定装置。
【請求項２】
前記データに含まれる特定パターンを検出するパターン検出手段を備えており、
前記判定手段は、前記パターン検出手段の検出結果も加味して前記シリアルバスの種類を判定することを特徴とする請求項１記載の波形測定装置。
【請求項３】
前記ビットレート検出手段は、前記データの立ち上がりエッジと立ち下がりエッジとのエッジ位置をそれぞれ求め、当該エッジ位置の最短時間間隔から前記ビットレートを検出することを特徴とする請求項１又は請求項２記載の波形測定装置。
【請求項４】
前記クロック検出手段は、前記データのデューティ比に関するヒストグラムを求め、当該ヒストグラムの平均値及び標準偏差の少なくとも一方を用いて前記クロック信号の有無を検出することを特徴とする請求項１又は請求項２記載の波形測定装置。
【請求項５】
前記極性検出手段は、前記データの電圧レベルに関するヒストグラムを求め、当該ヒストグラムの分布に基づいて前記データの極性を検出することを特徴とする請求項１又は請求項２記載の波形測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルバスを介して伝送されるデータの波形を測定する波形測定装置に関する。
【背景技術】
【０００２】
デジタルオシロスコープ等の波形測定装置は、被測定信号の信号波形等を測定してその測定結果（信号波形等）を表示する装置であり、シリアルバスを介して伝送されるデータを測定する場合にも用いられる。近年において、波形測定装置は多機能化が進められており、単に測定結果を表示するのみならず、シリアルバスを介して伝送されるデータのプロトコルを解析する解析機能を備えるものがある。また、被測定信号の電圧ピーク値や周波数に基づいて自動的に表示画面の縦軸（例えば、信号レベルの軸）及び横軸（例えば、時間軸）のスケール（レンジ）を自動的に設定する自動設定機能（所謂オートセットアップ機能）を備えるものも多くなっている。
【０００３】
以下の特許文献１には、シリアルバスを介して伝送されるデータの波形歪やＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）エラー情報等を解析し、その解析結果を表示するデータ解析装置が開示されている。また、以下の特許文献２，３には、表示画面の縦軸及び横軸のスケールを自動設定する技術が開示されてる、
【特許文献１】特開２００２−１４８２８３号公報
【特許文献２】特開平６−２１３９３３号公報
【特許文献３】特開平１１−１６１５２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、被測定信号の波形を波形測定装置の表示画面に表示する場合において、上述したオートセットアップ機能を有効にすれば、表示画面の縦軸及び横軸のスケール（レンジ）の設定が自動的に行われる。このため、ユーザが手動で表示画面の縦軸及び横軸のスケールの設定を行わなくとも被測定信号に応じた適当なスケールが自動的に設定され、これにより適当な被測定信号の波形が表示画面に表示される。
【０００５】
しかしながら、波形測定装置を用いてシリアルバスを解析する場合においては、測定対象のシリアルバスの種類に応じた初期設定をユーザが手動で行うことが必須となる。ここで、シリアルバスを解析するために必要な設定項目は、波形測定装置に設けられた設定メニューから設定しなければならないため、ユーザが設定メニューを熟知している必要がある。また、シリアルバスを解析するために必要な設定項目は、シリアルバスの種類に応じて多数あるため、初期設定に長時間を要するとともに煩雑な操作が必要になり、利便性が高いとは言えない状況にある。
【０００６】
本発明は上記事情に鑑みてなされたものであり、シリアルバスを解析する際に必要な初期設定を自動化することにより、ユーザの利便性を高めることができる波形測定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の波形測定装置は、シリアルバスを介して伝送されるデータの波形を測定する波形測定装置（１）において、前記データのビットレートを検出するビットレート検出手段（２２）と、前記データに関する信号数を検出する入力信号検出手段（２３）、前記データに関するクロック信号を検出するクロック検出手段（２４）、及び前記データの極性を検出する極性検出手段（２５）の少なくとも１つと、前記ビットレート検出手段の検出結果に加えて、前記入力信号検出手段、前記クロック検出手段、及び前記極性検出手段の検出結果の少なくとも１つに基づいて、前記シリアルバスの種類を判定する判定手段（２７）とを備えることを特徴としている。
この発明によると、シリアルバスを介して伝送されるデータのビットレートがビットレート検出手段で検出され、データに関する信号数、データに関するクロック信号、及びデータの極性の少なくとも１つが入力信号検出手段、クロック検出手段、及び極性検出手段の少なくとも１つで検出され、ビットレート検出手段の検出結果に加えて、入力信号検出手段、クロック検出手段、及び極性検出手段の検出結果の少なくとも１つに基づいて判定手段でシリアルバスの種類が判定される。
また、本発明の波形測定装置は、前記データに含まれる特定パターンを検出するパターン検出手段（２６）を備えており、前記判定手段は、前記パターン検出手段の検出結果も加味して前記シリアルバスの種類を判定することを特徴としている。
また、本発明の波形測定装置は、前記ビットレート検出手段が、前記データの立ち上がりエッジと立ち下がりエッジとのエッジ位置をそれぞれ求め、当該エッジ位置の最短時間間隔から前記ビットレートを検出することを特徴としている。
また、本発明の波形測定装置は、前記クロック検出手段が、前記データのデューティ比に関するヒストグラムを求め、当該ヒストグラムの平均値及び標準偏差の少なくとも一方を用いて前記クロック信号の有無を検出することを特徴としている。
更に、本発明の波形測定装置は、前記極性検出手段が、前記データの電圧レベルに関するヒストグラムを求め、当該ヒストグラムの分布に基づいて前記データの極性を検出することを特徴としている。
【発明の効果】
【０００８】
本発明によれば、シリアルバスを介して伝送されるデータのビットレートを検出し、データに関する信号数、データに関するクロック信号、及びデータの極性の少なくとも１つを検出し、ビットレートの検出結果に加えて、データに関するクロック信号、及びデータの極性の検出結果の少なくとも１つに基づいてシリアルバスの種類を判定しているため、ユーザが煩雑な操作を行わなくともシリアルバスを解析する際に必要なシリアルバスの種類に応じた初期設定を自動化でき、ユーザの利便性を高めることができるという効果がある。また、シリアルバスの解析を行う際に必要であったユーザによる煩雑な操作を省くことができるため、シリアルバスの解析に要する時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の一実施形態による波形測定装置について詳細に説明する。図１は、本発明の一実施形態による波形測定装置の正面図である。図１に示す通り、本実施形態の波形測定装置１は、その正面に入力端子部２、操作キー部３、及びディスプレイ４を備えており、入力端子部２から入力される被測定信号を測定し、その測定結果（信号波形等）をディスプレイ４に表示する。また、本実施形態の波形測定装置１は、シリアルバスを介して伝送されるデータのプロトコルを解析する解析機能を備えており、その解析結果もディスプレイ４に表示する。
【００１０】
入力端子部２は複数の入力端子２ａを備えており、各々の入力端子２ａには必要に応じてプローブが接続される。本実施形態においては、入力端子部２に設けられた入力端子２ａの１つに接続された１つのプローブ、又は複数の入力端子２ａの各々に接続された複数のプローブの先端が、シリアルバスに電気的に接続されるものとする。尚、シリアルバスに電位的に接続されるプローブの数は、シリアルバスの種類に応じて変化する。操作キー部３は、ユーザの指示を波形測定装置１に入力するためのものであり、ユーザによって操作される複数のプッシュボタン３ａ、ロータリーノブ３ｂ、初期設定ボタン３ｃ等を備えている。
【００１１】
ディスプレイ４は、例えば液晶表示装置又はＣＲＴ（Cathode Ray Tube）であり、測定した波形データ、波形データを波形解析して得られたデータ値、プロトコルの解析結果等の各種データを表示する。尚、ユーザが操作キー部３に対して所定の操作を行うことにより、ディスプレイ４の表示内容を切り替えることができる。尚、ディスプレイ４の表面にはタッチパネルが設けられており、ユーザがディスプレイの表面を押圧することによって、その操作内容に応じた指示を入力することができる。
【００１２】
図２は、本発明の一実施形態による波形測定装置の要部構成を示すブロック図である。図２に示す通り、本実施形態の波形測定装置１は、プリアンプ１１、Ａ／Ｄ変換部１２、データ処理部１３、波形データメモリ１４、制御部１５、メモリ１６、操作部１７、表示処理部１８、及び表示部１９を備える。
【００１３】
プリアンプ１１は、図１に示す入力端子部２に設けられた入力端子２ａの何れかである入力端子ＴＭ１から入力される信号を所定の増幅率で増幅する。Ａ／Ｄ変換部１２は、プリアンプ１１で増幅された信号に対して標本化及び量子化を行って二値化し、ディジタル信号である波形データに変換する。尚、プリアンプ１１及びＡ／Ｄ変換部１２は図１に示した入力端子２ａの数（入力チャネル数）に応じた数だけ設けられているが、図２においては１つのみを図示している。また、プリアンプ１１の増幅率及びＡ／Ｄ変換部１２のサンプリングレート等は制御部１５によって制御される。
【００１４】
データ処理部１３は、制御部１５の制御の下で、Ａ／Ｄ変換部１２から出力される波形データ、又は波形データメモリ１４から読み出した波形データに対して所定のデータ処理を行う。具体的には、制御部１５の制御の下で、波形データメモリ１４に対して波形データの読み出し処理及び書き込み処理を行う。また、制御部１５の制御の下で、波形データの立ち上がりエッジや立ち下がりエッジのエッジ位置を検出する処理も行う。
【００１５】
更に、データ処理部１３は、制御部１５の制御の下で、波形データメモリ１４から読み出した波形データに対してシリアルバスの種類に応じた波形解析を行ってデータ値を求める。具体的には、シリアルバスを介して伝送されるデータを、その大きな区切りであるフレーム毎に切り出し、フレーム内におけるビットの並び（値「０」と「１」との並び）に応じたデータ値を求める。ここで、波形解析により得られるデータ値としては、例えばシリアルバスに接続された機器の種別を示す識別子であるＩＤ、機器から出力されるデータの種別を示す識別子であるＩＤ、機器から出力されるデータの値等がある。波形データメモリ１４は、データ処理部１３によって書き込まれる波形データを記憶するＲＡＭ（Random Access Memory）等のメモリ（アクイジションメモリ）である。
【００１６】
制御部１５は、前述したデータ処理部１３で行われるデータ処理、プリアンプ１１の増幅率やＡ／Ｄ変換部１２のサンプリングレートの制御、表示処理部１８で行われる表示処理等を制御することにより波形測定装置１の動作を統括的に制御する。この制御部１５は、初期条件設定部２１、ビットレート検出部２２（ビットレート検出手段）、入力信号検出部２３（入力信号検出手段）、クロック検出部２４（クロック検出手段）、バス信号検出部２５（極性検出手段）、パターン検出部２６（パターン検出手段）、及び判定部２７（判定手段）を備える。
【００１７】
初期条件設定部２１は、ユーザによって、バス自動設定（シリアルバスの解析に必要な初期設定を自動化する設定）の指示がなされた場合に、バス自動設定を行うために最低限必要な初期条件を設定する。具体的には、入力チャネルの全てをオン状態（入力可能状態）に設定し、所定の基準ビットレート（例えば、１０Ｍｂｐｓ（bit per second））の信号に対して１ビット当たり十数点でアクイジションが可能なように、取り込み時間（時間軸）、その取り込み時間内における取り込み点数（レコード長）、及びトリガ条件、アクイジションモードを設定する。
【００１８】
ビットレート検出部２２は、データ処理部１３を制御して波形データメモリ１４に記憶された波形データに対して立ち上がりエッジ及び立ち下がりエッジのエッジ位置を検出させ、その検出結果を用いて入力端子ＴＭ１から入力されたデータのビットレートを算出する。図３は、ビットレート検出部２２で行われる処理を説明するための図である。図３において、時刻ｔ１，ｔ３，ｔ５，…は波形データの立ち上がりエッジのエッジ位置であり、時刻ｔ２，ｔ４，ｔ６，…は波形データの立ち下がりエッジのエッジ位置である。
【００１９】
ビットレート検出部２２は、データ処理部１３で得られた立ち上がりエッジのエッジ位置と立ち下がりエッジのエッジ位置との時間間隔を求め（図３中の時間間隔Ｔ１〜Ｔ３）、次いでこの時間間隔の中から最短時間間隔（図３中の時間間隔Ｔ２）を求め、最後に最短時間間隔の逆数を求めてこれをビットレートとする。例えば、図３中の最短時間間隔Ｔ２が１μｓｅｃである場合には、ビットレートは１Ｍｂｐｓになる。
【００２０】
入力信号検出部２３は、シリアルバスを介して伝送されるデータに関する信号数（チャネル数）を検出する。例えば、シリアルバスの一種であるＳＰＩ（登録商標）（Serial Peripheral Interface）バスやＩ２Ｃ（登録商標）（Inter-Integrated Circuit）バスにおいては、データ以外にＣＳ信号（チップセレクト信号）が用いられている。入力信号検出部２３はこのようなデータに関する信号が、データが入力される入力端子２ａ以外の入力端子２ａから入力されているか否かを検出する。信号の有無は、例えば入力される信号の電圧値の最大ピーク値と最小ピーク値との差が所定の電圧値以上であるか否かにより検出する。
【００２１】
クロック検出部２４は、シリアルバスを介して伝送されるデータに関するクロック信号を検出する。具体的には、データ処理部１３を制御して波形データメモリ１４に記憶された入力チャネル毎の波形データのデューティ比に関するヒストグラムを求め、このヒストグラムの平均値及び標準偏差の少なくとも一方を用いてクロック信号の有無を検出する。図４は、クロック検出部２４で行われる処理を説明するための図である。
【００２２】
図４（ａ）に示す通り、クロック信号は一定の周波数を有する信号であるとともにデューティ比が一定の信号である。このクロック信号のデューティ比に関するヒストグラムを求めると、図４（ａ）に示す通り、あるデューティ比ＤＲ１の頻度が突出して高く、デューティ比ＤＲ１以外のデューティ比では頻度が極端に小さくなってバラツキの小さなヒストグラムが得られる。例えば、クロック信号のデューティ比が３０％であるとすると、ヒストグラムの平均値はクロック信号のデューティ比に近い値になり、標準偏差σは数％以下になる。
【００２３】
これに対し、図４（ｂ）に示す通り、データはその値に応じてデューティ比が頻繁に変化する信号である。このデータのデューティ比に関するヒストグラムを求めると、図４（ｂ）に示す通り、特定のデューティ比の頻度が突出して高くなる訳ではなく、様々なデューティ比である程度の頻度をとり、分布が広がってバラツキが大きくなる。例えば、ヒストグラムの平均値はクロック信号のデューティ比から大きく異なった値になり、標準偏差σも数十％と大きくなる。
【００２４】
クロック検出部２４は、図４（ａ）に示す通り、デューティ比の平均値がクロック信号のデューティ比とほぼ一致し、且つ標準偏差が小さな場合（例えば、５％以下）である場合にはクロック信号であると検出する。これに対し、図４（ｂ）に示す通り、デューティ比の平均値がクロック信号のデューティ比と大きく相違し（例えば、１０％以上相違）、、且つ標準偏差が大きな場合（例えば、１０％以上）である場合にはデータであると検出する。尚、クロック信号を検出するにあたっては、デューティ比のヒストグラムの平均値のみ、又は標準偏差のみを用いても良い。
【００２５】
バス信号検出部２５は、入力されている信号がバス信号であるか否かを検出する。具体的には、データ処理部１３を制御して波形データメモリ１４に記憶されたデータに関する波形データの電圧値（電圧レベル）のヒストグラムを求め、このヒストグラムの分布に基づいてバス信号を検出する。また、バス信号検出部２５は、入力されている信号がバス信号である場合には、その極性を検出することもできる。
【００２６】
図５は、バス信号検出部２５で行われる処理を説明するための図である。入力される信号がバス信号であるとすると、その波形は図５に示す通り矩形波状になる。また、バス信号の極性が負極性であるとすると、データが送信されない場合には電圧値Ｖ１であるが、データが送信されるときには電圧値がより低い電圧値Ｖ２に変化する。このような波形データの電圧値のヒストグラムを求めると、図５に示す通り、電圧値Ｖ１，Ｖ２で頻度が突出するヒストグラムが得られる。
【００２７】
バス信号検出部２５は、ヒストグラムの分布が電圧値Ｖ１，Ｖ２の２箇所に集中していればバス信号を検出し、ヒストグラムの分布が電圧値Ｖ１，Ｖ２の何れに集中しているかによってデータの極性を検出する。図５に示す例においては、ヒストグラムの分布が電圧値Ｖ１，Ｖ２の２箇所に集中しているとともに、電圧Ｖ１の頻度が電圧Ｖ２の頻度よりも突出して高いため、バス信号検出部２５は負極性のバス信号を検出する。尚、入力される信号の種類によっては、電圧値Ｖ１，Ｖ２に対するヒストグラムの分布の集中度が同程度になる場合も考えられる。かかる場合には、各々の分布の標準偏差や分散から分布のバラツキ具合を考慮したり、各々の分布の重なり具合を考慮してバス信号及び極性を検出するのが望ましい。
【００２８】
パターン検出部２６は、シリアルバスを介して伝送されるデータに含まれる特定のパターンを検出する。ここで、被測定対象のシリアルバスがＣＡＮ（Controller Area Network）バスである場合には、シリアルバスを介して伝送されるデータは、データフレーム、リモートフレーム等のフレームを単位としたデータである。図６は、ＣＡＮバスで用いられるデータフレームの構成を示す図である。図６に示す通り、データフレームは、フレーム先頭から１ビットのＳＯＦ（スタート・オブ・フレーム）フィールドＦ１、１２ビットのアービトレーションフィールドＦ２、６ビットのコントロールフィールドＦ３、０〜６４ビットのデータフィールドＦ４、１６ビットのＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）フィールドＦ５、２ビットのＡＣＫ（ACKnowledge）フィールドＦ６、及び７ビットのＥＯＦ（エンド・オブ・フレーム）フィールドＦ７の７つのフィールドから構成される。
【００２９】
上記のＳＯＦフィールドＦ１は値が「１」にされている。また、アービトレーションフィールドＦ２の最後の１ビットは値が「１」のＲＴＲビットにされており、更に、コントロールフィールドＦ３の先頭２ビットは値が「１」のＩＤＥビット及びＲＢ０ビットにそれぞれされている。このため、図６に示すデータフレームは、先頭に値「１」のビットが必ず現れ、その後１３ビット目から３ビット連続して値「１」のビットが必ず現れる。パターン検出部２６は、このようなデータに含まれる特定のパターンを検出する。
【００３０】
判定部２７は、少なくとも上述したビットレート検出部２２の検出結果に基づいてシリアルバスの種類を判定する。ここで、判定部２７は、ビットレート検出部２２の検出結果に加えて、入力信号検出部２３、クロック検出部２４、及びバス信号検出部２５の検出結果の少なくとも１つに基づいてシリアルバスの種類を判定することもできる。更には、上述したパターン検出部２６の検出結果も加味してシリアルバスの種類を判定することも可能である。また、判定部２７はペア信号（詳細は後述する）の割り出し結果に基づいてシリアルバスの種類を判定する。
【００３１】
メモリ１６は、制御部１５で行われる各種信号処理で用いられる一時的なデータ（ワークデータ）等を記憶する。このメモリ１６としては、ＲＡＭ（Random Access Memory）等の揮発性のメモリを用いることができる。操作部１７は、図１に示す操作キー部３を備えており、ユーザの指示を制御部１５に入力するものである。表示処理部１８は、制御部１５の制御の下で、表示部１９に表示させる表示内容の制御を行う。例えば、制御部１５から波形データが出力された場合には、その波形データを表示部１９に表示させる。また、波形データに加えてデータ値が出力された場合には、波形データに加えてデータ値及びデータ値リストを表示させる。ここで、表示処理部１８は、制御部１５の判定部２７で判定されたシリアルバスの種類に適した形式で波形データ等を表示する処理を行う。表示部１９は、図１に示すディスプレイ４を備えており、表示処理部１８で処理された波形データ等の各種データを表示する。
【００３２】
次に、波形測定装置１の動作について説明する。尚、以下の説明では、測定対象であるシリアルバスが、上述したＳＰＩバス、Ｉ２Ｃバス、及びＣＡＮバスに加えてＦｌｅｘＲａｙ（登録商標）バス及びＬＩＮ（Local Interconnect Network）バスである場合を例に挙げて説明する。図７は、波形測定装置１で行われるバス自動設定の処理を示すフローチャートである。波形測定にあたり、ユーザは図１に示す波形測定装置１の入力端子２ａの少なくとも１つにプローブを接続し、このプローブの先端を測定対象のシリアルバスに接続する。次いで、ユーザが操作キー部３に設けられた初期設定ボタン３ｃを押圧するとディスプレイ４にメニュー画面が操作され、そのメニュー画面内のバス自動設定ボタン（オートボタン）をタッチすることで、図７に示すバス自動設定処理が開始される。
【００３３】
バス自動設定処理が開始されると、制御部１５の初期条件設定部２１によって、バス自動設定を行うために最低限必要な初期条件が設定される（ステップＳ１１）。具体的には、入力チャネルの全てがオン状態（入力可能状態）に設定され、例えばディスプレイ４の横軸（時間軸）のスケールが５ｍｓｅｃ／ｄｉｖに設定され、レコード長が６２５万点（６．２５Ｍ）点に設定される。尚、トリガ条件及びアクイジションモードについても適当な設定が自動的になされる。
【００３４】
初期条件の設定が終了すると、入力端子ＴＭ１から入力された信号がプリアンプ１１で増幅された後、Ａ／Ｄ変換器１２においてステップＳ１１で設定された初期条件に応じたサンプリングレートでサンプリングされて波形データに変換されて波形データメモリ１４に記憶される。尚、複数の入力チャネルが存在する場合には、各々の入力チャネルで波形データへの変換が行われる。
【００３５】
次に、制御部１５の入力信号検出部２３で入力チャネルの検出が行われる（ステップＳ１２）。具体的には、まず入力信号検出部２３の制御の下でデータ処理部１３において各入力チャネル毎の信号の電圧値の最大ピーク値と最小ピーク値とが求められる。次に、入力チャネル毎の電圧値の最大ピーク値と最小ピーク値との差が入力信号検出部２３で算出され、この差が予め設定された所定の電圧値以上である入力チャネルの数が検出される。尚、電圧値の最大ピーク値と最小ピーク値との差が閾値よりも小さな入力チャネルは、入力信号検出部２３によりオフ状態（入力不可能状態）に設定される。また、制御部１５は、ここで求められた電圧値の最大ピーク値と最小ピーク値を用いてディスプレイ４の縦軸（信号レベルの軸）のスケールを設定する。
【００３６】
次いで、制御部１５のバス信号検出部２５でバス信号の検出が行われる（ステップＳ１３）。具体的には、バス信号検出部２５によるデータ処理部１３の制御の下で、波形データメモリ１４に記憶されたデータに関する波形データの電圧値（電圧レベル）のヒストグラム（図５参照）を求め、このヒストグラムの分布に基づいてバス信号及びその極性が検出される。次に、制御部１５のクロック検出部２４でクロック信号の検出が行われる（ステップＳ１４）。具体的には、データ処理部１３を制御して波形データメモリ１４に記憶された入力チャネル毎の波形データのデューティ比に関するヒストグラム（図４参照）を求め、このヒストグラムの平均値及び標準偏差の少なくとも一方を用いてクロック信号の有無を検出する。
【００３７】
次に、制御部１５のビットレート検出部２２でシリアルバスを介して伝送されるデータのビットレートが求められる（ステップＳ１５）。具体的には、まずビットレート検出部２２の制御の下で、データ処理部１３において波形データメモリ１４に記憶された波形データの立ち上がりエッジ及び立ち下がりエッジのエッジ位置が検出される。次いで、データ処理部１３で検出された立ち上がりエッジのエッジ位置と立ち下がりエッジのエッジ位置との時間間隔がビットレート検出部２２で求められる。そして、この時間間隔の中の最短時間間隔の逆数が求められることによりビットレートが検出される。
【００３８】
以上の処理が終了すると、制御部１５の判定部２７でシリアルバスの種類を判定する処理が行われる（ステップＳ１６）。図８はシリアルバスの種類を判定する判定処理を示すフローチャートであり、図９はシリアルバスの種類の判定基準を示す図表である。判定処理が開始されると、まずクロック検出部２４でクロック信号が検出されたか否かが判定部２７で判断される（ステップＳ２１）。ここで、図９を参照すると、クロック信号の有無により、Ｉ２Ｃバス、ＳＰＩバスからなる第１候補と、ＬＩＮバス、ＣＡＮバス、ＦｌｅｘＲａｙバスからなる第２候補に区分することができる。
【００３９】
ステップＳ２１でクロック信号が検出されていないと判断した場合（判断結果が「ＮＯ」の場合）には、判定部２７はビットレート検出部２２の検出結果に基づいてシリアルバスの種類を判定する（ステップＳ２２）。ここで、ＬＩＮバス、ＣＡＮバス、ＦｌｅｘＲａｙバスからなる第２候補のビットレートは、図９に示す通り、上下限値が重ならないように規格で定まっている。このため、判定部２７は、ビットレート検出部２２で検出されたビットレートを用いればＬＩＮバス、ＣＡＮバス、及びＦｌｅｘＲａｙバスの何れかを判定することができる。
【００４０】
また、図９を参照すると、第２候補のうちのＬＩＮバス及びＦｌｅｘＲａｙバスについては極性が正極である。このため、判定部２７は、ビットレート検出部２２の検出結果のみに基づいて判定されたＬＩＮバス又はＦｌｅｘＲａｙバスの正否を、バス信号検出部２５の極性検出結果に基づいて確認することができる。尚、ビットレートに基づいた判定結果と極性検出結果を用いた判定結果とが相違する場合には、判定部２７はシリアルバスの判定結果を「不定」とする。
【００４１】
一方、ステップＳ２１でクロック信号が検出されたと判断した場合（判断結果が「ＹＥＳ」の場合）には、判定部２７はペア信号の割り出しを行う（ステップＳ２３）。ここで、ペア信号とはクロック信号に対応したデータやＣＳ信号等をいう。図９を参照すると、第１候補をなすＩ２Ｃバス、ＳＰＩバスの双方はクロック信号を有している。このため、これらのバスにおいてはクロック信号とともにデータやＣＳ信号が同期歩調方式で伝送されることになりペア信号が存在する。
【００４２】
判定部２７による具体的なペア信号の割り出し方法は、ビットレート検出部２２で検出された各入力チャネルのビットレートが互いに関連しているか、又はメッセージ間のアイドル区間の位置が同期しているか等を考慮する。ビットレートが互いに関連しているかは、例えばＩ２Ｃバスについては、クロック信号のビットレートが１００ｋｂｐｓであってデータのビットレートがクロック信号のビットレートの半分である５０ｋｂｐｓであるかにより判断される。また、アイドル区間の位置が同期しているかは、例えば立ち上がりエッジ及び立ち下がりエッジのエッジ位置がほぼ一致しているかにより判断される。
【００４３】
ペア信号の割り出しを終えると、判定部２７はステップＳ２３で割り出したペア信号を用いてシリアルバスの種類が、第１候補をなすＩ２Ｃバス、ＳＰＩバスの何れであるかを判定する（ステップＳ２４）。尚、判定部２７は、まずＩ２Ｃバスであるか否かを判定し、次いでＳＰＩバスであるか否かを判定する。以下、Ｉ２Ｃバス及びＳＰＩバスの判定方法について順に説明する。
【００４４】
〈Ｉ２Ｃバスの判定方法〉
図１０は、Ｉ２Ｃバスにおけるシリアルデータ（ＳＤＡ）及びシリアルクロック（ＳＣＬ）のタイミングチャートである。図１０に示す通り、Ｉ２Ｃバスでは、シリアルデータ（ＳＤＡ）のスタートバイト及びデータバイトがそれぞれシリアルクロック（ＳＣＬ）の９ビット分に割り当てられている。このため、１メッセージ内に存在するシリアルクロック（ＳＣＬ）の立ち上がりエッジ数は、メッセージ最後尾のストップコンディションの１ビットを加えると、９ｎ＋１（ｎは１以上の整数）になる。
【００４５】
図１１は、Ｉ２Ｃバスのメッセージ送信時における開始条件（スタート）及び終了条件（エンド）を示すタイミングチャートである。図９に示す通り、メッセージの開始条件は、シリアルデータ（ＳＤＡ）が「Ｌ（ロー）」レベルに遷移した後にシリアルクロック（ＳＣＬ）が「Ｌ」レベルに遷移することで満たされる。これに対し、メッセージの終了条件は、シリアルクロック（ＳＣＬ）が「Ｈ（ハイ）」レベルに遷移した後にシリアルデータ（ＳＤＡ）が「Ｈ」レベルに遷移することで満たされる。よって、判定部２７は、メッセージ内の立ち上がりエッジ数が９ｎ＋１であり、且つメッセージの送信時における開始条件及び終了条件が満たされているか否かによって、シリアルバスの種類がＩ２Ｃバスであるか否かを判定する。
【００４６】
〈ＳＰＩバスの判定方法〉
図１２は、ＳＰＩバスにおけるクロック（ＣＬＫ）、データ（Ｄａｔａ１，Ｄａｔａ２）、及びチップセレクト信号（ＣＳ）のタイミングチャートである。ＳＰＩバスにおいては、マスタとなるデバイスとスレーブとなる少なくとも１つのデバイスとが接続されており、スレーブとなるデバイスを選択するチップセレクト信号（ＣＳ）マスタとなるデバイスによって生成される。図１２に示す通り、ＳＰＩバスにおいては、チップセレクト信号（ＣＳ）のレベル変化の時間がクロック（ＣＬＫ）の１バイト分の時間幅の整数倍である。このため、判定部２７は、チップセレクト信号（ＣＳ）のレベル変化の時間に基づいてチップセレクト信号（ＣＳ）の有無を判断することにより、ＳＰＩバスであるか否かを判定する。
【００４７】
尚、Ｉ２Ｃバスでは、マスタとなるデバイスがアドレスを指定してスレーブとなるデバイスを呼び出すためにチップセレクト信号は存在しない。よって、チップセレクト信号（ＣＳ）の有無からシリアルバスがＳＰＩバスであるのか又はＩ２Ｃバスであるのかを判定することができる。尚、上述したＩ２Ｃバスの判定条件及びＳＰＩバスの判定条件の何れも満たされない場合には、判定部２７はシリアルバスの判定結果を「不定」とする。
【００４８】
以上の処理が終了すると、判定部２７は、他の入力チャネルの有無を判断する（ステップＳ２５）。他の入力チャネルがあると判断した場合（判断結果が「ＹＥＳ」の場合）には、ステップＳ２１の処理に戻り、他の入力チャネルが無いと判断した場合（判断結果が「ＮＯ」の場合）には、シリアルバスの種類を判定する判定処理が終了する。以上の処理が終了すると、判定処理で判定されたシリアルバスの種類に適した時間軸の設定が制御部１５で行われる（ステップＳ１７）。この時間軸の設定は、データの少なくとも１メッセージがディスプレイ４に表示されるように行うのが望ましい。具体的には、制御部１５は、各シリアルバスの規格における１メッセージ中の最大ビット数と最小ビット数とから時間軸のスケールを設定する。
【００４９】
例えば、ＣＡＮバスでは、最大ビットレートは１Ｍｂｐｓ（ビットタイムに換算すると１μｓｅｃ）であり、１メッセージ中の最大ビット数は１２６ビットであることから、１メッセージを計測するために必要な時間は１２６μｓｅｃになる。よって、制御部１５は、少なくとも時間１２６μｓｅｃ分の波形がディスプレイ４に表示されるよう時間軸のスケールを設定する。尚、複数種類のシリアルバスが判定された場合には、１メッセージの時間が最も長いものの波形がディスプレイ４に表示されるように時間軸のスケールを設定する。以上説明した一連の処理によってバス自動設定処理が終了し、ユーザがシリアルバスの種類に応じた煩雑な初期設定を行わずとも、シリアルバスの種類が自動的に解析されて、シリアルバスの種類に適した表示が行われる。
【００５０】
以上の通り、本実施形態の波形測定装置１は、シリアルバスを介して伝送されるデータ等のビットレートを検出し、少なくともビットレートの検出結果に基づいてシリアルバスの種類を判定しており、ユーザが煩雑な操作を行わなくともシリアルバスを解析する際に必要な初期設定が自動的に行われてシリアルバスの種類に適した表示が行われるため、ユーザの利便性を高めることができる。また、シリアルバスの解析を行う際に必要であったユーザによる煩雑な操作を省くことができるため、シリアルバスの解析に要する時間を短縮することができる。
【００５１】
以上、本発明の一実施形態による波形測定装置について説明したが、本発明は上記実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、測定対象のシリアルバスが、ＳＰＩバス、Ｉ２Ｃバス、ＣＡＮバス、ＦｌｅｘＲａｙバス、及びＬＩＮバスである場合を例に挙げて説明したが、これら以外にもＭＯＳＴ（Media Oriented. Systems Transport）バス、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４バス、ＰＣＩＥｘｐｒｅｓｓ（登録商標）バス等の各種シリアルバスを測定する場合にも本発明の波形測定装置を用いることができる。
【００５２】
また、上述した実施形態では、第２候補をなすＬＩＮバス、ＣＡＮバス、及びＦｌｅｘＲａｙバスを判別する処理（図８中のステップＳ２２）では、ビットレートの上下限値が重ならないことを利用した。ビットレートの上下限値が重なることがある場合には、パターン検出部２６の検出結果を用いて（加味して）判別を行っても良い。例えば、図６に示す通り、データフレームの先頭に値「１」のビットが現れ、その後１３ビット目から３ビット連続して値「１」のビットが現れる場合には、ＣＡＮバスと判定することができる。
【００５３】
また、上記実施形態において、制御部１５に設けられた初期条件設定部２１、ビットレート検出部２２、入力信号検出部２３、クロック検出部２４、バス信号検出部２５、パターン検出部２６、及び判定部２７はハードウェアで実現してもよく、ソフトウェアにより実現しても良い。ソフトウェアにより実現する場合には、制御部１５をＣＰＵ（中央処理装置）で構成し、上記の各部の機能を実現するプログラムをＣＰＵに実行させることによって実現される。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態による波形測定装置の正面図である。
【図２】本発明の一実施形態による波形測定装置の要部構成を示すブロック図である。
【図３】ビットレート検出部２２で行われる処理を説明するための図である。
【図４】クロック検出部２４で行われる処理を説明するための図である。
【図５】バス信号検出部２５で行われる処理を説明するための図である。
【図６】ＣＡＮバスで用いられるデータフレームの構成を示す図である。
【図７】波形測定装置１で行われるバス自動設定の処理を示すフローチャートである。
【図８】シリアルバスの種類を判定する判定処理を示すフローチャートである。
【図９】シリアルバスの種類の判定基準を示す図表である。
【図１０】Ｉ２Ｃバスにおけるシリアルデータ及びシリアルクロックのタイミングチャートである。
【図１１】Ｉ２Ｃバスのメッセージ送信時における開始条件（スタート）及び終了条件（エンド）を示すタイミングチャートである。
【図１２】ＳＰＩバスにおけるクロック、データ、及びチップセレクト信号のタイミングチャートである。
【符号の説明】
【００５５】
１      波形測定装置
２２    ビットレート検出部
２３    入力信号検出部
２４    クロック検出部
２５    バス信号検出部
２６    パターン検出部
２７    判定部
【図１】
0005125363.tif 000002
【図２】
0005125363.tif 000003
【図３】
0005125363.tif 000004
【図４】
0005125363.tif 000005
【図５】
0005125363.tif 000006
【図６】
0005125363.tif 000007
【図７】
0005125363.tif 000008
【図８】
0005125363.tif 000009
【図９】
0005125363.tif 000010
【図１０】
0005125363.tif 000011
【図１１】
0005125363.tif 000012
【図１２】
0005125363.tif 000013