(57)【特許請求の範囲】
【請求項１】
ホストコンピュータ（１１４）のホストプロセッサ（１１５）の制御から独立して、コンピュータ通信バス（３０２）を介してホストコンピュータ（１１４）のホストメモリ（１１７）に対して画像データ（３１６）を通信するコンピュータ通信インタフェース（３８２）と、前記コンピュータ通信インタフェース（３８２）を介して前記ホストコンピュータ（１１４）から複数のイベントインストラクションを受け取るための制御部（３７０）であって、前記イベントインストラクションは、前記検出器フレーミングノード（３０４）と放射線生成システム（１０９）と画像検出システム（１１２）のイベントを選択的に制御し、前記制御部（３７０）は所定の時間間隔でリアルタイムに前記イベントインストラクションを実行する、当該制御部を備え、
前記制御部（３７０）は、複数のイベントインストラクションをイベントインストラクションシーケンスとして記憶するイベントキュー（３２２）と、獲得制御部（３２４）を備え、前記放射線生成システム（１０９）に送る前に、前記イベントインストラクションシーケンスは前記獲得制御部（３２４）によって前記ホストコンピュータ（１１４）から前記イベントキュー（３２２）に送られ、前記イベントインストラクションシーケンスは、前記放射線生成システム（１０９）によって放射線生成の開始とタイミングと停止と、前記画像検出システム（１１２）からの前記画像データ（３１６）の獲得を制御する、検出器フレーミングノード（３０４）。
【請求項２】
前記ホストメモリ（１１７）に送る前に、前記画像検出システムから出力された前記画像データ（３１６）を記憶するフレームバッファメモリ部（３８１）であって、前記制御部（３７０）は、前記画像検出システム（１１２）からの前記画像データ（３１６）の関連情報を受け取って、前記関連情報を前記ホストメモリ（１１７）に応答ログパケットとして送る当該フレームバッファメモリ部をさらに備え、
前記制御部（３７０）は、光ファイバーデータリンク（３７７）を介して前記画像検出システム（１１２）と通信する光ファイバーインタフェース（３７６）であって、前記光ファイバーインタフェース（３７６）は前記画像検出システム（１１２）からの前記画像データ（３１６）に関連する情報を受け取って光ファイバー受信部（５６４）に与え、前記イベントキュー（４７４）から受け取ったイベントインストラクションを光ファイバーチャネル送信部（５６２）から前記画像検出システム（１１２）に送る、当該光ファイバーインタフェースをさらに備える、請求項１の検出器フレーミングノード（３０４）。
【請求項３】
前記放射線生成システム（１０９）に送るために前記イベントキュー（４７４）からイベントインストラクションを受けるリアルタイムバスインタフェース（３７８）であって、前記放射線生成システム（１０９）が前記リアルタイムバス（３７９）に特定のステートを強制するときに前記制御部（３７０）に通知する、当該記リアルタイムバスインタフェース（３７８）をさらに備える、請求項１の検出器フレーミングノード（３０４）。
【請求項４】
オペレーティングシステムと、データを記憶するホストメモリ（１１７）を利用してオペレーションを実行する少なくとも１つのホストプロセッサ（１１５）を備えるホストコンピュータ（１１４）と、
前記請求項１−３のいずれかに記載の検出器フレーミングノード（３０４）を備える、画像データ獲得システム（１００）。
【請求項５】
前記検出器フレーミングノード（３０４）は、前記受信した画像データを前記コンピュータ通信バス（３０２）を介して前記ホストメモリ（１１７）に第１クロック周波数で送るＰＣＩインタフェース（３８２）と、前記選択されたフラットパネル検出器（１１６）から第２のクロック周波数で前記画像データ（３１６）を受ける光ファイバーインタフェース（３７６）と、第３のクロック周波数で動作し、前記光ファイバーインタフェース（３７６）と前記ＰＣＩインタフェース（３８２）間で受けた画像データ（３１６）を送るローカルバス（３８４）を有し、前記第３のクロック周波数は、前記第１のクロック周波数よりも大きいかそれに等しい、請求項４の画像データ獲得システム（１００）。
【請求項６】
前記ホストコンピュータ（１１４）は、タスクベースのオペレーティングシステムである、非リアルタイム・オペレーティングシステムを実行し、前記検出器フレーミングノード（３０４）は、前記ホストメモリ（１１７）との通信中、前記選択されたフラットパネル検出器（１１６）から前記画像データ（３１６）を続けて受け取って記憶する、請求項４の画像データ獲得システム（１００）。
【請求項７】
前記受けた画像データ（３１６）は、レントゲン検査画像データ（３１６）であって、前記選択されたフラットパネル検出器（３１６）はレントゲン検査画像（１０８）の検出に応じて、前記レントゲン検査画像データ（３１６）を出力するアモルファスシリコンフォトダイオードアレイ（１３６）を含む、請求項６の画像データ獲得システム（１００）。
【請求項８】
前記検出器フレーミングノード（３０４）は、リアルタイムバス（３７９）を介して放射線（１０４）の生成をトリガするために放射線生成システム（１０９）にインストラクションを送るリアルタイムバスインタフェース（３７８）を有し、前記画像データ（３１６）は生成された放射線（１０４）に応答じて前記選択されたフラットパネル検出器（１１６）によって生成される、請求項４の画像データ獲得システム（１００）。
【請求項９】
前記コンピュータ通信バス（３０２）はＰＣＩバス（３０２）であって、前記ＰＣＩインタフェース（３８２）は前記受けた画像データ（３１６）を前記ローカルバス（３８４）から前記ＰＣＩバス（３０２）へ送り、前記光ファイバーインタフェース（３７６）は前記選択されたフラットパネル検出器（１１６）から光ファイバーデータリンク（３７７）を介して前記画像データ（３１６）を受け、
前記光ファイバーインタフェース（３７６）は、シリアル画像データ（３１６）を前記光ファイバーデータリンク（３７７）から受けるシリアルインタフェースであって、前記光ファイバーインタフェース（３７６）は前記ローカルバス（３８４）を介して送るために、前記シリアル画像データ（３１６）をパラレル画像データ（３１６）に変換し、前記ＰＣＩインタフェース（３８２）は前記ローカルバスから前記パラレル画像データ（３１６）を受けて、前記パラレル画像データ（３１６）を前記ＰＣＩバス（３０２）を介してＰＣＩバス調停プロトコルに従って、ＰＣＩバス周波数で送る、請求項４の画像データ獲得システム（１００）。
【請求項１０】
オペレーティングシステム（７３４）を利用してオペレーションを実行する少なくとも１つのホストプロセッサ（１１５）と、データを記憶するホストメモリ（１１７）を備えるホストコンピュータ（１１４）と、コマンドを画像検出システム（１１２）に送り、前記画像検出システム（１１２）から画像データ（３１６）を受け取るようにプログラム可能であって、受け取った画像データ（３１６）を前記オペレーティングシステム（７３４）から独立して、前記ホストメモリ（１１７）に送る検出器フレーミングノード（３０４）を備え、前記検出器フレーミングノード（３０４）が更に、
ホストコンピュータ（１１４）のホストプロセッサ（１１５）の制御から独立して、コンピュータ通信バス（３０２）を介してホストコンピュータ（１１４）のホストメモリ（１１７）に対して画像データ（３１６）を通信するコンピュータ通信インタフェース（３８２）と、前記コンピュータ通信インタフェース（３８２）を介して前記ホストコンピュータ（１１４）から複数のイベントインストラクションを受け取るための制御部（３７０）であって、前記イベントインストラクションは、前記検出器フレーミングノード（３０４）と放射線生成システム（１０９）と画像検出システム（１１２）のイベントを選択的に制御し、前記制御部（３７０）は所定の時間間隔でリアルタイムに前記イベントインストラクションを実行する、当該制御部を備え、
前記制御部（３７０）は、複数のイベントインストラクションをイベントインストラクションシーケンスとして記憶するイベントキュー（３２２）と、獲得制御部（３２４）を備え、前記放射線生成システム（１０９）に送る前に、前記イベントインストラクションシーケンスは前記獲得制御部（３２４）によって前記ホストコンピュータ（１１４）から前記イベントキュー（３２２）に送られ、前記イベントインストラクションシーケンスは、前記放射線生成システム（１０９）によって放射線生成の開始とタイミングと停止と、前記画像検出システム（１１２）からの前記画像データ（３１６）の獲得を制御する、
画像データ獲得システム（１００）。
【発明の詳細な説明】
【０００１】
【発明の背景】
本発明は、レントゲン検査のデジタル画像データを制御し、獲得し、処理する方法とシステムと装置に関し、特に、獲得したレントゲン検査／Ｘ線デジタル画像データを制御して、非リアルタイムのオペレーティングシステムを実行するコンピュータに送る方法とシステムと装置に関する。
【０００２】
医療撮像は、放射線、例えば、ガンマ線やＸ線や高周波の音波や磁界や中性子や帯電粒子を用いて身体の内部構造の画像を生成する専門技術である。診断放射線医学では、病気の発見と診断に放射線を用いるが、インターベンショナルラジオロジーでは、放射線を用いて病気や身体上の異常を治療する。
【０００３】
Ｘ線撮影は、放射線、例えば、ガンマ線やＸ線や中性子や帯電粒子等を貫通させることによって不透明な試料の画像を生成する技術である。不均質のオブジェクトに放射線が送られると、オブジェクトの厚さと密度と化学成分の違いに基づいて放射線は別々に吸収される。オブジェクトから出る放射線によってＸ線撮影画像が形成されるが、この画像を、画像検出媒体、例えば、写真用フィルム上に直接生成するか、もしくは、まず光画像を生成するために蛍光体を使って生成してもよい。Ｘ線撮影はオブジェクトの内部構造全体の非破壊検査技術であって、従来から医療用および工業用に用いられている。Ｘ線撮影によって、結核や骨折等の病状と、素材の製造上の欠陥、例えば、クラックや割れ目や穴を非破壊的に検出することができる。
【０００４】
Ｘ線撮影は、医療向けアプリケーションと工業向けアプリケーションでは特に有用である。Ｘ線は電磁放射線であって、ウィルヘルムコンラートレントゲン氏によって１８９５年に偶然発見された。Ｘ線はレントゲン線とも呼ばれる。１８９５年頃、レントゲン氏は、オブジェクト、例えば、手の内部をＸ線が伝搬して、写真用フィルムを露光すると内部構造を明らかにできることを発見した。Ｘ線は可視光とは異なる性質を示し、レントゲン氏によって「Ｘ線」と命名された。ここで、「Ｘ」とは未知のものを表す。Ｘ線は従来の光学用光レンズを使って焦点が合わされるのではなくて、例えば、高度な焦束技術を利用して焦点が合わされる。今日では、Ｘ線は２．４×１０１６Ｈｚから５×１０１９Ｈｚまでの周波数範囲の電磁放射線として分類される。ほとんどのＸ線の波長は原子よりも短いため、粒状の、即ち、光子エネルギーの弾丸のような物と相互作用する。指数関数的吸収則に基づいてＸ線は物質に吸収される。
【０００５】
【数１】
0004159288.tif 000002
0004159288.tif 000003
【０００６】
ここで、ＩoはＸ線の初期強度であり、ＩXはオブジェクト通過後の強度であって、オブジェクトは厚さｘと密度ρと線吸収係数μと質量吸収係数μ／ρを備える。
【０００７】
Ｘ線は、天体現象、例えば、星や天体内部の反応や、Ｘ線管等のＸ線生成電子デバイスによって形成される。一般的に、Ｘ線管では、静電界で電子等の帯電粒子を加速させて、固体のターゲットと衝突させて急にＸ線を停止させることによって、Ｘ線が作り出される。この衝突では、ぎっしりと詰まった電子が高いエネルギー状態に移行するため、固体ターゲットがイオン化される。固体ターゲットの電子が本来のエネルギー状態に戻るときに、Ｘ線が作り出される。電極の配置によって粒子ビームを成形して加速したり、、もしくは、それを行わずにカソードからアノードへ真空管内部の電子を加速させることによって、Ｘ線管内部でＸ線が作り出される。
【０００８】
一般的に、Ｘ線の電子検出は電子Ｘ線撮影法、もしくは、レントゲン透視法と呼ばれる。電子検出の前に、Ｘ線撮影画像が写真用フィルム上で得られるかもしくは蛍光スクリーンに表示される。蛍光スクリーン上のＸ線のリアルタイムでの目視観測は蛍光透視と呼ばれる。しかしながら、早くも１９３０年代には、受光に応じて電気信号を作成するために、（真空管形の）光電子増倍管が開発された。一般的に、光電子増倍管は光学的範囲に入る光線によく反応するため、しばしば蛍光物質と光学的に結合することによって、非光学的な電磁放射線を検出することができる。蛍光物質は非光学的放射線、例えば（核医学で用いられる放射性アイソトープから発せられる）ガンマ線やＸ線を光学的放射線に変換する。１９８０年の初め頃、一般的に光電子増倍管／シンチレータ検出器がアモルファスシリコンベースの光電セルに取って代わられた。
【０００９】
レントゲン透視法には、蛍光間接撮影法としても知られる一ショットのＸ線検出法と、蛍光透視法としても知られる複数ショットのＸ線検出法が含まれる。放射線乳房撮影法は、照射する前に胸部を強く押し付けるレントゲン透視法であって、詳細情報を最大にし、被曝を最小にする。コンピュータ断層撮影法（「ＣＴ」）は、コンピュータ体軸断層撮影法（「ＣＡＴ」）とも呼ばれ、細いＸ線ビームを発しながらＸ線管が人体の周りを回転するレントゲン透視法である。受信したＸ線ビーム情報はコンピュータ内部で結合され、２次元もしくは３次元の解剖学的医療画像を作成する。磁気共鳴影像法（「ＭＲＩ」）は、各原子核が無線信号を送受信する無線のように動くように、高強度磁石が人体の細胞内部の原子核の回転を揃える診断処理を備える。外部の高周波信号を人体に印加して、細胞の原子核が回転することを妨げる。無線信号が停止すると、弱い無線信号を発しながら、印加された磁界によって原子核が再構成される。弱い無線信号は人体の様々な組織に対応し、これを検出することによって解剖学上の画像が作成される。
【００１０】
レントゲン透視法とそれに関連する医療診断撮像技術では、放射線が透過して、その結果得られる画像データを検出し、処理する精密なタイミングを正確に制御する。一般的に医療診断撮像法では、非常に多くの画像データを獲得し、制御し、続いて、高速データ転送速度でコンピュータ処理機器と通信を行う。医療診断撮像の生成と検出と処理を制御するために、コンピュータワークステーションはリアルタイムオペレーティングシステム（「ＲＴＯＳ」）を採用して、動作を制御する。リアルタイムオペレーティングシステム、例えば、カリフォルニア州アラメダにあるウィンドリヴァーシステムズ社のＶＸＷＯＲＫＳ（登録商標）は、リアルタイムの信号送信イベントにすぐに応答するオペレーティングシステムである。一方、非リアルタイム・オペレーティングシステム、例えばＷＩＮＤＯＷＳ（登録商標）プラットフォームやＵＮＩＸ（登録商標）プラットフォームはタスクが完了するまでタスク形式で動作を処理する。ＷＩＮＤＯＷＳ（登録商標）もＵＮＩＸ（登録商標）も非リアルタイムマルチタスクオペレーティングシステムであって、一台または複数のプロセッサが連続的に割り込みを受けて、マルチタスクベースのシステムイベントに応答する。市販の高速プロセッサによって、マルチタスクオペレーティングシステムは同時に発生する多数のイベントを制御する。しかしながら、医療診断撮像法で用いられる時のように、マルチタスクオペレーティングシステムは、設計上、リアルタイム処理機器の高スループットでの要求にリアルタイムに応答することはできない。
【００１１】
【発明の簡潔な概要】
このため、放射線生成システムと画像検出システムをリアルタイムに制御する撮像システムを提供することが望ましい。撮像システムは、ホストメモリと少なくとも一つのホストプロセッサを有するホストコンピュータを含む。また、撮像システムは、複数の様々なフラットパネル検出器から画像データを受信するようにプログラムされる検出器フレーミングノードも含む。検出器フレーミングノードは、ホストオペレーティングシステムとは独立した通信用バスを介して少なくとも一つのホストプロセッサに画像データを通信する。
【００１２】
さらに、コンピュータ通信バスを介してホストコンピュータのホストメモリと画像データを通信するためのコンピュータ通信インタフェースを含む検出器フレーミングノードも提供することが望ましい。ホストコンピュータはオペレーティングシステムを実行するホストプロセッサを含む。ホストプロセッサの制御から独立して、画像データはコンピュータ通信インタフェースからホストメモリに通信される。また、検出器フレーミングノードはコンピュータ通信インタフェースを介して、ホストコンピュータから複数のイベントインストラクションを受信する制御部も備える。イベントインストラクションは、放射線生成システムと画像検出システムを選択的に制御する。イベントインストラクションは、リアルタイムに所定の時間間隔で実行される。
【００１３】
【発明の実施の形態】
図１を参照すると、レントゲン検査用デジタル画像データを制御し、獲得し、処理するための方法とシステムと装置が示されている。撮像システム１００は放射線生成システム１０９と画像検出システム１１２とホストコンピュータ１１４と検出器フレーミングノード３０４を備える。ホストコンピュータ１１４はモニタ１１９とホストプロセッサ１１５とホストメモリ１１７を含む。本発明の一実施形態によれば、撮像システム１００は画像検出監視システムである。本発明の別の実施形態によれば、撮像システム１００の構成要素は１台の装置として機能する。
【００１４】
放射線生成システム１０９はオブジェクト１０６を通過し、画像検出システム１１２によって検出される放射線を生成する。本発明の一実施形態によれば、放射線生成システム１０９はオブジェクト１０６に対する放射線（１０４）を生成し、焦点を合わせるＸ線生成部１０２を含む。本発明の一実施形態によれば、放射線１０４はＸ線である。本発明の別の実施形態によれば、放射線１０４は連続して生成された複数の放射線群発波とみなされる。本発明の一実施形態によれば、オブジェクト１０６は人体である。オブジェクト１０６を通過すると、Ｘ線１０４はＸ線撮影画像１０８を形成し、これはその後の検出に使われる。一般的に、Ｘ線制御システム１１０から出力された制御信号に応答して、Ｘ線生成部１０２によってＸ線が生成される。Ｘ線撮影画像１０８は画像検出システム１１２によって受信され、Ｘ線撮影用デジタル画像に変換される。次に、Ｘ線撮影用デジタル画像は画像検出システム１１２から出力され、ホストコンピュータ１１４に送られる。ホストコンピュータ１１４は、放射線生成システム１０９と画像検出システム１１２を電子的に制御する。
【００１５】
画像検出システム１１２はＸ線撮影画像１０８を受信するためのフラットパネル検出器１１６を含む。フラットパネル検出器１１６は動作中に熱くなるため、電力を供給し、冷却するための電源／チラー１１８に接続される。Ｘ線撮影用デジタル画像はフラットパネル検出器１１６からホストコンピュータ１１４へ出力される。
【００１６】
図２（従来技術）はフラットパネル検出器１１６の上方概観図である。フラットパネル検出器１１６は、Ｘ線撮影の際の画像レセプタを備える一つの検出技術である。例えば、フラットパネル検出器１１６によって、既存のＸ線撮像フィルム、例えば、単純フィルムやスポットフィルムはＸ線撮影の用途に置き換えられる。また、薄型パッケージであるため、フラットパネル検出器１１６は、デジタルＸ線撮影用の、また、蛍光間接撮影やデジタル蛍光透視用の撮像増圧器とビデオカメラとシネカメラとフォトスポット撮像等と置き換えられる。心臓／外科用デジタルＸ線パネルのフラットパネル検出器１１６の領域は２６ｃｍ×２６ｃｍ、Ｘ線撮影用デジタルＸ線パネルの場合は、４５ｃｍ×５６ｃｍ、乳房撮影用デジタルＸ線パネルの場合は２９ｃｍ×３４ｃｍである。ガラスプレート１２６と金属の筐体１２８によってＸ線レセプタと電子検出機器とそれに関連するエレクトロニクスの周りを囲んでそれらを物理的に保護する。
【００１７】
図３（従来技術）は、図２のラインＩＩＩ−ＩＩＩに沿ったフラットパネル検出器１１６の分解断面図である。図示されているように、Ｘ線撮影画像１０８は、ガラスプレート１２６を通過し、Ｘ線検出パネル１３４に吸収される。本発明の一実施形態によれば、Ｘ線検出パネル１３４はＸ線検出用の一枚パネルである。Ｘ線検出パネル１３４はアモルファスシリコンのＸ線検出パネルである。Ｘ線検出パネル１３４は、Ｘ線撮影画像１０８を光学的なＸ線撮影画像１３２に変換する蛍光層１３０を含む。蛍光層１３０は、Ｘ線検出パネル１３４、特にアモルファスシリコンパネル１３６に蒸着される。蛍光層１３０はガドリニウム酸硫化物Ｇｄ2Ｏ2Ｓ：Ｔｂ、もしくはヨウ化セシウムＣｓＩ（ＴＩ）の形態をとる。高エネルギーのＸ線を受信する場合は、ヨウ化セシウム蛍光層が用いられる。
【００１８】
アモルファスシリコンパネル１３６は、光学的Ｘ線撮影画像１３２を受信し、複数の代表的な画像データ値１３８に変換するフォトダイオード／トランジスタアレイである。画像データ値１３８は配線エレクトロニクス１４０によってアナログ形式で受信され、アナログ画像データとしてパネル１３６から出力される。本技術分野では既知の半導体技術によって、蛍光層１３０とアモルファスシリコンパネル１３６と配線エレクトロニクス１４０はシリコンガラス基板上に形成される。同時に、蛍光層１３０とアモルファスシリコンパネル１３６と配線エレクトロニクス１４０とガラス基板１４４はＸ線検出パネル１３４を構成する。
【００１９】
図４（従来技術）は金属筐体１２８から取り出されたＸ線検出パネル１３４の上方概観図である。図４（従来技術）に示されるように、アモルファスシリコンパネル１３６は複数の光電セル１４６を形成する。各光電セル１４６から出力された電気情報は対応する複数のコンタクトフィンガー１５０によってコンタクトリード１４８に送信される。コンタクトフィンガー１５０はコンタクトリード１４８とアモルファスシリコンパネル１３６間を接続する。図示されているように、蛍光層１３０はアモルファスシリコンパネル１３６の上部に形成される。
【００２０】
Ｘ線検出パネル１３４は光センサアレイを狭い要素間隔で備え、また、多数の要素を備えて、射影されたＸ線撮影画像を適切に受信して検出する。アモルファスシリコンパネル１３６は比較的大きなガラス基板１４４上に形成された薄膜技術である。プラズマ加速化学蒸着法（「ＰＥＣＶＤ」）とスパッタリングとメニスカス被覆法によって絶縁体と様々な金属とアモルファスシリコンの１１層が蒸着され、電界効果トランジスタ（「ＦＥＴ」）とダイオードと配線とコンタクトが形成される。Ｘ線検出パネル１３４は産業用と医療用のパネル、特に２０ｃｍ×２０ｃｍの心臓／外科用デジタルＸ線パネルと、４１ｃｍ×４１ｃｍのＸ線撮影用デジタルＸ線パネルと、１９ｃｍ×２３ｃｍの乳房撮影用デジタルＸ線パネルを形成する。心臓／外科用デジタルＸ線パネルは２００μｍピッチで１０２４列×１０２４行、Ｘ線撮影用デジタルＸ線パネルは２００μｍピッチで２０４８列×２０４８行、乳房撮影用デジタルＸ線パネルは１００μｍピッチで１９２０列×２３０４行をそれぞれ有する。
【００２１】
フラットパネル検出器を形成する場合、アモルファスシリコンには単結晶シリコンよりも多くの利点があり、特に、アモルファスシリコンは単結晶シリコンと区別可能である。アモルファスシリコンは、一定の形式を持たず、また実際の、即ち明らかな結晶構造をもたないことを特徴とする。一方、単結晶シリコンは、単結晶として成長し、ウエハーにスライスされ、さらに不純物を取り除くために研磨されて集積回路となる。アモルファスシリコンは単結晶構造を用いていないため、単結晶シリコンよりも大きなパネルを形成できる。しかしながら、アモルファスシリコンには、１００倍から１０００倍の欠点の増加と、信号ラグ特性や信号オフセット特性に影響する切り替え速度の大幅な減少が見られる。蛍光層１３０、ＣｓＩ（ＴＩ）はＸ線を光線に変換し、アモルファスシリコンパネル１３６上に蒸着されて密に接続される。ＣｓＩ（ＴＩ）は、複数の光導体と同様に動作する針状構造を構成して、光が外へ広がることを防ぐ。また、ＣｓＩ（ＴＩ）はアモルファスシリコン層１３６の量子効率に十分適合した伝送スペクトルを提供する。
【００２２】
図５（従来技術）はアモルファスシリコンパネル１３６上に形成された光電セルアレイ１５２の概略図である。図示されているように、行ライン（ｎ），（ｎ＋１），（ｎ＋２）．．．等のスキャンに応答して、複数の光電セル１５４が順次トリガされる。従って、列ライン（ｍ），（ｍ＋１），（ｍ＋２）．．．等に沿って対応する出力が読み出される。各光電セル１５４はフォトダイオード１５６と電界効果トランジスタ１５８を含む。フォトダイオード１５６はバイアスライン１６０によってバイアスされ、電界効果トランジスタ１５８によって適切な時に放電される。電界効果トランジスタ１５８は対応する適切な列ラインからの放電を制御する。動作中、電界効果トランジスタ１５８は、適切な行ラインに約＋１１Ｖの高電圧をかけることによってオンとなる。電界効果トランジスタ１５８は、適切な行ラインに約−１１Ｖの低電圧をかけることによってオフとなる。
【００２３】
Ｘ線照射によって、アモルファスシリコンのフォトダイオード１５６に正孔対が生成され、Ｘ線検出パネル１３４に部分的な放電が起こる。続いて、電界効果トランジスタ１５８がオンになると、フォトダイオード１５６が再充電されて、フォトダイオード１５６の再充電に必要な電荷量が測定される。動作中、Ｘ線照射時は全行ラインがオフ、即ち、−１１Ｖとなる。次に、行ラインが順次オン、即ち、＋１１Ｖとなる。行「ｎ＋１」が読み出されるときに行「ｎ」からの出力がアナログ情報からデジタル情報に変換されるように、適切な列ライン上の信号のＡ／Ｄ変換がパイプライン化される。Ａ／Ｄ変換に利用される期間は、ほぼ各行ラインの読み出しに利用される時間である。
【００２４】
図６（従来技術）は本発明の一実施形態に係るフラットパネル検出器１１６の電気接続の概略図である。フラットパネル検出器１１６は一つのアモルファスシリコンと、複数の行マルチチップモジュール１６４と複数の列マルチチップモジュール１６６に電気接続されたＸ線検出パネル１３４を備える。行マルチチップモジュール１６４からの連続するトリガ信号に応答して、全列が列マルチチップモジュール１６６に読み出される。列マルチチップモジュール１６６は検出パネル１３４から読み出されたアナログ読み出し信号をデジタル信号に変換する。これらの信号はその後リファレンス／レギュレータボード１２２で受信される。
【００２５】
リファレンス／レギュレータボード１２２は列マルチチップモジュール１６６から出力されたデータを結合し、そのデータを検出器制御ボード１２４に出力する。即ち、行マルチチップモジュール１６４は電界効果トランジスタ１５８をオン／オフする。一方、列マルチチップモジュール１６６はそれぞれ列信号を読み出す。リファレンス／レギュレータボード１２２は、検出器制御ボード１２４と制御／データ信号を通信しながら、行モジュールと列モジュールに電圧を供給する。
【００２６】
図７（従来技術）は本発明の別の実施形態に係るフラットパネル検出器１１６の電気接続のブロック図である。フラットパネル検出器１１６は、例えば、心臓／外科用デジタルＸ線パネルとＸ線撮影用デジタルＸ線パネルに見られる電気接続の概略を表す。図示されているように、フラットパネル検出器１１６は第１パネル部１７２と第２パネル部１７４を有する心臓／外科用スプリットパネルＸ線検出パネル１７０を含む。本発明の一実施形態によれば、スプリットパネルＸ線検出パネル１７０は心臓／外科用スプリットパネルＸ線検出パネルである。第１パネル部１７２と第２パネル部１７４はそれぞれ行マルチチップモジュール１７６によってトリガされる。第１パネル部１７２からの出力は第１列マルチチップモジュール１７８に受信され、第２パネル部１７４からの出力は第２列マルチチップモジュール１８０にそれぞれ受信される。
【００２７】
図８（従来技術）は、心臓／外科用デジタルＸ線パネル１８２としてのスプリットパネル、例えばスプリットパネル１７０の一実施形態の概略図である。心臓／外科用デジタルＸ線パネル１８２は第１パネル部１８４と第２パネル部１８６から構成される。スキャンライン０から５１１は第１パネル部１８４と第２パネル部１８６で見られる。従って、行スキャンライン０がトリガされると、２本の行表示ライン、即ち、０と１０２３が同時にアクティブになり、第１パネル部１８４と第２パネル部１８６から対応する列出力ラインが出力される。同様に、第１パネル部１８４と第２パネル部１８６で行スキャンライン１が同時にアクティブになると、第１パネル部１８４と第２パネル部１８６から対応する列出力ラインが出力される。対応する各パネル部からの各スキャンラインがアクティブになると、各パネル部からの全ての列出力ラインからそれぞれの値が出力される。従って、行スキャンライン０がアクティブになると、第１パネル部１８４から列出力ライン０−１０２３が同時に出力され、また第２パネル部１８６から列出力ライン１０２４−２０４７が同時に出力される。
【００２８】
図９（従来技術）は、列マルチチップモジュール１７８、１８０と、リファレンス／レギュレータボード１２２のブロック図である。列マルチチップモジュール１７８は第１パネル部１７２から出力された列信号を受信し、第２列マルチチップモジュール１８０は第２パネル部１７４からの列出力信号を受信する。従って、第１列マルチチップモジュール１７８からの出力はリファレンス／レギュレータボード１２２によって結合され、結合された信号出力１８８は検出器制御ボード１２４によって受信される。同様に、列マルチチップモジュールは列１０２４−２０４７から出力された列信号を受信し、それらを結合し、リファレンス／レギュレータボード１２２に転送する。リファレンス／レギュレータボード１２２は受信した信号を結合し、その後結合された信号出力１８９を出力する。出力１８８や出力１８９を含む、リファレンス／レギュレータボードからの結合された出力信号を集めたものが出力１９５である。
【００２９】
リファレンス／レギュレータボード１２２はマルチチップモジュール１７８からの出力を結合するための第１の結合部１９２と、列１０２４−２０４７に対応するマルチチップモジュール１８０からの出力を結合するための第２の結合部１９４を含む。各マルチチップモジュール１７８は８個のアナログ読み出し用チップ（「ＡＲＣ」）１９６を含み、それらのチップはデジタル読み出し用チップ（「ＤＲＣ」）１９８に対応する出力を提供する。従って、ＤＲＣ１９８からの出力はリファレンス／レギュレータボード１２２によって受信される。
【００３０】
各ＡＲＣチップ１９６は非線形ランプ比較型Ａ／Ｄ変換器を利用する。また、各ＡＲＣチップ１９６は３２本のアナログ入力を受信し、データを８ビットチャネルの１２ビットシリアル、グレースケールコード化マルチプレクスデータに変換する。次に、各ＤＲＣチップ１９８は４個のＡＲＣチップ１９６から１２ビットシリアル、グレーコード化マルチプレクスデータを受信し、シリアルからパラレルへ変換し、グレーコードを１２ビットバイナリコードに変換する。各ＡＲＣチップ１９６は受信データをアナログからデジタルに変換するが、これは、全ＡＲＣ１９６の全チャネルに共通のＤ／Ａコンバータによって生成された平方根コード化ランプと、コンパレータの各データラインからの信号を比較することによって行われる。ランプ電圧は一定のクロック速度にあわせて増加する。ランプ電圧が保持電圧と一致すると、コンパレータはトリップして、ランプカウンタ値がラッチされる。各データラインの変換時間は、少なくとも受信した全ての列データラインを変換するために用いられる最小クロック数とクロック周期の積の時間と同じくらい長い。信号数が増加すると、ランプ電圧ステップが増加する。量子雑音は各信号の平方根として増加するため、雑音が一定比率となるステップサイズでランプ電圧ステップは二次関数的に増加する。前述の方法によって、行モジュールと列モジュールへ向かう制御信号のインタフェース条件では、約３２．５ＭＨｚのクロック信号を用いて列モジュール１７８、１８０と検出器制御ボード１２４間のデータ出力をバッファリングする。
【００３１】
図１０（従来技術）は検出器制御ボード１２４のブロック図である。一般的に、検出器制御ボード１２４は、第１列マルチチップモジュール１７８からの出力１８８に対応する１２ビットバイナリコード化データ「Ａ」を受信する。また、検出器制御ボード１２４は、第２列マルチチップモジュール１８０からの出力に対応する１２ビットバイナリコード化データ「Ｂ」も受信する。入力されたバイナリコード化データＡ、Ｂは各々レジスタ２００、２０２に受信される。レジスタ２００、２０２からの出力はそれぞれデコードルックアップテーブル（「ＬＵＴ」）２０４、２０６に転送される。デコードＬＵＴ２０４、２０６はランダムアクセスメモリであって、１２ビットバイナリの二次関数的コードデータを１５ビットバイナリの線形コード・データに変換する。
【００３２】
検出器制御ボード１２４の動作は制御部２０８によって制御される。制御部２０８はフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）として構成される。制御部２０８はデコードＬＵＴ２０４から１６ビットの画素データと、デコードＬＵＴ２０６から１６ビットの画素データを受信し、その画素データを結合して３２ビットワードにする。その後、３２ビットワードは画像通信インタフェース２１０に出力される。本発明の一実施形態によれば、画像通信インタフェース２１０は光ファイバーインタフェースである。各３２ビットワードは２つの１６ビット画素の組み合わせであって、検出器制御ボード１２４から別々に出力される。各３２ビットワードに含まれる２つの画素は、（以下に詳細に示され、また図１３（従来技術）を参照して）一枚の乳房撮影用デジタルＸ線パネル２２４のように並んでいる、即ち、２枚のパネル、例えば心臓／外科用デジタルＸ線パネル１８２の第１パネル部１８４と第２パネル部１８６の出力から交互に受信される。以下に示され、また、図１１（従来技術）を参照すると、Ｘ線撮影用デジタルＸ線パネル２２８は２つのパネル部２３０、２３２を含むので、心臓／外科用デジタルＸ線パネル１８２の画素フォーマットを備える。心臓／外科用デジタルＸ線パネル１８２とＸ線撮影用デジタルＸ線パネル２２８に対応するスプリットパネル検出システムは、データを「再配列」した後で、従来のコンピュータのモニタ上に表示する。検出器フレーミングノード３０４でのデータの再配列について以下で詳述する。
【００３３】
画像通信インタフェース２１０は制御部２０８から受信した３２ビットワードをエンコーダ／デコーダ部２１２にクロック同期で送る。エンコーダ／デコーダ部２１２は受信した各３２ビットワードをエラー訂正機能を有する４つの１０ビットワードに変換する。１０ビットワードは続いてトランスミッタ２１４で受信される。トランスミッタ２１４は受信した１０ビットワードを２ビット、即ち、クロックビットとシグナルビットを有するシリアルデータに変換する。トランスミッタ２１４は２ビットデータを光ファイバートランシーバ２１６に出力し、光ファイバー信号に変換する。続いて、光ファイバー信号は画像検出バス３７７を介して以下に詳細に示される検出器フレーミングノードに送信される。本発明の一実施形態によれば、画像検出バス３７７は光ファイバーデータリンクである。同様に、光ファイバートランシーバ２１６は画像検出バス３７７から光ファイバー信号を受信し、その受信した光学信号は２ビットデータに変換され、レシーバ２１８によって受信される。続いて、レシーバ２１８は、クロックとデータ信号を含む２ビットの受信データをエラー訂正機能を有する１０ビットワードに変換する。続いて、１０ビットワードはエンコーダ／デコーダ部２１２によって受信され、レジスタ２２０に記憶された後、制御部２０８に送信される３２ビットワードに変換される。また、光ファイバートランシーバ２１６からの出力は光ファイバー信号検出部２２２によって受信され、制御部２０８と共にタイミング／プロトコルを維持する。制御部２０８は発振器２２４からクロックで動作する。制御部２０８は制御ライン２２６を介してリファレンス／レギュレータボード１２２に制御信号を提供する。制御部２０８はカリフォルニア州サンノゼにあるアルテック社製のＦＰＧＡ，Ｆｌｅｘ１０ｋ５０である。
【００３４】
図１１（従来技術）は、Ｘ線撮影用デジタルＸ線パネル２２８としてのスプリットパネル検出器、例えばスプリットパネル１７０の概略図である。Ｘ線撮影用デジタルＸ線パネル２２８は第１パネル部２３０と第２パネル部２３２から構成される。Ｘ線撮影用デジタルＸ線パネル２２８は４１×４１ｃｍであって、２００μｍピッチで合計２０４８列×２０４８行を有する。フラットパネル検出器１１６に関して図示された実施形態は、図７の実施形態と比べて、２倍の行マルチチップモジュール１７６と２倍の列マルチチップモジュール１８０を有する。各スキャンラインが順次トリガされる時、列出力ライン０から２０４７は全て第１パネル部２３０から画素情報を同時に出力する。また、列出力ライン２０４８から４０９５は第２パネル部２３２から画素情報を同時に出力する。Ｘ線撮影用デジタルＸ線パネル２２８は心臓／外科用デジタルＸ線パネル１８２の表面積のおよそ４倍を占める。Ｘ線撮影用デジタルＸ線パネル２２８は、広い表面積が必要な用途、例えば胸部Ｘ線に用いられ、心臓／外科用デジタルＸ線パネル１８２は、より小さい表面積を必要とする処置での用途、例えば外科的処置での心臓の蛍光透視に用いられる。
【００３５】
図１２（従来技術）は本発明の別の実施形態に係るフラットパネル検出器１１６の電気的接続のブロック図である。フラットパネル検出器１１６は、行マルチチップモジュール２３８によってトリガされる一枚パネル２３６を含む。一枚パネル２３６は列マルチチップモジュール２４０、２４２によって読み出される。偶数番号の列が列マルチチップモジュール２４０によって読み出され、奇数番号の列が列マルチチップモジュール２４２によって読み出されるように、列マルチチップモジュール２４０，２４２は一枚パネル２３６の反対側に配置される。一枚パネル２３６をハードウェアと接続するために、物理的空間を追加できるようにして、一枚パネル２３６の反対側から列を交互に読み出すことによって、列密度が高められる。
【００３６】
図１３（従来技術）は、乳房撮影用デジタルＸ線パネル２４４としての一枚パネル検出器、例えば一枚パネル２３６の一実施形態の概略図である。乳房撮影用デジタルＸ線パネル２４４は１９×２３ｃｍであって、１００μｍピッチで１９２０列×２３０４行を有する。乳房撮影用デジタルＸ線パネル２４４は合計２０４８列を有する。しかしながら、利用可能な２０４８列のうち実際に用いられるのは１９２０列である。残りの１２８列によってデジタルＸ線パネル２４４の列全体に間隔が空けられ、容易に修理できる。列出力ラインは乳房撮影用デジタルＸ線パネル２４４の交互の側から交互に出力される。本構成によって、製造が容易となり、またハードウェアの乳房撮影用デジタルＸ線パネル２４４への接続アセンブリが簡素化される。
【００３７】
乳房撮影用デジタルＸ線パネル２４４に含まれる１２８本の修理ラインを用いて、製造上の欠陥により開放となった列アドレスラインを修理する。修理ラインはアドレスラインの両端を横切り、絶縁層によって分離される。レーザを用いて絶縁層からアドレスラインを修理ラインに結合することによって、修理接続が容易になる。行アドレスラインの場合では、行アドレスラインはフラットパネル検出器１１６上のスペアラインを用いて完全に修理されるため、読み出しシステムが修理を行う必要はない。列の修理の場合では、データが後処理によってソートされるように、修理ラインからのデータはフラットパネル検出器１１６から異なる順番で出力される。
【００３８】
図１４（従来技術）は、本発明の別の実施形態に係るフラットパネル検出器１１６の電極接続のブロック図である。フラットパネル検出器１１６は２つの行マルチチップモジュールセット、即ち、第１行マルチチップモジュール２４８と第２行マルチチップモジュール２５０を含む。第１、第２列マルチチップモジュール１７８、１８０とは異なり、第１、第２行マルチチップモジュール２４８、２５０は、パネルの行を横切って冗長に接続される。従って、もし、第１もしくは第２パネル部１７２もしくは１７４に欠陥があるならば、オプションとして、各行をその別の側からトリガすることによって、行の完全性が保持される。
【００３９】
上に示されたフラットパネル検出器１１６の各実施形態は、冗長な行マルチチップモジュール２５０によって構成され、パネル構成に欠陥がある場合にデータの完全性を保持することができる。
【００４０】
図１５はリアルタイムのレントゲン検査撮像システム３００のブロック図である。システム３００は様々な医療向けアプリケーションに用いられ、また、設計や製造やデバイスの試験と修理にも用いられる。システム３００は複数の様々な検出器パネルをサポートし、特に、検出器パネル設計の異なる３つのファミリ、即ち、心臓／外科用とＸ線撮影用と乳房撮影用のアプリケーションをサポートする。システム３００はスクリプト３０９からユーザアプリケーション３０１を実行するホストコンピュータ１１４を含む。獲得部ＤＬＬ３１３とＤＦＮデバイスドライバ３１４によって、ユーザアプリケーション３０１は検出器フレーミングノード３０４と通信する。
【００４１】
システム３００は、リアルタイムオペレーティングシステム、ＶＸＷＯＲＫＳ（登録商標）を用いたＴＭＳ３２０−Ｃ８０プロセッサとＰＣに基づく従来の画像検出コントローラサブシステム（「ＩＤＣ」）に取って代わるものである。システム３００は１秒間に３０フレームを獲得し、蛍光透視用の１０２４×１０２４画素の画像処理を行う。画像検出バス３７７は、ホストコンピュータ１１４と検出器制御ボード１２４間に１．２５Ｇビット／秒の光ファイバー通信リンクを提供する。画像検出バス３７７によって、特に、画像検出システム１１２の検出器制御ボード１２４とコンピュータ通信バス３０２との接続に適した周辺部配線（「ＰＣＩ」）カードとして具体化される検出器フレーミングノード（「ＤＦＮ」）３０４間の通信が行われる。本発明の一実施形態によれば、コンピュータ通信バス３０２はＰＣＩバスであって、特に、３３ＭＨｚで動作するＰＣＩバスである。本発明の別の実施形態によれば、コンピュータ通信バス３０２は６６ＭＨｚで動作するＰＣＩバスである。検出器制御ボード１２４自体は、ウィスコンシン州ミルウォーキーにあるジェネラルエレクトリックメディカルシステムズ社製のアポロ共通検出器制御用プリント配線基板（「ＰＷＡ」）で具体化されている。アポロ共通検出器制御用ＰＷＡは、乳房デジタル撮影法の全分野（「ＦＦＤＭ」）を含む様々な用途に用いられる。検出器フレーミングノード３０４を用いることによって、画像獲得後の画像処理に非リアルタイムホストコンピュータ１１４の利用が容易になる。
【００４２】
市販されている一つもしくは複数のプロセッサＰＣハードウェア、例えば、カリフォルニア州サンタクララにあるインテル社製のＰＥＮＴＩＵＭ（登録商標）クラスのプロセッサに基づいて、システム３００は獲得と制御を行う。システム３００は、現在と期待されるＸ線物療法による一データ獲得／制御システムであって、設計と製造の両方に対するシステムアプリケーションをサポートする。柔軟なアーキテクチャを備えて、技術の改良や将来技術に対するニーズに焦点を当てている。
【００４３】
システム３００はサポートされている検出器のパラメータをフレーム間で制御することによって、画像の一つもしくは複数のフレームの獲得をサポートする。獲得された画像の行数と列数は入力パラメータとしてサポートされ、外部のフレームトリガによってデータ獲得タイミングを制御する。１０２４×１０２４アレイの場合は３０フレーム／秒で、また２０４８×２０４８画像の場合は７．５フレーム／秒で、システム３００はゲイン／オフセット訂正画像を獲得して表示する。システム３００は非リアルタイム・オペレーティングシステムをサポートし、システムの機能性をテストする。有効な一実施形態によれば、非リアルタイム・オペレーティングシステムはＷＩＮＤＯＷＳ  ＮＴ  ４．０（登録商標）であって、Ｃ＋＋言語ベースのアプリケーションをサポートする。モジュラーソフトウェアはアプリケーションの結合と上級ユーザやプログラマに対してより直接的なハードウェアアクセスをサポートするように構成されている。ユーザによってコード化されたテストアプリケーションや一般化されたデータ獲得ルーチンは別々のモジュールに提供される。
【００４４】
システム３００は、一つもしくは複数のフレーム領域を含む、一つもしくは複数のフレームの生データとゲイン／オフセット訂正データの両方を保管できる。一つもしくは複数のフレームと一つもしくは複数のフレーム領域の高分解能表示では、新たに獲得されたデータと保管されたデータの両方をサポートすることができる。放射線生成システム１０９、もしくはグリッド制御されたＸ線管は、リアルタイムバスインタフェースを介して制御される。２μ秒のタイミング分解能を有するＸ線生成器をリアルタイムでトリガする処理は、最大１６秒までの時間遅延をプログラマブルに制御することによって支援される。
【００４５】
システム３００はリアルタイム画像データ獲得システムであって、このシステムでは画像データが所定のフレームレートで獲得され、獲得される画像フレーム数は獲得時に決定される。獲得前に、イベントコンパイラ４０８は、リアルタイムバス３７９を介して反復トリガの実行時間を設定することによってフレームレートを設定する。同様に、反復トリガから画像検出システム１１２への画像リクエストコマンドを遅らせることによって、イベントコンパイラ４０８は画像の獲得のための設定を行う。フラットパネル検出器１１６のスキャン前にインテグレーション期間があって、この期間で蛍光体で遅延が起こり、また、フォトダイオードアレイの正孔対の収集が可能になる。リアルタイムデータ獲得するために、画像検出システム１１２から検出器フレーミングノード３０４へ画像データを転送する際に最小のバッファリングを行うことによって、画像検出システム１１２と検出器フレーミングノード３０４が同期して動作することができる。
【００４６】
本発明の一実施形態によれば、システム３００は以下のように構成される。
0004159288.tif 000004
【００４７】
システム３００は上記の従来のＩＤＣテストシステムを改良したものである。上述のリアルタイムパラメータは、従来技術のＶＸＷＯＲＫＳ（登録商標）オペレーティングシステム（「ＯＳ」）で一枚のＰＣＩカードとして動作するように具体化された検出器フレーミングノード３０４で捕らえられる。検出器フレーミングノード（「ＤＦＮ」）３０４は、ファイバーチャネル通信回路とバッファメモリとＰＣＩ通信コントローラとＸ線生成器を制御するリアルタイムバスとＤＦＮ３０４上の全回路を制御するファームウェアプログラマブルＦＰＧＡセットを備える。外付けＰＣＩメモリカードをＤＦＮ３０４と共に用いてコンピュータメモリを拡張し、生の画素Ｘ線画像データを記憶する。データ獲得動作とその後のデータ処理はユーザが作成したアプリケーションから行う。関数ライブラリからハードウェア機能がアクセスされ、設計やデバイスの修理／製造領域でのユーザの様々なニーズが支援される。
【００４８】
図１５は、特に本発明の一実施形態に係るシステム３００の動作を示す。特定の画像を獲得するためには、正確な一連の画像フレームとそれに関連する獲得パラメータが必要である。従って、フレーム毎にＸ線パルスに対する読み出し遅延や検出器パラメータ等を特定することができる。それらの属性の記述情報はスクリプト３０９のフレームシーケンス３１０で捕らえられる。プログラムアプリケーションは、フレームシーケンス構造によってデータ獲得システムを構成し、システムにトリガを与えてフレームの獲得を開始する。フレームシーケンス３１０は、テスト毎に実行される試験の種類によって異なる。ハードウェアレベルでは、ホストコンピュータ１１４からのインストラクションシーケンスに応じて獲得が行われる。本発明の一実施形態によれば、インストラクションはイベントインストラクションであって、総称してイベントシーケンス３１２として既知である。各イベントインストラクションは十分な時間間隔で実行される。イベントインストラクションは外部デバイス、例えば、バスインタフェースを介して通信するコマンドから制御するイベントをトリガする。例えば、イベントインストラクションは、画像検出バス３７７を介して画像検出システム１１２に送信される３２ビットの制御ワードと、リアルタイムバス３７９を介して放射線生成システム１０９に送信されるＸ線パルストリガコマンドを含む。フレームシーケンス３１０に基づいて、実行されるそれらのイベントインストラクション全体のリストが構成される。イベントシーケンス３１２はリアルタイムに構築されなくてもよいため、非リアルタイム・オペレーティングシステムを実行するホストコンピュータ１１４上で容易に実行され、イベントコンパイラをサポートできる。一旦、イベントシーケンス３１２が認識されると、リアルタイムに実行するために、詳細情報がＤＦＮ３０４に送信される。
【００４９】
図１５は画像獲得中のシステム３００からの制御情報／データフローを示すブロック図である。図示されているように、フレームシーケンス３１０はスクリプト３０９によって作成される。ターゲット制御ハードウェアの詳細を認識しているコンパイラによって、フレームシーケンス３１０はイベントシーケンス３１２に翻訳される。イベントシーケンス３１２はテスト制御部３１１によって受信され、コンピュータ通信バス３０２を介してＤＦＮデバイスドライバ３１４に送信され、最後に検出器フレーミングノード３０４に送信される。次に、実行の準備のためにイベントシーケンス３１２が記憶される。コンピュータ通信バス３０２を介してＢｅｇｉｎ  Ｓｅｑｕｅｎｃｅコマンドを送信することによって、イベントシーケンス３１２が開始される。ホストコンピュータ１１４に割り当てられたリアルタイム制御の範囲は、イベントシーケンス３１２を開始する時期を決定することに限定される。その後、ホストコンピュータ１１４は画像獲得処理から完全にはずされる。
【００５０】
イベントシーケンス３１２が完了すると、ホストコンピュータ１１４は獲得したデータの他に、イベントシーケンスの実行中に記録された様々な診断と効果を検索する。従って、ホストコンピュータ１１４には前処理／後処理の役目も含まれるため、リアルタイム動作からは完全に除外される。
【００５１】
図示されているように、検出器フレーミングノード３０４は、獲得制御部３２４によってコンピュータ通信バス３０２を介してコマンドとその応答の通信を行う。獲得制御部３２４によってイベントシーケンス３１２はイベントキュー３２２と通信する。イベントキュー３２２からイベントインストラクションが放射線生成システム１０９に送信される。放射線照射中に、画像検出システム１１２からイベントインストラクションがイベントキュー３２２に送信される。また、画像検出システム１１２からフレーム記憶部３２５によってレントゲン検査画像データが受信され、ホストコンピュータ１１４に送信するために獲得制御部３２４に送信される。ホストコンピュータ１１４では、画像データ３１６がＤＦＮデバイスドライバ３１４と獲得ダイナミックリンクライブラリ（「獲得部ＤＬＬ」）３１３を介して転送され、その後、ゲイン／オフセット／欠陥画素補正部３１８によってゲインとオフセットと欠陥画素が補正される。補正が完了すると、テスト演算部３２０とインタフェースされた後に、画像データはディスクアーカイブ３０８に送信される。
【００５２】
図１６は、リアルタイム・レントゲン検査撮像を行うためのソフトウェアシステム３２８のブロック図である。ユーザアプリケーションインタフェース（「ＡＰＩ」）３３０は、ホストコンピュータ１１４上で実行されて獲得ハードウェアをユーザアプリケーション３０１にリンクするソフトウェアである。獲得部ＤＬＬ３１３は、ソフトウェアシステム３２８内の要素と通信するソフトウェアである。獲得部ＤＬＬ３１３は、ユーザＡＰＩ３３０とＤＦＮデバイスドライバ３１４と双方向通信を行う。図示されているように、ＤＦＮデバイスドライバ３１４は検出器フレーミングノード３０４と双方向通信を行い、その後、放射線生成システム１０９と画像検出システム１１２と通信する。また、ユーザＡＰＩ３３０は、表示ライブラリ３３５と画像処理ライブラリ３３６とアーカイブライブラリ３３７と通信する。
【００５３】
ソフトウェアシステム３２８と通信するために、エクセルユーザインタフェース３３９にインストラクションが準備され、トランスレータ３３１によって翻訳された後、パールスクリプト部３３３によって受信される。また、イベントコンパイラ４０８はバイナリファイル部３２９に情報を出力する。ユーザＡＰＩ３３０と獲得部ＤＬＬ３１３とＤＦＮデバイスドライバ３１４に制御されて、バイナリファイル部３２９からの出力情報がＥＰ３７４上のＥＡＢメモリ４７４にロードされる。バイナリファイル部はイベントシーケンス３１２を制御する情報を含む。イベントシミュレータ４０７にタイミング情報を作成する高分解能ディスプレイ３３８上でイベントシーケンス３１２をデバッグすることができる。
【００５４】
図１７は、リアルタイム・レントゲン検査撮像を行うためのハードウェアシステム３４０のブロック図である。ハードウェアシステム３４０はデータ獲得／制御ハードウェアを含む。また、ハードウェアシステム３４０はテスタハードウェアのブロック図である。検出器フレーミングノード３０４以外のハードウェアの構成要素は市販されている（「ＣＯＴＳ」）。ホストコンピュータ１１４はホストプロセッサ１１５によって制御される。本発明の別の実施形態によれば、ホストプロセッサ１１５は共に動作する一対のプロセッサとして構成される。本発明のさらに別の実施形態によれば、ホストプロセッサ１１５は、配線された複数のプロセッサとして構成される。ホストメモリ１１７は以下に詳述されるコンピュータＲＡＭ３３４とＰＣＩ  ＲＡＭカード３３６によって構成される。ハードウェアシステム３４０は、６０Ｍバイト／秒のデータ転送速度に対応する３０フレーム／秒で１０２４×１０２４の画像（２Ｍバイト）を受信する。コンピュータ通信バス３０２は、１３２Ｍバイト／秒の転送速度を有する。第１ＰＣＩサブバス３４２の調整によって、コンピュータ通信バス３０２を通過する転送速度は１３２Ｍバイト／秒より遅くなる。
【００５５】
ハードウェアシステム３４０は、コンピュータ通信バス３０２に接続されるＤＦＮ３０４を含む。コンピュータ通信バス３０２は、ブリッジ３４４によって接続された第１ＰＣＩサブバス３４２と第２ＰＣＩサブバス３４６からなる。第２ＰＣＩサブバス３４６は、小型コンピュータ用周辺機器インタフェース（「ＳＣＳＩ」）３４８によってディスクアーカイブ３０８と接続される。また、第２ＰＣＩサブバス３４６は、ＰＣＩグラフィックスカードによって高分解能ディスプレイ３３８に接続される。第２ＰＣＩサブバス３４６は、ブリッジ３５２によって、ホストプロセッサ１１５と加速グラフィックスポート（「ＡＧＰ」）２５６とコンピュータＲＡＭ３３４を接続する。ＡＧＰ３５６は、ビデオカード３５８によってモニタ３６０を接続する高速グラフィックスポートである。
【００５６】
リアルタイムモードでは、３０フレーム／秒の連続した表示速度が調停の競合によって決まるように、ＰＣＩ３０２バス調停部は、第１ＰＣＩサブバス３４２と第２ＰＣＩサブバス３４６上のデータ転送速度を落とす。ハードウェアデバッグモードでは、ＤＦＮ３０４にコマンドを送信することによって、ホストプロセッサ１１５からＤＦＮハードウェアのテストが開始される。このテストの結果（即ち、悪い、良い）はホストコンピュータ１１４に返される。このハードウェアデバッグモードを利用して、本明細書で後述されるビルトインセルフテスト（「ＢＩＳＴ」）を実行する。リアルタイムモードではＤＦＮ３０４上のバッファメモリからデータが直接コンピュータＲＡＭ３３４に送信され、ほぼ同時に表示される。
【００５７】
図１８は、検出器フレーミングノード３０４のブロック図である。画像検出インタフェース３７６は、（図１０（従来技術）を参照して上述された）検出器制御ボード１２４と通信して、そこから画像データを受信する。本発明の一実施形態によれば、画像検出インタフェース３７６は光ファイバーインタフェースである。ＤＦＮメモリ部３８０は合計１０個の８メガビットＳＲＡＭを含む。ＤＦＮメモリ部３８０は５個のフレームバッファメモリ部３８１を含み、フレームバッファメモリ部３８１は各々２個の８メガビットＳＲＡＭを備える。一フレームバッファメモリ部３８１が満杯になると、そのメモリ部のデータがコンピュータ通信バス３０２に読み出され、続いてデータは別のフレームメモリバッファ部３８１に書き込まれる。例えば、２０４８×２０４８の大きな画像はＤＦＮメモリ部３８０に直接読み出されるが、このとき、データ獲得プロセッサ（「ＤＡＰ」）３７２の制御下でデータを書き込んでいる間にデータが再配列される。ＤＡＰ３７２とイベントプロセッサ（「ＥＰ」）３７４はＦＰＧＡであって、これらを用いてリアルタイムバスインタフェース３７８を制御する。リアルタイムバスインタフェース３７８はリアルタイムバス３７９に接続される。また、画像検出インタフェース３７６によって、ＥＰ３７４は画像検出バスを介したデータの読み出し／書き込みを制御する。コンピュータ通信インタフェース３８２は特定用途向け集積回路（「ＡＳＩＣ」）の形態のＰＣＩインタフェースとして具体化され、ローカルバス３８４とコンピュータ通信バス３０２間のバス通信を制御する。図示されているように、光ファイバーテストコネクタ３９０はバス接続用画像検出インタフェース３７６とＤＦＮ制御部３７０とインタフェースする。
【００５８】
撮像システム１００は、様々なＸ線画像パネル設計やアプリケーションのサポートを含むサポートを様々なユーザに提供する。従って、フレキシブルなテストが提供され、様々な画像獲得モードがサポートされる。撮像システム１００が利用する獲得モードはターゲットアプリケーションとユーザに対して示される。例えば、少なくとも４つの特定モード、即ち、ハードウェアデバッグとパネル設定とシングルフレームとリアルタイム性がサポートされる。しかしながら、撮像システム１００の形式上の能力は一般的にデータ管理と帯域幅を考慮して特定される。
【００５９】
図１９は、１０２４×１０２４の心臓／外科用デジタルＸ線画像に対する推定処理能力を示す表である。暫定の推定性能と共に様々な動作モードが示される。注目の二つのケースが分類されている。第１のケースはリアルタイムのケースであって、ハードウェアの帯域幅で目的のフレームレート以内でパイプライン化された一シーケンスを獲得し、補正し、表示する。後処理と呼ばれる第２のケースでは、アルゴリズムの複雑さやパネルサイズを考慮すると、ハードウェアの帯域幅が不十分である。結果として、データはリアルタイムに獲得され、記憶され、遅延期間中に処理され、最後に目的のフレームレートで表示される。
【００６０】
図１９に示されているように、「ｇｂｒ」は特別にサポートされた３つの補正アルゴリズム、即ち、オフセット補正ではなく、心臓／外科用デジタルＸ線とＸ線撮影用デジタルＸ線と乳房撮影用デジタルＸ線に対応する補正アルゴリズムを表す。これらは、ゲイン補正（ｇ）と欠陥画素補正（ｂ）と修理ライン補正（ｒ）である。
【００６１】
図２０は、４００ＭバイトのＰＣ  ＲＡＭメモリまたは個々のＰＣＩメモリカード上のメモリの利用可能なフレーム記憶部を示す表である。テストモードはハードウェアテストモードを含み、ＤＦＮ３０４を介して接続されたＰＣＩハードウェアカードと外部デバイスのステータス／機能情報をアクセスできる。これにはＤＦＮ３０４カード自体と外付けＰＣＩメモリカードと画像検出バス３７７と検出器制御ボード１２４と（放射線生成システム１０９と通信するための）リアルタイムバス３７９のテストが含まれる。
【００６２】
パネル設定モードは、パネル調整時のパネルテストの最初で用いられ、ほぼリアルタイムの視覚化は画像検出システム１１２と確実に適切に柔軟にコンタクトするために有用である。ここで、一つの処理オペレーションとして、ＤＦＮ３０４でデータ獲得と再配列が行われる。データは、ＰＣＩ  ＲＡＭカード３３６をバイパスしてコンピュータＲＡＭ３３４に直接転送される。その他のアプリケーションでは、データはコンピュータＲＡＭ３３４ではなくて、ＰＣＩ  ＲＡＭカード３３６、もしくは別の市販されている画像処理カードに送られる。データがＰＣＩ  ＲＡＭカード３３６に入れられると、ホストプロセッサ１１５はその後の処理のためにそのデータをアクセスすることができる。市販の画像処理カードの場合、データはそのカード内でさらに処理された後、コンピュータ通信バス３０２を介してホストプロセッサ１１５に送られる。結果として、１０２４×１０２４の画像の場合、データは３０フレーム／秒で表示され、２０４８×２０４８の画像の場合は７．５フレーム／秒で表示される。画像の獲得と表示の間には１フレームもしくは２フレームの遅延がある。データがホストコンピュータ１１４に直接転送されるアプリケーションでは、利用可能なコンピュータＲＡＭ３３４は記憶するフレーム数が限定される。
【００６３】
シングルフレームモードでは、乳房撮影用デジタルＸ線テスタとＸ線撮影用デジタルＸ線テスタが含まれ、比較的少量のフレームが獲得される典型的なアプリケーションが提供される。一つ以上のフレームがＤＦＮ３０４上のＤＦＮメモリブロック３８０で捕らえられ、再配列され、コンピュータＲＡＭ３３４に転送され、ホストプロセッサ１１５内で処理され、ゲインとオフセットと欠陥コラムとＡＲＣ１９６のチャネルと欠陥画素が補正される。ＡＲＣ１９６のチャネル補正にはゲイン／オフセット補正が含まれ、チャネル毎に変化するＡＲＣのゲインを補正する。補正後、フレームが高分解能ディスプレイ３３８に表示される。２０４８×２０４８の画像の場合、データ獲得完了から表示までの遅延は０．２５秒未満であると予測される。獲得後、少量のフレームがまだコンピュータＲＡＭ３３４の中にあり、表示後にそのアプリケーションで利用可能となる。
【００６４】
リアルタイムモードの一実施形態は、心臓／外科用デジタルＸ線テスタ、もしくはＸ線撮影用デジタルＸ線テスタであって、データが順次獲得され、再配列され、処理され、表示されるようなリアルタイムディスプレイを備える。１０２４×０２４の画像の場合、データ獲得から表示までの遅延は約０．０３−０．０６秒である。１０２４×１０２４の画像は３０フレーム／秒でサポートされる。本モードでは、第ｎフレームが記憶され、表示される。ここで、ｎは１から１０であって、オペレータの制御下で、１０２４×１０２４のデータの最後の６０フレームを記憶することができる。
【００６５】
図２１は、データ獲得／ソフトウェアインフェース動作の制御を実行するソフトウェアテスタインタフェース４００の概略図である。ソフトウェアテスタインタフェース４００はテスタアプリケーション４０２を含み、テスタリソース４０４を介して獲得ハードウェア４１８をアクセスすることができる。テスタリソース４０４は、バッチ処理インタフェース４０６とプログラミングインタフェースライブラリ３３７とハードウェアドライバライブラリ３３９を含む。バッチ処理インタフェース４０６は、コンフィグレーション・ファイル４１２とシーケンスファイル４１４と較正ファイル４１６を含む。ソフトウェアテスタインタフェース４００は、ハードウェアドライバライブラリ３３９とプログラミングインタフェースライブラリ３３７への直接インタフェースであって、連続して獲得するために有用な高レベルのＣコールを備える。また、ハードウェアドライバライブラリ３３９はソフトウェアライブラリであって、イベントコンパイラを備え、検出器フレーミングノード３０４上でユーザが定義したフレームシーケンスを詳細なイベントインストラクションに翻訳して、リアルタイムイベントを処理する。
【００６６】
プログラミングインタフェースライブラリ３３７はプログラミングインタフェースであって、画像の獲得に関してテスタアプリケーションの書き込みを支援する。プログラミングインタフェースは明確な機能サブセットを備え、ハードウェアインタフェースはテスタの全機能をアクセスするものである。プログラミングインタフェースライブラリ３３７は高レベル機能を含んでおり、ハードウェアドライバとユーザアプリケーション、即ち、テスタアプリケーション４０２間をインタフェースするものである。この層にはハードウェアデバイスを集めて、ステータス情報を記録する機能が含まれる。また、この層によって、ユーザは特定の獲得モードで獲得ハードウェアをコンフィグレーションして、獲得シーケンスを開始することができる。
【００６７】
画像獲得の詳細はフレームシーケンスを定義する構造によって特定される。この構造はユーザプログラムによってプログラミングインタフェース内の獲得サブルーチンに送られる。リターン・オブジェクトはデータとヘッダに対するポインタであって、その後ユーザプログラムで利用可能である。別の方法ではは、データは直接ディスクに保存しても良い。起こりうる様々な補正や表示オプションに対して便利なインタフェースは、このレベルで利用可能である。記述値に対する特定のデバイスでのヘッダの解釈は、この層で発生する。
【００６８】
ユーザプログラムが利用可能なライブラリ関数の例を以下に示す。
【００６９】
１−Ｇｅｔ  ｈａｒｄｗａｒｅ  ｓｔａｔｕｓ（ハードウェアステータスの獲得）
２−Ｃｏｎｆｉｇｕｒｅ  ａｃｑｕｉｓｉｔｉｏｎ  ｓｙｓｔｅｍ（獲得システムのコンフィグレーション）
３−Ａｃｑｕｉｒｅ  ａｎｄ  ｄｉｓｐｌａｙ  ｄａｔａ  ｓｅｑｕｅｎｃｅ（ｒａｗ）  （（生）データシーケンスの獲得と表示）
４−Ａｃｑｕｉｒｅ  ａｎｄ  ｄｉｓｐｌａｙ  ｄａｔａ  ｓｅｑｕｅｎｃｅ（ｃｏｒｒｅｃｔｅｄ）（（補正済み）データシーケンスの獲得と表示）
５−Ｓｔｏｒｅ  ｄａｔａ  ｓｅｑｕｅｎｃｅ  ｔｏ  ｄｉｓｋ（データシーケンスをディスクに記憶）
【００７０】
バッチ処理インタフェース４０６は、プログラミングインタフェースライブラリ３３７のプログラミングインタフェースのサブセットであって、画像獲得のためのテキストベースのメカニズムを提供する。コンフィグレーション・ファイル４１２とシーケンスファイル４１４はテキストファイルであって、フレームシーケンスを獲得するために全ての情報を定義する。この情報を二つのファイルに分割することによって、フレーム間のパラメータの変化が間違いなくサポートされる。最も単純な動作モードでは、ユーザは共通のテキストエディタでこれらのファイルを変更し、コマンドを用いて獲得を開始することが認められている。リターン・ヘッダはコンフィグレーション・ファイルとシーケンスファイルに定義されたように獲得パラメータを反映するものである。
【００７１】
シーケンス全体で一定の情報がコンフィグレーション・ファイル４１２に含まれる。例えば、ファームウェアの改訂番号やシリアル番号やパネルの種類や処理段階やテスタの位置が含まれる。また、コンフィグレーション・ファイル４１２に含まれる情報には、再配列オプションと補正オプションとアーカイブオプションと表示オプションが含まれる。較正ファイル４１６は、ゲインとオフセットと欠陥画素と画素毎のＡＲＣ１９６のチャネルゲインについてデータを補正するための全情報を含む。対照的に、シーケンスファイル４１４は、シーケンスの各フレームの特定の獲得パラメータを含む。これらの特定の獲得パラメータは全ての検出パラメータとイベントタイミングを含む。
【００７２】
図２２は、コンピュータ通信バス３０２によってシステムコンポーネントと相互作用するハードウェアドライバインタフェース４１０のブロック図である。ハードウェアドライバインタフェース４１０は、イベントコンパイラ４０８の主要素としてノコマンドを含み、フレームシーケンスの記述構造を詳細なイベントインストラクションセットに翻訳し、そのインストラクションセットは検出器フレーミングノード３０４のイベントプロセッサ３７４上のキューにロードされる。ハードウェアドライバインタフェース４１０は、イベントコンパイラ４０８とハードウェアデバッグツールキット４０９と外部デバイスに対する複数の外部デバイスサポート４１１を含む。外部デバイスサポートは、複数の外部デバイス、例えば、検出器フレーミングノード３０４や高分解能ディスプレイ３３８等をサポートする。ハードウェアドライバインタフェース４１０は、バスインタフェースによって外部デバイスと通信する。コマンドを利用して基本的なメッセージを外部デバイスに送信し、応答メッセージ、例えば、検出器のメッセージやＸ線ステータスメッセージをユーザアプリケーションに戻すことができる。テストシステムの開発には、各ハードウェアをデバッグして検査するためのソフトウェアセットが関わる。ツールキットとしてテスタ製品の一部としてこのソフトウェアを明確な形にし、文書化し、提供して、ユーザや保守管理者によるシステムサポートを支援する。イベントコンパイラ４０８はソフトウェアパッケージであって、フレームシーケンスファイルを獲得し、ＤＦＮ３０４内のＤＦＮ制御部３７０にロードされる制御ワードセットを生成して、所望の制御機能を実現する。
【００７３】
図１７に示されるように、ハードウェアシステム３４０はハードウェアとソフトウェアを備え、市販のディスプレイドライバカードの駆動をウィンドーレベルで制御して、データの獲得結果を表示する。ディスプレイは生の保存画像と処理された保存画像の両方を表示する。表示データは、蛍光体の非線形性を示すためのガンマ補正部を含む８ビットである。最低倍率では、表示される最下位ビット（「ＬＳＢ」）と画像検出システム１１２から受信した最下位ビットには一対一の相関関係がある。第２のモニタ３６８を用いてユーザインタフェースが提供される。画像表示部は、Ｘｉａ機能、例えば、パンやズームや画素振幅の表示をサポートする。オプションとして、選択された画素の行番号と列番号は、注目領域の統計量の演算値と共に表示される。
【００７４】
ディスクアーカイブ３０８は短期記憶に用いられ、取り外し可能ディスクドライブまたは書き込み可能６５０ＭバイトＣＤ−ＲＯＭで実施される。生画像と処理された画像と共に記述情報のヘッダを保存する能力がサポートされている。
【００７５】
ホストコンピュータ１１４はネットワークサポートを備え、１０／１００Ｍビット／秒のイーサネットカードとイーサネットを介してデータ転送を行うためのソフトウェアから構成される。その他のデバイス、例えば、パネルテストで用いられるＬＥＤやコリメータがサポートされる。それらのサポートにはさらに別のＰＣＩカードや、そのＰＣＩカードにデータを収集する、即ち、送信するためのＣプログラムのドライバが含まれる。
【００７６】
放射線生成システム１０９を制御したり、それからの制御を受けるために、８ビットリアルタイムパラレルＩ／Ｏバス３７９が用いられる。タイミングはＤＦＮ制御部３７０から提供される。Ｘ線生成から検出器制御ボード１２４上のデータ獲得までの遅延はソフトウェアの制御下で与えられる。従って、データ獲得とＸ線生成の同期化が行われる。Ｘ線生成電圧と電流と共に、テスタハードウェアやソフトウェアを介してＸ線生成部１０２をオン／オフする動作は、ソフトウェア制御下で設定される。制御グリッドを用いてＸ線生成部１０２がパルス制御される。パルス間の電流／電圧は２００ｍ秒の時間分解能で制御される。別の方法では、Ｘ線生成器１０２に個々のインタフェースが提供される。
【００７７】
また、８ビットリアルタイムパラレルＩ／Ｏバス３７９を用いて放射線生成システム１０９のＸ線生成器１０２を制御する。ＤＦＮ３０４上のＤＦＮ制御部３７０によってタイミングが提供される。Ｘ線生成から検出器制御ボード１２４上のデータ獲得までの遅延はソフトウェアの制御下で与えられる。Ｘ線生成器１０２はオン／オフ信号でトリガされる。別の方法では、生成器の電圧と電流と照射時間が設定されて、測定される。同様に、８ビットリアルタイムパラレルＩ／Ｏバス３７９を用いて、Ｘ線撮影用デジタルＸ線のＸ線生成器を制御する。
【００７８】
図２３は、検出器制御ボード１２４のコンフィグレーション設定を示すブロック図である。ファイバーチャネルインタフェースハードウェアを介して検出器フレーミングノード３０４は検出器制御ボード１２４とインタフェースし、１．２５ＧＨｚの通信レートをサポートする。図２３のコンフィグレーション設定を制御することによって、ユーザはデータ獲得処理を制御することができる。
【００７９】
図１と図１８を参照して、検出器フレーミングノード３０４によって、ホストコンピュータ１１４は放射線生成システム１０９と画像検出システム１１２とインタフェースすることができる。従って、検出器フレーミングノード３０４は検出器制御ボード１２４と通信するためのファイバーチャネルインタフェースと、放射線生成システム１０９と通信するためのＲＳ−４８５リアルタイムバスインタフェース３７８と、ホストコンピュータ１１４と通信するためのコンピュータ通信インタフェース３８２をサポートする。ＤＦＮ３０４のアーキテクチャのブロック図が図１８で示されており、直前で説明したインタフェースを示している。インタフェース通信用のハードウェアと共に２つのＦＰＧＡがカードを介してデータフローを制御する。ＥＰ３７４はシーケンサを備え、検出器とＸ線イベントインストラクションをリアルタイムに組み合わせる。また、ＥＰ３７４はホストコンピュータ１１４と通信するコマンドインタープリタを備える。ＤＡＰ３７２はフレーム読み出し中での画像データのルーティングを制御し、画像検出バス３７７とローカルバス３８４とＤＦＮメモリ部３８０間のブリッジチップとして動作する。
【００８０】
検出器フレーミングノード３０４は、ＤＦＮ制御部３７０の形態でプログラマブルロジックに基づくアーキテクチャをサポートする。ＤＦＮ制御部３７０は、内蔵プロセッサ上の一対のＦＰＧＡから構成されることが好ましい。第１に、ＦＰＧＡ用のファームウェアは、一つのＡＳＩＣに組み込むためにＶＨＤＬハードウェア記述言語で書かれ、その大部分は独立したプラットフォームのまま残る。第２に、検出器フレーミングノード３０４のＶＨＤＬシミュレーションによって、ハードウェアの開発時間が短縮される。第３に、プログラマブルロジックデバイスを用いることによって、ＤＦＮ３０４の設計の簡素化することができ、ＤＦＮ３０４上の様々なクライアント・バス、即ち、画像検出バス３７７とコンピュータ通信バス３０２とリアルタイムバス３７９間の信号のカスタムルーティングが可能となる。コンフィグレーション可能な論理を用いることによって設計とシミュレーションとプログラミングを簡素化することができる。
【００８１】
検出器フレーミングノード３０４は、３２ビット、３３ＭＨｚのコンピュータ通信インタフェース３８２を用いて６０Ｍバイト／秒の転送レートをサポートする。別の実施形態によれば、コンピュータ通信インタフェース３８２は６４ビットのＰＣＩインタフェースである。ＤＦＮメモリ部３８０は２Ｍバイトのフレームバッファとして具現化された５個のフレームバッファメモリ部３８１を含む。各フレームバッファメモリ部３８１は、損失やデータ中断なしに画像検出バス３７７からコンピュータ通信バス３０２への連続したデータ転送を容易にする（バースト転送が発生する）。５個のバッファを用いることによって、損失やデータ中断なしに一乳房撮影用デジタルＸ線画像を捕らえるための余裕ができる。リアルタイムバス３７９は８チャネルの全二重リアルタイムバスインタフェース（ＲＳ−４８５）である。
【００８２】
検出器フレーミングノード３０４は、シリアル接続を介して放射線生成システム１０９を制御する。言い換えれば、検出器フレーミングノード３０４は、Ｘ線生成・外部制御部と直列接続されている。検出器フレーミングノード３０４は、１．２５Ｇボーレートで動作する画像検出インタフェース３７６と、３２ビット、３３ＭＨｚのコンピュータ通信インタフェース３８２と、８ビットのＲＳ−４８５リアルタイムバスインタフェース３７８と、検出器イベントインストラクションとＸ線インストラクションのリアルタイムシーケンスとビルトインセルフテスト（「ＢＩＳＴ」）と、フィールドの再生と、パワーダウン能力と、６０Ｍバイト／秒のソフトウェアリセットの連続データスループットと、キー信号の監視をサポートする。ＢＩＳＴは５個のフレームバッファメモリ部３８１の全て、即ち、１０個のＳＲＡＭと、画像検出バス３７７上の電気的ループバックテストと、リアルタイムバス３７９上の電気的ループバックテストで提供される。
【００８３】
検出器フレーミングノード３０４の主な構成要素は以下に示す表１に基づいて具現化される。
0004159288.tif 000005
【００８４】
テストと監視を行うために、自己温度監視とユニークボードＩＤとレイアウト改訂番号とＤＦＮ制御部３７０の再生用のＪＴＡＧポート５４２とＦＰＧＡ  ＥＥＰＲＯＭの再プログラミングのためのＪＴＡＧポート５４４と視覚的診断インジケータとローカルバスアクセス用のコネクタと画像検出バス３７７アクセス用のコネクタとＤＡＰ／ＥＰテストバス３８４アクセス用のコネクタが検出器フレーミングノード３０４によってサポートされる。
【００８５】
ＥＰ３７４は、アルテラフレックスファミリ社製−１スピードグレード２００ＫゲートＦＰＧＡであって、バスマスタ能力を有する３２ビットのローカルデータバスをサポートする。また、ＥＰ３７４は、２０ビット・ローカルアドレスバスと３２ビット・テストバスとＤＡＰ３７２への３２ビットのダイレクトリンクと３２ビット・ファイバーチャネル受信用バスと３２ビット・ファイバーチャネル送信用バスと１２ビット・ファイバーチャネル制御バスと３１．２５ＭＨｚファイバーチャネル基準クロック入力と３６／３３ＭＨｚのローカルバスクロック入力と低電力動作用２．５Ｖコアと３．３ＶのＴＴＬコンパチブルインタフェースをサポートする。ＥＰ３７４は８個の視覚的診断インジケータを駆動し、オンボード温度センサとインタフェースする。同様に、ＥＰ３７４は利用可能な５ビットのレイアウト改訂コードを読み出し、ボードＩＤチップとインタフェースする。
【００８６】
ＤＡＰ３７２は、アルテラフレックスファミリ社製−１スピードグレード２００ＫゲートＦＰＧＡであって、３２ビット・ローカルデータバスとバスマスタ能力を有する２０ビット・アドレスバスと３２ビット・ファイバーチャネル受信用バスと３２ビット・３１．２５ＭＨｚファイバーチャネル基準クロック入力と３６／３３ＭＨｚローカルバスクロック入力とローカルバス調停ロジックとＳＲＡＭアドレスバスとＳＲＡＭデータバスとＳＲＡＭ制御ラインとＳＲＡＭクロックとＪＴＡＧバスコントローラと３２ビット・テストバスと低電力動作用２．５Ｖコアと３．３Ｖ・ＴＴＬコンパチブルＩ／Ｏをサポートする。
【００８７】
図１８は、検出器フレーミングノード３０４のブロック図である。ＤＦＮ３０４によって、ホストコンピュータ１１４は放射線生成システム１０９とＸ線画像検出システム１１２とインタフェースでき、Ｘ線デジタル画像獲得処理を制御する。ＤＦＮ３０４は画像検出インタフェース３７６とリアルタイムバスインタフェース３７８を含む。ＤＦＮ制御部３７０は２つのＦＰＧＡからなり、ＤＦＮ３０４を介してデータフローを制御する。ＥＰ３７４はシーケンサを備え、検出器とＸ線イベントインストラクションをリアルタイムに組み合わせる。また、ＥＰ３７４はコマンドインタープリタを備え、コンピュータ通信バス３０２を介してホストコンピュータ１１４と通信する。ＤＡＰ３７２はフレーム読み出し中の画像データのルーティングを制御し、画像検出バス３７７とローカルバス３８４とＤＦＮメモリ部３８０間のブリッジチップとして動作する。
【００８８】
図２４は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）４４０の概略図である。ＤＦＮ３０４に内蔵されている機能の大部分は２つのＦＰＧＡ４４０をＤＦＮ制御部３７０として用いることによって実現される。ＦＰＧＡ４４０は高速カスタムロジックとバス集中アプリケーションに用いられる多数のユーザＩ／Ｏを備える。ＤＦＮ３０４上のロジックは全てＶＨＤＬハードウェア記述言語を用いて記述されているので、様々なＦＰＧＡアーキテクチャに対して移植性が高い。ＤＦＮ３０４に用いられる特定のＦＰＧＡは、大量のコンフィグレーション可能な配線と共にロジックアレイブロック（「ＬＡＢ」）４４２のマトリクスを含む。図２４に示されるように、各ＬＡＢ４４２は、それに関連するローカル配線リソースと共に８つの論理要素（「ＬＥ」）４４４にさらに分割される。各ＬＥ４４４は、組み合わせ論理関数を実現するためのルックアップテーブルに基づく４入力ＳＲＡＭを備え、フリップフロップに接続される。信号はユーザＩ／Ｏパッドセルとの間で送受信されるが、ユーザＩ／Ｏパッドセル自体はパラメータ、例えば出力立上り時間やオープンコレクタ出力等を変更するようにコンフィグレーション可能である。論理密度や動作速度のためにＦＰＧＡ４４０が選択される。
【００８９】
図２５はＥＰ３７４のブロック図である。ＥＰ３７４はＤＦＮ３０４の制御デバイスとして用いられる。図２５に示されるように、ＥＰ３７４は、互いに通信してＤＦＮ３０４の機能の様々な態様を制御する多数のサブユニットからなる。これらの各サブユニットについて順に議論する。
【００９０】
ＥＰ制御部４５０は、ＥＰ３７４の動作を監視し、ローカルバス３８４とファイバーチャネルインタフェース４８０とイベントシーケンサ部４７０間の相互作用を調整する。ＥＰ制御部４５０は、ＥＰ３７４内で生じる様々な動作をパラメータ化する複数の制御レジスタ４５４と実行中に起きた問題をホストコンピュータ１１４に記録するために用いられる複数のエラーレジスタ４５２を保持する。ＥＰ制御部４５０は、マスタ制御部４５６によってエラーレジスタ４５２と制御レジスタ４５４間の相互作用を調整する。
【００９１】
ＰＣＩ／ローカルバスインタフェース部４６０は、ＥＰ３７４とローカルバス３８４間の通信のホストとなる。コンピュータ通信インタフェース３８２とのローカルバス接続を介して、ＰＣＩ／ローカルバスインタフェース部４６０は、コンピュータ通信バス３０２を介してＤＦＮ３０４に送信されるコマンドの主な応答部として機能する。ＰＣＩ／ローカルバスインタフェース部４６０は、ホストコンピュータ１１４からのコマンドを処理するＰＣＩコマンドインタープリタ４６２を含む。例えば、コマンドには、次のシーケンスのデータとともにイベントシーケンサ部４７０内のＥＡＢメモリ４７４へイベントキューをロードしたり、開始シーケンスコマンドの処理が含まれる。
【００９２】
イベントシーケンサ部４７０は、ＥＡＢメモリ４７４にイベントキューを保管し、シーケンス動作中はイベントインストラクションをデコードし、実行する。イベントキューはＥＰ３７４上の利用可能なオンチップＥＡＢメモリ４７４を用いて具体化される。ＥＡＢメモリ４７４のイベントキューは、最も効率よくメモリリソースを利用するためにバイト単位で構成される。ＥＡＢメモリ４７４内でのイベントの順序付けやイベントキューの読み出し／書き込みは、キュー制御部４７２によって制御される。イベントインタープリタ４７６によってイベントインストラクションの翻訳が実行される。シーケンス実行中にイベントインストラクションがイベントキューから読み出されるとき、様々なインタフェースから送信されるデータは、それをさらに処理するためにイベントインタープリタ４７６によってＥＰ３７４上のその他のユニットに転送される。
【００９３】
ファイバーチャネルインタフェース４８０は、画像検出インタフェース３７６との通信を保持しなければならない。データは、ＦＣ  ＥＰ送信部４８４によって送信され、ＥＰ  ＦＣ受信部４８６によって受信される。リンクの状態は、通信が喪失しているかどうか、または異常状態が起こっているときにホストコンピュータ１１４に通知するＥＰ  ＦＣ制御部４８２によって監視される。３６．０ＭＨｚのローカルバスクロックで実行されるほとんどのＥＰ３７４とは異なり、ＥＰ  ＦＣ送信部４８４は３１．２５ＭＨｚのファイバーチャネル送信クロック５８４で実行される。同様に、ＥＰ  ＦＣ受信部４８６はファイバーチャネル受信クロック５８５で実行される。この非同期動作によって、画像検出バス３７７とローカルバス３８４間のレートを変える。ファイバーチャネルインタフェース４８０内のユニットは、ハンドシェーキング／ダブルバッファレジスタ用のフラグを用いて、残りのＥＰ３７４と非同期通信を行う。
【００９４】
ＥＰリアルタイムバスインタフェース４９０は、ＥＡＢメモリ４７４内のイベントキューからのリクエストを処理するが、このリクエストは、リアルタイムバス３７９の状態を変更を求めるリクエストである。また、ＥＰリアルタイムバスインタフェース４９０は、外部デバイス（例えば放射線生成システム１０９）が強制的にリアルタイムバス３７９の状態になったとき、イベントキューとホストコンピュータ１１４に通知しなければならない。
【００９５】
ＥＰ３７４に対しては、２本のグローバルクロック入力信号、即ち、ＧＣＬＫ１入力信号４９２とＧＣＬＫ２入力信号４９４がある。これらの入力信号は、２つの専用クロックツリーを用いて、デバイス上の全ての論理に最適に分配置される。ＥＰ３７４では、ＧＣＬＫ１  ４９２とＧＣＬＫ２  ４９４は、３６．０ＭＨｚのローカルクロック５７４と３１．２５ＭＨｚのファイバーチャネル送信クロック５８４によってそれぞれ駆動される。
【００９６】
また、さらに４本の専用グローバル信号ラインがあるが、これらのタイミングは最適化されていない。ＥＰ３７４では、これらは３本のリセット信号トリガ４９６に接続される。コンピュータ通信インタフェース３８２によって２本のリセットトリガ（ＵＳＥＲｏとＬＣＬ＿ｒｓｔ）が生成され、以下に詳細に示すように、パワーオンリセット回路から第３の信号が発せられる。
【００９７】
図２６は、ＤＡＰ３７２のブロック図であって、ＤＡＰ３７２はＤＦＮ制御部３７０で用いられる第２のＦＰＧＡである。ＤＡＰ３７２は主に、３１．２５ＭＨｚで有効に動作する画像検出バス３７７から受信したデータと３６．０ＭＨｚで動作するコンピュータ通信バス３０２間のレートを変えることに関係する。ＤＡＰ３７２は、の画像検出バス３７７から受信したデータを第１のフレームバッファメモリ部３８１に記憶することによってレートを変更し、同時に、第２のフレームバッファメモリ部３８１から以前記憶されたデータをコンピュータ通信インタフェース３８２を介してコンピュータ通信バス３０２に読み出す。
【００９８】
図２６に示されるように、ＤＡＰ３７２は多数のサブユニットからなり、これらはＤＦＮ３０４の画像データフローを調整する。まず、ＤＡＰ  ＦＣ受信部５００では、３２ビットの画像データが３１．２５ＭＨｚのファイバーチャネル受信クロックレートで受信される。各３２ビットワードは２つの１６ビット画素値を備え、各々検出器制御ボード１２４によって同時に読み出される。結合された３２ビットワードは、ファイバーチャネル受信クロックを用いてファーストインファーストアウト（「ＦＩＦＯ」）部５０２に書き込まれる。同時に、データはＤＡＰ  ＦＩＦＯ部５０２から画素再配列部５０４に非同期に読み出される。画素再配列部５０４によって実行される再配列機能は、以下に詳細に示される。このデータは３６．０ＭＨｚのローカルバスクロックレートで処理される。画素は、画素再配列部からクロスバー５０６に送られ、クロスバーは現在アクティブなフレームバッファメモリ部３８１に対する画素の経路づけをおこなう。
【００９９】
現在アクティブな受信フレームバッファメモリ部３８１に受信データが記憶されると同時に、以前記憶されたデータが現在アクティブな記憶フレームバッファメモリ部３８１からコンピュータ通信バス３０２に読み出される。データは再びクロスバー５０６で経路づけされる、この場合は、コンピュータ通信インタフェース３８２に送信され、その後コンピュータ通信バス３０２に送信される。ＤＦＮ３０４内の５つの利用可能なフレームバッファメモリ部３８１は各々、コンピュータ通信バス３０２上で通信を終了させる可能性に対処するため、タイミングセーフガードを加える。通信が中断されても、受信回路は続けて画像検出システム１１２から受信するデータを記憶するが、もしそうでなければ、このデータは失われる。コンピュータ通信バス３０２が再び選ばれると、データは引き続き３６．０ＭＨｚのローカルバスクロックレートで転送される。これにより、中断されずにデータを転送でき、また画像検出バス３７７とコンピュータ通信バス３０２間のレートを変えることができる。
【０１００】
データフローアーキテクチャの一部として、ＤＡＰ３７２は、ＥＰ３７４とコンピュータ通信インタフェース３８２とＤＡＰ３７２間にあるローカルバス３８４へのアクセスを調整するローカルバス調整器５０７を備える。実際、クロスバー５０６とコンピュータ通信インタフェース３８２間は双方向接続である。この双方向性によって、コンピュータ通信バス３０２によってアドレス生成器５１２を直接制御すると同時に、ホストコンピュータ１１４はフレームバッファメモリ部３８１の直接読み出し／書き込みが可能となる。
【０１０１】
図２６に示されるように、ＤＡＰ３７２はアドレスバスとフレームバッファメモリ部３８１の読み出し／書き込み信号を制御する。画像フレームコントローラ５０８は、アクセスされる検出パネルの種類の詳細情報（ライン長、ライン／画像）によってコンフィグレーションが行われ、入ってくる画素データを追跡して適切なフレーミングを維持することを保証する。ライン長もしくはフレームサイズが一貫していないイベントではエラーが生成され、ホストコンピュータ１１４に報告される。ライン再配列部５１０は、アドレス生成器５１２にデータを供給することによって、現在アクティブの受信／記憶フレームバッファメモリ部３８１に対する適切なアドレスを生成させる。同時に、様々なメモリ部制御信号の正確なタイミングが、読み出し／書き込みサイクル制御部５１４によって保持される。フレームバッファメモリ部３８１に関する詳細情報が以下に示される。
【０１０２】
ＤＡＰ３７２へのグローバルクロック入力信号は、ＧＣＬＫ１  ５１６とＧＣＬＫ２  ５１８の２本である。これらの入力信号は、２つの専用クロックツリーを用いて、デバイス上の全ての論理に最適に分配置される。ＤＡＰ３７２上では、ＧＣＬＫ１  ５１６とＧＣＬＫ２  ５１８は３６．０ＭＨｚのローカルバスクロックと３１．２５ＭＨｚのファイバーチャネル受信クロック５８４によってそれぞれ駆動される。また、さらに４本の専用グローバル信号ラインがある。ＤＡＰ３７２上では、専用グローバル信号ラインは３本のリセット信号トリガ５２０に接続される。コンピュータ通信インタフェース３８２によって２本のリセットトリガ（ＵＳＥＲｏとＬＣＬ＿ｒｓｔ）が生成され、以下に詳細に示すように、パワーオンリセット回路から第３の信号が生成される。
【０１０３】
ＤＡＰ制御部５２１はＤＡＰ３７２の動作を監視しなければならない。ＤＡＰ制御部５２１は、ＤＡＰ３７２で発生する様々な動作をパラメータ化する制御レジスタ５２４を保持する。また、ＤＡＰ制御部５２１は、実行中の問題をホストコンピュータ１４４に報告するために用いられるエラーレジスタ５２２を保持する。最初の電源投入時、またホストコンピュータ１１４からのコマンドに関して正常に動作している間、ＲＡＭ  ＢＩＳＴ５２８は、フレームバッファメモリ部３８１のビルトインセルフテストを実行する。詳細な情報を以下で示す。
【０１０４】
図２７は、ＤＦＮ制御部３７０とパワーオンリセット部５３５のブロック図である。テスト／デバッグの他にフィールド内のファームウエアの更新を容易にするために、プログラマブルメモリ部３２９によって、ＤＡＰ３７２とＥＰ３７４のコンフィグレーションを行うことができる。プログラマブルメモリ部３２９は、ＤＡＰ  ＥＥＰＲＯＭ部５３２とＥＰ  ＥＥＰＲＯＭ部５３０を備える。別の方法では、ＤＡＰ３７２とＥＰ３７４は、プログラマブルＪＴＡＧポートＪＴＡＧ１  ５４２とＪＴＡＧ２  ５４４である。典型的なオペレーションでは、最初にホストコンピュータ１１４に電源が投入されるときに、ＤＦＮ３０４に電源が投入される。この段階では、ＤＡＰ３７２とＥＰ３７４の各々は、それぞれのＥＥＰＲＯＭからブートするため、それぞれのＥＥＰＲＯＭからデータをロードすることによって動作可能となる。図２７は、ＤＦＮ３０４のコンフィグレーション回路を示す。ＤＡＰ３７２とＥＰ３７４は各々、それに関連するＥＥＰＲＯＭ部を備えるが、このＥＥＰＲＯＭ部は、デイジーチェーンされプログラム用記憶場所を備える２つのＥＰＣ２チップを備える。ＤＡＰ３７２とＥＰ３７４の各々ののＥＥＰＲＯＭ部が簡潔に示されている。各ＥＰＣ２チップはソケット型２０ピンＰＬＣＣパッケージであって、再プログラミングのために容易に取り外すことができる。図示されているように、コンフィグレーション、即ち、データのロード処理は、シリアルデータを１ラインに供給してデバイスのコンフィグレーションを行う受動シリアルモードで行われる。
【０１０５】
プログラマブル制御部５２９は、最初のブートシーケンスインストラクションを記憶し、検出器フレーミングノード制御部３７０を制御する。制御部５７０によるリセット、もしくは検出器フレーミングノード３０４に最初に電源を投入するために、プログラマブル制御部５２９は、最初のブートシーケンスインストラクションをロードする。本発明の一実施形態によれば、最初のブートシーケンスインストラクションは、ホストコンピュータ１１４からコンピュータ通信インタフェース３８２を介して検出器フレーミングノードメモリ部３８０に更新インストラクションを送ることによって更新される。更新インストラクションは、検出器フレーミングノードメモリ部３８０からプログラマブルメモリ部５２９に送られる。ＪＴＡＧループ５４５は、更新インストラクションをローカルバス３８４からプログラマブルメモリ部５２９に送る。
【０１０６】
図２７に示されるように、ＤＡＰパワーオンリセット（「ＰＯＲ」）部５３６とＥＰ  ＰＯＲ部５３４を用いて、ＤＦＮ３０４に電源が投入されてからさらに１４０ｍ秒の間ｒｅｃｏｎｆｉｇラインをロウに保持することによって、コンフィグレーションが完了する。これにより、１００ｍ秒の電源立ち上がり時間が確保できなかった場合でも、ＤＡＰ３７２とＥＰ３７４のコンフィグレーションを確実に行うことができる。別の方法では、プッシュボタンスイッチを用いて各ＰＯＲ回路部を手動でディスエーブルにし、電力をボードに循環させずにＦＰＧＡを再びコンフィグレーションすることができる。ＦＰＧＡのコンフィグレーションに関与する全信号ラインは、ボードの最上層で利用可能となっているので、ボードの初期テスト中に問題が検出されたときに、ＦＰＧＡのコンフィグレーションのデバッグが容易になる。また、ＤＡＰ３７２もしくはＥＰ３７４のリブートを選択的にディスエーブルにするために、ジャンパが提供することによって、コンフィグレーション中、もしくは特定のデバイスによる問題のデバッグが支援される。
【０１０７】
ＤＦＮ３０４のテスト／デバッグ中、図示されたＪＴＡＧポート５４２、５４４を介して、ＦＰＧＡのコンフィグレーションとＥＥＰＲＯＭ部５３０、５３２のプログラミングが完了する。ＦＴＡＧ１  ５４２はＥＰ３７４とＤＡＰ３７２を含むループに提供される。デバッグ、もしくはファームウェアの開発中に問題が生じたとき、実装されていない０オームのレジスタを用いてＥＰ３７４もしくはＤＡＰ３７２をループから解除させることが可能となる。
【０１０８】
ＪＴＡＧ２  ５４４は、２つのＥＥＰＲＯＭ部５３０，５３２を含むループに提供され、ＥＥＰＲＯＭ部５３０，５３２をプログラムするために用いられる。カリフォルニア州サンノゼにあるアルテラ社製のＢｙｔｅ  ＢｌａｓｔｅｒケーブルとＭａｘＰｌｕｓＩＩソフトウェアを用いて、それぞれのＪＴＡＧポートを介してＥＥＰＲＯＭ部５３０、５３２をプログラムすることができる。図２８に示されるように、ＪＴＡＧ２  ５４４はＤＡＰ  ＥＥＰＲＯＭ部５３２とＥＰ  ＥＥＰＲＯＭ部５３０を含む第２のＪＴＡＧループ５４５に備えられて、ＥＰ３７４とＤＡＰ３７２をプログラムするために用いられる。
【０１０９】
ＤＦＮ３０４がフィールド内に存在するときに、オプションとして、ファームウェアを異なるバージョンに更新することができる。便宜上、ホストコンピュータ１１４を開けてＥＥＰＲＯＭデバイスを最近のバージョンのものに交換せずに、直接更新することができる。ＥＥＰＲＯＭ部のインシステム・プログラミング性能は、上述したように各ＪＴＡＧポートを介してサポートされる。ＤＦＮ３０４によって、Ｂｙｔｅ  ＢｌａｓｔｅｒケーブルやＭａｘＰｌｕｓＩＩソフトウェアを用いずに、ホストコンピュータ１１４は、コンピュータ通信バス３０２を介して、ＪＴＡＧ１  ５４２やＪＴＡＧ２  ５４４を直接アクセスできる。
【０１１０】
図２７に示されるように、ＥＥＰＲＯＭ部５３０，５３２をＪＴＡＧ２ポート５４４からプログラム可能とする第２のＪＴＡＧループ５４５は、ユーザＩ／Ｏピンを介してＤＡＰ３７２に接続される。ファームウェアの古いバージョンを用いてボードＦＰＧＡが適切にコンフィグレーションされると、ＥＥＰＲＯＭ部は、ＤＡＰ３７２に常駐するファームウェアのアプリケーションを用いて再プログラム可能である。ＥＥＰＲＯＭ部のデータはコンピュータ通信バス３０２を介してフレームバッファメモリ部３８１に転送される。フレームバッファメモリ部３８１から、ＤＡＰファームウェアによってデータが読み出され、シリアル化され、フォーマット情報やコマンド情報と共に、それぞれのＪＴＡＧバスを介して転送される。
【０１１１】
対応するＪＴＡＧバスを介してＤＡＰ３７２が、ＥＥＰＲＯＭ部を再プログラムした後で、ＤＰＡ３７２はＪＴＡＧコマンドを発行して、ＥＥＰＲＯＭ部に、ＤＡＰ３７２とＥＰ３７４の自動的な再コンフィグレーションを実行させる。ＥＰ  ＥＥＰＲＯＭ部５３０とＤＡＰ  ＥＥＰＲＯＭ部５３２を構成するＥＰＣ２チップの再プログラミングを可能にする試みが一つある。エラーチェック処理によってデバイスが正確にプログラムされることが保証されるが、これではユーザがＥＰＣ２に誤ったファームウエアのプログラミングを行うことを防ぐことができない。ソフトウェアインターロックを用いたり、また一般的な予防策によってこの状況は緩和される。ＥＥＰＲＯＭ部は常に物理的にＤＦＮ３０４に戻される。
【０１１２】
ＤＦＮ３０４は５つのフレームバッファメモリ部３８１にグループ化された１０個の９．４ＭビットＳＲＡＭを用いる。以下に詳細に示されるが、ＳＲＡＭへのアドレスバスとデータバスは、これらのデバイスを制御し画素データ再配列アルゴリズムを実行するＤＡＰ３７２に接続される。ＳＲＡＭが連続して読み出されるとき、メモリマップド高分解能ディスプレイ３３３に正確に表示するためにデータを再び整列させるように検出パネルの各行からＳＲＡＭへデータを書き込むことによって、各フラットパネル検出器のデータ再配列が行われる。ダイレクトメモリアクセス（「ＤＭＡ」）用のコンピュータ通信バス３０２を用いて、データはＳＲＡＭからホストコンピュータ１１４のコンピュータＲＡＭ３３４に転送される。
【０１１３】
各ＳＲＡＭは１００ピン薄型クワッドフラットパック（「ＴＱＦＰ」）パッケージに含まれる。部品は２５６Ｋ×３６として構成され、１２ｎ秒サイクルタイムを有する。アドレス信号と、データ入力信号と、出力イネーブル信号とリニアバーストイネーブル信号を除く全ての制御信号はクロックの立ち上がりエッジで真となる。ＳＲＡＭは３６ＭＨｚで動作するため、先頭の部分に余裕ができる。通常、データは２つの１６ビットワードであるため、各ＳＲＡＭの下位４ビットは用いられず、有効なメモリ容量は８．４Ｍビットである。全てのピンが検査のために利用可能であるため、ＴＱＦＰパッケージによってデバッグが可能となる。しかしながら、ＢＧＡパッケージを用いることによって、製造の歩留まりが向上する。ＤＦＮ３０４が形成されたボードの各物理的サイドに５つのＳＲＡＭを配置することによって、アドレス／データライン長を最小にすることができる。各フレームバッファメモリ部３８１を構成するＳＲＡＭ対は物理的なボードのサイドに交互に配置される。
【０１１４】
一対のＳＲＡＭとして構成されるフレームバッファメモリ部３８１へのデータの書き込みと、一対のＳＲＡＭである第２のフレームバッファメモリ部３８１からのデータの読み出しは同時に発生する。これは、データを処理し、５対の８．４ＭビットＳＲＡＭの対するデータの読み出し／書き込みを行うＤＡＰ３７２に５本の３２ビットデータバスと５本の１８ビットアドレスバスを提供することによって実現される。従って、６００ピンＤＡＰ３７２の２５０ピンが、ＳＲＡＭのアドレス用とデータ用に用いられる。
【０１１５】
１８ビット・アドレスバスと３２ビット・データバスの他に、用いられるＳＲＡＭ制御ピンはライトイネーブルピン（ＷＥ＃）と３本のチップセレクトピン（ＣＳ１＃，ＣＳ２，ＣＳ２＃）とスリープモードピン（ＺＺ）である。ＣＳ１＃を用いて読み出し／書き込み用のＳＲＡＭを選択する。ＣＳ２とＣＳ２＃を用いて、以下に示される心臓／外科用デジタルＸ線フラットパネルとＸ線撮影用デジタルＸ線フラットパネルのデータ再配列スキームを実施する。スリープモードは電力を抑えるために用いられる。＃はそのピンがアクティブロウであることを示すことに注意されたい。
【０１１６】
図２８は、心臓／外科用デジタルＸ線パネル４８２から読み出されるデータの概略図である。図示されているように、第１の心臓スキャンライン１８５は第１パネル部１８４から読み出されるデータラインであって、第２の心臓スキャンライン１８７は第２パネル部１８６から読み出されるデータラインである。各スキャンライン１８５，１８７はスプリットパネル１８４，１８６間の中心方向に向う。一番上のパネルの一番上の行と一番下のパネルの一番下の行から同時に画素を読み出すことによって、スプリットパネルの各々からデータが読み出される。アクティブフレームバッファメモリ部３８１へのデータ書き込みに備えて、最初の４つの画素（一番上の行からの２つと一番下の行からの２つ）からＤＡＰ３７２にデータが記憶される。
【０１１７】
心臓／外科用デジタルＸ線の場合、心臓／外科用デジタルＸ線パネル１８２から読み出されるデータは、ＤＦＮ３０４のＤＦＮメモリ部３８０のＳＲＡＭ  Ａ１，Ａ２に記憶される。ＳＲＡＭ  Ａ１，Ａ２はフレームバッファメモリ部３８１を備える。図２８は、実際に読み出されるデータとＳＲＡＭの対応、即ち、２つのＳＲＡＭを表す。ＤＦＮメモリ部３８０は１０個のＳＲＡＭを有する。
【０１１８】
図２９は、Ｘ線撮影用デジタルＸ線パネル２２８から読み出されるデータの概略図である。図示されているように、第１のＸ線撮影スキャンライン２３１は第１パネル部２３０から読み出されるデータラインであって、第２のＸ線撮影スキャンライン２３３は第２パネル部２３２から読み出されるデータラインである。各スキャンライン２３１，２３３はスプリットパネル２３０，２３２間をセンターラインに向かって進む。Ｘ線撮影用デジタルＸ線の場合、Ｘ線撮影用デジタルＸ線パネル２２８から読み出されるデータは、ＤＦＮ３０４のＤＦＮメモリ部３８０のＳＲＡＭ  Ａ１，Ｂ１，Ｃ１，Ｄ１とＡ２，Ｂ２，Ｃ２，Ｄ２に記憶される。それぞれの対のＳＲＡＭ  Ａ１，Ａ２とＢ１，Ｂ２とＣ１，Ｃ２とＤ１，Ｄ２は各々、一つのフレームバッファメモリ部３８１を有する。図２９は、実際に読み出されるデータとＳＲＡＭの対応、即ち、８つのＳＲＡＭを表す。ＤＦＮメモリ部３８０は１０個のＳＲＡＭを有する。
【０１１９】
図３０は、乳房撮影用デジタルＸ線パネル２４４から読み出されるデータの概略図である。図示されているように、乳房撮影スキャンライン２４５は、乳房撮影用デジタルＸ線パネル２４４から読み出されるデータラインである。スキャンライン２４５は、パネル２４４を横切って下方向に進む。乳房撮影用デジタルＸ線の場合、パネル２４４から読み出されるデータは、ＤＦＮ３０４のＤＦＮメモリ部３８０のＳＲＡＭ  Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈに記憶される。物理ＳＲＡＭは上述されたＳＲＡＭ  Ａ１，Ａ２とＢ，Ｂ２とＣ１，Ｃ２とＤ１，Ｄ２と同じである。しかしながら、フレームバッファメモリ部３８１のＳＲＡＭ内のシーケンシャルデータ記憶部に対応するためその呼称は変わる。図３０は、実際に読み出されるデータとＳＲＡＭ、即ち、８つのＳＲＡＭのの対応を表す。ＤＦＮメモリ部３８０は１０個のＳＲＡＭを有する。
【０１２０】
図３１は、心臓／外科用のアプリケーションで、ＤＦＮメモリ部３８０を構成する複数のＳＲＡＭ  Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｄ１，Ｄ２，Ｅ１，Ｅ２に読み込まれるレントゲン検査／デジタル画像データの概略図である。ＤＦＮメモリ部３８０に読み込まれるデータは、図２８の心臓／外科用デジタルＸ線パネル１８２から読み出されるデータと同じである。複数のＳＲＡＭは、Ａ１，Ａ２とＢ１，Ｂ２とＣ１，Ｃ２とＤ１，Ｄ２とＥ１，Ｅ２の対として示され、ＳＲＡＭの各対は同時にデータを記憶することを示す。図示されているように、心臓／外科用デジタルＸ線パネル１８２からデータが読み出されるとき、データはリアルタイムにＤＦＮメモリ部３８０に記憶される。心臓／外科用デジタルＸ線パネル１８２によって利用されるデータ量は約２Ｍバイトであるため、２つのＳＲＡＭ、即ち、ＳＲＡＭ  Ａ１とＳＲＡＭ  Ａ２が各画像に用いられる。
【０１２１】
心臓／外科用デジタルＸ線パネル１８２を蛍光透視アプリケーションで用いて、３０フレーム／秒のリアルタイム動画像を獲得するとき、各ＳＲＡＭ対は動画像の一フレームをリアルタイムに記憶する。図１８では、各ＳＲＡＭ対はフレームバッファメモリ部３８１として示されている。ＤＦＮ３０４によって、第１のフレームバッファメモリ部３８１は、第２のフレームバッファメモリ部３８１がデータを読み出すときに同時にデータを獲得することができる。図３１，３２，３３で示された各ＳＲＡＭは、常に一対のＳＲＡＭチップを選択するために用いられるチップセレクトピン＃１、即ち、ＣＳ＃１を有する。
【０１２２】
図３２は、Ｘ線撮影用デジタルＸ線のアプリケーションで、ＤＦＮメモリ部３８０を構成する複数のＳＲＡＭ  Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｄ１，Ｄ２，Ｅ１，Ｅ２に読み込まれるＸ線撮影用デジタル画像データの概略図である。ＤＦＮメモリ部３８０に読み込まれるデータは、図２９のＸ線撮影用デジタルＸ線パネル２２８から読み出されるデータと同じである。複数のＳＲＡＭはＡ１，Ａ２とＢ１，Ｂ２とＣ１，Ｃ２とＤ１，Ｄ２とＥ１，Ｅ２の対として示され、同時に、対をなす各ＳＲＡＭはデータと共に記憶されることを示す。図示されているように、Ｘ線撮影用デジタルＸ線パネル２２８からデータが読み出されるとき、データはリアルタイムにＤＦＮメモリ部３８０に記憶される。Ｘ線撮影用デジタルＸ線パネル２２８によって利用されるデータ量は約８Ｍバイトであるため、８つのＳＲＡＭ、即ち、ＳＲＡＭ  Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｄ１，Ｄ２が各画像に用いられる。図３２は、ＤＦＮメモリ部３８０、特に、対のＳＲＡＭ  Ｂ１，Ｂ２でに獲得されるＸ線撮影用デジタルＸ線画像を示す。
【０１２３】
図３３は、乳房撮影用デジタルＸ線のアプリケーションで、ＤＦＮメモリ部３８０を構成する複数のＳＲＡＭ  Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｄ１，Ｄ２，Ｅ１，Ｅ２に読み込まれる乳房撮影用デジタル画像データの概略図である。ＤＦＮメモリ部３８０に読み込まれるデータは、図３０の乳房撮影用デジタルＸ線パネル２４４から読み出されるデータと同じである。複数のＳＲＡＭが、特にＡ、Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｊとして示され、各ＳＲＡＭは対ではなくて個別にデータを獲得することを示す。乳房撮影用デジタルＸ線パネル２４４は「スプリットパネル」ではなく一枚パネルであるため、上述したその他のケースと同様に、データが格納される。Ｘ線撮影用デジタルＸ線パネル２２８からデータが読み出されるとき、データはリアルタイムにＤＦＮメモリ部３８０に格納される。乳房撮影用デジタルＸ線パネル２４４によって利用されるデータ量は約８Ｍバイトであるため、８つのＳＲＡＭ、即ち、ＳＲＡＭ  Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈが各画像に用いられる。図３３は、ＤＦＮメモリ部３８０に獲得される一つの乳房撮影用デジタルＸ線画像を示す。
【０１２４】
図３４は、コンピュータＲＡＭ３３４内の心臓／外科用デジタルＸ線画像のメモリ割り当ての概略図である。別の方法では、心臓／外科用デジタルＸ線画像は、ＰＣＩ  ＲＡＭカード３３６に記憶される。ホストコンピュータ１１４の制御下で、デジタルＸ線画像はコンピュータ制御のメモリ内で処理されて、表示される。
【０１２５】
図３５は、コンピュータＲＡＭ３３４内のＸ線撮影用デジタルＸ線画像のメモリ割り当ての概略図である。別の方法では、Ｘ線撮影用デジタルＸ線画像はＰＣＩ  ＲＡＭカード３３６に記憶される。ホストコンピュータ１１４の制御下で、デジタルＸ線画像はコンピュータ制御のメモリ内で処理されて、表示される。
【０１２６】
図３６は、コンピュータＲＡＭ３３４内の乳房撮影用デジタルＸ線画像のメモリ割り当ての概略図である。別の方法では、乳房撮影用デジタルＸ線画像はＰＣＩ  ＲＡＭカード３３６に記憶される。ホストコンピュータ１１４の制御下で、デジタルＸ線画像はコンピュータ制御のメモリ内で処理されて、表示される。
【０１２７】
図３１−３３は、ＤＦＮメモリ部３８０に書き込まれるデータを示す。一般的に、フラットパネル検出器からの最初の読み出し中は、対応するチップセレクト制御ピンラインＣＳ２＃ラインをロウにすることによって、フラットパネル検出器の一番上の行から最初の２画素が一番上の一番左のＳＲＡＭ  Ａ１に書き込まれる。ＤＦＮ３０４上のファームウェアによって制御されるアドレスライントリガＡ１８（不図示）は、このライトサイクルではロウである。次に、ＣＳ２ラインをハイにすることによって、フラットパネル検出器の一番下の行から最初の２画素が一番左下のＳＲＡＭ  Ａ２に記憶される。アドレスライントリガＡ１８は、このライトサイクルではハイである。実際に、フラットパネル検出器の一番上の行から最初に２つの１６ビット画素がＳＲＡＭ  Ａ１に１つの３２ビットロングワードとして書き込まれる。同様に、フラットパネル検出器の一番下の行から最初に２つの１６ビット画素が、ＳＲＡＭ  Ａ２に１つの３２ビットワードとして書き込まれる。
【０１２８】
上述した態様で、フラットパネル検出器からのデータの読み出しが続けられるので、フラットパネル検出器の一番上の複数の画素対と、画素検出バスを横断する一番下のフラットパネルからの複数の画素対が交互に送られる。ＳＲＡＭ  Ａ１とＳＲＡＭ  Ａ２が満杯のとき、データはＳＲＡＭ  Ｂ１とＳＲＡＭ  Ｂ２等に記憶される。一例として、心臓／外科用デジタルＸ線パネル１８２から画像を獲得する場合、ＳＲＡＭ  Ａ１とＳＲＡＭ  Ａ２が満杯のとき、画像の上部分がＳＲＡＭ  Ａ１に記憶され、画像の下部分がＳＲＡＭ  Ａ２に記憶される。次に、データは次のＳＲＡＭ対、即ち、ＳＲＡＭ  Ｂ１とＳＲＡＭ  Ｂ２に格納される。まずデータが順次ＳＲＡＭ  Ａ１から読み出され、次に順次ＳＲＡＭ  Ａ２から読み出されるように、データは順次ＳＲＡＭから読み出され、従来の左から右への手順で再配列を実行する。読み出しの際は、データはモニタに表示するために再フォーマット化される。
【０１２９】
一対のＳＲＡＭは、心臓／外科用デジタルＸ線画像に対応する２Ｍバイトのデータを保持する。Ｘ線撮影用デジタルＸ線の場合、画像は４対のメモリチップに、即ち、８Ｍバイトのデータが記憶される。ＳＲＡＭメモリチップの各対は、パネルから、２Ｍバイトのデータストライプを記憶するものとして見られる。一対のＳＲＡＭメモリチップのデータが満杯になると、それらをＰＣＩバス３８３を介して読み出すことができる。フラットパネル検出器から出力された画像フレーム全体のうちの一部がＤＦＮ３０４に記憶され、別の部分はホストコンピュータ１１４に送信される。従って、４０４８×４０４８より大きいパネルがサポートされる。
【０１３０】
一枚フラットパネルを有する乳房撮影用デジタルＸ線のコンフィグレーションでは、再配列は行われない。一枚フラットパネルから連続する画素の順にデータが一度に２ビットずつ読み出され、同様に１０個のＳＲＡＭ  Ａ１，Ａ２，Ｂ１，．．．等に順次書き込まれる。ＤＡＰ３７２のファームウェアは、再配列せずに乳房撮影用デジタルＸ線を処理する。
【０１３１】
上に示されたように、デジタルＸ線画像データは、各フラットパネル検出器から直接ではなく、ＡＲＣチップ１９６やＤＲＣチップ１９８（図９を参照）を介してＳＲＡＭメモリに送られ、検出器制御ボード１２４でシリアルフォーマットに変換され、画像検出バス３７７を介してＤＦＮ３０４にシリアル送信され、３２ビットパラレルワードに変換される。ファイバーチャネルクロックは３１．２５ＭＨｚに設定され、３２ビットワードはこのレートでＤＡＰ３７２レジスタに記憶される。一つの３２ビットワードには、スプリットパネル検出器の一番上のパネルから一つと一番下のパネルから一つの心臓／外科用デジタルＸ線用とＸ線撮影用デジタルＸ線用の２つの１６ビット画素が含まれる。コンピュータ通信バス３０２の３６ＭＨｚクロックを用いて、データがメモリに書き込まれたり、メモリから読み出される。コンピュータ通信バス３０２を介して、コンピュータ通信バス３０２の３３ＭＨｚクロックレートでデータが転送される。コンピュータ通信インタフェース３８２のＦＩＦＯ内、もしくはオプションとしてＤＡＰ３７２では、画像検出バス３７７からローカルバス３８４にクロックレートを変換するためにバッファリングする。
【０１３２】
図３７は、コンピュータ通信インタフェース３８２、即ち、３２ビット、３３ＭＨｚのＰＣＩバスマスタＩ／Ｏアクセラレータチップの概略図である。コンピュータ通信インタフェース３８２はＰＣＩクラスを指定し、最大１３２Ｍバイト／秒の転送レートでバーストモードで動作する。コンピュータ通信インタフェース３８２は、３３ＭＨｚで動作するコンピュータ通信バス３０２と３６ＭＨｚかそれ以上で動作するＤＦＮローカルバス３８４をインタフェースする。コンピュータ通信インタフェース３８２内部にはファーストインファーストアウト（「ＦＩＦＯ」）メモリが含まれており、２本のバス間のデータレートを変えることができる。コンピュータ通信インタフェース３８２の構成には、ＤＭＡエンジンとダイレクトスレーブ／ダイレクトマスター性能と、メールボックスレジスタとドアベルレジスタを利用したＰＣＩメッセージ送信が含まれる。
【０１３３】
ＤＭＡを用いて、ＤＦＮ３０４上の２Ｍバイトのメモリバッファから直接コンピュータＲＡＭ３３４に画像を転送する。コンピュータ通信インタフェース３８２上のＤＭＡエンジンを用いて、コンピュータアプリケーションとＤＦＮ３０４上のプロセッサの両方からのデータ転送を管理する負荷を軽減する。ＤＭＡ設定はコンピュータ通信インタフェース３８２に書き込まれる４つの３２ビットワードデータを有する。３２ビットワードデータは、ローカルベースアドレスとＰＣＩベースアドレスと、転送サイズと転送を開始するためのコマンドを含む。メモリバッファをコンピュータＲＡＭ３３４に転送しなければならないときに、これらの４つの３２ビットワードデータがＥＰ３７４によって書き込まれる。
【０１３４】
ダイレクトスレーブ動作モードは、ＤＦＮ３０４に対する全てのコンピュータアクセスに用いられる。コンピュータ通信インタフェース３８２は、ＤＦＮ３０４が常駐するコンピュータ通信バス３０２上のアドレスを認識するようにプログラムされる。ＤＦＮ３０４の所定のメモリ空間内のメモリがアクセスされると、コンピュータ通信インタフェース３８２はコンピュータ通信バス３０２上で応答し、ＤＦＮ３０４のローカルバス側でメモリアクセスを実行する。本動作モードを用いて、ＤＡＰ３７２とＥＰ３７４上のレジスタの読み出し／書き込みを行い、ＤＦＮ３０４上のメモリバッファのメモリをアクセスし、ＤＦＮ３０４にコマンドを送信する。
【０１３５】
ダイレクトマスタ動作モードは、検出器情報をホストコンピュータ１１４に送信するために用いられる。発行されたコマンドからＤＦＮ３０４がアクノリッジを受信すると、ＤＦＮ３０４はこの情報をコンピュータＲＡＭ３３４内の所定のバッファに送信する。ホストコンピュータ１１４はバッファ空間を設定し、この通信モードが用いられる前に、ＤＦＮ３０４がデータをコンピュータＲＡＭ３３４に転送することを認める。
【０１３６】
コンピュータ通信インタフェース３８２は、多数のメールボックスレジスタと、ＤＦＮ３０４とコンピュータアプリケーション間のメッセージ送信に用いられる２本のドアベルレジスタを有する。３２ビットの送信ドアベルレジスタと３２ビットの受信ドアベルレジスタがある。メールボックスレジスタを用いてコマンド結果をＤＦＮ３０４に記憶する。送信ドアベルレジスタを用いてホストコンピュータ１１４に割り込み信号を送信する。割り込みはコマンド完了信号やエラーを含む多数の要因から起こる。
【０１３７】
一般的なコンピュータ通信インタフェース３８２のＰＣＩバス側の信号を以下の表２に示す。
0004159288.tif 000006
【０１３８】
表３にコンピュータ通信インタフェース３８２のローカルバス側の信号を示す。
0004159288.tif 000007
【０１３９】
表４にコンピュータ通信インタフェース３８２の一般的な信号を示す。
0004159288.tif 000008
【０１４０】
図３８は、画像検出インタフェース３７６のブロック図である。ＤＦＮ３０４は、画像検出システム１１２からＥＰ３７４へ１．２５Ｇｂｐｓのレートでデータを転送できる画像検出インタフェース３７６をサポートする。このインタフェースは、市販の高速ＲＡＩＤディスクアレイ製品に広く用いられているファイバーチャネル規格（ＡＮＳＩ規格Ｘ３Ｔ１１）を修正したものである。システムクロックレートは、リアルタイムオペレーティングシステムを利用する従来のＩＤＣシステムよりも速くなっており、１．０６２５ＧＨｚから最大１．２５ＧＨｚである。この変更により、速くなった画像データ転送レートをサポートできる。
【０１４１】
画像検出バス３７７介した送信は、階層構造を持つ層の抽象概念に分けられ、各処理キーはＧビット通信システム全体を示す。しかしながら、物理層と伝送プロトコル層（それぞれＦＣ−０とＦＣ−１）は関連している。何故ならば、これらの層が画像検出システム１１２によって実現されるからである。画像検出システム１１２内のエレクトロニクスは、３つのカスタムＩＣセットと光ファイバートランシーバモジュールを用いてＦＣ−０とＦＣ−１規格を実現する。
【０１４２】
図３８は、ＤＦＮ３０４上の画像検出インタフェース３７６のブロック図である。画像検出インタフェース３７６はエンコーダ／デコーダ部５６６と光ファイバー送信部５６２と光ファイバー受信部５６４と光ファイバートランシーバ５６０を含む。バッファ部５６８は、光ファイバートランシーバ５６０に接続され、そこから信号検出信号、ｓｉｇ＿ｄｅｔを出力する。ＦＣ−０層は１．０６２５ＧＨｚで動作する全二重シリアル通信リンクを定義するものである。画像検出システム１１２は、本規格から幾分かそれており、１．２５ＧＨｚで動作する。
【０１４３】
図３８に示されるように、物理層は、光ファイバー送信部５６２チップと光ファイバー受信部５６４と光ファイバートランシーバ５６０を備える。光ファイバー送信部５６２は、１２５ＭＨｚで１０ビットの入力を受け付け、その入力を最大１．２５ＧＨｚ送信レートまでシリアル化する。トランミッタ５６２は、差動エミッタカップルドロジック（「ＰＥＣＬ」）インタフェースを介して光ファイバーモジュールを駆動する。同様に、受信部５６４は１．２５ＧＨｚレートで光ファイバートランシーバ５６０のＰＥＣＬの出力によって駆動される。レシーバは、入力データストリームを不連続化して、１２５ＭＨｚのレートで１０ビットのデータを生成する。３１．２５ＭＨｚ基準クロックを４０倍にすることによって、オンボードのフェーズロックドループ（「ＰＬＬ」）を用いて光ファイバー送信部５６２によって、１．２５ＧＨｚの送信クロックが生成される。同様に、デシリアライザは受信するシリアルデータから１．２５ＧＨｚのクロックを取り戻し、１．２５ＧＨｚクロックを４０で除算することによって３１．２５ＭＨｚの受信クロックを生成する。
【０１４４】
ファイバーチャネル規格は、ジッタノイズに関する問題を避けるために、基準クロックの正確なタイミングを厳密に必要としている。このため、ＤＦＮ３０４で高品質の水晶発振子を用いて、基準クロックを確実に安定させる。また、１．２５ＧＨｚの送受信チャネルで完全な信号を得ることについても潜在的な問題がある。送受信用チップは光ファイバートランシーバモジュールにできるだけ接近して配置される。さらに、これらの信号は、ボードの最上層のマイクロストリップラインに経路づけすることによって、容量性負荷を最小にすることができる。
【０１４５】
ＦＣ−１層は、通信プロトコルを定義するものであるが、この通信プロトコルによって、３１．２５ＭＨｚのレートで３２ビットワードのデータパケットが送受信される。ＦＣ−１層は８ビット／１０ビットの符号化機能と共に、巡回冗長検査（「ＣＲＣ」）処理機能を備え、データの完全性を保証する。また、この層は、画像検出バス３７７の反対側にあるデバイスとの同期データ通信を確立して、これを維持する。これらの各機能は以下でさらに議論される。
【０１４６】
図３８で示されるように、ファイバーチャネルサブシステムの伝送プロトコル層はエンコーダ／デコーダ部５６６を備える。エンコーダ／デコーダ部５６６は２本の独立した３２ビットデータバス、即ち、送信用１本と受信用１本を介してＥＰ３７４とインタフェースする。送信用データバスも受信用データバスも３１．２５ＭＨｚワードレートで動作する。エンコーダ／デコーダ部５６６は入力データを取得し、８ビット／１０ビットの符号化を実行し、１０ビットワードを光ファイバー送信部５６２に出力する。また、エンコーダ／デコーダ部５６６は光ファイバー受信部５６４から１０ビットワードを受信し、８ビット／１０ビット・リバース符号化を行い、３２ビットの受信データをＥＰ３７４に出力する。これらの機能の他に、エンコーダ／デコーダ部５６６は、画像検出バス３７７の状態を監視し、ステータス情報をＥＰ３７４に提供する。
【０１４７】
ＦＣ−０層は１２５ＭＨｚのレートで１０ビットワードのデータを送受信する。実際に、これらの１０ビットワードは、ＥＰ３７２によって送受信される８ビットデータにマップされる特殊文字である。この８ビット／１０ビット符号化は、ＰＬＬのふらつきの影響を緩和するために行われる。受信回路のＰＬＬが、受信するシリアルデータから１．２５ＧＨｚの送信クロックを正確に回復し続けるように、１０ビットの文字の各々には多数のハイ−ロウ遷移が含まれる。エンコーダ／デコーダ部５６６は受信する３２ビットワードを取得し、ワードデータを連続したバイトデータとして分析し、８ビット／１０ビットのマップを取って、光ファイバー送信部５６２への出力を生成する。同様に、エンコーダ／デコーダ部５６６は光ファイバー受信部５６４からの入力を取得し、復号化を実行し、結果として得られたバイトデータを３２ビットワードにアセンブルする。８ビット送信データをマップする２５６文字の他に、リンクやフレーミングやステータス情報を提供する多数のユーティリティ文字がある。これらについては、以下でさらに詳細に議論される。送信されたデータの完全性をさらに確実にするために、エンコーダ／デコーダ部５６６は、入出力される３２ビットデータのＣＲＣ処理を実行する。
【０１４８】
画像検出バス３７７のプロトコルに基づいて、ＥＰ３７４からのデータは、データフレームと呼ばれる４つ以上の３２ビットワードパケットで送信される。データフレームはデータワードと、オーダセットと呼ばれる特定のコマンドワードを備える。通常、画像検出システム１１２と通信するときに遭遇するデータフレームには３種類ある。
【０１４９】
図３３，３４，３５は、３種類のデータフレームの各々のブロック図である。ＥＰ３７４とＤＡＰ３７２は、図示されたデータフレームを受け付けたり、送信する。オーダセットはファイバーチャネル規格によって定義されるユニークな３２ビットワードを有し、特定の情報をＥＰ３７４に送るために用いられる。８ビット／１０ビットの符号化中に、オーダセットはエンコーダ／デコーダ部５６６によって検出され、ＣＲＸＣ０信号ラインを用いてＥＰ３７４をフラグ付けする。このラインがロウのとき、ＥＰ３７２に送られたデータがオーダセットを構成する。画像検出システム１１２は、ファイバーチャネル規格によって定義されたほんの少しのオーダセットを利用する。データフレームの先頭はＳＯＦｎ１，ＳＯＦｎ２，もしくはＳＯＦｎ３を用いて示され、データフレームの最後はＥＯＦｎを用いて示される。有効なデータが送信されないときは、ＩＤＬＥオーダセットが送信される。
【０１５０】
図３９は、コマンドデータフレーム６２０、即ち、用いられる最も単純な種類のデータフレームのブロック図である。コマンドデータフレーム６２０を用いて、画像検出バス３７７を介してコマンドを画像検出システム１１２に送信する。コマンドデータフレーム６２０が受信され、処理されると、アクノリッジが返される。また、このアクノリッジはコマンドデータフレームの形である。コマンドデータフレームはＳＯＦｎ１から開始し、２つの３２ビットデータワードがその後に続く。第１のワードＨＤＲ１は送信されるコマンドの種類を定義する。第２のワードＨＤＲ２は特定のコマンドの引数を提供する。データフレームは、オーダセット文字、ＥＯＦｎで終了する。
【０１５１】
図４０は、画像検出データフレーム６２２のブロック図である。画像検出データフレーム６２２はコマンドデータフレーム６２０と同様であるが、データフレームの開始文字はＳＯＦｎ２であることと、ＨＤＲ１とＨＤＲ２は、５２８ワードが一つのデータフレームで送信されるように、画素値データを備える一連の３２ビットデータワードに置換される点で異なっている。データフレームが完了すると、ＥＯＦｎ文字が送信される。
【０１５２】
図４１は、画像完了データフレーム６２４のブロック図である。画像完了データフレーム６２４を用いて、完成画像全体の最後を示すが、これは、データフレームの先頭がＳＯＦｎ１からＳＯＦｎ３に取って代わられたことを除いて、コマンドデータフレーム５８２と同じである。
【０１５３】
画像検出インタフェース３７６に電源が投入されると、トランスミッタ／レシーバチップは画像検出バス３７７の反対側にあるシステムと通信を開始する。しかしながら、有効なデータがリンクを介して転送される前に、二つのシステム間の同期が確立される。リンクの同期化の第１の工程は、光ファイバー受信部５６４によって受信されるシリアルデータを適切なフレームに構成することである。エンコーダ／デコーダ部５６６がリセットから立ち上がると、エンコーダ／デコーダ部５６６は光ファイバー受信部５６４上のＳＹＮＣＥＮラインをアサートする。光ファイバー受信部は、リンクの反対側のシステムから送信される特定のＫ２８．５ファイバーチャネルの「コンマ」文字を強制的に検索させる。一旦この文字が見つかると、光ファイバー受信部５６４は受信するシリアルデータを１０ビット境界にワード配列し、ＳＹＮＣラインを用いてエンコーダ／デコーダ部５６６に通知する。
【０１５４】
エンコーダ／デコーダ部５６６は、既知のフレーミングキャラクタに入力される８ビットデータワードを監視して、その他のシステムとの適切な通信が確立されているかどうかを判定する。一旦リンクが成功すると、エンコーダ／デコーダ部５６６はＳＹＮＣＥＮをデアサートする。現在のシステムでは、ＳＹＮＣＥＮはＷＲＤＳＹＮＣラインに接続される。また、ＷＲＤＳＹＮＣラインはＥＰ３７４に接続され、リンクの同期が確立されたことをＥＰ３７４に通知する。
【０１５５】
もし、画像検出バス３７７の通常動作中にリンクの同期化が幾分か失われると（例えば、画像検出バス３７７の差し込みが入っていない）、エンコーダ／デコーダ部５６６は異常な状態が存在することを検出する。この場合、エンコーダ／デコーダ部５６６はＷＲＤＳＹＮＣライン（「ＳＹＮＣＥＮ」）を再アサートし、同時に、コンピュータ１１４に問題が発生したことを通知し、レシーバに強制的にワード配列を検索させる。画像検出インタフェース３７６は同期が再確立されるまで、最適な１０ビット文字を検索しつづける。
【０１５６】
システムが同期化を試みている間、ＥＰ３７４は受信ステータスライン上で進行状態を監視する。また、ＥＰ３７４は受信データバス上の非フレームデータを監視し、画像検出バス３７７の状態に関するステータス情報を提供する特定のデータワード（例えばＩＤＬＥオーダセット）を検索する。もし同期化が失敗したならば、制御ブロックはエンコーダ／デコーダ部５６６をリセットし、もう一度ロックを試みる。２回試みても同期が確立されないならば、コンピュータ１１４にエラーが報告される。
【０１５７】
光ファイバートランシーバ５６０によって、ＤＦＮ３０４に対して媒体を変え、そして、ＳＩＧＤＥＴ信号を出力する。光ファイバートランシーバ５６０の受信フォトダイオードが光パワーの検出に失敗すると、信頼性のある動作を行うために、このＳＩＧＤＥＴ信号はロウになる。次に、この信号は光ファイバートランシーバ５６０からバッファ５６８に出力される。通常、この状況はリンクの反対側のシステムがオフになるか、もしくは画像検出バス３７７のケーブルの差し込みが入っていないことを意味する。ＳＩＧＤＥＴがロウならば、オプションとして、オペレータがファイバーケーブルを再接続するか、もしくはさらに問題を調査するようにコンピュータ１１４にエラーが報告される。
【０１５８】
画像検出インタフェース３７６は、表５に示される多数の制御送信信号を含む。送信信号の構成を以下に示す。
0004159288.tif 000009
【０１５９】
以下の表６は受信信号の構成を示す。
0004159288.tif 000010
【０１６０】
図４２は、リアルタイムバスインタフェース３７８の一チャネルの概略図である。ＤＦＮ３０４はリアルタイムバスインタフェース３７８を介して、ＧＥメディカルシステムズ（「ＧＥＭＳ」）規格の放射線生成システム１０９と通信する。この規格には、０Ｖと５Ｖレベルで動作する全二重／差動信号ライングループが含まれる。リアルタイムバス３７９には１２本のチャネルがあり、オプションとしてさらにチャネルを追加しても良い。電気電子技術者協会（「ＩＥＥＥ」）はＲＳ−４８５として周知の規格を維持しており、この規格は通常、高速ＳＣＳＩインタフェース製品に適用される。リアルタイムバスインタフェース３７８は、ＩＥＥＥ  ＲＳ−４８５のサブセットを実施し、ＲＳ−４８５を満たすように設計されたトランシーバチップを用いる。特に、リアルタイムバスインタフェース３７８のＲＳ−４８５トランシーバのチャネル５６９が図示されている。データはＤラインに入力され、送信バッファ５７０で記憶され、Ｏｕｔ  ＡとＯｕｔＢに差動出力される。エミッタ結合論理（「ＥＣＬ」）とは異なり、これらの出力には大きな信号差がある。例えば、Ｏｕｔ  Ａが５ＶならばＯｕｔ  Ｂは０Ｖとなる（またこの逆もある）。出力ドライバはＤＥラインによって有効となる。データはＲ出力ラインを駆動する受信バッファ５７２によって受信され、シングルエンド変換に特異な影響を与える。レシーバはＲＥラインによってディスエーブルになる。レシーバを用いてドライバ出力を監視することによって、セルフテストに有効な冗長性が与えられる。
【０１６１】
リアルタイムバスインタフェース３７８は、一つのデバイス上に３本のＲＳ−４８５チャネルを有する。送信出力イネーブルラインは各々制御されるが、受信出力イネーブルラインの制御は１本のピン上でまとめて行われる。従って、ＥＰ３７４に送られる合計９つの基本信号のために、リアルタイムインタフェース３７８は、３つのチャネル入力／出力／制御バスを有する。各チャネルは６０ｍＡを駆動でき、最大１０ＭＨｚ（３０ｎ秒パルス）で動作する。リアルタイムバスインタフェース３７８は、ＥＰ３７４からトランシーバチップに送られる３６本の基本信号ラインを含み、全１２チャネルを制御する。３１ピン超小型Ｄ型雌コネクタを用いて、ＤＦＮ３０４カードの外部でリアルタイムバス３７９を利用することができる。また、リアルタイムバスインタフェース３７８の一部には電圧抑制器が含まれ、放射線生成システム１０９に接続されるケーブルの差し込みがＤＦＮ３０４に投入される電源から抜かれていても、また、望ましくない過渡状態が放射線生成システム１０９によって生成されても、確実にトランシーバがダメージを受けないようにする。
【０１６２】
図４３は、ＤＦＮクロックシステム５８２のブロック図である。クロックシステム５８２は、多数の様々な通信モードで間のインタフェースをとるように設計されている。これらのインタフェースに対応するために、４種類のクロックが用いられる。特に、これらのクロックの分配と生成について図示されている。
【０１６３】
図４３に示されるように、ファイバーチャネル送信クロックによって、画像検出バス３７７を介して３１．２５ＭＨｚで送信することができる。ファイバーチャネル送信クロック５８４はファイバーチャネル送受信回路ＰＬＬ用の基準クロックとして用いられる。ＤＦＮ３０４の水晶発振子は、ファイバーチャネル送信クロック５８４を生成する。このクロックは、１０％より大きい偏差を持たない５０％デューティサイクルを有する。このクロックのジッタノイズは４０ｐｐｍ未満である。
【０１６４】
ファイバーチャネル送信クロック５８４は、クロックバッファ５７６に記憶され、画像検出バス２７７回路と同様に、ＥＰ３７２とＤＡＰ３７２とＦＣテストポート（不図示）に分配置される。ファイバーチャネル送信クロック５８４をＥＰ３７４で用いて、ＦＣ送信ロジックを直接駆動する。クロック３８４はＥＰ３７４上の利用可能な２本のグローバルクロックピンのうちの１本に送られる。ＤＡＰ３７２では、ファイバーチャネル送信クロック５８４が専用グローバル入力信号のうちの１本に送られる。
【０１６５】
光ファイバー受信部５６４に配置されるフェーズロックドループによって、受信されるファイバーチャネル信号データからファイバーチャネル受信クロック５８５が回復される。このクロックは、画像検出バス３７７の反対側で生成されるものであって、３１．２５ＭＨｚの送信クロックと非同期の３１．２５ＭＨｚのクロックである。ファイバーチャネル受信クロック５８５は、２つのクロックバッファチップのうちの１つで記憶され、ＤＡＰ３７２とＥＰ３７４とＦＣテストポートに分配置される。ＤＡＰ３７２では、ファイバーチャネル受信クロック５８５が利用可能なグローバル入力信号のうちの１本に送られる。この構成によって、画像検出バス３７７からＤＦＮメモリ部３８０のデータ記憶部用のローカルバスへのレート変更を促進するオンチップＦＩＦＯにクロックを用いることが可能となる。
【０１６６】
ローカルクロック５７４はＤＦＮ３０４の水晶発振子によって生成され、ローカルバス３８４を介して交信する全デバイスにメインクロックを提供する。このクロックは３６．０ＭＨｚで動作する。コンピュータ通信インタフェース３８２は最大５０ＭＨｚまで動作するため、ローカルバスのクロック速度の上限が決まる。ローカルバスのクロック速度は、ＰＣＩバスの稼働率を改善するため、コンピュータ通信バス３０２のクロック速度よりも幾分か速いものが選択される。
【０１６７】
ローカルクロック５７４は２つのクロックバッファチップのうちの１つによって記憶され、コンピュータ通信インタフェース３８２とＤＡＰ３７２とＥＰ３７４とローカルバステストポート５７７に送られる。ローカルクロック５７４は、タイミング特性を最適化するため、ＤＡＰ３７２上の２本の専用クロック入力のうちの１本とＥＰ３７４に送られる。全ローカルバスデバイスの他に、このクロックはバッファされて、ＤＦＮメモリ部３８０上の全ＳＲＡＭチップに送られる。
【０１６８】
ＰＣＩクロック５８７は、コンピュータ１１４上のＰＣＩバス調整器によって生成され、ＰＣＩカードエッジコネクタ上のＤＦＮ３０４が利用可能である。このクロックは、コンピュータ通信インタフェース３８２によって排他的に用いられ、分配するためにバッファされることはない。上述された３１．２５ＭＨｚと３６．０ＭＨｚのクロックは各々２つのクロックバッファチップ、即ち、クロックバッファ５７６のうちの１つによってバッファされる。
【０１６９】
図４４は、クロックバッファ５７６のブロック図である。クロックバッファ５７６はそれぞれ出力イネーブル制御を有する５つのバッファの２バンクを含む。ディスエーブルのとき、クロックバッファチップからの出力はハイインピーダンスになる。これらの出力の制御は、ＵＳＥＲｏ信号から経路づけされるか、ソフトウエアによってローカルクロック５７４をディスエーブルにするためにコンピュータ通信インタフェース３８２から経路づけされるか、または、ファームウエアによってＦＣクロックをディスエーブルにするためにＥＰ３７４から経路づけされて実行される。ローカルクロック５７４は、ディスエーブルにできないドライバによって直接バッファされる。この構成によって、チップはスタンバイモードで動作可能となり、ボードの残りの部分にはクロックが供給されないため、消費電力が削減される。
【０１７０】
異常動作が発生すると、電源投入時かデバッグ中か正常動作中に、ＤＦＮ３０４のＤＡＰ３７２とＥＰ３７４は、周知の状態にリセットされる。再コンフィグレーション時に、周知の状態になるように設計されるデバイスもあるが、これがＤＦＮ３０４が適切に動作するための所望の初期状態であるという保証はない。コンピュータ通信バス３０２上のＤＦＮ３０４の初期的なリセットによって望ましくない結果となる可能性がある。何故ならば、通常コンピュータオペレーティングシステムよりかなり以前にＤＦＮ３０４のコンフィグレーションが行われるためであり、また、それが画像検出システム１１２と放射線生成システム１０９の両方を制御しているからである。従って、ＤＦＮ３０４を最適な所定の状態にするために、オンボードリセット回路が提供される。本節で説明されたように、ＤＦＮ３０４は電源投入時か、ソフトウェアまたはハードウェアによってリセットされる。
【０１７１】
図４５は、パワーオンリセットシステム５８８の概略図である。電源投入時、ＤＦＮ３０４はアクティブ回路によって既知の状態になる。図４５に示されるように、パワーオンリセット部５３５では、電源が安定してから少なくとも１４０ｍ秒の間、またＦＰＧＡが首尾よくコンフィグレーションされる（ＥＥＰＲＯＭからＦＰＧＡメモリにデータがロードされる）ように、ＤＡＰ３７２とＥＰ３７４のリセット状態が維持される。ＦＰＧＡコンフィグレーション回路の出力（ＥＰ＿ｃｏｎｆｉｇとＤＡＰ＿ｃｏｎｆｉｇ）を用いて、両方のＦＰＧＡが首尾よくコンフィグレーションされたことを確認してから、デバイスに対するリセットが解除される。リセットは、電源が安定し、両方のＦＰＧＡが首尾よくコンフィグレーションされてからさらに１４０ｍ秒の間ロウを維持する。これにより、両方のＦＰＧＡを別々の時にコンフィグレーションできるため、同時に機能を開始することが保証される。
【０１７２】
ＰＯＲ部５３５からのリセット信号はＤＡＰ３７２とＥＰ３７４に送られ、４本の専用入力ラインのうちの１本に接続される。これらの専用入力ラインは各ＦＰＧＡデバイス上の全ロジックからアクセス可能である。ファームウェアは、このグローバル入力ラインの状態に基づく非同期リセットのためにコード化される。
【０１７３】
電源投入時のリセットの他に、ＤＦＮ３０４はコンピュータのリセットボタンが押されたときにリセットする。図４５に示されるように、この機能はローカルバスリセット出力ピンを用いて、コンピュータ通信インタフェース３８２から提供される。このピンはＰＣＩ  ＲＳＴ＃ラインがアサートされているときは常にロウを維持する。ＰＣＩ  ＲＳＴ＃がアサートされると、コンピュータ通信インタフェース３８２はＰＣＩ  ＥＥＰＲＯＭ６０６によって指定されたようにデフォルトのコンフィグレーションにリセットされる。また、リセット信号はローカルバスリセットピンを介して、ローカルバス３８４上の全デバイスに伝搬される。この信号はＥＰ３７４とＤＡＰ３７２に送られ、これらのデバイスで４本の専用入力のうちの２本目に接続される。パワーオンリセット時、これらのグローバル入力によって、２つのデバイスをファームウエアで非同期リセットする。また、ファームウェアでこれらの信号とパワーオンリセット信号との論理和をとる。
【０１７４】
ソフトウェア（ＵＳＥＲｏ）リセットは、ＤＦＮ３０４とファームウエアのデバッグに用いられる。ソフトウェア（ＵＳＥＲｏ）は、コンピュータ通信インタフェース３８２とは独立して、ＤＡＰ３７２とＥＰ３７４回路を有効にリセットすることができる。これは、ソフトウェアリセット機能によって可能となる。コンピュータ通信インタフェース３８２はプログラム可能であって、一ビットをレジスタ位置に書き込むことによってＵＳＥＲｏ専用ラインの状態を変更することができる。図４５に示されるように、このラインはＤＡＰ３７２とＥＰ３７４の利用可能な３本目のグローバル入力ラインに接続され、オプションとして、コンピュータ通信インタフェース３８２をリセットせずにこれらのデバイスをリセットするために用いられる。「ＰＣＩリセット」を発行することによって、コンピュータ通信インタフェース３８２とＦＰＧＡの両方がリセットされるが、コンピュータ通信インタフェース３８２とＦＰＧＡデバイスの両方に関する複雑な問題のデバッグを試みているときには、望ましくない。また、ソフトウェアからＤＦＮ３０４を直接リセットできるため、異常オペレーションが発生したときに有益である。テスト／デバッグのために、多数のテストバス信号を用いて複数のＦＰＧＡデバイスを一緒に、もしくは別々にリセットする。この機能は、ユーザＩ／Ｏピン入力信号の非同期リセットとしてファームウェアにコード化される。
【０１７５】
ＤＦＮ３０４には３種類の電源領域、即ち、５Ｖと３．３Ｖと２．５Ｖがある。５Ｖデバイスの電源は、ＰＣＩコネクタから直接外される。１つの５Ｖ電源プレーンがある。この電源供給によって動作する主なデバイスは、リアルタイムバスインタフェース３７８とファイバーチャネルインタフェース３７６である。コネクタ表面に実装された２つの１０Ｖ、４７μＦのタンタルコンデンサと１つの０．１μＦのコンデンサを使って、この電源供給を非結合状態にしている。モジュールから電源への不要な接続を避けるために、光ファイバートランシーバモジュールへの電源は、２つのパイネットワーク型フィルタによって非結合状態にされる。カード上の３．３Ｖデバイスへの電源は、ＰＣＩコネクタから直接外される。１つの３．３Ｖ電源プレーンがある。この電源供給を受けないで動作する主なデバイスは、コンピュータ通信インタフェース３８２とＳＲＡＭバッファメモリと２つのＦＰＧＡデバイスである。コネクタ表面に実装された２つの１０Ｖ、４７μＦのタンタルコンデンサと１つの０．１μＦのコンデンサによって、この電源供給を非結合状態にしている。ＤＦＮ３０４上の２．５Ｖデバイスへの電源は、２．５Ｖレギュレータを局所的に用いて生成される。１つの２．５Ｖ電源プレーンがある。この電源供給を受けないで動作する主なデバイスは、ＦＰＧＡ（コア論理）である。レギュレータの出力部の２つの１０Ｖ・４７μＦタンタルコンデンサによって、この電源供給を非結合状態にしている。供給電圧を正確に監視するために、レギュレータ上のセンスラインはＦＰＧＡデバイスの中央付近にある２．５Ｖパワープレーンに接続されている。
一つの筐体で複数の検出器フレーミングノードを用いるアプリケーションや、厳しい消費電力制限のあるアプリケーション（例えば、バッテリで動作するＰＣ）では、ＤＦＮ３０４はパワーダウン動作モードをサポートしている。
【０１７６】
リセットパワーダウンモードでは、コンピュータ１１４が、コンピュータ通信インタフェース３８２へのＰＣＩ書き込みによってこの信号を更新するまで、ＦＰＧＡと画像検出バス３７７デバイスは、コンピュータ通信インタフェース３８２のＵＳＥＲｏ信号によるリセット状態を維持する。この方法によって、全デバイスに対するクロックラインはトグル状態が維持されるが、これらのチップの動的な論理は切り替わらない。コンピュータ通信インタフェース３８２は、カード全体の消費電力に大きな影響を与えない。従って、コンピュータ通信インタフェース３８２は、パワーダウンモードでは十分に動作可能である。クロックパワーダウンモードでは、クロックバッファチップ上の出力イネーブル制御ラインをアサートすることによって、ローカルバスとファイバーチャネルクロックがディスエーブルとなる。ボード上で現在実装されていないジャンパによって、コンピュータ通信インタフェース３８２からのＵＳＥＲｏ信号をこれらの制御ラインに与える。これらのジャンパを実装することによって、カードの電力を節約する好適な方法としてのクロックパワーダウンモードが選択される。
【０１７７】
ＤＦＮ３０４上の主要なシステムの適切な機能を検証するために、ビルトインセルフテスト（「ＢＩＳＴ」）ファームウェアルーチンを備えている。これらのルーチンは電源投入時に自動的に実行され、通信が確立されると、検出されたエラーをコンピュータ１１４に報告する。また、コンピュータ通信バス３０２からの直接的なコマンドによって、これらのテストを実行することもできる。
【０１７８】
ファイバーチャネルループバックテストは、画像検出インタフェース３７６をテストするように設計されている。このテストは、ＥＰ３７４がＬＯＯＰＥＮ信号ラインをアサートすることによって開始される。この信号ラインは、光ファイバー受信部５６４への光ファイバー送信部５６２の出力を短絡させるものである。これにより、エンコーダ／デコーダ部５６６からＥＰ３７４へのループが閉じられる。次に、ＥＰ３７４は、リンクを介してＦＣコマンドの送信を試みて、期待されるエコーを見つけるためにリターン・バスを監視する。コマンドワードフォーマットには１と０の交互パターンが含まれ、送受信バスラインの短絡／開放をテストするように設計されている。正確なパターンが受信された場合、テストは合格である。結果はコンピュータ１１４に報告される。このテストは光ファイバートランシーバモジュールを検証するのではなく、オプションとして、ＬＯＯＰＥＮをアサートせずにテストを実行するように設定可能である。この場合、短いファイバーケーブルはモジュール出力部からその入力部へループし、ループを閉じる。このテストは、ＤＦＮ３０４のデバッグに利用可能である。
【０１７９】
また、リアルタイムバスインタフェース３７８は、トランシーバチップセット・エレクトロニクスの完全性についてもテストされる。ＥＰ３７４は、送信バス上のデバイスへデータを書き込み、受信バス上のそのデータを監視することによってこのテストを実行する。チップは、各チャネルに配線されたレシーバとトランスミッタを備えるため、送信されたものは自動的に受信される。テストには、送受信データバス・トレースとチップピンの開放／短絡をチェックするように設計された１と０の交互パターンの一連のワードが含まれる。このテストが成功することは、チップ自体が正確に機能することを示す。さらに、３１ピン小型Ｄコネクタへのトレースとコネクタのハンダ接合に関するテストがこのテストに追加される。特定の外部テストコネクタによって、全奇数チャネルに全偶数チャネルが短絡する。データは偶数チャネルに送信され、奇数チャネルで監視される、また、その逆もある。このテストは、コネクタへの全通信チェインが機能していることを示すものである。一般的に、このテストは自動的に実行されず、リアルタイムバスインタフェース３７８のデバッグに利用可能である。
【０１８０】
ＲＡＭビルトインセルフテスト（「ＢＩＳＴ」）は、ＤＦＮ３０４にも提供される。ＤＦＮメモリ部３８０は１０個の８メガビットＳＲＡＭデバイスを備え、ＤＡＰ３７２にそれらの大部分が接続される。これらのデバイスはボード出荷中にダメージを受ける可能性があるため、徹底的なＲＡＭ  ＢＩＳＴテストによってテストしなければならない。ＲＡＭ  ＢＩＳＴには３つの関連テストが含まれ、それらは全てＤＡＰ３７２のファームウェアによって実行される。第１のテストでは、奇数メモリ位置と偶数メモリ位置には１と０の交互のパターンが配置され、読み出されて、チェックされる。第２のテストでは、奇数値と偶数値が反転される。第３のテストでは、特定位置のアドレス値がその位置に書き込まれる。ＤＦＮメモリ部３８０全体が満杯になると、データが読み出され、オリジナルデータと比較される。これらの３種類のテストは、カード上のＳＲＡＭの全ビットが最適であることを検証し、トレースとＳＲＡＭチップ上のピン間とＤＡＰ３７２上の大部分のピンの短絡についてチェックする。
【０１８１】
ＤＦＮ３０４は、ビルトイン・テスト機能と監視機能を有する。可観測性を上げるために、専用テストポートとジャンパとテストポイントが利用され、また、温度が監視される。テストポートはＤＦＮ３０４のテストとデバッグを容易にし、大多数のテストポイントは、ダイレクトアクセス用小型テストポートに経路づけられる。特に、ローカルバス３８４と画像検出バス３７７に接続された内部バスとＤＡＭ３７２とＥＰ３７４を接続するバスは、テストポートに接続される。ドータボードはその上にバストランシーバを有し、それらに著しい負荷を与えずにこれらのライン上の信号を高速監視する。ＥＰ３７４とＤＡＰ３７２をテストするときにこれらのバスを用いるが、それらはＦＰＧＡデバイスであるため直接検査されない。コンピュータ通信インタフェース３８２も同様に細線表面実装部であるため、検査しにくい。テストクリップがボード上の幾つかのデバイスに存在するが、専用テストポートによってアクセスが簡単になる。
【０１８２】
図４６は、検出器フレーミングノード３０４の物理ＰＣＩカード５９０上のチップ配置を示すブロック図である。複雑な電気レイアウトと、ＰＣＩカードで利用可能な限定されたボード空間で、物理ＰＣＩカード５９０上のチップセット・エレクトロニクスの物理的配置が検討された。図示されているように、物理ＰＣＩカード５９０上のその他のデバイスに関してテストポートも実装されている。
【０１８３】
図４６に示されるように、５つのＳＲＡＭチップ６００が物理ＰＣＩカードの片側に配置される。上述したが、１対のＳＲＡＭチップ６００を用いて各フレームバッファメモリ部３８０（図１８を参照）を構成する。従って、各フレームバッファメモリ部３８０では、１つのＳＲＡＭチップ６００が物理ＰＣＩカード５９０の第１の側に配置され、また別のＳＲＡＭチップ６００は第２の側に配置される。このように、ほとんどのアドレスラインとデータラインは共有されるため、物理ＰＣＩカード５９０の径路づけを最小にすることができる。さらに、ＤＡＰ  ＥＥＰＲＯＭ部５３０は、物理的にＥＥＰＲＯＭチップ５９２、５９４を備え、また、ＥＰ  ＥＥＰＲＯＭ部５３２は、ＥＥＰＲＯＭチップ５９６，５９８を備える。図示されているように、ＪＴＡＧ１ポート５４２とＪＴＡＧ２  ポート５４４は物理ＰＣＩカード５９０の端に物理的に配置される。リアルタイムバスインタフェース３７８は、４つのインタフェースチップ６０２からなり、リアルタイムバスコネクタ６０４を介したリアルタイムバス３７９を用いてプロトコルを実現する。コンピュータ通信インタフェース３８２は、別の回路要素であるＰＣＩ  ＥＥＰＲＯＭ６０６によってプログラムされる。図示されているように、光ファイバー送信部５６２と光ファイバー受信部５６４は各々、物理ＰＣＩカード５９０上の別々の回路要素である。
【０１８４】
ファイバーチャネルポート６１０は、信号を監視するために物理ＰＣＩカード５９０上に配置される。全ファイバーチャネル送受信データバス信号と共にステータス信号と送受信クロックは、ファイバーチャネルテストポート６１０に送られる。ローカルバステストポート６１２は、全ローカルデータ／アドレスバス信号を受信する。また、ローカルバス３８４に対する全制御信号は、ローカルバステストポート６１２に送られる。ＤＡＰ／ＥＰ／テストポート６１４には、ＤＡＰ３７２上の専用ユーザＩ／Ｏピンを含む合計５０本のラインと、ＥＰ３７４上の５０本のラインが含まれる。ＤＡＰ３７２とＥＰ３７４からのラインは結合され、ＤＡＰ／ＥＰ／テストポート６１４に送られる。これらの信号によってＦＰＧＡデバイス内部の信号が監視される。また、これらは、ＤＡＰ３７２とＥＰ間のさらに別の専用通信バスを構成し、さらに別の機能を内蔵している。
【０１８５】
また、ボードテストの便宜上、テストポイントグループを容易にアクセスすることができる。本セクションでは、これらのポイントは識別される。これらはテストバスポートと無関係の孤立ポイントであって、特に図示はしない。
【０１８６】
温度の監視は熱急騰を防ぐため、また、カードの動作を統計的に追跡するために行われる。３種類の温度監視デバイスが物理ＰＣＩカード５９０に内蔵されている。これらのデバイスは、ＦＰＧＡと画像検出バス３７７とＳＲＡＭメモリバッファの下にある。デバイスはＩ２Ｃバスを介して読み出され、ＤＦＮ３０４上の温度監視レジスタから読み出すことによってコンピュータ１１４はそれらの出力を利用することができる。また、これらのデバイスは一定間隔でＦＰＧＡ自体によって直接監視される。もし、所定の限度以上の温度上昇が観測されると、ＤＦＮ３０４が自動的にパワーダウンモードに入る前に温度オーバフローエラーがコンピュータ１１４に送られる。
【０１８７】
追跡目的でボード改訂コードがＤＦＮ３０４に与えられる。ボード改訂コードは、物理的なボード・アートワークに組み込まれる。このコードは、改訂番号を生成するためにハイまたはロウに直接結合されたＥＰ３７４に経路付けされた８本のユーザＩ／Ｏピンを含む。改訂コードピンに対応するボード改訂番号レジスタに問い合わせすることによって、コンピュータ１１４はこの改訂番号を直接読み出すことができる。
【０１８８】
ユニークなボードシリアル番号も追跡目的で提供される。作成されるボードは全て、ユニークなシリアル番号を有する。このシリアル番号は、ダラスセミ社製のＳｉシリアル番号ＩＣであるＤＳ２４０１Ｚを用いて生成される。シリアル番号ＩＣは、ＥＰ３７４に接続されている１本のライン上で問い合わせられる。結果として得られたシリアル番号は、コンピュータ１１４から直接読み出し可能なレジスタＥＰ３７４に記憶される。
【０１８９】
図４７は、１６Ｍバイトアドレス空間のマッピング６１６を示すブロック図である。ＤＦＮ３０４は物理ＰＣＩカード５９０に含まれ、次にコンピュータ１１４のＰＣＩスロットに配置される。ＤＦＮ３０４は、ＰＣＩバス３０２上の１６Ｍバイトのアドレス空間を占める。コンピュータ１１４内のＰＣＩコントローラは、ＤＦＮ３０４のベースアドレスを決定する。ＰＣＩアドレスウィンドーの１６Ｍバイトは、図４７に示されるように構成される。フレームバッファＡ−Ｅは、ＤＦＮ３０４上の２Ｍバイト・メモリである。ＥＰ３７４とＤＡＰ３７２上のレジスタの配置はそれぞれ、２４ビットの１６進アドレスｘＡ０００００とｘＢ０００００からそれぞれ始まる。ＤＦＮ３０４は、２つのメカニズム、即ち、１）ＥＰ３７４またはＤＡＰ３７２のレジスタに書き込むことによって、もしくは、２）ＥＰ３７４にコマンドを送信することによって制御される。獲得部ＤＬＬ３１３を介してユーザプログラムからＥＰ３７４とＤＡＰ３７２のレジスタをアクセスすることができる。ＥＰのファームウェアレジスタを以下の表７に示す。
0004159288.tif 000011
0004159288.tif 000012
【０１９０】
ＤＦＮ３０４の制御を維持するために、ＤＡＰ３７２はＤＡＰ制御部５２１を含み、またホストコンピュータ１１４にエラー状態を報告するために複数のエラーレジスタを有する。表８はＤＡＰレジスタとその説明を示す。
0004159288.tif 000013
0004159288.tif 000014
【０１９１】
ホストコンピュータ１１４は、複数のコマンドをＤＦＮ３０４に発行するが、それらのコマンドはＥＰ３７４のＰＣＩコマンドインタープリタ４６２によって受信されて翻訳される。３２ビットロングワードを１６進アドレス位置ｘＡ００２００に書き込むことによって、ＤＦＮ３０４に対する全コマンドが実行される。発行されたコマンドはロングワードの最上位８ビット（「ＭＳＢ」）によって指定される。以下の表９に、サポートされているコマンドを示す。各コマンドは最大２４ビットのパラメータ空間を有し、コマンド動作を指定する。また、ＤＦＮ３０４の４本のレジスタ（コマンドパラメータレジスタ）がパラメータ空間を追加するために予約されている。コマンドパラメータレジスタを用いる場合は、これらのパラメータをロードしてからコマンドを実行する。特定のコマンドに用いられるパラメータ数は発行されるコマンドによって異なる。各コマンドを以下に説明する。
【０１９２】
コマンドを発行すると、ＤＦＮ３０４はそのコマンドの実行を試みる。コマンドインタープリタ４６２が行う工程は以下のとおりである。
【０１９３】
１．コマンドをデコードし、承認されたコマンドかどうか決定する。
【０１９４】
２．ＤＦＮ３０４の上位レベル状態に基づいてコマンドの有効性をテストする。
【０１９５】
３．コマンドを、その機能を備えるＤＡＰもしくはＥＰ上のサブブロックに対して発行する。
【０１９６】
４．コマンドタイムアウトカウンタを設定して、開始する。
【０１９７】
５．コマンドインタープリタ４６２は、実行中のサブブロックがコマンドを実行するまで、またはコマンドタイムアウト信号がアサートされるまで待機する。
【０１９８】
６．発行されたコマンドは、コンピュータ通信インタフェース３８２のメールボックスレジスタ０にコピーされる。
【０１９９】
７．コマンドの結果は、コンピュータ通信インタフェース３８２のメールボックスレジスタ１から４にコピーされる。
【０２００】
８．コンピュータ通信インタフェース３８２のドアベルレジスタの少なくとも１ビットが設定され、コマンド実行が完了し、ＤＦＮ３０４が別のコマンドを発行できることを示す。
【０２０１】
承認されたコマンドを以下の表９に示す。
0004159288.tif 000015
0004159288.tif 000016
【０２０２】
各コマンドはユニークなコマンドコードを有する。各コマンドのコマンドコードを以下の表に示す。全コマンドは、ＤＦＮ３０４の１ステートまたは複数のステートで実行される。
【０２０３】
図４８は、ＤＦＮ３０４の上位レベルステートを示すブロック図とそれらのステートで利用可能なコマンドを示す。図示されているように、ＢＩＳＴオペレーション部６３０はコマンドＢＩＳＴ＿ＣＭＰをＤＩＡＧＮＯＳＴＩＣオペレーション部６３２に送る。次に、ＤＩＡＧＮＯＳＴＩＣオペレーション部６３２はＴＥＳＴオペレーション部６３４とＮＯＲＭＡＬオペレーション部６３８と双方向通信する。ＴＥＳＴオペレーション部６３４はＲＵＮ＿Ｔオペレーション部６３６と双方向通信し、ＮＯＲＭＡＬオペレーション部６３８はＲＵＮオペレーション部６４０と双方向通信する。
【０２０４】
ＤＦＮ制御部３７０が上記のオペレーションを実行しているときは、その他のオペレーションはＤＦＮ３０４に発行されない。ＤＦＮ制御部３７０はパワーアップシーケンスの実行を完了すると、ＤＩＡＧＮＯＳＴＩＣステートに遷移する。このとき、カードはコマンドに応答する。通常、ＤＦＮ３０４に対してコマンドが発行され、その発行されたコマンドが現在のステートで有効なものであれば、ＤＦＮ３０４はそのステートで有効なコマンドを実行する。ＤＦＮ３０４に対して発行されたコマンドが現在のステートで有効でないならば、ＤＦＮ３０４はコマンドを受信し、解釈はしたがステートエラーのため実行されないことを示す割り込みメッセージで応答する。ＤＦＮ３０４に対して発行されたコマンドが解釈されないならば、ＤＦＮ３０４はコマンドを受信したが解釈されないことを示す割り込みメッセージで応答する。
【０２０５】
以下に示すように、１つ以上の２４ビット・パラメータ空間の引数フィールドを用いてさらに指定しなければならないコマンドもあれば、さらに別の引数を用いなくてもよいコマンドもある。
【０２０６】
ＧＥＴ  ＳＴＡＴＵＳ：１つまたは全ステータス関数のスナップショットを取得する。
0004159288.tif 000017
0004159288.tif 000018
0004159288.tif 000019
0004159288.tif 000020
0004159288.tif 000021
【０２０７】
複数の画像バッファ制御レジスタによってＰＣバッファが管理される。以下の表１０に示されるＤＡＰ３７２を用いて画像バッファを制御する。
0004159288.tif 000022
【０２０８】
以下の議論では、フラグｂＦＵＬＬ（ＬＡＳＴ＿ＷＲＴＮ＿ＤＦＮのビット）はバッファが満杯であることを示し、フラグｂＡｌｌｏｗＷｒａｐ（ＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲのビット）はラップが有効であることを示す。
【０２０９】
ホストコンピュータ１１４はフレームバッファ用にメモリの割り当てを行い、それらを管理する。バッファ数は、Ｘ線アプリケーションとホストコンピュータ１１４に利用可能なメモリ量によって異なる。バッファは、少なくとも１フレームの画像データを入れるために十分な大きさである。画像バッファの実サイズはアプリケーションによって異なる。（即ち、心臓／外科用デジタルＸ線の場合は２Ｍバイト、Ｘ線撮影用デジタルＸ線の場合は８Ｍバイト、乳房撮影用デジタルＸ線の場合は９Ｍバイトである。）コンピュータがデータの獲得を必要とする場合は、ＤＦＮ３０４が読み出すベースアドレスリストを作成する。このリストには、ホストコンピュータ１１４が管理しているＮ個のバッファの全て、もしくはサブセットが含まれる。
【０２１０】
連続動作の場合は、リストがラップする。ラップが発生したかどうかを示すために、上にリストされたＬＡＳＴ＿ＷＲＴＮ＿ＤＦＮレジスタは、ラップの発生を示すフラグを有する。このリストは、Ｂｅｇｉｎ  Ｓｅｑｕｅｎｃｅコマンド、即ち、ＤＦＮ３０４からデータフレームを転送するコマンドの前に設定される。上にリストされた３本のレジスタ（ＩＭＧ＿ＢＵＦ＿ＢＡＳ＿ＡＤＲとＮＵＭ＿ＢＵＦＦＥＲＳとＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲ）は、「ｂｅｇｉｎ  ｓｅｑｕｅｎｃｅ」コマンドの前に初期化される。リストのエントリ数が「Ｎ」ならば、ＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲレジスタは通常「Ｎ」に設定され、ＤＦＮ３０４が用いる１からＮ−１の全バッファがフリーであることを示す。
【０２１１】
ＤＦＮはｂＦｕｌｌをＦＡＬＳＥに、ＬＡＳＴ＿ＷＲＴＮ＿ＤＦＮを０に初期化し、ドライバはＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲを０に初期化する。獲得前に、ドライバは「ＥＮＤ  ＱＵＵＥ＿ＰＴＲ」ビットを０（ラップなし）または１（ラップ）に設定する。
【０２１２】
以下のオペレーションでは、フラグビットを「ｂＡｌｌｏｗＷｒａｐ」と呼ぶ。
【０２１３】
一例として、画像がＤＦＮメモリ内にあり、ホストコンピュータ１１４に転送する必要があるとＤＦＮが決定すると、ＤＦＮ３０４は以下のオペレーションを実行する。
【０２１４】
0004159288.tif 000023
【０２１５】
ホストコンピュータ１１４は、画像をマッピングし、その後そのマッピングを解除し、ＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲを更新する。ホストコンピュータ１１４によってＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲが書きこまれるときに、常にファームウェアはこの処理を行う。
ｉｆ  （ｂＡｌｌｏｗ  Ｗｒａｐ  ＝  ＴＲＵＥ）
ｗｒｉｔｅ  ｔｏ  ＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲ  ｓｅｔｓ  ｂＦｕｌｌ＝  ＦＡＬＳＥ
ｅｌｓｅ  ／＊  ｂＡｌｌｏｗ  Ｗｒａｐ  ＦＡＬＳＥ  ＊／
ｗｒｉｔｅ  ｔｏ  ＥＮＤ＿ＱＵＥＵＥ＿ＰＴＲ  ｄｏｅｓ  ｎｏｔｈｉｎｇ  ｔｏ  ｂＦｕｌｌ
【０２１６】
ホストコンピュータ１１４がフレームを処理して表示する前に、ＤＦＮ３０４はデータをそのフレームに転送する。フレームがＤＦＮ３０４によって満たされることをホストコンピュータ１１４が待っている場合は、ホストコンピュータ１１４は、ＤＦＮ３０４を連続的にポーリングする必要はない。ドアベルメッセージにはさらに多くの種類があるため、オプションとして、ＤＦＮ３０４からのドアベルメッセージは、ＤＦＮ３０４がバッファを満たしたことを示す。画像全体のＤＭＡ転送が１回以上実行されるならば、各ＤＭＡ転送の後ではなく、画像全体が転送された後にドアベルが設定される。ドアベルメッセージを受信した後、ホストコンピュータ１１４はＤＦＮ３０４の最終バッファカウント（レジスタ３）を読み出す。処理したいバッファが満杯ならば、そのバッファを処理して表示する。ホストコンピュータ１１４は、バッファ処理の終了後、ラップを認証し、「ホスト最終バッファ」カウント（レジスタ４）をインクリメントする。ＤＦＮ３０４にエラーがあると、バッファ管理回路は、ＤＡＰ＿ＥＮＡＢＬＥ＿ＲＥＧレジスタのビット「２」を設定することによってバッファ管理回路自体をディスエーブルにする。ＤＦＮ３０４が画像バッファを備える場合、ホストコンピュータ１１４へ転送すると、バッファ管理回路をディスエーブルにするエラー状態が生じるので、ＶＡＬ  （ｒｅｇｉｓｔｅｒ  ４）  ＝  （ＶＡＬ（ｒｅｇｉｓｔｅｒ  ３）  ＋１）  ｍｏｄ  Ｎが成立するかどうかをＤＦＮ３０４が解釈することができる。
【０２１７】
応答ログは画像データ情報を獲得したものである。本発明の一実施形態によれば、コマンドやエラーが発生すると、画像データ情報にはそのコマンドやエラーが含まれ、それに対応する獲得された画像に画像データ情報を関連付けることができる。応答ログを管理するために、ＤＦＮ３０４で応答ログパケットが生成されると、それらはホストコンピュータ１１４に送信される。イベントキューの実行中に検出器に送信されるコマンドがイネーブルであれば、応答ログパケットが生成される。応答ログパケットを生成することによって、検出器に送信されるコマンドはイネーブルもしくはディスエーブルとされる。
【０２１８】
応答ログ（「ＲＬ」）エントリフォーマットの定義
このフォーマットには、応答ログ（「ＲＬ」）エントリ毎にユニークなＴｙｐｅ識別子が含まれる。このフォーマットによって、アプリケーションはＲＬデータから特定の種類の情報を容易にふるい分けることができる。Ｔｙｐｅ識別子はＣｌａｓｓセクションとＳｕｂｃｌａｓｓセクションに分けられ、チェイン形成用に予約された４ビットを含んでいる。チェイン形成によって、利用可能な最大１２８バイトまでノデータを備える一つのＲＬエントリが作成される。ＲＬエントリフォーマットには、シーケンスを開始してからの経過時間である３２ビットのタイムスタンプが含まれる。Ｂｅｇｉｎ  ＳｅｑｕｅｎｃｅコマンドもしくはＲｅｓｅｔ  Ｔｉｍｅｒコマンドを用いて、ＤＦＮドライバによって書かれた２４ビットのユニークな識別子がシーケンスＩＤに含まれ、ＤＦＮモードはカードの現在のオペレーションモード（例えば、ＤｉａｇｎｏｓｔｉｃやＲｕｎ等）を反映する。エントリ用のデータを記憶する３２ビットのフィールドが５つある。これらの用途は、応答ログエントリの種類に基づいて定義される。不正ＲＬバッファのふるい分けを容易にする所定のセパレータによって、その構造が終了する。応答ログエントリは、リトルエンディアン（Ｌｉｔｔｌｅ  Ｅｎｄｉａｎ）フォーマットで構成される。即ち、フィールドもしくはオブジェクトの最下位バイトが応答ログ７３７（図６１）の下位アドレスを占める。例えば、応答ログエントリは、Ｔｙｐｅフィールドビット７：０とそのサブクラスと予約済チェイン情報で始まる。
【０２１９】
以下の表１１は応答ログ（「ＲＬ」）エントリフォーマットの構造を示す。
0004159288.tif 000024
【０２２０】
応答ログ（「ＲＬ」）エントリクラス
ＲＬエントリの特定クラスが多数定義されているので、特定情報を検索する際にデータを容易に分類することができる。現在定義されたクラスは表１２に示され、このセクションで議論される。クラス０ｘ０３のＲＬエントリのレポートは、それぞれのイベントコードのビットフィールドを用いて個々にディスエーブルにされる。クラス０ｘ０２，０ｘ０４，０ｘ０６のレポートは、ＤＦＮ３０４のレジスタのビットを用いて個々にディスエーブルにされる。クラスフィールド「−Ｓ−」は、４ビットのサブクラス・プレースホルダであって、クラスフィールド「−Ｎ−」は、ＲＬエントリをチェイン化するために予約されたプレースホルダである。
【０２２１】
表１２は、現在定義されているＲＬエントリクラスを示す。
表１２
クラス                    クラスコード  サブクラス
画像タグ                  ０ｘ０１      −ｘ０
検出器コマンド            ０ｘ０２      −ｘ０，ｘ１，ｘ２
キューイベント            ０ｘ０３      −ｘ０
画像読み出し              ０ｘ０４      −ｘ０，ｘ１
リアルタイムバスステート  ０ｘ０５      −ｘ０
ＤＭＡ情報                ０ｘ０６      −ｘ０
シーケンス遷移            ０ｘ０７      −ｘ０，ｘ１，ｘ２，，ｘ３
エラー                    ０ｘ０Ｅ      −ｘ０
【０２２２】
画像タグ
各画像の画像検出バス３７７上でフレームの最後（ＳＯＦｎ３）が受信されると、画像タグが生成される。タグは、フレームシーケンスが開始する最後の正確な時間を２μ秒・フレームシーケンスカウンタの計数時刻で記録したものである。また、特定フレームの順序画像番号も記録される。また、画像データが受信された時アクティブだった特定画像向けレジスタの設定情報も記録する。この設定情報には、画像とブロックサイズと画像の読み出しを制御するさらに別のフレームオプションが含まれる。また、このエントリでは、検出器からの画像データのフォーマット化に関する詳細情報を提供するＳＯＦｎ３から読み出されたデータを記録する。
【０２２３】
以下の表１３は、画像タグＲＬエントリフォーマットを示す。
0004159288.tif 000025
【０２２４】
検出器コマンド
コマンドが送信されて検出器でそれが実行されると、検出器コマンドＲＬエントリが生成される。アクノリッジが検出器から受信されるか、ファイバーチャネル・タイムアウトを過ぎるまで、エントリは生成されない。エントリには、オリジナルコマンドと検出器の応答情報が含まれる。また、デバッグのためにＤＦＮを起動せずに、自動的検出器アクノリッジ用に、ＲＬエントリが作成される。この場合、フィールド１，２は０ｘＦＦＦＦＦＦＦであって、異常状態を示し、フィールド３，４は検出器応答を保持する。
【０２２５】
表１４は、検出器コマンドＲＬエントリフォーマットを示す。
0004159288.tif 000026
【０２２６】
イベントキュー情報
検出器キューイベントが実行されるときは常にイベントキューＲＬエントリが生成される。エントリにはイベント記述子が含まれ、このイベント記述子はイベントタイプ用のバイトコードと共にキューポインタの現在値をそれぞれのイベントインストラクション用のＥＡＢメモリに与える。イベントインストラクションの引数はフィールド２と３に記憶される。ループインストラクションのループポインタの現在値と同様に、追加の情報がフィールド４に記憶される。ループエントリは常にループからエントリを生成する。
【０２２７】
表１５は、イベントキュー応答ログ（「ＲＬ」）エントリフォーマットを示す。
0004159288.tif 000027
【０２２８】
画像読み出し情報
画像読み出し関連情報は、これらのＲＬエントリを用いて記録される。この情報は、画像読み出し中に検出器から受信したデータに組み込まれ、検出器読み出しファームウェアのデバッグに用いられる。このデータは、画像獲得中に受信したＳＯＦｎ２、ＳＯＦｎ３コマンドに対応する。上で議論されたように、ＳＯＦｎ１コマンドのデータは画像タグに記憶される。
【０２２９】
表１６は、画像読み出しＲＬエントリフォーマットを示す。
0004159288.tif 000028
【０２３０】
リアルタイムバスステート
リアルタイムバス３７９上で状態変化が検出されると、リアルタイムバスステートＲＬエントリが生成される。この情報は、獲得中のリアルタイムバス３７９のラインの実ステートを追跡するために有用である。
【０２３１】
表１７は、リアルタイムバスステートＲＬエントリフォーマットを示す。
0004159288.tif 000029
【０２３２】
ＤＭＡ情報
現在の画像バッファのＤＭＡが起動されると、ＤＭＡ情報ＲＬエントリが生成される。この情報は、サードパーティのＰＣＩカードが利用可能なバス上の帯域幅を下げるという問題を含むＤＭＡの問題をデバッグするために有用である。
【０２３３】
表１８は、ＤＭＡ  ＲＬエントリフォーマットを示す。
0004159288.tif 000030
【０２３４】
シーケンス遷移
シーケンスに関連した遷移が起こると常に、シーケンス遷移ＲＬエントリが生成される。この種のＲＬエントリが生成されると常に、シーケンスタイマがリセットされることに注意していただきたい。ユーザモードプログラムが検出器とイベントシーケンス（「チットチャット」モード）を除く交信を開始すると、ドライバはシーケンスタイマをリセットし、次のＲＬエントリで用いられるシーケンスＩＤをＤＦＮ３０４に送る。アーカイブＤＬＬは、全ＲＬエントリから相対的タイミング情報が供給される時、システムの絶対時間を続けて追跡する。
【０２３５】
表１９は、シーケンス遷移ＲＬエントリフォーマットを示す。
0004159288.tif 000031
【０２３６】
エラー
エラーＲＬエントリは、ＤＦＮ３０４もしくはファイバーチャネルリンクに関する問題から生成されたエラーを記録する。
【０２３７】
表２０は、ＲＬエントリのエラーフォーマットを示す。
0004159288.tif 000032
【０２３８】
表２１は、応答ログの制御に用いられるＤＦＮ３０４のレジスタを示す。
0004159288.tif 000033
0004159288.tif 000034
【０２３９】
ＤＦＮ３０４は、最初（電源投入時とエラー後）は応答ログパケットの送信ガディスエーブルとされる。転送を有効にするために、ホストコンピュータ１１４は、応答ログ回路をコンフィグレーションし、続いて回路を有効にする。コンピュータは、応答ログバッファサイズと２本のバッファのベースアドレスをＳＩＺＥ＿ＲＥＳ＿ＬＯＧレジスタとＢＡＳＥ＿ＬＯＧ＿ＡレジスタとＢＡＳＥ＿ＬＯＧ＿Ｂレジスタに書き込むことによって、２本の応答ログバッファをコンフィグレーションする。２本の応答ログバッファのサイズは同じであって、３２バイトの整数倍である。応答ログバッファは、４Ｋページバウンダリ（即ち、ビット１１−０は０）から始まる。
【０２４０】
ホストコンピュータ１１４は、ＥＰ＿ＥＮＡＢＬＥ＿ＲＥＧのＹビットをクリアして、応答ログ７３７を有効にする。起動時、ＤＦＮ３０４は応答バッファＡのベースアドレスを用いて第１の応答ログエントリを行う。第２の応答ログエントリは、３２バイト（１００００）によってオフセットされる応答バッファのベースアドレスに送られる。次の応答ログエントリは、応答ログエントリ数の３２（バイト）倍でオフセットされる応答バッファＡのベースアドレスに転送される。応答バッファＡが満杯（アドレスがＢＡＳＥ＿ＬＯＧ＿Ａ＋ＳＩＺＥを越える）のとき、ＤＦＮ３０４はＲＥＳ＿ＬＯＧ＿ＦＵＬＬのＹＹビットをセットして、バッファＡが満杯であることを示す。ＰＣＩ９０５４のドアベルレジスタのＺＺビットもセットされ、ホストコンピュータに割り込みが送られる。ＲＥＳ＿ＬＯＧ＿ＦＵＬＬレジスタのＹＺビットがセットされていないならば、ＤＦＮ３０４は、応答バッファＢへの応答ログエントリの書き込みをベースアドレスから開始し、応答ログバッファＢが満杯になるまで続ける。バッファＢが満杯のとき、ＤＦＮ３０４はＥＲＬ＿ＬＯＧ＿ＦＵＬＬのＹＺビットをセットして、バッファＢが満杯であることを示し、またＰＣＩ９０５４のドアベルレジスタのＺＺビットをセットして、別の割り込みをコンピュータに送る。次に、ＤＦＮ３０４は、ＲＥＳ＿ＬＯＧ＿ＦＵＬＬレジスタのＹＹビットがクリアされたかどうかをチェックする。もしＹＹビットがクリアされたならば、ＤＦＮ３０４は応答ログバッファＡを再度利用する。ＤＦＮ３０４は応答ログバッファをＡからＢ、もしくはＢからＡに切り替えると、次のバッファ（ＲＥＳ＿ＬＯＧ＿ＦＵＬＬレジスタのＹＹまたはＹＺ）の応答ログフルフラグがクリアされると予測する。コンピュータがそのビットをクリアしなかったならば、エラー状態となる。もしエラー状態になると、ＲＥＳ＿ＬＯＧ＿ＦＵＬＬレジスタのＹＹ、ＹＺ，Ｅ１ビットがセットされ、ＤＦＮ３０４はＥＰ＿ＥＮＡＢＬＥ＿ＲＥＧレジスタのＹビットをセットして、応答ログ回路をディスエーブルにしテリセットする。このビットをクリアすることによって、応答ログ回路が再起動される。回路が再起動されると、ＤＦＮ３０４は応答ログバッファＡのベースアドレスへの応答ログエントリの転送を開始する。
【０２４１】
ホストコンピュータ１１４はＳｗｉｔｃｈ  ＲＬ  ｂｕｆｆｅｒコマンドを発行して、２本の応答ログバッファ間を強制的に切り替える。もしこれが起こると、ＤＦＮ３０４は即座にバッファＡとＢを切り替える。応答ログバッファＡが現在アクティブのバッファであるときに強制的に切り替ワルならば、ＲＥＳ＿ＬＯＧ＿ＦＵＬＬレジスタのＹＹビットがセットされ、ドアベル割り込みがコンピュータにセットされる。ＤＦＮ３０４は、応答ログバッファＢのベースアドレスへの応答ログエントリの送信を開始する。もしＲＥＳ＿ＬＯＧ＿ＦＵＬＬのＹＺビットがセットされるならば、エラーが起こり、ＤＦＮ３０４はＥＰ＿ＥＮＡＢＬＥ＿ＲＥＧレジスタのＹビットをセットして応答ログ回路をディスエーブルにする。
【０２４２】
常に、ホストコンピュータ１１４は、２本のレジスタＲＥＳＰ＿ＬＯＧ＿ＳＴＡＴ＿ＡとＲＥＳＰ＿ＬＯＧ＿ＳＴＡＴ＿Ｂを読み出し、応答ログ回路の状態を決定する。これらのステータスレジスタの内容にはそれぞれ、応答ログバッファＡとＢに書き込まれた最終応答ログエントリのアドレスが含まれる。また、応答ログバッファＡかＢが最終応答ログエントリのターゲットであったかどうかを示すフラグも含まれる。強制的に切り替えられた後ニ、それらを読み出して切り替え前に発生した応答ログエントリ数を決定する。それらは応答ログバッファが両方とも満杯になった後に読み出され、どちらのバッファにより古い応答ログエントリが含まれているかを決定する。
【０２４３】
ファイバーチャネルループバック
ファイバーチャネルループバックテストは、ファイバーチャネルチップセットをテストするために設計されテイる。このテストは、ＥＰ３７４デバイスがＬＯＯＰＥＮ信号ラインをアサートすることによって開始される。この信号ラインは、光ファイバー送信部５６２の光ファイバー受信部５６４の受信入力ブへの複数の出力を短絡させる。これにより、エンコーダ／デコーダ部５６６からＥＰ３７４へのループが閉じる。次に、ＥＰ３７４はリンクを介してＦＣコマンドの送信を試み、リターン・バスの予測エコーを監視する。コマンドワードフォーマットには１と０の交互のパターンが含まれ、送受信バスラインの短絡／開放をテストするように設計されている。もし正確なパターンが受信されたら、テストは合格である。結果はコンピュータに報告される。
【０２４４】
このテストでは、光ファイバートランシーバモジュールは検証できないが、ＬＯＯＰＥＮをアサートせずにテストを実行するように設定することができる。この場合、短いファイバーケーブルがモジュール出力からその入力へループされ、ループを閉じる。一般的にこのテストは、ＤＦＮ３０４のデバッグに利用可能である。
【０２４５】
リアルタイムバスループバック
リアルタイムバスインタフェース３７９は、トランシーバチップセットエレクトロニクスの完全性をテストすることができる。送信バス上のデバイスへデータを書き込み、受信バスのデータを監視することによって、ＥＰ３７４はリアルタイムバスループバックテストを実行する。チップはチャネルが共に配線されたレシーバとトランスミッタを有し、送信されたものは自動的に受信される。送受信データバストレースとチップピンの開放／短絡をチェックするように設計された１と０の交互パターンの一連のワードが、リアルタイムバスループバックテストに含まれる。リアルタイムバスループバックテストが成功することは、チップ自体が正確に機能することを示す。
【０２４６】
さらに、リアルタイムバスループバックテストには、コネクタはんだ接合部だけでなく３１ピン小型Ｄコネクタへのトレースのテストが追加されている。外部テストコネクタは、全ての偶数チャネルを全ての奇数チャネルに短絡させる。データは偶数チャネルに送信され、奇数チャネルで監視される、またその逆もある。リアルタイムバスループバックテストは、コネクタに対する全通信チェインは順調であって、一般的に自動的には実行されないことを示す。リアルタイムバスループバックテストは、リアルタイムバス３７９のデバッグに利用可能である。
【０２４７】
ＲＡＭビルトインセルフテスト（「ＢＩＳＴ」）
ＤＦＮ３０４は、大部分がＤＡＰ３７２に接続される１０個の８メガビットＳＲＡＭデバイスを有する。これらのデバイスは、ボード出荷中にダメージを受ける可能性があるため、ＲＡＭ  ＢＩＳＴテストによって徹底的にテストする。
【０２４８】
ＲＡＭ  ＢＩＳＴには３つの関連テストが含まれ、それらは全てＤＡＰ３７２のファームウェアによって実行される。第１のテストでは、奇数メモリ位置と偶数メモリ位置は１／０の交互パターンが満たされ、読み出され、チェックされる。第２のテストでは、奇数値と偶数値が反転される。第３のテストでは、特定位置のアドレス値がその位置に書き込まれる。ＲＡＭ全体が満杯になると、データが読み出され、元データと比較される。
【０２４９】
これらの３種類のテストは、カード上のＲＡＭの全ビットが最適であることを検証し、トレースとＳＲＡＭデバイス上のピン間とＤＡＰ３７２上の大部分のピンの短絡をチェックする。
【０２５０】
割り込み
ＤＦＮ３０４は、割り込み生成をサポートするが、割り込みには応答しない。ＤＦＮ３０４によって生成された割り込み処理手順は、ここで定義される。ＤＦＮ３０４上で生成された割り込みは、ＰＣＩ割り込みピンには直接発行されない。コンピュータ通信インタフェース３８２は、割り込みをコンピュータ通信バス３０２に発行してクリアする。
【０２５１】
コンピュータ通信インタフェース３８２は、ＤＦＮ３０４とコンピュータ通信バス３０２に割り込みを生成するための２本のドアベルレジスタを含む。コンピュータ通信バス３０２で割り込みを生成するために用いられるドアベルレジスタは、ローカル−ＰＣＩ間ドアベルレジスタ（Ｌ２ＰＤＢＥＬＬ）である。コンピュータ通信インタフェース３８２ベースアドレスからｘ６４のオフセットで、ＰＣＩ側（即ち、ホストコンピュータ１１４）からこのレジスタはアクセスされる。ホストコンピュータ１１４はこのレジスタを読み出し、どのドアベルビットがセットされたかを決定する。ＤＦＮ３０４は特定ビットに１を書き込むことによってドアベルをセットする。ホストコンピュータ１１４は、そのビット位置に「１」を書き込むことによってドアベルビットをクリアする。
【０２５２】
ホストコンピュータ１１４は、コンピュータ通信インタフェース３８２上の割り込み制御／ステータスレジスタ（ＩＮＴＳＣＲ）の２ビットをセットすることによって、ＤＦＮ３０４が生成した割り込みを有効にする。このレジスタは、ＰＣＩ側から、コンピュータ通信インタフェース３８２のベースアドレスに対しｘ６８のオフセットでアクセスされる。ＤＦＮで生成された割り込みは、ビット８のＰＣＩ割り込みイネーブルビットと、ビット９のＰＣＩドアベル割り込みイネーブルビットをセットすることによって有効となる。
【０２５３】
Ｌ２ＰＤＢＥＬＬレジスタは３２ビットのレジスタである。特定の種類のドアベルは、ユニークな割り込みメッセージである。ＤＦＮ３０４によって生成された割り込みの一般的な処理方法を以下に示す。
【０２５４】
Ｌ２ＰＤＢＥＬＬレジスタを読み出す。
【０２５５】
割り込みを生成したビットを検査して割り込み要因を決定する。
【０２５６】
アクションを実行する。
【０２５７】
ＤＦＮ３０４の割り込み要因をクリアする。
【０２５８】
割り込みを生成したＬ２ＰＤＢＥＬＬレジスタのビットをクリアする。
【０２５９】
Ｌ２ＰＤＢＥＬＬレジスタを再度読み出してＰＣＩ割り込みがクリアされたことを決定する。
【０２６０】
割り込みの原因次第では、上記工程３と４が用いられない場合もある。
【０２６１】
特定の各割り込みによってＬ２ＰＤＢＥＬＬレジスタにセットされた特定のビットを、以下の表２２に示す。
0004159288.tif 000035
0004159288.tif 000036
【０２６２】
「予約済」と記されたビットは将来利用するためのものであって、通常ＤＦＮ３０４によってセットされることはない。「エラー」と記されたビットはＤＦＮ３０４のＤＡＰ  ＦＰＧＡもしくはＥＰ  ＦＰＧＡでエラーがトラップされたことを示す。ＤＦＮ３０４がこれらのビットのうちの一つをセットするならば、表２２に示された適切なエラーレジスタを読み出すことによってエラーの実原因を決定することができる。正常な環境下では、エラーはＤＦＮ３０４でクリアされた後に、コンピュータ通信インタフェース３８２でクリアされる。
【０２６３】
Ｌ２ＰＤＢＥＬＬレジスタのビット０から１２をセットすることによって引き起こされた割り込みは、正常実行中に生成される割り込みである。
【０２６４】
ＤＡＰ／ＥＰの交信
ＥＰ３７４からＤＡＰ３７２に送られる情報は、応答ログのアセンブリに用いられ、ＤＡＰ３７２とＥＰ３７４を接続するＦＰＧＡバスのビット（４９：３４）を用いてＤＡＰ３７２に通信される。
【０２６５】
ＤＡＰ３７２が応答ログエントリをアセンブルするために必要な全情報セットは、２μ秒間隔毎に１回づつ通信される。ほとんどの情報は、ＥＲ３７４内のイベントキューから生成される。続いて、ＥＰ３７４が２μ秒のパルスを受信するとすぐにＥＰ３７４からデータがシリアル化される。イベントキューからの第１のワードはインストラクションワードであって、現在のイベントインストラクションに対応してどの応答ログエントリを生成するかを示す。
【０２６６】
インストラクションワードフォーマットを以下の表２３に示す。
0004159288.tif 000037
【０２６７】
ＤＰＡ３７２に転送される次の２０ワード（ワード１から２０）もイベントキューから作成され、１６ビットワードにシリアル化される。
【０２６８】
順序を以下の表２４に示す。
表２４
名前        説明
ワード１    検出器コマンド−フィールド１（ビット１５：０）
ワード２    検出器コマンド−フィールド１（ビット３１：１６）
ワード３    検出器コマンド−フィールド２（ビット１５：０）
ワード４    検出器コマンド−フィールド２（ビット３１：１６）
ワード５    検出器コマンド−フィールド３（ビット１５：０）
ワード６    検出器コマンド−フィールド３（ビット３１：１６）
ワード７    検出器コマンド−フィールド４（ビット１５：０）
ワード８    検出器コマンド−フィールド４（ビット３１：１６）
ワード９    イベントキュー情報−フィールド１（ビット１５：０）
ワード１０  イベントキュー情報−フィールド１（ビット３１：１６）
ワード１１  イベントキュー情報−フィールド２（ビット１５：０）
ワード１２  イベントキュー情報−フィールド２（ビット３１：１６）
ワード１３  イベントキュー情報−フィールド３（ビット１５：０）
ワード１４  イベントキュー情報−フィールド３（ビット３１：１６）
ワード１５  イベントキュー情報−フィールド４（ビット１５：０）
ワード１６  イベントキュー情報−フィールド４（ビット３１：１６）
ワード１７  ＲＴバスステート−フィールド１（ビット１５：０）
ワード１８  ＲＴバスステート−フィールド１（ビット３１：１６）
ワード１９  ＲＴバスステート−フィールド２（ビット１５：０）
ワード２０  ＲＴバスステート−フィールド２（ビット３１：１６）
【０２６９】
ＤＡＰ３７２に転送される次の６ワード（２１から２６）はエラー信号である。次の６ワードは表２５に示されるように、以下の順序で転送される。
表２５
名前        説明
ワード２１  ＥＰエラー  −（ビット１５：０）
ワード２２  ＥＰエラー  −（ビット３１：１６）
ワード２３  キューエラー  −（ビット１５：０）
ワード２４  キューエラー  −（ビット３１：１６）
ワード２５  ファイバーチャネルエラー  −（ビット１５：０）
ワード２６  ファイバーチャネルエラー  −（ビット３１：１６）
【０２７０】
システム概要
図１に示されるように、撮像システム１００はアップグレード可能なデジタルＸ線システムを提供し、コンピュータプラットフォームに広く利用可能なＰＣテクノロジを利用する。撮像システム１００は、タスクベースの非リアルタイム・オペレーティングシステム下で実行される。同時に、撮像システム１００は画像獲得中に発生するロウレベルイベントを制御する。ハイレベルとロウレベルの機能は、リソースを最適に利用するために区分化される。特に、リアルタイムで発生する全機能はハードウェアに組み込まれ、コンピュータオペレーティングシステムのリアルタイム動作の負荷が除かれる。複雑なデータ処理オペレーションは実行されないため、多くの場合、これらの機能はハードウェアで実現することに適している。対照的に、画像処理機能、例えば、ゲイン／オフセット補正をカスタムハードウェアで実現するには比較的費用がかかる。
【０２７１】
このため、撮像システム１００は、単純な特定用途向けハードウエアを用いてリアルタイム制御を行い、ホストコンピュータ１１４上の画像データを処理する。
【０２７２】
イベントシーケンス
画像獲得処理には、正確な時間間隔で起こり、放射線生成システム１０９と画像検出システム１１２の制御を含むイベントシーケンスが含まれる。大抵の場合、画像獲得前にこれらのイベントが最適に起こる正確な順序をユーザは知っている。このシーケンスは、実行される試験の種類と、ユーザが画像獲得を通して学習したい情報の種類に依存して、その獲得毎に変化する。従って、実行されるイベントインストラクションシーケンスのリスト、即ち、記述が構築される。このリストは、リアルタイムには構築されないため、ホストコンピュータ１１４上で実行される。一旦、イベントシーケンスが認識されると、その詳細情報が特定用途向けハードウェアに送信され、リアルタイムに実行される。
【０２７３】
図１５に戻って、上で詳述されたように、獲得制御ソフトウェア、例えば、テスト制御アプリケーション３０６によって画像獲得の高レベル記述が生成される。この記述には、獲得されるフレームシーケンスが含まれ、またオプションとして、詳細情報、例えばフレーム時間や獲得中に用いられる発振器のゲインが含まれる。ターゲット制御ハードウェアの詳細情報を認識しているコンパイラによって、フレームシーケンスはイベントシーケンスに翻訳される。コンピュータ通信バス３０２を介してこのイベントシーケンスは、検出器フレーミングノード３０４に送られ、実行準備のために記憶される。コンピュータ通信バス３０２を介してＢｅｇｉｎ  Ｓｅｑｕｅｎｃｅコマンドを送信することによって、シーケンスの実行が開始される。ホストコンピュータ１１４に割り当てられるリアルタイム制御の範囲は、シーケンスが開始されるとき決定される。イベントシーケンスが完了すると、ホストコンピュータ１１４は獲得したデータの他に、イベントシーケンスの実行中に記録された様々な診断とレスポンスを検索する。従って、ホストコンピュータ１１４は前処理／後処理の役割ももつため、リアルタイム動作の負荷が完全に除去される。
【０２７４】
イベントグラフ
図４９は、通常の画像獲得シーケンスを示すイベントグラフ６５０の例である。イベントグラフ６５０の例には独立した一連のイベントが含まれ、それらは各々所定の時点で発生するようにスケジュールされている。イベントグラフ６５０の例を参照すると、左側から始まる一連の無効フレーム（データリターンなしのパネルスキャン）が示されている。これらは、検出器フレーミングノード３０４がイベントシーケンス前にアイドル状態であるときに取得される無効フレームを表す。このアイドル状態は、ＤＦＮＮｏｒｍａｌモードと呼ばれ、デフォルト・オペレーション状態である。イベントシーケンスはトリガされ、システムがＮｏｒｍａｌモードでなくなると開始され、Ｒｕｎモード（イベントシーケンス実行）に入る。イベントシーケンスの第１のイベントインストラクションＥ０は、フレームに検出器フレーミングノード３０４を設定するものである。Ｅ１は、第１フレームの開始から第１フレームの読み出しを開始するまでの遅延時間である。この直後には、画像リクエストであるＥ２と、画像読み出し時間のための遅延Ｅ３が続く。Ｅ３が完了すると、Ｅ４では次のフレームが設定され、第２フレームの遅延Ｅ５が始まる。フレームはＥ６−Ｅ７上で読み出され、ＥｎｄＱイベントインストラクションＥ８は、イベントシーケンスの最後に対応する。このポイントに到達すると、実行は完了し、システムはＲｕｎモードからＮｏｒｍａｌモードに移行する。
【０２７５】
図４９に示されたシーケンスの実行中に２つのデータフレームが獲得される。これらのフレームは、コンピュータＲＡＭ３３４に直接転送される。また、検出器フレーミングノード３０４に送られて、読み出しを開始させるコマンドの各々によって、アクノリッジが検出器フレーミングノード３０４から返される。このアクノリッジはイベント毎に記録され、応答ログバッファ７３７（以下で詳述する）のコンピュータＲＡＭ３３４に記憶される。この全て情報とコンピュータＲＡＭ３３４のフレームデータに対するポインタは、イベントシーケンスが完了するとすぐに上位のレベルコンピュータアプリケーションに送られる。コンピュータ通信バス３０２を介して検出器フレーミングノード３０４に別のｂｅｇｉｎ  ｓｅｑｕｅｎｃｅコマンドを送信することによって、シーケンスは再び繰り返される。
【０２７６】
標準イベントセット
検出器フレーミングノード３０４のファームウェア用標準イベントセットには、最少の数のイベントインストラクションが含まれ、機能、即ち撮像システム１００の機能をサポートする。これらのイベントインストラクションは、機能によって大まかにグループ化される。各イベントインストラクションには、イベントを特定する一つのオペレーションコード・バイトと、適用可能な時に使われる引数バイトが含まれる。全オペレーションコードワードは１バイト長であって、それらの引数は図示されているように複数バイト長である。オペレーションコードバイトと引数バイトは、ＥＰ３７４の検出器フレーミングノード３０４のＥＡＢメモリ４７４を最適に利用するためにパックされる。各イベント毎の制御／データワードフォーマットを示した複数の図について以下で説明する。図はオペレーションコードで始まるＥＡＢメモリ４７４のデータの正確なバイトの順序を示す。複数バイトワードは、「（０）」の最上位バイトから配列されたバイトで示される。
【０２７７】
図５０は、標準イベントセット６６０の表である。全イベントインストラクションは２μ秒クロックの１サイクルでＥＡＢメモリ４７４から読み出され、処理される。
【０２７８】
図５１は、Ｓｅｎｄイベント６７０のブロック図である。このイベントインストラクションによってコマンドワードＳ１，Ｓ２がデバイスに送られる。検出器フレームノード３０４からの応答はホストコンピュータ１１４上の応答ログ７３７に記録される。送信イベント６７０を実行するためのパールスクリプト（Ｐｅｒｌ  Ｓｃｒｉｐｔ）の例を以下に示す。
【０２７９】
Ｓｅｎｄ  （０ｘ２００１，  １ｘ２）；
上の例は、様々な数を使うことができるように、Ｓｅｎｄ（「コマンド」、「引数」）というフォーマットを備える。この例では、ＤＦＮＳｉｇｎａｔｕｒｅＲｅｑｕｅｓｔコマンドが画像検出システム１１２の検出器制御ボード１２４に送られる。検出器制御ボード１２４からの応答は応答ログ７３７に記録され、模範的な形式を備える。
【０２８０】
ＡＣＫ１  ＝  ０ｘ２００２１
ＡＣＫ２  ＝  ０ｘ４０３００１００
上に示されるように、ＡＣＫ１＝「コマンド」であって、ＡＣＫ２＝「シグニチャ」である。検出器制御ボード１２４は、Ｃａｒｄｉａｃ  Ｈ２０ファームウエアを実行していることを示すシグニチャを用いて応答する。ｓｅｎｄイベント６７０を用いてＳｔｏｒｅ  Ｓｃａｎ  Ｓｅｔｕｐ  Ｐａｒａｍｅｔｅｒｓコマンドを検出器制御ボード１２４に送信する。この場合、Ｓ１はコマンドフォーマット「０ｘ００００４０２０」を有し、Ｓ２は記憶される３２ビットパラメータワードである。ｓｅｎｄイベント６７０はＲｅａｄ  Ｔｅｍｐｅｒａｔｕｒｅコマンドにも用いられる。この場合、Ｓ１は「０ｘ００００４１００」であって、Ｓ２はディスエーブルである。このコマンド処理の後、検出器制御ボード１２４は、応答ログ７３７に記録される２つの３２ビットワードを有するアクノリッジを用いて応答する。これらのうちの第１のものは、コマンド「０ｘ００００ＦＦＦＦ」が認識されないならば、オリジナルのＳ１ワードのコピーである。第２のワードはリクエストされた温度である。イベントシーケンスクロックの２μ秒のクロック単位で送信が実行される。ＦＣタイムアウトは、ユーザがプログラムしたカード上のレジスタを用いて設定される。デバイスからの応答がなくこのタイムアウトを越えたならば、エラーが生成される。ファイバーチャネルＡＣＫのリターン・タイムアウトは、１０２４＊２８ｎ秒＝２８．６７２ｍ秒のタイムアウトで２８ｎ秒をインクリメントするように設定される。タイムアウトは、ＤＦＮドライバによって公称値（例えば２５６カウント）に設定される。検出器フレーミングノード３０４によってファイバーチャネルエラー状態が検出され、ＰＣＩ割り込みを用いてホストコンピュータ１１４に送られる。それらも応答ログ７３７に記録される。ｓｅｎｄイベント６７０は、その実行のタイムアウトを備える。リターン情報は検出器フレーミングノード３０４によって監視され、その情報が受信されて正確に処理されたかどうかが判定される。
【０２８１】
図５２は、報告されたファイバーチャネルエラー６７２の表である。
【０２８２】
図５３は、Ｄｅｌａｙ  Ｔイベント６８０のブロック図である。このイベントインストラクションは、Ｔで与えられる実行時の遅延を提供する。ここで、Ｔは３２ビットバイナリワードであって、２μ秒のイベントシーケンスのクロック単位数を表す。フレームの読み出しタイミングは、バックグランドで３０Ｈｚのインクリメントを数える割り込みシステムでは明確に規定されていない。ＤＦＮ  Ｒｕｎモードでは、フレーム読み出しの正確なタイミングが、イベントキューのイベントインストラクションによって完全に保持される。パールスクリプトの例を以下に示す。
【０２８３】
Ｄｅｌａｙ（１６５００）；
パールスクリプトでは、このイベントインストラクションに対する引数が２μ秒のイベント・クロック単位で提供される。このため、上の例では、３３ｍ秒の遅延時間は、心臓画像のフレーム時間である。Ｄｅｌａｙイベントは、検出器制御ボード１２４の連続読み出し間の遅延を生成するために有用である。この遅延は、読み出しオペレーションによって得られる残りの遅延を有する所定フレームのフレーム時間全体のうちの一部を構成する。また、このイベントインストラクションを用いて、画像データの読み出しによる遅延を考慮することができる。Ｄｅｌａｙ  Ｔイベント６８０を用いて明フレームの始めと放射線生成システム１０９がオンにされる時点の間に遅延を挿入する。
【０２８４】
図５４は、Ｌｏｏｐ  ＫＮイベント６８４のブロック図である。このイベントインストラクションでは、イベントキューポインタをデクリメントして、イベントキューセクションでのループを可能にする。ループは、ｌｏｏｐイベント前に発生するインストラクションで実行される。ポインタが移動する距離はＫによって与えられ、ループの実行回数はＮ＋２によって与えられる。ループポインタはゼロベースであって、ループの最初の時間までには、ループインストラクションが到達しないことに注意されたい。これらの２つの約束事によって、カウンタにさらに２カウントが追加される。ループはＬｏｏｐイベント前のイベントインストラクションで実行されるため、ループは少なくとも１回（Ｎ＝０）実行されることに注意していただきたい。ここではＮは１バイト長であるため、２５７回のループ（２５５＋２）が許可される。パールスクリプトの例を以下に示す。
【０２８５】
Ｓｅｎｄ（０Ｘ００７０００，  ０ｘ１）；
Ｄｅｌａｙ（１６５００）；
ＬｏｏｐＫＮ（２，  ２０）；
【０２８６】
この例では、検出器フレーミングノード３０４は、３３ｍ秒／フレームのフレームレートで２２回読み出される。これは、上記画像リクエストコマンド、例えば１６５００回の２μ秒カウントの遅延後にＳｅｎｄ（「画像リクエスト」）とＬｏｏｐＫＮステートメントを送信することによって実現される。パールファイルでは、イベントインストラクション数に関してジャンプ距離「Ｋ」が提供されるが、バイナリイベントコンパイラ出力ＣＯＦＦファイルでは、ジャンプ距離「Ｋ」は実バイトで指定される。コンパイラは、イベント・インストラクションを指定するこれらの２つの方法の間での対応を取る。Ｌｏｏｐ  ＫＮイベントは、検出器フレーミングノード３０４から所定数のデータフレームを取得するために有用である。ｌｏｏｐ  ＫＮイベントは、暗フレームと明フレームの両方を含むイベントシーケンス・セクションを包含することができる。このように、比較的短いイベントインストラクション・シーケンスを用いて、連続した長い画像を表現することができる。
【０２８７】
図５５は、Ｌｏｏｐ  ＫＦイベント６８６のブロック図である。Ｌｏｏｐ  ＫＦイベントはバイナリフォーマットを備える。図５５は、ＥＡＢメモリ４７４のバイトの順序を示す。この順序は、エンディアンの順序付けが異なるため、（「ＴＹＰＥ，ＭＡＳＫ，ＳＴＡＴＥ」が「ＳＴＡＴＥ，ＭＡＳＫ，ＴＹＰＥ」）となるようにパールスクリプトで反転される。このイベントインストラクションはイベントキューポインタをデクリメントして、イベントキューセクションでループを可能とする。ポインタが移動する距離はＫによって与えられる。Ｆフラグが受信されるまでループを続ける。ＦはＴｙｐｅ（ＲＴバス＝「００」、ホストフラグ＝「０１」）とＭａｓｋとＳｔａｔｅによって記述される。ネストされたループの１レイヤーが許可される。フラグの記述に関しては、Ｗａｉｔ  Ｆを参照されたい。パールスクリプトの例を以下に示す。
【０２８８】
Ｓｅｎｄ（"ｉｍａｇｅ  ｒｅｑｕｅｓｔ"）；
Ｄｅｌａｙ（１６５００）；
ＬｏｏｐＫＦ（２，  ０ｘＡＡＦＲ０１）；
【０２８９】
この例では、ホストフラグがユーザアプリケーションから受信されるまで、３３ｍ秒／フレームのフレームレートで、不確定期間に検出器フレーミングノード３０４が読み出される（フラグを定義するためのＷａｉｔ  Ｆを参照）。これは、１６５００回の２μ秒カウントの遅延後に、画像リクエストコマンド（「画像リクエスト」）とＬｏｏｐＫＦステートメントを送信することによって実現される。パールファイルでは、イベントインストラクション数としてジャンプ距離「Ｋ」が与えられるが、バイナリイベントコンパイラ出力のＣＯＦＦファイルでは、ジャンプ距離「Ｋ」は実バイトで指定される。コンパイラは、イベントを指定するこれらの２つの方法の間の対応を取る。Ｌｏｏｐ  ＫＦイベント６８６を用いて、イベントキューと、明フレームを獲得するための外部入力の同期が取られる。無効フレームを含むイベントインストラクション・シーケンスは、リアルタイムバス３７９からのフラグＦを待つイベントを備えるＬｏｏｐ  ＫＦループ内に配置される。放射線生成システム１０９の準備ができると、リアルタイムバス３７９は状態Ｆに変わり、イベントキューからＬｏｏｐ  ＫＦを出して、次のイベント、即ちデータフレームに進む。また、Ｘ線をオンにしたデータフレームによって、以前の検出器無効オペレーションのロック工程で明フレームを実現することができる。ＬｏｏｐＫＦイベントを用いて、検出器の動作をデバッグするための無限ループを生成する。ループは、実行完了を示すホストコンピュータ１１４からのフラグに敏感である。
【０２９０】
図５６は、バイナリフォーマットのＷａｉｔ  Ｆイベント６９４のブロック図である。図５６は、ＥＡＢメモリ４７４のＷａｉｔ  Ｆイベント６９４のバイト順序を示す。この順序は、エンディアンの順序付けが異なるため、パールスクリプトでは反転される（「ＴＹＰＥ，ＭＡＳＫ，ＳＴＡＴＥ」が「ＳＴＡＴＥ，ＭＡＳＫ，ＴＹＰＥ」となる）。Ｗａｉｔ  Ｆイベント６９４は、フラグＦが受信されるまでキューの実行を中断する。フラグの正確な特性は、上で示されたように、ＴＹＰＥとＭＡＳＫとＳＴＡＴＥフィールドで決定される。Ｔｙｐｅを用いて、フラグの始まりが示される（ＴＹＰＥ「００」＝ＲＴバス、ＴＹＰＥ「０１」＝ホストフラグ）。Ｍａｓｋを用いてどのビットをテストするか選択し、ＳＴＡＴＥは、テストに合格するために必要な、それに対応する状態を保持する。例えば、ＲＴバス上のビット０をオンにするには、以下のＴＹＰＥとＭＡＳＫとＳＴＡＴＥの構成、即ち、（「００，０１，０１」）を用いる。必要であれば、以前の状態を変更せずに、所定のビットを変更するのにリアルタイムバス３７９を読み出さなくても良いように、その他のビットから独立してビットをオンにすることができることに注意されたい。ＤＦＮＲｅａｄＲＴＢＳｔａｔｅ（）ファンクションコールを用いると、ホストコンピュータ１１４はリアルタイムバス３７９を読み出す。パールスクリプトの例を以下に示す。
【０２９１】
Ｗａｉｔ（０ｘ０Ａ０Ｆ０１）；
【０２９２】
この例では、コンピュータアプリケーションからパターン「ＸＡ」が受信されるまで、実行はＷａｉｔステートメントで中断する。この場合、ＭＡＳＫは「０Ｆ」であるため、受信するホストフラグの下位４ビットがテストされる。乳房撮影の場合、オペレータは、放射線生成システム１０９の「Ｐｒｅｐａ」ボタンと「Ｇｒａｐｈｅ」ボタンを押下し、Ｇｒａｐｈｅによって、Ｘ線管に実際に電圧を印加しながら、Ｘ線照射を開始する。ＸキューのＷａｉｔ  Ｆイベントは、オプションとして、オペレータのコンソール上のＧｒａｐｈｅボタンが押されたことを示す信号を検索する。Ｇｒａｐｈｅボタンは、リアルタイムバス３７９を用いてインタフェースされ、また、フラグに効果的に対応する状態でテストされる信号ビットによって表される。このフラグが受信されると、次のイベントインストラクション、即ち、放射線生成システム１０９に対するＦｌａｇ  Ｆコマンドの実行に移って、放射線生成システム１０９をオンにするように要求する。Ｗａｉｔ  Ｆイベントを用いてイベントキューオペレーションとホストコンピュータ１１４を同期化する。Ｗａｉｔ  Ｆイベントを用いて、ホストコンピュータ１１４での準備ができたことを示す信号が送られるまで実行を停止する。例えば、画像ループでＷａｉｔ  Ｆを用いると、オペレータはオプションとして、ホストコンピュータ１１４上のキーボードを押して正確な時間間隔で連続する画像の獲得を行って、ホストコンピュータ１１４に本シーケンスの次のフレームに進むように命令する。キーボードキーが押される毎に、ホストコンピュータ１１４は、Ｆｌａｇ  Ｆを使って、ＥＡＢメモリ４７４のイベントキューに知らせる。
【０２９３】
図５７は、バイナリフォーマットのＦｌａｇ  Ｆイベント６９６のブロック図である。図５７はＥＡＢメモリ４７４のバイトの順序を示す。この順序は、エンディアンの順序付けが異なるため、パールスクリプトで反転される（「ＴＹＰＥ，ＭＡＳＫ，ＳＴＡＴＥ」が「ＳＴＡＴＥ，ＭＡＳＫ，ＴＹＰＥ」となる）。このイベントインストラクションはＦｌａｇ  Ｆを生成する。フラグの正確な特性は、上で示しように決定される。ＴＹＰＥを用いて、フラグをリアルタイムバス３７９に適用できるかどうかを示すか（ＴＹＰＥ＝「００」）、もしくはホストコンピュータ１１４に対して割り込みを生成する（ＴＹＰＥ＝「０１」）。ＭＡＳＫを用いてどのビットを制御するかを選択し、ＳＴＡＴＥは各ビットに対応したレベルを保持する。リアルタイムバス３７９上のフラグは、次のイベントフラグによってクリアされるまでそのままである。ホストコンピュータ１１４に送信されたフラグによって、一つの割り込みが生成され、（ＳＴＡＴＥｘＭＡＳＫ）フラグ値がコンピュータアプリケーションに送信される。パールスクリプトの例を以下に示す。
【０２９４】
Ｆｌａｇ（０ｘＢ１Ｆ１００）；
【０２９５】
この例では、リアルタイムバスフラグ（ＴＹＰＥ＝「００」）が生成される。ＭＡＳＫは「Ｆ１」であるため、上位４ビットは全て指定された状態「Ｂ」に変化するが、下位４ビットでは、最下位ビットが変化する。ｆｌａｇ  Ｆイベントを用いて、放射線生成システム１０９をオンにするための信号でＸ線を生成させる。これはリアルタイムバス３７９上の適切なビットを選択して、そのビットを所望のレベルに設定することによって行われる。このビットは、後で別のｆｌａｇ  Ｆイベントを用いてクリア可能である。ｆｌａｇ  Ｆイベントを用いて、コンピュータに同期して画像を獲得し、ホストコンピュータ１１４に対してフラグを生成し、前のＷａｉｔ  ＦイベントでＧｒａｐｈｅボタンが検出されたことを示す。ホストコンピュータ１１４は、オプションとして、この情報を用いて画像獲得状態であることを知らせる。
【０２９６】
図５８は、Ｅｎｄ  Ｑイベント６９７のブロック図である。このイベントはイベントシーケンスの最後を構成する。このイベントに到達すると、検出器フレーミングノード３０４がＲｕｎモードからＮｏｒｍａｌモードになり、実行完了をホストコンピュータ１１４に通知する。ＥＮＤＱイベント６９７はイベントコンパイラによって自動的に挿入され、パールスクリプトでは示されない。
【０２９７】
実現される典型的なイベントシーケンスの例を以下に示す。それらは本願で提言されるアーキテクチャの柔軟性を示すことを目的としている。各々の例には、シーケンスの実行が時間どおりになされていること示すイベントグラフが含まれる。グラフには、本シーケンスでのイベントキューの表現も添付される。
【０２９８】
図５９は、乳房撮影シーケンスのイベントグラフ６９８である。乳房撮影用の画像獲得処理は、外部イベントによって制御されるイベントシーケンスの好適な例である。放射線生成システム１０９に基づく典型的な乳房撮影用デジタルＸ線獲得の例を示す。テスタシステムは、電圧がＸ線管に印加されたことを示すリアルタイムバス３７９上の信号としてのＧｒａｐｈｅプッシュボタンへのアクセス権を備える。この単純な例でのＸ線オン時間は、コンソールで設定される技術の一部としてユーザによって手動で設定される（即ち、ｍＡ）。テスタは、リアルタイムバスを介してＸ線照射の最初の段階を制御するが、オンタイムで直接制御はしない。アプリケーションコードによって、イベントキューを正確に設定して、所定のｍＡの設定に依存する遅延を実現することができる。
【０２９９】
図６０は、イベントキュー７００のブロック図である。キューが適切に設定されると、コンピュータ通信バス３０２のＢｅｇｉｎ  Ｓｅｑｕｅｎｃｅコマンドを用いてホストコンピュータ１１４は、本シーケンスを開始する。この時点で、検出器フレーミングノード３０４はＮｏｒｍａｌモードから抜けて、本シーケンスの実行を開始する。無効フレーム上でのループによってイベントキューが開始して、Ｇｒａｐｈｅボタンが押されるまで待つ（ＲＴ１）。グラフに示されているように、これはイベントＥ０−Ｅ２を用いて行われ、Ｅ１は無効のＳｅｎｄイベントであって、Ｅ２はＬｏｏｐＫＦイベントである。引数を定義するときに、制御イベントＥ２は、ループを開始するイベントに戻るための距離Ｋと、そのループを終了させるフラグＲＴ１を必要とする。この場合、ループは２つのイベントを含んでいるため、Ｋ＝２である。ＲＴ１は、（Ｇｒａｐｈｅの押下によって）どの信号を監視し、どの状態（ハイもしくはロウ）を検索するかを指定することによって定義されるリアルタイムバス３７９のフラグである。Ｇｒａｐｈｅが押されると、イベントキューはその変化を検出し、無効ループから抜けて、画像の獲得を開始する。
【０３００】
本シーケンスの次のグループのイベントは、オフセット、即ち、暗フレーム獲得処理を開始して、明フレームの開始とＸ線照射の開始を同期させる。これらのイベントはＥ３−Ｅ１０に対応する。Ｅ４はＳｅｎｄイベントであって、画像リクエストを検出器フレーミングノード３０４に送信する。画像リクエストの読み出し遅延には、ＤｅｌａｙイベントＥ５を用いる必要がある。Ｅ５が実行を完了すると、データはフレームバッファのＤＦＮ上に局所的に記憶される。獲得が完了すると、この本フレームバッファから、コンピュータ通信バス３０２を介してホストコンピュータ１１４をダイレクトメモリアクセスするトリガが与えられる。Ｘ線照射は、明フレームの開始時点から調整され、Ｅ６はこの時間遅延を提供するものである。遅延に続いて、リアルタイムバス３７９上のＸ線オン信号に対応するフラグＲＴ２の値を変更することによって、Ｅ７はＸ線オン信号を放射線生成システム１０９に送信する。上述したように、現在の乳房撮影用テストシステムは、Ｘ線オンタイム期間を設定する機能を有していない。従って、このＸ線オン信号は、いつ照射を開始するかを放射線生成システム１０９に命令するものであって、Ｘ線オフ信号は使用しない。Ｅ１１がキューを終了すると、このシーケンスが終了する。ＥｎｄＱイベントはＤＦＮをＲｕｎモードからＮｏｒｍａｌモードに移行し、パネルをアイドル状態にして、無効にする。
【０３０１】
図６１は、心臓のゲート・シーケンスのイベントグラフ７０２である。心臓のゲート・シーケンスでの画像獲得処理では、わずかに異なる例である外部制御のイベントシーケンスを備える。リアルタイムバス上のトリガ信号は、フレームシーケンス内でいつ画像を獲得するかを制御するゲートを提供するものとする。そのようなゲート信号はハートモニタに備えられ、心臓の動きの特定の位相と光画像の獲得を同期させる。
【０３０２】
図６２は、イベントキュー７０４のブロック図である。乳房撮影用デジタルＸ線の場合は、ホストコンピュータ１１４は、コンピュータ通信バス３０２上のＢｅｇｉｎ  Ｓｅｑｕｅｎｃｅコマンドを用いて、シーケンスを開始する。
【０３０３】
シーケンスの開始と同時に、Ｗａｉｔ  ＦイベントＥ０は、心拍がリアルタイムバス入力（ＲＴ１）上で検出されるまでシーケンスの実行を中断する。心拍が検出されると、検出器フレーミングノード３０４はパネル統合時間を開始させるために一旦無効になる（Ｅ１−Ｅ２）。その後、Ｘ線はＥ３でオンになる。１０ｍｓ後に生成器が自動的にオフになると仮定すると、Ｅ４はこの期間が終了するまで待つ。Ｅ５−Ｅ６は、統合期間を完了し、検出器フレーミングノード３０４が読み出される。ＥｎｄＱのＥ８で本シーケンスを終了させる命令を出すコンピュータアプリケーションからのホストフラグＨＦ１を待つＥ７を使って、Ｅ０−Ｅ６の全体をループする。
【０３０４】
連続的に本シーケンスが実行され、コンピュータアプリケーションから終了の命令があるまで心拍と同期が取られる。心拍が検出されるまで、設定されたレートでネストされたループの２つの層を交互に使って、パネルをディスエーブルにすることができる。第１のループでパネルをディスエーブルにし、第２のループではコンピュータアプリケーションが終了の命令を出すまでその全体（無効化＋単一画像の獲得）を繰り返す。
【０３０５】
ＤＦＮ自動無効化機能
図６３は、自動無効化シーケンス７０６のイベントグラフである。イベントシーケンスの実行中に送信される画像リクエストの他に、検出器フレーミングノード３０４はＤＦＮ  Ｎｏｒｍａｌモード時にユーザがプログラムしたレートで自動的に無効リクエストを送信することができる。自動無効化機能を利用するためには、まず、ユーザアプリケーションは無効にするための所望のレートを設定する。これは、例えばＤＬＬファンクションコールＤＦＮＳｅｔＡｕｔｏｓｃｒｕｂＤｅｌａｙ（）（一般的に以下で定義される）によって行われ、２μ秒カウントの無効フレーム時間をその引数とみなす。また、ファンクションコールと共に用いる場合は、ユーザアプリケーションは自動無効化機能をオンにする。
【０３０６】
検出器の平衡
画質の劣化やフラットパネル検出器１１６のダメージを防ぐために、画像が獲得されていないときも、一定のレートで画像検出システム１１２をスキャンする。検出器によって制御されるファームウェア、即ち、検出器制御ボード１２４によって制御されるファームウェアは、アイドル状態が長期間続く場合は、自動無効化モードに入るように設計される。しかしながら、通常のオペレーションでは、フラットパネル検出器１１６は、画像が獲得されていないときに連続して無効にされる。このため、ユーザがこの機能をオンにすると、検出器フレーミングノード３０４はＮｏｒｍａｌモード時にフラットパネル検出器１１６を無効にするように設計される。
【０３０７】
タイミング遷移
画像アーチファクトの発生を防ぐため、検出器フレーミングノードのアイドル状態から画像獲得まで継ぎ目のなく遷移させる。検出器フレーミングノードの自動無効化機能によって、ＢｅｇｉｎＳｅｑｕｅｎｃｅリクエストが受信されるまで、ユーザが設定したレートで検出器フレーミングノード３０４が無効にされる。精密なタイミングを維持するため、イベントキューは最後の無効のフレーム時間が完了するまで待ってから、イベントシーケンスの実行を開始する。このため、キューの第１のイベントが、検出器無効化ｚまたは画像リクエストであるならば、完全な遷移が発生する。イベントシーケンスが終了すると、ＥｎｄＱに遭遇したときにｄｅｔｅｃｔｏｒ  ｓｃｒｕｂコマンドを送信することによってイベントキューはすぐに自動無効化を開始する。このため、（ＥｎｄＱを除く）キューの最後の２イベントが無効（または画像リクエスト）であって、その後にＤＦＮ自動無効化フレーム時間レジスタにプログラムされた遅延と同じ遅延時間が続くならば、終了時に完全な遷移が発生する。
【０３０８】
構成と用途
バスドライバの構成
リアルタイムバス３７９は双方向である。バス上の各チャネルの方向制御は、（以下で詳述される）ＤＦＮＳｅｔＲＴＢＤｉｒｅｃｔｉｏｎ（）  ＤＬＬファンクションコールによって、ユーザからアクセス可能である。電源投入時、全てのリアルタイムバスチャネルは入力として開始する。イベントシーケンスによってチャネルはハイに駆動されても、実際には、チャネルは、ユーザアプリケーションによってそのドライバがオンになるまでハイインピーダンス状態を維持する。従って、全てのリアルタイムバスチャネルの方向はイベントシーケンスの開始前に設定される。
【０３０９】
デフォルト状態の設定
検出器フレーミングノード３０４は、リアルタイムバスドライバのデフォルト状態を維持する。この機能は、システムエラーが発生するイベントでバスを「安全な」状態に戻すように設計される。また、デフォルト状態は、（以下に示す）ＤＦＮＳｅｔＲＴＢＤｉｒｅｃｔｉｏｎ（）  ＤＬＬファンクションコールを用いて設定される。ユーザアプリケーションは、イベントシーケンスの開始前にデフォルト状態の値を設定する。
【０３１０】
Ｑｕｅｕｅ変数−リアルタイムシーケンス制御
Ｑｕｅｕｅ変数はコンピュータアプリケーションとイベントシーケンス間の通信を提供する。これらを用いてパラメータを迅速に変更し、また、画像獲得前に一般的なフレームテンプレートを設定する。この第２のアプリケーションによって、パラメータ、例えば、フレーム時間や獲得間での共通電極電圧を変更するときにパールスクリプトを繰り返し編集する必要がなくなる。
【０３１１】
Ｑｕｅｕｅ変数はＡＳＣＩＩの「キー」として動作し、ユーザアプリケーションによって変更されるパールスクリプトの数を示す。ユーザアプリケーションはＤＬＬファンクションコールを用いて所定のキーの値を検出器フレーミングノード３０４に送る。イベントインストラクション自体からは分離し、「Ｑｕｅｕｅ変数の空間」と呼ばれるＥＡＢメモリ４７４の領域に、これらの値が書き込まれる。イベントキューがその引数にＱｕｅｕｅ変数を有するキューのインストラクションに到達すると、キューはＱｕｅｕｅ変数の空間のＱｕｅｕｅ変数の現在値を示すアドレスを読み出す。続いて、キューはＱｕｅｕｅ変数の現在値を用いてインストラクションを処理する。検出器フレーミングノード３０４はＱｕｅｕｅ変数値が書き込まれている時にキューがそれらを読み出すことを防ぐため、ユーザプログラムは、キューの実行前、もしくは実行中にいつでもこの値を変更できる。Ｑｕｅｕｅ変数がホストコンピュータ１１４によって変更されると、Ｑｕｅｕｅ変数値はすぐにＥＡＢメモリ４７４で更新されるが、イベントキューが特定のＱｕｅｕｅ変数を用いる特定のイベントインストラクションに到達するとき、この更新値の影響が現れる。
【０３１２】
Ｑｕｅｕｅ変数−リアルタイムシーケンス制御
Ｑｕｅｕｅ変数は、ホストアプリケーションとイベントシーケンス間の通信を提供する。オプションとして、Ｑｕｅｕｅ変数を用いて、飛行中に、例えば画像獲得中にパラメータを変更したり、また、オプションとして、画像シーケンスを開始する前に一般的なフレームテンプレートを設定することができる。一般的なテンプレートによって、パラメータ、例えば、フレーム時間や獲得間の共通電極電圧を変更するときにパールスクリプトを繰り返し編集する必要がなくなる。
【０３１３】
Ｑｕｅｕｅ変数はＡＳＣＩＩの「キー」として動作し、ユーザアプリケーションによって変更できるパールスクリプトの数を示す。ユーザアプリケーションは、ＤＬＬファンクションコールを用いて所定のキーの更新値をＤＦＮ３０４に送る。イベントインストラクションからは分離し、「Ｑｕｅｕｅ変数の空間」と呼ばれるＥＡＢメモリ４７４の領域に、これらの値が書き込まれる。イベントキューが引数にＱｕｅｕｅ変数を有するキュー内のインストラクションに到達すると、キューは、Ｑｕｅｕｅ変数空間のＱｕｅｕｅ変数の現在値を示すアドレスを読み出す。続いて、キューはＱｕｅｕｅ変数の現在値を用いてインストラクションを処理する。オプションとして、キューの実行前もしくは実行中にいつでもユーザプログラムはこの値を変更できる。ＤＦＮ３０４は、Ｑｕｅｕｅ変数が書き込まれている間にキューがＱｕｅｕｅ変数値を読み出すことを防ぐため、競合が避けられる。Ｑｕｅｕｅ変数がホストコンピュータ１１４によって変更されると、ＥＡＢメモリ４７４の変数値はすぐに更新されるが、イベントキューが特定のＱｕｅｕｅ変数を用いるイベントインストラクションに到達するとき、この更新値の影響が現れる。
【０３１４】
パールスクリプトＱｕｅｕｅ変数の範囲と定義と用途
標準イベント設定で定義されるイベントインストラクションに対する全引数（ループジャンプ距離Ｋを除く）は、オプションとして、Ｑｕｅｕｅ変数を用いてパラメータ化される。例えば、Ｑｕｅｕｅ変数は、オプションとして、ＬｏｏｐＫＮイベントのＮ値に対して定義される。従って、ユーザアプリケーションは、オプションとして、それぞれのＣＯＦＦファイルを再編集せずにフレームシーケンスの反復数を変更する。検出パラメータは、Ｓｅｎｄイベントによって開始される検出器コマンドを用いて設定されるため、ＳｅｎｄイベントのＱｕｅｕｅ変数を定義することによって、ユーザは、オプションとして、全検出パラメータをパラメータ化することができる。同様に、フレーム時間もフレームのＤｅｌａｙイベントのＱｕｅｕｅ変数を定義することによってパラメータ化することができる。
【０３１５】
Ｑｕｅｕｅ変数の定義と利用
パールスクリプトでは、Ｑｕｅｕｅ変数は、フレームに対するプリアンブルで、また階層の上位レベルで定義される。それらにはデフォルト値が与えられるが、このデフォルト値とは、ＣＯＦＦファイルがＥＡＢメモリ４７４に書き込まれるときにそのメモリ位置にロードされる値である。デフォルト値は、フレームレベルでまたは柔軟性を加えるため階層レベルで定義できる。
【０３１６】
図６４は、上位レベルのＱｕｅｕｅ変数の定義フォーマットを示す。図６５は、フレームレベルのＱｕｅｕｅ変数の定義フォーマットを示す。この例では、Ｑｕｅｕｅ変数ｄｅｌａｙ＿ｑｖがＤｅｌａｙイベントインストラクションをパラメータ化するために定義される。Ｑｕｅｕｅ変数は型に分類されていないが、割り当てられたデフォルト値でなければならない。割り当てられたデフォルト値は、２０ｍ秒のデフォルトに設定されるフレームレベルでｄｅｌａｙ＿ｑｖに対して実行される。また、割り当てられたデフォルト値は、１０ｍ秒に設定される上位レベルで実行される。Ｑｕｅｕｅパラメータによって、上位レベルのデフォルトが割り当てられないイベントで用いられるフレームレベルデフォルトよりも先に上位レベルの定義が行われる。Ｑｕｅｕｅパラメータによって、フレームのファンクションコールと共にｃｏｍｐｉｌｅ＿ｉｎｉｔコールはアクティブにされるＱｕｅｕｅ変数（？％ｑｖ）のリストに送られる。一旦、デフォルト値が定義されると、イベントインストラクションの引数の数と変数名を単純に置換することによってＱｕｅｕｅ変数が用いられる。認識される変数にシングルクォーテーションマークが用いられる。
【０３１７】
ユーザアプリケーションでのＱｕｅｕｅ変数の利用
ユーザアプリケーションでＤＦＮ３０４上のＱｕｅｕｅ変数値を更新するために、ユーザアプリケーションはＥＡＢメモリ４７４のＱｕｅｕｅ変数の位置に対するリファレンスを必要とする。このリファレンスはＡＳＣＩＩキーの形で提供されるが、これは、パールスクリプトで定義されるときのＱｕｅｕｅ変数名と同じものである。ＤＦＮメモリのそれぞれのメモリ位置にＡＳＣＩＩキーをマッピングするテーブルが、編集中のＣＯＦＦファイルに記憶される。このテーブルはＱｕｅｕｅ変数シンボルテーブルと呼ばれ、ＣＯＦＦファイルが読み出されるとＤＬＬに送られる。ＤＬＬはこのテーブルを用いて、Ｑｕｅｕｅ変数がＡＳＣＩＩキーで提供されたときにメモリ位置を調べる。
【０３１８】
ＤＦＮＣｈａｎｇｅＱｕｅｕｅＶａｒｉａｂｌｅ（）によるＱｕｅｕｅ変数の変更
【０３１９】
図６６は、所定のＡＳＣＩＩ名を有するファクションコールのフォーマットである。ユーザアプリケーションは、ＤＦＮＣｈａｎｇｅＱｕｅｕｅＶａｒｉａｂｌｅ（）ＤＬＬファンクションコールによってＤＦＮメモリのＱｕｅｕｅ変数値を更新する。図６６に示されるように、このファンクションコールのフォーマットでは、ＳｙｍＮａｍｅは、パールスクリプトで定義された名前と同じＱｕｅｕｅ変数のＡＳＣＩＩ名であって、ｓｎｄＢｕｆは、ＤＦＮメモリに書き込まれるＱｕｅｕｅ変数値である。ＢｕｆｆＳｉｚｅは書き込まれるバイト数であって、ｄｅｂｕｇは、コールの成功をフィードバックをＤＬＬデベロッパに与える。
【０３２０】
Ｑｕｅｕｅ変数はイベントインストラクションの引数に対応し、これらはイベントの種類によってサイズが異なるため、ユーザはＢｕｆｓｉｚｅによって書き込まれるバイト数を指定する。
【０３２１】
統合されたＱｕｅｕｅ変数例
Ｑｕｅｕｅ変数を用いるとき、システム全体が統合体として機能するように、ユーザアプリケーションとイベントシーケンスの両方のソースコードが設計される。
【０３２２】
図６７は、Ｃ＋＋ユーザアプリケーションを説明するためのアプリケーションソースコードの例である。図示されたＱｕｅｕｅ変数例には、画像のキャプチャ時に無限にループするイベントキューとホストアプリケーションによってリアルタイムに修正される変数によって決定されるフレーム時間が含まれる。ユーザアプリケーションセクションとイベントシーケンスセクションのソースコードによって、上述の動作が実現される。
【０３２３】
図６８は、パールスクリプトのイベントシーケンスを説明するアプリケーションの例である。パールスクリプトでは、画像獲得処理には、画像リクエスト、Ｓｅｎｄ（＄ｉｍａｇｅ＿ｃｍｄ）とその後に続く統合時間と読み出し時間の両方を含む遅延Ｄｅｌａｙ（ｄｅｌａｙ＿ｑｖ）が含まれる。この遅延はｑｕｅｕｅ変数ｄｅｌａｙ＿ｑｖによってパラメータ化される。ｄｅｌａｙ＿ｑｖは２μ秒イベントクロックの２００００カウントに初期化され、合計４０ｍ秒のｄｅｌａｙ２であることに注意していただきたい。また、シングルクォーテーションを用いるＱｕｅｕｅ変数と「＄」接頭辞を用いるＰｅｒｌ変数は区別される。ユーザアプリケーションからホストフラグ（０ｘＡＡＦＦ０１）が受信されるまで、ＬｏｏｐＫＦステートメントを用いて画像獲得処理をループして、キューを停止するように命令する。この期間中、オプションとして、ユーザアプリケーションはｄｅｌａｙ＿ｑｖを更新することによって、どの地点においてもフレーム時間を変更することができる。
【０３２４】
ユーザアプリケーションとイベントシーケンスは互いに同期して実行されるため、ｑｕｅｕｅ変数が変更される正確な時間は未知である。しかしながら、値が用いられる正確な時はＤｅｌａｙインストラクションが次に評価される時点であるため、正確に定義される。ｑｕｅｕｅ変数の変更がイベントキューの実行と同期化される場合、これはホストフラグを用いて行われる。オプションとして、変更のために十分な時間をホストが持てるように、イベントキューは、変数の更新が必要な時点の前の短い区間をユーザアプリケーションに通知することができる。
【０３２５】
ホストアプリケ−ション側では、ＨＦ．ｂｉｎ  ｃｏｆｆファイルを開始することによってホストは実行を開始する。このファイルにはｆｒａｍｅ＿ｔｙｐｅ１のコンパイルされたコードが含まれている。図６９の簡略化された例では、ホストアプリケーションは次に進み、遅延値とｑｕｅｕｅ変数を更新する。別の方法では、ユーザアプリケーションは、シーケンスの実行開始を命令するホストフラグを待つ。ユーザアプリケーションは続いて、キーボードのポーリングを行う、即ち、ＧＵＩからの入力を取得し、そのときのオペレータのリクエストに基づいて特定の変数がインクリメントされるべきかデクリメントされるべきかを命令する。
【０３２６】
別の方法では、ユーザアプリケーションはユーザからの入力を取得した後にシーケンスを実行し、ＢｅｇｉｎＳｅｑｕｅｎｃｅを発行する直前にｑｕｅｕｅ変数を更新する。これは、例えば、獲得フォーマットが同じであるが、テストが実行されるたびにフレーム時間が変化する一連のテストを実行するときに有用である。この場合、ｑｕｅｕｅ変数を用いることによって、ユーザアプリケーションはＣＯＦＦファイルを再編集する必要なしにフレーム時間を変更できる。
【０３２７】
Ｃ＋＋プログラムを用いて獲得パラメータの複雑な変化を生成する複雑なテストでは、ユーザアプリケーションは、オプションとして、イベントキューと同期して繰り返し実行する。ユーザアプリケーション側のループのたびに、様々な獲得パラメータが更新される。例えば、フレーム時間は、オプションとして、１００μ秒間のインクリメントで、２０ｍ秒から１００ｍ秒に変化し、各フレームセットの後、平均画素レベルが計算され、次の画像もしくは画像グループの共通電極電圧を設定するために用いられる。イベントキュー側では、各画像もしくは画像グループの後で、キューはホストにそれが終了したことを通知し、ホストが次の画像獲得の準備ができるまで待ってから処理を続ける。獲得が完了すると、ホストはシーケンスを中断してループを終了する。
【０３２８】
画像獲得
画像獲得での性能上の目標は、画像をリアルタイムで獲得して表示することである。１ｋ×１ｋの心臓／外科用デジタルＸ線画像の場合、獲得／表示レートは３０フレーム／秒である。しかしながら、記録された画像の場合、オプションとして、別のレートが用いられる。３０フレーム／秒の表示レートでは、６０ＭＨｚのＰＣではちらつきが表示される。通常、レビュー用のワークステーションは７０ＭＨｚで実行する。これにより、ディスプレイの垂直帰線消去を避けることができる。２ｋ×２ｋの蛍光Ｘ線撮影用デジタルＸ線画像の場合、獲得／表示レートは７．５フレーム／秒である。その他の画像サイズ（注目領域）やその他のパネルの獲得／表示レートは異なる。
【０３２９】
オペレーティングシステムの選択は、システムアーキテクチャの設計に影響を及ぼす。オペレーティングシステムが獲得する画像が多ければ多いほど、オペレーティングシステムが失う画像も多くなる。３０フレーム／秒のシーケンスでわずかなフレーム表示の失敗は気付かれずに済む。７．５フレーム／秒の蛍光Ｘ線撮影用レートでの同様の失敗はより目立つ（特に移動するファントムの場合）が、許容できる。
【０３３０】
獲得処理では、ホストコンピュータ１１４の関与が最小限にされる。利用可能なメモリは、オペレーティングシステムによって管理区域に分けられ、第２の区域はオペレーティングシステムからは独立して管理される。後方支援として、オペレーティングシステムを物理メモリの下位２５６Ｍバイト（ＴＢＤ）に限定するブートコンフィギュレーション（ｂｏｏｔ．ｉｎｉ）に、１つのオプションが適用される。
【０３３１】
ＤＦＮ３０４用のドライバは、この境界より上の部分の物理メモリを管理する。獲得開始時、ドライバは利用可能な物理メモリを２Ｍバイトのブロックに分割する。しかしながら、Ｘ線撮影用デジタルＸ線の場合、複数の２Ｍバイトのブロックを用いて１つの画像を作成する。物理アドレス・リストは、ＤＦＮドライバによって獲得カードに送られる。画像が到着するたびに、ＤＦＮ３０４はその画像をこのリストの次の物理アドレスにコピーして、ホストコンピュータ１１４に割り込みをかける。ホストコンピュータ１１４はこの割り込みをある時点で処理する。ありそうもないシナリオは、ホストコンピュータ１１４の割り込み処理前に、ＤＦＮ３０４が画像をコピーして、１回以上ホストコンピュータ１１４に割り込みを掛けることである。ＤＦＮ３０４はホストコンピュータ１１４がどれくらいの画像を転送したかを判定することを可能にするレジスタを有するため、ホストコンピュータ１１４はこの状況を検出することができる。
【０３３２】
ＤＦＮ３０４用デバイスドライバは、利用可能な画像バッファ・リストを保持する。コンピュータアプリケーションが画像を処理する準備ができるたびに、ドライバはコンピュータアプリケーションに画像アドレスを送信する。ＷＩＮＤＯＷＳ  ＮＴ（登録商標）オペレーティングシステムでは、そのドライバがオペレーティングシステムの管理領域外にこれらの画像バッファを配置するできるサービスを提供する。ドライバは、ホストコンピュータ１１４がこれらのバッファ内容を表示した後に、それらを再利用するオプションを備える。コンピュータアプリケーションが入力画像ストリームに追従できない場合、１つ以上の画像バッファの表示をプログラムでスキップすることができる。
【０３３３】
図７０は、ＤＦＮ３０４とホストコンピュータ１１４のコンピュータＲＡＭ３３４間で共有されるメモリマップアーキテクチャのブロック図である。図示されているように、ホストコンピュータ１１４の物理コンピュータメモリ３６２には、マッピングされた仮想メモリとＡＧＰメモリとマッピングされていない仮想メモリが含まれる。マッピングされた仮想メモリは、高分解能ディスプレイ３３８に表示される。１つ以上の２Ｍバイトバッファを利用して一つの画像を記憶する。マッピングされたフレームのキャッシュを使って、１つの画像を一度に表示する。
【０３３４】
連続表示モードでは、アプリケーションはいくつかの即ち「Ｎ」個の画像バッファを、ＤＦＮメモリユニット３８０に配置する。所定の時間で、最後の「Ｎ」個の画像がこれらのバッファに保存される。コンピュータアプリケーションのプログラムによって、これらの１つ以上の最後の「Ｎ」個の画像をスキップする場合は、その画像データはまだ利用可能である。その他のオペレーティングモードは、コンピュータアプリケーション「Ｎ」画像獲得モードである。いずれのシナリオでも、アプリケーションが画像を表示しなかったとしても、コンピュータアプリケーションが保持したいと望む「Ｎ」個の画像は一つも失われない。これらのバッファは配置されない。どのデータ獲得システムにも避けがたいレイテンシが存在する。ＤＦＮ３０４は１０Ｍバイトのバッファメモリを有し、レイテンシの緩和に役立つ。注意深くシステムを設計すると共にバッファリングによって、フレームが失われる可能性を最小にすることができる。
【０３３５】
この画像獲得方法、即ち、ホストコンピュータ１１４が各フレームの獲得に直接関係していない方法には、多数のメリットがある。ＤＦＮ３０４が複数のメモリ範囲を管理しないように、画像バッファは物理的に隣接している。１つの範囲は、物理的に隣接したメモリブロックである。このため、２Ｍバイトの心臓画像は、１ページがＰＥＮＴＩＵＭ（登録商標）クラスのプロセッサ上の４０９６バイトの５１２メモリページを有する。２つのメモリページが物理的に隣接していない場合、この画像の範囲を５１２程度にすることができる。
【０３３６】
コンピュータアプリケーションは、オペレーティングシステムによって実行される画像の各メモリページのページング・オペレーションを扱うことはない。このページング動作は、各画像を処理するための利用時間に影響を及ぼす。画像ファイルは、極めて大きなものであってもよい。オペレーティングシステムがＷＩＮＤＯＷＳ  ＮＴ（登録商標）である一実施形態によれば、２Ｇバイトの仮想アドレス空間が提供される。オペレーティングシステムがＷＩＮＤＯＷＳ  ＮＴ  ＳＥＲＶＥＲ、ＥＮＴＥＲＰＲＩＳＥ  ＥＤＩＴＩＯＮ（登録商標）である別の一実施形態によれば、３Ｇバイトの仮想アドレス空間を有する。オペレーション中の所定の時間では、いくつかの画像が仮想アドレス空間に含まれる。
【０３３７】
有効な一実施形態によれば、ＷＩＮＤＯＷＳ  ＮＴ（登録商標）ドライバは、直接ＤＭＡを管理する。この場合、コンピュータアプリケーションは、バッファの仮想アドレスをドライバに送信する。ドライバは記憶しているこのバッファの各ページをロックして、物理アドレス・リストを構築する。この結果得られたリストは、散在収集リストと同様である。オペレーティングシステムは、ドライバが作成した物理アドレス・リストを用いてＤＭＡを実行するためのルーチンを備える。この場合、ホストコンピュータ１１４は、ＤＦＮ３０４による起動ではなく、ＤＭＡを起動する。また、コンピュータアプリケーションでは画像バッファのページングに対処し、全画像バッファは利用可能な仮想アドレス空間上で限定されているため、この方法は好ましくない。ホストコンピュータ１１４は各ＤＭＡに関与している。ＤＦＮ３０４上でバッファリングすることによって、ホストコンピュータ１１４によって引き起こされるレイテンシが許可される。ホストプロセッサ１１５が忙しすぎてＤＭＡによる割り込みに応答できないならば、画像処理と表示を実行することはできない。この方法をオプションとして用いて画像獲得を管理する。
【０３３８】
検出器フレーミングノード３０４の画像転送動作によって、画像獲得処理からホストプロセッサ１１５が開放される。検出器フレーミングノード３０４では、リアルタイム・オペレーティングシステムを利用しなくても、連続する全画像を獲得することなどの難しいリアルタイム性に対する必要条件が満たされる。検出器フレーミングノード３０４は散在収集性のＤＭＡを実行しない。何故ならば、各バッファの物理アドレスは、ホストメモリのページ境界に位置決めされ、また各バッファは物理的に隣接しているためである。
【０３３９】
従来のシステムでは、画像獲得システムから１つ以上の画像をリクエストする。一般的に、各リクエストは一つの画像に対するものであるが、アプリケーションによっては複数の突出したリクエストを出すかもしれない。ホストのオペレーティングシステムの制限によって、アプリケーションがシーケンス全体にリクエストをキューイングすることは通常避けられる。画像獲得に用いられるような最新の高性能デバイスは、伝統的にＤＭＡを用いてホストメモリとのデータ転送を行う。ＤＭＡは、設定するには比較的複雑な手続きが必要である。ホストプロセッサ１１５は異なる複数の時間に関与するようになって、転送リクエストを完了させることがでｌきる。従来のホストオペレーティングシステムでは、各転送リクエストを個別に処理する。オペレーティングシステムが仮想メモリをサポートする場合は、転送が保留されている間、オペレーティングシステムによって、ターゲットアドレス範囲のメモリページがディスクと交換されることはない。別のオペレーティングシステムでは、このオペレーションを別の方法で説明する。ＷＩＮＤＯＷＳ  ＮＴ（登録商標）とＷＩＮＤＯＷＳ  ２０００（登録商標）の実施形態では、ページはオプションとしてロックされる。また、プローブオペレーションを追加することによって、ターゲットページがアクセス可能であることを保証する。その他のオペレーティングシステムは同様のテストを実行する。この詳細情報を無視するとセキュリティの問題が起こり、またプローブとロックオペレーションを利用することは、比較的高価である。
【０３４０】
オペレーティングシステムの拡張として機能するデバイスドライバは、画像獲得用ハードウェアと通信する。オペレーティングシステムは、通常、ページを検査しロックしてからドライバにリクエストを送信する。別の方法では、ドライバは転送リクエストを受信すると、上述の簿記を実行する。ＷＩＮＤＯＷＳ  ＮＴ（登録商標）の実施形態は両方の技術をサポートする。続いて、デバイスドライバはＤＭＡの設定に必要なリソースを割り当てる。
【０３４１】
一般的に、アプリケーションは仮想メモリアドレスを利用して動作する。これらのアドレスは、ホストプロセッサのメモリ管理ユニット（「ＭＭＵ」）へのアクセス権を必要とする。ＭＭＵは、ＤＭＡの間は利用不可能である。しかしながら、転送を制御するデバイスは物理アドレスを使って動作する。ターゲットアドレスが仮想的に隣接していても、それらは物理的には隣接していない。実際、物理アドレスは非常に細かく分けられている。これらの細分化された物理アドレスの範囲は各々「メモリ範囲」もしくは簡単に「範囲」と呼ばれる。ドライバは範囲リストを獲得デバイスに送信する。範囲リストは、しばしば多数の非常に限定されたリソースを利用する。このため、ドライバは一つのリクエストで画像全体の転送を記述することはできない。また、１つ以上の範囲を有する転送が完了するたびにＤＭＡハードウェアはホストプロセッサに割り込みをかける。
【０３４２】
従来のメモリ管理技術を用いたベストケースのシナリオでは、ホストプロセッサは転送の開始と転送の完了に関与する。一般的に、転送を完了するコードは、実際に次のリクエストを開始する。ホストプロセッサは、転送毎に１回関与する。ワーストケースのシナリオでは、リソースの制限のため、転送は多数のリクエストに分割される。非リアルタイム・オペレーティングシステムは、割り込みレイテンシ（割り込みに対する応答に用いられる時間）を制限できない。非リアルタイム・オペレーティングシステムを実行するホストプロセッサが割り込みに対して非常に遅く応答する場合は、画像データが退避される。
【０３４３】
検出器フレーミングノード３０４は、獲得処理のシナリオからホストプロセッサ１１５を完全に開放する。画像獲得を開始する前に、ホストプロセッサ１１５上のデバイスドライバは物理アドレス・リストを検出器フレーミングノード３０４に送信する。これらのアドレスは、ホストオペレーティングシステムを管理するメモリ以外のアドレスである。このリストの各アドレスはかなり大きい、物理的に連続した（例えば画像全体を保持するのに十分な）メモリブロックを表す。検出器フレーミングノード３０４は、このアドレスリストを循環キューとして扱う。画像が利用可能になると、検出器フレーミングノード３０４はアドレスを除去して、ホストコンピュータ１１４に対してＤＭＡを開始する。転送が完了すると、検出器フレーミングノード３０４はホストプロセッサ１１５に割り込みを送る。ホストプロセッサ１１５は一定時間ウィンドーでこの割り込みに応答する必要はない。
【０３４４】
次の画像が利用可能になると、たとえホストプロセッサ１１５が第１の割り込みに応答しなかったとしても、検出器フレーミングノードはアドレスリストから次のアドレスを除去し、別のＤＭＡを起動する。ホストプロセッサ１１５が割り込みを処理するまで割り込み要求はアサートされたままであるため、第２の転送は、第２の割り込みを引き起こさない。ホストプロセッサ１１５上のデバイスドライバがいくつの画像が転送されたかを判定できるするように、検出器フレーミングノード３０４はステート情報を保持する。デバイスドライバが検出器フレーミングノード３０４に送信する物理メモリアドレスリストには、Ｎ個のエントリがある。デバイスドライバは、Ｎ個の画像獲得後、検出器フレーミングノード３０４に停止するようにリクエストするか、もしくはデバイスドライバは、オプションとして、検出器フレーミングノード３０４に画像を連続して獲得するようにリクエストする。後者の場合、（Ｎ個以上の画像が獲得されると仮定して）最後のＮ個の画像はホストコンピュータ１１４上に保存される。
【０３４５】
ホストプロセッサ１１５上で実行するアプリケーションソフトウェアは、オプションとして、連続した画像をリクエストする。アプリケーションは画像を表示、保管、さもなければ処理できる。ホストプロセッサ１１５が受信する画像シーケンスから遅れてしまうならば、ホストプロセッサ１１５は１つ以上の画像を無視してもよい。ホストプロセッサ１１５が各画像を処理してもしなくても、リクエストされた保存ウィンドー（即ち、Ｎ個の画像の獲得と保存、連続画像の獲得と最後のＮ個の画像の保存）以外の画像は失われない。
【０３４６】
画像処理
撮像システム１００で実行するタスクベースのオペレーティングシステムは、オフセット、ゲイン、欠陥画素の補正を実行するための処理と、コントラストを管理するためのウィンドーレベルの処理をサポートするという処理に関する必要条件を満たす。利用可能時間内に画像処理を完了するために、ＰｅｎｔｉｕｍクラスのＭＭＸインストラクションセットが利用される。これらのインストラクションによって、ホストプロセッサ１１５は４つの１６ビット値で同時に動作することが可能となる。ホストプロセッサ１１５はスーパースケーラであるため、４つ以上のオペレーションが実際には１本のラインで実行される。ホストプロセッサ１１５は、１回のクロックで２つのＭＭＸインストラクションを発行できる。ホストプロセッサ１１５が実際にクロック毎に２つのインストラクションを発行できるように、ホストプロセッサ１１５とコンピュータＲＡＭ３３４を合体すると、性能は維持される。
【０３４７】
ほとんどのデータがキャッシュから発せられ、ホストプロセッサ１１５が比較的遅いメモリ読み出しの完了を待たないように、メモリは体系的にアクセスされる。自然の順序（即ち、画像がメモリに記憶される順序）で各画像を処理し、推奨の３２バイト配列の全データ構造を保つことによって、性能が改善される。
【０３４８】
ＰＥＮＴＩＵＭ（登録商標）クラスのプロセッサは各々、オンチップ（Ｌ１）データキャッシュとオンチップインストラクションキャッシュを有する。オンチップキャッシュの他に、ＰＥＮＴＩＵＭ（登録商標）クラスのプロセッサは各々、第２の（Ｌ２）キャッシュを有する。データとインストラクションはメモリからＬ２キャッシュへ、そしてＬ１キャッシュへ流れる。Ｌ１キャッシュから動作することによって性能が最適化されるが、メモリから動作すると、性能は低くなる。
【０３４９】
処理アルゴリズムは非常にコンパクトであって、インストラクションキャッシュの管理は特に含まれない。Ｌ１データキャッシュは４ウェイ・セットアソシアティブである。統合されたＬ２キャッシュは、４ウェイ・セットアソシアティブである。仮想アドレスの最下位５ビットは、オフセットをキャッシュラインに指定するものである。アドレスの次の７ビットは、キャッシュラインを指定する。プロセッサは、擬似／最低使用頻度（アルゴリズム）を使った複数のキャッシュ方法を制御する。ホストプロセッサ１１５がメモリから別のキャッシュラインをフェッチするたびに、ホストプロセッサ１１５は４本のライン候補のうちの「最も古い」ものと置換する。１０ビット整数部と１５ビット少数部に関する一定の２進演算が用いられる。
【０３５０】
図７０は、一定データ（オフセットと整数ゲインと分数ゲイン）を構成する一定メモリフォーマットの概略図である。入力された画像は、ページ配列構成を有する。このデータ構成は、生成されたコードに影響を及ぼす別の有益な側面を有する。コンパイラは、頻繁に用いられるアドレスをインデックスレジスタの限定数で保持しようとする。入力データアレイ用に別々のアレイが用いられる場合、また、補正された画像のアドレスを保持するために別のレジスタが用いられた場合、コンパイラにとって、インデックスレジスタが不足することになる。これらのアレイは連続的に配置されるが、以前のリストのように分散されないならば、コンパイラは１つのレジスタを用いてベースアドレスをポイントすることができるが、各構成要素（整数ゲインと分数ゲインとオフセット）に対してベースアドレスを得るためには大きなオフセットが必要となる。これらの大きなオフセットは１ｎ秒／クロックより速くデコードする能力に影響を及ぼす。インストラクションの不足は、最終的にホストプロセッサ１１５の餓死をもたらす。
【０３５１】
高速データ転送速度と、デジタル撮像の大容量データのために、画像検出システム１１２のデジタルＸ線検出器をリアルタイムに監視することが困難となる。しかしながら、撮像システム１００は、多数の監視／追跡点を備える。これらの機能は、有用であり、柔軟であり、コンフィグレーション可能である。大容量のシステム診断情報を獲得することによって、目的のアプリケーションに適さない程度までシステムスループットが劣化する。しかしながら、特定のデータにアクセス権を提供することに失敗すると、診断上の問題が困難なものになる。また、既存の技術を利用できる様々な検出器やその方法の特性や性能を予測することができない。非リアルタイムコンピュータ上で画像獲得を実行する場合は、問題はさらに難しいものとなる。以下で示されるように、任意の検出器機能は、非リアルタイム獲得コンピュータ上で完全にコンフィグレーション可能な方法で監視される。
【０３５２】
１つ以上のイベントがＸ線画像獲得を制御する。Ｘ線画像獲得イベントはゼロ以上のデジタルレントゲン検査画像を生成する。イベントには画像検出システム１１２を制御するものもあれば、放射線生成システム１０９を制御し、外部環境と同期するものもある。イベントは事前に計算され、結果として得られたバイトコードが検出器フレーミングノード３０４にダウンロードされる。検出器フレーミングノード３０４は放射線生成システム１０９と画像検出システム１１２の両方を制御する。検出器フレーミングノード３０４は２μ秒クロックで検出器／Ｘ線イベントを実行する。各検出器コマンドには、検出器フレーミングノード３０４がコマンドを追跡するかどうかを示すビットフラグが含まれる。また、この情報の生成を制御するフレームパラメータレジスタがある。検出器の自動的な動作によって、応答ログエントリが生成される。
【０３５３】
画像の読み出し中、応答ログエントリには画像の先頭部分（ＳＯＦＮ１）とパケットの先頭部分（ＳＯＦＮ２）と画像の最後の部分（ＳＯＦＮ３）が含まれる。イベントキューは、オプションとして、開始時間とイベント名と応答ログ７３７に対する引数を送信する。また、ループコマンドは、オプションとして、反復毎に応答ログエントリを生成する。ＤＭＡの完了はタイムスタンプと、シーケンスとバッファ位置の順序を示す画像番号と、ＤＭＡパケットサイズと、転送するコンピュータのメモリアドレスを含む応答ログエントリを提供する。
【０３５４】
検出器コマンド毎の獲得を追跡する能力によって、以下に示すように柔軟性が提供される。エンジニアは、コマンドベースで、また、解決しようとしている問題にふさわしいやり方でコマンドの追跡を行うことができる。正常動作では、システム性能を落とすことを避けるために、追跡は最小限にされるか、もしくは、削除される。各追跡は応答ログエントリと呼ばれる。応答ログエントリは３２バイト長であって、タイムスタンプと、検出器フレーミングノード３０４に送信される２つのコマンドワードと、検出器フレーミングノード３０４から受信される２つのコマンドアクノリッジと画像タグと獲得開始イベントを含む。
【０３５５】
タイムスタンプの分解能は、ＤＦＮ３０４がバイトコードを解釈する速度に等しい。ホストコンピュータ１１４は、コンピュータＲＡＭ３３４内の分割された２つのＰＣバッファの物理アドレスをＤＦＮ３０４に与える。各ＰＣバッファはページ配列され、物理的に連続しており、複数の３２バイト長からなる整数である。各ＰＣバッファを連続させることによって、コンピュータメモリ管理の詳細がＤＦＮ３０４から隠され、ＤＦＮ３０４が実行する簿記プロシージャが非常に簡素化される。ＤＦＮ３０４は、選択されたＰＣバッファを単純なダイレクトマスタＤＭＡサイクルでアクセスする。
【０３５６】
２本のＰＣバッファのうちの１本が満杯になると、ＤＦＮ３０４は別のバッファに切り替えてホストプロセッサ１１５に割り込みをかける。ホストプロセッサ１１５は選択された第１のＰＣバッファを空にしてから、第２のバッファＰＣを満杯にする。ホストプロセッサ１１５は、この選択されたＰＣバッファのサイズをコンフィグレーションすることができる。正常なオペレーションでは、ホストプロセッサ１１５は、選択されたバッファを十分大きくすることによって、応答ログ・バッファフル割り込みのサービスを行う場合のオーバヘッドを非常に小さくすることができる。ＤＦＮ３０４が応答ログバッファを満杯にできる１６Ｍバイト／秒のレートは、ホストコンピュータ１１４がこの選択されたバッファからデータをコピーできるレートよりもかなり遅いため、ホストプロセッサ１１５が遅れることはない。ＤＦＮ３０４が第２のＰＣバッファを満杯にしてから、ホストプロセッサ１１５が第１のＰＣバッファを空にするイベントでは、ＤＦＮ３０４は応答ログエントリの書き込みを停止させて、エラーを生成する。
【０３５７】
いくつかの環境下では、コンピュータアプリケーションは大容量応答ログバッファが満杯になるまで待つことを望まない。この場合、ＤＦＮ３０４は、応答ログバッファをコマンド上で切り替えることができる。ＤＦＮ３０４上のレジスタは各ＰＣバッファのデータ量を示し、現在アクティブとなっているＰＣバッファを示す。ＤＦＮ３０４がＰＣバッファを満杯にし始めたときにコンピュータアプリケーションがバッファの切り替えをリクエストすると、潜在的な競合条件が発生する。この問題は、現在の応答ログバッファが空の時に切り替えるというリクエストを無視することによって避けられる。
【０３５８】
図７１は、オペレーティングシステムとドライバインタフェース７３０のブロック図である。ＤＦＮデバイスドライバ３１４は、ＷＩＮＤＯＷＳ（登録商標）プラットフォームオペレーティングシステムの設計と機能のために示される。特に、有効な一実施形態によれば、ＤＦＮデバイスドライバ３１４は、ＷＩＮＤＯＷＳ  ＮＴ４．０（登録商標）、ＳＰ５のオペレーティングシステム上で実行するように設計される。オペレーティングシステムは、ユーザプログラムから直接ハードウェアをアクセスさせない。デバイスドライバ３３４はカーネルモードプログラムであって、ハードウェアをアクセスするためのインタフェースを提供し、また、ＤＦＮハードウェアとオペレーティングシステムとの交信を制御する。
【０３５９】
図示されているように、インタフェース７３０は、オペレーティングシステムカーネル７３４とインタフェースする複数のユーザインタフェース７３２を含む。オペレーティングシステムカーネル７３４は、デバイスドライバ３３４とインタフェースし、次にデバイスドライバ３３４は検出器フレーミングノード３０４とインタフェースする。ＤＦＮ３０４が画像検出システム１１２から画像を受信すると、ＤＦＮ３０４は、ＤＭＡによってコンピュータＲＡＭにデータを転送する。通常、オペレーティングシステムカーネル７３４はホストコンピュータ１１４上の全メモリを制御する。ＤＦＮ３０４によるＤＭＡ動作性能が非常に複雑になるようにメモリが細分化される、即ち、構成されることがある。ＤＦＮ３０４は、ＤＭＡを用いてコンピュータＲＡＭ３３４の連続するメモリバッファに画像を入力する。
【０３６０】
ＤＦＮ３０４が画像用に用いることができる大容量で連続したメモリバッファを維持するため、ＭＡＸＭＥＭと呼ばれるブート時間パラメータによって、コンピュータＲＡＭ３３４の上位部分がオペレーティングシステムカーネル７３４から「取り除かれる」。ＭＡＸＭＥＭ下にあるメモリはオペレーティングシステムカーネル７３４によって管理され、ＭＡＸＭＥＭ上にあるメモリはＤＦＮデバイスドライバ３３４によって管理される。例えば、５１２ＭバイトＲＡＭを有するシステムでは、ＭＡＸＭＥＭは１２８Ｍバイトに設定される。０−１２８Ｍバイトのアドレスはオペレーティングシステムカーネル７３４によって制御され、オペレーティングシステムと（ＤＦＮデバイスドライバ３３４を含む）デバイスドライバとユーザプログラムを保持する。オペレーティングシステムカーネル７３４が管理しない１２８−５１２Ｍバイトのアドレスは、ＤＦＮデバイスドライバ３３４とＤＦＮハードウェアによって利用される。レジストリ値は、ＤＦＮデバイスドライバ３３４がこの空間を構成することを支援するものである。
【０３６１】
ＭＡＸＭＥＭより上のメモリの構成
ＤＦＮデバイスドライバ３３４とＤＦＮ３０４は、以下の３つのもののためにＭＡＸＭＥＭより上の空間を用いる。即ち、１）応答ログバッファ、２）ＤＦＮ３０４が獲得中に画像を転送する物理アドレス・リスト、３）検出器の画像であある。この設計によって、ＤＦＮ３０４はコンピュータＲＡＭ３３４の区域をそのアドレス空間にマッピングすることができる。この「共有ＤＦＮウィンドー」は２Ｍバイトに限定される。ＤＦＮ３０４は、応答ログエントリをこの空間に書き込む。また、ＤＦＮ３０４は検出器画像が転送されるこの空間から物理メモリアドレス・リストを読み出す。物理アドレス・リストはＭＡＸＭＥＭより上にあって、２Ｍバイトの共有ＤＦＮウィンドー以外にあるバッファを示す。
【０３６２】
図７２は、コンピュータＲＡＭ３３４のメモリ構成を示すブロック図である。この配置はＤＦＮデバイスドライバ３３４によって用いられる。図示されているように、オペレーティングシステムカーネル７３４は、０Ｍバイトと１２８Ｍバイトの間に存在する。物理アドレスリスト７３６と応答ログバッファＡと応答ログバッファＢは、１２８Ｍバイトと１３０Ｍバイトの間に存在し、検出器画像は１３０Ｍバイトと５１２Ｍバイトの間に配置される。物理アドレス・リストは、その中に６５，５３６（６４Ｋ）個の４バイトアドレス（合計２５６Ｋバイト）だけを備えることができ、このリストを保持するバッファは２５６ＫＢの物理アドレス境界上にある。応答ログバッファは、４Ｋバイトの物理アドレス境界から始まり、（３２バイト／応答ログエントリ）サイズの整数個の応答ログエントリを備える。各応答ログバッファは、２６２，１４４バイト、即ち、８１９２個の応答ログエントリよりも小さい。
【０３６３】
物理アドレス・リスト
獲得中に、「フレーム」とも呼ばれる検出器画像が読み出される。各画像は、図７２の「検出器画像」というメモリ範囲のバッファに入力される。画像収集は「シーケンス」と呼ばれ、ユニークな識別子を備える。一度に１つのシーケンスを「最新の」ものとすることができるが、一度に１つ以上のシーケンスがメモリにあってもよい。
【０３６４】
獲得を開始する前に、ユーザは、ＤＦＮデバイスドライバ３３４に幾つかのフレームシーケンスを配置することを命令する。ＤＦＮデバイスドライバ３３４は、フレーム毎に１つのアドレスリストを検出器画像領域に作成する。このリストは、共有ＤＦＮウィンドーの物理アドレスリスト領域７３６のＤＦＮ３０４に与えられる。
【０３６５】
図７３はブロック図であって、コンピュータＲＡＭ３３４が、２つの割り当てられたシーケンス、即ち、どちらか１つが最新であってデータ取得に利用可能なシーケンスを求める方法を示すものである。画像検出システム１１２からＤＦＮ３０４上に画像が到着すると、ファームウェアはこのアドレスリストを少し移動させ、ＤＦＮ３０４からコンピュータＲＡＭ３３４への画像のＤＭＡを実行させる。ユーザは、表示や計算や保管等のための画像アクセスに用いるこれらのバッファに対するポインタをリクエスト（「マップリクエスト」と呼ぶ）できる。
【０３６６】
物理アドレスを、ユーザプログラムによる利用に適した仮想アドレスに変換する、即ち、マップすることによって、ページテーブルエントリ（「ＰＴＥ」）と呼ばれるＷＩＮＤＯＷＳ  ＮＴ（登録商標）のリソースが利用される。これは限定されたリソースである、即ち、プログラムはエラーが起きる前に一定量のリソースを用いることができる。無制限の数の同時マッピングが許可されている場合、ＤＦＮデバイスドライバ３３４は全システムＰＴＥを使い、そして、ＷＩＮＤＯＷＳ  ＮＴ（登録商標）はクラッシュする。これに焦点を当てて、３０Ｍバイトのデータを一度にマップすることを許す。これは検出器のサイズとは無関係である。このため、２Ｍバイトの画像サイズを有する心臓／外科用デジタルＸ線の場合、１５枚の画像を一度にマップできる。８Ｍバイトの画像サイズを有するＸ線撮影用デジタルＸ線の場合、３枚の画像を一度にマップできる。ＰＴＥの使用を制御するレジストリキーはＰｈｙｓｉｃａｌＭｅｍｏｒｙ／ＭａｘｉｍｕｍＰａｇｅＴａｂｌｅＥｎｔｒｉｅｓである。マップされたメモリのページ毎に１つのページテーブルエントリが用いられる。ＷＩＮＤＯＷＳ  ＮＴ（登録商標）のメモリのページは４Ｋバイトである。このため、３０Ｍバイトのメモリの場合、３０Ｍバイト／４Ｋバイト＝７６８０＝０ｘ１Ｅ００  ＰＴＥが必要となる。
【０３６７】
さらに多くのデータをマップすることを可能とするためにレジストリの設定を変更することができる。しかしながら、この数の設定が大きすぎるとシステムがクラッシュする可能性がある。もしシステムがクラッシュすると、ブルースクリーンに「ＰＴＥなし」というエラー状態が表示されるが、この値はレジストリキーを変更することによって手動で小さくすることができる。このセクションでは、同時にマップできる画像数を扱う。ユーザプログラムが一度に非常に多くの画像をマップしようとすると、ＤＦＮデバイスドライバ３３４はエラーを返す。ユーザプログラムは、１つ以上のマップされたバッファのマップを解除してからマップリクエストを再発行する。リアルタイムで獲得中、それらがマップされた順にバッファのマップが解除される。これは保管情報（非リアルタイム）の再生にはあてはまらない。
【０３６８】
獲得に対してラップ（Ｗａｐ）がディスエーブルならば、ファームウェアは最大設定数までバッファを転送できる。画像検出システム１１２から多くの画像が到着する場合、ＤＦＮ３０４によってオーバライトエラーが生成される。獲得に対してラップが有効ならば、アドレスリストは循環キューとみなされる。バッファがマップされ、その後マップが解除されると、ＤＦＮデバイスドライバ３３４はテールポインタを更新して、ユーザがデータバッファを利用したことをファームウェアに通知する。ファームウェアは未使用のデータバッファをオーバライトしない。ユーザコードが十分な速さでバッファをマップ／マップ解除できないならば、画像はそれらが消費される速度よりも早く到着して、ファームウェアはオーバライトエラーを生成する。ラップモードでは、獲得終了時、せいぜい最後の「ｎ」個のバッファがメモリ内に存在する。ここで、「ｎ」はシーケンスのフレーム数である。
【０３６９】
応答ログバッファ
ＤＦＮ３０４は、オプションとして、ユーザプログラムに関連するタイミングと、画像検出システム１１２のイベントを検出するために利用できる応答ログ（「ＲＬ」）エントリを生成する。テスト記録を与え、また、画像検出システム１１２でのデーの解釈を支援するために、画像データがＲＬエントリに記憶される。起動時に、ＤＦＮデバイスドライバ３０４は、２つのバッファアドレスと、ＲＬエントリを保持できるバッファサイズをＤＦＮファームウェアに与える。これらのバッファは共有ＤＦＮウィンドーに存在し、各々同じサイズであって、整数個のＲＬエントリの大きさである。ＲＬエントリは３２バイトである。
【０３７０】
動作中、ＲＬエントリは、ファームウェアによってＲＬバッファＡ７３８に書き込まれる。バッファが満杯になると、ＤＦＮデバイスドライバ３３４に割り込みが送られ、ファームウェアはＬＦバッファＢ７４０に複数のエントリをさらに書き込む。ＤＦＮデバイスドライバ３３４は、（以下で説明されるユーザモードのプログラムからの命令に基づいて）バッファＡ７３８のデータを処分し、それを空としてマーク付けする。ファームウェアがＲＬバッファＢ７４０を満杯にすると、バッファフル割り込みがＤＦＮデバイスドライバ３３４に送られ、ファームウェアは、今度はＲＬバッファＡを満杯にする。また、ＤＦＮデバイスドライバ３３４はバッファＢのデータを処分し、バッファを空としてとマーク付けする。ＤＦＮデバイスドライバ３３４がフルＲＬバッファのデータを処分して、それを空としてマーク付けしてから、ファームウエアは別のバッファを満杯にし、そして、今度はフルバッファに戻る。そうしなければ、カードでオーバライトエラーが生成される。
【０３７１】
ＲＬバッファを扱うのはユーザプログラムである。システムが最初にブートされると、ファームウェアとＤＦＮデバイスドライバ３３４が実行されて、ＲＬエントリが発生する。バッファフル割り込みでは、ＤＦＮデバイスドライバ３３４割り込みハンドラは、バッファが空であるとして単にマーク付けすることで、データを効果的に処分する。
【０３７２】
ユーザプログラムによってＲＬデータを保持するためには、ＤＦＮデバイスドライバ３３４を「ＲＬ保存」モードにする。続いて、ユーザプログラムによって、フルＲＬバッファの内容を取得するバッファに対するポインタが、ＤＦＮデバイスドライバ３３４に与えられる。例えば、獲得中、ユーザプログラムはＲＬデータを保持する。ＤＦＮデバイスドライバ３３４は、フルＲＬバッファを処分しないことを認識している。ユーザプログラムは、ＲＬ読み出しリクエストを発行する。フルＲＬバッファが存在する（残りの．バッファＡ７３８）ならば、データはバッファＡからユーザバッファにコピーされ、ＲＬ  Ａ７３８は空であるとしてマーク付けされる。フルＲＬバッファが存在しないならば、読み出しは保留としてマーク付けされる。その後、ＲＬバッファ（Ａ）フル割り込みが発生すると、ＤＦＮデバイスドライバ３３４は保留中の読み出しリクエストを見つける。バッファＡのデータはユーザバッファにコピーされ、続いて、Ａ７３８は空であるとしてマーク付けされる。
【０３７３】
ＤＦＮデバイスドライバ３３４が「ＲＬ保存」モードであって、目立ったユーザ読み出しリクエストなしにＲＬバッファ（Ａ）フル割り込みが発生する場合、ユーザコードがそれを読み出すまで、データは単にＲＬバッファに残される。ユーザコードがＲＬバッファＢを満杯にする前にＲＬバッファＡを読み出そうとしないならば、カードによってオーバライトエラーが生成される。
【０３７４】
検出器画像
検出器画像は、ＭＡＸＭＥＭより上にあるメモリと２ＭバイトのＤＦＮウィンドー以外に書き込まれる。ＤＦＮデバイスドライバ３３４がこの領域を管理する。最初は、そのフル領域はフリーである。シーケンスが割り当てられると、検出器サイズのバッファを用いて画像が保持される。再生中に、各フレーム、もしくはシーケンス全体を削除することができる、即ち、メモリをフリーリストに戻すことができる。ユーザプログラムがシーケンスを割り当てようとしても十分なメモリがない場合は、ＤＦＮデバイスドライバ３３４によってエラーが返される。ユーザはフレームもしくはシーケンスを削除して十分な空間をフリーにする。シーケンスが割り当てられていない場合は、ユーザはシステムに多くのＲＡＭを追加する（ＰｈｙｓｉｃａｌＭｅｍｏｒｙ／ＰｈｙｓｉｃａｌＭｅｍｏｒｙＳｉｚｅレジストリキーを増やす）かまたはＭＡＸＭＥＭを縮小する（ＰｈｙｓｉｃａｌＭｅｒｎｏｒｙ／Ｍａｘｍｅｍレジストリキーを減らす）。ＭＡＸＭＥＭを縮小することによって、ＷＩＮＤＯＷＳ  ＮＴ（登録商標）の性能に影響を及ぶ。レジストリが修正されると常に、ＤＦＮデバイスドライバ３３４が適切な値を用いるように、システムは再ブートされる。
【０３７５】
ＤＦＮ３０４のプログラミング
ＤＦＮ３０４は、画像検出システム１１２を制御し、画像検出バス３７７を介して画像検出システム１１２に画像を獲得させる。一連のコマンドまとめて、ＤＦＮ３０４ファームウェアによって実行されるイベントキュープログラムとすることができる。これらのコマンドはまとめられて、共通オブジェクトファイルフォーマット（「ＣＯＦＦ」）ファイルにコンパイルされるシーケンスと呼ばれるプログラムとなる。ＣＯＦＦファイルはＤＦＮ３０４にロードされ、ＢｅｇｉｎＳｅｑｕｅｎｃｅコマンドが発行され、ＤＦＮ３０４は実行を開始する。以下に示すように、複数の種類のデータがＣＯＦＦファイルで生成される。
【０３７６】
一般的に、シーケンスの主な結果は、画像検出システム１１２からの一連のＸ線画像である。上で示されたように、Ｘ線画像は、ＤＦＮ３０４からコンピュータＲＡＭ３３４にＤＭＡ転送される。画像転送が完了すると、ＤＦＮデバイスドライバ３３４は「ＤＭＡ完了」割り込みを受けとる。ユーザコードが事前にマップリクエストを発行していた場合は、この到着した画像のアドレスが返される。ユーザコードによって、画像を表示したり、データの演算を実行することができる。完了すると、ユーザコードは画像のマップを解除し、次の画像を要求する。画像のマップを解除しても、コンピュータＲＡＭ３３４からその画像は削除されない。ラップモードで画像がオーバライトされる場合、もしくは再生中にユーザが画像を明示的に削除する場合に、画像は獲得中に破壊される。ユーザプログラムは、画像が獲得されるときにその画像をマップする必要はない。ＣＯＦＦファイルで生成された全画像を保持するために十分なフレームがそのシーケンスに存在する場合、エラーは起こらず、そのデータはコンピュータＲＡＭ３３４内に存在する。後の再生中に、画像をマップすることができる。
【０３７７】
応答ログ
ＤＦＮファームウェアは、獲得中に応答ログ（「ＲＬ」）エントリを生成する。ＲＬエントリは、画像とＤＭＡのオペレーションとリアルタイムバスとファームウェア状態遷移とエラーに関する情報を保持する。ＲＬエントリのクラスには、体系的に生成されるものもあれば、選択的にオン／オフされるクラスもある。
【０３７８】
ＲＬバッファが満杯になると、「ＲＬバッファフル」割り込みがＤＦＮデバイスドライバ３３４に送信される。ユーザコードが事前に読み出しリクエストを発行したならば、ＲＬバッファの内容はユーザメモリバッファにコピーされる。尚、これは、引数としてＤＦＮデバイスドライバ３３４に供給されたものである。ユーザコードは、獲得が完了するまでメモリリストにこのバッファを記憶し、それをディスクに書き込み、獲得を実行している間にその解析を試みることができる。続いて、ユーザコードは別のＲＬ読み出しリクエストを発行して、次のフルＲＬバッファを待つ。
【０３７９】
応答ログバッファは検出器画像とは異なる。何故ならば、それらはＭＡＸＭＥＭの上にあるメモリからユーザ空間にコピーされるからである。画像はＭＡＸＭＥＭの上にあるメモリに残され、単純にユーザ仮想アドレス空間にマップされる。このため、ユーザは、それらをＲＬバッファに格納、即ち、記憶しておく必要がある。
【０３８０】
ユーザが、十分な速さでＲＬ読み出しを発行できない場合、上述したようなエラーが起こる。ＲＬバッファをディスクに書き込む、もしくはデータが取得されている間にＲＬバッファを解析することはできない。何故ならば、時間がかかりすぎるためである。
【０３８１】
ホストフラグ
ＣＯＦＦファイルをユーザに知らせる、即ち、ユーザと同期させる必要がある。この場合、ホストフラグを用いて通知を行う。ユーザプログラムはホストフラグ読み出しリクエストを発行して、これらのフラグを見る。ホストフラグが発生したならば、ホストフラグが読み出しリクエストに返される。さもなければ、読み出しリクエストはホストフラグが発生するまで、もしくは画像獲得が完了するまで保留のままとなる。
【０３８２】
２種類のホストフラグ、即ち、通知と待機がありうる。通知ホストフラグを用いて、イベントが発生したこと、もしくは、ＣＯＦＦファイル内のあるポイントに到達したことをユーザに通知することができる。割り込みが生成されると、ドライバは、ホストフラグに関連する８ビット数値を記録する。ホストフラグ読み出しが保留されている場合、この数値はユーザに返される。さもなければ、この数値は読み出しリクエストが発行されるまで記憶される。通知ホストフラグが用いられる処理はこれだけである。
【０３８３】
また、待機ホストフラグは、イベントが発生したことや、ＣＯＦＦファイル内のあるポイントに到達したことをユーザに通知するが、イベントキューはユーザからの応答を待っている。通知フラグと同様に、待機フラグは割り込みを生成し、ドライバはフラグに関連する８ビット数値を記録する。この数値は、ホストフラグ読み出しリクエストを介してユーザに返される。続いて、ユーザは同じ８ビット数値を用いてイベントキューに応答する。待機フラグは、幾つかの初期化処理が終了したことをユーザに通知する。ユーザは、例えば、特定のアクションを行う必要がある。例えば、画像検出システム１１２上でアクションを行うか、もしくは、何らかの方法でターゲットを配置する等である。ユーザが、８ビットの待機ホストフラグパターンを利用して応答するまで、キューは連続しない。従って、キューとユーザは同期して動作する。
【０３８４】
エラー
ＤＦＮ３０４の動作中に様々なエラーが起こる可能性がある。大雑把に言うと、これらのエラーはホストフラグとイベントキューと応答ログと（獲得と記憶とＤＭＡを含む）画像とファイバーチャネルに関連する。各種のエラークラスのうち１つ以上が一度に起こりうる。例えば、ファイバーチャネルケーブルが非接続になると、無効レシーバデータとＣＲＣと同期喪失エラーが発生する。１つのリターンコードを用いてユーザにそれらのエラーを通知する。ユーザは、完全な（拡張された）リストを得るためのビットマスクをドライバに要求する。特定クラスのエラーは、そのクラスに関連する要求に応じて返される。例えば、ドライバに対するＲｅａｄ  ａｎｄ  Ｓｅｔ  Ｈｏｓｔ  ｆｌａｇｓコールで、ホストフラグ拡張エラーが発生したことがユーザに通知される。続いて、ソフトウェアは、モジュラースレッドで、データの種類とエラーを処理する。
【０３８５】
レントゲン検査用撮像システムによるデータの獲得
図１５を再び参照すると、ユーザは、システム１００を制御してデータを獲得するために、Ｃ言語またはそれと等価な言語でコンピュータプログラムを書くことによって撮像システムを制御する。ユーザアプリケーションは、獲得部ＤＬＬ３１３とＤＦＮデバイスドライバ３１４を利用して、共通オブジェクトファイルフォーマット（「ＣＯＦＦ」）ファイルと呼ばれるバイナリファイルをＥＰ  ＥＡＢメモリ４７４にロードする。このバイナリファイルは、イベントコンパイラ４０８と呼ばれるソフトウェアプログラムによって作成される。バイナリファイルを用いてイベントキューを生成する。イベントキューは、Ｘ線生成器と画像検出バス３７７を介した画像検出システム１１２からのデータ獲得を制御する。
【０３８６】
図１６を参照すると、イベントコンパイラ４０８は、パールスクリプトをその入力として取りこむ。別の方法では、エクセルユーザインタフェース３３９からのデータを用いて、トランスレータ３３１によってパールスクリプトを生成する。イベントシミュレータ４０７とイベントシミュレータ４０７用の高分解能ディスプレイ３３８は、オプションとして、テスト目的でイベントコンパイラ４０８からの出力を受けとる。ユーザＡＰＩ３３０は、４つのライブラリ、即ち、１）獲得部ＤＬＬ３１３と２）表示ライブラリ３３５と３）画像処理ライブラリ３３６と４）アーカイブライブラリ３３７をアクセスするＣプログラムである。全てのライブラリは、オプションとして、ＤＬＬライブラリである。従って、ユーザアプリケーションは、オプションとして、ライブラリをリンクするが、アプリケーションプログラムを再コンパイルするときに、再コンパイルしない。
【０３８７】
一部はイベントキュー（バイナリファイルとパールスクリプト３３３によって決定される）によって制御され、一部は獲得部ＤＬＬ３１３とＤＦＮデバイスドライバ３１４とその他のライブラリを用いるユーザアプリケーションプログラムによって制御される複数のモードで、ユーザは画像を獲得する。ユーザは、一枚のフレームや複数枚のフレームを獲得でき、また連続するフレームを獲得することもできる。オプションとして、Ｘ線生成部２０３が３０フレーム／秒で照射し、心臓用デジタルＸ線パネルとＤＦＮ３０４とコンピュータＲＡＭ３３４への連続したデータストリームに後者のモード（「蛍光透視」もしくは「ラップ」と呼ばれる）が用いられる。コンピュータメモリ３３４は、例えば１Ｇバイトに限定されるので、コンピュータメモリ３３４は、２Ｍバイトフレームのうちの５００（４６秒）を保持できる。従って、このモードでは、コンピュータメモリ３３４は循環バッファとして見なされ、データの最後の１６秒分がコンピュータメモリ３３４に保持される。
【０３８８】
ドライバ動作シナリオ
一例として、パネルをテストするユーザプログラムは、ＤＦＮデバイスドライバ３１４に対する一連のコールを作成しなければならない。このセクションでは、データ獲得シナリオの一例に関連するファンクションコールを示す。
【０３８９】
１．まずユーザは、ＤＦＮイベントキューで実行される一連のコマンドを含むＣＯＦＦファイルを生成する。このファイルは獲得が行われるたびに再利用される。
【０３９０】
２．ＤＦＮ３０４と画像検出バス３７７はリセットされる（ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＳＥＴ，  ＩＯＣＴＬ＿  ＤＦＮ＿ＲＥＳＥＴ＿ＦＣ）。
【０３９１】
３．フレームとＲＯＩサイズが読み出される（ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＦＲＡＭＥ＿ＳＩＺＥ，  ＩＯＣＴＬ＿  ＤＦＮ＿ＧＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＲＯＩ＿ＳＩＺＥ）。必要ならば、フレームと所望のＲＯＩサイズが設定される（ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＦＲＡＭＥ＿ＳＩＺＥ，  ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＲＯＩ＿ＳＩＺＥ）。
【０３９２】
４．ユーザは、所望のフレーム数をシーケンスに割り当てる（ＩＯＣＴＬ＿  ＤＦＮ＿ＡＬＬＯＣＡＴＥ＿ＩＭＡＧＥ＿ＢＵＦＦＥＲＳ）。
【０３９３】
５．ユーザは割り当てられたシーケンスを最新のものにする（ＩＯＣＴＬ＿  ＤＦＮ＿ＳＥＴ＿ＣＵＲＲＥＮＴ＿ＳＥＱＵＥＮＣＥ）。
【０３９４】
６．ユーザが望むならば、ユーザはシーケンス上でラップモードを有効にする（ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＳＥＱＵＥＮＣＥ＿ＷＲＡＰ）。
【０３９５】
７．ＣＯＦＦファイルライブラリルーチンを用いてＣＯＦＦファイルが開かれる。
【０３９６】
８．ＤＦＮ３０４を、ＮＯＲＭＡＬ（もしくはＴＥＳＴ）モードに入れる（ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＭＯＤＥ）。
【０３９７】
９．カードをＣＯＦＦファイルを用いてプログラムする（ＩＯＣＴＬ＿ＤＦＮ＿ＰＲＯＧＲＡＭ＿ＤＦＮ＿ＣＡＲＤ）。
【０３９８】
１０．オプションとして、プログラムを検証できる（ＩＯＣＴＬ＿ＤＦＮ  ＶＥＲＩＦＹ＿ＤＦＮ＿ＣＡＲＤ＿ＰＲＯＧＲＡＭ）。
【０３９９】
１１．ＣＯＦＦファイルの実行開始がＤＦＮ３０４に通知される（ＩＯＣＴＬ＿ＤＦＮ＿ＢＥＧＩＮ＿ＡＣＱ＿ＳＥＱＵＥＮＣＥ）。
【０４００】
１２．この時点でデータの獲得が開始される。
【０４０１】
ａ．独立したスレッドでは、ユーザコードは画像バッファのマップ／マップ解除をリクエストできる（ＩＯＣＴＬ＿ＤＦＮ＿ＭＡＰ＿ＢＵＦＦＥＲ，  ＩＯＣＴＬ＿ＤＦＮ＿ＵＮＭＡＰ＿ＢＵＦＦＥＲ）。バッファのマップは、０から順番に行われることに注意されたい。マップ解除コールも、０から順番に行われる。
【０４０２】
ｂ．別の独立したスレッドでは、ユーザコードは、応答ログデータを読み出し（ＩＯＣＴＬ  ＿ＤＦＮ＿ＧＥＴ＿ＲＥＳＰＯＮＳＥ＿ＬＯＧ）、１つのフルＲＬバッファを保持するために十分大きなバッファを提供する（ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＲＬ＿ＢＵＦＦＥＲ＿ＳｉＺＥ）。
【０４０３】
ｃ．別の独立したスレッドでは、オプションとして、どれもがＣＯＦＦファイルによって生成される場合に、ユーザはホストフラグ読み出しを公表する（ＩＯＣＴＬ＿ＤＦＮ＿  ＧＥＴ＿  ＨＯＳＴ＿ＦＬＡＧＳ）。
【０４０４】
ｄ．ユーザが早く獲得を終了したいと望むならば、キューを停止できる（ＩＯＣＴＬ＿ＤＦＮ＿ＡＢＯＲＴ＿ＳＥＱＵＥＮＣＥ）。
【０４０５】
１４．ＣＯＦＦファイルが完成すると、オリジナルのＢＥＧＩＮ＿ＡＣＱ＿ＳＥＱＵＥＮＣＥコールが首尾よく返される。カードはＮＯＲＭＡＬ（もしくはＴＥＳＴ）モードである。
【０４０６】
１５．ユーザは、カードをＤＩＡＧＮＯＳＴＩＣモードに戻すことができる。シーケンスサイズが読み出される（ＩＯＣＴＬ＿ＤＦＮ＿ＱＵＥＲＹ＿ＳＥＱＵＥＮＣＥ＿ＳＩＺＥ）。画像をマップし表示して保管することができ、それに続いて、システムがリアルタイム獲得モードでないので、不連続にマップを解除することができる。
【０４０７】
１６．望ましくないフレームを削除できる（ＩＯＣＴＬ＿ＤＦＮ＿ＤＥＬＥＴＥ＿ＦＲＡＭＥ，  ＩＯＣＴＬ＿ＤＦＮ＿ＩＳ＿ＦＲＡＭＥ＿ＰＲＥＳＥＮＴ）。シーケンスをメモリから削除できる（ＩＯＣＴＬ＿ＤＦＮ＿ＤＥＡＬＬＯＣＡＴＥ＿ＩＭＡＧＥ＿ＢＵＦＦＥＲＳ）。
【０４０８】
獲得部ＤＬＬ３１３に対するコンピュータアプリケーションによって作成可能であって、検出器フレーミングノード３０４を制御するファンクションコールを以下に示す。各ＤＬＬファンクションコールは、関連する記述を有する。
【０４０９】
ＤＥＮＯｐｅｎＳｙｓｔｅｍ
ＤＦＮドライバを接続し、画像獲得を設定する。
【０４１０】
ＤＦＮＣｌｏｓｅＳｙｓｔｅｍ
ルーズスレッドを除去し、ＤＦＮドライバ接続を閉じる。
【０４１１】
ＤＦＮＯｐｅｎＳｅｑｕｅｎｃｅ
特定のイベントシーケンスファイルをオープンし、画像バッファを配置する。
【０４１２】
ＤＦＮＣｌｏｓｅＳｅｑｕｅｎｃｅ
ＰＣメモリの画像バッファの割り当てを取り消す。
【０４１３】
ＤＦＮＯｐｅｎＡｒｃｈｉｖｅＳｅｑｕｅｎｃｅ
画像バッファを割り当てるが、以前のアーカイブからＰＣメモリを満杯にする。
【０４１４】
ＤＦＮＢｅｇｉｎＳｅｑｕｅｎｃｅ
特定のイベントシーケンスＣＯＦＦファイルをロードし、実行する。
【０４１５】
ＤＦＮＢｅｇｉｎＳｅｑｕｅｎｃｅＮｏＭａｐｐｉｎｇ
画像マップなしのＢｅｇｉｎＳｅｑｕｅｎｃｅ。
【０４１６】
ＤＦＮＢｅｇｉｎＳｅｑｕｅｎｃｅＮｏＭａｐｐｉｎｇＮｏ  Ｌｏｇ
応答ログエントリとバッファマップなしのＢｅｇｉｎＳｅｑｕｅｎｃｅ。
【０４１７】
ＤＦＮＢｅｇｉｎＳｅｑｕｅｎｃｅＮｏ  Ｌｏｇ
応答ログエントリ記録なしのＢｅｇｉｎＳｅｑｕｅｎｃｅ。
【０４１８】
ＤＦＮＷａｉｔＦｏｒＳｙｓｔｅｍＩｄｌｅ
現在実行されているイベントシーケンスが終了するまでブロックする。
【０４１９】
ＤＦＮＷａｉｔＴｉｍｅｏｕｔＦｏｒＳｙｓｔｅｍＩｄｌｅ
特定のタイムアウトが終了するまでＷａｉｔＦｏｒＳｙｓｔｅｍＩｄｌｅ。
【０４２０】
ＤＦＮＡｂｏｒｔＳｅｑｕｅｎｃｅ
現在ＤＦＮ３０４で実行されているシーケンスを終了する。
【０４２１】
ＤＦＮ  ＤｅｌｅｔｅＳｅｑｕｅｎｃｅ
特定のシーケンスに対して割り当てられた画像バッファをフリーにする。
【０４２２】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅＮａｍｅ
シーケンスＩＤに基づくシーケンスのＡＳＣＩＩ名を返す。
【０４２３】
ＤＦＮＲｅｎａｍｅＳｅｑｕｅｎｃｅ
シーケンスＩＤに基づいてシーケンス名を変更する。
【０４２４】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅＬｅｎｇｔｈＡｌｌｏｃａｔｅｄ
所定のシーケンスに割り当てられた画像バッファ数を返す。
【０４２５】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅＬｅｎｇｔｈＡｃｑｕｉｒｅｄ
所定のシーケンスで獲得された実画像数を返す。
【０４２６】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅＦｒａｍｅＳｉｚｅ
所定のシーケンスＩＤに用いられる実フレームサイズを返す。
【０４２７】
ＤＦＮＧｅｔＢｅｇｉｎＳｅｑｕｅｎｃｅＴｉｍｅｓｔａｍｐ
所定のシーケンスが開始された日時を返す。
【０４２８】
ＤＦＮＧｅｔＣｕｒｒｅｎｔＳｅｑｕｅｎｃｅＩＤ
現在選択されているシーケンスＩＤを返す。
【０４２９】
ＤＦＮＦｉｎｄＳｅｑｕｅｎｃｅＩＤ
ＡＳＣＩＩストリング名に対応するシーケンスＩＤを返す。
【０４３０】
ＤＦＮＧｅｔＢｅｇｉｎＳｅｑｕｅｎｃｅＴｉｍｅ
所定のシーケンスが開始された正確な時間（秒単位）を返す。
【０４３１】
ＤＦＮＳｅｔＡｒｃｈｉｖｅＳｅｑｕｅｎｃｅＴｉｍｅ
事前に保管されたシーケンスの再ロード開始時間を設定する。
【０４３２】
ＤＦＮＧｅｔＥｘｔｅｎｄｅｄＥｒｒｏｒＩｎｆｏｒｍａｔｉｏｎ
報告されたドライバエラーに対する拡張エラー情報を返す。
【０４３３】
ＤＦＮＨａｒｄＲｅｓｅｔ
ＤＦＮ３０４上で実施されない。
【０４３４】
ＤＦＮＳｏｆｔＲｅｓｅｔ
ＤＦＮ３０４の状態リセットを実行する。
【０４３５】
ＤＦＮＤｅｔｅｃｔｏｒＨａｒｄｗａｒｅＰｒｅｓｅｎｔＳｐｅｃｉｆｉｃａｔｉｏｎ
ＤＦＮ３０４の存在なしに、特定のドライバモードをオンにして、ＤＬＬをテストする。
【０４３６】
ＤＦＮＧｅｔＢｏａｒｄＶｅｒｓｉｏｎＩｎｆｏ
ＤＦＮボードの改訂とシリアル番号とファームウェアの改訂情報を返す。
【０４３７】
ＤＦＮＧｅｔＤｒｉｖｅｒＡｎｄＤＬＬＶｅｒｓｉｏｎｓ
ＤＬＬとドライバのソフトウェア改訂ストリングを返す。
【０４３８】
ＤＦＮＳｅｌｆＴｅｓｔ
ＤＦＮ３０４にハードウェアビルトインセルフテストを実行するようリクエストする。
【０４３９】
ＤＦＮＳｅｎｄＤｅｔｅｃｔｏｒＣｏｍｍａｎｄ
特定のファイバーチャネルコマンドを検出器に送信する。
【０４４０】
ＤＦＮＲｅｓｅｔＦＣ
ファイバーチャネルチップセットを直接リセットする。
【０４４１】
ＤＦＮＡｃｃｅｓｓＬｏｃａｌＢｕｓ
ＤＦＮローカルバス３８４に対する直接読み出し、もしくは、書き込みを行う。
【０４４２】
ＤＦＮＧｅｔＲｅｓｐｏｎｓｅＬｏｇＳｉｚｅＦｏｒＳｅｑｕｅｎｃｅ
所定のシーケンスＩＤの応答ログエントリ数を返す。
【０４４３】
ＤＦＮＧｅｔＲｅｓｐｏｎｓｅＬｏｇＦｏｒＳｅｑｕｅｎｃｅ
所定のシーケンスＩＤの全応答ログエントリを返す。
【０４４４】
ＤＦＮＧｅｔＲｅｓｐｏｎｓｅＬｏｇＳｉｚｅＦｏｒＦｒａｍｅ
所定のフレームの応答ログエントリ数を返す。
【０４４５】
ＤＦＮＢｅｇｉｎＲｅｓｐｏｎｓｅＬｏｇＣｈｉｔｃｈａｔ
Ｄｉａｇｎｏｓｔｉｃモードで応答ログエントリの記録を開始する。
【０４４６】
ＤＦＮＥｎｄＲｅｓｐｏｎｓｅＬｏｇｃｈｉｔｃｈａｔ
Ｄｉａｇｎｏｓｔｉｃモードで応答ログエントリの記録を停止する。
【０４４７】
ＤＦＮＦｏｒｃｅＲＬＢｕｆｆｅｒＦｌｉｐ
ドライバに強制的に現在アクティブのＲＬバッファを返させ、バッファを切り替えさせる。
【０４４８】
ＤＦＮＧｅｔＲｅｓｐｏｎｓｅＬｏｇＦｏｒＦｒａｍｅ
所定のフレームの全応答ログエントリを返す。
【０４４９】
ＤＦＮＧｅｔＲｅｓｐｏｎｓｅＬｏｇＯｆＲｕｎｎｉｎｇＳｅｑｕｅｎｃｅ
現在アクティブのＲＬバッファの特定の区域を返す。
【０４５０】
ＤＦＮＯｐｅｎＳｅｑｕｅｎｔｉａｌＰｌａｙｂａｃｋｓｅｑｕｅｎｃｅ
連続再生のため、以前獲得したシーケンスをオープンする。
【０４５１】
ＤＦＮＯｐｅｎＲａｎｄｏｍＰｌａｙｂａｃｋｓｅｑｕｅｎｃｅ
ＧｅｔＳｐｅｃｉｆｉｃＦｒａｍｅを用いてランダムアクセスのためのシーケンスを選択する。
【０４５２】
ＤＦＮＧｅｔＳｐｅｃｉｆｉｃＦｒａｍｅ
Ｒａｎｄｏｍ  Ｐｌａｙｂａｃｋモードのときに特定のフレームを返す。
【０４５３】
ＤＦＮＧｅｔＮｅｘｔＦｒａｍｅ
最新の画像を返し、フレームポインタを更新する。
【０４５４】
ＤＦＮＤｅｌｅｔｅＦｒａｍｅ
メモリから特定のフレームを除去する。
【０４５５】
ＤＦＮＩｓＦｒａｍｅＰｒｅｓｅｎｔ
メモリに特定のフレームが存在するか否かを返す。
【０４５６】
ＤＦＮＧｅｔＦｒｅｅＦｒａｍＣｏｕｎｔ
メモリ内の利用可能なエンプティフレーム数を返す。
【０４５７】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅｆｒａｍｅＲａｎｇｅ
メモリ内にまだ存在する最小／最高フレーム数を返す。
【０４５８】
ＤＦＮＳｅｔＷｒａｐＭｏｄｅ
循環画像バッファのラップをオン／オフにする。
【０４５９】
ＤＦＮＩｓＷｒａｐＭｏｄｅＳｅｔ
Ｗｒａｐモードがオンであるかオフであるかをチェックする。
【０４６０】
ＤＦＮＩｓＷｏｒｄＳｗａｐＭｏｄｅＳｅｔ
ＷｏｒｄＳｗａｐビットの状態を返す。１＝ワードはスワップされた。０＝スワップされていない。
【０４６１】
ＤＦＮＩｍａｇｅＷｏｒｄＳｗａｐ
乳房撮影用デジタルＸ線獲得のため、ＷｏｒｄＳｗａｐをオンまたはオフにする。
【０４６２】
ＤＦＮＳｅｔＲＯＩ
ＤＦＮ上で実施されない。
【０４６３】
ＤＦＮＧｅｔＡｌｌｏｃａｔｉｏｎＲＯＩ
ＤＦＮ上で実施されない。
【０４６４】
ＤＦＮＧｅｔＳｅｑｕｅｎｃｅＲＯＩ
ＤＦＮ上で実施されない。
【０４６５】
ＤＦＮＧｅｔＡｌｌｏｃａｔｉｏｎＦｒａｍｅＳｉｚｅ
次の獲得のために、メモリを割り当てるために用いられるフレームサイズを返す。
【０４６６】
ＤＦＮＳｅｔＦｒａｍｅＳｉｚｅ
獲得中にＤＦＮが用いる検出器フレームサイズを設定する。
【０４６７】
ＤＦＮＩｍａｇｅＲｅｏｒｄｅｒ
画像再配列をオン／オフにする。Ｘ線撮影用デジタルＸ線パネル２２８と心臓／外科用デジタルＸ線パネル１８２に適用する。
【０４６８】
ＤＦＮＩｓＲｅｏｒｄｅｒＭｏｄｅＳｅｔ
画像再配列がオンにされているかオフにされているかをチェックする。
【０４６９】
ＥＡＢメモリ４７４（イベントキュー）のメモリ読み出し／書き込みファンクションコールを以下に示す。
【０４７０】
ＤＦＮＬｏａｄＥｖｅｎｔｓ
ＣＯＦＦファイルイベントインストラクションを、ＤＦＮ３０４に直接ダウンロードする。
【０４７１】
ＤＦＮＧｅｔＥｖｅｎｔｓＦｒｏｍＥＡＢ
ＤＦＮ  ＥＡＢメモリからイベントキューデータを返す。
【０４７２】
ＤＦＮＧｅｔＥＡＢＭｅｍＳｉｚｅｓ
ＤＦＮ  ＥＡＢ（イベントキュー）メモリのサイズをバイト単位で返す。
【０４７３】
ＤＦＮｗｒｉｔｅＥＡＢＭｅｍｏｒｙ
ＤＦＮ  ＥＡＢメモリの特定アドレスに書き込む。
【０４７４】
ＤＦＮＲｅａｄＥＡＢＭｅｍｏｒｙ
ＤＦＮ  ＥＡＢメモリの特定アドレスから読み出す。
【０４７５】
ＤＦＮＳｅｔＡｕｔｏｓｃｒｕｂＤｅｌａｙ
自動無効化コマンド間の遅延をμ秒カウントで設定する。
【０４７６】
ＤＦＮＧｅｔＡｕｔｏｓｃｒｕｂＤｅｌａｙ
ＤＦＮから現在プログラムされている自動無効化遅延情報を返す。
【０４７７】
ＤＦＮＥｎａｂｌｅＡｕｔｏｓｃｒｕｂ
ＤＦＮに制御される自動無効化機能をオンにする。
【０４７８】
ＤＦＮｉｓａｂｌｅＡｕｔｏｓｃｒｕｂ
ＤＦＮに制御される自動無効化機能をオフにする。
【０４７９】
ＤＦＮＲｅａｄＲＴＢＳｔａｔｅ
リアルタイムバスラインの現在の状態のスナップショットを返す。
【０４８０】
ＤＥＮＳｅｔＲＴＢＤｉｒｅｃｔｉｏｎ
リアルタイムバスラインの方向を個別に設定する。
【０４８１】
ＤＦＮＳｅｔＲＴＢＬｉｎｅ
リアルタイムバスラインの値を個別に強制的にハイまたはロウにする。
【０４８２】
ホストフラグファンクションコールを以下に示す。
【０４８３】
ＤＥＮＧｅｔＮｅｘｔＨｏｓｔＦｌａｇ
ＤＦＮイベントキューからの次のホストフラグを待つ
ＤＦＮＧｅｔＮｅｘｔＨｏｓｔＦｌａｇＴｉｍｅｏｕｔ
ホストフラグが受信されないならば、タイムアウト付きのＧｅｔＮｅｘｔＨｏｓｔｆｌａｇ。
【０４８４】
ＤＦＮＳｅｔＷａｉｔＴｙｐｅＨｏｓｔＦｌａｇ
特定のホストフラグを用いてＤＦＮ３０４に合図する。
【０４８５】
Ｑｕｅｕｅ変数ファンクションコールを以下に示す。
【０４８６】
ＤＦＮＣｈａｎｇｅＱｕｅｕｃＶａｒｉａｂｌｅ
特定アドレスでｑｕｅｕｅ変数を特定値に変更する。
【０４８７】
ＤＦＮＲｅａｄＱｕｅｕｅＶａｒｉａｂｌｅ
特定アドレスでｑｕｅｕｅ変数の現在値を返す。
【０４８８】
ＤＦＮドライバのファンクションコールを以下に示す。
【０４８９】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＥＸＴ＿ＥＲＲＯＲ＿ＩＮＦＯ
ＤＦＮエラーの拡張エラー情報を返す。
【０４９０】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＬＲ＿ＥＸＴ＿ＥＲＲＯＲ＿ＩＮＦＯ
ＤＦＮ３０４のハードウェアエラーレジスタのドライバコピーのビットをクリアする。
【０４９１】
ＩＯＣＴＬ＿ＤＦＮ＿ＢＥＧＩＮ＿ＲＬ＿ＣＨＩＴＣＨＡＴ＿ＭＯＤＥ
非同期検出通信の応答ログデータの記録を開始する。
【０４９２】
ＩＯＣＴＬ＿ＤＦＮ＿ＥＮＤ＿ＲＬ＿ＣＨＩＴＣＨＡＴ＿ＭＯＤＥ
非同期検出通信の応答ログデータの記録を終了する。
【０４９３】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＲＬ＿ＢＵＦＦＥＲ＿ＳＩＺＥ
応答ログバッファのサイズをバイト単位で返す。
【０４９４】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＲＥＳＰＯＮＳＥ＿ＬＯＧ
次の利用可能なフル応答ログバッファを返す。
【０４９５】
ＩＯＣＴＬ＿ＤＦＮ＿ＦＯＲＣＥ＿ＲＬ＿ＢＵＦＦＥＲ＿ＦＬＩＰ
ＤＦＮ３０４に現在のＲＬデスティネーションバッファを切り替えさせる。
【０４９６】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＲＬ＿ＣＬＡＳＳ＿ＥＮＡＢＬＥ＿ＭＡＳＫ
どのクラスが現在記録されているかを示す応答ログクラスエントリマスクを返す。
【０４９７】
ＩＯＣＵＬ＿ＤＦＮ＿ＳＥＴ＿ＲＬ＿ＣＬＡＳＳ＿ＥＮＡＢＬＥ＿ＭＡＳＫ
どのクラスが記録されるかを決定する応答ログクラスエントリマスクを修正する。
【０４９８】
ＩＯＣＴＬ＿ＤＦＮ＿ＡＢＯＲＴ＿ＲＬＲＥＡＤ＿ＲＥＱＵＥＳＴＳ
全ての応答ログ読み出しリクエストをクリアする。
【０４９９】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＦＲＡＭＥ＿ＳＩＺＥ
シーケンスのフレームサイズを返す。
【０５００】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＦＲＡＭＥ＿ＳＩＺＥ
次のシーケンスの割り当てで用いられるフレームサイズを返す。
【０５０１】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＦＲＡＭＥ＿ＳＩＺＥ
将来のシーケンスのフレームサイズを設定する。
【０５０２】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＲＯＩ＿ＳＩＺＥ
シーケンスのＲＯＩサイズを返す。
【０５０３】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＲＯＩ＿ＳＩＺＥ
次のシーケンスの割り当てで用いられるＲＯＩサイズを返す。
【０５０４】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＡＬＬＯＣＡＴＩＯＮ＿ＲＯＴ＿ＳＩＺＥ
将来のシーケンスのＲＯＩサイズを設定する。
【０５０５】
ＩＯＣＴＬ＿ＤＦＮ＿ＡＬＬＯＣＡＴＥ＿ＩＭＡＧＥ＿ＢＵＦＦＥＲＳ
特定数のバッファを用いて画像シーケンスの作成を試みる。
【０５０６】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＣＵＲＲＥＮＴ＿ＳＥＱＵＥＮＣＥ
シーケンス識別子に対応するシーケンスを現在のシーケンスとする。
【０５０７】
ＩＯＣＴＬ＿ＤＦＮ＿ＤＥＡＬＬＯＣＡＴＥ＿ＩＭＡＧＥ＿ＢＵＦＦＥＲＳ
全てのバッファとの割り当てられたシーケンスに関するシーケンス情報をフリーにする。
【０５０８】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＩＭＡＧＥ＿ＲＥＯＲＤＥＲ
記録のデフォルトに関わらず、シーケンスを強制的に再配列する。
【０５０９】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＬＲ＿ＩＭＡＧＥ＿ＲＥＯＲＤＥＲ
記録のデフォルトに関わらず、シーケンスを強制的に再配列しない。
【０５１０】
ＩＯＣＴＬ＿ＤＦＮ＿ＱＵＥＲＹ＿ＳＥＱＵＥＮＣＥ＿ＳＩＺＥ
シーケンスのフレーム数とシーケンスのその他の情報を返す。
【０５１１】
ＩＯＣＴＬ＿ＤＦＮ＿ＤＥＬＥＴＥ＿ＦＲＡＭＥ
現在のシーケンスから順序を示すフレーム番号によって指定されたフレームを削除する。
【０５１２】
ＩＯＣＴＬ＿ＤＦＮ＿ＩＳ＿ＦＲＡＭＥ＿ＰＲＥＳＥＮＴ
指定されたフレーム番号が現在のシーケンスに存在するかどうかを報告する。
【０５１３】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＦＲＥＥ＿ＦＲＡＭＥ＿ＣＮＴ
フリーメモリで利用可能な特定サイズのフレーム数を返す。
【０５１４】
ＩＯＣＴＬ＿ＤＦＮ＿ＭＡＲＫ＿ＡＲＣＨＩＶＥ＿ＳＥＱＵＥＮＣＥ
アーカイブからシーケンスがフルになると、すぐにマップリクエストを強制的に完了させる。
【０５１５】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＳＥＱＵＥＮＣＥ＿ＷＲＡＰ
ラップモードで実施可能なシーケンスを定義する。
【０５１６】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＣＵＲＲＥＮＴ＿ＳＥＱＵＥＮＣＥ＿ＩＤ
現在のシーケンスのシーケンス識別子を返す。
【０５１７】
ＩＯＣＴＬ＿ＤＦＮ＿ＭＡＰ＿ＢＵＦＦＥＲ
現在のシーケンスで指定された画像バッファのアドレスを返す。
【０５１８】
ＩＯＣＴＬ＿ＤＦＮ＿ＵＮＭＡＰ＿ＢＵＦＦＥＲ
現在のシーケンスで指定された画像バッファのマップを解除する。
【０５１９】
ＩＯＣＴＬ＿ＤＦＮ＿ＤＥＬＥＴＥ＿ＡＬＬ＿ＳＥＱＵＥＮＣＥＳ
ドライバによっての割り当てられた全てのシーケンスを削除する。
【０５２０】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＤＥＴＥＣＴＯＲ＿ＷＯＲＤＳＷＡＰ
デフォルトに関わらず画素ワードをシーケンス上で強制的にスワップする。
【０５２１】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＬＲ＿  ＤＥＴＥＣＴＯＲ＿ＷＯＲＤＳＷＡＰ
デフォルトに関わらず画素ワードをシーケンス上で強制的にスワップしない。
【０５２２】
ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＳＥＴ
ＤＦＮボードファームウェアをリセットする。
【０５２３】
ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＳＥＴ＿ＦＣ
ファイバーチャネルハードウェアをリセットする。
【０５２４】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＶＥＲＳＩＯＮ＿ＩＮＦＯ
ＤＦＮ３０４のバージョンとＳ／Ｎと、ＥＰ３７４とＤＡＰ３７２のファームウェア改訂番号を返す。
【０５２５】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＥＡＢ＿ＭＥＭ＿ＳＩＺＥＳ
ＥＡＢメモリとその中の各キュー領域のサイズを返す。
【０５２６】
ＩＯＣＴＬ＿ＤＦＮ＿ＷＲＩＴＥ＿ＥＡＢ＿ＭＥＭＯＲＹ
このコマンドを用いてＥＡＢメモリ４７４にデータを書き込むことができる。
【０５２７】
ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＡＤ＿ＥＡＢ＿ＭＥＭＯＲＹ
このコマンドを用いてＥＰ３７４のＥＡＢメモリからデータを読み出すことができる。
【０５２８】
ＩＯＣＴＬ＿ＤＦＮ＿ＰＲＯＧＲＡＭ＿ＤＦＮ＿ＣＡＲＤ
ユーザが生成したＣＯＦＦファイルからコードを用いてＥＡＢメモリ４７４をプログラムする。
【０５２９】
ＩＯＣＴＬ＿ＤＦＮ＿ＶＥＲＩＦＹ＿ＤＦＮ＿ＣＡＲＤ＿ＰＲＯＧＲＡＭ
事前にプログラムされたＥＡＢメモリ４７４のコードを返す。
【０５３０】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＧＥＮ＿ＤＡＴＡ＿ＣＦＧ
ＤＦＮ３０４のテスト画像生成器回路のコンフィグレーション設定を返す。
【０５３１】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＧＥＮ＿ＤＡＴＡ＿ＣＦＧ
ＤＦＮ３０４のテスト画像生成器の指定されたコンフィグレーション設定をセットする。
【０５３２】
ＩＯＣＴＬ＿ＤＦＮ＿ＢＥＧＩＮ＿ＡＣＱ＿ＳＥＱＵＥＮＣＥ
イベントキューを開始し、データ獲得を開始する。
【０５３３】
ＩＯＣＴＬ＿ＤＦＮ＿ＡＢＯＲＴ＿ＳＥＱＵＥＮＣＥ
ＥＮＤＱが受信される前に現在実行しているＤＦＮ獲得を停止する。
【０５３４】
ＩＱＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＡＵＴＯＳＣＲＵＢ＿ＤＥＬＡＹ
連続自動無効化リクエスト間の遅延を２μ秒クロック単位で設定する。
【０５３５】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＡＵＴＯＳＣＲＵＢ＿ＤＥＬＡＹ
連続自動無効化リクエスト間の遅延を２μ秒クロック単位で返す。
【０５３６】
ＩＯＣＴＬ＿ＤＦＮ＿ＥＮＡＢＬＥ＿ＡＵＴＯＳＣＲＵＢ
ＤＦＮ３０４の自動無効化回路をオンにする。
【０５３７】
ＩＯＣＬ＿ＤＦＮ＿ＤＩＳＡＢＬＥ＿ＡＵＴＯＳＣＲＵＢ
ＤＦＮ３０４の自動無効化回路をオフにする。
【０５３８】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＯＮＦＩＧ＿ＲＴＢ
ＤＦＮ３０４上のリアルタイムバスのデフォルト状態とドライバの指示を設定する。
【０５３９】
ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＡＤ＿ＲＴＢ
デフォルト設定と指示の設定を含むリアルタイムバスラインの現在の状態を返す。
【０５４０】
ＩＯＣＴＬ＿ＤＦＮ＿ＷＲＩＴＥ＿ＲＴＢ
イベントキューによって用いられる状態／マスクフォーマットでリアルタイムバス３７９にデータを書き込む。
【０５４１】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＭＯＤＥ
ＥＰステートマシンの現在の状態（Ｎｏｒｍａｌ、Ｒｕｎ、Ｄｉａｇｎｏｓｔｉｃ）を返す。
【０５４２】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＭＯＤＥ
ＥＰステートマシンの現在の状態（Ｎｏｒｍａｌ、Ｒｕｎ、Ｄｉａｇｎｏｓｔｉｃ）を設定する。
【０５４３】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＨＯＳＴ＿ＦＬＡＧＳ
イベントキューからホストフラグを読み出す。
【０５４４】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＷＡＩＴ＿ＨＯＳＴ＿ＦＬＡＧ
イベントキューから特定のホストフラグを待つ間ブロックする。
【０５４５】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＬＲ＿ＡＬＬ＿ＨＯＳＴ＿ＦＬＡＧＳ
未決のホストフラグ、即ち、ホストフラグリクエストをクリアする。
【０５４６】
ＩＯＣＴＬ＿ＤＦＮ＿ＡＣＣＥＳＳ＿ＬＯＣＡＬ＿ＢＵＳ
カードがＤｉａｇｎｏｓｔｉｃモードの間にＤＦＮローカルバスに対する読み出し、もしくは、書き込みを行う。
【０５４７】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＮＤ＿ＤＥＴＥＣＴＯＲ＿ＣＭＤ
Ｄｉａｇｎｏｓｔｉｃモードの間に検出器にコマンドを直接送信する。
【０５４８】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＮＤ＿ＤＦＮ＿ＣＭＤ
ＤｉａｇｎｏｓｔｉｃモードでＤＦＮコマンドを直接実行するためにドライバをバイパスする。
【０５４９】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＴＲＡＣＥ＿ＬＥＶＥＬ
カーネルデバッガによる追跡メッセージの印刷を制御するデバッグ追跡レベルを設定する。
【０５５０】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＴＲＡＣＥ＿ＬＥＶＥＬ
カーネルデバッガによる追跡メッセージの印刷を制御するデバッグ追跡レベルを返す。
【０５５１】
ＩＯＣＴＬ＿ＤＦＮ＿ＢＵＧＣＨＥＣＫ
解析用のクラッシュダンプを生成するためにシステムを強制的にクラッシュさせる。
【０５５２】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＢＲＥＡＫ＿ＦＬＡＧ
ドライバがチェックしたバージョンによって、全関数に対するエントリを更新する。
【０５５３】
ＩＯＣＴＬ＿ＤＦＮ＿ＣＬＥＡＲ＿ＢＲＥＡＫ＿ＦＬＡＧ
ドライバがチェックしたバージョンによって、全関数に対するエントリを更新しない。
【０５５４】
ＩＯＣＴＬ＿ＤＦＮ＿ＤＵＭＰ＿ＨＥＡＰ＿ＬＩＳＴ
フリーメモリに蓄積された情報と、シーケンスメモリの使用情報を出力ファイルに対してダンプする。
【０５５５】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＬＥＤＳ
特定の状態に従って、ＤＦＮ  ＬＥＤを個別にオンまたはオフする。
【０５５６】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＢＡＳＥ＿ＡＤＤＲＥＳＳＥＳ
ユーザアプリケーションがＤＦＮメモリ空間を直接アクセスできるようにカーネル仮想アドレスを返す。
【０５５７】
ＩＯＣＴＬ＿ＤＦＮ＿ＦＲＥＥ＿ＢＡＳＥ＿ＡＤＤＲＥＳＳＥＳ
特定のカーネル仮想アドレスを開放する。
【０５５８】
ＩＯＣＴＬ＿ＤＦＮ＿ＤＵＭＰ＿ＤＦＮ＿ＭＥＭＯＲＹ
ＤＦＮメモリの区域をファイルに書き込む。
【０５５９】
ＩＯＣＴＬ＿ＤＦＮ＿ＭＡＰ＿ＰＨＹＳ＿ＡＤＤＲ
物理アドレスを、ＭＡＸＭＥＭの上にあるＲＡＭをアクセスするために用いられるユーザ仮想アドレスにマップする。
【０５６０】
ＩＯＣＴＬ＿ＤＦＮ＿ＵＮＭＡＰ＿ＰＨＹＳ＿ＡＤＤＲ
特定のユーザ仮想アドレスを開放する。
【０５６１】
ＩＯＣＴＬ＿ＤＦＮ＿ＲＥＡＤ＿ＤＦＮ＿ＡＤＤＲ
入力引数で与えられるオフセットでＤＦＮボードを読み出すよう試みる。
【０５６２】
ＩＯＣＴＬ＿ＤＦＮ＿ＷＲＩＴＥ＿ＤＦＮ＿ＡＤＤＲ
入力引数で与えられるオフセットでＤＦＮボードに値を書き込むよう試みる。
【０５６３】
ＩＯＣＴＬ＿ＤＦＮ＿ＧＥＴ＿ＦＣ＿ＬＯＯＰＢＡＣＫ
ファイバーチャネルループバックの状態を返す。０＝ループバックはディスエーブル。１＝ループバックはイネーブル。
【０５６４】
ＩＯＣＴＬ＿ＤＦＮ＿ＳＥＴ＿ＦＣ＿ＬＯＯＰＢＡＣＫ
ファイバーチャネルループバックを、イネーブルまたはディスエーブルにする。０＝ループバックはディスエーブル。１＝ループバックはイネーブル。
【０５６５】
本発明は、その精神とその原理的な特徴から逸脱することなく様々な形態で具現化可能であるため、本実施形態の例を図示しているが、これに限定されることはない。本発明の原理と精神から逸脱せずに、これらの実施形態を変更できることは当業者にとって明らかなことである。従って、本発明の範囲は、上の記載によるのではなく、添付の請求項によって定義され、請求項の範囲内にある全ての変更やその範囲内にある等価物は請求項に含まれる。
【図面の簡単な説明】
【図１】図１は、ホストコンピュータと放射線生成システムと画像検出システムを含む撮像システムのブロック図である。
【図２】図２（従来技術）は、フラットパネル検出器の上方透視図である。
【図３】図３（従来技術）は、図２のラインＩＩＩ−ＩＩＩに沿ったフラットパネル検出器の分解断面図である。
【図４】図４（従来技術）は、保護用金属筐体から取り出されたＸ線検出パネルの上方透視図である。
【図５】図５（従来技術）は、アモルファスシリコンパネル上に構成された光電セルアレイの概略図である。
【図６】図６（従来技術）は、アモルファスシリコン一枚パネル検出システムの電気接続のブロック図である。
【図７】図７（従来技術）は、アモルファスシリコンスプリットパネル検出システムの電気接続のブロック図である。
【図８】図８（従来技術）は、スプリットパネル、即ち、心臓／外科用デジタルＸ線パネルの概略図である。
【図９】図９（従来技術）は、列マルチチップモジュールとスプリットパネル検出システムの基準／レギュレータボードのブロック図である。
【図１０】図１０（従来技術）は、検出器制御ボードのブロック図である。
【図１１】図１１（従来技術）は、スプリットパネル、即ち、Ｘ線撮影用デジタルＸ線パネルの概略図である。
【図１２】図１２（従来技術）は、アモルファスシリコン一枚パネル検出システムの電気接続のブロック図である。
【図１３】図１３（従来技術）は、一枚パネル乳房撮影用デジタルＸ線パネルの概略図である。
【図１４】図１４（従来技術）は、冗長な行マルチチップモジュールを有するスプリットパネル検出システムの電極接続のブロック図である。
【図１５】図１５は、撮像システムの制御／データフローのブロック図である。
【図１６】図１６は、リアルタイムレントゲン検査撮像用ソフトウェアシステムのブロック図である。
【図１７】図１７は、リアルタイムレントゲン検査撮像用ハードウェアシステムのブロック図である。
【図１８】図１８は、検出器フレーミングノードのブロック図である。
【図１９】図１９は、１０２４×１０２４の心臓／外科用デジタルＸ線画像に対する推定処理能力を示す表である。
【図２０】図２０は、４００ＭバイトのＰＣ  ＲＡＭメモリの利用可能なフレーム記憶部を示す表である。
【図２１】図２１は、データ獲得とソフトウェアテスタインフェースオペレーションの制御を実行するソフトウェアテスタインタフェースの概略図である。
【図２２】図２２は、コンピュータ通信バスによってシステムの構成要素と交信するハードウェアインタフェースのブロック図である。
【図２３】図２３は、検出器制御ボードの設定を示すブロック図である。
【図２４】図２４は、フィールドプログラマブルゲートアレイの概略図である。
【図２５】図２５は、イベントプロセッサのブロック図である。
【図２６】図２６は、データアドレスプロセッサのブロック図である。
【図２７】図２７は、検出器フレーミングノード制御部とパワーオンリセット部のブロック図である。
【図２８】図２８は、心臓／外科用デジタルＸ線パネルから読み出されるデータの概略図である。
【図２９】図２９は、Ｘ線撮影用デジタルＸ線パネルから読み出されるデータの概略図である。
【図３０】図３０は、乳房撮影用デジタルＸ線パネルから読み出されるデータの概略図である。
【図３１】図３１は、読み出されて複数のスタティックランダムアクセスメモリに入る心臓／外科用デジタル画像データの概略図である。
【図３２】図３２は、読み出されて複数のスタティックランダムアクセスメモリに入るＸ線撮影用デジタル画像データの概略図である。
【図３３】図３３は、読み出されて複数のスタティックランダムアクセスメモリに入る乳房撮影用デジタル画像データの概略図である。
【図３４】図３４は、一心臓／外科用デジタルＸ線画像のＰＣランダムアクセスメモリへのメモリ割り当ての概略図である。
【図３５】図３５は、一Ｘ線デジタル画像のＰＣランダムアクセスメモリへのメモリ割り当ての概略図である。
【図３６】図３６は、一乳房撮影用Ｘ線デジタル画像のＰＣランダムアクセスメモリへのメモリ割り当ての概略図である。
【図３７】図３７は、ＰＣＩインタフェースの概略図である。
【図３８】図３８は、画像検出インタフェースのブロック図である。
【図３９】図３９は、ファイバーチャネルコマンドデータフレームのブロック図である。
【図４０】図４０は、ファイバーチャネル画像検出データフレームのブロック図である。
【図４１】図４１は、ファイバーチャネル画像完了データフレームのブロック図である。
【図４２】図４２は、リアルタイムバスインタフェースの一チャネルの概略図である。
【図４３】図４３は、ＤＦＮクロックシステムのブロック図である。
【図４４】図４４は、クロックバッファのブロック図である。
【図４５】図４５は、パワーオンリセットシステムの概略図である。
【図４６】図４６は、検出器フレーミングノードの物理ＰＣＩカード上のチップ配置を示すブロック図である。
【図４７】図４７は、１６ＭバイトのＰＣＩアドレス空間のマッピングのブロック図である。
【図４８】図４８は、検出器フレーミングノードの上位レベルステートのブロック図とそれらのステートで利用可能なコマンドを示す。
【図４９】図４９は、典型的な画像獲得シーケンスを示すイベントグラフである。
【図５０】図５０は、標準イベントセットの表である。
【図５１】図５１は、Ｓｅｎｄイベントのブロック図である。
【図５２】図５２は、報告されたファイバーチャネルエラーの表である。
【図５３】図５３は、Ｄｅｌａｙ  Ｔイベントのブロック図である。
【図５４】図５４は、Ｌｏｏｐ  ＫＮイベントのブロック図である。
【図５５】図５５は、Ｌｏｏｐ  ＫＦイベントのブロック図である。
【図５６】図５６は、Ｗａｉｔ  Ｆイベントのブロック図である。
【図５７】図５７は、Ｆｌａｇ  Ｆイベントのブロック図である。
【図５８】図５８は、Ｅｎｄ  Ｑイベントのブロック図である。
【図５９】図５９は、乳房撮影シーケンスのイベントグラフである。
【図６０】図６０はイベントキューのブロック図である。
【図６１】図６１は、心臓のゲートシーケンスのイベントグラフである。
【図６２】図６２は、イベントキューのブロック図である。
【図６３】図６３は、自動無効化シーケンスのイベントグラフである。
【図６４】図６４は、上位レベルのＱｕｅｕｅ変数の定義フォーマットを示す。
【図６５】図６５は、フレームレベルのＱｕｅｕｅ変数の定義フォーマットを示す。
【図６６】図６６は、所定のＡＳＣＩＩ名を有するファクションコールのフォーマットである。
【図６７】図６７は、ソースコードを説明するＣ＋＋ユーザアプリケーションの例である。
【図６８】図６８は、ソースコードを説明するパールスクリプトイベントシーケンスの例である。
【図６９】図６９は、メモリマップアーキテクチャのブロック図である。
【図７０】図７０は、一定のデータを構成する一定のメモリフォーマットの概略図である。
【図７１】図７１は、オペレーティングシステムカーネルとＤＦＮドライバインタフェースのブロック図である。
【図７２】図７２は、ＰＣ  ＲＡＭのメモリ構成を示すブロック図である。
【図７３】図７３は、配置された２つのシーケンスをＰＣ  ＲＡＭが検索する方法を示すブロック図である。
【図１】
0004159288.tif 000038
【図２】
0004159288.tif 000039
【図３】
0004159288.tif 000040
【図４】
0004159288.tif 000041
【図５】
0004159288.tif 000042
【図６】
0004159288.tif 000043
【図７】
0004159288.tif 000044
【図８】
0004159288.tif 000045
【図９】
0004159288.tif 000046
【図１０】
0004159288.tif 000047
【図１１】
0004159288.tif 000048
【図１２】
0004159288.tif 000049
【図１３】
0004159288.tif 000050
【図１４】
0004159288.tif 000051
【図１５】
0004159288.tif 000052
【図１６】
0004159288.tif 000053
【図１７】
0004159288.tif 000054
【図１８】
0004159288.tif 000055
【図１９】
0004159288.tif 000056
【図２０】
0004159288.tif 000057
【図２１】
0004159288.tif 000058
【図２２】
0004159288.tif 000059
【図２３】
0004159288.tif 000060
【図２４】
0004159288.tif 000061
【図２５】
0004159288.tif 000062
【図２６】
0004159288.tif 000063
【図２７】
0004159288.tif 000064
【図２８】
0004159288.tif 000065
【図２９】
0004159288.tif 000066
【図３０】
0004159288.tif 000067
【図３１】
0004159288.tif 000068
【図３２】
0004159288.tif 000069
【図３３】
0004159288.tif 000070
【図３４】
0004159288.tif 000071
【図３５】
0004159288.tif 000072
【図３６】
0004159288.tif 000073
【図３７】
0004159288.tif 000074
【図３８】
0004159288.tif 000075
【図３９】
0004159288.tif 000076
【図４０】
0004159288.tif 000077
【図４１】
0004159288.tif 000078
【図４２】
0004159288.tif 000079
【図４３】
0004159288.tif 000080
【図４４】
0004159288.tif 000081
【図４５】
0004159288.tif 000082
【図４６】
0004159288.tif 000083
【図４７】
0004159288.tif 000084
【図４８】
0004159288.tif 000085
【図４９】
0004159288.tif 000086
【図５０】
0004159288.tif 000087
【図５１】
0004159288.tif 000088
【図５２】
0004159288.tif 000089
【図５３】
0004159288.tif 000090
【図５４】
0004159288.tif 000091
【図５５】
0004159288.tif 000092
【図５６】
0004159288.tif 000093
【図５７】
0004159288.tif 000094
【図５８】
0004159288.tif 000095
【図５９】
0004159288.tif 000096
【図６０】
0004159288.tif 000097
【図６１】
0004159288.tif 000098
【図６２】
0004159288.tif 000099
【図６３】
0004159288.tif 000100
【図６４】
0004159288.tif 000101
【図６５】
0004159288.tif 000102
【図６６】
0004159288.tif 000103
【図６７】
0004159288.tif 000104
【図６８】
0004159288.tif 000105
【図６９】
0004159288.tif 000106
【図７０】
0004159288.tif 000107
【図７１】
0004159288.tif 000108
【図７２】
0004159288.tif 000109
【図７３】
0004159288.tif 000110