(57)【要約】  【課題】  ＳＤＩＯカードシステム開発のスピードアップを図る開発支援ツールを提供する。  【解決手段】  プラットホームとなるオペーレーティングシステムを備えたコンピュータ（１１）とＳＤＩＯホストを有するホストボード（１３）とが、バスを経由して接続されたハードウエア構成と、前記オペレーティングシステム上で動作するソフトウエアであって、前記前記ＳＤホストに対するコマンド生成・コマンド分析・コマンドトレース・デバッグ及びこれらを記述するスクリプト言語機能を備えたＳＤＩＯテストプログラム（ＳＤ−ＩＤＥ）とを含むように構成する。【選択図】        図１
2004227588.tif 000002
【特許請求の範囲】
【請求項１】
プラットホームとなるオペーレーティングシステムを備えたコンピュータ（１１）とＳＤＩＯホストを有するホストボード（１３）とが、バスを経由して接続されたハードウエア構成と、前記オペレーティングシステム上で動作するソフトウエアであって、前記前記ＳＤホストに対するコマンド生成・コマンド分析・コマンドトレース・デバッグ及びこれらを記述するスクリプト言語機能を備えたＳＤＩＯテストプログラム（ＳＤ−ＩＤＥ）とを含んでいることを特徴とするＳＤＩＯカード開発支援システム。
【請求項２】
前記ＳＤＩＯホストにＳＤバスを介して接続することのできるＳＤＩＯポートを持ったボードであって、複数のアプリケーションインターフェースを備えたＳＤＩＯコントローラ（２１）と、前記コントローラ（２１）を動作させるための水晶発振器（２２）と、前記コントローラ（２１）に接続される複数のアプリケーションインターフェースポート（２４、２５）とを備えていることを特徴とするＳＤＩＯコントローラリファレンスボード（２０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ)規格に準拠するＳＤＩＯカードの総合的な開発支援ツールに関する。
【背景技術】
【０００２】
ノートブック型パーソナルコンピュータ（ＰＣ）、携帯通信機器（ＰＤＡ）、ディジタルビデオ、ディジタルカメラ、小型オーディオ機器など、モバイル機器（これらをまとめて「ホスト機器」ということもある。）に装着できるＩＣカードには種々の規格が存在する。中でも、ＳＤメモリカードは、小型でデータ転送速度が大きくかつ高度なセキュリティ機能を備えているため注目されている。
【０００３】
現在、ＳＤ関連機器には、メモリデバイスとしてのＳＤメモリと、入出力装置（Ｉ／Ｏ）としてのＳＤＩＯという、２つの国際規格が存在する。ＳＤメモリカード規格を拡張し、メモリ機能だけでなく入出力機能を備えたＳＤＩＯという国際規格が存在し、ＳＤＩＯ規格に準拠したカード型周辺装置をＳＤＩＯカードと呼ぶ。
【０００４】
ＳＤＩＯカードの開発には、膨大なＳＤ及びＳＤＩＯ標準規格の内容を理解し、更に設計環境の整備、テスト環境及びテスト工程の検討、アプリケーションとのインターフェース等、多種多様な検討項目を解決しておかなければならない。
【０００５】
なお、本明細書において、ＳＤＩＯコントローラとは、周辺機器がＳＤＩＯ規格に準拠してホスト機器と接続するための機能を実現するためのコントローラ（１チップの半導体集積回路）をいう。
【０００６】
本発明の背景となる技術としては、ＳＤＩＯカードに関するものは特に見当たらないが、メモリカードをエニュレートし、デバッグを容易にできるメモリカード用エミュレータというものが存在している（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開平６−１３１２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＳＤＩＯという規格は比較的新しい規格であり、しかも、研究開発はＳＤＩＯという国際規格のスペックを満たしながら行なわれる必要がある。
【０００９】
しかし、ＳＤＩＯ開発に関わる設計開発環境、ＳＤＩＯのプロトコルエンジン（ＨＩＭ：ホストインターフェースモジュール）用のデバイス、それらに付随するソフトウエアという一連の設計開発環境は、十分に整っていない。
【００１０】
例えば、ホスト機器開発者は、ホスト機器（例えば、ディジタルビデオカメラ等）にＳＤＩＯホストコントローラチップ（以下、「ＳＤＩＯホストデバイス」という。）を搭載し、周辺機器として提供されている種々のＳＤＩＯアプリケーションデバイス（ＳＤメモリカード、ＳＤ無線カード、ＧＰＳ等）が開発中のホスト機器でも正常に動作するか、確認しなければならない。
【００１１】
この場合、より具体的には、ホスト機器側のデバイスドライバソフトウエアの開発、ホスト機器におけるＳＤＩＯ規格の適合性の検証等を行なわなければならない。
【００１２】
一方、ＳＤＩＯアプリケーションデバイス（ＳＤメモリカード、ＳＤ無線カード、ＧＰＳ等）の開発者にとってみれば、様々なホスト機器で開発中のＳＤＩＯカードが正常に動作するか、確認しなければならない。
【００１３】
この場合、より具体的には、アプリケーションデバイスそのものと、そのデバイスドライバソフトウエアの開発とが必要不可欠である。
【００１４】
本発明は、上記に鑑みＳＤＩＯ関連機器の設計開発環境を改善すべくなされたものであり、各立場における開発エンジニアにかかる負担を軽減し、ＳＤＩＯカードシステム開発のスピードアップを図る開発支援ツールを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係るＳＤＩＯカード開発支援システムは、プラットホームとなるオペーレーティングシステムを備えたコンピュータ（１１）とＳＤＩＯホストを有するホストボード（１３）とが、バスを経由して接続されたハードウエア構成と、前記オペレーティングシステム上で動作するソフトウエアであって、前記前記ＳＤホストに対するコマンド生成・コマンド分析・コマンドトレース・デバッグ及びこれらを記述するスクリプト言語機能を備えたＳＤＩＯテストプログラム（ＳＤ−ＩＤＥ）とを含んでいる。
【００１６】
このシステムによれば、ＳＤＩＯホストの状態をコンピュータ上で把握することができるので、ＳＤＩＯホストにＳＤＩＯカードが装着された際のカード認識のテストや、カードに対するデータの書き込み、カードからのデータ読み出しのテストなどを前記コンピュータ上で容易に行なうことができる。
【００１７】
本発明に係るＳＤＩＯコントローラリファレンスボード（２０）は、前記ＳＤＩＯホストにＳＤバスを介して接続することのできるＳＤＩＯポートを持ったボードであって、複数のアプリケーションインターフェースを備えたＳＤＩＯコントローラ（２１）と、前記コントローラ（２１）を動作させるための水晶発振器（２２）と、前記コントローラ（２１）に接続される複数のアプリケーションインターフェースポート（２４、２５）とを備えていることを特徴とする。
【００１８】
前記アプリケーションインターフェースの一つはメモリインターフェースであり、このメモリインターフェースにＥＥＰＲＯＭ、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリの少なくとも一つが接続され、前記リファレンスボード（２０）上に設けられていることが好ましい。
【００１９】
このリファレンスボードは、実際のＳＤＩＯカードと同様にＳＤＩＯホストからのコマンドやデータを受け取り、レスポンスを返すことができるので、ＳＤＩＯホストに接続するとあたかもＳＤＩＯカードを装着しているように扱うことができ、実際のカードイメージでプロトタイプ開発や評価を行なうことができる。
【００２０】
以上のように、本発明によれば、ＳＤＩＯドライバやターゲットドライバと密接に通信しながら、実際のＳＤＩＯホスト、ＳＤＩＯコントローラ、デバイスからなるＳＤカードシステム全体がどのように動作しているかを把握し、システム動作検証・解析をすることができる。
【００２１】
ＳＤＩＯカードおよびＳＤメモリカード開発を容易に設計開発することができる。特に、変更される可能性がある規格に対し常に注目し、追加・変更点を反映していく工数は予想以上に大きく、設計開発工数自体にも強い影響を与えるものであるところ、本発明によれば、最新の規格を反映させることができ、設計開発環境を提供することができる。
【発明の効果】
【００２２】
以上のように、本発明に係る上記リファレンスボードとＳＤＩＯ設計開発ツールとを用いると、ＳＤＩＯホストの開発からターゲットアプリケーションの開発までを一貫して行なうことができる。効率の良いアプリケーション開発環境を提供することができ、ＳＤＩＯカードおよびＳＤメモリカード開発を短時間に行なうことができる。さらに、規格の変更などに対しても柔軟に対応することができる。
【発明を実施するための最良の形態】
【００２３】
（実施形態）
はじめに本システムの全体構成について図１（ａ）及び（ｂ）を用いて説明する。拡張バススロット（例えばＰＣＩバス）を備えたコンピュータ１１と、ＳＤホスト１２を搭載したＳＤホストボード１３とがこの拡張バスを経由して接続される。このＳＤホストボード１３はＳＤＩＯソケット（ＳＤＩＯコネクター）１４を備えており、ＳＤバスを経由してリファレンスボード１５ａに接続される。なお、拡張バスはＰＣＩバスに限られない。なお、ＳＤホストボード１３には、リファレンスボードに代えて、実際のＳＤＩＯカードデバイス１５ｂを接続することもできる。
【００２４】
リファレンスボード１５ａには、ＳＤＩＯコントローラ１６と、メモリインターフェース１７、外部モジュールとのインターフェース１８が設けられ、外部モジュール（ターゲットデバイス）１９を接続することができる。
【００２５】
コンピュータ１１のプラットホーム上でＳＤＩＯテストプログラム（ＳＤ−ＩＤＥ）が動作させることにより開発者はこのリファレンスボードを実際のＳＤＩＯカードと想定して、ＳＤＩＯホスト及びＳＤＩＯコントローラに関する種々の試験・評価を行なうことができる。
【００２６】
なお、リファレンスボードではなく、ターゲットとなるＳＤＩＯカードやＳＤメモリカードをＳＤホストボードに直接装着してもよい。このようにしても、実際にＳＤＩＯホストとＳＤＩＯカード間での接続試験を行なうことができる。
【００２７】
また、リファレンスボードやターゲットデバイスにＧＰＩＯコネクター２７，２８を備えるようにしてもよい。ＧＰＩＯコネクターを設けるとＳＤ−ＩＤＥはリファレンスボードやターゲットデバイスにテストシグナルやタイミング信号を発生させることができる。
【００２８】
−各構成について−
（プラットホーム）
アプリケーションを動作させるために必要なＣＰＵ、オペレーティングシステムソフトウエアなどで構成されるコンピュータシステム上に、ＳＤホストコントローラを搭載しこれを動作させることができる拡張バススロットあるいは接続手段を備えるものがプラットホームとして必要である。
【００２９】
（ＳＤホストボード）
ＳＤＩＯホストデバイス（ＳＤＩＯホストコントローラチップ）を搭載したボードが拡張バスを介して上記コンピュータに接続される。プラットホーム上で動作するＳＤＩＯテストプログラム（ＳＤ−ＩＤＥ）を起動すると、ホストデバイスやＳＤバスを介してホストデバイスに接続されるＳＤＩＯファンクションを操作することができる。
【００３０】
（リファレンスボード）
図２はリファレンスボード（基板）２０（図１における１５ａ）を示したものである。一枚のボード上にホストインターフェースモジュール（ＨＩＭ）等を備えたＳＤＩＯコントローラ２１と、これを駆動するための水晶発振器（クロック）２２、メモリ２３、アプリケーションインターフェース（ＵＡＲＴコネクタ２４、ＰＣＭＣＩＡソケット（ＰＣＭＣＩＡコネクター）２５等）を含んでいる。メモリ２３は、Ｉ２ＣシリアルＥＥＰＲＯＭ２３ａと、ＮＡＮＤ型フラッシュメモリ２３ｂと、ＮＯＲ型フラッシュメモリ２３ｃとが実装されている。
【００３１】
ＳＤＩＯインターフェイスクロック（ＳＣＬＫ）は水晶発振器に設けられたディップスイッチを変化させることにより０〜２５ＭＨｚまで可変できる。また、アプリケーションインターフェース部はＰＣＭＣＩＡインターフェースとＵＡＲＴインターフェースを備えている。
【００３２】
（ソフトウエア本体：ＳＤ−ＩＤＥ）
上記プラットホーム上で動作するソフトウエア本体（ＳＤ−ＩＤＥ：Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｅｎｖｉｒｏｎｍｅｎｔ）
【００３３】
−主な機能−
・ＳＤＩＯホストコンフィグレーション
１ビット、４ビットモード、タイムアウト、データ長
・ＳＤＩＯホストとターゲットとの接続の初期化
カード種別認識（ＳＤＩＯカードかＳＤメモリカードか）、コマンドＣＭＤ０，ＣＭＤ５，ＡＣＭＤ４１，ＣＭＤ２，ＣＭＤ３等
・ＳＤＩＯホストコマンドの設定とターゲットへの送信
ＣＭＤ５２，ＣＭＤ５３等
・ＳＤＩＯターゲットのホストコマンドに対するレスポンス情報のモニタリング
・ＳＤＩＯホスト−ターゲット間の通信履歴（トレースレポート）の出力
・ＳＤＩＯホストとターゲットとの間におけるストレステスト
複数コマンドの重複転送試験など
【００３４】
−ソフトウエアの基本構成−
本発明に係る開発システムのソフトウエアは、以下の構成を備えている。
（Ａ）ターゲットのドライバ
ターゲットドライバはアプリケーション（ＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュール、ブルートゥース、ＧＰＳ、ＰＨＳ、フラッシュメモリ等）を駆動するためのドライバである。
（Ｂ）リファレンスボードのドライバ（クライアントドライバ）
クライアントドライバはリファレンスボード（ＳＤＩＯコントローラ）を駆動するためのドライバである。
（Ｃ）ホストボードのドライバ（ＳＤＩＯホストドライバ）
ＳＤＩＯホストドライバはホストボードを駆動するためのドライバである。
【００３５】
以上のドライバにより、ハードウエアの障壁すなわちハードウエア構成に起因する動作環境の違いが吸収され、データを透過的に取り扱うことが可能となる。
【００３６】
（Ｄ）ＡＰＩ（Application Program Interface）
（Ｅ）アプリケーションソフトウエア
ＡＰＩとは、ＤＬＬで提供された関数を呼び出すプログラムである。このＡＰＩの上にアプリケーションソフトウエア（ＳＤ−ＩＤＥ基本アプリケーション、ＳＤＩＯコントローラのクライアントドライバテンプレイト、テストプログラム等）が動作する。
【００３７】
（ＳＤ−ＩＤＥ基本アプリケーションについて）
ＳＤ−ＩＤＥは、
・コマンドジェネレィター
・コマンドアナライザー，トレイサー
・スクリプトランゲージ
などを備えていることを特徴とする。以下、プログラムのシステムフローを説明する。
【００３８】
−システムフローについて−
図４（ａ）は、本発明に係るＳＤＩＯテストプログラムの基本的なフローチャートを示したものである。各プログラムはモジュール化され有機的に結合している。必要に応じて必要な処理プログラム（これを「エンジン」という）が動作するようになっている。
【００３９】
大まかなステップは以下のとおりである。
ＳＡ０：システム起動
ＳＡ１：動作環境の確認
ＳＡ２：動作させるために必要な全てのエンジン（処理プロセス）起動しスタンバイさせる
ＳＡ３：エンジンの起動・切り替えを行なうインターフェースを起動する
以後、各エンジンは必要な処理を行なうことができる。また、いずれかのステップでエラーが発生したときはエラー処理プロセスによりエラー処理される。
【００４０】
−各モジュールの説明−
ＳＤ−ＩＤＥは各モジュール（エンジン）が集まって構成されている。図３はＳＤ−ＩＤＥのブロックダイヤグラムの一例を示したものである。以下、それぞれのモジュールが行なう処理プロセスについて説明する。
【００４１】
（Ａ）ＧＵＩエンジン
グラフィックユーザインターフェース（ＧＵＩ）：ユーザが簡単に操作するためのアイコンやメニュー等を表示・制御する処理プロセスである。
【００４２】
（Ｂ）ＳＤＩＯ初期化エンジン
ＳＤＩＯカードをＳＤＩＯスロット（コネクター）に挿入すると、ＳＤＩＯホストはカードを認識するため、ＳＤＩＯコントローラに対して種々のコマンドを発行する。カード挿入のＤｅｔｅｃｔ（検知）、カードの個別情報の読みとり（製造番号、種類、機能、等）を行ない、あらかじめ規格にしたがってカードの中に実装されている情報を読みとりながら最終的にカードを認識する。これらのプロセスを初期化処理（Ｉｎｉｔｉａｌｉｚａｔｉｏｎ）という。
【００４３】
図４（ｂ）は初期化処理の手順を説明するための図である。あらかじめ用意されたステップに従う一般的な初期化ステップ（デフォルト）と、カード毎に特殊な初期化が必要な場合の初期化ステップ（カスタマイズ）とがある。なお後者を選択する場合にはＳＤＩＯのスペックを満足することが必須である。
【００４４】
初期化ステップの内容が確定した後、初期化ステップルーチンを実行し、結果を返す。この際、ステップ毎に各種ＳＤＩＯコマンドを発行する必要があるので、ＳＤＩＯコマンド処理エンジンでコマンドを発行する。また、状態マシンエンジンは常に初期化プロセス実行中、常にコマンドの発行及びレスポンス情報等の受理を管理し、理論上のＧｏｏｄマシンと実際のデバイスの振る舞いとを比較し、相違点がある場合にはエラー信号を発生する。
【００４５】
（Ｃ）ＳＤＩＯ状態マシン処理
図５（ｂ）はＳＤＩＯ状態マシンエンジン（Ｓｔａｔｅ  Ｍａｃｈｉｎｅ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。
【００４６】
ＳＤ−ＩＤＥはＳＤＩＯ（ｓｐｅｃ．ｖｅｒ１．０）にある状態マシン（状態遷移）を持ち、常にコマンドの発行、レスポンス情報等の受理を管理し、理論上のＧｏｏｄマシンを持つ。これと実際のデバイスの振る舞いとを比較し、相違点がある場合にはエラー信号を発生する。
【００４７】
（Ｄ）ＳＤＩＯコマンド処理ステップ
ＳＤＩＯのコマンド生成と解読処理を行なう。図５（ａ）はコマンド処理の手順を示す図である。コマンドに応じてマシンの状態が変化する。ＳＤＩＯホストとＳＤＩＯコントローラはそれぞれ独立した状態（ステートマシン）を持っている。
【００４８】
また、ＳＤＩＯコントローラの設計例として、２つの独立した状態マシンが使われている。一つはバス状態マシン（バスステートマシン）、他の一つはファンクション状態マシン（ファンクションステイトマシン）である。ＳＤＩＯホストはバス状態マシン（Ｂｕｓ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）を、ＳＤＩＯコントローラはファンクション状態マシン（Ｆｕｎｃｔｉｏｎ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）を持っている。
【００４９】
バスステートマシンはホストと通信してバス状態を記憶保持する。バス状態は、初期化状態、待機状態、コマンド状態、転送状態の４つがあり、ＳＤＩＯホストが受けたコマンドによってバス状態が遷移する。
【００５０】
ファンクション状態マシン「実行（Ｅｘｅｃ．）」、「レディ（Ｒｅａｄｙ）］、「割り込み（Ｉｎｔｅｒｒｕｐｔｓ）」といったファンクションの状態を記憶保持し、マシンカードのファンクションと通信し、これを制御する。
【００５１】
ある状態の時、システムは常にある情報を期待しながら遷移する。各種コマンドの発行やレスポンスのやり取りするタイミング等は、この状態を確認しながら判断・実行していく。もし、期待に反する状態に遷移した場合はイリーガルな処理としてエラーを返したりカードを拒絶したりする。
【００５２】
（Ｅ）ＳＤＩＯ転送履歴レコード処理
ＳＤＩＯバスの転送履歴の記録を行なう。図６（ａ）は、ＳＤＩＯ転送履歴レコード処理（Ｔｒａｎｓａａｃｔｉｏｎ  Ｒｅｃｏｒｄ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。
【００５３】
クロックタイマーを設けてＳＤＩＯホストが受け取る全てのパケットに時刻（タイムスタンプ）を持たせることにより、時間管理を含めた高度な解析が可能となる。例えば、ロジックアナライザのようにタイミングチャートを表示させて効率的なデバッグに役立つようにすることができる。
【００５４】
ＳＤバスのパケットは、ＳＤＩＯホストからＳＤＩＯコントローラへのコマンド、ＳＤＩＯコントローラからＳＤＩＯホストへのレスポンス、転送データの３種類がある。これらすべてのパケットをデータとして記録することにより、後で解析・分析し、どのようなシーケンス（順序）で何が行なわれたかをトレースすることができる。これにより、デバッグ処理などを行なうことができる。
【００５５】
（Ｆ）ＳＤＩＯスクリプト処理
ＳＤＩＯスクリプト言語により種々のデータ転送処理プロセスを記述して一括実行処理させる。これによって、編集画面やスクリプト言語の翻訳機能を実現する。そのＳＤＩＯスクリプト処理（Ｓｃｒｉｐｔｉｎｇ  Ｅｎｇｉｎｅ）はインタープリター方式の言語でも、コンパイル方式の言語でも、実行することができる。
【００５６】
図６（ｂ）はＳＤＩＯスクリプト処理の処理ステップについて説明するための図である。定義にスクリプト言語（マクロコマンド或はサブルーチン化された処理）を用いてＳＤＩＯ全体の評価とテストの処理プロセスを編集・作成する。
【００５７】
スクリプト言語インタープリターは、スクリプト言語で記述されたコマンドをＳＤＩＯコマンドに翻訳する。あるいは、ＳＤＩＯスクリプトエンジンＦはスクリプトをコンパイルされた形のスクリプトコンパイルするが、それにより実行や後で使いやすいようにストアリングし易くなる。
【００５８】
（Ｇ）ＳＤＩＯパケット解析／分析処理
図７はＳＤＩＯパケット解析／分析処理（Ｔｒａｎｓａｃｔｉｏｎ  Ｒｅｃｏｒｄ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。ＳＤバス上に転送されるデータは「０」と「１」の数字の羅列にすぎない。ここでは、これをパケットとしてとらえて解析・分析し、誰がどのようなパケットを送ったのか、或いは、そのパケットがどんなフォーマットでされているのか等の分析と解析とを行なう。ＳＤバス上のパケットの種類（コマンドなのか、レスポンスなのか、データなのか）及び、どこからどこに送られたパケットなのか等の分類をして、より理解しやすく表示させることを目的とする。
【００５９】
（Ｈ）ＳＤＩＯバス／ホストコントローラ処理
ＳＤＩＯホストコントローラを制御し、ＳＤバスに発行するコマンド等を制御する。
【００６０】
（Ｉ）ＳＤＩＯデバイスドライバテンプレート処理
ＳＤＩＯコントローラにつながるデバイスの制御プログラム。開発者のための手順ひな形である。
【００６１】
（Ｊ）ＳＤＩＯデバッグ処理
図７（ｂ）はＳＤＩＯデバッグ処理プロセス（Ｄｅｂｕｇｇｇｅｒ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。デバッガーを起動し、デバッグ（解析）したい部位及び内容の指定を入力する。この入力内容に従って内部情報（ステイタス、エラー、データ等）を分類表示すると共に、必要に応じて分析処理プログラム（Ｐａｒｓｉｎｇ  Ｅｎｇｉｎｅ）やコマンド処理プログラム（Ｃｏｍｍａｎｄ  ｅｎｇｉｎｅ）を起動する。最終的にはＧＵＩに表示し、必要な場合はソースコードレベルで修正する。
【００６２】
（Ｋ）エラー処理
エラー処理プロセス（Ｅｒｒｏｒ  Ｈａｎｄｌｅｒ  Ｅｎｇｉｎ）は全てのエラーを処理する。
【００６３】
（Ｌ）ＳＤＩＯ信号／タイミング処理
図３、図７におけるブロックＬは、ＳＤＩＯ信号／タイミング処理プロセス（ＳＤＩＯ  Ｓｉｇｎａｌｉｎｇ／Ｔｉｍｉｎｇ Ｅｎｇｉｎｅ）である。このソフトウエアモジュールはＳＤＩＯシグナルのテストや認証のために要求された信号を発生させるためにＳＤリファレンスボード及びリファレンスボードに接続されているターゲットデバイスを指揮する役割を果たす。このソフトウエアモジュールは同時に全てのこれらの要求された信号のタイミングを集める。たとえば、「ＳＤＩＯ信号／タイミングエンジン」というコマンドは接続されたデバイスに対して割り込み信号を発生させたり、ＳＤリファレンスボードにデータを送ったりすることを命令する。
（Ｍ）ＳＤＩＯレポート発生エンジン
ＳＤＩＯレポート発生エンジンはいくつかの最も普及した出力形式でレコードデータを生成するために用いられる。
【産業上の利用可能性】
【００６４】
本発明によると、ＳＤＩＯ関連機器の設計開発の各立場における開発エンジニアにかかる負担を軽減し、ＳＤＩＯカードシステム開発のスピードアップを図る開発支援ツールを提供することができ、その産業上の利用可能性は極めて大きい。
【図面の簡単な説明】
【００６５】
【図１】図１（ａ）及び（ｂ）は本発明に係るシステムの全体構成を示す図である。
【図２】図２は図２はリファレンスボード２０を示した図である。
【図３】図３はＳＤ−ＩＤＥのブロックダイヤグラムの一例を示したものである。
【図４】図４（ａ）は、本発明に係るＳＤＩＯテストプログラムの基本的なフローチャートを示したものである。図４（ｂ）は初期化処理の手順を説明するための図である。
【図５】図５（ａ）はコマンド処理の手順を示す図である。図５（ｂ）はＳＤＩＯ状態マシンエンジン（Ｓｔａｔｅ  Ｍａｃｈｉｎｅ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。
【図６】図６（ａ）は、ＳＤＩＯ転送履歴レコード処理（Ｔｒａｎｓａａｃｔｉｏｎ  Ｒｅｃｏｒｄ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。図６（ｂ）はＳＤＩＯスクリプト処理（Ｓｃｒｉｐｔｉｎｇ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。
【図７】図７（ａ）はＳＤＩＯパケット解析／分析処理（Ｔｒａｎｓａｃｔｉｏｎ  Ｒｅｃｏｒｄ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。図７（ｂ）はＳＤＩＯデバッグ処理プロセス（Ｄｅｂｕｇｇｇｅｒ  Ｅｎｇｉｎｅ）の処理ステップについて説明するための図である。
【符号の説明】
【００６６】
１１  コンピュータ
１２  ＳＤＩＯホスト（ＳＤＩＯホストコントローラチップ）
１３  ＳＤホストボード
１４  ＳＤＩＯソケット（ＳＤＩＯコネクター）
１５ａ  リファレンスボード
１５ｂ  ＳＤＩＯカード
１６  ＳＤＩＯコントローラ（ＳＤＩＯコントローラチップ）
１７  メモリインターフェース
１８  外部モジュールとのインターフェース
１９  外部モジュール（ターゲットデバイス）
２０  リファレンスボード
２１  ＳＤＩＯコントローラ
２２  水晶発振器（クロック）
２３  メモリ２３
２４  ＵＡＲＴコネクタ
２５  ＰＣＭＣＩＡソケット（ＰＣＭＣＩＡコネクター）
２６  リファレンスボード側ＧＰＩＯコネクター
２７  ＳＤＩＯホストＰＣＩアダプター側ＧＰＩＯコネクター
２８  ターゲットデバイス側ＧＰＩＯコネクター
【図１】
2004227588.tif 000003
【図２】
2004227588.tif 000004
【図３】
2004227588.tif 000005
【図４】
2004227588.tif 000006
【図５】
2004227588.tif 000007
【図６】
2004227588.tif 000008
【図７】
2004227588.tif 000009