要約
本稿では、医療分野に向けて最先端の超音波装置を開発する際に直面する課題について説明します。その上で、既存の評価用プラットフォームを活用することにより、システムの開発コストと送信ブロックの特性評価にかかる時間を削減できることを明らかにします。更に、医療用の画像処理に特有の概念である複数チャンネルの同期を確立するための手順を示します。この同期は、ビーム・ステアリングにおいて重要な意味を持つ概念です。
はじめに
新たな製品を開発するプロセスには、ハードウェアの開発とテスト、システムの統合と検証という段階が存在します。これらは、機器のメーカーが新たなモデルや次世代の装置を商品化する前に実施されます。超音波装置の開発プロセスもその例外ではありません。超音波を利用する画像診断アプリケーション向けにチャンネル数の多いサブシステムを開発するためには、恐らく何年にもわたる取り組みが必要になるでしょう。その際、システム設計において検討すべき事柄についての知識が不足している状態で、ビーム・ステアリング機能や送信サブシステムのハードウェアのプロトタイピングに着手すると、どのようなことが起きるでしょうか。その場合、プロトタイプのハードウェアを何度も修正することになり、想定外のコストがかかってしまうことになるでしょう。現在では、この分野のプロトタイピングに利用可能な完全なシステムが提供されるようになっています。それらは、プロトタイピング用のボードとオープンソースのソフトウェアで構成されています。このようなツールを活用すれば、超音波装置のサブシステムの動作を容易にエミュレートすることができます。その結果、超音波装置のメーカーは、開発コストと、製品を市場に投入するまでの時間を削減することが可能になります。
ArduinoをベースとするTxDAC®の評価用ボード、オープンソースのmbedソフトウェア
「AD9106-ARDZ-EBZ」は、集積度の高いクワッドD/Aコンバータ(DAC)である「AD9106」の評価用ボードです(図1)。このボード(以下、AD9106用ボード)は、「SDP-K1」のようなArm®ベースのmbed対応ボードとの互換性を備えています。また、「Arduino Uno」のヘッダに接続できるように設計されています。評価環境を構築する際、AD9106用ボードにはUSBを使うだけで給電することが可能です。また、クロック入力用に、高周波対応の波形ジェネレータを用意する必要はありません。AD9106用ボードでは、基板上の水晶発振器(156.25MHz)をデフォルトのクロック源として使用します。ただ、オプションとして外部クロックも使用できるようになっています。AD9106の出力は、トランス結合を使用するか、または基板上のアンプを使うことで評価できます。その場合には、7VDC~12VDC/30WのAC/DCアダプタが必要になります。
AD9106を中核とするこのプラットフォームは、ハードウェアとソフトウェアで構成されています。ソフトウェアについては、オープンソースのサンプル・コードが提供されています(AD9106用ボードの製品ページで入手可能)。それらのコードは、各種アプリケーションのファームウェアを開発する際の出発点として利用することができます。また、AD9106用ボードとサンプル・コードをカスタマイズし、他のmbedプラットフォームで動作させることも可能です。新たな評価用システムは既存のシステムに簡単に組み込むことができます。そのため、プロトタイピングが容易になります。
AD9106は、分解能が12ビット、サンプル・レートが180MSPSのクワッドDACです。TxDAC、波形ジェネレータとして利用できる製品であり、消費電力が非常に少なく抑えられていることを特徴とします。また、サンプル・レートが高いので、1MHz~40MHzの周波数を使用する超音波装置に最適です。通常、画像診断装置では1MHz~15MHzの周波数が使用されます。それに対し、静脈心血管用の装置では40MHzという高い周波数が使われます。AD9106は集積度が高く、複雑な波形を生成するためのパターン・メモリを内蔵しています。また、24ビットのチューニング・ワードに対応するDDS(Direct Digital Synthesizer)も備えています。このDDSでは、10.8Hz/LSBの周波数分解能が得られます。更に、高度なプログラム機能を利用可能であり、パターンの周期、開始遅延、ゲイン、オフセットの値を設定することができます。しかも、DACをベースとする4つのチャンネルそれぞれに、異なる設定を適用することが可能です。上記のとおり、AD9106は消費電力が少ないことも特徴としています。3.3Vの動作電圧、4mAの出力、180MSPSのサンプル・レートで動作させた場合、チャンネルあたりの消費電力は78.8mW、トータルの消費電力は315.25mWです。このことは、超音波装置のような大規模なマルチチャンネルのシステムにおいて大きなメリットになります。
超音波装置の精度と画像の解像度を高める
カート式の超音波装置は、画質や解像度の面でハンドヘルド型の装置よりも優れています。そうした性能の差は、チャンネル数の大きな違いによって生じます。とはいえ、超音波装置のチャンネル数はメーカーによって異なります。超音波装置のような大規模なシステムでは、コストと消費電力が重要な検討項目になります。いくつかの技術的なポイントに注目すれば、コストと消費電力の両方を削減することが可能になります。図3に示したのは超音波装置の標準的なシグナル・チェーンです。ご覧のように、送信(Tx)パスにはDACと高電圧に対応するアンプが配置されています。一方、受信(Rx)パスにはIC化されたアナログ・フロント・エンドが使われています。プローブの先端には、トランスデューサのアレイが設けられています。そのアレイの1つの素子を駆動する送信パスごとに受信パスが1つあるとすれば、チャンネルの数を決定するのは難しくありません。この仮定の下では、チャンネルの数は16~256となるでしょう。ハイエンドの超音波装置のほとんどはカート式であり、64以上のチャンネルを備えています。一方、ミドル・エンドからロー・エンドの可搬型システムでは、一般的には16~64のチャンネルが使用されます。
超音波装置の送信パスでは、音響エネルギーのビーム、つまりは音波を人体の周囲でスイープさせます。音波は、プローブの先端に設けられた圧電トランスデューサの素子によって電気信号を基に生成されます。図4に示すように、送信される電気的な各信号の位相と振幅は、入射エネルギー・ビームが線に沿って体内へ向かうようにプログラムされます。それらの音波は臓器の組織で跳ね返り、トランスデューサの素子によって再び電気エネルギーに変換されます。対象とする位置や距離の情報は、トランスデューサのアレイにおける素子間の遅延時間に基づいて画面上に表示されます。このことから、人体内部の正確な画像を表示するためには、送信信号間の同期や遅延を適切に制御することが非常に重要になります。
マルチチップ同期に関する要件
AD9106は複数のDDS/DACを備えています。このような複数のDDS/DAC間の同期をうまく確立するには、どうすればよいのでしょうか。AD9106の場合、CLKP/CLKNピン(差動クロック入力)とTRIGGERピンの立下がりエッジを適切に制御することが重要になります。
同期に関する最初の要件を満たすには、基板レイアウトにおいてクロックの分配を慎重に行わなければなりません(図5)。それにより、リファレンス・クロック(REF CLK)のエッジ間の位相差を最小限に抑えます。そうすると、DDSの出力にはそれに比例した位相差が現れます。
パターンの生成機能は、AD9106のTRIGGERピン(トリガ信号)の立下がりエッジでトリガされます。そのため、トリガ信号のエッジが一致するようにすることが同期に関するもう1つの要件になります。これについても、図5に示したレイアウト手法が参考になります。コントローラのデジタル出力から個々のAD9106のTRIGGERピンまでの配線にも、同様の基板パターンを適用すればよいということです。
AD9106用ボードによるマルチチップ同期の評価
ここからは、複数のAD9106が備えるDACについて、実現可能な同期性能を評価する方法を紹介します。本稿では、2枚のAD9106用ボードと1枚のSDP-K1(コントローラ・ボード)を使用することにします。
準備するもの
以下、評価に使用するハードウェア類を列挙します。
- AD9106 用ボード(2 枚)
- ボードと PC を接続するための USB ケーブル
- SDP-K1(1 枚)
- 12V の電源アダプタ(1 個)
- シグナル・ジェネレータ
- 様々な長さの SMA コネクタ付き同軸ケーブル
- SMA コネクタ付きの T スプリッタ(1 個)
- メス‐メスの Arduino 用コネクタ・ワイヤ
ハードウェアのセットアップ
評価環境を構築するためには、計3枚のボードを接続しなければなりません。それに向けて、2枚のAD9106用ボード(ボード1とボード2)を次のように構成します。まず、DACの出力がボード上のアンプに接続され、DAC用のクロックがJ10に接続された外部クロック源から供給されるようにします。次に、Eval-AD9106 Wiki User Guideの図2bを参考にしてJP1とJP2を適切に接続します。また、AD9106用ボードのうち1枚については、AD9106のCSBピンが別のGPIO(General-purpose Input/Output)ピン(R38の代わりにR39を使用)に接続されるように設定します。その上で、SDP-K1のVIO_ADJUSTが3.3Vに設定されていることを確認します。
続いて、図7に示す各ボードのクロック入力とTRIGGERピンへの接続の設定を行います。その上で、表1に示したとおりに接続を実施します。接続が完了したら、SDP-K1のArduino UnoのポートにAD9106用ボードを装着します。更に、AD9106用ボード2を同ボード1に対して180°回転した状態で配置し、両ボードのTRIGGERピンが横に並ぶようにします。このようにすれば、トリガ2からSDP-K1のデジタル出力への接続が最短になり、トリガ1とトリガ2のパスがほぼ同等になります。
以上の作業を行ったら、高周波に対応する波形ジェネレータの出力を、分割されたSMAコネクタ付きのTスプリッタに接続します。そうすれば、様々な長さのSMAコネクタ付き同軸ケーブルを取り付けることができます。
すべての接続を行うと、図8に示すような状態になります。
SDP-K1のArduino Unoコネクタ | AD9106用ボードの接続ネット | ||
ピン番号 | ピンの機能 | ボード1 | ボード2 |
P2.1 | NC | ||
P2.2 | IO_PWR_SUPPLY | IOREF | IOREF |
P2.3 | MAIN_RESET | RESET | RESET |
P2.4 | SDRAM_&_ARDUINO_PWR_SUPPLY (3.3 V) |
3.3 V | 3.3 V |
P2.5 | +5V_CON | 5 V | 5 V |
P2.6 | GND | GND | GND |
P2.7 | GND | GND | GND |
P5.1 | ARDUINO_GPIOO/RX | VIN | VIN |
P5.2 | TX + 1 | ||
P5.3 | GPIO2 | EN_CVDDX | EN_CVDDX |
P5.4 | GPIO3/PWM | ||
P5.5 | GPIO4 | SHDN_N_LT3472 | SHDN_N_LT3472 |
P5.6 | GPIOS/PWM | ||
P5.7 | GPIO6/PWM | ||
P5.8 | GPIO7 | TRIGGERB | TRIGGERB |
P4.1 | GPIO8 | RESETB | RESETB |
P4.2 | GPIO9/PWM | SPI_CSB_ALT | |
P4.3 | GP1010/PWM/CS | SPI_CSB_DFLT | |
P4.4 | GPIO11/PWM/MOSI | STD_SPI_MOSI | STD_SPI_MOSI |
P4.5 | GPIO12/MISO | STD_SPI_MISO | STD_SPI_MISO |
P4.6 | GPIO13/SCK | STD_SPI_SCK | STD_SPI_SCK |
P4.7 | GND | GND | GND |
P4.8 | AREF | ||
P4.9 | SDA | ||
P4.10 | SCL |
ソフトウェアの準備
先述したように、この評価に必要なソフトウェアを用意する際には、mbedのサンプル・コードを利用できます(詳細についてはwikiページを参照)。それらを使用すれば、SPI(Serial Peripheral Interface)を介して2枚のAD9106用ボード上の各デバイスを個別にプログラムすることができます。必要に応じ、レジスタの値、特に有用な「Example 3」(様々な開始遅延とデジタル・ゲインを設定することでDDSによって正弦波を生成)、その他の部分に最小限の変更を加えてください。それにより、カスタマイズされたソフトウェアを簡単に用意することができます。コードの修正が完了したら、mbedのオンライン・コンパイラを使用してプログラムをコンパイルします。生成されたバイナリ・ファイルはSDP-K1のドライブにドラッグ&ドロップしてください。同じ手順によって、様々なアプリケーション向けのソフトウェアを用意することができます。
評価の手順
図6は、2つのAD9106の同期について評価する際の概念図です。ここでは、DACの同じ出力チャンネルの間、つまり複数のAD9106のチャンネル1の間の遅延を測定することによって評価を行います。評価装置としてはオシロスコープを使用することにします。トリガ1(コントローラからボード1へ)に対するトリガ2(コントローラ・ボードからボード2へ)の変化、クロック1(クロック・ジェネレータからボード1へ)に対するクロック2(クロック・ジェネレータからボード2へ)のコネクタ(ケーブル)の長さの変化が、同期に対してどのような影響を及ぼすのかを評価します。
評価の結果
図9に示したのは、トリガ用のコネクタの長さを変化させた場合の測定結果です。一方、図10には、クロック用のコネクタの長さを変化させた場合の測定結果を示しました。
SDP-K1では、マイクロコントローラとして「STM32F469NI」を使用しています。ここでは、同ICと同等の駆動性能を備えるデジタル出力にTRIGGERピンを接続するケースを考えます。その場合、TRIGGERピン用のパターンの長さについては、許容できる差として5インチ(約12.7cm)という値を設定することで、デバイス間の同期を確保することができることがわかります。
クロック入力用のパターンが同等であれば、デバイス間の出力遅延を最小限に抑えられます。クロックのパターン長の差については、特定のシステムで許容できる遅延に応じて最大値を調整することになるでしょう。
まとめ
本稿で説明したとおり、AD9106の評価用ボードは柔軟性とカスタマイズ性を提供します。超音波装置の設計/開発において同ボードを活用すれば、開発プロセスを簡素化し、製品の市場投入までにかかる時間を短縮することが可能になります。AD9106は、送信用のDACを複数個内蔵しています。それらの同期性能を評価できるようにするために、送信サブシステムのプロトタイプを新たに設計する必要はありません。そのような目的に即した評価環境は、2枚のAD9106用ボードと1枚のSDP-K1を組み合わせることで構築できます。ソフトウェアについても、mbed対応のサンプル・コードに最小限の修正を加えるだけで用意することが可能です。