歩き遍路 平成19年春(J1) 記録の準備

USB Protocol( 3)
  FT-232Hのエニュメレーション完了を検出


 USBホストから最大500mAの電源が供給される。しかし、いつでも最大電流を利用出来るのではない。
 最大の電流を利用するには、「これだけの電流を下さい」と申請して、許可を得てからしか利用できない。
 最大電流を利用するには、「これだけの電流を下さい」とエニュメレーション中で申請して、正常にエニュメレーションが終了すると、申請した電流が利用できるようになる。
 正常にエニュメレーションが終了したことは、USBホストから「SET_CONFIGURATION」デバイスリクエストが送られてくるので、これを検出することで知ることができる。

●FT-232Hのエニュメレーション完了を検出するには

 FT-232Hのエニュメレーション完了は、「PWREN#」信号を検出するとよい。
 「PWREN#」信号は、オプション扱いなので、FT-232HにEEPROMを外付けして、FT_PROGを使って設定する必要がある。データシートには「PWREN#」信号の説明は、一行しかないので長い間見過ごしていました。
 データシートの「PWREN#」信号の説明は、「ConfiguredでLow」とあるので確認しました。

  年寄りの愚痴:FTDI社の資料について延々と不親切だと愚痴を言いたい。愚痴を書くのがいやなのでこれだけにする。

 

●USBのエニュメレーション動作

 
 USB規格でエニュメレーションを調べると次の様なことが判ります。

 エニュメレーションの処理フローを見ると、接続から逐次設定されていきます。設定完了は、SET_CONFIGURATIONが正常に完了した時点です。SET_CONFIGURATIONは、処理フローの下に示したフォーマットです。
 
 FT-232Hの「PWREN#」信号は、これと同期しているのか、関係を確かめてみましょう。




●「PWREN#」信号をFT_PROGで設定

 
 「PWREN#」信号をFT_PROGを使って、「ACBUS8」端子に設定しました。






●FT-232Hのエニュメレーション完了を調べた構成

 
 FT-232Hのエニュメレーションは、ロジックスコープを使って調べました。 
 




 あいにくと、FT-232Hから「PWREN#」信号を引き出して無かったので得意の(?)ジャンパー配線をしました。



    

●FT-232Hのエニュメレーション完了を調べました

 FT-232Hは、ハイスピードで動作するのですが、測定器の都合でフルスピードにして調べました。
 
 最上部の画像は、倍率1で全体を表示しています。上の波形は「PWREN#」信号、真中の波形は「D+」信号、下の波形はトリガーの都合で「PWREN#」を遅らせた信号です。
 「T」位置は、トリガー位置です。

 「T」位置の右は、「PWREN#」信号がローになっているのでT-232Hのエニュメレーションは完了になっています。すなわち、最大の電流が利用出来る状態です。

 「T」位置の左の「D+」信号を詳しく調べてみます。「SET_CONFIGURATION」でしょうか。
 信号が細かいので、倍率を変えたり、一部しか記録してませんが、最下部の画像に示すような「SET_CONFIGURATION」が確認できます。







ホームへ戻る