このページの本文へ移動

USB

FAQ

このページには、弊社のサポート部門によって処理されたよくある質問とそれに対する回答、および役立つヒントなどが記載されています。

  1. ベンダーID及び、プロダクトIDはどのように取得するのですか?
  2. USBのRevisionで1.0と1.1の相違点は何ですか?
  3. MB89580B/BWseriesのEndpoint容量はどのように設定できますか?
  4. MB89580B/BWseriesのRAM上に確保する各Endpointのバッファサイズは8byteまたは64byteに固定ですが、外部FIFOを使う場合も確保されてしまうのですか?
  5. Pkendビットは、IN/OUT方向を問わず、データ転送フェーズ(0byteのデータ転送を含む)がある度に、セットされますか?
  6. データのシーケンスビットのトグルは、データ送信側が有効なACKハンドシェイクを受信したときですが、ACKを受信したのはどのようにして判断しますか?
  7. OTPマイコンへの書込み方法を教えて下さい。
  8. USBはエニュメレーション後、ファンクションのアドレスがホストから一意に決定されますが、そのアドレスをセットするレジスタはありますか?
  9. コントロール転送において、ステータス・ステージへの切換えは、ホストから逆方向のトークンを受信したときですが、MB89580B/BWseriesでは、どのようにして認識するのですか?
  10. コントロール転送のステータス・ステージで、ファンクションからホストへデータ(0バイト)を送りたいのですが、0バイトのデータを送る機能はあるのですか。
  11. インタラプト転送において、トークン・パケット(IN)を出すタイミングはどうなっていますか?
  12. MB89580B/BWは、USB Revision 1.0に対応していますが、バルク転送において1フレームに複数のデータ・パケット通信することは可能ですか。
  13. ハブにファンクションが接続されたとき、ハブはどのようにしてホストへ通知するのですか?
  14. ハブはホストから送信されたフレーム全てをファンクションに送信するのですか。
  15. ハブに新たなファンクションが接続された場合、バスリセットが生成されると思いますが、そのとき、既に接続されている全てのファンクション対してバスリセットは生成されるのですか?
  16. USBウェイクアップ(WKUP)ビットがセットされるのは、いつですか?
  17. Set Futureコマンドを受信しないとRESUMEビットをセットしても、ファンクションからウェイクアップさせることはできないのでしょうか?

1. ベンダーID及び、プロダクトIDはどのように取得するのですか?

ID取得のためにはadmin@usb.orgへEメールを送る必要があります。
(参考サイト: How do I get a USB VID, TID and PID? [USB Implementers Forum, Inc.] )

2. USBのRevisionで1.0と1.1の相違点は何ですか?

主な違いはUSB1.1にて新にインタラプト転送のOUT方向がサポートされるようになりました。そのほかほとんどは、電気的な規格の明確化や修正です。詳細に付きましては、下記のURLをご参照願います。
(URL: ZIPUSB Plus Presentation(857KB) [USB Implementers Forum, Inc.])

3. MB89580B/BWseriesのEndpoint容量はどのように設定できますか?

MB89580B/BWシリーズのEndpointの容量設定は以下の通りです。

  • EndPoint0: Control転送用 8/64 byte
  • EndPoint1: ISO、BULK、INT転送用 8/64/1023 byte
  • EndPoint2: ISO、BULK、INT転送用 8/64/1023 byte
  • EndPoint3: ISO、BULK、INT転送用 8/64 byte

各EndPointは上記の設定が可能です。また、1023byteはEndpoint1、2のみ外部FIFOにて対応可能です。

4. MB89580B/BWseriesのRAM上に確保する各Endpointのバッファサイズは8byteまたは64byteに固定ですが、外部FIFOを使う場合も確保されてしまうのですか?

通常のRAMとして使用可能な領域を心配されているのでしたら、BFS=1の場合、エンドポイント1はベースアドレスで設定したアドレス+64バイトからバッファされ、エンドポイント2はさらに+64バイトからとなります。しかし、外部FIFOを指定した場合1と2はアクセスにいかないので通常のRAMとして使用可能です。また、BFS=1を指定したからといって、例えば、MAX16バイトしか使用しないのであるならば、残りの48バイトは通常のRAMとして使用可能です。

5. Pkendビットは、IN/OUT方向を問わずに、データ転送フェーズ(0byteのデータ転送を含む)がある度に、セットされますか?

下記ステージでPkendがセットされます。
(USB標準(自動応答)コマンドを受信した場合、コントロール転送のデータ・ステージとステータス・ステージではPkendはセットされません)

  • コントロール転送のセットアップ・ステージ
  • コントロール転送のデータ・ステージ
  • コントロール転送のステータス・ステージ (0バイトのデータ転送)
  • バルク、アイソクロナス、インタラプト転送のデータ・ステージ

6. データのシーケンスビットのトグルは、データ送信側が有効なACKハンドシェイクを受信したときですが、ACKを受信したのはどのようにして判断しますか?

データのシーケンスビットのトグルはハードにて自動で行いますのでファームでの処理は必要有りません。送信データの正常転送確認ですが、これは、MB89580B/BWseriesがホストにデータ転送する場合は、USTR1レジスタの“PKEND”ビットがたった時に“NACK”ビットが立っていない状態で判断します。(ホストがNACK応答だった場合、この“NACK”ビットは“1”となります)

