140
ATmega8U2/16U2/32U2
■ ビット1 - ALLOC : エンドポイント メモリ割り当て (Endpoint Allocation Bit)
このビットへの1書き込みは選択したエンドポイントに対して指定したメモリ量(エンドポイント容量×バンク数)の割り当てを許します。このビットへ の0書き込みは選択したエンドポイントに対して先に割り当てたメモリの開放を許します。
より多くの詳細については128頁の「エンドポイントの活性化(有効設定)」項をご覧ください。
■ ビット0 - Res : 予約 (Reserved)
このビットは予約されており、常に0として読めます。
21.19.6. エンドポイントX状態0レジスタ (USB Endpoint X Status 0 Register) UESTA0X
CFGOK OVERFI UNDERFI - DTSEQ1 DTSEQ0 NBUSYBK1 NBUSYBK0
7 6 5 4 3 2 1 0
ビット
UESTA0X ($EE)
R R
R R
R R/W
R/W R
0 0
0 0
0 0
0 0
Read/Write 初期値
■ ビット7 - CFGOK : 形成状態フラグ (Configuration Status Flag)
このフラグは選択したエンドポイントのエンドポイント容量(EPSIZE)とバンク数(EPBK)が最大FIFO容量に正しく対照された時にハードウェアによっ て設定(1)されます。このビットは割り当て(ALLOC)ビットが設定(1)される時に更新され、選択したエンドポイントに対してUSB制御器が正し いメモリ量を割り当てられない場合、このフラグが解除(0)されます。
このビットが解除(0)されている場合、使用者は正しいEPSIZEとEPBK値でエンドポイント形成1(UECFG1X)レジスタを再設定すべきです。
■ ビット6 - OVERFI : オーバーフロー異常割り込み要求フラグ (Overflow Error Interrupt Flag)
このフラグは等時(Isochronous)エンドポイントでオーバーフロー異常が起きた時にハードウェアによって設定(1)されます。このOVERFIフラグは流 れ異常割り込み許可(FLERRE)ビットが設定(1)されている場合に"USBエンドポイント割り込み"を生成することができます。このビットへの0 書き込みは割り込み元の受け取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは 無効です。
より多くの詳細については131頁の「等時(Isochronous)動作」をご覧ください。
■ ビット5 - UNDERFI : アンダーフロー異常割り込み要求フラグ (Underflow Error Interrupt Flag)
このフラグは等時(Isochronous)エンドポイントでアンダーフロー異常が起きた時にハードウェアによって設定(1)されます。このUNDERFIフラグは流 れ異常割り込み許可(FLERRE)ビットが設定(1)されている場合に"USBエンドポイント割り込み"を生成することができます。このビットへの0 書き込みは割り込み元の受け取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは 無効です。
より多くの詳細については133頁の「等時(Isochronous)動作」をご覧ください。
■ ビット4 - Res : 予約 (Reserved)
このビットは予約されており、常に0として読めます。
■ ビット3,2 - DTSEQ1,0 : 交互データ番号フラグ (Data Toggle Sequencing Flag)
これらのフラグは表21-4.で示されるように現在のバンクのPIDデータを示すためにハードウェ アによって設定されます。
OUT転送に対して、この値は現在のバンクで受信した最後の交互データ番号を示しま す。IN転送に対して、この値は送るべき次パケットに対して使用されるべき交互データ番 号を示します。これは現在のバンクと無関係です。
表21-4. DTSEQ1,0フラグの意味
0 0 DATA0
21.19.7. エンドポイントX状態1レジスタ (USB Endpoint X Status 1 Register) UESTA1X
- - - CTRLDIR CURRBK1 CURRBK0
7 6 5 4 3 2 1 0
ビット
UESTA1X ($EF)
R R
R R
R R
R R
0 0
0 0
0 0
0 0
Read/Write 初期値
■ ビット7~3 - Res : 予約 (Reserved)
これらのビットは予約されており、常に0として読めます。
■ ビット2 - CTRLDIR : 制御転送方向 (Control Direction)
このフラグは設定(SETUP)パケットが受信された時にUSB制御器によって設定更新されます。このフラグは後続するパケットの方向を与える ので、デバッグ目的に使用できます。このフラグからの1読み込みは後続するパケットがIN要求用で、0読み込みは後続するパケットがOUT 要求用であることを意味します。
■ ビット1,0 - CURRBK1,0 : 現バンク番号 (Current Bnak)
これらのフラグは表21-6.で示されるように選択したエンドポイントで使用されている現在の バンク番号を示すためにハードウェアによって設定されます。これらのフラグは制御エンドポイ ントに関係しません(制御エンドポイントは2重バンク形態に設定できません)。これらのフラグ はデバッグ目的に使用でき、2重バンク形態のエンドポイントでのデータ転送に対する任意機 能です。
表21-6. CURRBK1,0フラグの意味
0 0 バンク0
CURRBK1 CURRBK0 現バンク番号
0 1 バンク1
1 0 (予約)
1 1
21.19.8. エンドポイントX割り込み要求レジスタ (USB Endpoint X Interrupt Register) UEINTX
FIFOCON NAKINI RWAL NAKOUTI RXSTPI RXOUTI STALLEDI TXINI
7 6 5 4 3 2 1 0
ビット
UEINTX ($E8)
R/W R/W
R/W R/W
R/W R/W
R/W R/W
0 0
0 0
0 0
0 0
Read/Write 初期値
■ ビット7 - FIFOCON : FIFO制御 (FIFO Control Bit)
このビットはソフトウェアによって0を書くことだけができます。このビットへの1書き込みは無効です。このビットの動きは選択したエンドポイントの 方向に依存します。
・ OUTと制御(CONTROL)エンドポイントに対して :
このフラグは新規OUTメッセージが現在のバンク内に格納された時にUSB制御器によって設定(1)されます。この状況に於いてOUTデータ 受信割り込み要求(RXOUTI)またはSETUP受信割り込み要求(RXSTPI)のフラグも同時に更新されます。このビットへの0書き込みは現 在のバンクを開放して次のバンクに切り替えます。
・ INエンドポイントに対して :
このフラグは現在のバンクが空で次のデータ バイトを格納できる時にUSB制御器によって設定(1)されます。この状況に於いて送信可割り 込み要求(TXINI)フラグも同時に更新されます。このビットへの0書き込みはFIFO内容を送信して次のバンクに切り替えます。
■ ビット6 - NAKINI : IN受信否定応答割り込み要求フラグ (NAK IN Received Interrupt Flag)
このフラグはホストからのIN要求の応答で否定応答(NAK)ハンドシェークが送られた時に設定(1)されます。このNAKINIフラグはIN受信否定 応答割り込み許可(NAKINE)ビットが設定(1)されているなら、"USBエンドポイント割り込み"を生成することができます。このビットへの0書き 込みは割り込み元の受け取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは無効 です。
■ ビット5 - RWAL : 読み書き可フラグ (Read/Write Allowed Flag)
このフラグはUSB制御器によって設定(1)され、制御エンドポイントを除く全てのエンドポイント形式に関係します。INエンドポイントについて、こ のフラグは現バンクが一杯でない、換言するとファームウェアがFIFO(UEDATXレジスタ)内に最低1つ以上のバイトを押し込める時に設定(1)さ れます。OUTエンドポイントについて、現バンクが空でない、換言するとファームウェアがFIFO(UEDATXレジスタ)から読める時に設定(1)されま す。不能応答(STALL)ハンドシェーク要求(STALLRQ)が設定(1)、またはエンドポイント異常の1つが設定(1)されている場合、このフラグは設 定(1)され得ません。
■ ビット4 - NAKOUTI : OUT受信否定応答割り込み要求フラグ (NAK OUT Received Interrupt Flag)
このフラグはホストからのOUT要求の応答で否定応答(NAK)ハンドシェークが送られた時にUSB制御器によって設定(1)されます。このNAK OUTIフラグはOUT受信否定応答割り込み許可(NAKOUTE)が設定(1)されているなら、"USBエンドポイント割り込み"を生成することがで
142
ATmega8U2/16U2/32U2
■ ビット3 - RXSTPI : SETUP受信割り込み要求フラグ (Received SETUP Interrupt Flag)
このフラグはホストから新規の有効な(異常なしの)設定(SETUP)パケットが受信された時にUSB制御器によって設定(1)されます。このRXS TPIフラグはSETUP受信割り込み許可(RXSTPE)ビットが設定(1)されているなら、"USBエンドポイント割り込み"を生成することができます。
このビットへの0書き込みは割り込み元の受け取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの 1書き込みは無効です。
■ ビット2 - RXOUTI/KILLBK : OUTデータ受信割り込み要求フラグ (Received OUT Data Interrupt Flag) エンドポイントの方向に依存して、このビットは2つの機能を持ちます。
・ エンドポイントOUT方向 (RXOUTIフラグ)
このフラグは現バンクが新規パケットを含む時にUSB制御器によって設定(1)されます。このRXOUTIフラグはOUTデータ受信割り込み許可 (RXOUTE)ビットが設定(1)されているなら、"USBエンドポイント割り込み"を生成することができます。このビットへの0書き込みは割り込み 元の受け取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは無効です。
・ エンドポイントIN方向 (KILLBKビット)
このビットへの1書き込みは最後に格納されたバンクを消去(無効化)します。この手続きは前もって格納されたエンドポイントを取り消すの に使用することができます。ソフトウェアによる解除(0)は無効です。失敗中止(Abort)でのより多くの詳細については133頁の「失敗中止 (Abort)」をご覧ください。
■ ビット1 - STALLEDI : 不能応答送信完了/異常検出割り込み要求フラグ (STALLEDI Interrupt Flag)
このフラグは不能応答(STALL)ハンドシェークが送出された時、または等時(Isochronuos)OUTエンドポイントでCRC異常が検出された時に USB制御器によって設定(1)されます。このSTALLEDIフラグは不能応答/異常検出割り込み許可(STALLEDE)ビットが設定(1)されてい るなら、"USBエンドポイント割り込み"を生成することができます。このビットへの0書き込みは割り込み元の受け取りを通知します(その前 にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは無効です。
■ ビット0 - TXINI : 送信可割り込み要求フラグ (Transmiter Ready Flag)
このフラグは現バンクが空で満たすことができる時にUSB制御器によって設定(1)されます。このTXINIフラグは送信可割り込み許可(TXIN E)ビットが設定(1)されているなら、"USBエンドポイント割り込み"を生成することができます。このビットへの0書き込みは割り込み元の受け 取りを通知します(その前にUSBクロックが許可されていなければなりません)。このビットへの1書き込みは無効です。
21.19.9. エンドポイントX割り込み許可レジスタ (USB Endpoint X Interrupt Enable Register) UEIENX FLERRE NAKINE - NAKOUTE RXSTPE RXOUTE STALLEDE TXINE
7 6 5 4 3 2 1 0
ビット
UEIENX ($F0)
R/W R/W
R/W R/W
R/W R
R/W R/W
0 0
0 0
0 0
0 0
Read/Write 初期値
■ ビット7 - FLERRE : 流れ異常割り込み許可 (Flow Error Interrupt Enable Bit)
このビットへの1書き込みはオーバーフロー割り込み要求(OVERFI)またはアンダーフロー割り込み要求(UNDERFI)のフラグでの割り込みを許可 します。オーバーフローやアンダーフローの割り込みはFLERREビットが1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書 かれ、そしてOVERFIまたはUNDERFIが設定(1)された場合にだけ生成されます。
■ ビット6 - NAKINE : IN受信否定応答割り込み許可 (NAK IN Interrupt Enable Bit)
このビットへの1書き込みはIN受信否定応答割り込み要求(NAKINI)フラグでの割り込みを許可します。NAKIN割り込みはNAKINEビット が1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてNAKINIが設定(1)された場合にだけ生成されま す。
■ ビット5 - Res : 予約 (Reserved)
このビットは予約されており、常に0として読めます。
■ ビット4 - NAKOUTE : OUT受信否定応答割り込み許可 (NAK OUT Interrupt Enable Bit)
このビットへの1書き込みはOUT受信否定応答割り込み要求(NAKOUTI)フラグでの割り込みを許可します。NAKOUT割り込みはNAKO UTEビットが1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてNAKOUTIが設定(1)された場合にだけ 生成されます。
■ ビット3 - RXSTPE : SETUP受信割り込み許可 (Received SETUP Interrupt Enable Bit)
このビットへの1書き込みはSETUP受信割り込み要求(RXSTPI)フラグでの割り込みを許可します。SETUP受信割り込みはRXSTPEビット が1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてRXSTPIが設定(1)された場合にだけ生成されま す。
■ ビット2 - RXOUTE : OUTデータ受信割り込み許可 (Received OUT Data Interrupt Enable Bit)
このビットへの1書き込みはOUTデータ受信割り込み要求(RXOUTI)フラグでの割り込みを許可します。OUT受信割り込みはRXOUTEビッ トが1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてRXOUTIが設定(1)された場合にだけ生成され ます。
■ ビット1 - STALLEDE : 不能応答/異常検出割り込み許可 (Stalled Interrupt Enable Bit)
このビットへの1書き込みは不能応答/異常検出割り込み要求(STALLEDI)フラグでの割り込みを許可します。STALL送出割り込みは STALLEDEビットが1に設定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてSTALLEDIが設定(1)された場 合にだけ生成されます。
■ ビット0 - TXINE : 送信可割り込み許可 (Transmitter Ready Interrupt Enable Bit)
このビットへの1書き込みは送信可割り込み要求(TXINI)フラグでの割り込みを許可します。送信準備可割り込みはTXINEビットが1に設 定され、ステータス レジスタ(SREG)の全割り込み許可(I)ビットが1を書かれ、そしてTXINIが設定(1)された場合にだけ生成されます。
21.19.10. エンドポイントX データ レジスタ (USB Endpoint X Data Register) UEDATX