| SS | ・・・ |
チップセレクト |
|---|---|---|
| MOSI | ・・・ | Master Out Slave In |
| MISO | ・・・ | Master In Slave Out |
| SCK | ・・・ | クロック |
| VIN | ・・・ | 3.3V入力 ホストシールドは3.3V駆動 |
| GND | ・・・ | GND MCUボードのGNDに接続する |
| RAW | ・・・ | ArduinoProMini用LDO入力ピン |
| RST | ・・・ | Reset Pin Lowで初期電源オン状態にリセット |
| GND | ・・・ | GND MCUボードのGNDに接続する |
| SS Reset | ・・・ | ボード変更ジャンパー用 |
| MAX Reset | ・・・ | ボード変更ジャンパー用 |
| GPX | ・・・ | 未使用 |
| INT | ・・・ | MAX3421E用割り込みピン |
| VBUS | ・・・ | デフォルトで3.3Vに接続。切り離して5V供給用 |
| HOST−SHIELD | R8C/M12A | |
|---|---|---|
| 1 | VCC | 3.6 |
| 2 | GND | GND |
| 3 | SCK(クロック端子) | p3_4(出力) |
| 4 | MOSI(データ入力端子) | p3_7(出力) |
| 5 | MISO(データ出力端子) | p3_5(入力) |
| 6 | SS(チップセレクト) | p3_3(出力) |
| 7 | RST(リセット) | p4_7(出力) |
| 8 | INT | p4_6(入力) |
| FT231X(TXD0) | p1_4 | |
| FT231X(RXD0) | p1_5 |