7. OTPマイコンへの書込み方法について教えて下さい。

対応のROMライタ用アダプタとデバイスプログラマーは下記の通りです。

アダプタとデバイスプログラマー一覧表

パッケージ名称 アダプタ デバイスプログラマー
サンハヤト(株) ミナト
エレクトロニクス(株)
フラッシュサポートグループ(株)
FTP-64P-M03
(0.5mmピッチ)
ROM2-64LQF-32DP-8LA Model 1890A
+OU910(Ver 4.32r)
AF9708
(ver1.60以上)
AF9709
(ver1.60以上)
AF9723
(ver1.5以上)
FTP-64P-M09
(0.65mmピッチ)
ROM2-64QF2-32DP-8LA2

[補足]

Model 1890Aは、OU-910(MOS UNIT)Ver 4.32r以上でML01-781(3V基板)と上記適合アダプタにて対応しております。なお、Model 1890Aライタは終息しました。
今後はModel 1881にて対応していく予定(現状は未定)です。ご購入の際には、ミナトエレクトロニクス様へご確認ください。なお、Model 1890Aライタのサポートは今後も行われる予定です。

問い合わせ先一覧表

問い合わせ先
サンハヤト(株) Tel: 03-3986-0403
ミナトエレクトロニクス(株) Tel: 045-591-5611
フラッシュサポートグループ(株) Tel: 053-428-8383

書込み手順は下記のファイルをご参照ください。

PDF Model 1890AライタによるF2MC-8L NEW OTPへのプログラム書き込み方法 (PDF: 82KB)

PDF AF9708/AF9709ライタによるF2MC-8L NEW OTPへのプログラム書き込み方法 (PDF: 43KB)

8. USBはエニュメレーション後、ファンクションのアドレスがホストから一意に決定されますが、そのアドレスをセットするレジスタはありますか?

USBハード部にてアドレスは保持され、アドレスセットされた以降は、ハードが自動で自分宛へのアドレスかチェックし、自分宛でなければ何も行いません。ファームはアドレスセットコマンドで受信されたトークンパケットのアドレス設定データ(DMAでRAMに転送される)を見ることでホストからいくつにアドレスがセットされたか認識できます。但し、ハードにてアドレスを保持し、解釈していますのでファームはチェックする必要は有りません。

9. コントロール転送において、ステータス・ステージへの切換えは、ホストから逆方向のトークンを受信したときですが、MB89580B/BWではどのようにして認識するのですか?

MB89580B/BWseriesも上記の逆方向トークンを受信した場合にステータス・ステージに移行したことを判断します。これら一連のパケットの送受信はファーム(USTR2の“DIR”ビット)にて解釈する必要があります。

10. コントロール転送のステータス・ステージで、ファンクションからホストへデータ(0バイト)を送りたいのですが、0バイトのデータを送る機能はあるのですか?

MB89580B/BWseriesからの0バイトの送信は可能です。ステータス・ステージのINトークンのためにEndPoint0の送信バイトカウント(TDCR0)を“0”に設定して、転送許可“BFOK 0”をセットして置きます。また、SETUPトークンに続くデータ・ステージがINトークンの場合、ステータス・ステージはOUTトークンですが、この時はUSTR2のSPKビットが“1”となり、受信バイトカウンタは“0”になります。

11. インタラプト転送において、トークン・パケット(IN)を出すタイミングはどうなっていますか?

インタラプト転送については、何msに1回転送が有るか、ディスクリプタの設定によりデバイス側で指定できます。

12. MB89580B/BWseriesは、USB Revision 1.0に対応していますが、バルク転送において1フレームに複数のデータ・パケット通信することは可能ですか?

USB Revision 1.0においてもバルク転送で1フレームに複数のデータ・パケット通信することは可能です。

13. ハブがファンクションに接続されたとき、ハブはどのようにしてホストへ通知しますか?

ホストは常にハブのステータスをポーリングしています(Interrupt Pipe)。したがって、ハブは下流にファンクションが繋がったことを、このパイプを通してホストに通知します。

14. ハブはホストから送信されたフレーム全てをファンクションに送信するのですか?

Full Speedファンクションに対して、データは垂れ流しです。Low Speed転送の場合、ホストが転送前に「プリアンブル」というPIDを送信します。ハブはこのパケットを受信した後、次の通信をLow Speedファンクションに転送します。

15. ハブに新たなファンクションが接続された場合、バスリセットが生成されると思いますが、そのとき、既に接続されている全てのファンクションに対してバスリセットは生成されるのですか?

ホストがハブに対して、新たに接続されたポートへのみリセットコマンドを発行します。ハブはそのポートへのみバスリセットを生成します。したがって、他のファンクションには影響ありません。

16. USBウェイクアップ(WKUP)ビットがセットされるのは、いつですか?

レジューム (非アイドル)信号を検出したタイミングでWKUPビットはセットされます。

17. Set Futureコマンドを受信しないとRESUMEビットをセットしても、ファンクションからウェイクアップさせることはできないのでしょうか?

USB仕様の通り、ホストよりSet Futureコマンドを受信してリモートウェイクアップが許可されない限り、マイコンのレジスタでレジュームさせようとしても、レジュームさせることはできません。この機能は、ハードウェアで制御されています。