アプリケーションノート 3597

MAX3420Eに関するよくある質問(FAQ)


要約: このアプリケーションノートは、SPI™インタフェース付きMAX3420E周辺機器コントローラに関するよくある質問(FAQ)を記載しています。

  1. 一般的な質問
    1. MAX3420Eとは何ですか?
    2. MAX3420Eは、マイクロプロセッサを内蔵していますか?
    3. MAX3420Eはどのようなパッケージで提供されていますか?
    4. MAX3420Eのパッケージは鉛フリーですか?
  2. USBに関する質問
    1. MAX3420Eは、どのUSB速度に対応していますか?
    2. MAX3420EはUSBの仕様に適合していますか? どのレビジョンですか?
    3. MAX3420Eはいくつのエンドポイントを持っていますか?
    4. なぜMAX3420Eは、アイソクロナス転送に対応していないのですか?
    5. 自己給電の周辺機器でMAX3420Eを使用することができますか?
    6. バスパワーの周辺機器でMAX3420Eを使用することができますか?
    7. MAX3420EとUSBを接続するのにどのような外付け回路が必要ですか?
    8. お勧めの3.3Vレギュレータはありますか?
    9. CONNECTビットは何を行うものですか?
  3. インタフェースに関する質問
    1. マイクロプロセッサをどのようにしてMAX3420Eに接続しますか?
    2. SPIインタフェースは、3、4、または5線式だということですが、どういう意味ですか?
    3. MAX3420EはどのSPIのクロックモードに対応していますか?
    4. CPUは2.5V電源を使用していますが、MAX3420Eは3.3VのVCC電源を使用します。外付けのレベルトランスレータが必要ですか?
    5. MAX3420EのINTピンの目的は何ですか?
    6. MAX3420Eは、アクティブローのワイヤードOR割込みに対応していますか? エッジアクティブの割込みについてはどうですか?
    7. MAX3420EのSPIインタフェースはどの程度高速に動作させることができますか(SCLKの最大周波数)?
    8. MAX3420EのSCLK周波数に下限はありますか?
    9. 8ピンのマイクロプロセッサを利用しています。このプロセッサのIOピンのうちの5本を使用してMAX3420Eに接続しています。IOはどうすればよいでしょうか?
    10. GPINピンに外付けのプルアップ抵抗を追加する必要がありますか?
    11. SPIインタフェースピンから光カプラを駆動することができますか?
    12. VBCOMPピンの目的は何ですか? MAX3420Eに電力を供給するのですか?
  4. プログラミングに関する質問
    1. ファームウェアを使用してどのようにMAX3420Eと通信すればよいですか?
    2. USBのエニュメレーションを処理するのにどのようにMAX3420Eをプログラムすればよいですか?
    3. BULK IN転送は、どのようにプログラムすればよいですか?
    4. ファームウェアがIN FIFOをロードしている間にUSB IN要求が来たらどうなりますか?
    5. IN FIFOをいつロードすべきかは、どのようにしてわかりますか?
    6. USB転送にエラーがあるとどうなりますか? エラー条件を処理するコードを記述する必要がありますか?
    7. BULK OUT転送は、どのようにプログラムすればよいですか?
    8. 割込み転送についてはどうですか?
    9. SETUP転送は、どのようにプログラムすればよいですか?
    10. USBのデータトグルをプログラムする必要がありますか?
    11. MAX3420Eの割込み要求ビットに「1」を書き込むことによってMAX3420Eの割込み要求ビットをクリアすることができます。これは逆ではありませんか?
    12. プログラミングのヒントはありますか?
  5. ホストプログラムの質問
    1. Windowsのアプリケーションは、どの様にしてMAX3420Eと通信するのですか?
    2. MAXIMはカスタムドライバを提供してくれますか?
    3. イグザンプルコードとして何を提供してくれますか?
    4. MAX3420EをWindowsのクラスに適合しないデバイスとして使いたいのですが、Windowsドライバとして何を使えばよいでしょうか?
    5. USBのシリアルブリッジチップとMAX3420Eはどう違いますか?
    6. MAX3420Eの優位点、劣る点は何ですか?
  6. その他の質問
    1. ファームウェアで、チップのレビジョンを判断することができますか?
    2. MAX3420Eの現行のレビジョンレベルは何ですか?
    3. Rev 2で既知の問題はありますか?

  1. 一般的な質問
    1. MAX3420Eとは何ですか?
      MAX3420Eは、トランシーバとUSBシリアルインタフェースエンジン(SIE)を内蔵したUSBフルスピード(12Mbps)の周辺機器コントローラで、低レベルのUSB信号方式の細部に対応しています。

    2. MAX3420Eには、マイクロプロセッサが含まれていますか?
      いいえ。MAX3420Eは、いずれのマイクロプロセッサ、DSP、またはASICとも容易に接続することができるように設計されています。このため、プロセッサやツールセットを交換することなく任意のシステムにUSBを追加することが可能になります。

    3. MAX3420Eはどのようなパッケージで提供されていますか?
      MAX3420Eは、2つのパッケージで提供されています。32ピンTQFP (本体サイズ7mm x 7mm)は、リードありパッケージのため試作作業や短期の生産工程に適しています。24ピンTQFNパッケージ(本体サイズ5mm x 5mmで、パッケージの下にパッドあり)は、小型のデバイスの量産用に理想的です。

    4. MAX3420Eのパッケージは鉛フリーですか?
      はい。

  2. USBに関する質問
    1. MAX3420Eは、どのUSB速度に対応していますか?
      MAX3420Eは、周辺機器としてUSBのフルスピード(12Mbps)動作に対応しています。

    2. MAX3420EはUSBの仕様に適合していますか? どのレビジョンですか?
      MAX3420EはUSB2.0の仕様に適合しており、フルスピード動作に対応しています。

    3. いくつのエンドポイントにMAX3420Eを持っていますか?
      MAX3420Eには、以下の4つのエンドポイントを持っています。
      • EP0 - 双方向CONTROLのエンドポイント。64バイトのFIFO
      • EP1 - OUT BULKまたはINTのエンドポイント。2 x 64バイトのダブルバッファ構造のFIFO
      • EP2 - IN BULKまたはINTのエンドポイント。2 x 64バイトのダブルバッファ構造のFIFO
      • EP3 - IN BULKまたはINTのエンドポイント。64バイトのFIFO
      これらのエンドポイントを用いると、ヒューマンインタフェースデバイス(HID)、マスストレージ、画像転送プロトコル(PTP)、プリンタなど、一般的なUSBクラスのドライバをサポートするUSB周辺機器を構築することができます。

    4. なぜMAX3420Eは、アイソクロナス転送に対応していないのですか?
      アイソクロナス転送は、高速のインタフェースと大容量のバッファを必要とし、そのいずれもが、MAX3420Eの設計目標(いずれの速度でも動作するSPIインタフェースを備えた低コスト製品)と一致しません。アイソクロナスの帯域幅を必要とすると思われるアプリケーションのほとんどは、実際にはバルク転送やインタラプト転送で処理することができます。この理由は、システム内のUSBデバイスで利用可能なアイソクロナスのほとんどの帯域幅は、通常、BULK/INT転送でも利用可能であるからです。

    5. 自己給電の周辺機器でMAX3420Eを使用することができますか?
      もちろん可能です。実際に、MAX3420Eには、特に自己給電のアプリケーションをサポートすることを目的とした機能があります。たとえば、自己給電のアプリケーションでは、デバイスが給電されているUSBポートにいつ接続されたのかを周辺機器が認識する必要があります。MAX3420EのVBCOMP (VBUSコンパレータ)ピンは、VBUSに接続され、プラグイン時の割込み要求(VBUSIRQ)および切断時の割込み要求(NOVBUSIRQ)を提供する内部コンパレータに導かれます。MAX3420Eのもう1つの例として、VBGATE (VBUSゲート)というビットをセットすることによって、VBUSがオフであると検出されたら必ずD+のプルアップ抵抗が自動的に切断されるようにすることが可能です。これは、USBの必須仕様です。

    6. バスパワーの周辺機器でMAX3420Eを使用することができますか?
      はい。バスパワーのアプリケーションでは、3.3Vの電圧レギュレータがUSBコネクタのVBUSピンに接続されています。周辺機器がUSBに接続されると必ず、チップおよびチップを駆動しているSPIマスタに電力が供給されます。したがって、MAX3420のVBCOMPピンをVBUSに接続する必要はありません。この場合は、VBCOMPの入力を追加汎用入力として使用することができます。このピンへの入力信号がMAX3420の電気的特性の表に記載されたスレッショルドの要件を必ず満足しなければなりません。

    7. MAX3420EとUSBを接続するのにどのような外付け回路が必要ですか?
      MAX3420Eは、3.3VのVCC電源を必要とします。バスパワーの周辺機器は、VBUSピンで利用することができる電力(4.4V~5.25V)を3.3Vに変換するための3.3Vレギュレータが必要です。さらに、MAX3420Eは、各ピンからグランドへの負荷コンデンサを備えた外付けの水晶(並列共振、12MHz ±0.25%)、D+/D-出力間の2つの直列抵抗(33Ω、1%)、およびUSB「B」コネクタが必要です。

    8. お勧めの3.3Vレギュレータはありますか?
      MAX6349TLが理想的です。MAX6349TLは、3.3Vで150mAを供給し、MAX3420EのRES#ピンにじかに接続することのできるパワーオンリセット(POR)回路を備えています。USB周辺機器などのホットプラグの設計には、優れた外付けPOR回路が重要となります。

    9. CONNECTビットは何を行うものですか?
      MAX3420Eには、D+ピンとVCCの間に切替え可能な1500Ωの内部プルアップ抵抗があります。CONNECTビットはこの切替えを行います。この切り替えによって、バスパワーの周辺機器が初期化を終えるまでUSBへの接続を遅らせることが可能になります。また、この切替えによって、USBの仕様で規定されているように、VBUSがない場合に、自己給電の周辺機器がプルアップ抵抗からVCCを取り除くことも可能になります。

  3. インタフェースに関する質問
    1. マイクロプロセッサをどのようにしてMAX3420Eに接続しますか?
      マイクロプロセッサは、3、4、または5線式を使用してSPIマスタを実行することによって、MAX3420Eに接続します。マイクロコントローラの中には、ハードウェアSPIを搭載しているものもありますが、多くのマイクロコントローラは搭載していません。搭載していない場合、汎用IOピンをビットバンギングすることによってSPIマスタを容易に実行することができます。

    2. SPIインタフェースは、3、4、または5線式だということですが、どういう意味ですか?
      最小のSPIインタフェースは、3線で構成されています。すなわち、SS# (スレーブセレクト)、SCLK (シリアルクロック)、およびMISO (双方向のMISO/MOSIデータ用に構成)です。このインタフェースは、INTピンを使用しないため、制御マイクロプロセッサは、2つの割込み要求レジスタをポーリングしてMAX3420Eがサービスを要求するタイミングを知る必要があります。

      制御ビットFDUPSPI (フルデュープレクスSPI)をセットすることによって、MOSIとMISOデータに別々のピンが使用され、4線式インタフェースとなります。最後に、INT (割込み出力ピン)をプロセッサの割込みシステムに接続することが可能です。

    3. MAX3420EはどのSPIのクロックモードに対応していますか?
      SPIモードは通常、(x,y)の形式で表されます。変数の1つはクロックの極性CPOLであり、もう1つの変数はクロックの位相CPHAです。MAX3420Eは、モードビットを必要とせずに、(0,0)または(1,1)のモードで動作します。これらのモードの唯一の違いは、非アクティブのSCLKレベルです。すなわち、(0,0)ではロー、(1,1)ではハイになります。MAX3420E SPIインタフェースを動作させるためには、以下の2つの基本的な要件があります。
      • MAX3420Eに提供されるMOSIデータは、SCLKの最初の正エッジより前に有効でなければなりません。
      • SPI入力データはクロックの正エッジでサンプリングされ、出力データはSCLKの負エッジで変化します。
      これらのモードでは留意が必要ですが、一部のマイクロプロセッサのデータシートは(0,0)と(1,1)の規則に従っていません。クロックモードを設定するときには、上記の2点を確認することをお勧めします。また、SPIの波形の例については、MAX3420EのデータシートおよびMAX3420Eプログラミングガイドを参照してください。

    4. CPUは2.5V電源を使用していますが、MAX3420Eは3.3VのVCC電源を使用します。外付けのレベルトランスレータが必要ですか?
      いいえ。MAX3420Eはレベルシフタを内蔵しています。VLピンが内部ロジックに電力を供給し、SPIとIOピン信号のロジックリファレンス電圧として機能します。2.5Vのインタフェースについては、ご使用の2.5V電源をVLピンに接続してください。VLピンは、実際には、1.7V~3.6Vの電圧の範囲で動作します。コントローラが3.3Vを使用する場合、VLをVCCに接続してください。

    5. MAX3420EのINTピンの目的は何ですか?
      INTピンは、MAX3420Eがサービスを要求すると必ずアクティブになります。USB周辺機器の動作中、これには、SETUP、IN、またはOUTのパケットの到着、さらには、バスのリセット、サスペンド、およびレジュームなどのバスのイベントも含まれます。システムでこのピンを使用すると、SPIインタフェースを介して割込み要求ビットをポーリングする必要がなくなるため、SPIのトラフィックが減少します。

    6. MAX3420Eは、アクティブローのワイヤードOR割込みに対応していますか? エッジアクティブの割込みについてはどうですか?
      MAX3420Eは、INTLEVELと呼ばれる制御ビットを使用して両方の割込みタイプに対応しています。INTLEVEL = 1に設定すると、INT出力ピンはオープンドレインとなり、ワイヤードORアプリケーションでアクティブローになります。このモードでは、VLに外付けのプルアップ抵抗が必要となります。INTLEVEL = 0 (デフォルト値)に設定すると、INTピンはプッシュ/プルの出力ドライバによってエッジアクティブになります。エッジモードでは、POSINTと呼ばれる2つ目のビットによってエッジの極性を正または負に設定します。

    7. MAX3420EのSPIインタフェースはどの程度高速に動作させることができますか(SCLKの最大周波数)?
      2.5V以上のVLでは、26MHzまでの周波数でSCLK信号を動作させることができます。より低いVL値では、SCLKの最大周波数がどの程度低下するかがデータシートに示されています。

    8. MAX3420EのSCLK周波数に下限はありますか?
      いいえ。このクロックは無限に高く、あるいは低く設定することができます。またMAX3420Eは、SS#がハイの間、SCLKの遷移を無視します。

    9. 8ピンのマイクロプロセッサを利用しています。このプロセッサのIOピンのうちの5本を使用してMAX3420Eに接続しています。IOはどうすればよいでしょうか?
      MAX3420Eには、4つの汎用出力ピン(GPOUT3-0)と4つの汎用入力ピン(GPIN3-0)があり、IOPINSレジスタR20を使用して設定と読取りを行います。これは、IPSインタフェース実行に使用するマイクロコントローラのピンに置き換わるものであり、さらに追加のピンを提供します。

    10. GPINピンに外付けのプルアップ抵抗を追加する必要がありますか?
      いいえ。GPINピンは、内部でVLにプルアップされています(標準値20kΩ)。

    11. SPIインタフェースピンから光カプラを起動することができますか?
      はい。MAX3420Eの出力は、十分な駆動電流があるため、直列抵抗を通して光カプラLEDを駆動することができます。正確な駆動の仕様についてはデータシートをご覧ください。MAX3420EのSPIインタフェースは、USBを電気的に絶縁するのに極めて適しているため、出力バッファは光アイソレーションを念頭において設計しています。

    12. VBCOMPピンの目的は何ですか? MAX3420Eに電力を供給するのですか?
      いいえ。VBCOMPピンは、MAX3420Eに対してまったく電力を供給していません。VBCOMPピンは、内部コンパレータにのみ接続されてVBUSの有無を検知しています。

  4. プログラミングに関する質問
    1. ファームウェアを使用してどのようにMAX3420Eと通信すればよいですか?
      MAX3420Eには、21のレジスタのセットがあり、スレーブのSPIインタフェースによってアクセスされます。SPIマスタは最初に、レジスタのアドレスと方向を設定するコマンドバイトを送信し、次に1つまたは複数のデータバイトを転送します。

    2. USBのエニュメレーションを処理するのにどのようにMAX3420Eをプログラムすればよいですか?
      MAX3420Eのデバイスは、周辺機器として、ホスト(通常はPC)からの要求に応答するだけです。

    3. BULK IN転送は、どのようにプログラムすればよいですか?
      ホストに送信するデータの準備ができれば、IN FIFOにロードした後、特定のエンドポイントのバイトカウントレジスタに書き込みます。IN FIFOは、64バイトの長さであるため、一度に64バイトまで読み取ることができます。データのロードが終了したら、INエンドポイントのBYTECOUNTレジスタにIN FIFOにロードしたバイト数を書き込みます。バイトカウントレジスタに書き込むことによって、USB転送のエンドポイントが「装備」されたことになります。その後は、MAX3420Eが作業を実施します。デバイスのアドレスと装備されたエンドポイントへの次のIN要求によって、ホストにFIFOデータが送信されます。

    4. ファームウェアがIN FIFOをロードしている間にUSB IN要求が来たらどうなりますか?
      MAX3420Eがこれに対処します。MAX3420Eは、「装備されていない」IN FIFOへのIN要求に対して、自動的にNAK (否定応答)ハンドシェイクで応答します。このハンドシェイクは、エンドポイントがビジーであること、また後で別のIN要求を用いて再試行すべきであることをUSBホストに指示します。

    5. IN FIFOをいつロードすべきかは、どのようにしてわかりますか?
      MAX3420Eは、IN3BAVIRQ、IN2BAVIRQ、およびIN0BAVIRQと呼ばれるINエンドポイントに割込み要求ビットを提供します。「BAV」は「Buffer Available (バッファが利用可能)」であることを示しています。MAX3420Eロジックは、デバイスがリセットされた後、あるいはIN FIFOデータが正常に転送されてホストが肯定応答したときに、INエンドポイントのBAVIRQビットをセットします。パワーオン時に、BAVIRQをセットすることで、最初にIN FIFOがロード用に利用可能であることを示します。これらは、リセットによって1に設定される唯一のレジスタビットであり、他はすべて0に設定されます。

    6. USB転送にエラーがあるとどうなりますか? エラー条件を処理するコードを記述する必要がありますか?
      いいえ。MAX3420Eがこれに対処します。MAX3420Eは、ホストから返送されてきたエラー状態を受信したら、ホストがIN転送を再試行するときに、自動的に同じデータを再送します。MAX3420Eは、データトグルなどの他のエラーチェックも自動的に処理します。予想されるいくつかのUSBエラー(データ転送中にユーザがケーブルを引き抜くなど)は、ファームウェアで処理する必要があります。

    7. BULK OUT転送は、どのようにプログラムすればよいですか?
      ホストがOUTデータを送信するとき、MAX3420Eは、OUTエンドポイントFIFOにバイトを格納します。転送が完了し、エラーのないことを確認すれば、MAX3420Eは、特定のエンドポイントの「DAV」(データ利用可能)割込み要求ビットをアサートします。これによって、SPIコントローラにFIFOバイトの読取りを通知します。SPIコントローラは最初に、OUT FIFOのバイトカウントレジスタを読み取って64バイトのFIFOのうちの何バイトが有効であるかを確認します。次に、OUTFIFOレジスタを繰り返し読み取ることによってそのバイト数を読み取ります。最後にSPIコントローラは、OUT DAV IRQビットを(このビットに1を書き込むことにより)無効にし、他のOUT転送のエンドポイントを「再装備」します。

    8. インタラプト転送についてはどうですか?
      インタラプト転送は、バルク転送と同様にプログラムすることができます。これらの違いは、エニュメレーションの間にホストに返送されるデバイス記述子での記述方法だけです。

    9. SETUP転送は、どのようにプログラムすればよいですか?
      USBホストは、コントロール転送を使用して、SETUPパケットをUSBの「演算コード」として機能する8バイトとともにMAX3420Eに送信します。MAX3420Eは、これらのバイトを8バイトのFIFOに格納し、次にSetupデータ利用可能の割込み要求をアサートします。SPIマスタは、レジスタアドレスのR4 (SUDFIFO)で8バイトのSETUPを読み取って、これらのバイトからUSBの要求を理解し、さらに適切な処置を施すことによって応答します。要求への対応が終了すると、USPIのマスタはACKSTAT (肯定応答を表すACK + ステータスステージを表すSTAT)と呼ばれるビットをセットし、コントロール転送のステータスステージに肯定応答するよう、MAX3420Eに指示します。

    10. USBのデータトグルをプログラムする必要がありますか?
      いいえ。MAX3420Eが、USB転送の間にこれらのトグルを自動的に処理します。ファームウェアが介入する可能性があるとすれば、マルチ構成の設計でホストが新しい構成を設定するときのみです(これはまれなことです)。MAX3420Eには、この目的のためにエンドポイントのトグルをクリアするレジスタビットがあります。

    11. MAX3420Eの割込み要求ビットに「1」を書き込むことによってMAX3420Eの割込み要求ビットをクリアすることができます。これは逆ではありませんか?
      最初は逆に感じるかもしれませんが、これがレジスタビットをクリアする最も効率の良い方法です。標準の割込み要求に対応するには、SPIマスタは、割込み要求レジスタ(USBIRQまたはEPIRQのいずれか)を読み取り、さまざまなビットマスクを使用してチェックし、割込みのソースを特定します。たとえば、SUDAVIRQ割込み要求をテストするには、ファームウェアでR11 (EPIRQ)を読み取り、その結果と00100000とのANDをとります(SUDAVIRQビットはビット5の位置にあります)。通常プログラムは、bmSUDAVのようなラベルを0010000と同等と見なします。IRQビットが1であることが検出されると、ファームウェアは単純にマスク値をレジスタに書き込んで(SUDAVIRQ = bmSUDAV)、目的のビットのみがクリアされます。0が書かれたIRQビットはそのまま変更されません。

    12. プログラミングのヒントはありますか?
      SPIのフルデュープレクスモードを使用するときには、その後のアクセスでインタフェースを正しく設定することができるようにするため、最初のレジスタのアクセスで、FDUPSPIビットを1にセットする必要があります。

  5. ホストプログラムの質問
    1. Windows®のアプリケーションは、どの様にしてMAX3420Eと通信するのですか?
      Windowsのアプリケーションは、ドライバを通じてPCのUSBホストコントローラと通信します。ドライバは、Windowsに組み込まれている場合もあればカスタムの場合もあります。Windowsは、ヒューマンインタフェースデバイス(HID)やマスストレージデバイスなど、標準デバイスクラスのドライバを内蔵しています。ファームウェアがこれらの標準クラスの1つをサポートしている場合は、お客様がカスタムドライバをロードする必要はありません。

      Windowsに内蔵の標準デバイスクラスのいずれにも準拠しないデバイスを設計する場合、エンドユーザは、最初にUSBデバイスを接続したときに、カスタムドライバをインストールする必要があります。

    2. Maximはカスタムドライバを提供してくれますか?
      いいえ。

    3. イグザンプルコードとして何を提供してくれますか?
      マキシムのウェブサイトの「MAX3420EのUSBエニュメレーションコード(およびその他)」にHIDアプリケーションを実装する場合のCのイグザンプルコードが用意されています。このイグザンプルコードはPCキーボードをエミュレートしており、押しボタンを押すと、テキストに対応しているWindowsアプリケーション(たとえばメモ帳)にテキスト文字列を入力します。標準のHIDクラスに準拠することで、アプリケーションはカスタムのWindowsドライバなしに動作します。ターゲットのアプリケーションとは関係なく、このイグザンプルコードのほとんどは、コードの開始点として使用することのできるUSBの「ボイラープレート」です。

    4. MAX3420EをWindowsのクラスに適合しないデバイスとして使いたいのですが、Windowsドライバとして何を使えばよいでしょうか?
      次の2つの選択肢があります。
      • 自分でWindowsドライバを記述する。これは複雑で難しいため、専門家以外にはお勧めしません。
      • 汎用ドライバを購入する。これは通常、USBドライバと、そのドライバにアクセスするためのCのコンパニオンライブラリ関数から構成されています。ドライバは、デバイス記述子内のVID (ベンダID)とPID (製品ID)に適合します。
      Microsoftは、次期Windowsバージョンの「Vista」で使用する、USB用の汎用BULKドライバを発表しています。

    5. USBのシリアルブリッジチップとMAX3420Eはどう違いますか?
      USBシリアルブリッジチップは、USBポートを使用してPCに接続されますが、PC上で動作するアプリケーションにとっては仮想COMポートとして表示されます。チップベンダが供給するカスタムドライバが、COM-USBの変換を実行するために必要となります。シリアル(COM)ポートと通信するWindowsアプリケーション(たとえばハイパーターミナル)を使用すれば、この方法を使用してUSB接続のデバイスと通信することができます。

      この手法の優位点は、エニュメレーションファームウェアやホストドライバが不要であるということです。劣る点は、以下に示すように、性能、柔軟性、およびサポートにあります。
      • 性能:ブリッジ手法は、シリアルポートをエミュレートしており、達成可能な最大帯域幅は約1メガビット/秒です。これは、12メガビット/秒のUSB信号送出レートをはるかに下回るものです。
      • 柔軟性:シリアル-USBブリッジチップは、シリアルポートのデバイスをエミュレートするためにハードウェアに組み込まれています。標準のWindowsクラスのデバイス(HIDなど)やカスタムデバイスタイプを実装することはできません。
      • サポート:このようなチップの1つを使用して設計した製品では、お客様がコンパニオンドライバをインストールする必要があります。これはカスタムドライバであるため、将来のオペレーティングシステムのバージョンで動作する保証はありません。この手法を選択した場合、設計した製品寿命の全体にわたってベンダがドライバのサポートを約束しているかどうかを確認するようにしてください。

    6. MAX3420Eの優位点、劣る点は何ですか?
      劣る点は、MAX3420Eのコントローラ用にファームウェアが必要であるということ、またマキシムはカスタムのWindowsドライバを供給しないということです。この代わりに、マキシムは、標準Windowsデバイスクラス(HID)に準拠する方法、およびこれによって内蔵のWindowsドライバを使用する方法を示したファームウェア例を供給しています。

      MAX3420E手法の有利な点は、性能、柔軟性、およびサポートです。
      • 性能:MAX3420EのSPIポート(コントローラへのインタフェース)は、最大26MHzまで動作可能です。コントローラがSPIの高クロックレートをサポートしている場合、MAX3420Eは、利用可能な最大フルスピード帯域幅である12MbpsのUSB転送をサポートすることができます。
      • 柔軟性:MAX3420Eを使用したデバイスの特性は、完全にそのファームウェアによって決定されます。したがって、いずれのタイプのUSBデバイスも実装することが可能です。
      • サポート:オペレーティングシステムが一般USB (BULK)転送をネイティブでサポートすることになれば、シリアルUSBブリッジチップの必要性は急激に減少することになるでしょう。

  6. その他の質問
    1. ファームウェアで、チップのレビジョンを判断することができますか?
      はい。読取り専用レジスタR18にレビジョン番号が格納されています。

    2. MAX3420Eの現行のレビジョンレベルは何ですか?
      最新データシートおよび正誤表についてはMAX3420EのQVを参照してください。