| ディスクリプタ名 | 長さ | 概要 |
|---|---|---|
| デバイス・ディスクリプタ | 18 | ベンダーID、プロダクトID等、機器を識別するための情報です |
| コンフィグレーション・ディスクリプタ | 9 | ターゲットのUSB構成情報で、インターフェースディスクリプタの数を持ちます |
| インターフェース・ディスクリプタ | 9 | インターフェイスの情報で、インターフェースが持つエンドポイントディスクリプタの数を持ちます |
| エンドポイント・ディスクリプタ | 9 | 通信用のポートであるエンドポイントの情報です。使用するエンドポイントの個数分だけ必要です |
| 転送モード | コントロール転送 | バルク転送 | インタラプト転送 | アイソクロナス転送 |
|---|---|---|---|---|
| 特徴 | 半二重通信 | 大容量データ一括転送 | 小容量定周期転送 | 一定時間内のデータ量保証転送 |
| 用途 | セットアップ、設定パラメータ転送 | 記憶装置、スキャナなどの大容量高速転送 | 計測などのデータ転送 | 音声などのリアルタイム転送 |
| 転送速度 | 12Mbps | 12Mbps | 12Mbps | 12Mbps |
| 転送周期 | 不定 | 不定 | N msec | 1 ms/フレーム |
| デバイスクラス名 | クラスコード | デバイス例 |
|---|---|---|
| 未定義 | 0x00 | デスクリプタで決定する |
| Audio | 0x01 | オーディオ機器、MIDIデータ |
| CDC(Communication Data Class) | 0x02 | シリアル通信機器 |
| HID(Human Interface Devices) | 0x03 | マウス、キーボード |
| Image | 0x06 | スキャナ他 |
| MTP(Media Transfer Protocol) | 0x06 | Imageと共有 |
| Printer | 0x07 | USB接続プリンター |
| MSC(Mass Storage Class) | 0x08 | ハードディスク、USBメモリ |
| CCID(Chip/Smart Card Interface Devices | 0x0B | USBハブ |
| UVC(USB Video Class | 0x0E | ビデオカメラ、テレビ |
| PHDC(Personal Health Device Class) | 0x0F | 血圧計、万歩計 |
| Wireless Controller | 0xE0 | Bluetoothなど |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| Reg4 | Reg3 | Reg2 | Reg1 | Reg0 | 0 | 1=WR 0=RD | ACKSTAT |
|---|
| MSB | LSB |
|---|
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| FDUPSPI | INTLEVEL | POSINT | GPXB | GPXA |
|---|
| MSB | LSB |
|---|
| コマンドバイトでR17を指定 | ・・・ |
10001 + 010(0x8a) |
|---|---|---|
| FDUPSPIビット(b4)を指定 | ・・・ | 0001 0000(0x10) |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| CHIPRES | PWRDOWN | CONNECT | SIGRWU | 0 | 0 |
|---|
| MSB | LSB |
|---|
| コマンドバイトでR15を指定 | ・・・ |
01111+010(0x7a) |
|---|---|---|
| CHIPRESビット(b5)を指定 | ・・・ | 0010 0000(0x20) |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| DPPULLDN | DMPULLDN | DELAYISO | SEPIRQ | SOFKAENAB | HUBPRE | LOWSPEED | HOST |
|---|
| MSB | LSB |
|---|
| コマンドバイトでR27を指定 | ・・・ |
11011+010(0xda) |
|---|---|---|
| HOSTビット(b0)を指定 | ・・・ | 00000001(0x01) |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| SNDTOG1 | SNDTOG0 | RCVTOG1 | RCVTOG0 | SIGRSM | SAMPLEBUS | FRMRST | BUSRST |
|---|
| MSB | LSB |
|---|
| コマンドバイトでR29を指定 | ・・・ |
11101+010(0xea) |
|---|---|---|
| BUSRSTビット(b0)を指定 | ・・・ | 00000001(0x01) |
| コマンドバイトでR29を指定 | ・・・ |
11101+010(0xea) |
|---|---|---|
| SAMPLEBUSビット(b2)を指定 | ・・・ | 00000100(0x04) |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| JSTATUS | KSTATUS | SNDTOGRD | RCVTOGRD | HRSLT3 | HRSLT2 | HRSLT1 | HRSLT0 |
|---|
| MSB | LSB |
|---|
| コマンドバイトでR31を読み取り指定 | ・・・ |
11111+000(0xf8) |
|---|---|---|
| JSTATUSビット(b7)を読み取る | ・・・ | 0かどうかをチェック |
| KSTATUSビット(b6)を読み取る | ・・・ | 0かどうかをチェック |
| LOWSPEED | JSTATUS | KSTATUS | D+ | D- |
|---|---|---|---|---|
| 0 | 0 | 0 | H | L |
| 0 | 1 | 1 | L | H |
| 1 | 0 | 0 | L | H |
| 1 | 1 | 1 | H | L |
| コマンドバイトでR25を指定 | ・・・ |
11001+010(0xea) |
|---|---|---|
| FRAMEIRQビット(b6)を指定 | ・・・ | 01000000(0x40) |
| 8: | #define | rEP0FIFO | 0<<3 |
|---|
| 9: | #define | rEP1OUTFIFO | 1<<3 | ||
|---|---|---|---|---|---|
| 10: | #define | rEP2INFIFO | 2<<3 |
| 16: | #define | rEP3INBC | 8<<3 | ||
|---|---|---|---|---|---|
| 17: | #define | rEPSTALLS | 9<<3 |
| 20: | #define | bmACKSTAT | 0x40 |
|---|
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| 0 | ACKSTAT | STLSTAT | STLEP3IN | STLEP2IN | STLEP1OUT | STLEP0OUT | STLEP0IN |
|---|
| MSB | LSB |
|---|
| 28: | #define | rCLRTOGS | 10<<3 |
|---|
| 30: | #define | bmEP3DISAB | 0x80 | ||
|---|---|---|---|---|---|
| 31: | #define | bmEP2DISAB | 0x40 | ||
| 32: | #define | bmEP1DISAB | 0x20 | ||
| 33: | #define | bmCTGEP3IN | 0x10 | ||
| 34: | #define | bmCTGEP2IN | 0x08 | ||
| 35: | #define | bmCTGEP1OUT | 0x04 |
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
|---|
| URESDNIRQ | VBUSIRQ | NOVBUSIRQ | SUSPIRQ | URESIRQ | BUSACTIRQ | RWUDNIRQ | OSCOKIRQ |
|---|
| MSB | LSB |
|---|



| コード(16進) | 名称 | バイト |
|---|---|---|
| 00 | TEST UNIT READY | 6 |
| 01 | REWIND | 6 |
| 03 | REQUEST SENSE | 6 |
| 04 | FORMAT | 6 |
| 05 | READ BLOCK LIMITS | 6 |
| 07 | REASSIGN BLOCKS | 6 |
| 07 | INITIALIZE ELEMENT STATUS | 6 |
| 08 | READ(6) | 6 |
| 0A | WRITE(6) | 6 |
| 0B | SEEK(6) | 6 |
| ・・・ | ・・・ | ・・・ |
| 12 | INQUIRY | 6 |
| ・・・ | ・・・ | ・・・ |
| 25 | READ CAPACITY | 6 |
| ・・・ | ・・・ | ・・・ |
| ・・・ | ・・・ | ・・・ |





| JSTATUSビット(b7)を読み取る | ・・・ | 0かどうかをチェック |
|---|
| KSTATUSビット(b6)を読み取る | ・・・ | 0かどうかをチェック |
|---|