S1R72V27 テクニカルマニュアル Rev.1.10 本資料のご使用につきましては、次の点にご留意願います。 本資料の内容については、予告無く変更することがあります。 1. 本資料の一部、または全部を弊社に無断で転載、または、複製など他の目的に使用することは堅くお断りいたします。 2. 本資料に掲載される応用回路、プログラム、使用方法等はあくまでも参考情報であり、これら起因する第三者の権利(工業所有権 を含む)侵害あるいは損害の発生に対し、弊社はいかなる保証を行うものではありません。また、本資料によって第三者または弊 社の工業所有権の実施権の許諾を行うものではありません。 3. 特性値の数値の大小は、数直線上の大小関係で表しています。 4. 本資料に掲載されている製品のうち「外国為替及び外国貿易法」に定める戦略物資に該当するものについては、輸出する場合、同 法に基づく輸出許可が必要です。 5. 本資料に掲載されている製品は、生命維持装置その他、きわめて高い信頼性が要求される用途を前提としていません。よって、弊 社は本(当該)製品をこれらの用途に用いた場合のいかなる責任についても負いかねます。 ©SEIKO EPSON CORPORATION 2008, All rights reserved. 適用範囲 本ドキュメントは、USB2.0 デバイス・ホストコントローラ LSI「S1R72V27」に適用されます。 目次 1. 機能説明 ............................................................................................................................................ 1 1.1 USBデバイス/ホスト選択 ..................................................................................................... 1 1.1.1 USBデバイス/ホスト機能選択方法 ................................................................................. 1 1.1.2 USBポート状態変化検出ステータス ................................................................................. 2 1.1.2.1 USBポート状態変化検出ステータスの使用例................................................................ 2 1.1.2.1.1 デバイスポート変化ステータス.............................................................................. 2 1.1.2.1.2 ホストポート変化ステータス ................................................................................. 3 1.1.2.2 1.2 信号ライン変化ステータスの使用方法 .......................................................................... 3 USBデバイス制御.................................................................................................................... 5 1.2.1 エンドポイント ................................................................................................................. 5 1.2.2 トランザクション.............................................................................................................. 7 1.2.2.1 SETUPトランザクション............................................................................................... 9 1.2.2.2 バルク/インタラプトOUTトランザクション ............................................................. 10 1.2.2.3 アイソクロナスOUTトランザクション ........................................................................ 11 1.2.2.4 バルク/インタラプトINトランザクション ................................................................. 11 1.2.2.5 アイソクロナスINトランザクション ............................................................................ 12 1.2.2.6 PINGトランザクション................................................................................................ 13 1.2.3 コントロール転送............................................................................................................ 14 1.2.3.1 セットアップステージ ................................................................................................. 15 1.2.3.2 データステージ/ステータスステージ ........................................................................ 15 1.2.3.3 自動アドレス設定機能 ................................................................................................. 16 1.2.3.4 デスクリプタ返信機能 ................................................................................................. 16 1.2.4 バルク転送/インタラプト転送/アイソクロナス転送................................................... 16 1.2.5 データフロー................................................................................................................... 17 1.2.5.1 OUT転送 ...................................................................................................................... 17 1.2.5.2 IN転送 .......................................................................................................................... 17 1.2.6 バルクオンリーサポート ................................................................................................. 18 1.2.6.1 CBWサポート............................................................................................................... 18 1.2.6.2 CSWサポート............................................................................................................... 19 1.2.7 1.2.7.1 ケーブルネゴシエーション機能(オート・ネゴシエータ) ................................................ 20 オート・ネゴシエータ ................................................................................................. 21 1.2.7.1.1 Disable.................................................................................................................. 21 1.2.7.1.2 IDLE...................................................................................................................... 21 1.2.7.1.3 WAIT_TIM3US...................................................................................................... 21 1.2.7.1.4 WAIT_CHIRP........................................................................................................ 21 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON i 1.2.7.1.5 WAIT_RSTEND .................................................................................................... 22 1.2.7.1.6 DET_SUSPEND ................................................................................................... 22 1.2.7.1.7 IN_SUSPEND....................................................................................................... 22 1.2.7.1.8 CHK_EVENT ........................................................................................................ 22 1.2.7.1.9 WAIT_RESTORE.................................................................................................. 22 1.2.7.1.10 ERR ...................................................................................................................... 23 1.2.7.2 1.2.7.2.1 HSモードにおけるサスペンド検出....................................................................... 23 1.2.7.2.2 FSモードにおけるサスペンド検出 ....................................................................... 25 1.2.7.2.3 HSモードにおけるリセット検出 .......................................................................... 27 1.2.7.2.4 FSモードにおけるリセット検出........................................................................... 28 1.2.7.2.5 HS Detection Handshake ..................................................................................... 29 1.2.7.2.5.1 FSのホストダウンストリームポートに繋がれた場合 .................................... 30 1.2.7.2.5.2 HSのホストダウンストリームポートに繋がれた場合.................................... 32 1.2.7.2.5.3 スリープ中にリセットされた場合.................................................................. 34 1.2.7.2.6 レジュームの発行 ................................................................................................. 36 1.2.7.2.7 レジュームの検出 ................................................................................................. 38 1.2.7.2.8 ケーブル挿入 ........................................................................................................ 40 1.3 USBホスト制御 ..................................................................................................................... 42 1.3.1 ii 各バスイベント発生時の動作....................................................................................... 23 チャネル .......................................................................................................................... 42 1.3.1.1 チャネル概要................................................................................................................ 42 1.3.1.2 コントロール専用チャネル .......................................................................................... 44 1.3.1.3 汎用チャネル................................................................................................................ 45 1.3.1.4 チャネル使用例 ............................................................................................................ 46 1.3.1.4.1 ストレージデバイスを 1 台接続した場合 ............................................................. 46 1.3.1.4.2 コミュニケーションデバイスを 1 台接続した場合............................................... 47 1.3.1.4.3 ヒューマンインタフェイスデバイスを 1 台接続した場合 .................................... 48 1.3.1.4.4 ハブを介してストレージデバイスを 2 台接続した場合........................................ 49 1.3.2 スケジューリング............................................................................................................ 50 1.3.3 トランザクション............................................................................................................ 51 1.3.3.1 SETUPトランザクション............................................................................................. 52 1.3.3.2 バルクOUTトランザクション ...................................................................................... 53 1.3.3.3 インタラプトOUTトランザクション............................................................................ 54 1.3.3.4 アイソクロナスOUTトランザクション ........................................................................ 55 1.3.3.5 バルクINトランザクション .......................................................................................... 56 1.3.3.6 インタラプトINトランザクション................................................................................ 58 1.3.3.7 アイソクロナスINトランザクション ............................................................................ 59 1.3.3.8 PINGトランザクション................................................................................................ 61 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1.3.3.9 low-speed(LS)トランザクション.................................................................................. 62 1.3.3.10 スプリットトランザクション....................................................................................... 64 コントロール転送............................................................................................................ 65 1.3.4 1.3.4.1 セットアップステージ ................................................................................................. 66 1.3.4.2 データステージ/ステータスステージ ........................................................................ 66 1.3.4.3 コントロール転送サポート機能 ................................................................................... 67 1.3.5 バルク転送/インタラプト転送/アイソクロナス転送................................................... 70 1.3.6 データフロー................................................................................................................... 70 1.3.6.1 OUT転送 ...................................................................................................................... 70 1.3.6.2 IN転送 .......................................................................................................................... 71 ゼロ長パケット自動発行機能.......................................................................................... 72 1.3.7 1.3.7.1 バルク/インタラプトOUT転送のゼロ長パケット自動発行機能................................. 72 1.3.8 バルクオンリーサポート機能.......................................................................................... 73 1.3.9 オーディオクラス・アシスト機能................................................................................... 77 1.3.10 ホストステート管理サポート機能................................................................................... 78 1.3.10.1 ホストステート ............................................................................................................ 78 1.3.10.1.1 IDLE...................................................................................................................... 80 1.3.10.1.2 WAIT_CONNECT ................................................................................................. 80 1.3.10.1.3 DISABLED ............................................................................................................ 81 1.3.10.1.4 RESET.................................................................................................................. 81 1.3.10.1.5 OPERATIONAL .................................................................................................... 82 1.3.10.1.6 SUSPEND ............................................................................................................ 83 1.3.10.1.7 RESUME .............................................................................................................. 83 1.3.10.2 検出機能 ................................................................................................................... 84 1.3.10.2.1 VBUS異常検出...................................................................................................... 84 1.3.10.2.2 切断検出 ............................................................................................................... 85 1.3.10.2.2.1 HSデバイスが切断された場合 ....................................................................... 85 1.3.10.2.2.2 FSまたはLSデバイスが切断された場合......................................................... 87 1.3.10.2.3 リモート・ウェークアップ検出............................................................................ 88 1.3.10.2.3.1 HSデバイスが接続されている場合 ................................................................ 88 1.3.10.2.3.2 FSデバイスが接続されている場合................................................................. 89 1.3.10.2.3.3 LSデバイスが接続されている場合 ................................................................. 90 1.3.10.2.4 デバイスチャープ検出機能................................................................................... 91 1.3.10.2.4.1 正しいデバイスのChirpを検出した場合 ......................................................... 91 1.3.10.2.4.2 異常なデバイスのChirpを検出した場合 ......................................................... 92 1.3.10.2.5 ポートエラー検出 ................................................................................................. 93 1.3.10.3 ホストステート管理サポート機能の単体説明.............................................................. 94 1.3.10.3.1 GoIDLE................................................................................................................. 94 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON iii 1.3.10.3.2 GoWAIT_CONNECT ............................................................................................ 96 1.3.10.3.2.1 FSデバイスが接続された場合........................................................................ 96 1.3.10.3.2.2 LSデバイスが接続された場合 ........................................................................ 98 1.3.10.3.3 GoDISABLED ..................................................................................................... 100 1.3.10.3.3.1 HSデバイスが接続されている場合 .............................................................. 100 1.3.10.3.3.2 FSデバイスが接続されている場合............................................................... 102 1.3.10.3.3.3 LSデバイスが接続されている場合 ............................................................... 103 1.3.10.3.4 GoRESET ........................................................................................................... 104 1.3.10.3.4.1 HSデバイスに対するリセット ..................................................................... 104 1.3.10.3.4.2 異常なデバイスのChirp検出 ......................................................................... 106 1.3.10.3.4.2.1 チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)設定が 0 の場合.................................................................................................... 106 1.3.10.3.4.2.2 チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)設定が 1 の場合.................................................................................................... 108 1.3.10.3.4.3 FSデバイスに対するリセット.......................................................................111 1.3.10.3.4.4 LSデバイスに対するリセット ...................................................................... 113 1.3.10.3.5 GoOPERATIONAL.............................................................................................. 114 1.3.10.3.6 GoSUSPEND...................................................................................................... 115 1.3.10.3.6.1 HSデバイスが接続されている場合 .............................................................. 115 1.3.10.3.6.2 FSデバイスが接続されている場合............................................................... 117 1.3.10.3.6.3 LSデバイスが接続されている場合 ............................................................... 119 1.3.10.3.7 GoRESUME........................................................................................................ 121 1.3.10.3.7.1 HSデバイスが接続されている場合 .............................................................. 121 1.3.10.3.7.2 FSデバイスが接続されている場合............................................................... 123 1.3.10.3.7.3 LSデバイスが接続されている場合 ............................................................... 125 1.3.10.3.8 GoWAIT_CONNECTtoDIS ................................................................................. 127 1.3.10.3.9 GoWAIT_CONNECTtoOP .................................................................................. 128 1.3.10.3.9.1 HSデバイスが接続されている場合 .............................................................. 128 1.3.10.3.9.2 FSまたはLSデバイスが接続されている場合................................................ 130 1.3.10.3.10 GoRESETtoOP................................................................................................... 132 1.3.10.3.10.1 HSデバイスが接続されている場合 .............................................................. 132 1.3.10.3.10.2 FSまたはLSデバイスが接続されている場合................................................ 133 1.3.10.3.11 GoSUSPENDtoOP ............................................................................................. 134 1.3.10.3.12 GoRESUMEtoOP ............................................................................................... 135 1.4 iv パワーマネージメント機能 ................................................................................................. 136 1.4.1 SLEEP(スリープ) ..................................................................................................... 136 1.4.2 SNOOZE(スヌーズ).................................................................................................. 137 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1.4.3 ACTIVE(アクティブ) ................................................................................................ 137 1.4.4 CPU_Cutモード ............................................................................................................ 138 1.5 FIFO管理 ............................................................................................................................. 138 1.5.1 FIFOメモリマップ......................................................................................................... 138 1.5.2 デスクリプタエリア ...................................................................................................... 139 1.5.2.1 デスクリプタエリアへのデータの書き込み ............................................................... 139 1.5.2.2 デスクリプタエリアでのデータステージ(IN)の実行 .................................................. 140 1.5.3 CBWエリア ................................................................................................................... 140 1.5.3.1 CBWエリア(USBデバイス時)..................................................................................... 140 1.5.3.2 CBWエリア(USBホスト時) ........................................................................................ 140 1.5.4 CSWエリア ................................................................................................................... 141 1.5.4.1 CSWエリア(USBデバイス時)..................................................................................... 141 1.5.4.2 CSWエリア(USBホスト時) ........................................................................................ 141 1.5.5 FIFOへのアクセス方法.................................................................................................. 141 1.5.5.1 RAMアクセスの方法(RAM_Rd) ................................................................................. 141 1.5.5.2 RAMアクセスの方法(RAM_WrDoor).......................................................................... 142 1.5.5.3 FIFOアクセスの方法(レジスタアクセス) ................................................................... 142 1.5.5.4 FIFOアクセスの方法(DMA)........................................................................................ 142 1.5.5.5 FIFOアクセスの制限 .................................................................................................. 143 1.6 CPUIF.................................................................................................................................. 144 1.6.1 CPUIFモード................................................................................................................. 144 1.6.2 CPUIFのモード設定 ...................................................................................................... 145 1.6.3 ブロック構成................................................................................................................. 146 1.6.3.1 REG(Registers) .......................................................................................................... 146 1.6.3.1.1 同期レジスタアクセス(ライト)........................................................................... 146 1.6.3.1.2 同期レジスタアクセス(リード)........................................................................... 146 1.6.3.1.3 FIFOアクセス(ライト) ........................................................................................ 146 1.6.3.1.4 FIFOアクセス(リード) ........................................................................................ 147 1.6.3.1.5 FIFOアクセスの端数処理 ................................................................................... 148 1.6.3.1.6 RAM_Rdアクセス............................................................................................... 150 1.6.3.1.7 非同期レジスタアクセス(ライト) ....................................................................... 150 1.6.3.1.8 非同期レジスタアクセス(リード) ....................................................................... 150 1.6.3.2 DMA ........................................................................................................................... 151 1.6.3.2.1 基本機能 ............................................................................................................. 151 1.6.3.2.2 端子設定 ............................................................................................................. 153 1.6.3.2.3 カウントモード(ライト) ..................................................................................... 153 1.6.3.2.4 カウントモード(リード) ..................................................................................... 155 1.6.3.2.5 フリーランモード(ライト) .................................................................................. 156 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON v 1.6.3.2.6 フリーランモード(リード) .................................................................................. 157 1.6.3.2.7 REQアサートカウントオプション(ライト) ........................................................ 157 1.6.3.2.8 REQアサートカウントオプション(リード) ........................................................ 158 1.6.3.2.9 DMAのFIFOアクセス端数処理 ........................................................................... 158 1.6.3.2.10 DMAのEdge Sense モード ................................................................................ 159 2. レジスタマップ.............................................................................................................................. 160 2.1 レジスタ構成 ....................................................................................................................... 160 2.2 初期レジスタマップ ............................................................................................................ 160 2.3 レジスタマップ ................................................................................................................... 161 2.3.1 デバイス/ホスト共通レジスタマップ.......................................................................... 161 2.3.2 デバイスレジスタマップ ............................................................................................... 167 2.3.3 ホストレジスタマップ................................................................................................... 171 3. レジスタ詳細説明 .......................................................................................................................... 177 3.1 vi デバイス/ホスト共通レジスタ詳細説明 ............................................................................ 177 3.1.1 000h MainIntStat (Main Interrupt Status) ....................................................................... 177 3.1.2 001h USB_DeviceIntStat (USB Device Interrupt Status) ............................................... 179 3.1.3 002h USB_HostIntStat (USB Host Interrupt Status) ...................................................... 181 3.1.4 003h CPU_IntStat (CPU Interrupt Status)...................................................................... 183 3.1.5 004h FIFO_IntStat (FIFO Interrupt Status) .................................................................... 184 3.1.6 008h MainIntEnb (Main Interrupt Enable)...................................................................... 185 3.1.7 009h USB_DeviceIntEnb (Device Interrupt Enable) ...................................................... 186 3.1.8 00Ah USB_HostIntEnb (Host Interrupt Enable)............................................................. 187 3.1.9 00Bh CPU_IntEnb (CPU Interrupt Enable).................................................................... 188 3.1.10 00Ch FIFO_IntEnb (FIFO Interrupt Enable) .................................................................. 189 3.1.11 010h RevisionNum (Revision Number) ......................................................................... 190 3.1.12 011h ChipReset (Chip Reset)........................................................................................ 191 3.1.13 012h PM_Control (Power Management Control)........................................................... 192 3.1.14 014h-015h WakeupTim_H,L (Wakeup Time High, Low)................................................ 194 3.1.15 016h H_USB_Control (Host USB Control ) ................................................................... 195 3.1.16 017h H_XcvrControl (Host Xcvr Control)....................................................................... 196 3.1.17 018h D_USB_Status (Device USB Status).................................................................... 198 3.1.18 019h H_USB_Status (Host USB Status) ....................................................................... 199 3.1.19 01Bh MTM_Config (Multi Transceiver Macro Config) .................................................... 200 3.1.20 01Fh HostDeviceSel (Host Device Select) .................................................................... 201 3.1.21 020h FIFO_Rd_0 (FIFO Read 0)................................................................................... 202 3.1.21 021h FIFO_Rd_1 (FIFO Read 1)................................................................................... 202 3.1.23 022h FIFO_Wr_0(FIFO Write 0) .................................................................................... 203 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3.1.24 023h FIFO_Wr_1(FIFO Write 1) .................................................................................... 203 3.1.25 024h-025h FIFO_RdRemain_H.L (FIFO Read Remain High, Low)............................... 204 3.1.26 026h-027h FIFO_WrRemain_H.L (FIFO Write Remain High, Low) ............................... 205 3.1.27 028h 3.1.28 02Ah FIFO_ByteWr(FIFO Byte Write) ........................................................................... 207 3.1.29 02Ch CacheRemain (Host Device Select)..................................................................... 208 3.1.30 030h-031h RAM_RdAdrs_H,L (RAM Read Address High, Low) ................................... 209 3.1.31 032h RAM_RdControl (RAM Read Control) .................................................................. 210 3.1.32 035h RAM_RdCount (RAM Read Counter)................................................................... 211 3.1.33 038h-039h RAM_WrAdrs_H,L (RAM Write Address High, Low).................................... 212 3.1.34 03Ah RAM_WrDoor_0 (RAM Write Door 0) .................................................................. 213 3.1.35 03Bh RAM_WrDoor_1 (RAM Write Door 1) .................................................................. 213 3.1.36 040h RAM_Rd_00 (RAM Read 00) ............................................................................... 214 3.1.37 041h RAM_Rd_01 (RAM Read 01) ............................................................................... 214 3.1.38 042h RAM_Rd_02 (RAM Read 02) ............................................................................... 214 3.1.39 043h RAM_Rd_03 (RAM Read 03) ............................................................................... 214 3.1.40 044h RAM_Rd_04 (RAM Read 04) ............................................................................... 214 3.1.41 045h RAM_Rd_05 (RAM Read 05) ............................................................................... 214 3.1.42 046h RAM_Rd_06 (RAM Read 06) ............................................................................... 214 3.1.43 047h RAM_Rd_07 (RAM Read 07) ............................................................................... 214 3.1.44 048h RAM_Rd_08 (RAM Read 08) ............................................................................... 214 3.1.45 049h RAM_Rd_09 (RAM Read 09) ............................................................................... 214 3.1.46 04Ah RAM_Rd_0A (RAM Read 0A) .............................................................................. 214 3.1.47 04Bh RAM_Rd_0B (RAM Read 0B) .............................................................................. 214 3.1.48 04Ch RAM_Rd_0C (RAM Read 0C) ............................................................................. 214 3.1.49 04Dh RAM_Rd_0D (RAM Read 0D) ............................................................................. 214 3.1.50 04Eh RAM_Rd_0E (RAM Read 0E) .............................................................................. 214 3.1.51 04Fh RAM_Rd_0F (RAM Read 0F) .............................................................................. 214 3.1.52 050h RAM_Rd_10 (RAM Read 10) ............................................................................... 214 3.1.53 051h RAM_Rd_11 (RAM Read 11)................................................................................ 214 3.1.54 052h RAM_Rd_12 (RAM Read 12) ............................................................................... 214 3.1.55 053h RAM_Rd_13 (RAM Read 13) ............................................................................... 214 3.1.56 054h RAM_Rd_14 (RAM Read 14) ............................................................................... 214 3.1.57 055h RAM_Rd_15 (RAM Read 15) ............................................................................... 214 3.1.58 056h RAM_Rd_16 (RAM Read 16) ............................................................................... 214 3.1.59 057h RAM_Rd_17 (RAM Read 17) ............................................................................... 214 3.1.60 058h RAM_Rd_18 (RAM Read 18) ............................................................................... 214 3.1.61 059h RAM_Rd_19 (RAM Read 19) ............................................................................... 214 FIFO_ByteRd(FIFO Byte Read)......................................................................... 206 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON vii viii 3.1.62 05Ah RAM_Rd_1A (RAM Read 1A) .............................................................................. 214 3.1.63 05Bh RAM_Rd_1B (RAM Read 1B) .............................................................................. 214 3.1.64 05Ch RAM_Rd_1C (RAM Read 1C) ............................................................................. 214 3.1.65 05Dh RAM_Rd_1D (RAM Read 1D) ............................................................................. 214 3.1.66 05Eh RAM_Rd_1E (RAM Read 1E) .............................................................................. 214 3.1.67 05Fh RAM_Rd_1F (RAM Read 1F) .............................................................................. 215 3.1.68 061h DMA_Config (DMA Config)................................................................................... 216 3.1.69 062h DMA_Control (DMA Control) ................................................................................ 218 3.1.70 064h-065h DMA_Remain_H,L (DMA FIFO Remain High, Low) .................................... 219 3.1.71 067h DMA_EdgeMode (DMA Edge Mode).................................................................... 220 3.1.72 068h-069h DMA_Count_HH,HL (DMA Transfer Byte Counter High/High, High/Low).... 221 3.1.73 06Ah-06Bh DMA_Count_LH,LL (DMA Transfer Byte Counter Low/High, Low/Low)...... 221 3.1.74 06Ch DMA_RdData_0 (DMA Read Data 0)................................................................... 223 3.1.75 06Dh DMA_RdData_1 (DMA Read Data 1)................................................................... 223 3.1.76 06Eh DMA_WrData_0 (DMA Write Data 0) ................................................................... 224 3.1.77 06Fh DMA_WrData_1 (DMA Write Data 1) ................................................................... 224 3.1.78 071h ModeProtect(Mode Protection)............................................................................. 225 3.1.79 073h ClkSelect (Clock Select) ....................................................................................... 226 3.1.80 075h CPU_Config (CPU Configuration) ........................................................................ 227 3.1.81 07E-07Fh CPUIF_MODE (CPUIF Mode) ...................................................................... 229 3.1.82 080h-081h AREA0StartAdrs_H,L (AREA 0 Start Address High, Low)............................ 230 3.1.83 084h-085h AREA1StartAdrs_H,L (AREA 1 Start Address High, Low)............................ 230 3.1.84 088h-089h AREA2StartAdrs_H,L (AREA 2 Start Address High, Low)............................ 230 3.1.85 08Ch-08Dh AREA3StartAdrs_H,L (AREA 3 Start Address High, Low) .......................... 230 3.1.86 090h-091h AREA4StartAdrs_H,L (AREA 4 Start Address High, Low)............................ 230 3.1.87 094h-095h AREA5StartAdrs_H,L (AREA 5 Start Address High, Low)............................ 230 3.1.88 082h-083h AREA0EndAdrs_H,L (AREA 0 End Address High, Low) ............................. 231 3.1.89 086h-087h AREA1EndAdrs_H,L (AREA 1 End Address High, Low) ............................. 231 3.1.90 08Ah-08Bh AREA2EndAdrs_H,L (AREA 2 End Address High, Low)............................. 231 3.1.91 08Eh-08Fh AREA3EndAdrs_H,L (AREA 3 End Address High, Low) ............................. 231 3.1.92 092h-093h AREA4EndAdrs_H,L (AREA 4 End Address High, Low) ............................. 231 3.1.93 096h-097h AREA5EndAdrs_H,L (AREA 5 End Address High,Low) .............................. 231 3.1.94 09Fh AREAnFIFO_Clr (AREA n FIFO Clear ) ............................................................... 232 3.1.95 0A0h AREA0Join_0 (AREA 0 Join 0) ............................................................................ 233 3.1.96 0A2h AREA1Join_0 (AREA 1 Join 0) ............................................................................ 233 3.1.97 0A4h AREA2Join_0 (AREA 2 Join 0) ............................................................................ 233 3.1.98 0A6h AREA3Join_0 (AREA 3 Join 0) ............................................................................ 233 3.1.99 0A8h AREA4Join_0 (AREA 4 Join 0) ............................................................................ 233 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3.1.100 0AAh AREA5Join_0 (AREA 5 Join 0) ............................................................................ 233 3.1.101 0A1h AREA0Join_1 (AREA 0 Join 1) ............................................................................ 234 3.1.102 0A3h AREA1Join_1 (AREA 1 Join 1) ............................................................................ 234 3.1.103 0A5h AREA2Join_1 (AREA 2 Join 1) ............................................................................ 234 3.1.104 0A7h AREA3Join_1 (AREA 3 Join 1) ............................................................................ 234 3.1.105 0A9h AREA4Join_1 (AREA 4 Join 1) ............................................................................ 234 3.1.106 0ABh AREA5Join_1 (AREA 5 Join 1) ............................................................................ 234 3.1.107 0AEh ClrAREAnJoin_0 (Clear AREA n Join 0) .............................................................. 236 3.1.108 0AFh ClrAREAnJoin_1 (Clear AREA n Join 1) .............................................................. 237 3.2 デバイスレジスタ詳細説明 ................................................................................................. 238 3.2.1 0B0h D_SIE_IntStat (Device SIE Interrupt Status) ........................................................ 238 3.2.2 0B3h D_BulkIntStat (Device Bulk Interrupt Status)........................................................ 240 3.2.3 0B4h D_EPrIntStat (Device EPr Interrupt Status).......................................................... 241 3.2.4 0B5h D_EP0IntStat (Device EP0 Interrupt Status) ........................................................ 243 3.2.5 0B6h D_EPaIntStat (Device EPa Interrupt Status) ........................................................ 245 3.2.6 0B7h D_EPbIntStat (Device EPb Interrupt Status) ........................................................ 245 3.2.7 0B8h D_EPcIntStat (Device EPc Interrupt Status)......................................................... 245 3.2.8 0B9h D_EPdIntStat (Device EPd Interrupt Status) ........................................................ 245 3.2.9 0BAh D_EPeIntStat (Device EPe Interrupt Status)........................................................ 245 3.2.10 0BCh-0BDh D_AlarmIN_IntStat_H,L (Device AlarmIN Interrupt Status High, Low) ....... 247 3.2.11 0BEh-0BFh D_AlarmOUT_IntStat_H,L (Device AlarmOUT Interrupt Status High, Low) ............................................................. 248 3.2.12 0C0h D_SIE_IntEnb (Device SIE Interrupt Enable)....................................................... 249 3.2.13 0C3h D_BulkIntEnb (Device Bulk Interrupt Enable) ...................................................... 250 3.2.14 0C4h D_EPrIntEnb (Device EPr Interrupt Enable) ........................................................ 251 3.2.15 0C5h D_EP0IntEnb (Device EP0 Interrupt Enable)....................................................... 252 3.2.16 0C6h D_EPaIntEnb (Device EPa Interrupt Enable)....................................................... 253 3.2.17 0C7h D_EPbIntEnb (Device EPb Interrupt Enable)....................................................... 253 3.2.18 0C8h D_EPcIntEnb (Device EPc Interrupt Enable) ....................................................... 253 3.2.19 0C9h D_EPdIntEnb (Device EPd Interrupt Enable)....................................................... 253 3.2.20 0CAh D_EPeIntEnb (Device EPe Interrupt Enable) ...................................................... 253 3.2.21 0CCh-0CDh D_AlarmIN_IntEnb_H,L (Device AlarmIN Interrupt Enable High, Low) ..... 254 3.2.22 0CEh-0CFh D_AlarmOUT_IntEnb_H,L (Device AlarmOUT Interrupt Enable High, Low) ............................................................ 255 3.2.23 0D0h D_NegoControl (Device Negotiation Control) ...................................................... 256 3.2.24 0D3h D_XcvrControl (Device Xcvr Control)................................................................... 258 3.2.25 0D4h D_USB_Test (Device USB_Test) ......................................................................... 259 3.2.26 0D6h D_EPnControl (Device Endpoint Control) ............................................................ 261 3.2.27 0D8h D_BulkOnlyControl (Device BulkOnly Control) .................................................... 262 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON ix x 3.2.28 0D9h D_BulkOnlyConfig (Device BulkOnly Configuration)............................................ 263 3.2.29 0E0h D_EP0SETUP_0 (Device EP0 SETUP 0)............................................................ 265 3.2.30 0E1h D_EP0SETUP_1 (Device EP0 SETUP 1)............................................................ 265 3.2.31 0E2h D_EP0SETUP_2 (Device EP0 SETUP 2)............................................................ 265 3.2.32 0E3h D_EP0SETUP_3 (Device EP0 SETUP 3)............................................................ 265 3.2.33 0E4h D_EP0SETUP_4 (Device EP0 SETUP 4)............................................................ 265 3.2.34 0E5h D_EP0SETUP_5 (Device EP0 SETUP 5)............................................................ 265 3.2.35 0E6h D_EP0SETUP_6 (Device EP0 SETUP 6)............................................................ 265 3.2.36 0E7h D_EP0SETUP_7 (Device EP0 SETUP 7)............................................................ 265 3.2.37 0E8h D_USB_Address (Device USB Address) ............................................................. 266 3.2.38 0EAh D_SETUP_Control(Device SETUP Control) ........................................................ 267 3.2.39 0EEh-0EFh D_FrameNumber_H,L (Device FrameNumber High, Low)......................... 268 3.2.40 0F0h D_EP0MaxSize (Device EP0 Max Packet Size) .................................................. 269 3.2.41 0F1h D_EP0Control (Device EP0 Control).................................................................... 270 3.2.42 0F2h D_EP0ControlIN (Device EP0 Control IN)............................................................ 271 3.2.43 0F3h D_EP0ControlOUT (Device EP0 Control OUT).................................................... 273 3.2.44 0F8h-0F9h D_EPaMaxSize_H,L (Device EPa Max Packet Size High, Low) ................. 275 3.2.45 100h-101h D_EPbMaxSize_H,L (Device EPb Max Packet Size High, Low) ................. 275 3.2.46 108h-109h D_EPcMaxSize_H,L (Device EPc Max Packet Size High, Low).................. 275 3.2.47 110h-111h D_EPdMaxSize_H,L (Device EPd Max Packet Size High, Low) .................. 275 3.2.48 118h-119h D_EPeMaxSize_H,L (Device EPe Max Packet Size High), Low.................. 275 3.2.49 0FAh D_EPaConfig (Device EPa Configuration) ........................................................... 276 3.2.50 102h D_EPbConfig (Devie EPb Configuration) ............................................................. 276 3.2.51 10Ah D_EPcConfig (Device EPc Configuration) ........................................................... 276 3.2.52 112h D_EPdConfig (Devie EPd Configuration) ............................................................. 276 3.2.53 11Ah D_EPeConfig (Device EPe Configuration) ........................................................... 276 3.2.54 0FCh D_EPaControl (Device EPa Control) ................................................................... 278 3.2.55 104h D_EPbControl (Device EPb Control) .................................................................... 278 3.2.56 10Ch D_EPcControl (Device EPc Control).................................................................... 278 3.2.57 114h D_EPdControl (Device EPd Control) .................................................................... 278 3.2.58 11Ch D_EPeControl (Device EPc Control).................................................................... 278 3.2.59 120h-121h D_DescAdrs_H,L (Device Descriptor Address High, Low) .......................... 280 3.2.60 122h-123h D_DescSize_H,L (Device Descriptor Size High, Low)................................. 281 3.2.61 126h D_EP_DMA_Ctrl (Device EP DMA Control) ......................................................... 282 3.2.62 128h-129h D_EnEP_IN_H,L (Device Enable Endpoint-IN High, Low) .......................... 283 3.2.63 12Ah-12Bh D_EnEP_OUT_H,L (Device Enable Endpoint-OUT High, Low).................. 284 3.2.64 12Ch-12Dh D_EnEP_IN_ISO_H,L (Device Enable Endpoint-IN Isocronouse High, Low).................................................... 285 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3.2.65 3.3 12Eh-12Fh D_EnEP_OUT_ISO_H,L (Device Enable Endpoint-OUT Isocronouse High, Low) ................................................... 286 ホストレジスタ詳細説明 ..................................................................................................... 287 3.3.1 140h H_SIE_IntStat_0 (Host SIE Interrupt Status 0) ..................................................... 287 3.3.2 141h H_SIE_IntStat_1 (SIE Host Interrupt Status 1) ..................................................... 289 3.3.3 143h H_FrameIntStat (Host Frame Interrupt Status ) .................................................... 290 3.3.4 144h H_CHrIntStat (Host CHr Interrupt Status) ............................................................. 291 3.3.5 145h H_CH0IntStat (Host CH0 Interrupt Status) ........................................................... 292 3.3.6 146h H_CHaIntStat (Host CHa Interrupt Status) ........................................................... 294 3.3.7 147h H_CHbIntStat (Host CHb Interrupt Status) ........................................................... 296 3.3.8 148h H_CHcIntStat (Host CHc Interrupt Status)............................................................ 296 3.3.9 149h H_CHdIntStat (Host CHd Interrupt Status) ........................................................... 296 3.3.10 14Ah H_CHeIntStat (Host CHe Interrupt Status) ........................................................... 296 3.3.11 150h H_SIE_IntEnb_0 (Host SIE Interrupt Enable)....................................................... 298 3.3.12 151h H_SIE_IntEnb_1(SIE Host Interrupt Enable 1)..................................................... 299 3.3.13 153h H_FrameIntEnb(Host Frame Interrupt Enable ).................................................... 300 3.3.14 154h H_CHrIntEnb(Host CHr Interrupt Enable)............................................................. 301 3.3.15 155h H_CH0IntEnb(Host CH0 Interrupt Enable) ........................................................... 302 3.3.16 156h H_CHaIntEnb (Host CHa Interrupt Enable) .......................................................... 303 3.3.17 157h H_CHbIntEnb (Host CHb Interrupt Enable) .......................................................... 304 3.3.18 158h H_CHcIntEnb (Host CHc Interrupt Enable) .......................................................... 304 3.3.19 159h H_CHdIntEnb (Host CHd Interrupt Enable) .......................................................... 304 3.3.20 15Ah H_CHeIntEnb (Host CHe Interrupt Enable).......................................................... 304 3.3.21 160h H_NegoControl_0 (Host NegoControl 0) .............................................................. 305 3.3.22 162h H_NegoControl_1 (Host NegoControl 1) .............................................................. 307 3.3.23 164h H_USB_Test (Host USB_Test) ............................................................................. 308 3.3.24 170h H_CH0SETUP_0 (Host CH0 SETUP 0) ............................................................... 310 3.3.25 171h H_CH0SETUP_1 (Host CH0 SETUP 1) ............................................................... 310 3.3.26 172h H_CH0SETUP_2 (Host CH0 SETUP 2) ............................................................... 310 3.3.27 173h H_CH0SETUP_3 (Host CH0 SETUP 3) ............................................................... 310 3.3.28 174h H_CH0SETUP_4 (Host CH0 SETUP 4) ............................................................... 310 3.3.29 175h H_CH0SETUP_5 (Host CH0 SETUP 5) ............................................................... 310 3.3.30 176h H_CH0SETUP_6 (Host CH0 SETUP 6) ............................................................... 310 3.3.31 177h H_CH0SETUP_7 (Host CH0 SETUP 7) ............................................................... 310 3.3.32 17Eh-17Fh H_FrameNumber_H,L (Host FrameNumber High, Low) ............................. 311 3.3.33 180h H_CH0Config_0(Host Channel 0 Configuration0) ................................................ 312 3.3.34 181h H_CH0Config_1(Host Channel 0 Configuration1) ................................................ 314 3.3.35 183h H_CH0MaxPktSize (Host Channel 0 Max Packet Size) ....................................... 315 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON xi xii 3.3.36 186h-187h H_CH0TotalSize_H,L (Host Channel 0 Total Size High, Low) ..................... 316 3.3.37 188h H_CH0HubAdrs (Host Channel 0 Hub Address) .................................................. 317 3.3.38 189h H_CH0FuncAdrs (Host Channel 0 Function Address).......................................... 318 3.3.39 18Bh H_CTL_SupportControl (Host ControlTransfer Support Control) ......................... 319 3.3.40 18Eh H_CH0ConditionCode (Host Channel 0 Condition Code) .................................... 320 3.3.41 190h H_CHaConfig_0(Host Channel a Configuration0) ................................................ 321 3.3.42 191h H_CHaConfig_1(Host Channel a Configuration1) ................................................ 323 3.3.43 192h-193h H_CHaMaxPktSize_H,L (Host Channel a Max Packet Size High, Low)...... 324 3.3.44 194h-195h H_CHaTotalSize_HH,HL (Host Channel a Total Size High-High, High-Low)......................................................... 325 3.3.45 196h-197h H_CHaTotalSize_LH,LL (Host Channel a Total Size Low-High, Low-Low) .......................................................... 325 3.3.46 198h H_CHaHubAdrs (Host Channel a Hub Address) .................................................. 327 3.3.47 199h H_CHaFuncAdrs (Host Channel a Function Address).......................................... 328 3.3.48 19Ah H_CHaBO_SupportCtl (Host CHa Bulk Only Transfer Support Control) .............. 329 3.3.49 19Bh H_CHaBO_CSW_RcvSize (Host CHa Bulk Only Transfer Support CSW Receive Data Size)................................. 330 3.3.50 19Ch H_CHaBO_OUT_EP_Ctl (Host CHa Bulk Only Transfer Support OUT Endpoint Control) .................................... 331 3.3.51 19Dh H_CHaBO_IN_EP_Ctl(Host CHa Bulk Only Transfer Support IN Endpoint Control)332 3.3.52 19Eh H_CHaConditionCode (Host Channel a Condition Code) .................................... 333 3.3.53 1A0h H_CHbConfig_0(Host Channel b Configuration0)................................................ 334 3.3.54 1B0h H_CHcConfig_0(Host Channel c Configuration0) ................................................ 334 3.3.55 1C0h H_CHdConfig_0(Host Channel d Configuration0) ............................................... 334 3.3.56 1D0h H_CHeConfig_0(Host Channel e Configuration0) ............................................... 334 3.3.57 1A1h H_CHbConfig_1(Host Channel b Configuration1)................................................ 336 3.3.58 1B1h H_CHcConfig_1(Host Channel c Configuration1) ................................................ 336 3.3.59 1C1h H_CHdConfig_1(Host Channel d Configuration1) ............................................... 336 3.3.60 1D1h H_CHeConfig_1(Host Channel e Configuration1) ............................................... 336 3.3.61 1A2h-1A3h H_CHbMaxPktSize_H,L (Host Channel b Max Packet Size High, Low) ..... 338 3.3.62 1B2h-1B3h H_CHcMaxPktSize_H,L (Host Channel c Max Packet Size High, Low) ..... 338 3.3.63 1C2h-1C3h H_CHdMaxPktSize_H,L (Host Channel d Max Packet Size High, Low)..... 338 3.3.64 1D2h-1D3h H_CHeMaxPktSize_H,L (Host Channel e Max Packet Size High, Low)..... 338 3.3.65 1A4h-1A5h H_CHbTotalSize_HH,HL (Host Channel b Total Size High-High, High-Low)......................................................... 340 3.3.66 1A6h-1A7h H_CHbTotalSize_LH,LL (Host Channel b Total Size Low-High, Low-Low) .......................................................... 340 3.3.67 1B4h-1B5h H_CHcTotalSize_HH,HL (Host Channel c Total Size High-High, High-Low) ......................................................... 340 3.3.68 1B6h-1B7h H_CHcTotalSize_LH,LL (Host Channel c Total Size Low-High, Low-Low)........................................................... 340 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3.3.69 1C4h-1C5h H_CHdTotalSize_HH,HL (Host Channel d Total Size High-High, High-Low)......................................................... 340 3.3.70 1C6h-1C7h H_CHdTotalSize_LH,LL (Host Channel d Total Size Low-High, Low-Low) .......................................................... 340 3.3.71 1D4h-1D5h H_CHeTotalSize_HH,HL (Host Channel e Total Size High-High, High-Low)......................................................... 340 3.3.72 1D6h-1D7h H_CHeTotalSize_LH,LL (Host Channel e Total Size Low-High, Low-Low) .......................................................... 340 3.3.73 1A8h H_CHbHubAdrs (Host Channel b Hub Address).................................................. 342 3.3.74 1B8h H_CHcHubAdrs (Host Channel c Hub Address) .................................................. 342 3.3.75 1C8h H_CHdHubAdrs (Host Channel d Hub Address).................................................. 342 3.3.76 1D8h H_CHeHubAdrs (Host Channel e Hub Address).................................................. 342 3.3.77 1A9h H_CHbFuncAdrs (Host Channel b Function Address) ......................................... 343 3.3.78 1B9h H_CHcFuncAdrs (Host Channel c Function Address).......................................... 343 3.3.79 1C9h H_CHdFuncAdrs (Host Channel d Function Address) ......................................... 343 3.3.80 1D9h H_CHeFuncAdrs (Host Channel d Function Address) ......................................... 343 3.3.81 1AAh-1ABh H_CHbInterval_H,L(Host Channel b Interval High, Low) ........................... 344 3.3.82 1BAh-1BBh H_CHcInterval_H,L(Host Channel c Interval High, Low) ........................... 344 3.3.83 1CAh-1CBh H_CHdInterval_H,L(Host Channel d Interval High, Low)........................... 344 3.3.84 1DAh-1DBh H_CHeInterval_H,L(Host Channel e Interval High, Low)........................... 344 3.3.85 1ACh H_CHbTranPause(Host Channel b Transaction Pause)...................................... 345 3.3.86 1BCh H_CHcTranPause(Host Channel c Transaction Pause) ...................................... 345 3.3.87 1CCh H_CHdTranPause(Host Channel d Transaction Pause)...................................... 345 3.3.88 1DCh H_CHeTranPause(Host Channel e Transaction Pause)...................................... 345 3.3.89 1AEh H_CHbConditionCode (Host Channel b Condition Code).................................... 346 3.3.90 1BEh H_CHcConditionCode (Host Channel c Condition Code) .................................... 346 3.3.91 1CEh H_CHdConditionCode (Host Channel d Condition Code) ................................... 346 3.3.92 1DEh H_CHeConditionCode (Host Channel e Condition Code) ................................... 346 Appendix A リトルエンディアンのCPUとの接続........................................................................... 348 Appendix B S1R72V17 とS1R72V27 の相違点 .............................................................................. 350 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON xiii 1. 機能説明 1. 機能説明 本 LSI の動作について説明します。 以下では、レジスタについて下記のルールで標記します。 • 1 アドレス分のレジスタを指す場合の名称 レジスタ名+レジスタと標記します。 例:「MainIntStat レジスタ」 • 個々のビットを指す場合の名称 レジスタ名.ビット名+ビット、或いは、ビット名+ビットと標記します。 例:「MainIntStat.CPU_IntStat ビット」 • デバイスエンドポイント毎にあるレジスタ D_EPx{x=... }~レジスタと標記します。 例:「D_EPx{x=0,a-e}IntStat レジスタ」 • ホストチャネル毎にあるレジスタ H_CHx{x=...}~レジスタと標記します。 例:「H_CHx{x=0,a-e}IntStat レジスタ」 1.1 USBデバイス/ホスト選択 USB デバイス機能と USB ホスト機能のいずれか一方を選択して下さい。 USB デバイス機能を選択した場合(以下デバイスモード)、共通レジスタおよびデバイスレジス タのレジスタビット及び機能が有効となります。 USB ホスト機能を選択した場合(以下ホストモード)、共通レジスタおよびホストレジスタのレ ジスタビット及び機能が有効となります。 1.1.1 USBデバイス/ホスト機能選択方法 HostDeviceSel.HOSTxDEVICE ビットをクリアした場合にはデバイス機能が、セットした場合 にはホスト機能が使用可能となります。ホストモードとデバイスモードとの相互のモード切り 替えは、パワーマネジメントステートが SLEEP である時に行えます。USB デバイス/ホスト 選択の設定項目を表 1.1 に示します。 表 1.1 項目 USB デバイス/ホスト 選択 USB デバイス/ホスト機能選択の設定項目 レジスタ/ビット HostDeviceSel.HOSTxDEVICE S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 説明 USB デバイスモードとホストモードのいずれかを 選択します。選択した側のレジスタ、及び機能が 使用可能です。 1: ホストモード 0: デバイスモード 1 1. 機能説明 1.1.2 USBポート状態変化検出ステータス 本 LSI には、USB ポート状態の検出機能があります。 本機能は SLEEP / ACTIVE(「1.4 パワーマネージメント機能」項を参照)の両ステートで使 用できます。 1.1.2.1 USBポート状態変化検出ステータスの使用例 デバイスポート変化ステータスおよびホストポート変化ステータスの使用例を示します。 1.1.2.1.1 デバイスポート変化ステータス 本ステータスは、デバイスモードにおいて、VBUS 端子の状態が変化したことを示し ます。 デバイスポート変化ステータス関連レジスタを表 1.2 に示します。 表 1.2 項目 デバイスポート変化ステータス関連レジスタ レジスタ/ビット 説明 VBUS 端子変化 ステータス USB_DeviceIntStat.VBUS_Changed VBUS 端子の状態が変化したことを示します。 VBUS 端子変化 ステータスイネーブル USB_DeviceIntEnb.EnVBUS_Changed USB_DeviceIntStat. VBUS_Changed による MainIntStat.USB_DeviceIntStat ビットのアサー トを許可/禁止します。 VBUS 端子状態 D_USB_Status.VBUS VBUS 端子の状態を示します。 デバイスポート変化ステータスを使用する場合、F/W は(1)、(2)、(4)~(7)の処理を行 います。 (1) VBUS 端子変化ステータスをクリアします。また、 MainIntEnb.EnUSB_DeviceIntStat ビットをセットします。(割り込みを使用する場 合) (2) VBUS 端子変化ステータスイネーブルをセットします。 (3) VBUS の供給があると、VBUS 端子変化ステータスが発行されます。 (4) VBUS 端子変化ステータスを確認します。 (5) VBUS 端子変化ステータスをクリアします。 (6) VBUS 端子変化ステータスイネーブルをクリアします。 (7) VBUS 端子状態を確認します。VBUS 端子状態が“1”であれば、VBUS が供給さ れている(ホストまたはハブが接続されている)状態と判断します。 2 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 ホストポート変化ステータス 1.1.2.1.2 本ステータスは、ホストモードにおいて、VBUS 給電を制御しているパワードライバ の状態を示します。 ホストポート変化ステータス関連レジスタを表 1.4 に示します。 表 1.3 項目 ホストポート変化ステータス関連レジスタ レジスタ/ビット 説明 VBUS 異常検出 ステータス USB_HostIntStat.VBUS_Err VBUS に異常が発生したことを示します。 VBUS 異常検出 ステータスイネーブル USB_HostIntEnb.EnVBUS_Err USB_HostIntStat.VBUS_Err による MainIntStat.USB_HostIntStat ビットのアサート を許可/禁止します。 VBUS イネーブル H_USB_Control.VBUS_Enb 外部 USB パワースイッチをイネーブルにしま す。 ホストポート VBUS 状態 H_USB_Status.VBUS_State ホストポートの VBUS の状態(正常/異常)を 示します。 VBUS 異常検出ステータスを検出した場合には、直ちに VBUS イネーブルを OFF に して VBUS のドライブを停止してください。 1.1.2.2 信号ライン変化ステータスの使用方法 本ステータスは、ホストモードにおいて、DP 端子および DM 端子の状態が変化したことを 示します。 信号ライン変化ステータス関連レジスタを表 1.4 に示します。 表 1.4 項目 信号ライン変化 ステータス 信号ライン変化ステータス関連レジスタ レジスタ/ビット USB_HostIntStat.LineStateChanged 説明 ホストポートの DP 端子および DM 端子の状態が 変化したことを示します。 信号ライン変化 USB_HostIntEnb.EnLineStateChanged ステータス割り込みイ ネーブル 信号ライン変化ステータスによる MainIntStat.USB_HostIntStat ビットのアサート を許可/禁止します。 VBUS 異常検出 ステータス VBUSFLG 端子をモニタし、VBUS 給電に異常が 発生したことを示します。 USB_HostIntStat.VBUS_Err VBUS 異常検出 USB_HostIntEnb.EnVBUS_Err ステータス割り込みイ ネーブル VBUS 異常検出ステータスによる MainIntStat.USB_HostIntStat ビットのアサート を許可/禁止します。 オペレーションモード H_XcvrControl.OpMode[1:0] トランシーバマクロのオペレーションモードを 設定します。 VBUS イネーブル H_USB_Control.VBUS_Enb 外部 USB パワースイッチをイネーブルにするよ う、VBUSEN 端子から信号を出力します。 ホストポート VBUS 状態 H_USB_Status.VBUS_State ホストポートの VBUSFLG 端子の状態(正常/異 常)を示します。 ホストポート信号ライン 状態 H_USB_Status.LineState[1:0] USB ケーブル上の信号状態を示します。 ホストステート遷移実行 H_NegoControl_0.AutoMode[3:0] 遷移させるホストステートを設定します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 3 1. 機能説明 信号ライン変化ステータスは、USB ホストとして動作中の接続検出ステータスとは異なり、 USB ホスト機能を使用していないとき、すなわち、SLEEP ステート(「1.4 パワーマネージ メント機能」参照)において、ホストポートの信号ライン変化を検出するための特殊なス テータスです。USB ホスト動作時に USB_HostIntEnb.EnLineStateChanged がイネーブルと なっていると、本ステ-タスは頻繁にアサートされます。そのため、USB ホストモードで の動作時は USB_HostIntEnb.EnLineStateChanged をディセーブルにしてください。 また、USB ホストモードでの動作時以外で VBUS 異常検出ステータスを検出した場合には、 直ちに VBUS イネーブルを OFF して VBUS のドライブを停止してください。 信号ライン変化ステータスを使用する際に、ファームウェアは(1)~(4)、(6)~(9)の処理を行 います。 (1) 信号ライン変化ステータスおよび VBUS 異常検出ステータスをクリアします。 (2) 信号ライン変化ステータスイネーブルおよび VBUS 異常検出ステータスイネーブルを セットします。また、MainIntEnb.EnUSB_HostIntStat ビットをセットします。(割り込み を使用する場合) (3) H_XcvrControl レジスタに 0x93 を設定します。 (4) VBUS イネーブルを ON します。 (5) ホストポートにデバイスの接続があるとラインステートが SE0 から変化し、信号ライ ン変化ステータスが発行されます。 (6) 信号ライン変化ステータスを確認します。 (7) 信号ライン変化ステータスをクリアします。 (8) 信号ライン変化ステータスイネーブルをクリアします。 (9) ホストポート信号ライン状態を確認します。“01”または“10”であれば、ホストポートに デバイスが接続されている状態と判断します。 このあと、ホスト・モードを選択した際に、H_XcvrControl レジスタと VBUS_Enb ビット は、ここで設定した値が保持されています。これらの設定は、ファームウェアがホストス テート遷移実行レジスタに適切なコードを設定することで、設定したホストステートに応 じてハードウェアが自動設定します。詳細は、「1.3.10 ホストステート管理サポート機能」 を参照してください。 4 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2 USBデバイス制御 本 LSI の USB デバイス機能について説明します。 1.2.1 エンドポイント 本 LSI はコントロール転送用のエンドポイント(EP0)と、5 本の汎用エンドポイント(EPa, EPb, EPc, EPd, EPe)を持ちます。エンドポイント EPa, EPb, EPc, EPd, EPe は、それぞれに、バルク、 インタラプトまたはアイソクロナス転送用のエンドポイントとして使用できます。さらに、 USB ホストからトランザクションが発行された時に、アラームを発生するアラームエンドポ イント機能により、エンドポイント EP0 を除き、最大 15 の IN エンドポイントと最大 15 の OUT エ ン ド ポ イ ン ト を 持 つ こ と が 可 能 で す 。 ア ラ ー ム エ ン ド ポ イ ン ト 機 能 は 、 EPa,EPb,EPc,EPd,EPe に設定されたアクティブなエンドポイント以外の、任意のエンドポイン トに対して発行されたトランザクションに対して、NAK 応答し、F/W に通知することが出来 ます。 本 LSI のハードウェアは、エンドポイントを提供し、トランザクションの管理を行います。一 方、USB に定義されるインタフェイス(以下、USB 定義インタフェイス)の管理機能を提供し ません。USB 定義インタフェイスは、ファームウェアで実装して下さい。デバイス固有のデ スクリプタ定義に沿って、エンドポイントを適宜設定し、組み合わせて、USB 定義インタフェ イスを構成してください。 各エンドポイントには、USB 定義インタフェイスによって決定される固定の基本設定項目と、 転送毎に制御を行う可変の制御項目及びステータスがあります。基本設定項目は、チップ初期 化時、または、USB 定義インタフェイスの切り替え時等に設定して下さい。 表 1.5 にエンドポイント EP0(デフォルトコントロールパイプ)の基本設定項目を示します。 エンドポイント EP0 は、 IN 方向と OUT 方向とで、レジスタセットや FIFO 領域を共有します。 エンドポイント EP0 におけるデータステージ及びステータスステージでは、その実行に際し て、ファームウェアによって、適宜データトランザクションの方向を設定して下さい。 後述する FIFO エリアに関連付けることにより、トランザクションを実行することが出来るよ うになります。まず、FIFO 領域を AREAx{x=0-5}StartAdrs_H,L 及び AREAx{x=0-5}EndAdrs_H,L で確保し、AREAnFIFO_Clr で FIFO 領域を初期化した後、AREAx{x=0-5}Join_1.JoinEP0CH0 をセットして下さい。このジョイン処理によって関連付けが行われるまで、FIFO を使用して のデータ転送が行えません。 表 1.5 項目 エンドポイント EP0 の基本設定項目 レジスタ/ビット 説明 マックスパケットサイズ D_EP0MaxSize マックスパケットサイズを、FS 動作 時に は 8,16,32,64 のいずれかの値に設定します。また、 HS 動作時には 64 に設定します。 エ ン ド ポ イ ン ト EP0 を FIFO の 任 意 の AREAx{x=0-5}領域に関連付けて使用して下さ い。 FIFO 領域 AREAx{x=0-5}StartAdrs_H,L AREAx{x=0-5}EndAdrs_H,L AREAx{x=0-5}領域に割り当てる FIFO 領域を、 アドレスで指定します。FIFO 領域には、マック スパケットサイズ以上を確保してください。 FIFO 関連付け AREAx{x=0-5}Join_1.JoinEP0CH0 エンドポイント EP0 を FIFO 領域に関連付け、 EP0 におけるデータ転送を行えるようにします。 表 1.6 に汎用エンドポイント(EPa, EPb, EPc, EPd, EPe)の基本設定項目を示します。エンドポイ ント EPa, EPb, EPc, EPd, EPe は、トランザクション方向とエンドポイントナンバーを任意に設 定出来ますので、5 本までの独立したエンドポイントを同時にアクティブにして使用できます。 USB 定義インタフェイスの定義内容に合わせて適宜設定し、また有効にすることによって、 USB 定義インタフェイスを構成して下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 5 1. 機能説明 エンドポイント EPa, EPb, EPc, EPd, EPe は、それぞれ FIFO 領域に関連付けられることによっ て、トランザクションを実行できるようになります。FIFO 領域を AREAx{x=0-5}StartAdrs_H,L 及び AREAx{x=0-5}EndAdrs_H,L レジスタにより確保し、AREAnFIFO_Clr にて FIFO を初期化 した後、AREAx{x=0-5}Join_1 レジスタを適宜セットして下さい。このジョイン処理によって 関連付けが行われて居ないエンドポイントは、トランザクションを実行しません。従って、使 用しないエンドポイントでは、ジョイン処理をしないで下さい。 表 1.6 項目 汎用エンドポイントの基本設定項目 レジスタ/ビット 説明 トランザクション 方向 D_EPx{x=a-e}Config_0.INxOUT 各エンドポイントの転送方向を設定します。 マックスパケット サイズ D_EPx{x=a-e}MaxSize_H, D_EPx{x=a-e}MaxSize_L 各エンドポイントのマックスパケットサイズを、 8Byte,16Byte,32Byte,64Byte,512Byte の い ず れ かの値に設定します。 但し、バルク転送を行うエンドポイントでは、FS モード時は 8/16/32/64Byte のいずれか、HS モー ド時は 512Byte に設定して下さい。 また、アイソクロナス転送を行うエンドポイントで は、FS モード時は 1~1023Byte のいずれか、HS モード時は 1~1024Byte のいずれかに設定します。 エンドポイント ナンバー D_EPx{x=a-e}Config_0.EndpointNumber 各エンドポイントのエンドポイントナンバーを 0x1~0xF の間の任意の値に設定します。 トグルモード D_EPx{x=a-e}Config_0.IntEP_Mode インタラプト転送の動作モードを設定します。バ ルク転送を行うエンドポイントでは、方向に関ら ず、“0”に設定して下さい。 IN 方向のエンドポイントでは、トグルシーケン スのモードを設定します。 OUT 方向のエンドポイントでは、インタラプト 転送を行う場合に、“1”にセットして下さい。 アイソクロナス モード D_EPx{x=a-e}Config_0.ISO アイソクロナス転送を行うエンドポイントで、1 にセットして下さい。 FIFO 領域 AREAx{x=0-5}StartAdrs_H,L AREAx{x=0-5}EndAdrs_H,L 領域をアドレスで指定して確保します。各領域 は、関連付けるエンドポイントのマックスパケッ トサイズ以上のサイズを確保してください。ま た、FIFO のサイズは転送のスループットに影響 する場合があります。 FIFO 関連付け AREAx{x=0-5}Join_1 各エンドポイントと FIFO 領域とを関連付けます。 表 1.7 にアラームエンドポイントの基本設定項目を示します。このアラームエンドポイントは、 現在汎用エンドポイントに割り当てられてはいないが、USB 定義インタフェースにて定義し たエンドポイントを実装するものです。USB 定義インタフェイスの定義内容に合わせて適宜 設定し、また有効にすることによって、USB 定義インタフェイスを構成して下さい。 このアラームエンドポイントには、FIFO 領域は必要ありません。 表 1.7 項目 アラームエンドポイントの基本設定項目 レジスタ/ビット 説明 アラームエンド ポイント有効 D_EnEP_IN_H.EnEPn{n=8-15}IN, D_EnEP_IN_L.EnEPn{n=1-7}IN, D_EnEP_OUT_H.EnEPn{n=8-15}OUT, D_EnEP_OUT_L.EnEPn{n=1-7}OUT アラームエンドポイント有効にします。 アイソクロナス モード D_EnEP_IN_ISO_H.EnEPn{n=8-15}IN_ISO, D_EnEP_IN_ISO_L.EnEPn{n=1-7}IN_ISO, D_EnEP_OUT_ISO_H.EnEPn{n=8-15}OUT_ISO, D_EnEP_OUT_ISO_L.EnEPn{n=1-7}OUT_ISO アイソクロナス転送モードに設定する際 に“1”に設定します。バルク転送、インタラ プト転送に設定するエンドポイントでは、 “0”に設定してください。 6 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 トランザクション 1.2.2 本 LSI は H/W でトランザクション実行機能と、ファームウェアに対するトランザクション実 行のためのインタフェイスを提供します。ファームウェアに対するインタフェイスは、制御レ ジスタとステータスレジスタ、及び、ステータスによりアサートされる割り込み信号として実 装されています。ステータスにより割り込みをアサートする設定については、「2. レジスタ 詳細説明」を参照して下さい。 本 LSI は個々のトランザクション毎に、ファームウェアに対してステータスを発行します。し かしながら、ファームウェアは必ずしも、個々のトランザクションを管理する必要はありませ ん。LSI はトランザクションへの応答を行う時に、FIFO を参照し、そのデータ数または空き 数によって、データ転送を行えるか否かを判断して自動的に処理を行います。 例えば、OUT のエンドポイントであれば、ファームウェアは、CPU インタフェイス(DMA リー ドまたはレジスタリード)により、FIFO からデータを読み出して FIFO に空き領域を作り出す ことによって、OUT トランザクションを自動的に連続して実行させることが出来ます。また、 IN のエンドポイントであれば、ファームウェアは、CPU インタフェイス(DMA ライトまたは レジスタライト)により、FIFO にデータを書き込んで FIFO に有効データを作り出すことに よって、IN トランザクションを自動的に連続して実行させることが出来ます。 表 1.8 にエンドポイント EP0 のトランザクション制御に関する制御項目及びステータスを示し ます。 表 1.8 項目 エンドポイント EP0 の制御項目及びステータス レジスタ/ビット 説明 トランザクション 方向 D_EP0Control.INxOUT データステージ及びステータスステージにおい て、転送方向を設定します。 デスクリプタ返信 イネーブル D_EP0Control.ReplyDescriptor デスクリプタの自動応答を起動します。 デスクリプタ返信 アドレス D_DescAdrs_H, DescAdrs_L デスクリプタの自動応答によって、返信を行う データの FIFO 上の先頭アドレスを指定します。 デスクリプタサイズ D_DescSize_H, DescSize_L デスクリプタの自動応答によって、返信を行う データ数を指定します。 制御禁止 D_SETUP_Control.ProtectEP0 このビットがセットされていると、EP0ControlIN 及び EP0ControlOUT レジスタの ForceNAK ビッ トと ForceSTALL ビットへのアクセスが行えま せん。 このビットは、RcvEP0SETUP ステータスが立つ と、LSI の h/w によってセットされ、CPU による レジスタアクセスでクリアできます。 ショートパケット 送信イネーブル D_EP0ControlIN.EnShortPkt マックスパケットサイズに満たない、ショートパ ケットの送信を有効にします。ショートパケット を送信した IN トランザクションが完結すると、 クリアされます。 ト グ ル シ ー ケ ン ス D_EP0ControlIN.ToggleStat, ビット D_EP0ControlOUT.ToggleStat トグルシーケ ンスビットの 状態を示しま す 。 SETUP ステージにより、自動的に初期化されま す。 トグルセット D_EP0ControlIN.ToggleSet, D_EP0ControlOUT.ToggleSet トグルシーケンスビットをセットします。 トグルクリア D_EP0ControlIN.ToggleClr, D_EP0ControlOUT.ToggleClr トグルシーケンスビットをクリアします。 強制 NAK 応答 D_EP0ControlIN.ForceNAK, D_EP0ControlOUT.ForceNAK FIFO のデータ数/空き数に関わらず、IN 又は OUT(PING を含む)トランザクションに NAK 応答 します。 STALL 応答 D_EP0ControlIN.ForceSTALL, D_EP0ControlOUT.ForceSTALL IN 又は OUT(PING を含む)トランザクションに STALL 応答します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 7 1. 機能説明 自動 ForceNAK セット D_EP0ControlOUT.AutoForceNAK OUT ト ラ ン ザ ク シ ョ ン の 完 結 毎 に 、 D_EP0ControlOUT.ForceNAK ビットをセットし ます。 SETUP 受信 ステータス USB_DeviceIntStat.RcvEP0SETUP SETUP トランザクションが実行されたことを示 します。 トランザクション ステータス D_EP0IntStat.OUT_ShortACK, D_EP0IntStat.IN_TranACK, D_EP0IntStat.OUT_TranACK, D_EP0IntStat.IN_TranNAK, D_EP0IntStat.OUT_TranNAK, D_EP0IntStat.IN_TranErr, D_EP0IntStat.OUT_TranErr トランザクションの結果を示します。 デ ス ク リ プ タ 返 信 D_EP0IntStat.DescriptorCmp データステージ終了 ステータス デスクリプタ自動応答のデータステージが終了 したことを示します。 表 1.9 に、汎用エンドポイント EPa, EPb, EPc, EPd, EPe のトランザクション処理に関する制御 項目とステータスを示します。 表 1.9 項目 自動 ForceNAK セット 汎用エンドポイントの制御項目とステータス レジスタ/ビット D_EPx{x=a-e}Control.AutoForceNAK 説明 OUT トランザクションの完結毎に、そのエンド ポ イ ン ト の D_EPx{x=a-e}Control.ForceNAK ビットをセットします。 ショートパケット送信 D_EPx{x=a-e}Control.EnShortPkt イネーブル IN トランザクションに対し、マックスパケット サイズに満たない、ショートパケットの送信を有 効にします。ショートパケットを送信した IN ト ランザクションが完結すると、クリアされます。 ショートパケット受信 D_EPx{x=a-e}Control.DisAF_NAK_Short による自動 ForceNAK セットの禁止 OUT トランザクションにおいて、ショートパ ケットを受信すると、自動的にそのエンドポイン トの D_EPx{x=a-e}Control.ForceNAK ビットを セットする機能(※)を禁止します。 ※ このビットにより禁止しない場合は有効に なっています。 トグルシーケンス ビット D_EPx{x=a-e}Control.ToggleStat トグルシーケンスビットの状態を示します。 トグルセット D_EPx{x=a-e}Control.ToggleSet トグルシーケンスビットをセットします。 トグルクリア D_EPx{x=a-e}Control.ToggleClr トグルシーケンスビットをクリアします。 強制 NAK 応答 D_EPx{x=a-e}Control.ForceNAK FIFO のデータ数/空き数に関わらず、トランザ クションに NAK 応答します。 STALL 応答 D_EPx{x=a-e}Control.ForceSTALL トランザクションに STALL 応答します。 トランザクション ステータス D_EPx{x=a-e}IntStat.OUT_ShortACK, D_EPx{x=a-e}IntStat.IN_TranACK, D_EPx{x=a-e}IntStat.OUT_TranACK, D_EPx{x=a-e}IntStat.IN_TranNAK, D_EPx{x=a-e}IntStat.OUT_TranNAK, D_EPx{x=a-e}IntStat.IN_TranErr, D_EPx{x=a-e}I~tStat.OUT_TranErr トランザクションの結果を示します。 8 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.2.1 SETUPトランザクション 本 LSI は、自ノードのエンドポイント EP0 宛ての SETUP トランザクションを、無条件に 実施します。(D_NegoControl.ActiveUSB ビットによって USB 機能は有効にされている必要 が有ります。) SETUP ト ラ ン ザ ク シ ョ ン が 発 行 さ れ る と 、 デ ー タ パ ケ ッ ト (8Byte) の 全 て の 内 容 を D_EP0SETUP_0~D_EP0SETUP_7 レジスタに格納し、ACK 応答します。また、SetAddress() リクエストを除き、ファームウェアに対し RcvEP0SETUP ステータスを発行します。 本 LSI は SETUP トランザクション中にエラーが発生した場合には、応答せず、ステータス を発行しません。 本 LSI は SETUP ト ラ ン ザ ク シ ョ ン が 完 結 す る と 、 D_EP0ControlIN レ ジ ス タ 及 び D_EP0ControlOUT レジスタの ForceNAK ビットをセットし、ForceSTALL ビットをクリア します。また、ToggleStat ビットをセットします。また、D_SETUP_Control.ProtectEP0 ビッ トをセットします。ファームウェアは、エンドポイント EP0 の設定を終え、次のステージ に移行可能になったら、SETUP_Control.ProtectEP0 ビットをクリアし、D_EP0ControlIN レ ジスタまたは D_EP0ControlOUT レジスタにおいて、該当する方向の ForceNAK ビットをク リアして下さい。 図 1.1 に SETUP トランザクションの様子を図示します。(a)ホストが、このノードのエンド ポイント 0 に宛てた SETUP トークンを発行します。(b)ホストは続けて、8Byte 長のデータ パケットを送信します。LSI はこのデータを D_EP0SETUP_0~D_EP0SETUP_7 レジスタに 書き込みます。(c)LSI は自動的に ACK 応答します。また、自動設定するレジスタを設定し、 ファームウェアに対しステータスを発行します。 SETUP DATA ACK a b c Host to Device Device to Host 図 1.1 SETUP トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 9 1. 機能説明 1.2.2.2 バルク/インタラプトOUTトランザクション バルク及びインタラプト OUT トランザクションでは、FIFO の空き容量がマックスパケッ トサイズ以上有ると、データの受信を開始します。 本 LSI は、バルク及びインタラプト OUT トランザクションにおいて、全てのデータが正常 に受信できると、トランザクションを完結し、ACK または NYET 応答します。また、ファー ム ウ ェ ア に 対 し 、 該 当 す る エ ン ド ポ イ ン ト の OUT_TranACK ス テ ー タ ス (D_EPx{x=0,a-c}IntStat.OUT_TranACK ビット)を発行します。また、FIFO を更新して、デー タを受信済みとして、領域を確保します。 また、バルク及びインタラプト OUT トランザクションにおいて、ショートパケットの全て のデータを受信できると、上記のトランザクション完結処理に加え、OUT_ShortACK ステー タ ス (D_EPx{x=0,a-e}IntStat.OUT_ShortACK ビ ッ ト ) を 発 行 し ま す 。 ま た 、 D_EPx{x=a-e}Control.DisAF_NAK_Short ビットがクリアされていると、そのエンドポイン トの、D_EPx{x=a-e}Control.ForceNAK ビットをセットします。 バルク及びインタラプト OUT トランザクションにおいて、トグルミスマッチが発生した場 合、トランザクションに ACK 応答しますが、ステータスを発行しません。FIFO は更新さ れません。 バルク及びインタラプト OUT トランザクションにエラーが発生した場合、トランザクショ ンに応答しません。また、OUT_TranErr ステータス(D_EPx{x=0,a-e}IntStat.OUT_TranErr ビッ ト)を発行します。FIFO は更新されません。 バルク及びインタラプト OUT トランザクションにおいて、全てのデータを受信できなかっ た 場 合 、 ト ラ ン ザ ク シ ョ ン に NAK 応 答 し ま す 。 ま た 、 OUT_TranNAK ス テ ー タ ス (D_EPx{x=0,a-e}IntStat.OUT_TranNAK ビット)を発行します。FIFO は更新されません。 図 1.2 に、完結する場合のバルクまたはインタラプト OUT トランザクションの様子を図示 します。(a)ホストが、このノードに存在する OUT 方向のエンドポイントに宛てた OUT トー クンを発行します。(b)ホストは続けて、マックスパケットサイズ以内のデータパケットを 送信します。LSI はこのデータを、該当するエンドポイントの FIFO に書き込みます。(c)LSI はデータを受信できると、自動的に ACK 応答します。また、自動設定するレジスタを設定 し、ファームウェアに対しステータスを発行します。 OUT DATA ACK a b c Host to Device Device to Host 図 1.2 10 OUT トランザクション EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.2.3 アイソクロナスOUTトランザクション アイソクロナス OUT トランザクションでは、FIFO の空き容量がマックスパケットサイズ 以上有ると、データの受信を開始します。従いまして、CPU インタフェイスによるレジス タリードや DMA リード等により FIFO のデータを読み出して、空き領域を作りながら受信 をすることが出来るよう、FIFO をマックスパケットサイズの倍程度割り当てることにより、 良好なスループットを提供します。 アイソクロナス OUT トランザクションにおいて、全てのデータが正常に受信できると、F/W に 対 し 、 該 当 す る エ ン ド ポ イ ン ト の OUT_TranACK ス テ ー タ ス (EPx{x=a-e}IntStat.OUT_TranACK ビット)を発行します。また、FIFO を更新して、データ を受信済みとして、領域を確保します。 アイソクロナス OUT トランザクションにおいて、マックスパケットサイズ未満の全ての データを受信できると、上記のトランザクション完結処理に加え、OUT_ShortACK ステー タ ス (EPx{x=a-e}IntStat.OUT_ShortACK ビ ッ ト ) を 発 行 し ま す 。 ま た 、 EPx{x=a-e}Control.DisAF_NAK_Short ビットがクリアされていると、そのエンドポイントの、 EPx{x=a-e}ForceNAK ビットをセットします。 アイソクロナス OUT トランザクションにエラーが発生した場合、データを受信せず、FIFO を更新しません。また、OUT_TranErr ステータス(EPx{x=a-e}IntStat.OUT_TranErr ビット) を発行します。 アイソクロナス OUT トランザクションにおいて、1 パケット分の全てのデータを受信でき なかった場合、OUT_TranNAK ステータス(EPx{x=a-e}IntStat.OUT_TranNAK ビット)を発行 します。FIFO は更新されません。 1.2.2.4 バルク/インタラプトINトランザクション IN 方向のバルク及びインタラプトのエンドポイントにおいて、FIFO にマックスパケット サイズ分のデータが有るか、または、ファームウェアによってショートパケットの送信が 許可されていると、IN トランザクションに応答して、データパケットを返信します。 ショートパケット(データ長ゼロのパケットを含む)の送信許可は、 D_EP0ControlIN.EnShortPkt ビットまたは D_EPx{x=a-e}Control.EnShortPkt ビットをセット することで行います。ショートパケットを送信する場合、送信許可後、トランザクション が完結するまでの間、新たなデータをそのエンドポイントの FIFO に書き込まないようにし て下さい。 エンドポイント EP0 では、ショートパケットを送信する IN トランザクションが完結する と、D_EP0ControlIN.ForceNAK ビットがセットされます。 データ返信した IN トランザクションで、ACK を受信すると、トランザクションを完結し、 ファームウェアに対し、IN_TranACK ステータス(D_EPx{x=0,a-e}IntStat.IN_TranACK ビッ ト)を発行します。また、FIFO を更新して、送信したデータを送信済みとして領域を開放 します。 データ返信した IN トランザクションで、ACK を受信しないと、トランザクションを失敗 と見なし、ファームウェアに対し、IN_TranErr ステータス(D_EPx{x=0,a-e}IntStat.IN_TranErr ビット)を発行します。また、FIFO を更新せず、領域を開放しません。 バルク及びインタラプトの IN 方向のエンドポイントにおいて、FIFO にマックスパケット サイズ分のデータが無く、かつ、ショートパケットの送信が許可されていないと、IN トラ ン ザ ク シ ョ ン に NAK 応 答 し 、 フ ァ ー ム ウ ェ ア に 対 し 、 IN_TranNAK ス テ ー タ ス (D_EPx{x=0,a-e}IntStat.IN_TranNAK ビット)を発行します。また、FIFO を更新せず、領域 を開放しません。 図 1.3 に、完結する場合のバルクまたはインタラプト IN トランザクションの様子を図示し ます。(a)ホストが、このノードに存在する IN 方向のエンドポイントに宛てた IN トークン を発行します。(b)LSI は、この IN トランザクションに応答できる場合、マックスパケット サイズ以内のデータパケットを送信します。(c)ホストは ACK 応答します。LSI は ACK を S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 11 1. 機能説明 受信すると、自動設定するレジスタを設定し、ファームウェアに対しステータスを発行し ます。 IN DATA ACK a b c Host to Device Device to Host 図 1.3 1.2.2.5 IN トランザクション アイソクロナスINトランザクション IN 方向のアイソクロナスのエンドポイントにおいて、FIFO にマックスパケットサイズ分 のデータが在るか、または、F/W によってショートパケットの送信が許可されていると、 IN トランザクションに応答して、データパケットを返信します。 ショートパケット(データ長ゼロのパケットを含む)の送信許可は、 EPx{x=a-e}Control.EnShortPkt ビットをセットすることで行います。ショートパケットを送 信する場合、送信許可後、トランザクションが完結するまでの間、新たなデータをそのエ ンドポイントの FIFO に書き込まないようにして下さい。 アイソクロナス IN トランザクションにデータパケットを返信すると、トランザクションを 完結し、F/W に対し、IN_TranACK ステータス(EPx{x=a-e}IntStat.IN_TranACK ビット)を発 行します。また、FIFO を更新して、送信したデータを送信済みとして領域を開放します。 アイソクロナスの IN 方向のエンドポイントにおいて、FIFO にマックスパケットサイズ分 のデータが無く、かつ、ショートパケットの送信が許可されていないと、IN トランザクショ ン に ゼ ロ 長 デ ー タ パ ケ ッ ト で 応 答 し 、 F/W に 対 し 、 IN_TranNAK ス テ ー タ ス (EPx{x=a-e}IntStat.IN_TranNAK ビット)を発行します。また、FIFO を更新せず、領域を開 放しません。 12 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.2.6 PINGトランザクション バルクの OUT 方向のエンドポイントでは、HS 動作時に、PING トランザクションを実行し ます。 該当するエンドポイントの FIFO 空き容量がマックスパケットサイズ以上であった場合に、 PING トランザクションに対して ACK 応答します。また、ファームウェアに対して、ステー タスを発行しません。 該当するエンドポイントの FIFO の空き容量がマックスパケットサイズ未満であった場合 に、PING トランザクションに対して NAK 応答します。また、ファームウェアに対し、 OUT_TranNAK ステータス(D_EPx{x=0,a-e}IntStat.OUT_TranNAK ビット)を発行します。 PING トランザクションにおいては、FIFO が更新されることはありません。 図 1.4 に、PING トランザクションに対して ACK 応答する様子を図示します。(a)ホストが、 このノードに存在する OUT 方向のエンドポイントに宛てた PING トークンを発行します。 (b)LSI は、FIFO にマックスパケットサイズ分の空きがある場合、この PING トランザクショ ンに対し ACK 応答します。また、ファームウェアに対しステータスを発行します。 PING ACK a b Host to Device Device to Host 図 1.4 PING トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 13 1. 機能説明 1.2.3 コントロール転送 エンドポイント EP0 におけるコントロール転送は、SetAddress()リクエストを除き、個々のト ランザクションの組み合わせとして制御します。SetAddress()リクエストは、後述の自動アド レス設定機能により、自動的に処理されます。 図 1.5 にデータステージが OUT 方向である場合のコントロール転送の様子を図示します。(a) ホストは、SETUP トランザクションによって、コントロール転送を開始します。デバイスの ファームウェアはリクエストの内容を解析して、データステージに応答する準備をします。(b) ホストは OUT トランザクションを発行して、データステージを行い、デバイスはデータを受 信します。(c)ホストは IN トランザクションを発行して、ステータスステージを行い、デバイ スはデータ長ゼロのパケットを返信します。 データステージの無いコントロール転送は、この例におけるデータステージが無い状態で実施 されます。 ステータスステージへの移行は、ホストがデータステージと逆方向のトランザクションを発行 す る こ と に よ っ て な さ れ ま す 。 フ ァ ー ム ウ ェ ア は 、 IN_TranNAK ス テ ー タ ス (D_EP0IntStat.IN_TranNAK ビット)を監視して、データステージからステータスステージに移 行するきっかけとして下さい。 a b b c Host to Device Device to Host 図 1.5 データステージが OUT 方向のコントロール転送 図 1.6 にデータステージが IN 方向である場合のコントロール転送の様子を図示します。(a)ホ ストは、SETUP トランザクションによって、コントロール転送を開始します。デバイスの ファームウェアはリクエストの内容を解析して、データステージに応答する準備をします。(b) ホストは IN トランザクションを発行して、データステージを行い、デバイスはデータを送信 します。(c)ホストは OUT トランザクションを発行して、ステータスステージを行い、デバイ スは ACK 応答します。 ステータスステージへの移行は、ホストがデータステージと逆方向のトランザクションを発行 す る こ と に よ っ て な さ れ ま す 。 フ ァ ー ム ウ ェ ア は 、 OUT_TranNAK ス テ ー タ ス (D_EP0IntStat.OUT_TranNAK ビット)を監視して、データステージからステータスステージに 移行するきっかけとして下さい。 14 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 a b b c Host to Device Device to Host 図 1.6 データステージが IN 方向のコントロール転送 コントロール転送のデータステージ及びステータスステージは、通常の OUT 及び IN トラン ザクションを行いますので、NAK によるフロー制御が有効です。デバイスは定められた時間 内に、応答する準備をすることが許されています。 1.2.3.1 セットアップステージ 自ノードに宛てられた SETUP トークンを受信すると、自動的にセットアップトランザク ションを実行します。 フ ァ ー ム ウ ェ ア は 、 RcvEP0SETUP ス テ ー タ ス を モ ニ タ し 、 D_EP0SETUP_0 ~ D_EP0SETUP_7 レジスタによりリクエストを解析して、コントロール転送を制御して下さ い。 受信したリクエストが、OUT 方向のデータステージが有るものであった場合、データス テージに移行するため、D_EP0Control レジスタの INxOUT ビットをクリアして、エンドポ イント EP0 を OUT 方向に設定して下さい。 受信したリクエストが、IN 方向のデータステージが有るものであった場合、データステー ジに移行するため、D_EP0Control レジスタの INxOUT ビットをセットして、エンドポイン ト EP0 を IN 方向に設定して下さい。 受信したリクエストが、データステージの無いものであった場合、ステータスステージに 移行するため、D_EP0Control レジスタの INxOUT ビットをセットして、 エンドポイント EP0 を IN 方向に設定して下さい。 1.2.3.2 データステージ/ステータスステージ D_EP0SETUP_0~D_EP0SETUP_7 レジスタを読み出してリクエストを解析した内容に従っ て、次のステージに移行して下さい。 そのステージが OUT 方向である場合、D_EP0Control レジスタの INxOUT をクリアして OUT 方向に設定し、D_EP0ControlOUT レジスタを適宜設定して、ステージをコントロールして 下さい。SETUP ステージ終了時は、ForceNAK ビットがセットされています。また、 D_SETUP_Control.ProtectEP0 ビットがセットされています。 そのステージが IN 方向である場合、D_EP0Control レジスタの INxOUT をセットして IN 方 向に設定し、D_EP0ControlIN レジスタを適宜設定して、ステージをコントロールして下さ い 。 SETUP ス テ ー ジ 終 了 時 は 、 ForceNAK ビ ッ ト が セ ッ ト さ れ て い ま す 。 ま た 、 D_SETUP_Control.ProtectEP0 ビットがセットされています。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 15 1. 機能説明 1.2.3.3 自動アドレス設定機能 本 LSI には、エンドポイント EP0 におけるコントロール転送において、SetAddress()リクエ ストの処理を自動化する機能があります。 LSI の h/w は D_EP0SETUP_0~D_EP0SETUP_7 レジスタによってリクエストの内容を確認 し、有効な SetAddress()リクエストで有った場合には、ファームウェアに通知することなく、 このリクエストのステータスステージの処理に移行します。ステータスステージが完了す ると、D_USB_Address レジスタにアドレスを設定し、ファームウェアに対し SetAddressCmp ステータス(D_SIE_IntStat.SetAddressCmp ビット)を発行します。 フ ァ ー ム ウ ェ ア は SetAddressCmp ス テ ー タ ス を 監 視 し 、 こ れ が 発 行 さ れ た ら D_USB_Address レジスタにより、アドレスを確認できます。 1.2.3.4 デスクリプタ返信機能 本 LSI には、エンドポイント EP0 におけるコントロール転送において、GetDescriptor()等の 複数回発行され同じデータを要求するリクエストに有効な、デスクリプタ返信機能があり ます。 データステージが IN 転送であるリクエストにおいて、ファームウェアはこの機能を使用す ることが出来ます。 D_EP0ControlIN.ForceNAK ビットをクリアして、データステージへの応答を開始する前に、 D_DescAdrs_H,L レジスタに FIFO のデスクリプタ領域内の、返信するデータの先頭アドレ ス を 、 ま た 、 D_DescSize_H,L レ ジ ス タ に 返 信 す る デ ー タ の 総 バ イ ト 数 を 設 定 し 、 D_EP0Control.ReplyDescriptor ビットをセットして下さい。 デスクリプタ返信機能は、設定数のデータを送り終わるまで、データステージの IN トラン ザクションに応答してデータパケットを返信し、IN トランザクションを実行します。設定 数のデータを送り終えた後に IN トランザクションが発行されると、NAK 応答します。マッ クスパケットサイズに対し端数のデータが存在すると、デスクリプタ返信機能は、 D_EP0ControlIN.EnShortPkt をセットし、全てのデータを返信するまで、IN トランザクショ ンに応答出来るようにします。 OUT ト ー ク ン を 受 信 し 、 ス テ ー タ ス ス テ ー ジ へ の 移 行 を 検 知 す る と 、 D_EP0Control.ReplyDescriptor ビットをクリアし、ファームウェアに対し DescriptorCmp ス テータス(D_EP0IntStat.DescriptorCmp ビット)を発行します。DescriptorCmp ステータスを検 知したら、ファームウェアはステータスステージを行って下さい。 デスクリプタ領域については、「1.5 FIFO 管理」を参照して下さい。 1.2.4 バルク転送/インタラプト転送/アイソクロナス転送 汎用エンドポイント EPa, EPb, EPc, EPd, EPe におけるバルク転送、インタラプト転送、アイソ クロナス転送は、データフロー(「1.2.5 データフロー」参照)としても、連続する個々のトラ ンザクション(「1.2.2 トランザクション」参照)としても制御できます。 16 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.5 データフロー OUT 転送及び IN 転送の一般的なデータフローの制御について、説明します。 1.2.5.1 OUT転送 OUT 転送によって受信したデータは、各エンドポイントに関連付けられた FIFO 上に書き 込まれます。FIFO のデータを読み出すには、CPU インタフェイスによるレジスタ読み出し、 CPU インタフェイスによる DMA 読み出しの方法があります。 CPU イ ン タ フ ェ イ ス の レ ジ ス タ リ ー ド に よ り 、 FIFO の デ ー タ を 読 み 出 す に は 、 AREAx{x=0-5}Join_0.JoinCPU_Rd ビットにより、 ただ一つの FIFO 領域を選択して下さい。 選択した FIFO 領域は、FIFO_Rd レジスタ、または、FIFO_ByteRd レジスタにより、受信 順 に 読 み 出 す こ と が 出 来 ま す 。 ま た 、 読 み 出 し 可 能 な FIFO の デ ー タ 数 を 、 FIFO_RdRemain_H,L レジスタにより参照できます。空の FIFO を読み出すことはできませ んので、必ず FIFO_RdRemain_H,L レジスタによりデータ数を確認し、その数を超えないよ うに読み出して下さい。 CPU イ ン タ フ ェ イ ス の DMA リ ー ド に よ り 、 FIFO の デ ー タ を 読 み 出 す に は 、 AREAx{x=0-5}Join_0.JoinDMA ビ ッ ト に よ り 、 た だ 一 つ の FIFO 領 域 を 選 択 し 、 DMA_Control.Dir ビットに“1”を設定して下さい。選択した FIFO 領域は、CPU インタフェ イスにおいて DMA 手順を実行することにより、受信順に読み出されます。また、FIFO の 残りデータ数を、DMA_Remain_H,L レジスタで参照できます。FIFO が空になると、CPU インタフェイスは自動的に DMA を一時停止してフロー制御を行います。 FIFO にデータパケットを受信できる空き領域が有れば、OUT トランザクションに自動的 に応答して、データを受信できます。従って、ファームウェアによって、個々のトランザ クションについての制御を行うことなく、OUT 転送を行うことができます。但し、 D_EPx{x=a-e}Control.DisAF_NAK_Short ビットがクリアされている場合(初期値)、ショート パケット(データ長ゼロのパケットを含む)を受信した場合、そのエンドポイントの D_EPx{x=a-e}Control.ForceNAK ビットをセットしますので、次のデータ転送を行う準備が 出来たら、D_EPx{x=a-e}Control.ForceNAK ビットをクリアして下さい。 1.2.5.2 IN転送 IN 転送により送信するデータを、各エンドポイントに関連付けられた FIFO 領域に書き込 んで下さい。FIFO にデータを書き込むには、CPU インタフェイスによるレジスタ書き込み と、CPU インタフェイスによる DMA 書き込みの方法があります。 CPU イ ン タ フ ェ イ ス の レ ジ ス タ ラ イ ト に よ り 、 FIFO に デ ー タ を 書 き 込 む に は 、 AREAx{x=0-5}Join_0.JoinCPU_Wr ビットにより、 ただ一つの FIFO 領域を選択して下さい。 選択した FIFO 領域には、FIFO_Wr_0,1 レジスタまたは FIFO_ByteWr レジスタにより書き 込むことができ、書き込み順にデータパケットで送信されます。また、FIFO の空き容量を、 FIFO_WrRemain_H,L レジスタにより参照できます。フル状態の FIFO へ書き込むことは出 来ません。必ず FIFO_WrRemain_H,L レジスタにより空き数を確認し、その数を超えないよ うに書き込んで下さい。 CPU イ ン タ フ ェ イ ス の DMA ラ イ ト に よ り 、 FIFO に デ ー タ を 書 き 込 む に は 、 AREAx{x=0-5}Join.JoinDMA ビットにより、DMA のチャネルにただ一つの FIFO 領域を選 択し、DMA_Control.Dir ビットに“0”を設定して下さい。選択した FIFO 領域には、CPU イ ンタフェイスにおいて DMA の手順を実行することにより、書き込まれ、書き込み順にデー タパケットで送信されます。FIFO がフルになると、CPU インタフェイスは自動的に DMA を一時停止してフロー制御を行います。 FIFO にマックスパケットサイズ以上のデータが有れば、IN トランザクションに自動的に 応答して、データを送信できます。従って、ファームウェアによって、個々のトランザク ションについての制御を行うことなく、IN 転送を行うことが出来ます。但し、データ転送 の最後にショートパケットを送信する必要がある場合、EnShortPkt ビットをセットして下 さい。このビットはショートパケットを送信した IN トランザクションが完結することに S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 17 1. 機能説明 よってクリアされます。FIFO へのデータ書き込みが終了した時点でセットすることが可能 です。また、DMA_FIFO_Control.AutoEnShort ビットがセットされていると、CPU インタフェ イスの DMA 書き込みが終了した時に、マックスパケットサイズに満たない端数データが FIFO に有ると、そのエンドポイントの EnShortPkt ビットを自動的にセットします。 1.2.6 バルクオンリーサポート 本 LSI には、エンドポイント EPa, EPb, EPc, EPd, EPe におけるバルク転送において、USB Mass Storage Class(BulkOnly Transport Protocol)に固有の Command Block Wrapper(CBW)の受信及び Command Status Wrapper(CSW)の送信を補助する、バルクオンリーサポート機能があります。 D_BulkOnlyConfig.EPx{x=a-e}BulkOnly ビットをセットすると、対象となるエンドポイントで、 バルクオンリーサポート機能が有効になります。 バルクオンリーサポート機能が有効にされ、CBW サポート、または CSW サポートが実行さ れている間は、エンドポイントに通常割り当てられた FIFO 領域ではなく、CBW 領域または CSW 領域として割り当てられている領域を使用して、パケットの受信(CBW)または送信 (CSW)を行います。 1.2.6.1 CBWサポート ファームウェアは BulkOnly Transport Protocol のコマンドトランスポートを行うときに、 CBW サポートを使用することが出来ます。D_BunlOnlyConfig.EPx{x=a-e}BulkOnly ビット がセットされると、対応する OUT のエンドポイントで CBW サポートが有効になります。 CBW サポートは、ただひとつのエンドポイントで有効になるように設定して下さい。CBW サポートが有効であるときに、D_BulkOnlyContol.GoCBW_Mode ビットをセットすると、 CBW サポートが実行され、対象となるエンドポイントにおける OUT トランザクションで 受信したデータを CBW として扱います。 データパケットのデータ長が CBW として期待される 31 バイト長であった場合には、デー タ を CBW 領 域 に 保 存 し 、 フ ァ ー ム ウ ェ ア に 対 し CBW 完 了 ス テ ー タ ス (D_BulkIntStat.CBW_Cmp ビット)を発行します。また、D_BulkOnlyControl.GoCBW_Mode ビ ット を自動 的に クリア し、 CBW サ ポ ート の実 行が終 了し ます。 また 、この と き D_BulkOnlyControl.GoCSW_Mode ビットがセットされていると、同時にクリアします。 データパケットのデータ長が、31 バイト長未満か、または、31 バイト長を超えた場合には、 デ ー タ を 受 信 せ ず 、 フ ァ ー ム ウ ェ ア に 対 し CBW デ ー タ 長 エ ラ ー ス テ ー タ ス (D_BulkIntStat.CBW_LengthErr ビット)を発行します。また、 D_BulkOnlyControl.GoCBW_Mode ビットを自動的にクリアし、CBW サポートの実行を終了 します。また、このとき D_BulkOnlyControl.GoCSW_Mode ビットがセットされていると、 同時にクリアします。CBW_Err ステータスが発行された場合、BulkOnly Transport Protocol でフェーズミスマッチが発生していますので、ファームウェアはエンドポイントを STALL するなどして、通信の復旧を行ってください。 対象となるエンドポイントで D_EPx{x=a-e}Control.ForceSTALL がセットされ、OUT トラン ザクションに STALL 応答した場合には、ファームウェアに対し CBW エラーステータス (D_BulkIntStat.CBW_Err ビット)を発行し、D_BulkOnlyControl.GoCBW_Mode ビットをクリ アし、CBW サポートの実行が終了します。また、このとき D_BulkOnlyControl.GoCSW_Mode ビットがセットされていると、同時にクリアします。 OUT トランザクションに CRC エラーなどのトランザクションエラーが発生した場合は、 データを受信せずファームウェアに対し CBW トランザクションエラーステータス (D_BulkIntStat.CBW_TranErr ビ ッ ト ) ス テ ー タ ス を 発 行 し ま す 。 こ の 場 合 に は 、 D_BulkOnlyControl.GoCBW_Mode ビットがクリアされず、CBW サポートの実行が継続しま す。また、このとき D_BulkOnlyControl.GoCSW_Mode ビットがセットされていてもクリア されません。 CBW 領域に受信したデータは、RAM_Rd 機能を用いて読み出すことが出来ます。 18 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.6.2 CSWサポート ファームウェアは BulkOnly Transport Protocol のステータストランスポートを行うときに、 CSW サポートを使用することが出来ます。D_BulkOnlyConfig.EPx{x=a-e}BulkOnly ビット がセットされると、対応する IN のエンドポイントで CSW サポートが有効になります。CSW サポートは、ただひとつのエンドポイントで有効になるように制御して下さい。CSW サ ポートが有効であるときに、D_BulkOnlyControl.GoCSW_Mode ビットをセットすると、CSW サポートが実行され、対象となるエンドポイントにおける IN トランザクションを CSW と して扱い、CSW 領域から 13 バイトのデータを送信します。 IN トランザクションにおいて、13 バイトの CSW データをホストへ返信した後に、ホスト からの ACK を受信してトランザクションを完結した場合には、ファームウェアに対し CSW 完 了 ス テ ー タ ス (D_BulkIntStat.CSW_Cmp ビ ッ ト ) を 発 行 し ま す 。 ま た 、 D_BulkOnlyControl.GoCSW_Mode ビットを自動的にクリアして CSW サポートの実行を終 了します。また、同時に D_BulkOnlyControl.GoCBW_Mode ビットをセットして CBW サポー トの実行を開始します。 IN トランザクションにおいて、13 バイトのデータをホストへ返信した後に、ホストからの ACK が 受 信 で き な か っ た 場 合 は 、 フ ァ ー ム ウ ェ ア に 対 し CSW エ ラ ー ス テ ー タ ス (D_BulkIntStat.CSW_Err ビット)を発行します。この時、D_BulkOnlyControl.GoCSW_Mode ビットをクリアせずに CSW サポートの実行を継続します。また、同時にハードウェアが D_BulkOnlyControl.GoCBW_Mode ビットをセットして CBW サポートの実行を開始します。 即ち、この場合には、CSW サポートの実行と、CBW サポートの実行が同時に行われてい る状態となります。もし、ホストが CSW を受信できずエラーとなっていた場合には、CSW のリトライが行われますが、CSW サポートが実行中なので応答することができます。また、 デバイスが ACK を受信できずにエラーとなった場合には、 次の CBW が行われますが、CBW サポートが実行中なので、応答することができ、また、CBW サポートが行われることによっ て CSW サポートの実行が終了されます。 CSW 領域へは、RAM_WrDoor 機能を用いてデータを書き込むことが出来ます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 19 1. 機能説明 1.2.7 ケーブルネゴシエーション機能(オート・ネゴシエータ) オート・ネゴシエータは、サスペンド検出、リセット検出、HS Detection Handshake 実行、レ ジューム検出、等のバスイベントに対し、USB バスの状態を逐次チェックしながらケーブル ネ ゴ シ エ ー シ ョ ン を 自 動 的 に 行 い ま す 。 実 行 結 果 は 、 各 割 り 込 み (DetectRESET 、 DetectSUSPEND、ChirpCmp、RestoreCmp)により示されます。オート・ネゴシエータはケーブ ルの挿抜を扱いませんので、ケーブル接続後に有効にし、また、ケーブル切断後に無効にして 下さい。 EnAutoNego != 1 DISABLE EnAutoNego == 0 EnAutoNego == 1 EnDetectReset = 1 EnDetectSuspend = 1 Reset発生からReset検出ま での時間(回路上) FS: 約3.0us HS: 約3.5ms DetectSeq = start NORMAL state IDLE irq_DetectSuspend == 1 irq_DetectReset == 1 RESET state SUSPEND state DetectSeq = start irq_DetectReset == 0 and irq_DetectSuspend == 0 DetectSeq = stop DetectSeq = stop irq_RestoreCmp == 1 Wait 3us ResumeのK State 開始からK State終 了までの時間 20.0ms~ 自動的に InSUSPENDをセッ トする。 DET_ SUSPEND WAIT_ TIM3US HS Detection Handshake irq_RestoreCmp InSUSPEND = 1 GoChirp = 1 WAIT_ RESTORE SLEEPさせても良 い InSUSPEND != 0 IN_ SUSPEND irq_NonJ == 1 RestoreUSB = 1 InSUSPEND == 0 LineState == K State SLEEPさせた時 は、InSUSPENDを クリアする前に必ず SLEEPから復帰さ せること。復帰のさ せ方はパワーマネ ージメントを参照 LineState == SE0 State CHK_ EVENT Chirp_K送出後か らChirpCmpまで の時間 FS Host:1.0ms~ 2.5ms HS Host:300us~ 900us irq_ChirpCmp == 0 WAIT_ CHIRP irq_ChipCmp == 1 Reset検出後から Reset終了までの 時間 10.0ms~ irq_DetectReset == 1 Reset検出から Chirp_K 出力するまでの時間 (規格) FS:2.5us~3.0ms HS:100us~875us WAIT_ RSTEND DisableHSがセットさ れている時は、 Chirp_Kを送出せず に、即座に ChirpCmpとする。 InChirp == 1 RESUME state LineState != (SE0 || K)State irq_AutoNegoErr InChirp == 0 DetectSeq = start ERR 図 1.7 20 オート・ネゴシエータ EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.7.1 1.2.7.1.1 オート・ネゴシエータ Disable D_NegoControl.EnAutoNego ビットをクリアしている時に、このステートに入ります。 オート・ネゴシエータを有効にする時には、D_NegoControl.EnAutoNego ビットをセッ トする前に、リセット検出割り込み許可ビット(D_SIE_IntEnb.EnDetectRESET)、サス ペンド検出割り込み許可ビット(D_SIE_IntEnb.EnDetectSUSPEND)をセットし、両イ ベント検出割り込みを許可してください。 オート・ネゴシエータを有効にすると、内部イベント検出機能を有効にします。オー ト・ネゴシエータを有効にしている間は、D_NegoControl.DisBusDetect ビットを絶対 にセットしないでください。 1.2.7.1.2 IDLE リセット検出待ち、サスペンド検出待ちをするステートです。 現在の USB スピードが HS の時には、USB バス上にバス・アクティビティが 3ms 以 上検出できなかった場合に、一旦 FS のターミネーションを有効にし、FS-J が検出さ れた場合はサスペンド、SE0 が検出された場合はリセットと判断します。現在のス ピードが FS の時には、2.5us 以上の SE0 が検出された場合はリセット、3ms 以上バ ス・アクティビティが検出できなかった場合はサスペンドと判断します。これらの 判断と同時に、リセット検出割り込み、またはサスペンド検出割り込みが発生し、 D_SIE_IntStat.DetectRESET ビット、または D_SIE_IntStat.DetectSUSPEND ビットが セットされます。 サスペンドと判断した場合、一旦イベント検出機能を停止し、DET_SUSPEND ステー トに入ります。 リセットと判断した場合、一旦イベント検出機能を停止し、WAIT_TIM3US ステート に入ります。 1.2.7.1.3 WAIT_TIM3US リセット検出後、HS Detection Handshake を実行するまでの時間を調整しています。 一定時間経過後(約 3us 後)、WAIT_CHIRP ステートに入ります。 1.2.7.1.4 WAIT_CHIRP D_NegoControl.GoChirp ビットを自動的にセットし、HS Detection Handshake を実行し ま す 。 HS Detection Handshake が 終 了 す る と 、 Chirp 終 了 割 り 込 み ス テ ー タ ス (D_SIE_IntStat.ChirpCmp)がセットされ、WAIT_RSTEND ステートに入ります。HS Detection Handshake の詳細については、「1.2.7.2.5 HS Detection Handshake」を参照し てください。 ま た 、 D_NegoControl.DisableHS ビ ッ ト を セ ッ ト し て い る 場 合 は 、 HS Detection Handshake を実行せずに、Chirp 終了割り込みステータス(D_SIE_IntStat.ChirpCmp)が セットされ、WAIT_RSTEND ステートに入ります。 なお、このステート終了後は、D_USB_Status.FSxHS ビットに設定された転送スピー ドにて動作することとなります。転送スピードが変化したことを検出する必要があ る場合は、前述の Chirp 終了割り込みを有効にするために、D_SIE_IntEnb.EnChirpCmp ビットをセットしてください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 21 1. 機能説明 1.2.7.1.5 WAIT_RSTEND リセット期間が終了するまで、このステートにて待ちます。HS 時はホストからの Chirp 送信(この IC にとっては受信)が終了したこと、FS 時は SE0 から J に遷移した ことをもって、リセット期間の終了と判断します。 リセット期間終了と判断した後、イベント検出機能を有効にし、再度 IDLE ステート に入ります。 1.2.7.1.6 DET_SUSPEND サスペンドと判断された場合に、自動的に D_NegoControl.InSUSPEND ビットがセッ トされ、IN_SUSPEND ステートに入ります。この D_NegoControl.InSUSPEND ビット によって、FS-J からのバスの遷移を検出する機能を有効にし、ホストからのレジュー ム及びリセットを検出するようになります。 サスペンド中に実際に消費電流を軽減するかどうかは、アプリケーションに依存し ます。本 LSI では、パワーマネジメントにより、待機時の消費電流を軽減すること が出来ます。パワーマネジメントの詳しい内容、及び、制御方法につきましては、 「1.4 パワーマネージメント機能」を参照してください。 また、この時サスペンド終了指示であるレジューム(FS-K)を検出するために、NonJ 割り込みを許可してください。 1.2.7.1.7 IN_SUSPEND NonJ 割り込みステータス(D_SIE_IntStat.NonJ)がセットされたら、サスペンドからの 復帰指示であると判断して、D_NegoControl.InSUSPEND ビットを F/W にてクリアし て下さい。パワーマネジメントにより、SLEEP にしている場合は、InSUSPEND をク リアするまえに、ACTIVE に戻して下さい。InSUSPEND がクリアされると、オート・ ネゴシエータは CHK_EVENT ステートに入ります。 リモート・ウェイクアップ機能を有効にしているアプリケーションで、自発的にサ スペンドから復帰する場合には、このステートの中で D_NegoControl.SendWakeup ビットをセットし、1ms 以上、15ms 以下の間 FS-K を出力してください。 1.2.7.1.8 CHK_EVENT USB ケーブル上をチェックし、FS-K を検出した場合レジュームであると判断し、SE0 を検出した場合リセットであると判断します。レジュームと判断した場合は、 D_NegoControl.RestoreUSB ビ ッ ト を セ ッ ト し 、 サ ス ペ ン ド 前 の 転 送 ス ピ ー ド (D_USB_Status.FSxHS の値に従う)に戻ります。リセットと判断した場合は、IDLE ス テートからの遷移と同じく、一旦イベント検出機能を停止し、WAIT_TIM3US ステー トに入ります。 もし、FS-K でも SE0 でも無いステートを検出した場合には、オート・ネゴシエーショ ン・エラー割り込みステータス(D_SIE_IntStat.AutoNegoErr)ビットをセットし、ERR ステートに入ります。 1.2.7.1.9 WAIT_RESTORE D_SIE_IntStat.RestoreCmp ビットがセットされると、イベント検出機能を有効にし、 IDLE ステートに入ります。 22 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.7.1.10 ERR 一旦このステートに遷移すると、オート・ネゴシエータを停止させない限り、この ステートから抜けません。このステートは、USB 規格上在りえません。 なお、どのステートにおいても、USB ケーブルが抜かれたことによる判断を行って いないため、もし USB ケーブルが抜かれた場合には、すぐにオート・ネゴシエータ を停止してください。 各バスイベント発生時の動作 1.2.7.2 各バスイベントの処理について、個別にその実施方法を説明します。オート・ネゴシエー タは、本 LSI のレジスタインタフェイスを通じて制御を行っていますので、オート・ネゴ シエータで自動的に行われている処理を、f/w で実施することも出来ます。 1.2.7.2.1 HSモードにおけるサスペンド検出 HS モードでサスペンドを検出すると、DetectSUSPEND 割り込みステータスが発行さ れ、オート・ネゴシエータは IN_SUSPEND ステートへ遷移します。この時、 D_SIE_IntEnb.EnDetectSUSPEND ビ ッ ト お よ び USB_DeviceIntEnb.EnD_SIE_IntStat ビットがセットされ、MainIntEnb.EnUSB_DeviceIntStat がセットされていると、XINT 信号がアサートされます。 オート・ネゴシエータは、HS モードで 3ms 以上送受信が何も検出されなかった場合 (T1)、FS モードに自動的に移行します(HS のターミネーションを無効にし、FS のター ミ ネ ー シ ョ ン (Rpu) を 有 効 に し ま す ) 。 こ の 動 作 に よ り DP は “H” に な り 、 D_USB_Status.LineState[1:0]ビットで“J”を確認することができます(もし、“SE0”を検 出した場合は、リセット(後述)となることに注意)。その後 T2 の時点で依然“J”が検出 された場合、D_SIE_IntStat.DetectSUSPEND ビットがセットされますので、USB のサ スペンドステートであると判断します。 以下の図では、USB サスペンド中にスリープを行う時の動作を表しています。 time T0 T1 T2 T3 T4 T5 XcvrSelect TermSelect DetectSUSPEND GoSLEEP DisBusDetect LineState[1:0] DP / DM SE1 Last Activity 'J' State Soft SE0 Internal clock 'J' state Fully meet USB2.0 required frequency HS Mode FS Mode SLEEP 図 1.8 Suspend Timing (HS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 23 1. 機能説明 表 1.10 Timing Parameter Suspend Timing Values (HS mode) Description Value T0 最後のバスアクティビティ。 0 (reference) T1 この時点で依然バスアクティビティが無い場合、XcvrSelect、 TermSelect を“1”にセットし、HS モードから FS モードに切り 替える。 HS Reset T0 + 3.0ms < T1 {TWTREV} < HS Reset T0 + 3.125ms T2 LineState[1:0] を サ ン プ リ ン グ す る 。 こ の 時 “J” な ら 、 DetectSUSPEND が“1”になり、USB のサスペンドステートと判 断する。 T1 + 100us < T2 {TWTWRSTHS} < T1 + 875us T3 これより前では、RESUME を発行してはいけない。 HS Reset T0 + 5ms {TWTRSM} T4 GoSLEEP を“1”にセットし、完全にスリープに移行。これ以降 は VBUS から USB で規定されたサスペンド電流以上を消費し てはいけない。 SLEEP 移 行 前 に 、 DisBusDetect を “1” に セ ッ ト し 、 再 び SUSPEND が検出されることを防ぐ。 HS Reset T0 + 10ms {T2SUSP} T5 内部クロックが完全停止する。 T5 < T4 + 10us 注: {}は、USB2.0 規格書で規格されている名称である。 24 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.7.2.2 FSモードにおけるサスペンド検出 FS モードでサスペンドを検出すると、DetectSUSPEND 割り込みステータスが発行さ れ、オート・ネゴシエータは IN_SUSPEND ステートへ遷移します。この時、 D_SIE_IntEnb.EnDetectSUSPEND ビ ッ ト お よ び USB_DeviceIntEnb.EnD_SIE_IntStat ビットがセットされ、MainIntEnb.EnUSB_DeviceIntStat がセットされていると、XINT 信号がアサートされます。 オート・ネゴシエータは、3ms 以上送受信が何も検出されなかった場合、または D_USB_Status.LineState[1:0]ビットに“J”を検出し続け(T1)、さらに T2 の時点で依然“J” が 検 出 さ れ た 場 合 、 USB の サ ス ペ ン ド ス テ ー ト で あ る と 判 断 し 、 SIE_IntStat.DetectSUSPEND ビットをセットします。 以下の図では、USB サスペンド中にスリープを行う時の動作を表しています。 time T0 T1 T2 T3 T4 T5 XcvrSelect TermSelect DetectSUSPEND GoSLEEP DisBusDetect LineState[1:0] DP / DM 'J' State Last Activity 'J' state Internal clock Fully meet USB2.0 required frequency FS Mode SLEEP 図 1.9 Suspend Timing (FS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 25 1. 機能説明 表 1.11 Timing Parameter Suspend Timing Values (FS mode) Description Value T0 最後のバスアクティビティ。 0 (reference) T1 この時点で依然バスアクティビティが無い。 T0 + 3.0ms < T1 {TWTREV} < T0 + 3.125ms T2 LineState[1:0] を サ ン プ リ ン グ す る 。 こ の 時 “J” な ら 、 DetectSUSPEND が“1”になり、USB のサスペンドステートと判断 する。 T1 + 100us < T2 {TWTWRSTHS} < T1 + 875us T3 これより前では、RESUME を発行してはいけない。 T0 + 5ms {TWTRSM} T4 GoSLEEP を“1”にセットし、完全に SLEEP に移行。これ以降は VBUS から USB で規定されたサスペンド電流以上を消費しては いけない。 ス リ ー プ 移 行 前 に 、 DisBusDetect を “1” に セ ッ ト し 、 再 び SUSPEND が検出されることを防ぐ。 T0 + 10ms {T2SUSP} T5 内部クロックが完全停止する。 T5 < T4 + 10us 注: {}は、USB2.0 規格書で規格されている名称である。 26 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.7.2.3 HSモードにおけるリセット検出 HS モードでリセットを検出すると、DetectRESET 割り込みステータスが発行され、 オート・ネゴシエータはリセットシーケンスを行います。この時、 D_SIE_IntEnb.EnDetectRESET ビットおよび USB_DeviceIntEnb.EnD_SIE_IntStat ビッ トがセットされ、MainIntEnb.EnUSB_DeviceIntStat がセットされていると、XINT 信 号がアサートされます。 オート・ネゴシエータは、3ms 以上送受信が何も検出されなかった場合、FS モード に自動的に移行します(HS のターミネーションを無効にし、FS のターミネーション (Rpu)を有効にします)。リセットされている場合、この動作が行われても DP ライン は“L”になったままで、この結果 D_USB_Status.LineState[1:0]ビットでも“SE0”を検出 することができます。T2 の時点で依然“SE0”が検出された場合にはリセットとみなし、 D_SIE_IntStat.DetectRESET ビットをセットします。以降は、D_NegoControl.DisBusDetect ビットをセットした後に、HS Detection Handshake(後述)を行います。 time T0 T1 T2 XcvrSelect TermSelect DetectRESET DisBusDetect LineState[1:0] DP / DM SE1 SE0 Last Activity Driven SE0 HS Mode FS Mode HS Detection Handshake 図 1.10 表 1.12 Timing Parameter Reset Timing (HS mode) Reset Timing Values (HS mode) Description Value T0 最後のバスアクティビティ。 0 (reference) T1 この時点で依然バスアクティビティが無い場合、XcvrSelect、 TermSelect を“1”にセットし、HS モードから FS モードに切り替 える。 HS Reset T0 + 3.0ms < T1 {TWTREV} < HS Reset T0 + 3.125ms T2 LineState[1:0] を サ ン プ リ ン グ す る 。 こ の 時 “SE0” な ら 、 DetectRESET が“1”になり、リセットへの移行と判断する。 リセット指示の検出後、DisBusDetect を“1”にセットし、以降 HS Detection Handshake を行う。 T1 + 100us < T2 {TWTWRSTHS} < T1 + 875us 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 27 1. 機能説明 1.2.7.2.4 FSモードにおけるリセット検出 FS モードでリセットを検出すると、DetectRESET 割り込みステータスが発行され、 オート・ネゴシエータはリセットシーケンスを行います。この時、 D_SIE_IntEnb.EnDetectRESET ビットおよび USB_DeviceIntEnb.EnD_SIE_IntStat ビッ トがセットされ、MainIntEnb.EnUSB_DeviceIntStat がセットされていると、XINT 信 号がアサートされます。 オート・ネゴシエータは、2.5us 以上 D_USB_Status.LineState[1:0]ビットに“SE0”を検 出し続けた場合には(T1)、リセットとみなし、D_SIE_IntStat.DetectRESET ビットを セットします。以降は D_NegoControl.DisBusDetect ビットをセットした後に、HS Detection Handshake(後述)を行います。 time T-1 T0 T1 XcvrSelect TermSelect DetectRESET DisBusDetect LineState[1:0] DP / DM Last Activity 'J' State SE0 'J' State Driven SE0 FS Mode HS Detecion Handshake 図 1.11 表 1.13 Timing Parameter Reset Timing (FS mode) Reset Timing Values (FS mode) Description Value T-1 最後のバスアクティビティ。 T0 ホスト Downstream port からのリセットの指示開始。 0 (reference) T1 “SE0”が継続されている場合、DetectRESET が“1”になり、リセッ トへの移行と判断する。 リセット指示の検出後、DisBusDetect を“1”にセットし、以降 HS Detection Handshake を行う。 HS Reset T0 + 2.5us < T1 {TWTREV} 注: {}は、USB2.0 規格書で規格されている名称である。 28 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.2.7.2.5 HS Detection Handshake オート・ネゴシエータはリセットを検知すると、HS Detection Handshake を実行しま す。HS Detection Handshake が終了すると、D_SIE_IntStat.ChirpCmp 割り込みステータ ス が セ ッ ト さ れ ま す 。 こ の 時 、 D_SIE_IntEnb.EnChirpCmp ビ ッ ト お よ び USB_DeviceIntEnb.EnD_SIE_IntStat ビットがセットされ、 MainIntEnb.EnUSB_DeviceIntStat がセットされている場合には、同時に XINT 信号が アサートされます。 HS Detection Handshake は、サスペンド中、FS 動作中、或いは HS 動作中の 3 状態の いずれかから、ホスト Downstream port からの“SE0”のアサートにより開始されます (上記状態からのリセットが開始された時)。詳細は、USB2.0 規格書を参照してくだ さい。 ここで、上記 3 状態からオート・ネゴシエータが HS Detection Handshake に移行する 方法について説明します。 本 LSI がサスペンド状態では、バス上に“SE0”を検出すると直ちにリセットとみなし、 HS Detection Handshake に移行します。 本 LSI が FS モードで動作している状態では、2.5us 以上の“SE0”を検出するとリセッ トとみなし、HS Detection Handshake に移行します。 本 LSI が HS モードで動作している状態では、3.0ms 以上の“SE0”を検出後、まず USB のサスペンドステートなのかリセットなのかを判断しなければならない為、一旦 FS モ ー ド に 切 り 替 わ り ま す 。 こ の 時 動 作 と し て は 、 D_XcvrControl.XcvrSelect 、 D_XcvrControl.TermSelect の両ビットを FS モードに切り替え、HS ターミネーション を無効にし、FS ターミネーションを有効にします。これらのモード切り替えは、h/w h/w は、このモード切り替えから 100us 以上 875us によって 3.125ms 以内に行われます。 以内に D_USB_Status.LineState[1:0]ビットをチェックし、“J”なら USB のサスペンド ステートとして判断し、“SE0”ならリセットと判断します。この時、リセットと判断 された場合には、その後 HS Detection Handshake に移行します。 いずれの場合も、リセットは最小 10ms 存在しますが、移行する前の状態(HS もしく は FS)により、タイミングが多少異なります。ここでは、リセットが開始された時間 を“HS Reset T0”として定義し、以降は、この“HS Reset T0”からの動作について説明 します。 動作中の場合は内部クロックも安定して発振していますが、サスペンド中にスリー プさせていた場合には、リセット検出時には内部クロックが出力されていません。 このため HS Detection Handshake を行うために、必ず PM_Control.GoACTIVE ビット を“1”にセットし、内部クロックを発振開始させてください。この動作の詳細は、 「1.4 パワーマネージメント機能」を参照してください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 29 1. 機能説明 1.2.7.2.5.1 FSのホストダウンストリームポートに繋がれた場合 本 LSI が、HS をサポートしていないホスト downstream port に接続された時の HS Detection Handshake の動作を示します。HS Detection Handshake の開始時(T0) では、D_XcvrControl.XcvrSelect と D_XcvrControl.TermSelect は両ビットともに FS モードになっています。 (FS ターミネーション、即ち DP のプルアップ抵 抗(Rpu)が有効に、HS ターミネーションが無効にされています)。 オート・ネゴシエータは、まず D_NegoControl.GoChirp ビットをセットします。 す る と D_XcvrControl.OpMode[1:0] ビ ッ ト が “Disable Bit Stuffing and NRZI encoding”になり、全て“0”のデータが準備されます(T1)。これは、バス上に“HS K”(Device Chirp) を 送 出 す る た め の も の で す 。 ま た 同 時 に 、 D_XcvrControl.XcvrSelect ビットが HS モードに設定され、かつ送信可能状態に 設定されることで、ホスト downstream port に“HS K”(Device Chirp)が送出され ます。送出終了後、ホスト downstream port からの Host Chirp を待ちます(T2)。 通常、HS をサポートしているホスト downstream port は、T3 から“HS K”, “HS J” を連続的に送出してきますが(後述)、ホスト downstream port が HS をサポート していない場合(本例の場合)は、T4 の時点でも Host Chirp を送出してこないた め 、 D_XcvrControl.XcvrSelect ビ ッ ト を FS モ ー ド に 自 動 的 に 切 り 替 え 、 D_NegoControl.GoChirp ビットがクリアされるとともに D_USB_Status.FSxHS ビットがセットされ、さらに D_SIE_IntStat.ChirpCmp ビットがセットされます。 Upstream Port Actions T3 T0 T5 T6 time Device Actions T1 T2 T4 DisBusDetect XcvrSelect TermSelect GoChirp OpMode[1:0] Normal Disable BS and NRZI SE0 'K' State Normal Operation ChirpCmp LineState[1:0] Device K DP / DM 30 SE0 'J' State 'J' State Upstream Port Chirp No Downstream Port Chirps 図 1.12 HS Detection Handshake Timing (FS mode) SOF FS Mode EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.14 HS Detection Handshake Timing Values (FS mode) Timing Parameter Description Value T0 HS Detection Handshake 開始。 T1 HS トランシーバをイネーブルにし、GoChirp を“1”にセットして、 T0 < T1 < HS Reset T0 + 6.0ms Chirp K を送出開始。 T2 Chirp K 送出終了。最小 1ms の間は送出しなければならない。 T1 + 1.0ms {TUCH} < T2 < HS Reset T0 + 7.0ms {TUCHEND} T3 ホスト downstream port が HS をサポートしている場合、ここか ら Chirp K を送出開始する。 T2 < T3 < T2 + 100us {TWTDCH} T4 Chirp を検出出来ない場合、この時点で FS モードに戻り、 ChirpCmp が“1”にセットされ、リセットシーケンスが終了するの を待つ。 T2 + 1.0ms < T4 {TWTFS} < T2 + 2.5ms T5 リセットシーケンスの終了。 HS Reset T0 + 10ms {TDRST (Min)} T6 FS モードでの通常動作。 T6 0 (reference) 注: {}は、USB2.0 規格書で規格されている名称である。 注: 最小 1ms の Chirp K を生成するために、66000 サイクル(内部クロック:60MHz)で判断する。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 31 1. 機能説明 1.2.7.2.5.2 HSのホストダウンストリームポートに繋がれた場合 本 LSI が、HS をサポートしているホスト downstream port に接続された時の動 作 を 示 し ま す 。 HS Detection Handshake の 開 始 時 (T0) で は 、 D_XcvrControl.XcvrSelect と D_XcvrControl.TermSelect は両ビットともに FS モードになっています(FS ターミネーション、即ち DP のプルアップ抵抗(Rpu) が有効に、HS ターミネーションが無効にされています)。 オート・ネゴシエータは、まず D_NegoControl.GoChirp ビットをセットします。 す る と D_XcvrControl.OpMode[1:0] ビ ッ ト が "Disable Bit Stuffing and NRZI encoding"になり、全て“0”のデータが準備されます(T1)。これは、バス上に"HS K"(Device Chirp) を 送 出 す る た め の も の で す 。 ま た 同 時 に 、 D_XcvrControl.XcvrSelect ビットが HS モードに設定され、かつ送信可能状態に 設定されることで、downstream port に"HS K"(Device Chirp)が送出されます。送 出終了後、downstream port からの Host Chirp を待ちます(T2)。ここでは downstream port は HS をサポートしているので、“HS K” (Chirp K)、“HS J” (Chirp J)を交互に連続して送出してきます(T3)。この状態を USB_Status.LineState[1:0] ビ ッ ト で Chirp K-J-K-J-K-J と 最 低 6 回 検 出 し た と こ ろ で (T6) 、 XcvrControl.TermSelect ビットを HS モードに自動的に切り替え(T7)、完全な HS モードに移行します。これと同時に、D_NegoControl.GoChirp ビットがクリア さ れ る と と も に D_NegoStatus.FSxHS ビ ッ ト が ク リ ア さ れ 、 さ ら に D_SIE_IntStat.ChirpCmp ビットがセットされます。 このホスト downstream port からの Chirp K、Chirp J はバス・アクティビティと して認識し、USB のサスペンドステートと判断しないようにしなければなりま せん。そこで、HS モードでは、この Chirp K、Chirp J を逐次検出し、内部の Suspend Timer に取り込んでいます。 なお、Chirp K-J-K-J-K-J を検出する為に、USB_Status.LineState[1:0]ビットを使 用しています。通常の HS パケットと違い、Chirp K、Chirp J は非常に遅い為、 D_USB_Status.LineState[1:0]ビットを使用できます。しかし、本来のパケット受 信時に D_USB_Status.LineState[1:0]ビットにバスの信号を載せると非常にノイ ジーな為、D_XcvrControl.TermSelect ビットが HS モードの時、バス・アクティ ビティがあると判断される場合には、D_USB_Status.LineState[1:0]ビットは“J” を、バス・アクティビティが無いと判断される場合には“SE0”を出力するよう になっています。 次 図 で 、 T6 の 時 点 か ら Chirp の 高 さ が 変 わ っ て い る の は 、 D_XcvrControl.TermSelect ビットによりデバイス側の HS ターミネーションが 有効になったことを表しています。通常、D_XcvrControl.TermSelect が FS モー ド時の Chirp は約 800mV、D_XcvrControl.TermSelect ビットが HS モード時の Chirp(HS の通常送受信パケットも同様)では、約 400mV となります。 32 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 Upstream Port Actions T3 T4 T5 T0 T9 T10 time Device Actions T1 T2 T6 T7 T8 DisBusDetect XcvrSelect TermSelect GoChirp Normal Disable BS and NRZI LineState[1:0] SE0 'K' State SE0 K J K J K J DP / DM SE0 Device K K J K J K J OpMode[1:0] Normal Operation ChirpCmp SE1 SE0 SOF Upstream Port Chirp Downstream Port Chirps HS Mode 図 1.13 表 1.15 Timing Parameter HS Detection Handshake Timing (HS mode) HS Detection Handshake Timing Values (HS mode) Description Value T0 HS Detection Handshake 開始。 T1 HS トランシーバをイネーブルにし、GoChirp を“1”にセットして、 T0 < T1 < HS Reset T0 + 6.0ms Chirp K を送出開始。 T2 Chirp K 送出終了。最小 1ms の間は送出しなければならない。 T1 + 1.0ms {TUCH} < T2 < HS Reset T0 + 7.0ms {TUCHEND} T3 ホスト downstream port が最初の Chirp K をバスに送出。 T2 < T3 < T2 + 100us {TWTDCH} T4 ホスト downstream port が Chirp K から Chirp J に切り替え送出。 T3 + 40us {TDCHBIT (Min)} < T4 < T3 + 60us {TDCHBIT (Max)} T5 ホスト downstream port が Chirp J から Chirp K に切り替え送出。 T4 + 40us {TDCHBIT (Min)} < T5 < T4 + 60us {TDCHBIT (Max)} T6 Chirp K-J-K-J-K-J を検出。 T6 T7 Chirp K-J-K-J-K-J を検出したことを受けて、FS ターミネーショ ンを無効に、HS ターミネーションを有効にする。ChirpCmp が“1” にセットされる。さらに、リセットの終了を待つ。 T6 < T7 < T6 + 500us T8 Chirp K、 Chirp J によりバスアクティビティと認識される。ただ し SYNC が検出できない為、パケット受信中と認識されることは 無い。 T8 T9 ホスト downstream port からの Chirp K、Chirp J の送出終了。 T10 - 500us {TDCHSE0 (Max)} < T9 < T10 - 100us{TDCHSE0 (Min)} T10 リセットシーケンスの終了。 HS Reset T0 + 10ms {TDRST (Min)} 0 (reference) 注: {}は、USB2.0 規格書で規格されている名称である。 注: 最小 1ms の Chirp K を生成するために、66000 サイクル(内部クロック:60MHz)で判断する。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 33 1. 機能説明 1.2.7.2.5.3 スリープ中にリセットされた場合 本 LSI は、スリープ状態では PLL による内部システムクロックは出力されて いません。ここでは、スリープ状態でリセットを検出した場合の動作復帰につ いて述べます。 スリープ状態でリセットが検出された場合(T0)、D_SIE_IntStat.NonJ ビットが セ ッ ト さ れ ま す 。 さ ら に 、 D_SIE_IntEnb.EnNonJ ビ ッ ト お よ び USB_DeviceIntEnb.EnD_SIE_IntStat ビットがセットされ、 MainIntEnb.EnUSB_DeviceIntStat ビットがセットされている場合には、同時に XINT 信号がアサートされます。この時、すぐさまスヌーズから復帰しリセッ トシーケンスに移行させる為に、f/w により、PM_Control.GoACTIVE ビットを “1” に セ ッ ト し て く だ さ い (T1) 。 PLL パ ワ ー ア ッ プ 時 間 経 過 後 (T2) 、 PM_Control.PM_State[1:0]が“ACTIVE”になり、内部クロックが出力され始めま す。 この後、InSUSPEND がクリアされると、オート・ネゴシエータによって HS Detection Handshake(前述)が行われます。 Upstream Port Actions T0 time Device Actions T1 T2 T3 T4 NonJ GoACTIVE PM_State[1:0] SLEEP ACTIVE XcvrSelect TermSelect DisBusDetect GoChirp OpMode[1:0] Disable BS and NRZI Normal LineState[1:0] J SE0 DP / DM J SE0 Internal clock Device K SE0 SE0 Fully meet USB2.0 required frequency PLL Powerup time 図 1.14 34 'K' State Upstream Port Chirp Look for downstream chirps HS Detection Handshake Timing from Suspend EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.16 HS Detection Handshake Timing Values from Suspend Timing Parameter Description Value T0 NonJ が“1”にセットされ、LineState[1:0]で“SE0”を確認すると、ス ヌーズ中のリセットを検出。 T1 リセット検出後、GoActDevice を“1”にセット。 T1 T2 PM_State が"ACT_DEVICE"になる。内部クロック出力安定。 T1 + 250us < T2 T3 GoChirp を“1”にセットし、chirp K をバスに送出。 (chirp K 送出前には DisBusDetect を“1”にセットする) T2 < T3 < HS Reset T0 + 5.8ms T4 chirp K 送出を終了。 T3 + 1.0ms {TUCH} < T4 < HS Reset T0 + 7.0ms {TUCHEND} 0 (HS Reset T0) 注: {}は、USB2.0 規格書で規格されている名称である。 注: 最小 1ms の Chirp K を生成するために、66000 サイクル(内部クロック:60MHz)で判断する。 注: 発振回路も停止していた場合(スリープ状態)は、後述する(PLL パワーアップ時間の他に、OSC パワーアップ時間 が必要)。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 35 1. 機能説明 1.2.7.2.6 レジュームの発行 ここでは、リモート・ウェイクアップがサポートされていて、かつホストからこの リモート・ウェイクアップを有効にされている時に、何らかの要因で、自らレジュー ムする方法を説明します。ただしリモート・ウェイクアップを行うことが可能なの は、バスがアイドルになってから少なくとも 5ms 経過してからでなくてはなりませ ん。さらに、レジューム信号を出力してから 10ms 経過以前は、USB のサスペンド状 態に入る前の電流を VBUS から消費することはできません。 オート・ネゴシエータはリモート・ウェイクアップをサポートしていませんので、f/w でリモート・ウェークアップを起動する必要があります。レジューム信号が発行さ れた後は、通常の SUSPEND からの復帰と同じシーケンスになります。f/w は、 D_NegoControl.SendWakeup ビ ッ ト を セ ッ ト し て 、 レ ジ ュ ー ム 信 号 を 送 信 し 、 InSUSPEND をクリアします。また、送出開始から 1ms 後に、 D_NegoControl.SendWakeup ビットをクリアして、レジューム信号の送信を止めます。 レジュームが完了すると、D_SIE_IntStat.RestoreCmp ビットがセットされます。この 時、D_SIE_IntEnb.EnRestoreCmp ビットおよび USB_DeviceIntEnb.EnD_SIE_IntStat ビッ トがセットされ、MainIntEnb.EnUSB_DeviceIntStat ビットがセットされている場合に は、同時に XINT 信号がアサートされます。なお、リモート・ウェイクアップする為 には、まずスリープから復帰さしている必要があります。D_SIE_IntEnb.EnNonJ ビッ トをクリアし、PM_Control.GoACTIVE ビットをセットし(T0)、PLL パワーアップ時 間経過後(T1)、PM_Control.PM_State[1:0]ビットが"ACTIVE"になると同時に内部ク ロックが出力され始めます。 D_NegoControl.SendWakeup ビットをセットすると、レジューム信号を送出します(T2)。 この時、h/w は、D_XcvrControl.OpMode[1:0]を“Disable Bit Stuffing and NRZI encoding” に設定し、送信データとして“0”を準備し、パケット送信状態にして、“K” (Resume 信号)を送出します。ホスト downstream port は、このレジューム信号を検出し、バス 上に“K” (レジューム信号)を返してきます(T3)。D_NegoControl.SendWakeup ビットを クリアすることによってバスに送出していたレジューム信号が停止されますが(T4)、 この時点ではホスト downstream port が依然バスをレジューム信号にホールドしてい ます。 オート・ネゴシエータは、レジューム信号を検知して、D_NegoControl.RestoreUSB ビットをセットします。一定時間経過後、ホスト downstream port はレジューム信号 の送出を停止し(T5)、2 ビットの LS-EOP(2*SE0)を送出し、USB のサスペンド以前の スピードモードに切り替わります。これを検出した(“K”でなくなった)ところで、 D_XcvrControl.XcvrSelect、D_XcvrControl.TermSelect の両ビットが所望のモード(今回 の場合 HS モード)に切り替えられ、D_NegoControl.RestoreUSB ビットがクリアされ ます。 こ こ で 、 USB の サ ス ペ ン ド 開 始 時 に は 、 ス ピ ー ド モ ー ド (HS 又 は FS) を 、 USB_Status.FSxHS ビットにて保存しており、レジュームにて復帰する場合には、こ の D_USB_Status.FSxHS ビットが示すモードに戻ります。この時、レジュームごとに HS Detection Handshake は行いません。ここでは USB のサスペンド以前のモードが HS モードであった場合についてのみ説明していることに注意してください。FS モー ドであった場合には、T5 以降が通常の FS モードとなり、特に大きなシーケンスの違 いはありません。 36 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 Upstream Port Actions T3 T5 time Device Actions T1 T2 T0 T6 T4 EnNonJ GoACTIVE PM_State[1:0] SLEEP ACTIVE SendWakeup RestoreUSB RestoreCmp XcvrSelect TermSelect OpMode[1:0] Disable BS and NRZI Normal DP / DM FS Idel ('J' State) LineState[1:0] SE0 Resume signal ('K' State) 'J' State 'K' State Internal clock SE0 SE1 Fully meet USB2.0 required frequency FS Mode PLL Powerup time 図 1.15 表 1.17 Timing Parameter HS Mode Upstream resume Downstream resume Assert Resume Timing (HS mode) Assert Resume Timing Values (HS mode) Description Value T0 レジューム開始。GoACTIVE を“1”にセット。 (レジューム開始前に EnNonJ を“0”にクリアすること) 0 (reference) T1 PM_State が"ACTIVE"になる。内部クロック出力の安定。 T0 + 250us < T1 T2 SendWakeup を“1”にセットし、FS の“K”を送出開始。ここで、10ms 以内は USB のサスペンド以前の電流を引っ張ってはいけない。 T0 < T2 < T0 + 10ms T3 ホスト downstream port が FS の”K”を返す。 T2 < T3 < T2 + 1.0ms T4 SendWakeup を “0” に ク リ ア し 、 FS の “K” 送 出 を 終 了 。 LineState[1:0]により“K”を確認後、RestoreUSB を“1”にセットす る。 T2 + 1.0ms {TDRSMUP (Min)} < T4 < T2 + 15ms {TDRSMUP (Max)} T5 ホスト downstream port が FS の“K”送出を終了。 T2 + 20ms {TDRSMDN} T6 RestoreCmp が“1”になる。USB のサスペンド以前が HS モードで あった場合、自動的に HS モードに移行。 T5 + 1.33us {2 Low-speed bit times} 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 37 1. 機能説明 1.2.7.2.7 レジュームの検出 サスペンド中にレジュームを検出すると、NonJ 割り込みステータスが発行されます。 この時、D_SIE_IntEnb.EnNonJ ビットおよび USB_DeviceIntEnb.EnD_SIE_IntStat ビッ トがセットされ、MainIntEnb.EnUSB_DeviceIntStat ビットがセットされている場合に は、同時に XINT 信号がアサートされます。NonJ を検知したら、f/w により InSUSPEND をクリアして、IN_SUSPEND ステートを抜けて下さい。また、サスペンド中に、SLEEP させていた場合は、InSUSPEND をクリアするまえに、ACTIVE に戻す必要がありま す。PM_Control.GoACTIVE ビットを“1”にセットし(T1)、PLL パワーアップ時間経過 後(T2)、PM_Control.PM_State[1:0]が"ACTIVE"になると同時に内部クロックが出力さ れ始めます。レジュームを完了すると、D_SIE_IntSTat.RestoreCmp 割り込みステータ ス が 発 行 さ れ ま す 。 こ の 時 、 D_SIE_IntEnb.EnRestoreCmp ビ ッ ト と USB_DeviceIntEnb.EnD_SIE_IntStat ビットがセットされ、 MainIntEnb.EnUSB_DeviceIntStat ビットがセットされている場合には、同時に XINT 信号がアサートされます。 サスペンド中、バス上には“J”(D_USB_Status.LineState[1:0]は“J”)が観測されます。バ ス上に”K”が観測された時は、ホスト downstream port からのウェイクアップの指示 (レジューム指示)を受け取ったことになります(T0)。この時、SIE_IntStat.NonJ ビット がセットされます。 オート・ネゴシエータは、IN_SUSPEND を抜けると、D_NegoControl.RestoreUSB を セットします。一定時間経過後、ホスト downstream port はレジューム信号の送出を 停止し(T3)、USB のサスペンド以前のスピードモードに切り替わります。これを検出 した(“K”でなくなった)ところで、D_XcvrControl.XcvrSelect、D_XcvrControl.TermSelect の 両 ビ ッ ト が 所 望 の モ ー ド ( 今 回 の 場 合 HS モ ー ド ) に 切 り 替 え ら れ 、 D_NegoControl.RestoreUSB ビットがクリアされるとともに D_SIE_IntStat.RestoreCmp ビットがセットされます。この時、D_SIE_IntEnb.EnRestoreCmp ビットがセットされ ます。 38 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 Upstream Port Actions T0 T3 time Device Actions T2 T1 T4 NonJ GoActDevice PM_State[1:0] SLEEP ACT_DEVICE RestoreUSB RestoreCmp XcvrSelect TermSelect LIneState[1:0] J DP / DM J 'K' State SE1 SE0 Resume signal ('K' State) Internal clock SE0 Fully meet USB2.0 required frequency FS Mode HS Mode PLL Powerup time Downstream resume 図 1.16 表 1.18 Detect Resume Timing (HS mode) Detect Resume Timing Values (HS mode) Timing Parameter Description T0 ホスト downstream port が FS の“K”を送出。NonJ が“1”になる。 0 (reference) T1 GoACTIVE を“1”にセット。 T1 T2 PM_State が"ACTIVE"になる。内部クロック出力安定。 T1 + 250us < T2 LineState[1:0]で“K”を確認後、RestoreUSB が“1”にセットされる。 T3 ホスト downstream port が FS の“K”送出を終了。同時にホスト downstrem port は USB のサスペンド以前の HS モードに移行。 T2 + 20ms {TDRSMDN} T4 USB のサスペンド以前が HS モードであった場合、自動的に HS モードに移行。 T5 + 1.33us {2 Low-speed bit times} Value 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 39 1. 機能説明 ケーブル挿入 1.2.7.2.8 ここでは、ハブ又はホストに接続された場合、すなわちケーブルが挿入された場合を説 明します。オート・ネゴシエータは、ケーブル挿抜を検知、及び、制御しません。ケー ブル挿入シーケンスの完了後に、オート・ネゴシエータを有効にして下さい。 ケーブルが抜かれている状態、もしくは繋がっていない状態に故意にしている時に は、D_XcvrControl.XcvrSelect ビットは FS モード、D_XcvrControl.TermSelect ビット は HS モードを初期値としてください。 ケーブルが接続されていない状態(T0)でケーブルが接続されると、VBUS が“H”にな り、同時に D_USB_Status.VBUS ビットがセットされます(T1)。この時、例えばスリー プ状態にしていた場合は、PM_Control.GoACTIVE ビットを“1”にセットし(T2)、PLL パワーアップ時間経過後(T3)、PM_Control.PM_State[1:0]が"ACTIVE"になると同時に 内部クロックが出力され始めます。その後、まずは FS デバイスが接続されたことに しなければならないため、一旦は FS モードになるために、D_XcvrControl.TermSelect ビットを FS モードにしてください(T4)。 その後、ホスト downstream port はリセットを送出し(T5)、ここから HS Detection Handshake が開始されます。 Upstream Port Actions time Device Actions T0 T1 T2 T3 T4 T5 (VBUS) pin_VBUS GoACTIVE PM_State[2:0] SLEEP ACTIVE ActiveUSB DisBusDetect XcvrSelect TermSelect OpMode[1:0] '10'(Disable BS and NRZI) LineState[1:0] SE1 'J' state SE0 DP / DM SE0 FS Idle ('J' state) SE0 Internal clock Fully meet USB2.0 required frequency PLL Powerup time 図 1.17 40 HS Detection Handshake Device Attach Timing EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.19 Timing Parameter Device Attach Timing Values Description Value T0 ケーブルは挿入されていない。 0 (reference) T1 ケーブルが挿入され、入力ピン VBUS_B が H になる。 T1 T2 GoACTIVE を“1”にセット。 T2 T3 PM_State が“ACTIVE”になる。内部クロック出力の安定。 T2 + 250us < T3 T4 ActiveUSB を “1” に セ ッ ト 。 TermSelect を “1” に セ ッ ト 。 OpMode[1:0]を"00"に設定。 FS モードに移行。FS ターミネーションが有効。 T1 + 100ms {TSIGATT} < T4 T5 ホ ス ト downstream port か ら リ セ ッ ト が 送 出 さ れ る 。 DisBusDetect を“1”にセット。 T4 + 100ms {TATTDB} < T5 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 41 1. 機能説明 1.3 USBホスト制御 1.3.1 1.3.1.1 チャネル チャネル概要 本 LSI では、パイプと 1 対 1 で対応するホスト側のバッファと、そのバッファを介して行 われる転送の為の設定レジスタとを、まとめてチャネルと呼びます。 チャネルには、IRP(I/O Request Packet)単位で転送情報を設定します。またチャネルのバッ ファとして FIFO 領域を割り当てます。 チャネルは設定された情報に基づき、IRP を自動的に複数のトランザクションに分割して 実行します。チャネルは IRP 単位で設定を切り替えることができますので、1 本のチャネ ルで複数のエンドポイントに対応することが可能です。 図 1.18 にチャネルの概念を示します。 ホスト デバイス チャネル 設定レジスタ パイプ エンドポイント バッファ 図 1.18 チャネル概念図 ファームウェアは、バッファおよび転送情報の設定を行ったうえで転送実行 (H_CHx{x=0,a-e}Config_0.TranGo)をセットします。転送実行をセットした後は、ファーム ウェアは IRP データ数の処理が完了するまで、バッファにデータを書き込む(OUT 転送時)、 バッファからデータを読み出す(IN 転送時)といった処理を行います。 一方、ハードウェア(チャネル)は IRP を自動的に複数のトランザクションに分割して実行 します。転送が完了すると、割り込みによってファームウェアに通知します。 図 1.19 に転送を行う際の基本的な流れを示します。 42 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 FIFO領域確保 転送の設定 転送実行のセット OUT転送時: FIFO書き込み IN転送時: FIFO読み出し 転送完了割込み 図 1.19 チャネルの基本的な転送の手順 本 LSI はコントロール転送のみを行うチャネル(CH0)、バルク転送のみを行うチャネル (CHa)、バルク / インタラプト / アイソクロナス転送を行うチャネル(CHb, CHc, CHd, CHe) の計 6 本のチャネルを持ちます。ここでは、チャネル CH0 をコントロール専用チャネル、 チャネル CHa, CHb, CHc, CHd, CHe を汎用チャネルと呼びます。 各チャネルには、USB 定義インタフェイスによって決定される固定の基本設定項目と、転 送毎に制御を行う可変の制御項目及びステータスがあります。基本設定項目は、チップ初 期化時、または、USB 定義インタフェイスの切り替え時等に設定して下さい。 なお、同時に設定できるインタラプト転送とアイソクロナス転送の最大数は合わせて 4 本 です。 各チャネルが対応する転送タイプを表 1.20 に示します。 表 1.20 チャネル 対応する転送タイプ 対応する転送タイプ 備考 CH0 コントロール転送 コントロール転送サポートl機能(1.3.4.3)使用可 CHa バルク転送 バルクオンリーサポート機能(1.3.8)使用可 CHb, CHc CHd, CHe バルク転送 インタラプト転送 アイソクロナス転送 オーディオクラスアシスト機能(1.3.9)使用可 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 43 1. 機能説明 コントロール専用チャネル 1.3.1.2 本 LSI では、コントロール専用チャネル(CH0)にてコントロール転送を行います。その為、 複数のエンドポイントに対してコントロール転送を行う場合はチャネル CH0 を時分割して 使用します。 表 1.21 にコントロール専用チャネル(CH0)の基本設定項目を示します。 表 1.21 項目 コントロール専用チャネルの基本設定項目 レジスタ/ビット 説明 転送速度 H_CH0Config_0.SpeedMode チャネル CH0 に対応するエンドポイントの転送速度 (HS/FS/LS)を設定します。 トグルシーケンスビット H_CH0Config_0.Toggle トランザクションを開始する時のトグルシーケンス ビットの初期値を設定します。また、トランザクション 実行中、およびトランザクション完了後はトグルシー ケンスビットの状態を示します。 トランザクション種別 H_CH0Config_1.TID チャネル CH0 で発行するトランザクションの種 別(SETUP/IN/OUT)を設定します。 マックスパケットサイズ H_CH0MaxPktSize マックスパケットサイズを、LS 動作時には 8 に、 FS 動作時には 8,16,32,64 のいずれかの値に設定 します。また、HS 動作時には 64 に設定します。 USB アドレス H_CH0FuncAdrs.FuncAdrs チャネル CH0 で実行する IRP のあて先となる USB アドレスを設定します。 エンドポイントナンバー H_CH0FuncAdrs.EP_Number チャネル CH0 で実行する IRP のあて先となるエ ンドポイントナンバーを設定します。 ハブアドレス H_CH0HubAdrs.HubAdrs スプリットトランザクションを行うハブの USB アドレ スを設定します。 ポート番号 H_CH0HubAdrs.Port スプリットトランザクションを行うハブのポート番号を 設定します。 IRP データ数 H_CH0TotalSize_H, H_CH0TotalSize _L チャネル CH0 で実行する IRP のデータ転送数をバ イト単位で設定します。 FIFO 領域 AREAn{n=0-5}StartAdrs_H, AREAn{n=0-5}StartAdrs_L, AREAn{n=0-5}EndAdrs_H, AREAn{n=0-5}EndAdrs_L, チャネル CH0 に割り当てる領域を、FIFO のア ドレスで設定します。 FIFO 領域は、チャネル CH0 のマックスパケッ トサイズ以上の領域を割り当てて下さい。また、 FIFO 領域のサイズがデータ転送のスループット に影響します。 FIFO の領域割り当ての詳細は、 「1.5 FIFO 管理」 を参照して下さい。 FIFO 領域ジョイン AREAn{n=0-5}Join_1.JoinEP0CH0 チャネル CH0 を FIFO 領域に結合します。 コントロール転送サポート機能を使用する場 合、チャネル CH0 を AREA0 に結合して下さい。 セットアップデータ H_CH0SETUP_x(x=0-7) セットアップトランザクションで送信する 8 バ イトのデータを設定します。 44 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 汎用チャネル 1.3.1.3 汎用チャネルは、トランザクション方向と USB アドレスおよびエンドポイントナンバーを 任意に設定出来ますので、同時に 5 本までのエンドポイントに対して 1 対 1 に対応させる ことが出来ます。また、コントロール専用チャネルと同様にチャネルを IRP 単位で時分割 して使用することで、5 本を越える数のエンドポイントとも転送を行うことが出来ます。 各チャネルには、USB 定義インタフェイスによって決定される固定の基本設定項目と、転 送毎に制御を行う可変の制御項目及びステータスがあります。基本設定項目は、チップ初 期化時、または、USB 定義インタフェイスの切り替え時等に設定して下さい。 表 1.22 に汎用チャネルの基本設定項目を示します。USB 定義インタフェイスの定義内容に 合わせて適宜設定し、また有効にすることによって、USB 定義インタフェイスを構成して 下さい。 表 1.22 項目 汎用チャネルの基本設定項目 レジスタ/ビット 説明 転送速度 H_CHx{x=a-e}Config_0.SpeedMode 各チャネルに対応するエンドポイントの転送速度 (HS/FS/LS)を設定します。 トグルシーケンスビット H_CHx{x=a-e}Config_0.Toggle トランザクションを開始する時のトグルシーケンス ビットの初期値を設定します。また、トランザクショ ン実行中、およびトランザクション完了後はトグル シーケンスビットの状態を示します。 トランザクション種別 H_CHx{x=a-e}Config_1.TID 各チャネルで発行するトランザクションの種別 (IN/OUT)を設定します。 転送種別 H_CHx{x=b-e}Config_1.TranType 各チャネルの転送種別(バルク、インタラプト、アイ ソクロナス)を設定します。 マックスパケットサイズ H_CHx{x=a-e}MaxPktSize_H, H_CHx{x=a-e}MaxPktSize_L 各チャネルで実行するトランザクションのマッ クスパケットサイズを、1Byte~1024Byte の間 の任意の値に設定します。 ハブアドレス H_CHx{x=a-e}HubAdrs.HubAdrs スプリットトランザクションを行うハブの USB アドレ スを設定します。 ポート番号 H_CHx{x=a-e}HubAdrs.Port スプリットトランザクションを行うハブのポート番号を 設定します。 USB アドレス H_CHx{x=a-e}FuncAdrs.FuncAdrs 各チャネルで実行する IRP のあて先となる USB ア ドレスを設定します。 エンドポイントナンバー H_CHx{x=a-e}FuncAdrs.EP_Number 各チャネルで実行する IRP のあて先となるエン ドポイントナンバーを設定します。 IRP データ数 H_CHx{x=a-e}TotalSize_HH, H_CHx{x=a-e}TotalSize_HL, H_CHx{x=a-e}TotalSize_LH, H_CHx{x=a-e}TotalSize_LL 各チャネルで実行する IRP のデータ転送数をバイ ト単位で設定します。 トークン発行間隔 H_CHx{x=b-e}Interval_H, H_CHx{x=b-e}Interval_L インタラプト転送及びアイソクロナス転送における トークン発行間隔(周期)を設定します。 FIFO 領域 AREAn{n=0-5}StartAdrs_H, AREAn{n=0-5}StartAdrs_L, AREAn{n=0-5}EndAdrs_H, AREAn{n=0-5}EndAdrs_L, 各チャネルに割り当てる領域を、FIFO のアドレ スで設定します。 FIFO 領域は、各チャネルのマックスパケットサ イズ以上の領域を割り当てて下さい。また、FIFO 領域のサイズがデータ転送のスループットに影 響します。 FIFO の領域割り当ての詳細は、 「1.5 FIFO 管理」 を参照して下さい。 FIFO 領域ジョイン AREAn{n=0-5}Join_1.JoinEPxCHx{x= a-e} 各チャネルを FIFO 領域に結合します。 バルクオンリーサポート機能を使用する場合、 チャネル CHa を AREA1 に結合して下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 45 1. 機能説明 1.3.1.4 1.3.1.4.1 チャネル使用例 ストレージデバイスを 1 台接続した場合 USB Mass Storage Class(BulkOnly Transport Protocol)に対応したストレージデバイス (例:ハードディスク)を接続した場合のチャネル使用例を図 1.20 に示します。このク ラスに対応したデバイスでは、コントロール転送、バルク IN 転送、バルク OUT 転送 を使用します。 コントロール転送に対しては CH0 を使用します。 一方、バルク IN 転送およびバルク OUT 転送については汎用チャネルを使用します が、特に本 LSI のバルクオンリーサポート機能を使用する場合には CHa を使用しま す。 バ ル ク オ ンリ ー サ ポ ート 機 能 とは USB Mass Storage Class (BulkOnly Transport Protocol)のコマンドトランスポート(CBW)、データトランスポート、ステータストラ ンスポート(CSW)の一連のトランスポート管理を自動で行う機能(「1.3.8 バルクオン リーサポート機能」参照)であり、CHa に実装しています。 バルクオンリーサポート機能を使用しない場合は、バルク IN 転送およびバルク OUT 転送を他の汎用チャネルに個別(例えば CHb と CHc)に割り当てることも可能です。 この場合、トランスポート管理はソフトウェアで行う必要があります。 ハードウェアは、チャネルに対し転送のスケジューリング(「1.3.2 スケジューリング」 参照)を行い、トランザクションを実行します。 Host Host Controller (Channel Resister) F/W H/W IRP HDD1 BulkOut Device Hdd1 HDD1 Ctl CH0 (Ctl専用) Ctl HDD1 BulkIn CHa (Bulk用1) BulkIn CHb (Bulk/Int/Iso用1) Bulkout CHc (Bulk/Int/Iso用2) CHd (Bulk/Int/Iso用3) CHe (Bulk/Int/Iso用4) 図 1.20 46 チャネル使用例(ストレージデバイスを 1 台接続した場合) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.1.4.2 コミュニケーションデバイスを 1 台接続した場合 USB Communication Device Class に対応したコミュニケーションデバイス(例:無線 LAN アダプタ)を接続した場合のチャネル使用例を図 1.21 に示します。このクラスに 対応したデバイスではコントロール転送、バルク IN 転送、バルク OUT 転送、インタ ラプト IN 転送を使用します。 コントロール転送には CH0 を使用します。 このクラスではバルク IN 転送とバルク OUT 転送は並列に動作する必要があるため、 それぞれの転送に汎用チャネル(例えば CHb, CHc)を個別に割り当てて使用します。 インタラプト IN 転送も同様に汎用チャネル(例えば CHd)を個別に割り当てて使用し ます。 ハードウェアは、チャネルに対し転送のスケジューリング(「1.3.2 スケジューリング」 参照)を行い、トランザクションを実行します。 Host Host Controller (Channel Resister) F/W Device H/W IRP CD1 Ctl CH0 (Ctl専用) CD1 CHa (Bulk用1) Ctl CD1 BulkIn CHb (Bulk/Int/Iso用1) BulkIn CD1 BulkOut CHc (Bulk/Int/Iso用2) Bulkout CD1 IntIn CHd (Bulk/Int/Iso用3) IntIn CHe (Bulk/Int/Iso用4) 図 1.21 チャネル使用例(コミュニケーションデバイスを 1 台接続した場合) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 47 1. 機能説明 1.3.1.4.3 ヒューマンインタフェイスデバイスを 1 台接続した場合 USB Human Interface Device Class に対応したデバイス(例:マウス)を接続した場合の チャネル使用例を図 1.22 に示します。このクラスに対応したデバイスではコント ロール転送、インタラプト IN 転送を使用します。 コントロール転送には CH0 を使用します。 インタラプト IN 転送には汎用チャネル(例えば CHd)を割り当てて使用します。 ハードウェアは、チャネルに対し転送のスケジューリング(「1.3.2 スケジューリング」 参照)を行い、トランザクションを実行します。 Host Host Controller (Channel Resister) F/W Device H/W IRP HID1 Ctl CH0 (Ctl専用) HID1 HID1 IntIn CHa (Bulk用1) Ctl CHb (Bulk/Int/Iso用1) BulkIn CHc (Bulk/Int/Iso用2) Bulkout CHd (Bulk/Int/Iso用3) IntIn CHe (Bulk/Int/Iso用4) 図 1.22 48 チャネル使用例(ヒューマンインタフェイスデバイスを 1 台接続した場合) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 ハブを介してストレージデバイスを 2 台接続した場合 1.3.1.4.4 USB Mass Storage Class(BulkOnly Transport Protocol)に対応したストレージデバイス (例:ハードディスク、USB メモリ)を、ハブを介して 2 台接続した場合のチャネル使 用例を図 1.23 に示します。USB Mass Storage Class ではバルク IN 転送、バルク OUT 転送を使用します。 ハブに関してはコントロール転送、インタラプト IN 転送を使用します。 USB メモリに関してはこの例ではハブを内蔵しているものを扱っています。 すべてのデバイスに対するコントロール転送は CH0 を時分割して使用します。 ハブ及び USB メモリのインタラプト IN 転送には、汎用チャネル(例えば CHd, CHe) を個別に割り当てて使用します。 一方、ハードディスク及び USB メモリのバルク IN 転送およびバルク OUT 転送に対 しては、本 LSI のバルクオンリーサポート機能を使用する場合は CHa を使用します。 バ ル ク オ ンリ ー サ ポ ート 機 能 とは USB Mass Storage Class (BulkOnly Transport Protocol)のコマンドトランスポート(CBW)、データトランスポート、ステータストラ ンスポート(CSW)の一連のトランスポート管理を自動で行う機能(「1.3.8 バルクオン リーサポート機能」参照)であり、本 LSI では CHa に実装しています。バルクオンリー サポート機能を使用する場合は転送相手(この例ではハードディスクと USB メモリ) をコマンドトランスポートからステータストランスポートまでを単位として切り替 えて使用します。 バルクオンリーサポート機能を使用しない場合は、バルク IN 転送およびバルク OUT 転送を汎用チャネルに個別に割り当てることも可能です。この場合、トランスポー ト管理はソフトウェアで行う必要があります。 ハードウェアは、チャネルに対し転送のスケジューリング(「1.3.2 スケジューリング」 参照)を行い、トランザクションを実行します。 Host Host Controller (Channel Resister) F/W Device H/W IRP USB Memory Ctl HDD1 BulkOut Hub2 Ctl USB Memory BulkIn Hdd1 HDD1 Ctl Hub1 Ctl Channel-0 (Ctl専用) USB Memory BulkOut HDD1 BulkIn Channel-A (Bulk用1) BulkIn Channel-B (Bulk/Int/Iso用1) Bulkout Channel-C (Bulk/Int/Iso用2) Hub1 Int Channel-D (Bulk/Int/Iso用3) Hub2 Int Channel-E (Bulk/Int/Iso用4) Ctl Hub1 Ctl Int USB Memory Hub2 Ctl Int BulkIn Bulkout Ctl 図 1.23 チャネル使用例(ハブを介してストレージデバイスを 2 台接続した場合) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 49 1. 機能説明 1.3.2 スケジューリング ハードウェアは転送実行(H_CHx{x=0,a-e}Config_0.TranGo)がセットされたチャネルの中から 一つを選択し、そのチャネルに設定された転送の実行可否判断を行います。転送が実行可能と 判断すると、設定に従いトランザクションを一つ実行します。トランザクションが終了すると、 ハードウェアは別のチャネルを選択し、同様に実行可否判断を行い、トランザクションを実行 します。 このようなチャネルの選択、実行可否判断、トランザクションの実行を繰返すことにより、ハー ドウェアは複数のチャネルを使用して、複数のエンドポイントに対して転送を行います。 表 1.23 にチャネル CH0 のスケジューリング制御に関する制御項目を示します。 表 1.23 項目 転送実行 チャネル CH0 のスケジューリング設定項目 レジスタ/ビット 説明 チャネル CH0 の転送実行を設定します。 チャネルの設定に従い転送を行います。 H_CH0Config_0.TranGo 表 1.24 に汎用チャネル(CHa, CHb, CHc, CHd, CHe のスケジューリング制御に関する制御項目 を示します。 表 1.24 項目 転送実行 50 汎用チャネルのスケジューリング設定項目 レジスタ/ビット H_CHx{x=a-e}Config_0.TranGo 説明 各チャネルの転送実行を設定します。 各チャネルの設定に従い転送を行います。 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.3 トランザクション 本 LSI は、ハードウェアでトランザクション実行機能と、ファームウェアに対するトランザク ション実行のためのインタフェイスを提供します。ファームウェアに対するインタフェイスは、 制御レジスタとステータスレジスタ、及び、ステータスによりアサートされる割り込み信号と して実装されています。ステータスにより割り込みをアサートする設定については、「2. レ ジスタ」を参照して下さい。 ハードウェアはチャネルを選択し、転送可否判断を行い、転送可能と判断した場合、チャネル の設定に従ってトランザクションを実行します。 本 LSI は個々のトランザクション毎に、ファームウェアに対してステータスを発行します。し かしながら、ファームウェアは必ずしも、個々のトランザクションを管理する必要はありませ ん。 例えば、IN のチャネルであれば、ファームウェアは、CPU インタフェイス(DMA リードまた はレジスタリード)により、FIFO からデータを読み出して FIFO に空き領域を作り出すことに よって、IN トランザクションを自動的に連続して実行させることが出来ます。また、OUT の チャネルであれば、ファームウェアは、CPU インタフェイス(DMA ライトまたはレジスタラ イト)により、FIFO にデータを書き込んで FIFO に有効データを作り出すことによって、OUT トランザクションを自動的に連続して実行させることが出来ます。 表 1 25 にチャネル CH0 のトランザクション制御に関する制御項目及びステータスを示します。 表 1.25 項目 チャネル CH0 の制御項目及びステータス レジスタ/ビット 説明 トランザクション ステータス H_CH0IntStat.TotalSizeCmp, H_CH0IntStat.TranACK, H_CH0IntStat.TranErr, H_CH0IntStat.ChangeCondition トランザクションの結果を示します。 トランザクション コンディションコード H_CH0ConditionCode トランザクション結果の詳細を示します。 表 1.26 に、汎用チャネル(CHa, CHb, CHc, CHd, CHe)のトランザクション処理に関する制御項 目とステータスを示します。 表 1.26 項目 汎用チャネルの制御項目とステータス レジスタ/ビット 説明 トランザクション ステータス H_CHx{x=a-e}IntStat.TotalSizeCmp, H_CHx{x=a-e}IntStat.TranACK, H_CHx{x=a-e}IntStat.TranErr, H_CHx{x=a-e}IntStat.ChangeCondition トランザクションの結果を示します。 トランザクション コンディションコード H_CHx{x=a-e}ConditionCode トランザクション結果の詳細を示します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 51 1. 機能説明 1.3.3.1 SETUPトランザクション CH0 の基本設定レジスタにおいて、トランザクション種別(H_CH0Config_1.TID)を"SETUP" に設定します。その他の基本設定項目を適宜設定し、H_CH0SETUP_0~7 レジスタにセッ トアップデータ(8Byte)を書き込み、転送実行(H_CH0Config_0.TranGo)をセットすることに より、チャネル CH0 が USB 転送スケジューリングの対象となります。スケジューリング により該当チャネルが選択されると、フレーム残り時間を判断し、SETUP トランザクショ ンが実行されます。 SETUP トランザクションでは H_CH0SETUP_0~7 レジスタのデータが用いられ、データパ ケットのデータ長は 8Byte となります。 SETUP トランザクションに対して ACK を受信すると、ファームウェアに対し、ACK ステー タス(H_CH0IntStat.TranACK ビット)を発行します。 SETUP トランザクションに対して正常な応答を受信しない場合、コンディションコード (H_CH0ConditionCode)を“RetryError”に設定し、ファームウェアに対し TranErr ステータス (H_CH0IntStat.TranErr ビット)を発行します。そしてリトライ処理を行いますが、エラーが 3 回連続して続く場合、H_CH0Control.TranGo を自動クリアすることで転送を終了し、 ファームウェアに対し ChangeCondition ステータス(H_CH0IntStat.ChangeCondition ビット) を発行します。 図 1.24 に SETUP トランザクションの様子を図示します。(a)LSI が、宛先ノードに存在する エンドポイント 0 に宛てた SETUP トークンを発行します。(b)LSI は続けて、8Byte 長のデー タパケットを送信します。(c)LSI は ACK 受信により、該当するレジスタを自動設定し、 ファームウェアに対しステータスを発行します。 SETUP DATA ACK a b c Host to Device Device to Host 図 1.24 52 SETUP トランザクション EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.3.2 バルクOUTトランザクション CHx{x=a-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Bulk”、トランザクション種別(H_CHx{x=a-e}Config_1.TID)を“OUT”に設定します。その他 の基本設定項目を適宜設定し、転送実行(H_CHx{x=a-e}Config_0.TranGo)をセットすること により、チャネルはハードウェアが行う USB 転送のスケジューリングの対象となります。 スケジューリングにより該当チャネルが選択されると、FIFO の有効データ数及びフレーム 残り時間を判断し、バルク OUT トランザクションが実行されます。なお、チャネル CHa はバルク転送専用となっている為に基本設定レジスタのうち転送種別は存在しません。 個々のデータパケットのデータ長は H_CHx{x=a-e}MaxPacketSize_H,L と H_CHx{x=a-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 バルク OUT トランザクションに対して ACK を受信すると、ファームウェアに対して ACK ステータス(H_CHx{x=a-e}IntStat.TranACK ビット)を発行します。また、FIFO を更新し、送 信したデータを送信済みとして領域を開放します。 バルク OUT トランザクションに対して NAK を受信した場合、FIFO は更新せず、領域も開 放しません。その為、該当チャネルが再び選択された場合、同じトランザクションを実行 します。 バルク OUT トランザクションに対して STALL を受信すると、 H_CHx{x=a-e}Config_0.TranGo を自動クリアすることで転送を終了し、コンディションコー ド(H_CHx{x=a-e}ConditionCode)を“STALL”に設定します。そしてファームウェアに対し、 ChangeCondition ステータス(H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。ま た、FIFO は更新せず、領域も開放しません。 バルク OUT トランザクションに対して正常な応答を受信しない場合、FIFO は更新せず、 領域も開放しません。コンディションコード(H_CHx{x=a-e}ConditionCode)を“RetryError”に 設定し、ファームウェアに対し、TranErr ステータス(H_CHx{x=a-e}IntStat.TranErr ビット) を発行します。そしてリトライ処理を行いますが、エラーが 3 回連続して続いた場合は H_CHx{x=a-e}Control.TranGo を自動クリアすることで転送を終了し、ファームウェアに対 し ChangeCondition ステータス(H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。 図 1.25 に、完結する場合のバルク OUT トランザクションの様子を図示します。(a)LSI が、 宛先ノードに存在する OUT 方向のエンドポイントに宛てた OUT トークンを発行します。 (b)LSI は続けて、マックスパケットサイズ以内のデータパケットを送信します。(c)LSI は ACK 受信により、該当するレジスタを自動設定し、ファームウェアに対しステータスを発 行します。 OUT DATA ACK a b c Host to Device Device to Host 図 1.25 OUT トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 53 1. 機能説明 1.3.3.3 インタラプトOUTトランザクション CHx{x=b-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Interrupt”、トランザクション種別(H_CHx{x=b-e}Config_1.TID)を“OUT”に設定します。ま た、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)を設定し、その他の基本設定項目を適宜 設定した後に転送実行(H_CHx{x=b-e}Config_0.TranGo)をセットすることにより、チャネル はハードウェアが行う USB 転送のスケジューリングの対象となります。スケジューリング により該当チャネルが選択されると、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)、FIFO の有効データ数及びフレーム残り時間を判断し、インタラプト OUT トランザクションが実 行されます。 データパケットのデータ長は H_CHx{x=b-e}MaxPacketSize_H,L と H_CHx{x=b-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 インタラプト OUT トランザクションに対して ACK を受信すると、ファームウェアに対し、 ACK ステータス(H_CHx{x=b-e}IntStat.TranACK ビット)を発行します。また、FIFO を更新 して、送信したデータを送信済みとして領域を開放します。 インタラプト OUT トランザクションに対して NAK を受信した場合、FIFO は更新せず、領 域も開放しません。その為、該当チャネルが再び選択された場合、同じトランザクション を実行します。 インタラプト OUT トランザクションに対して STALL を受信すると、 H_CHx{x=b-e}Config_0.TranGo を自動クリアすることで転送を終了し、そしてコンディショ ンコード(H_CHx{x=b-e}ConditionCode)を“STALL”に設定します。そして、ファームウェア に対し、ChangeCondition ステータス(H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行し ます。また、FIFO は更新せず、領域も開放しません。 インタラプト OUT トランザクションに対して正常な応答を受信しない場合、FIFO は更新 せ ず 、 領 域 も 開 放 し ま せ ん 。 コ ン デ ィ シ ョ ン コ ー ド (H_CHx{x=b-e}ConditionCode) を “RetryError”に設定し、ファームウェアに対し、TranErr ステータス (H_CHx{x=b-e}IntStat.TranErr ビット)を発行します。そしてリトライ処理を行いますが、エ ラーが 3 回連続して続いた場合は H_CHx{x=b-e}Control.TranGo を自動クリアすることで転 送を終了し、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。 54 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.3.4 アイソクロナスOUTトランザクション CHx{x=b-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Isochronous”、トランザクション種別(H_CHx{x=b-e}Config_1.TID)を“OUT”に設定します。 また、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)を設定し、その他の基本設定項目を適 宜設定した後に転送実行(H_CHx{x=b-e}Config_0.TranGo)をセットすることにより、チャネ ルはハードウェアが行う USB 転送のスケジューリングの対象となります。スケジューリン グにより該当チャネルが選択された場合、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)、 FIFO の有効データ数及びフレーム残り時間を判断し、アイソクロナス OUT トランザクショ ンが実行されます。 データパケットのデータ長は H_CHx{x=b-e}MaxPacketSize_H,L と H_CHx{x=b-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 アイソクロナス OUT トランザクションが終了すると、ファームウェアに対し、ACK ステー タス(H_CHx{x=b-e}IntStat.TranACK ビット)を発行します。また、FIFO を更新して、送信し たデータを送信済みとして領域を開放します。 FIFO の有効データ数がデータパケットのデータ長に満たない場合はトランザクションを 発行しません。その為 FIFO は更新せず、領域も開放しません。そして、ファームウェアに 対し TranErr ステータスを発行し、コンディションコード(H_CHx{x=b-e}ConditionCode)を “BufferUnderrun”に設定します。 図 1.26 に、完結する場合のアイソクロナス OUT トランザクションの様子を図示します。 (a)LSI が、宛先ノードに存在する OUT 方向のエンドポイントに宛てた OUT トークンを発 行します。(b)LSI は続けて、マックスパケットサイズ以内のデータパケットを送信します。 LSI はデータパケット送信後に該当するレジスタを自動設定し、ファームウェアに対しス テータスを発行します。 OUT DATA a b Host to Device Device to Host 図 1.26 アイソクロナス OUT トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 55 1. 機能説明 1.3.3.5 バルクINトランザクション CHx{x=a-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Bulk”、トランザクション種別(H_CHx{x=a-e}Config_1.TID)を“IN”に設定します。その他の 基本設定項目を適宜設定し、転送実行(H_CHx{x=a-e}Config_0.TranGo)をセットすることに より、チャネルはハードウェアが行う USB 転送のスケジューリングの対象となります。ス ケジューリングにより該当チャネルが選択された場合、FIFO の空き容量及びフレーム残り 時間を判断し、バルク IN トランザクションが実行されます。なお、チャネル CHa はバル ク転送専用となっている為に基本設定レジスタのうち転送種別は存在しません。 受 信 す る デ ー タ パ ケ ッ ト の 期 待 デ ー タ 長 は H_CHx{x=a-e}MaxPacketSize_H,L と H_CHx{x=a-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 バルク IN トランザクションにおいて、全てのデータが正常に受信できると、ACK 応答し、 ト ラ ン ザ ク シ ョ ン を 完 結 し ま す 。 ま た 、 フ ァ ー ム ウ ェ ア に 対 し 、 ACK ス テ ー タ ス H_CHx{x=a-e}IntStat.TranACK ビット)を発行します。更に、FIFO を更新して、データを受 信済みとして領域を確保します。 バルク IN トランザクションにおいて、受信データ長が期待データ長より小さい場合、 H_CHx{x=a-e}Config_0.TranGo を自動クリアすることで転送を終了し、ACK 応答します。 また、コンディションコード(H_CHx{x=a-e}ConditionCode)を“DataUnderrun”に設定します。 そして、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。更に、FIFO を更新して、デー タを受信済みとして領域を確保します。 バルク IN トランザクションにおいて、NAK を受信した場合、ステータスは発行しません。 また、FIFO は更新しません。 バルク IN トランザクションに対して STALL を受信すると、H_CHx{x=a-e}Config_0.TranGo を自動クリアすることで転送を終了し、コンディションコード (H_CHx{x=a-e}ConditionCode)を“STALL”に設定します。そしてファームウェアに対し、 ChangeCondition ステータス(H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。ま た、FIFO は更新しません。 バルク IN トランザクションにおいて、受信データ長が期待データ長より大きい場合、 H_CHx{x=a-e}Config_0.TranGo を自動クリアすることで転送を終了します。応答は行いま せん。また、コンディションコード H_CHx{x=a-e}ConditionCode)を“DataOverrun”に設定し ます。そして、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。FIFO は更新しません。 バルク IN トランザクションにおいて、トグルミスマッチが発生した場合、ACK 応答しま す。また、コンディションコード(H_CHx{x=a-e}ConditionCode)を“RetryError”に設定します。 そして、ファームウェアに対し、TranErr ステータス(H_CHx{x=a-e}IntStat.TranErr ビット) を発行します。FIFO は更新しません。 バルク IN トランザクションにおいて、タイムアウトエラー、CRC エラー、ビットスタッ フィングエラー、PID エラー(予期せぬ PID 含む)が発生した場合、応答は行いません。また、 コンディションコード(H_CHx{x=a-e}ConditionCode)を“RetryError”に設定します。そして、 ファームウェアに対し、TranErr ステータス(H_CHx{x=a-e}IntStat.TranErr ビット)を発行し ます。FIFO は更新しません。 コンディションコード(H_CHx{x=a-e}ConditionCode)が“RetryError”に設定されるエラーが 発生した場合、リトライ処理を行います。そして、エラーが 3 回連続して続く場合 H_CHx{x=a-e}Control.TranGo を自動クリアすることで転送を終了し、ファームウェアに対 し、ChangeCondition ステータス(H_CHx{x=a-e}IntStat.ChangeCondition ビット)を発行します。 図 1.27 に、完結する場合のバルク IN トランザクションの様子を図示します。(a)LSI が、宛 先ノードに存在する IN 方向のエンドポイントに宛てた IN トークンを発行します。(b)エン ドポイントは、この IN トランザクションに応答できる場合、マックスパケットサイズ以内 のデータパケットを送信します。(c)LSI は ACK 応答します。そして該当するレジスタを自 動設定し、ファームウェアに対しステータスを発行します。 56 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 IN DATA ACK a b c Host to Device Device to Host 図 1.27 IN トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 57 1. 機能説明 1.3.3.6 インタラプトINトランザクション CHx{x=b-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Interrupt”、トランザクション種別(H_CHx{x=b-e}Config_1.TID)を“IN”に設定します。また、 トークン発行間隔(H_CHx{x=b-e}Interval_H,L)を設定し、その他の基本設定項目を適宜設定 し、転送実行(H_CHx{x=b-e}Config_0.TranGo)をセットすることにより、チャネルはハード ウェアが行う USB 転送のスケジューリングの対象となります。スケジューリングにより該 当チャネルが選択された場合、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)、FIFO の空 き容量及びフレーム残り時間を判断し、インタラプト IN トランザクションが実行されます。 受 信 す る デ ー タ パ ケ ッ ト の 期 待 デ ー タ 長 は H_CHx{x=b-e}MaxPacketSize_H,L と H_CHx{x=b-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 インタラプト IN トランザクションにおいて、全てのデータが正常に受信できると、ACK 応答し、トランザクションを完結します。また、ファームウェアに対し、ACK ステータス (H_CHx{x=b-e}IntStat.TranACK ビット)を発行します。また、FIFO を更新して、データを受 信済みとして領域を確保します。 インタラプト IN トランザクションにおいて、受信データ長が期待データ長より小さい場合、 H_CHx{x=b-e}Config_0.TranGo を自動クリアすることで転送を終了し、ACK 応答します。 また、そしてコンディションコード(H_CHx{x=b-e}ConditionCode)を“DataUnderrun”に設定 します。そして、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。また、FIFO を更新して、デー タを受信済みとして領域を確保します。 インタラプト IN トランザクションにおいて、NAK を受信した場合、ステータスは発行し ません。また、FIFO は更新しません。次のトランザクションは次の周期にて行います。 インタラプト IN トランザクションに対して STALL を受信すると、 H_CHx{x=b-e}Config_0.TranGo を自動クリアすることで転送を終了し、コンディションコー ド(H_CHx{x=b-e}ConditionCode)を“STALL”に設定します。そしてファームウェアに対し、 ChangeCondition ステータス(H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。ま た、FIFO は更新しません。 バルク IN トランザクションにおいて、受信データ長が期待データ長より大きい場合、 H_CHx{x=b-e}Config_0.TranGo を自動クリアすることで転送を終了します。応答は行いま せん。また、コンディションコード H_CHx{x=b-e}ConditionCode)を“DataOverrun”に設定し ます。そして、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。FIFO は更新しません。 インタラプト IN トランザクションにおいて、トグルミスマッチが発生した場合、ACK 応 答します。また、コンディションコード(H_CHx{x=b-e}ConditionCode)を“RetryError”に設定 します。そして、ファームウェアに対し、TranErr ステータス(H_CHx{x=b-e}IntStat.TranErr ビット)を発行します。FIFO は更新しません。 インタラプト IN トランザクションにおいて、、タイムアウトエラー、CRC エラー、ビッ トスタッフィングエラー、PID エラー(予期せぬ PID 含む)が発生した場合、応答は行いませ ん。また、コンディションコード(H_CHx{x=b-e}ConditionCode)を“RetryError”に設定します。 そして、ファームウェアに対し、TranErr ステータス(H_CHx{x=b-e}IntStat.TranErr ビット) を発行します。FIFO は更新しません。 コンディションコード(H_CHx{x=b-e}ConditionCode)が“RetryError”に設定されるエラーが 発生した場合、次の周期にてリトライ処理を行います。そして、エラーが 3 回連続して続 く場合 H_CHx{x=b-e}Control.TranGo を自動クリアすることで転送を終了し、ファームウェ アに対し、ChangeCondition ステータス(H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行 します。 58 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.3.7 アイソクロナスINトランザクション CHx{x=b-e}の基本設定レジスタにおいて、転送種別(H_CHx{x=b-e}Config_1.TranType)を “Isochronous”、トランザクション種別(H_CHx{x=b-e}Config_1.TID)を“IN”に設定します。ま た、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)を設定し、その他の基本設定項目を適宜 設定し、転送実行(H_CHx{x=b-e}Config_0.TranGo)をセットすることにより、チャネルは ハードウェアが行う USB 転送のスケジューリングの対象となります。スケジューリングに より該当チャネルが選択された場合、トークン発行間隔(H_CHx{x=b-e}Interval_H,L)、FIFO の空き容量及びフレーム残り時間を判断し、アイソクロナス IN トランザクションが実行さ れます。 受 信 す る デ ー タ パ ケ ッ ト の 期 待 デ ー タ 長 は H_CHx{x=b-e}MaxPacketSize_H,L と H_CHx{x=b-e}TotalSize_HH,HL,LH,LL の値のうち小さい方の値となります。 アイソクロナス IN トランザクションにおいて、全てのデータが正常に受信できると、トラ ン ザ ク シ ョ ン を 完 結 し ま す 。 ま た 、 フ ァ ー ム ウ ェ ア に 対 し 、 ACK ス テ ー タ ス (H_CHx{x=b-e}IntStat.TranACK ビット)を発行します。また、FIFO を更新して、データを受 信済みとして領域を確保します。 アイソクロナス IN トランザクションにおいて、受信データ長が期待データ長より小さい場 合、ファームウェアに対し、ACK ステータス(H_CHx{x=b-e}IntStat.TranACK ビット)及び ChangeCondition ステータス(H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。そ してコンディションコード(H_CHx{x=b-e}ConditionCode)を“DataUnderrun”に設定します。 また、FIFO を更新して、データを受信済みとして領域を確保します。 アイソクロナス IN トランザクションにおいて、受信データ長が期待データ長より大きい場 合、ファームウェアに対し、ChangeCondition ステータス (H_CHx{x=b-e}IntStat.ChangeCondition ビット)を発行します。そしてコンディションコード (H_CHx{x=b-e}ConditionCode)を“DataOverrun”に設定します。、FIFO は更新しません。 アイソクロナス IN トランザクションにおいて、、タイムアウトエラー、CRC エラー、ビッ トスタッフィングエラー、PID エラー(予期せぬ PID 含む)が発生した場合、ファームウェア に対し、TranErr ステータス(H_CHx{x=b-e}IntStat.TranErr ビット)を発行します。また、コ ンディションコード(H_CHx{x=b-e}ConditionCode)を“RetryError”に設定します。FIFO は更 新しません。 FIFO の空き領域のサイズが H_CHx{x=b-e}MaxPacketSize_H,L が示す値に満たない場合は トランザクションを発行しません。そして、ファームウェアに対し TranErr ステータスを発 行し、コンディションコード(H_CHx{x=b-e}ConditionCode)を“BufferOverrun”に設定します。 図 1.28 に、完結する場合のアイソクロナス IN トランザクションの様子を図示します。(a)LSI が、宛先ノードに存在する IN 方向のエンドポイントに宛てた IN トークンを発行します。 (b)エンドポイントは、この IN トランザクションに応答できる場合、マックスパケットサ イズ以内のデータパケットを送信します。LSI はデータパケット受信後に該当するレジス タを自動設定し、ファームウェアに対しステータスを発行します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 59 1. 機能説明 IN DATA a b Host to Device Device to Host 図 1.28 60 アイソクロナス IN トランザクション EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.3.8 PINGトランザクション バルク OUT またはコントロール OUT トランザクションを行うチャネルでは、HS 動作時に、 以下に示す条件で PING トランザクションを実行する状態に移行します。チャネルが PING トランザクションを実行する状態の時にスケジューリングにより選択されると PING トラ ンザクションを実行します。 OUT トランザクションに対して、NYET を受信した場合、NAK を受信した場合、または応 答を受信しない場合、チャネルは PING トランザクションを実行する状態に移行します。 PING トランザクションに対して NAK を受信した場合、チャネルは引き続き PING トラン ザクションを実行する状態となります。また、ファームウェアに対しステータスは発行し ません。 PING トランザクションに対して ACK を受信した場合、チャネルは PING トランザクショ ンを実行する状態から OUT トランザクションを行う状態に戻ります。ファームウェアに対 しステータスは発行しません。 PING トランザクションに対して STALL を受信した場合、H_CHx{x=0,a-e}Config_0.TranGo を自動クリアすることで転送を終了し、コンディションコード (H_CHx{x=0,a-e}ConditionCode)を“STALL”に設定します。そして、ファームウェアに対し、 ChangeCondition ステータス(H_CHx{x=0,a-e}IntStat.ChangeCondition ビット)を発行します。 PING トランザクションに対して正常な応答を受信しない場合、コンディションコード (H_CHx{x=0,a-e}ConditionCode)を"RetryError"に設定します。そして、ファームウェアに対 し、TranErr ステータス(H_CHx{x=0,a-e}IntStat.TranErr ビット)を発行します。この場合、リ トライ処理を行いますが、エラーが 3 回連続して続く場合、H_CHx{x=0,a-e}Control.TranGo を自動クリアすることで転送を終了し、ファームウェアに対し ChangeCondition ステータス (H_CHx{x=0,a-e}IntStat.ChangeCondition ビット)を発行します。 PING トランザクションにおいては、FIFO が更新されることはありません。 図 1.29 に、PING トランザクションに対して ACK 応答する様子を図示します。(a)LSI は、 このノードに存在する OUT 方向のエンドポイントに宛てた PING トークンを発行します。 (b)デバイスは、エンドポイントにマックスパケットサイズ分の空きがある場合、この PING トランザクションに対し ACK 応答します。 PING ACK a b Host to Device Device to Host 図 1.29 PING トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 61 1. 機能説明 1.3.3.9 low-speed(LS)トランザクション LS デバイスとの転送にはコントロール転送、またはインタラプト転送を使用します。 ダウンストリームポートに LS デバイスが接続された場合、ホストは LS にて動作します。 使用するチャネルの転送速度(H_CHx{x=0,a-e}Config_0.SpeedMode)を“LS”に設定すること で LS bit time にてトランザクションを実行します。 一方、ダウンストリームポートに full-speed(FS)ハブが接続され、そのハブのダウンストリー ムポートに LS デバイスが接続された場合、ホストは FS にて動作します。使用するチャネ ルの転送速度(H_CHx{x=0,a-e}Config_0.SpeedMode)を LS に設定することで、対応するエン ドポイントへの全てのダウンストリーム・パケットの先頭にプリアンブルを伴って送信し ます。プリアンブルは FS bit time にて送信し、プリアンブルに続くダウンストリーム・パ ケットは LS bit time にて送信します。 図 1.30 に、完結する場合のインタラプト OUT トランザクションの様子を図示します。(a)LSI は、宛先ノードに存在する OUT 方向のエンドポイントに宛てた OUT トークンを先頭にプ リアンブルを付与して発行します。(b)LSI は続けて、マックスパケットサイズ以内のデー タパケットを先頭にプリアンブルを付与して送信します。(c)LSI は ACK 受信により、該当 するレジスタを自動設定し、ファームウェアに対しステータスを発行します。 PRE OUT a PRE DATA ACK b c Host to Device Device to Host 図 1.30 Preamble が付与された OUT トランザクション 図 1.31 に、完結する場合のインタラプト IN トランザクションの様子を図示します。(a)LSI は、宛先ノードに存在する IN 方向のエンドポイントに宛てた IN トークンを先頭にプリア ンブルを付与して発行します。(b)デバイスはマックスパケットサイズ以内のデータパケッ トを送信してきます。LSI はこのデータを該当するチャネルの FIFO に書き込みます。(c)LSI はデータを受信出来ると ACK 応答を先頭にプリアンブルを付与して行います。また、該当 するレジスタを自動設定し、ファームウェアに対しステータスを発行します。 62 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 PRE IN a DATA PRE b ACK c Host to Device Device to Host 図 1.31 Preamble が付与された IN トランザクション S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 63 1. 機能説明 1.3.3.10 スプリットトランザクション ダウンストリームポートに high-speed(HS)ハブが接続され、そのハブのダウンストリーム ポートに FS または LS デバイスが接続された場合、ホストは HS にて動作します。使用す るチャネルの転送速度(H_CHx{x=0,a-e}Config_0.SpeedMode)を FS または LS に設定するこ とで、ハブとの間にて、対応するエンドポイントへのトランザクションをスプリットトラ ンザクションで実行します。 該 当 チ ャ ネ ル に は ハ ブ ア ド レ ス (H_CHx{x=0,a-e}HubAdrs.HubAdrs) 、 ポ ー ト 番 号 (H_CHx{x=0,a-e}HubAdrs.Port)を適切な値に設定します。 スプリットトランザクションにおけるスタートスプリットトランザクションからコンプ リートスプリットトランザクションのシーケンスは、ハードウェアが制御します。その為 ファームウェアはスプリットトランザクションの個々のトランザクションを意識する必要 はありません。 コントロール転送、バルク転送、インタラプト転送、及び IN 方向のアイソクロナス転送の 場合、スタートスプリットトランザクションからコンプリートスプリットトランザクショ ンのシーケンスにおいて、最終のコンプリートスプリットトランザクションが正常に完結 した場合、ファームウェアに対し ACK ステータス(H_CHx{x=0,a-e}IntStat.TranACK ビット) を発行し、FIFO を更新します。 一方、OUT 方向のアイソクロナス転送の場合、最終のスタートスプリットトランザクショ ン が 正 常 に 完 結 し た 場 合 、 フ ァ ー ム ウ ェ ア に 対 し ACK ス テ ー タ ス (H_CHx{x=b-e}IntStat.TranACK ビット)を発行し、FIFO を更新します。 上記以外のスタートスプリットトランザクション及びコンプリートスプリットトランザク ションが正常に完結した場合、ファームウェアに対してのステータスの発行は行いません。 スタートスプリットトランザクションからコンプリートスプリットトランザクションの シーケンスにおいて、個々のスプリットトランザクションでエラーが発生した場合、コン ディションコード(H_CHx{x=0,a-e}ConditionCode)を“RetryError”に設定し、ファームウェア に対し、TranErr ステータス(H_CHx{x=0,a-e}IntStat.TranErr ビット)を発行します。FIFO は 更新しません。そしてリトライ処理を行います。コントロール転送、バルク転送、インタラ プト転送ではエラーが 3 回連続して続く場合、H_CHx{x=0,a-e}Control.TranGo を自動クリ ア す る こ と で 転 送 を 終 了 し 、 フ ァ ー ム ウ ェ ア に 対 し 、 ChangeCondition ス テ ー タ ス (H_CHx{x=0,a-e}IntStat.ChangeCondition ビット)を発行します。 64 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.4 コントロール転送 コントロール転送は、その各ステージを個々のトランザクションとして制御するか、または、 後述(「1.3.4.3 コントロール転送サポート機能」)のコントロール転送サポート機能によって、 自動的に行えます。 図 1.32 にコントロール転送の制御の様子を図示します。ファームウェアは SETUP、DATA、 STATUS の各ステージを適宜設定することでコントロール転送をハードウェアに実行させま す。 Host Host Controller (Channel Resister) F/W セット 完了確認 セット 完了確認 セット 完了確認 図 1.32 H/W CH0 (Ctl専用) Ctl SETUP Ctl DATA Ctl STATUS コントロール転送の制御 図 1.33 にデータステージが OUT 方向である場合のコントロール転送の様子を図示します。(a) ホストは、SETUP トランザクションによって、コントロール転送を開始します。(b)ホストは OUT トランザクションを発行して、データステージを行います。(c)ホストは IN トランザク ションを発行して、ステータスステージを行います。 データステージの無いコントロール転送は、この例におけるデータステージが無い状態で実施 されます。 a b b c Host to Device Device to Host 図 1.33 データステージが OUT 方向のコントロール転送 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 65 1. 機能説明 図 1.34 にデータステージが IN 方向である場合のコントロール転送の様子を図示します。(a) ホストは、SETUP トランザクションによって、コントロール転送を開始します。(b)ホストは IN トランザクションを発行して、データステージを行います。(c)ホストは OUT トランザク ションを発行して、ステータスステージを行います。 a b b c Host to Device Device to Host 図 1.34 1.3.4.1 データステージが IN 方向のコントロール転送 セットアップステージ セットアップステージはセットアップトランザクションによって行います。セットアップ トランザクションの詳細は「1.3.3.1 SETUP トランザクション」を参照して下さい。 1.3.4.2 データステージ/ステータスステージ セットアップステージ終了後、次のステージに移行してください。 そのステージが IN 方向である場合、トランザクション種別(H_CH0Config_1.TID)を“IN”に 設定し、その他の基本設定レジスタを適宜設定して、トランザクションを実行してくださ い。 一方、そのステージが OUT 方向である場合、トランザクション種別(H_CH0Config_1.TID) を“OUT”に設定し、その他の基本設定レジスタを適宜設定して、トランザクションを実行 してください。 なお、ステータスステージを行う場合、IRP データ数(H_CH0TotalSize_H,L)を 0x0 に設定し てトランザクションを実行してください。 66 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.4.3 コントロール転送サポート機能 本 LSI にはコントロール転送の一連のステージ管理を自動で行う機能があります。この機 能を用いることにより、ファームウェアでは各ステージを個々のトランザクションとして 管理する必要がなくなります。 Host Host Controller (Channel Resister) F/W セット H/W Ctl SETUP Channel-0 (Ctl専用) Ctl DATA Ctl STATUS 完了確認 図 1.35 コントロール転送サポート機能の制御 コントロール転送サポート機能はチャネル CH0 にて有効です。この機能を使用した場合の コントロール転送は以下のようになります。ファームウェアは(1)~(4)、(7)の処理を行いま す。 (1) チャネル CH0 の以下の基本設定レジスタに適宜設定を行います。 転送速度(H_CH0Config_0.SpeedMode)、マックスパケットサイズ(H_CH0MaxPktSize)、 USB アドレス(H_CH0FuncAdrs.FuncAdrs)、エンドポイントナンバー (H_CH0FuncAdrs.EP_Number)、FIFO 領域(AREAn{n=0-5}StartAdrs_H,L, AREAn{n=0-5}EndAdrs_H,L)、 FIFO 領域ジョイン(AREAn{n=0-5}Join_1.JoinEP0CH0) (2) セットアップレジスタ(H_CH0SETUP_0~7 にセットアップデータ(8Byte)を書き込みま す。 (3) データステージが OUT 方向の場合は CH0 にジョインした FIFO 領域に送信すべきデー タを書き込みます。データステージが IN 方向の場合は CH0 にジョインした FIFO 領域 をクリアします。 (4) コントロール転送サポート実行(H_CTL_SupportControl.CTL_SupportGo)をセットしま す。 この時、コントロール転送ステージ(H_CTL_SupportControl.CTL_SupportState)の値は “Idle(00b)”として H_CTL_SupportControl レジスタにライトを行います。 (5) SETUP レジスタのデータ(8Byte)を用いて SETUP トランザクションを実行します(セッ トアップステージ)。 (6) SETUP データに基づき、データステージを実行します。 • SETUP データの bmRequestType の Bit7 が 0 の場合、CH0 にジョインした FIFO 領域 にあるデータを OUT トランザクションによって送信します(OUT 方向のデータス テージ)。OUT 方向のデータステージは SETUP データの wLength で示されるデータ 数を OUT トランザクションで送信すると終了します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 67 1. 機能説明 • SETUP データの bmRequestType の Bit7 が 1 の場合、IN トランザクションを発行し、 受信したデータを CH0 にジョインした FIFO 領域に書き込みます(IN 方向のデータ ステージ)。IN 方向のデータステージは SETUP データの wLength で示されるデータ 数を IN トランザクションで受信すると終了します。また、IN トランザクションで ショートパケットを受信した場合も IN 方向のデータステージは終了します。 • SETUP データの wLength の値が 0x0000 の場合はデータステージは実行しません。 (7) CH0 にジョインした FIFO 領域が SETUP データの wLength で示される値より小さい場 合、ファームウェアはデータステージのデータを分割して処理する必要があります。 • データステージが OUT 方向の場合、CH0 にジョインした FIFO 領域に送信するデー タが無くなるとトランザクションは発行されなくなります。従ってファームウェア は FIFO の空き領域を確認しながら、順次残りの送信データを FIFO に書き込む必要 があります。 • データステージが IN 方向の場合、CH0 にジョインした FIFO 領域に空き領域が無く なるとトランザクションは発行されなくなります。従ってファームウェアは FIFO の有効データ数を確認しながら順次受信したデータを FIFO から読み出し、FIFO に 空き領域を作る必要があります。 (8) SETUP データに基づき、ステータスステージを実行します。 • OUT 方向のデータステージが終了すると、IN トランザクションを発行します(IN 方 向のステータスステージ)。 • IN 方向のデータステージが終了し、CH0 にジョインした FIFO 領域に存在する受信 データがすべて読み出され FIFO が空になると、ゼロ長パケットの OUT トランザク ションを発行します(OUT 方向のステータスステージ)。 (9) コ ン ト ロ ー ル 転 送 が 正 常 に 完 了 す る と コ ン ト ロ ー ル 転 送 サ ポ ー ト 実 行 (H_CTL_SupportControl.CTL_SupportGo)を自動クリアし、コントロール転送終了ステー タス(H_CH0IntStat.CTL_SupportCmp)を発行します。 (10) コントロール転送の途中でトランザクションのエラーを検出すると、コントロール転 送サポート実行(CTL_SupportControl.CTL_SupportGo)を自動クリアすることでコント ロール転送を中止し、コントロール転送停止ステータス (H_CH0IntStat.CTL_SupportStop)を発行します。そして、コントロール転送ステージ (H_CTL_SupportControl.CTL_SupportState)により、エラーが発生したステージを示しま す。また、コンディションコード(H_CH0ConditionCode)を適切な値に設定し、 ChangeCondition ステータス(H_CH0IntStat.ChangeCondition ビット)を発行します。 コントロール転送を中断する場合は、コントロール転送サポート実行 (H_CTL_SupportControl.CTL_SupportGo)をクリアします。コントロール転送の中断処理が終 了するとステータスを発行します。 この時、コントロール転送がステータスステージまで完了して中断処理が終了した場合は コントロール転送終了ステータス(H_CH0IntStat.CTL_SupportCmp)を発行します。 一方、コントロール転送がステータスステージまで完了せずに中断処理が終了した場合は コントロール転送停止ステータス(H_CH0IntStat.CTL_SupportStop)を発行します。 コントロール転送の中断したステージはコントロール転送ステージ (H_CTL_SupportControl.CTL_SupportState)により示します。 中断したステージよりコントロール転送を再開する場合、コントロール転送ステージ (H_CTL_SupportControl.CTL_SupportState)を再開するステージに設定(即ち中断したステー ジに設定を保持)し、コントロール転送サポート実行 (H_CTL_SupportControl.CTL_SupportGo)をセットします。 一方、新たなコントロール転送を行う場合は、コントロール転送ステージ (H_CTL_SupportControl.CTL_SupportState)に“Idle(00b)”を設定し、コントロール転送サポー ト実行(H_CTL_SupportControl.CTL_SupportGo)をセットします。 68 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 コントロール転送サポート機能を実行中は、転送実行ビット(H_CH0Config_0.TranGo)、ト グ ル シ ー ケ ン ス ビ ッ ト (H_CH0Config_0.Toggle) 、 ト ラ ン ザ ク シ ョ ン 種 別 (H_CH0Config_1.TID)、IRP データ数(H_CH0TotalSize_H,L)はハードウェアにより設定およ び更新しますので、これらに対する書き込みは行わないで下さい。 トランザクションのエラーについては、「1.3.3 トランザクション」を参照して下さい。 コントロール転送サポート機能の設定項目、ステータスを表 1.27 に示します。 表 1.27 項目 コントロール転送サポート機能の制御項目及びステータス レジスタ/ビット 説明 コントロール転送 サポート実行 H_CTL_SupportControl.CTL_SupportGo コントロール転送のステージの管理を自動で行 います。 詳細については、「1.3.4.3 コントロール転送サ ポート機能」を参照して下さい。 コントロール転送 ステージ H_CTL_SupportControl.CTL_SupportState コントロール転送サポート機能において、実行 中のステージを示します。また、コントロール 転送がエラーで中止された場合は、エラーが発 生したステージを示します。 コントロール転送 実行結果 H_CH0IntStat.CTL_SupportCmp H_CH0IntStat.CTL_SupportStop コントロール転送サポート機能によるコント ロール転送の実行結果を示します。 トランザクション ステータス H_CH0IntStat.TotalSizeCmp, H_CH0IntStat.TranACK, H_CH0IntStat.TranErr, H_CH0IntStat.ChangeCondition トランザクションの結果を示します。 トランザクション コンディションコード H_CH0ConditionCode.ConditionCode トランザクション結果の詳細を示します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 69 1. 機能説明 1.3.5 バルク転送/インタラプト転送/アイソクロナス転送 CHa におけるバルク転送、CHb, CHc, CHd, CHe におけるバルク転送、インタラプト転送及び アイソクロナス転送はデータフロー(「1.3.6 データフロー」参照)としても、連続する個々の トランザクション(「1.3.3 トランザクション」参照)としても制御できます。 1.3.6 データフロー OUT 転送及び IN 転送の一般的なデータフローの制御について、説明します。 1.3.6.1 OUT転送 H_CH0TotalSize_H,L または H_CHx{x=a-e}TotalSize_HH,HL,LH,LL に OUT 転送の総データ 数を設定し、OUT 転送により送信するデータを、各チャネルにジョインした FIFO 領域上 に書き込んで下さい。FIFO にデータを書き込むには、CPU インタフェイスによるレジスタ 書き込みと、CPU インタフェイスによる DMA 書き込みの方法があります。 CPU イ ン タ フ ェ イ ス の レ ジ ス タ ラ イ ト に よ り FIFO に デ ー タ を 書 き 込 む に は 、 AREAn{n=0-5}Join_0.JoinCPU_Wr ビットにより、チャネルにジョインした FIFO 領域を 1 つ選択して下さい。選択した FIFO 領域には、FIFO_Wr_0,1 レジスタ、または FIFO_ByteWr レジスタにより書き込むことができ、書き込み順にデータパケットで送信されます。また、 FIFO の空き容量を、FIFO_WrRemain_H,L レジスタにより参照できます。フル状態の FIFO へ書き込むことは出来ません。必ず FIFO_WrRemain_H,L レジスタにより空き数を確認し、 その数を超えないように書き込んで下さい。 OUT トランザクションで送信するデータパケットのサイズは、チャネル CH0 では H_CH0TotalSize_H,L と H_CH0MaxPktSize の値のうち小さい方となります。チャネル CHx{x=a-e}では H_CHx{x=a-e}TotalSize_HH,HL,LH,LL と H_CHx{x=a-e}MaxPktSize_H,L の 値のうち小さい方となります。 FIFO にデータパケットのデータサイズ以上のデータが有れば、OUT トランザクションを 実行し、データを送信します。また、H_CH0TotalSize_H,L または H_CHx{x=a-e}TotalSize_HH,HL,LH,LL は送信したデータサイズ分減算されます。そして、 TotalSize がゼロになると、H_CHx{x=0,a-e}Config_0.TranGo を自動クリアすることで転送を終 了し、ファームウェアに対し、TotalSizeCmp ステータス(H_CHx{x=0,a-e}IntStat.TotalSizeCmp ビット)を発行します。 このように、ファームウェアによって個々のトランザクションについての制御を行うこと なく、OUT 転送を行うことが出来ます。 70 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.6.2 IN転送 H_CH0TotalSize_H,L または H_CHx{x=a-e}TotalSize_HH,HL,LH,LL に IN 転送の総データ数 を設定して下さい。 IN トランザクションで受信するデータパケットの期待サイズは、チャネル CH0 では H_CH0TotalSize_H,L と H_CH0MaxPktSize の値のうち小さい方となります。チャネル CHx{x=a-e}では H_CHx{x=a-e}TotalSize_HH,HL,LH,LL と H_CHx{x=a-e}MaxPktSize_H,L の 値のうち小さい方となります。FIFO にマックスパケットサイズ以上の空き領域が有れば、 IN トランザクション実行して、データを受信します。また、H_CH0TotalSize_H,L または H_CHx{x=0,a-e}TotalSize_HH,HL,LH,LL は受信したデータサイズ分減算されます。そして、 TotalSize がゼロになると、H_CHx{x=0,a-e}Config_0.TranGo を自動クリアすることで転送を 終了し、ファームウェアに対し、TotalSizeCmp ステータス (H_CHx{x=0,a-e}IntStat.TotalSizeCmp ビット)を発行します。 受信したデータサイズが期待データ長より大きい場合、コンディションコード H_CHx{x=0,a-e}ConditionCode)を"DataOverrun"に設定します。そして、ファームウェアに対 し、ChangeCondition ステータス(H_CHx{x=0,a-e}IntStat.ChangeCondition ビット)を発行しま す。FIFO は更新しません。コントロール転送、バルク転送、インタラプト転送の場合は更に H_CHx{x=0,a-e}Config_0.TranGo を自動クリアし、そのチャネルでの転送を終了します。 受信したデータサイズがデータパケットの期待サイズ未満であれば、コンディションコー ド(H_CHx{x=0,a-e}ConditionCode)を"DataUnderrun"に設定します。そしてファームウェアに 対し、ChangeCondition ステータス(H_CHx{x=0,a-e}IntStat.ChangeCondition ビット)を発行し ます。また、FIFO を更新して、データを受信済みとして領域を確保します。コントロール 転送、バルク転送、インタラプト転送の場合は更に H_CHx{x=0,a-e}Config_0.TranGo を自動 クリアし、そのチャネルでの転送を終了します。 このように、ファームウェアによって個々のトランザクションについての制御を行うこと なく、IN 転送を行うことが出来ます。 IN 転送によって受信したデータは、各チャネルのジョインした FIFO 領域上に書き込まれ ます。FIFO のデータを読み出すには、CPU インタフェイスによるレジスタ読み出し、CPU インタフェイスによる DMA 読み出しの方法があります。 CPU インタフェイスのレジスタリードにより FIFO のデータを読み出すには、該当するチャ ネルとジョインされた FIFO 領域を AREAn{n=0-5}Join_0.JoinCPU_Rd ビットによりただ一 つ選択して下さい。選択した FIFO 領域は、FIFO_Rd_0,1 レジスタ、または FIFO_ByteRd レジスタにより、受信順に読み出すことが出来ます。また、読み出し可能な FIFO のデータ 数を、FIFO_RdRemain_H,L レジスタにより参照できます。空の FIFO を読み出すことはで きませんので、必ず FIFO_RdRemain_H,L レジスタによりデータ数を確認し、その数を超え ないように読み出して下さい。 CPU イ ン タ フ ェ イ ス の DMA リ ー ド に よ り FIFO の デ ー タ を 読 み 出 す に は 、 AREAn{n=0-5}Join_1.JoinDMA ビットにより、DMA のチャネルにただ一つの FIFO 領域を 選択し、DMA_Control.Dir ビットに 1 を設定して下さい。選択した FIFO 領域は、CPU イン タフェイスにおいて DMA 手順を実行することにより、受信順に読み出されます。また、 FIFO の残りデータ数を、DMA_Remain_H,L レジスタで参照できます。FIFO が空になると、 CPU インタフェイスは自動的に DMA を一時停止してフロー制御を行います。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 71 1. 機能説明 1.3.7 ゼロ長パケット自動発行機能 OUT 転送を行うチャネルにおいて、H_CHx{x=a-e}Config_1.AutoZeroLen ビットをセットする ことにより、ゼロ長パケットを自動で発行する機能が有効になります。 ゼロ長パケット自動発行機能の設定項目を表 1.28 に示します。 表 1.28 項目 ゼロ長パケット 自動発行 1.3.7.1 ゼロ長パケット自動発行機能の制御項目 レジスタ/ビット H_CHx{x=a-e}Config_1.AutoZeroLen 説明 ゼロ長パケットの自動発行機能を有効にしま す。OUT 転送の場合のみこのビットは有効で す。 バルク/インタラプトOUT転送のゼロ長パケット自動発行機能 バ ル ク / イ ン タ ラ プ ト OUT 転 送 を 実 行 し て い る チ ャ ネ ル に お い て 、 H_CHx{x=a-e}TotalSize_HH,HL,LH,LL レジスタで設定したデータサイズの転送がちょうど マックスパケットサイズで完了しても H_CHx{x=a-e}Config_0.TranGo の自動クリアは行わ ず、転送を継続します。そして、再びこのチャネルがスケジューリングされると OUT トラ ンザクションをゼロ長パケットで実行します。このトランザクションが正常に完結すると、 H_CHx{x=a-e}Config_0.TranGo を自動クリアすることで転送を終了し、ファームウェアに 対し、TotalSizeCmp ステータス(H_CHx{x=a-e}IntStat.TotalSizeCmp)を発行します。 72 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.8 バルクオンリーサポート機能 本 LSI には、USB Mass Storage Class(BulkOnly Transport Protocol)のコマンドトランスポート (CBW)、データトランスポート、ステータストランスポート(CSW)の一連のトランスポート管 理を自動で行う機能があります。この機能を用いることにより、ファームウェアは各トランス ポートの制御を個別に行う必要がなくなります。バルクオンリーサポート機能を用いた場合の 制御の例を図 1.36 に、また、使用せずに各トランスポートを個別のトランザクションとして 制御した場合の例を図 1.37 に示します。 Host Host Controller (Channel Resister) F/W セット H/W Bulk CBW CHa (Bulk専用) Bulk DATA Bulk CSW 完了確認 図 1.36 バルクオンリーサポート機能の制御 Host Host Controller (Channel Resister) F/W セット 完了確認 セット 完了確認 セット 完了確認 図 1.37 H/W Bulk CBW CHa (Bullk専用) Bulk DATA Bulk CSW バルクオンリーサポート機能を使用しない場合の制御(参考) バルクオンリーサポート機能はチャネル CHa にて有効です。この機能を使用した場合のトラ ンスポートの処理は以下のようになります。ファームウェアは(1)~(5)、(8)の処理を行います。 (1) チャネル CHa の以下の基本設定レジスタに適宜設定を行います。 転送速度(H_CHaConfig_0.SpeedMode)、 マックスパケットサイズ(H_CHaMaxPktSize)、USB アドレス(H_CHaFuncAdrs.FuncAdrs)、 FIFO 領域(AREAn{n=0-5}StartAdrs_H,L, AREAn{n=0-5}EndAdrs_H,L)、 FIFO 領域ジョイン(AREAn{n=0-5}Join_1.JoinEPaCHa) (2) バルクオンリーサポート機能の以下の制御レジスタに適宜設定を行います。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 73 1. 機能説明 OUT エンドポイントトグルシーケンス(H_CHaBO_OUT_EP_Control.OUT_Toggle)、 OUT エンドポイントナンバー(H_CHaBO_OUT_EP_Control.OUT_EP_Number)、 IN エンドポイントトグルシーケンス(H_CHaBO_IN_EP_Control.OUT_Toggle)、 IN エンドポイントナンバー(H_CHaBO_IN_EP_Control.IN_EP_Number) (3) FIFO の CBW エリアに CBW データ(31Byte)を書き込みます。 (4) CHa にジョインした FIFO 領域に DMA、または PIO の設定を行います。 (5) バルクオンリーサポート実行(H_CHaBO_SupportControl.BO_SupportGo)をセットします。 こ の 時 、 ト ラ ン ス ポ ー ト 状 態 (H_CHaBO_SupportControl.BO_TransportState) の 値 は “Idle(00b)”として H_CHaBO_SupportControl レジスタにライトを行います。 (6) CBW エリアのデータ(31Byte)を、OUT エンドポイントナンバー (H_CHaBO_OUT_EP_Control.OUT_EP_Number)で示される OUT 方向のエンドポイントに 対して、バルク OUT トランザクションによって送信します(コマンドトランスポート)。 (7) CBW データに基づき,データトランスポートを実行します。 • CBW データの bmCBWFlags の Bit7 が 0 の場合、 CHa にジョインした FIFO 領域にあるデー タを、OUT エンドポイントナンバー(H_CHaBO_OUT_EP_Control.OUT_EP_Number)で示さ れる OUT 方向のエンドポイントに対して、バルク OUT トランザクションによって送 信します(OUT 方向のデータトランスポート)。OUT 方向のデータトランスポートは CBW データの dCBWDataTransferLength で示されるデータ数を OUT トランザクション で送信すると終了します。 • CBW データの bmCBWFlags の Bit7 が 1 の場合、IN エンドポイントナンバー (H_CHaBO_IN_EP_Control.IN_EP_Number)で示される IN 方向のエンドポイントに対し て、バルク IN トランザクションを発行し、受信したデータを CHa にジョインした FIFO 領域に書き込みます(IN 方向のデータトランスポート)。IN 方向のデータトランスポー トは CBW データの dCBWDataTransferLength で示されるデータ数を IN トランザクショ ンで受信すると終了します。また、IN トランザクションでショートパケットを受信し た場合も IN 方向のデータトランスポートは終了します • CBW データの dCBWDataTransferLength の値が 0x00000000 の場合はデータトランス ポートは実行しません。 (8) CHa にジョインした FIFO 領域が CBW データの wCBWDataTransferLength で示される値 より小さい場合、ファームウェアはデータトランスポートのデータを分割して処理する必 要があります。 • データトランスポートが OUT 方向の場合、FIFO に送信するデータが無くなるとトラン ザクションは発行されなくなります。従ってファームウェアは FIFO の空き領域を確認 しながら、順次残りの送信データを FIFO に書き込む必要があります。 • データトランスポートが IN 方向の場合、FIFO に空き領域がなくなるとトランザクショ ンは発行されなくなります。従ってファームウェアは FIFO の有効データ数を確認しな がら順次受信したデータを FIFO から読み出し、FIFO に空き領域を作る必要がありま す。 (9) IN エンドポイントナンバー(H_CHaBO_IN_EP_Control.IN_EP_Number)で示される IN 方向 のエンドポイントに対して、バルク IN トランザクションを発行し、受信したデータを FIFO の CSW エリアに書き込みます(ステータストランスポート)。ステータストランスポート において受信したデータ数はステータストランスポート受信データ数 (H_CHaBO_CSW_RcvDataSize.CSW_RcvDataSize)に反映します。 • OUT 方向のデータトランスポートが終了した場合、ステータストランスポートを実行 する状態になります。 • IN 方向のデータトランスポートが終了した場合、FIFO に存在する受信データがすべて 読み出され FIFO が空になると、ステータストランスポートを実行する状態になります。 74 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 (10) ステータストランスポートで受信した CSW データをチェックします。チェック内容は以 下の通りです。 • 受信した CSW のデータ長が 13Byte であること。 • CSW の dCSWSignature が 0x53425355 であること。 • CSW の dCSWTag が CBW の dCBWTag と一致すること。 • BCSWStatus の値が 0x00 であること。 以 上 を 一 つ で も 満 た さ な い 場 合 、 バ ル ク オ ン リ ー サ ポ ー ト 実 行 (H_CHaBO_SupportControl.BO_SupportGo)を自動クリアし、バルクオンリーサポート機能 を停止します。またバルクオンリーサポート停止ステータス (H_CHaIntStat.BO_SupportStop) を 発 行 し ま す 。 CSW エ リ ア に 受 信 し た デ ー タ は 、 RAM_Monitor 機能を用いて読み出すことが出来ます。 (11) ス テ ー タ ス ト ラ ン ス ポ ー ト が 正 し く 完 結 す る と 、 バ ル ク オ ン リ ー サ ポ ー ト 実 行 (H_CHaBO_SupportControl.BO_SupportGo)を自動クリアし、バルクオンリーサポート終了 ステータス(H_CHaIntStat.BO_SupportCmp)を発行します。 (12) それぞれのトランスポートにおいて、トランザクションのエラーを検出すると、バルクオ ンリーサポート実行(H_CHaBO_SupportControl.BO_SupportGo)を自動クリアすることでバ ルクオンリーサポート機能を停止し、バルクオンリーサポート停止ステータス (H_CHaIntStat.BO_SupportStop) を 発 行 し ま す 。 そ し て 、 ト ラ ン ス ポ ー ト 状 態 (H_CHaBO_SupportControl.BO_TransportState)により、エラーが発生したトランスポートを 示します。また、コンディションコード(H_CHaConditionCode)を適切な値に設定し、 ChangeCondition ステータス(H_CHaIntStat.ChangeCondition ビット)を発行します。 バルクオンリーサポート機能を中断する場合は、バルクオンリーサポート実行 (H_CHaBO_SupportControl.BO_SupportGo)をクリアします。バルクオンリーサポート機能の中 断処理が終了するとステータスを発行します。 この時、トランスポートがステータストランスポートまで完了して中断処理が終了した場合は バルクオンリーサポート完了ステータス(CHaIntStat.BO_SupportCmp)を発行します。 一方、トランスポートがステータストランスポートまで完了せずに中断処理が終了した場合は バルクオンリーサポート停止ステータス(H_CHaIntStat.BO_SupportStop)を発行します。 中断したトランスポートはトランスポート状態(H_CHaBO_SupportControl.BO_TransportState) に示します。 中断したトランスポートよりバルクオンリーサポート機能を再開する場合、トランスポート状 態(H_CHaBO_SupportControl.BO_TransportState)を再開するトランスポートに設定(即ち中断し た ト ラ ン ス ポ ー ト に 設 定 を 保 持 ) し 、 バ ル ク オ ン リ ー サ ポ ー ト 実 行 (H_CHaBO_SupportControl.BO_SupportGo)をセットします。 一方、新たにバルクオンリーサポート機能を実行する場合は、トランスポート状態 (H_CHaBO_SupportControl.BO_TransportState)に Idle(00b)を設定し、バルクオンリーサポート実 行(H_CHaBO_SupportControl.BO_SupportGo)をセットします。 バルクオンリーサポート機能実行中は、転送実行ビット(H_CHaConfig_0.TranGo)、トグルシー ケンスビット(H_CHaConfig_0.Toggle)、トランザクション種別(H_CHaConfig_1.TID)、トータル サ イ ズ フ リ ー ビ ッ ト (H_CHaConfig_1.TotalSizeFree) 、 エ ン ド ポ イ ン ト 番 号 (H_CHaFuncAdrs.EP_Number)、IRP データ数(H_CHaTotalSize_HH,HL,LH,LL)はハードウェアに より設定及び更新されていきますので、これらに対する書き込みは行わないで下さい。 トランザクションのエラーについては、「1.3.3 トランザクション」を参照して下さい。 FIFO の CBW エリア、CSW エリアについては、「1.5 FIFO 管理」を参照して下さい。 DMA については、「1.6.3.2 DMA」を参照して下さい。 バルクオンリーサポート機能の設定項目、ステータスを表 1.29 に示します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 75 1. 機能説明 表 1.29 項目 バルクオンリーサポート機能の設定項目、ステータス レジスタ/ビット 説明 バルクオンリー サポート実行 H_CHaBO_SupportControl.BO_SupportGo バルクオンリーサポート機能を実行します。 詳細については、「1.3.8 バルクオンリーサ ポート機能」を参照して下さい。 OUT エンドポイント トグルシーケンス H_CHaBO_OUT_EP_Control.OUT_Toggle OUT エンドポイントのトグルシーケンスビッ トの初期値を設定します。また、トランザク ション実行中、およびトランザクション完了後 は OUT エンドポイントのトグルシーケンス ビットの状態を示します。 OUT エンドポイント ナンバー H_CHaBO_OUT_EP_Control.OUT_EP_Nu mber OUT エンドポイントのエンドポイントナン バーを 0x0~0xF の間の任意の値に設定しま す。 IN エンドポイント トグルシーケンス H_CHaBO_IN_EP_Control.IN_Toggle IN エンドポイントのトグルシーケンスビット の初期値を設定します。また、トランザクショ ン実行中、およびトランザクション完了後は IN エンドポイントのトグルシーケンスビット の状態を示します。 IN エンドポイント ナンバー H_CHaBO_IN_EP_Control.IN_EP_Number IN エンドポイントのエンドポイントナンバー を 0x0~0xF の間の任意の値に設定します。 バルクオンリー サポート実行結果 H_CHaIntStat.BO_SupportCmp H_CHaIntStat.BO_SupportStop バルクオンリーサポートの実行結果を示しま す。 トランザクション ステータス H_CHaIntStat.TotalSizeCmp, H_CHaIntStat.TranACK, H_CHaIntStat.TranErr, H_CHaIntStat.ChangeCondition トランザクションの結果を示します。 トランザクション コンディションコード H_CHaConditionCode トランザクション結果の詳細を示します。 トランスポート状態 H_CHaBO_SupportControl.BO_TransportS tate バルクオンリーサポート機能の実行において、 実行中のトランスポートを示します。また、ト ランスポートがエラーで中止された場合は、エ ラーが発生したトランスポートを示します。 ステータス トランスポート 受信データ数 H_CSW_RcvDataSize ステータストランスポートでの受信データ数 を示します。 76 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.9 オーディオクラス・アシスト機能 オーディオクラス・アシスト機能はサンプリング周波数 44.1kHz の 16bit 2 チャンネル PCM データをアイソクロナス転送で 1ms 周期で送信する際に使用します。この機能が有効の時、送 信するデータパケットのサイズが 176Byte で 9 回連続トランザクションを行った後、180Byte で 1 回トランザクションを行います。その後再び 176Byte で 9 回連続トランザクションを行い、 180Byte で 1 回トランザクションを行う、というデータパケットのサイズを自動で変更する動 作を繰返します。 このデータパケットサイズ変更のシーケンスは H_CHx{x=b-e}Config_1.Audio441 ビットが“1”であ る間保たれます。よってこのシーケンスを初期化する場合は H_CHx{x=b-e}Config_1.Audio441 ビットをクリアしてください。 表 1.30 項目 オーディオクラス アシスト機能 オーディオクラスアシスト機能の制御項目 レジスタ/ビット H_CHx{x=b-e}Config_1.Audio441 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 説明 オーディオクラスアシスト機能を有効にしま す。OUT 方向のアイソクロナス転送の場合のみ この機能は使用できます。他の転送を行う場合 はこのビットを“1”にセットしないで下さい。 77 1. 機能説明 1.3.10 1.3.10.1 ホストステート管理サポート機能 ホストステート ホストでは、上位からの要求およびバスの状態によりステートを遷移させる必要がありま す。そのため、ステート管理はファームウェアが行います。ハードウェアは各ステートに おける各種設定およびネゴシエーションをサポートします。 ホストステートの遷移図を図 1.38 に示します。 GoIDLE (Trigger:VBUS_Err) IDLE GoWAIT_CONNECT (Trigger:Nothing) WAIT_ CONNECT GoDisabled (Trigger:DetectCon) GoWAIT_CONNECT (Trigger:DetectDiscon) GoWAIT_CONNECT (Trigger:DetectDiscon) DISABLED GoDISABLED (Trigger:PortErr) GoWAIT_CONNECT (Trigger:DetectDiscon) GoRESET (Trigger:Noting) GoRESET (Trigger: DissabledCmp) Case : Device Chirp NG GoDisabled (Trigger:ResetCmp) OPERATIONAL GoOPERATIONAL (Trigger:ResetCmp) GoOPERATIONAL (Trigger:ResumeCmp) RESUME GoSUSPEND (Trigger:Noting) RESET GoRESET (Trigger:Nothing) GoRESUME (Trigger: DetectRmtWkup or Nothing) SUSPEND GoRESET (Trigger:Noting) 図 1.38 78 遷移条件 (Trigger:トリガとなる割り込み) ホストステート遷移図 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 ホストステート管理サポート機能の設定項目およびステータスを表 1.31、表 1.32 に示しま す。 表 1.31 項目 ホストステート遷移実行 ホストステート管理サポート機能の設定項目およびステータス レジスタ/ビット H_NegoControl_0.AutoMode 説明 遷移させるホストステートを設定します。設定 は以下のいずれかの項目になります。 GoIDLE GoWAIT_CONNECT GoDISABLED GoRESET GoOPERATIONAL GoSUSPEND GoRESUME GoWAIT_CONNECTtoDIS GoWAIT_CONNECTtoOP GoRESETtoOP GoRESUMEtoOP GoSUSPENDtoOP ホ ス ト ス テ ー ト 遷 移 実 行 H_NegoControl_0.AutoModeCancel キャンセル 現ホストステートでの処理を停止し、その状態 で留まります。 ホストステートモニタ H_NegoControl_0.HostState 現在のホストステート(下記)を示します。 IDLE WAIT_CONNECT DISABLED RESET OPERATIONAL SUSPEND RESUME VBUS ステートモニタ H_USB_Status.VBUS_State VBUS の状態(正常/異常)を示します。 リモート・ウェークアップ 受付許可 H_NegoControl_1.RmtWkupDetEnb リモート・ウェークアップ受付を許可します。 チャープ完了ディセーブル H_NegoControl_1.DisChirpFinish デバイス Chirp が規定時間に完了しないとき の動作モードを設定します。 VBUS 異常検出ステータス H_SIE_IntStat_0.VBUS_Err VBUS に異常が発生したことを示します。 接続検出ステータス H_SIE_IntStat_0.DetectCon ダウンストリームポートにデバイスが接続さ れたことを示します。 切断検出ステータス H_SIE_IntStat_0.DetectDisCon ダウンストリームポートからデバイスが切断 されたことを示します。 リモート・ウェークアップ 検出ステータス H_SIE_IntStat_0.DetectRmtWkup デバイスからのリモート・ウェークアップ信号 を検出したことを示します。 デバイスチャープ正常 検出ステータス H_SIE_IntStat_0.DetectDevChirpOK デバイスからのチャープ信号が正常であった ことを示します。 デバイスチャープ異常 検出ステータス H_SIE_IntStat_0.DetectDevChirpNG デバイスからのチャープ信号が異常であった ことを示します。 (続く) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 79 1. 機能説明 表 1.32 ホストステート管理サポート機能の設定項目およびステータス(続き) 項目 レジスタ/ビット 説明 リセット完了ステータス H_SIE_IntStat_1.ResetCmp USB リセットが正常に完了したことを示しま す。 サスペンド遷移完了ステータス H_SIE_IntStat_1.SuspendCmp サスペンドへの遷移が完了したことを示します。 レジューム完了ステータス H_SIE_IntStat_1.ResumeCmp レジュームが正常に完了したことを示します。 ポートスピード H_NegoControl_1.PortSpeed ダウンストリームポートの動作速度(HS/FS.LS) を示します。ポートに接続されたデバイスの動作 ラインステート H_USB_Status.LineState USB ケーブル上の信号状態を示します。 トランシーバ選択 H_XcvrControl.XcvrSelect HS/FS/LS のいずれかのトランシーバを選択して 有効にします。 ターミナル選択 H_XcvrControl.TermSelect HS/FS のいずれかのターミナルを選択して有効 にします。 オペレーションモード H_XcvrControl.OpMode HTM のオペレーションモードを設定します。 1.3.10.1.1 IDLE USB ホスト機能を初期化するステートです。ホスト機能をイネーブルとしたときの デフォルトステートです。 本ステート以外のステートにおいて、VBUS_Err を検出した時に、本ステートに遷移 させる必要があります。 遷移を実行させるためには、H_NegoControl_0 レジスタに 0x80(H_NegoControl_0.AutoModeCancel に“1”、かつ H_NegoControl_0.AutoMode に “0x0”)をライトして実行中ステートの動作を停止させます。 H_NegoControl_0.AutoModeCancel ビットは停止処理が完了することで“0”になります (60MHz クロックで 6 サイクル程度必要)ので、H_NegoControl_0.AutoModeCancel ビッ トが“0”になるのを確認してから、同レジスタに“0x01”をライト(すなわちホストス テート遷移実行(H_NegoControl0.AutoMode)に“GoIDLE”を設定)してください。そうす ることで本ステートに入ります。 本ステートでは、以下の設定を自動的に実行します。 • USB ホストのトランザクション実行機能を即時停止する。 • ポートを FS モードにして“NonDriving”とする。 • VBUSEN_A をオフする。 • 接続検出、切断検出、リモート・ウェークアップ検出、デバイスチャープ検出の 全検出機能をオフする。 1.3.10.1.2 WAIT_CONNECT ダウンストリームポートにデバイスが接続されるのを待つステートです。 “IDLE” ス テ ー ト に お い て は 上 位 か ら の 要 求 が あ る 時 に 、 ま た “DISABLED” 、 “OPERATIONAL”および“SUSPEND”の各ステートではデバイスの切断を検出した時 に、一旦、本ステートに入り、相手の接続を待つ必要があります。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoWAIT_CONNECT”を設 定した時に、本ステートに入ります。 本ステートでは、まず以下の設定を自動的に実行します。 • USB ホストのトランザクション実行機能を即時停止する。 • ポートを FS モードにして“PowerDown”とする。 80 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 • VBUSEN_A をオンする。 • 接続検出、切断検出、リモート・ウェークアップ検出、デバイスチャープ検出の 全検出機能をオフする。 次に、バスパワーデバイスの内部電源安定時間を待って、接続検出機能を自動的に オンにし、デバイスの接続を待ちます。このとき、VBUSEN_A をオンしてからデバ イスの接続検出までの時間は、ハードウェアでは管理しておりません。この時間は、 必要に応じてファームウェアにて管理してください。 FS または HS デバイスが接続された場合、ラインステートが“J”として参照できます。 一方、LS デバイスが接続された場合、ラインステートが“K”として参照できます。 このいずれかの状態が 2.5us 以上継続されることでデバイスの接続を検出し、LS デ バイスの接続を検出した場合には、ポートを LS モードにします。 接続が検出されると、切断検出機能を自動的にオンします。 その後、デバウンスインターバル期間に切断が検出されない場合、ファームウェア に対して接続検出ステータス(H_SIE_IntStat_0.DetectCon)を発行し、接続検出機能お よび切断検出機能を自動的にオフします。一方、切断が検出された場合、切断検出 機能を自動的にオフし、自動的に接続検出からやり直します。 1.3.10.1.3 DISABLED ダウンストリームポートにデバイスが接続された状態で、バス上での信号送受信を 行わないステートです。 “WAIT_CONNECT”ステートで接続を検出した時、“RESET”ステートで異常なデバイ スからの Chirp を検出した時、“OPERATIONAL”ステートでポートエラーを検出した 時は、本ステートに入ります。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoDISABLED”を設定した 時に、本ステートに入ります。 本ステートでは、以下の設定を自動的に実行します。 • 現トランザクションの完了を待って、USB ホストのトランザクション実行機能を 停止する。 • 本ステートに入る際に、HS モードであった場合はポートを FS モードにし、FS ま たは LS モードの場合はポートは入る際のモードを持続する。 • ポートを“PowerDown”とする。 次に、切断検出ディセーブル期間完了後に、以下の処理を自動的に実行します。 • 切断検出機能をオンする。 • ディセーブルド遷移完了ステータス(H_SIE_IntStat_1.DisabledCmp)を発行する。 1.3.10.1.4 RESET ダウンストリームポートに USB リセットを発行するステートです。 “DISABLED”ステートでディセーブルド遷移完了ステータスが発行された時は、本ス テートに入り USB リセットを発行します。 また、上位から要求があった場合には、USB のいかなるステート(“OPERATIONAL”, “SUSPEND”, “RESUME”)からでも、本ステートに遷移することができます。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESET”を設定した時に、 本ステートに入ります。 本ステートでは、まず以下の設定を自動的に実行します。 • 現トランザクションの完了を待って、USB ホストのトランザクション実行機能を 停止する。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 81 1. 機能説明 • ポートを HS モードにして“NormalOperation”とする(USB ケーブル上の信号にリ セット信号 SE0 をドライブします)。 • 接続検出、切断検出およびリモート・ウェークアップ検出機能をオフする。 • デバイスチャープ検出機能をオンする。 デバイスからの Chirp は”HS K”により検出します。ラインステートが"K"として 2.5us 以上継続することにより検出され、USB リセットの発行から規定時間以内に終了さ れた場合に正常な Chirp として検出します。また、規定時間以内に終了されない場合 には、異常な Chirp として検出します。 検出結果により以下の処理を自動的に行います。 (1) 正常なデバイスからの Chirp を検出した場合 デバイスからの Chirp 完了に伴い、ホストより“HS K”(Chirp K)、“HS J”(Chirp J) を交互に連続して送出します。ホストが Chirp の送出を完了した時点で、ファー ムウェアに対し、リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行しま す。 ポートは HS モードのままです。 (2) 異常なデバイスからの Chirp を検出した場合 規定時間を過ぎた時点で、ファームウェアに対し、デバイスチャープ異常検出ス テータス(H_SIE_IntStat_0.DetectDevChirpNG)を発行します。その後の動作は、 チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)の設定により 2 つの 動作モードが選択できます。詳細は「1.3.10.2.4.2 異常なデバイスの Chirp を検出 した場合」を参照してください。 (3) デバイスからの Chirp を検出せず、接続相手が FS の場合 規定時間の USB リセットを発行した後、ポートを FS モードにします。 ファームウェアに対し、リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発 行します。 (4) 接続相手が LS の場合 規定時間の USB リセットを発行した後、ポートを LS モードにします。 ファームウェアに対し、リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発 行します。 1.3.10.1.5 OPERATIONAL USB のトランザクションを実行するステートです。 “RESET”または“RESUME”の完了後、本ステートに入りトランザクションを実行しま す。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoOPERATIONAL”を設定 した時に、本ステートに入ります。 本ステートでは、以下の設定を自動的に実行します。 • ポートを“NormalOperation”とする。 • USB ホストのトランザクション実行機能をイネーブルにする。 • 切断検出機能をオンする。 82 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.1.6 SUSPEND USB をサスペンドにするステートです。 USB のバスの使用を停止させるときに、“OPERATIONAL”から本ステートに遷移さ せます。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoSUSPEND”を設定した時 に、本ステートに入ります。 本ステートでは、まず以下の設定を自動的に実行します。 • 切断検出機能およびリモート・ウェークアップ検出機能をオフする。 • 現トランザクションの完了を待って、USB ホストのトランザクション実行機能を 停止する。 • ポートが HS モードであった場合、FS モードに設定する。一方、FS モードまたは LS モードであった場合は、そのモードを維持する。 • ポートを“PowerDown”とする。 次に、切断およびリモート・ウェークアップ検出ディセーブル期間完了後に、以下 の処理を自動的に実行します。 • 切断検出機能をオンする。 • リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)がイネーブ ルの場合、リモート・ウェークアップ検出機能をオンする。 • サスペンド遷移完了ステータス(H_SIE_IntStat_1.SuspendCmp)を発行する。 さらに、リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)がイ ネーブルの場合、リモート・ウェークアップ信号(2.5us 以上の“K”の継続)を検出する ことで、ファームウェアに対し、リモート・ウェークアップ検出ステータス (H_SIE_IntStat_0.DetectRmtWkup)を発行します。 1.3.10.1.7 RESUME ダウンストリームポートに USB レジューム信号を発行するステートです。 USB デバイスをサスペンド状態から復帰させるために、“SUSPEND”から本ステート に遷移させます。 ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESUME”を設定した時 に、本ステートに入ります。 本ステートでは、切断およびリモート・ウェークアップ検出機能を自動的にオフし ます。 そして、規定時間のレジューム信号(“K”)を発行します。 レジューム信号の発行完了時に、ポートを“SUSPEND”に入る前のモード設定に戻し、 “NormalOperation”とします。 また、ファームウェアに対し、レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp) を発行します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 83 1. 機能説明 検出機能 1.3.10.2 1.3.10.2.1 VBUS異常検出 VBUSFLG_A 入力端子のレベル変化(H→L)により VBUS の異常を検出します。VBUS 異常を検出した場合の実行手順は以下のとおりです。下記(2)は本 LSI のハードウェ アが自動的に実行します。 (1) VBUSFLG_A(外付け USB パワースイッチのエラー発生フラグ)入力端子が L(エ ラー発生)になります(T0)。 (2) ファームウェアに対し、VBUS 異常検出ステータス(USB_HostIntStat.VBUS_Err) を発行します(T0)。 なお、ホストは VBUS の異常を検出すると、直ちに VBUS をオフする必要がありま す。そのため、ファームウェアは、VBUS 異常検出ステータスを認識したら、 H_NegoControl_0 レジスタに 0x80(H_NegoControl_0.AutoModeCancel に“1”、かつ H_NegoControl_0.AutoMode に“0x0”)をライトして実行中ステートの動作を停止させ ます。H_NegoControl_0.AutoModeCancel ビットは停止処理が完了することで“0”にな ります(60MHz クロックで 6 サイクル程度必要)ので、 H_NegoControl_0.AutoModeCancel ビットが“0”になるのを確認してから、同レジスタ に 0x01 をライト(すなわちホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoIDLE”を設定)してください。それにより IDLE ステートに遷移し、VBUSEN_A 端子論理がディセーブルとなり、VBUS をオフすることができます。 time T0 T1 Don't care IDLE Don't care FS OpMode[1:0] Don't care NonDriving PortSpeed[1:0] Don't care FS LineState[1:0] Don't care SE0 DP / DM Don't care SE0 HostState[2:0] VBUSFLG_A VBUS_Err VBUSEN_A VBUS_State XcvrSelect[1:0] TermSelect VBUS正常 VBUS異常 VBUSオフ 図 1.39 84 VBUS 異常検出 Timing EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.33 Timing Parameter VBUS 異常検出 Timing Values Description Value T0 VBUSFLG_A(外付け USB パワースイッチのエラー発生フラグ)入力 端子が L(エラー)になる。 VBUS 異常検出ステータス(USB_HostIntStat.VBUS_Err)を発行す る。 (H/W) 0 (reference) T1(参考) H_NegoControl_0 に 0x80 をライト後、0x01 をライトして“IDLE”ス テートに遷移させる。(F/W) T1 切断検出 1.3.10.2.2 デバイスの切断検出を“DISABLED”、“OPERATIONAL”、“SUSPEND”の各ステート において行います。 切断が検出された時、VBUS をオフせず、接続検出からやり直す場合にはホストス テートを“WAIT_CONNECT”に遷移させてください。一方、VBUS をオフする場合に はホストステートを“IDLE”に遷移させてください。 1.3.10.2.2.1 HSデバイスが切断された場合 HS デバイスの切断は、“OPERATIONAL”ステートにて検出します。 HS デバイスが切断された場合の実行手順は以下のとおりです。下記(2)~(3)は 本 LSI のハードウェアが自動的に実行します。 (1) デバイスが切断されます(T0)。 (2) uSOF(HS_SOF)の EOP 期間において切断検出を行い、3 つの連続した uSOF で切断を検出した場合に切断状態と判断します(T1)。 (3) ファームウェアに対し、切断検出ステータス(H_SIE_IntStat_0.DetectDiscon) を発行します(T1)。 time T0 HostState[2:0] T1 T2 OPERATIONAL WAIT_CONNECT / IDLE DetectDiscon XcvrSelect[1:0] HS FS TermSelect OpMode[1:0] Don't care PortSpeed HS LineState[1:0] Don't care DP / DM Activity 接続 Normal Operation FS SE0 SE0 uSOF 切断 図 1.40 切断検出 Timing (HS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 85 1. 機能説明 表 1.34 Timing Parameter Description Value T0 デバイスが切断される。 T1 切断検出ステータス(H_SIE_IntStat_0.DetectDiscon)を発行する。 T1 (H/W) T2(参考) 86 切断検出 Timing Values (HS mode) 0 (reference) ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に "GoWAIT_CONNECT"を設定する。(F/W) T2 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.2.2.2 FSまたはLSデバイスが切断された場合 FS または LS デバイスの切断は、“DISABLED”、“OPERATIONAL”、“SUSPEND” ステートにて検出します。 FS または LS デバイスが切断された場合の実行手順は以下のとおりです。下記 (2)~(3)は本 LSI のハードウェアが自動的に実行します。 (1) デバイスが切断されます(T0)。 (2) 信号線の状態から切断を検出します(T1)。 (3) ファームウェアに対し、切断検出ステータス(H_SIE_IntStat_0.DetectDiscon) を発行します(T1)。 time HostState[2:0] T0 T1 DISABLED / OPERATIONAL / SUSPEND T2 WAIT_CONNECT / IDLE DetectDiscon XcvrSelect[1:0] FS/LS FS TermSelect OpMode[1:0] Normal Operation Don't care PortSpeed FS/LS LineState[1:0] 'J' / 'K' State SE0 DP / DM 'J' / 'K' State SE0 接続 FS 切断 図 1.41 表 1.35 切断検出 Timing (FS または LS mode) 切断検出 Timing Values (FS または LS mode) Timing Parameter Description Value T0 デバイスが切断される。 T1 切断検出ステータス(H_SIE_IntStat_0.DetectDiscon)を発行する。 T0 + 2.5us< T1 {TDDIS} (H/W) T2(参考) ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoWAIT_CONNECT”を設定する。(F/W) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 0 (reference) 規定なし 87 1. 機能説明 リモート・ウェークアップ検出 1.3.10.2.3 リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)がイネーブル の場合、“SUSPEND”ステートにおいてリモート・ウェークアップ検出を行います。 1.3.10.2.3.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (3)は本 LSI のハードウェアが自動的に実行します。 (1) デバイスがリモート・ウェークアップ信号(K)を送出開始します(T0)。 (2) ホストがリモート・ウェークアップ信号(K)を検出します(T1)。 (3) フ ァー ムウェ アに 対し、 リモ ート・ ウェ ークア ップ 検出ス テー タス (H_SIE_IntStat_0.DetectRmtWkup)を発行します(T1)。 なお、ホストはデバイスのリモート・ウェークアップ検出から 1ms 以内にレ ジューム信号(“K”)を発行する必要があります。そのため、ファームウェアは、 リモート・ウェークアップ検出ステータスを直ちに認識し、ホストステート遷 移実行(H_NegoControl_0.AutoMode)に“GoRESUME”を 900us 以内に設定してく ださい。 time T0 HostState[2:0] T2 T1 SUSPEND T3 RESUME DetectRmtWkup XcvrSelect[1:0] FS TermSelect OpMode[1:0] Power Down Disable BS and NRZI PortSpeed[1:0] HS LineState[1:0] 'J' State 'K' State DP / DM 'J' State 'K' State FS Mode Downstream Resume Upstream Resume Device is suspended (FS Mode) 図 1.42 表 1.36 Timing Parameter Remote Wakeup Timing (HS mode) Remote Wakeup Timing Values (HS mode) Description Value T0 デバイスがリモート・ウェークアップ信号(K)を送出開始する。 0 (reference) T1 リモート・ウェークアップ信号(K)を検出する。 リモート・ウェークアップ検出ステータスを発行する。(H/W) T0 + 2.5us{TURLK} < T1 T2(参考) ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoRESUME”を設定する。(F/W) T2< T1 + 900us T3(参考) ホストがレジューム信号(“K”)の発行を開始する。 (H/W) T3< T0 + 1ms{TURSM} 注: {}は、USB2.0 規格書で規格されている名称である。 88 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.2.3.2 FSデバイスが接続されている場合 FS デバイスが接続されている場合の実行手順は、HS デバイスが接続されてい る場合の実行手順と同じです。 実行手順は、「1.3.10.2.3.1 HS デバイスが接続されている場合」を参照してく ださい。 time T0 HostState[2:0] T2 T1 SUSPEND T3 RESUME DetectRmtWkup XcvrSelect[1:0] FS TermSelect OpMode[1:0] Disable BS and NRZI Power Down PortSpeed[1:0] FS LineState[1:0] 'J' State 'K' State DP / DM 'J' State 'K' State FS Mode Downstream Resume Upstream Resume Device is suspended (FS Mode) 図 1.43 表 1.37 Timing Parameter Remote Wakeup Timing (FS mode) Remote Wakeup Timing Values (FS mode) Description Value T0 デバイスがリモート・ウェークアップ信号(K)を送出開始する。 0 (reference) T1 リモート・ウェークアップ信号(K)を検出する。 リモート・ウェークアップ検出ステータスを発行する。(H/W) T0 + 2.5us< T1 {TURLK} T2(参考) ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoRESUME”を設定する。(F/W) T2< T1 + 900us T3(参考) ホストがレジューム信号(“K”)の発行を開始する。 (H/W) T3< T0 + 1ms{TURSM} 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 89 1. 機能説明 1.3.10.2.3.3 LSデバイスが接続されている場合 LS デバイスが接続されている場合の実行手順は、HS デバイスが接続されてい る場合の実行手順と同じです。 実行手順は、「1.3.10.2.3.1 HS デバイスが接続されている場合」を参照してく ださい。 time T0 HostState[2:0] T2 T1 SUSPEND T3 RESUME DetectRmtWkup XcvrSelect[1:0] LS TermSelect OpMode[1:0] Power Down Disable BS and NRZI PortSpeed[1:0] LS LineState[1:0] 'LS_J' State 'LS_K' State 'J' State 'K' State DP / DM LS Mode Downstream Resume Upstream Resume Device is suspended (LS Mode) 図 1.44 表 1.38 Remote Wakeup Timing (LS mode) Remote Wakeup Timing Values (LS mode) Timing Parameter Description T0 デバイスがリモート・ウェークアップ信号(“K”)を送出開始する。 0 (reference) T1 リモート・ウェークアップ信号(“K”)を検出する。 リモート・ウェークアップ検出ステータスを発行する。(H/W) T0 + 2.5us< T1 {TURLK} T2(参考) ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に "GoRESUME"を設定する。(F/W) T2< T1 + 900us T3(参考) ホストがレジューム信号(“K”)の発行を開始する。(H/W) T3< T0 + 1ms{TURSM} Value 注: {}は、USB2.0 規格書で規格されている名称である。 90 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 デバイスチャープ検出機能 1.3.10.2.4 デバイスの Chirp を検出します。 デバイスチャープ検出機能は“RESET”ステートにてオンします。 正しいデバイスのChirpを検出した場合 1.3.10.2.4.1 デバイスの Chirp を検出する手順は以下の通りです。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESET”を設定します(T0)。 (2) デバイスチャープ検出機能をオンします(T0)。 (3) デバイスが Chirp を送出します(T1)。 (4) ラインステート(H_USB_Status.LineState[1:0])に“K”が規定時間以上継続す ることでデバイスの Chirp を認識します(T2)。 (5) デバイスの Chirp がリセット開始から規定時間以内に終了する(ラインス テート(H_USB_Status.LineState[1:0])が“SE0”になる)ことをもってデバイス チャープ正常検出ステータス(H_SIE_IntStat0.DetectDevChirpOK)を発行し ます(T3)。 (6) デバイスの Chirp を検出するとデバイスチャープ検出機能をオフします (T3)。 time T0 HostState[2:0] T1 T2 Don't care T3 RESET DetectDevChirpOK XcvrSelect[1:0] HS/FS HS TermSelect OpMode[1:0] Normal Operation LineState[1:0] SE0 'J' State DP / DM SE0 Device K Reset Upstream Port Chirp 図 1.45 表 1.39 Timing Parameter Device Chirp Timing Device Chirp Timing Values Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) T1 デバイスが Chirp を開始。 T0 < T1 < T0 + 6.0ms T2 デバイスの Chirp を認識する。(H/W) T1 + 2.5us {TFILT} < T2 T3 デバイスが Chirp を終了。 デバイスチャープ検出機能をオフする。 デバイスチャープ正常検出ステータス(DetectDevChirpOK)を発 行する。(H/W) T1 + 1.0ms {TUCH} < T3 < T0 + 7.0ms {TUCHEND} 0 (reference) 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 91 1. 機能説明 異常なデバイスのChirpを検出した場合 1.3.10.2.4.2 デバイスチャープ検出機能は、デバイスの Chirp が規定時間に終了しない場合 を異常と見なし、ステータスを発行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESET”を設定します(T0)。 (2) デバイスチャープ検出機能をオンします(T0)。 (3) デバイスが Chirp を送出します(T1)。 (4) ラインステート(H_USB_Status.LineState[1:0])に“K”が規定時間以上継続す ることでデバイスの Chirp を認識します(T2)。 (5) リセットの開始から規定時間以内にデバイスの Chirp が終了しないために 異常と見なし、デバイスチャープ異常検出ステータス (H_SIE_IntStat_0.DetectDevChirpNG)を発行します(T3) (6) デバイスチャープ検出機能をオフします(T3)。 time T0 HostState[2:0] T1 T2 T3 Don't care RESET DetectDevChirpNG XcvrSelect[1:0] HS/FS HS TermSelect OpMode[1:0] Normal Operation LineState[1:0] SE0 'J' State DP / DM SE0 Device K Reset Upstream Port Chirp 図 1.46 表 1.40 Timing Parameter Device Chirp Timing(NG) Device Chirp Timing(NG) Value Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) T1 デバイスが Chirp を開始。 T0 < T1 < T0 + 6.0ms T2 デバイスの Chirp を認識する。(H/W) T1 + 2.5us {TFILT} < T2 T3 デバイスチャープ異常検出ステータス(DetectDevChirpNG)を発 行する。(H/W) T0 + 7ms{TUCHEND} < T3 0 (reference) 注: {}は、USB2.0 規格書で規格されている名称である。 92 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.2.5 ポートエラー検出 “OPERATIONAL”ステートにおいてポートエラーを検出します。 受信中のパケットにおいて、(マイクロ)フレームの終端に達しても EOP を検出でき ない場合に、ポートエラーと判断します。 ホストはポートエラーを検出すると、ファームウェアに対してポートエラー検出ス テータス(H_FrameIntStat.PortErr)を発行し、トランザクションを即時停止します。以 降、SOF を含めトランザクションの発行は行いません。 ポートエラーが発生した場合、ファームウェアは以下の処理を行ってください。 (1) H_NegoControl_0.AutoMode に“GoDISABLED”を設定します。 (2) ChipReset.ResetMTM に“1”を設定し、トランシーバマクロをリセットします。 (3) 60MHz クロックで 3 サイクル以上の時間経過後、ChipReset.ResetMTM に“0”を設 定し、トランシーバマクロのリセットを解除します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 93 1. 機能説明 ホストステート管理サポート機能の単体説明 1.3.10.3 1.3.10.3.1 GoIDLE H_NegoControl_0 レジスタに 0x80(H_NegoControl_0.AutoModeCancel に“1”、かつ H_NegoControl_0.AutoMode に 0x0)をライトして実行中ステートの動作を停止させま す。H_NegoControl_0.AutoModeCancel ビットは停止処理が完了することで“0”になり ます(60MHz クロックで 6 サイクル程度必要)ので、H_NegoControl_0.AutoModeCancel ビットが“0”になるのを確認してから、同レジスタに 0x01 をライト(すなわちホスト ステート遷移実行(H_NegoControl_0.AutoMode)に GoIDLE を設定)してください。そ うすることで、“IDLE”遷移に必要な処理を本 LSI のハードウェアが自動的に実行し ます。 下記(3)~(8)は本 LSI のハードウェアが自動的に実行します。 (1) H_NegoControl_0.AutoModeCancel に 0x80(H_NegoControl_0.AutoModeCancel に “1”、かつ H_NegoControl_0.AutoMode に 0x0)をライトします(T0)。 (2) H_NegoControl_0.AutoModeCancel ビ ッ ト が “0” に な っ た こ と を 確 認 し 、 H_NegoControl_0 に 0x01(H_NegoControl_0.AutoMode に 0x1)をライトします(T1)。 (3) ホストステートモニタ(H_NegoControl_0.HostState)を“IDLE”に設定します(T1)。 (4) VBUSEN_A をオフします(T1)。 (5) トランシーバ選択(H_XcvrControl.XcvrSelect)とターミナル選択 (H_XcvrControl.TermSelect)を FS モードに設定します(T1)。 (6) オペレーションモード(H_XcvrControl.OpMode[1:0])を“NonDriving”に設定します (T1)。 (7) USB ホストのトランザクション実行機能を即時停止します(T1)。 (8) 接続検出、切断検出、リモート・ウェークアップ検出、デバイスチャープ検出の 全検出機能をオフします(T1)。 time T0 HostState[2:0] Don't care T1 IDLE VBUSEN_A VBUS_State XcvrSelect[1:0] FS TermSelect OpMode[1:0] NonDriving LineState[1:0] SE0 DP / DM SE0 図 1.47 94 GoIDLE Timing EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.41 Timing Parameter GoIDLE Timing Value Description Value T0 実行中ステートの動作を停止する。(F/W) 0 (reference) T1 ホストステート遷移実行キャンセルビットが“0”になったことを 確認し、H_NegoControl_0.AutoMode に“GoIDLE”を設定する。 (F/W) VBUSEN_A をオフする。 トランシーバ選択を FS モードに設定する。 ターミナル選択を FS モードに設定する。 オペレーションモードを“NonDrivinvg”に設定する。 トランザクション実行機能を即時停止する。 接続検出、切断検出、リモート・ウェークアップ検出、デバイス チャープ検出をオフする。(H/W) T0 + 5cycle(60MHz) < T1 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 95 1. 機能説明 1.3.10.3.2 GoWAIT_CONNECT ホストステート遷移実行(H_NegoControl0.AutoMode)に“GoWAIT_CONNECT”を設定 すると、“WAIT_CONNECT”遷移に必要な処理を本 LSI のハードウェアが自動的に実 行します。 なお、HS デバイスはこの時点では FS デバイスとして接続します。その後に行われ るリセット動作の HS Detection Handshake によって HS デバイスとして動作するよう になります。 1.3.10.3.2.1 FSデバイスが接続された場合 FS デバイスが接続された場合の実行手順は以下のとおりです。下記(2)~(12) は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoWAIT_CONNECT”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“WAIT_CONNECT” に設定します(T0)。 (3) VBUSEN_A をオンします(T0)。 (4) トランシーバ選択(H_XcvrControl.XcvrSelect)とターミナル選択 (H_XcvrControl.TermSelect)を FS モードに設定します(T0)。 (5) オペレーションモード(H_XcvrControl.OpMode[1:0])を“PowerDown”に設定 します(T0)。 (6) ポートスピード(H_NegoControl_1.PortSpeed[1:0])を“FS”に設定します(T0)。 (7) デバイス内部電源の安定化の為に一定期間待ち、接続検出機能をオンしま す(T1)。 (8) FS デバイスが接続されるとラインステート(H_USB_Status.LineState[1:0]) に“J”が現れます(T2)。 (9) ラインステート(H_USB_Status.LineState[1:0])の“J”が 2.5us 以上継続するこ とをもって FS デバイスの接続と見なします(T3)。 (10) 切断検出機能をオンします(T3)。 (11) デバウンスインターバル期間中に切断が検出されない場合に接続検出ステー タス(H_SIE_IntStat_0.DetectCon)を発行します(T4)。もし、この期間中に切断 が検出された場合には、切断検出機能をオフにし、(8)に戻っての接続検出か らやり直します。切断検出ステータス(H_SIE_IntStat_0.DetectDiscon)は発行し ません。 (12) 切断検出機能と接続検出機能をオフします(T4)。 96 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 time T1 T0 HostState[2:0] Don't care T2 T3 T4 WAIT_CONNECT DetectCon VBUSEN_A XcvrSelect[1:0] FS TermSelect OpMode[1:0] PowerDown PortSpeed[1:0] FS LineState[1:0] SE0 DP / DM 'J' State 'J' State SE0 Time for device's internal power rail to stabilize. Wait Connect Detect Connect Devaunce Interval Connect Device Connect 図 1.48 表 1.42 Timing Parameter Device Attach Timing(FS mode) Device Attach Timing Values(FS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoWAIT_CONNECT” を 設 定 す る。(F/W) 0 (reference) T1 接続検出機能をオンする。(H/W) T0+100ms{TSIGATT} < T1 T2 デバイスが接続される。 T2 T3 切断検出機能をオンする。(H/W) T2+2.5us{TDCNN} < T3 T4 接続検出ステータス(DetectCon)を発行する。 切断検出機能と接続検出機能をオフする。(H/W) T3+100ms{TATTDB} <T4 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 97 1. 機能説明 1.3.10.3.2.2 LSデバイスが接続された場合 LS デバイスが接続された場合の実行手順は以下のとおりです。下記(2)~(14) は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoWAIT_CONNECT”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を"WAIT_CONNECT" に設定します(T0)。 (3) VBUSEN_A をオンします(T0)。 (4) ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect) と タ ー ミ ナ ル 選 択 (H_XcvrControl.TermSelect)を FS モードに設定します(T0)。 (5) オペレーションモード(H_XcvrControl.OpMode[1:0])を“PowerDown”に設定 します(T0)。 (6) ポートスピード(H_NegoControl_1.PortSpeed[1:0])を“FS”に設定します(T0)。 (7) デバイス内部電源の安定化の為に 100ms 待ち、接続検出機能をオンします (T1)。 (8) LS デバイスが接続されるとラインステート(H_USB_Status.LineState[1:0]) に“K”が現れます(T2)。 (9) ラインステート(H_USB_Status.LineState[1:0])の“K”が 2.5us 以上継続するこ とをもって LS デバイスの接続と見なします(T3)。 (10)トランシーバ選択(H_XcvrControl.XcvrSelect[1:0])を“LS”に設定します(T3)。 このため、ラインステート(H_USB_Status.LineState[1:0])の極性が LS にな り、ラインステート(H_USB_Status.LineState[1:0])には“J”が現れます。 (11) ポートスピード(H_NegoControl_1.PortSpeed[1:0])を“LS”に設定します(T3)。 (12) 切断検出機能をオンします(T3)。 (13) デバウンスインターバル期間中に切断が検出されない場合に接続検出ス テータス(H_SIE_IntStat_0.DetectCon)を発行します(T4)。もし、この期間中 に切断が検出された場合には、切断検出機能をオフにし、トランシーバ選択 (H_XcvrControl.XcvrSelect)とポートスピード(H_NegoControl_1.PortSpeed[1:0]) をともに“FS”に設定し、(8)に戻っての接続検出からやり直します。切断検 出ステータス(H_SIE_IntStat_0.DetectDiscon)は発行しません。 (14) 切断検出機能と接続検出機能をオフします(T4)。 98 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 time T1 T0 HostState[2:0] Don't care T2 T3 T4 WAIT_CONNECT DetectCon VBUSEN_A XcvrSelect[1:0] FS LS TermSelect OpMode[1:0] PowerDown PortSpeed[1:0] FS LineState[1:0] SE0 'K' State SE0 'LS_J' State DP / DM LS Time for device's internal power rail to stabilize. Wait Connect Detect Connect 'LS_J' State Devaunce Interval Connect Device Connect 図 1.49 表 1.43 Timing Parameter Device Attach Timing(LS mode) Device Attach Timing Values(LS mode) Description Value T0 H_NegoControl_0.AutoMode に GoWAIT_CONNECT を設定す る。(F/W) 0 (reference) T1 接続検出機能をオンする。(H/W) T0+100ms{TSIGATT} < T1 T2 デバイスが接続される。 T2 T3 切断検出機能をオンする。(H/W) T2+2.5us{TDCNN} < T3 T4 接続検出ステータス(DetectCon)を発行する。(H/W) 切断検出機能と接続検出機能をオフする。(H/W) T3+100ms{TATTDB} <T4 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 99 1. 機能説明 1.3.10.3.3 GoDISABLED ホストステート遷移実行(H_NegoControl0.AutoMode)に“GoDISABLED”を設定すると、 ディセーブルド遷移に必要な処理を本 LSI のハードウェアが自動的に実行します。 “WAIT_CONNECT”ステートで接続を検出した時、“RESET”ステートで異常なデバイ スからの Chirp を検出した時、“OPERATIONAL”ステートでポートエラーを検出した 時は、本ステートに入ります。 1.3.10.3.3.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (6)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoDISABLED”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“DISABLED”に設定 します(T0)。 (3) 切断検出機能をオフします(T0)。 (4) 現 在 実 行 中 の ト ラ ン ザ ク シ ョ ン 完 了 を 待 っ て 、 ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect)とターミナル選択(H_XcvrControl.TermSelect)と ポートスピード(H_NegoControl_1.PortSpeed)を“FS”モードに設定し、オペ レーションモード(H_XcvrControl.OpMode[1:0])を“PowerDown”に設定しま す(T1)。 (5) 切断検出機能をオンします(T3)。 (6) ファームウェアに対し、ディセーブルド遷移完了ステータス (H_SIE_IntStat_1.DisabledCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 DISABLED DisabledCmp XcvrSelect[1:0] HS FS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down HS FS LineState[1:0] SE0/'J' State SE0 'J' State DP / DM Last Activity SE0 'J' State HS Mode FS Mode Device is suspended (FS Mode) 図 1.50 100 Disabled Timing (HS mode) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.44 Timing Parameter Disabled Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoDISABLED” を 設 定 す る 。 (F/W) 切断検出機能をオフする。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、トランシーバ選択とター ミナル選択ポートスピードを“FS”モードに設定し、オペレー ション モー ド(H_XcvrControl.OpMode[1:0]) を“PowerDown”に 設定する。(H/W) T1 T2 デバイスがサスペンドを検出し、FS mode になる。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。(H/W) ディセーブルド遷移完了ステータスを発行する。(H/W) T1 + 4ms < T3 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 101 1. 機能説明 1.3.10.3.3.2 FSデバイスが接続されている場合 FS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (6)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoDISABLED”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“DISABLED”に設定 します(T0)。 (3) 切断検出機能をオフします(T0)。 (4) 現在実行中のトランザクション完了を待って、オペレーションモード (H_XcvrControl.OpMode[1:0])を“PowerDown”に設定します(T1)。 (5) 切断検出機能をオンします(T3)。 (6) ファームウェアに対し、ディセーブルド遷移完了ステータス (H_SIE_IntStat_1.DisabledCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 DISABLED DisabledCmp XcvrSelect[1:0] FS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down FS LineState[1:0] 'J' / 'K' State 'J' State DP / DM Last Activity 'J' State FS Mode Device is suspended (FS Mode) 図 1.51 表 1.45 Timing Parameter Disabled Timing (FS mode) Disabled Timing Values (FS mode) Description Value T0 H_NegoControl_0.AutoMode に GoDisabled を設定する。(F/W) 切断検出機能をオフする。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、オペレーションモード (H_XcvrControl.OpMode[1:0]) を “PowerDown” に 設 定 す る 。 (H/W) T1 T2 デバイスがサスペンドを検出する。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。 ディセーブルド遷移完了ステータスを発行する。(H/W) T1 + 4ms < T3 注: {}は、USB2.0 規格書で規格されている名称である。 102 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.3.3 LSデバイスが接続されている場合 LS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (6)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoDISABLED”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“DISABLED”に設定 します(T0)。 (3) 切断検出機能をオフします(T0)。 (4) 現在実行中のトランザクション完了を待って、オペレーションモード (H_XcvrControl.OpMode[1:0])を“PowerDown”に設定します(T1)。 (5) 切断検出機能をオンします(T3)。 (6) ファームウェアに対し、ディセーブルド遷移完了ステータス (H_SIE_IntStat_1.DisabledCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 DISABLED DisabledCmp XcvrSelect[1:0] LS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down LS LineState[1:0] 'J' / 'K' State 'J' State DP / DM Last Activity 'LS_J' State LS Mode Device is suspended (LS Mode) 図 1.52 表 1.46 Timing Parameter Disabled Timing (LS mode) Disabled Timing Values (LS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoDISABLED” を設定す る。 (F/W) 切断検出機能をオフする。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、オペレーションモード (H_XcvrControl.OpMode[1:0]) を “PowerDown” に 設 定 す る 。 (H/W) T1 T2 デバイスがサスペンドを検出する。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。 ディセーブルド遷移完了ステータスを発行する。(H/W) T1 + 4ms < T3 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 103 1. 機能説明 1.3.10.3.4 GoRESET ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESET”を設定すると、 “RESET”遷移に必要な処理を本 LSI のハードウェアが自動的に実行します。なお、 “OPERATIONAL”から本ステートに遷移する場合には、H/W が現在実行中のトラン ザクション完了を待って“RESET”処理を開始します。 1.3.10.3.4.1 HSデバイスに対するリセット HS デバイスに対するリセットの実行手順は以下のとおりです。下記(2)~(14) は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESET”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESET”に設定しま す(T0)。 (3) ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect) と タ ー ミ ナ ル 選 択 (H_XcvrControl.TermSelect)を“HS”モードに設定します(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設定しま す(T0)。 (5) デバイスチャープ検出機能をオンします(T0)。 (6) ラインステート(H_USB_Status.LineState[1:0])にアクティビティ有(“J”ス テートとして見える)が 2.5us 以上継続することでデバイスの Chirp を認識 します。そしてデバイスの Chirp がリセット開始から規定時間以内に終了 する(ラインステート(H_USB _Status.LineState[1:0])がアクティビティ無 (“SE0”として見える)となる)ことをもってデバイスチャープ正常検出ス テータス(H_SIE_IntStat_0.DetectDevChirpOK)を発行します(T2)。 ハードウェアはデバイスチャープ正常検出ステータス (H_SIE_IntStat_0.DetectDevChirpOK)が“1”にセットされている場合にデバ イスから正常な Chirp 信号が送信されたと判断し以降の処理を行います。 その為、HS デバイスが切断された時には必ずデバイスチャープ正常検出 ステータス(H_SIE_IntStat_0.DetectDevChirpOK)を“0”にクリアしてくださ い。クリアを行わずデバイスチャープ正常検出ステータス (H_SIE_IntStat_0.DetectDevChirpOK)が“1”にセットされた状態で FS デバイ スが接続されると、そのデバイスを HS デバイスと誤認識して以降の処理 を行ってしまいます。 (7) デバイスチャープ検出機能をオフします(T2)。 (8) デバイスの Chirp 終了後、ホストは“Chirp K”を出力し始めます(T3)。 (9) ホストは"Chirp K"から"Chirp J"に切り替えて出力します(T4)。 (10) ホストは“Chirp J”から“Chirp K”に切り替えて出力します(T5)。以降ホスト は“Chirp K”と“Chirp J”のシーケンスを交互に出力します。 (11) デバイスはホストの Chirp を検出すると HS モードに移行します(T6)。T7 の時点から Chirp の高さが変わっているのは、デバイス側の HS ターミネー ションが有効になったことを表しています。通常、デバイスが FS モード 時の Chirp は約 800mV、HS モード時の Chirp では、約 400mV となります。 (12) ホストは Chirp を終了します(T8)。 (13) リセットを終了します(T9)。 (14) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T9)。 104 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 time T0 HostState[2:0] T1 Don't care T2 T3 T4 T5 T8 T6 T7 T9 T10 RESET T11 OPERATIONAL DetectDevChirpOK ResetCmp XcvrSelect[1:0] HS/FS HS TermSelect OpMode[1:0] Normal Operation Disable BS and NRZI Normal Operation PortSpeed[1:0] HS LineState[1:0] SE0 DP / DM SE0 'J' State SE0 Device K K J K J K J K J K SOF J Reset Operational Upstream Port Chirp Downstream Port Chirp Device HS Mode 図 1.53 表 1.47 Timing Parameter Reset Timing (HS mode) Reset Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) デバイスチャープ検出機能をオンする。(H/W) 0 (reference) T1 デバイスが Chirp を開始。 T0 < T1 < T0 + 6.0ms T2 デバイスが Chirp を終了。 ポートスピードを HS に設定する。 デバイスチャープ検出機能をオフする。 デバイスチャープ正常検出ステータス(DetectDevChirpOK)を発 行する。(H/W) T1 + 1.0ms {TUCH} < T2 < T0 + 7.0ms {TUCHEND} T3 ホストが最初の Chirp(“Chirp K”)を出力する。(H/W) T2 < T3 < T2 + 100us {TWTDCH} T4 ホストが“Chirp K”から“Chirp J”に切り替えて出力する。(H/W) T3 + 40us {TDCHBIT } < T4 < T3 + 60us {TDCHBIT } T5 ホストが“Chirp J”から“Chirp K”に切り替えて出力する。(H/W) T4 + 40us {TDCHBIT } < T5 < T4 + 60us {TDCHBIT } T6 デバイスがホストの Chirp を検出する。 T6 T7 デバイスが HS モードに遷移。 T6 < T7 < T6 + 500us T8 ホストが Chirp を終了。(H/W) T3+ 50ms{TDRSTR } < T8 T9 リセットの終了。リセット終了ステータス(ResetCmp)を発行す る。(H/W) T8 < T9 <T8 + 150us T10(参考) H_NegoControl_0.AutoMode に“GoOPERATIONAL”を設定する。 T10 < T9 + 200us (F/W) T11(参考) 最初の SOF が送出。(H/W) T10 + 120us < T11 < T10 + 130us T8 + 100us{TDCHSE0 } < T11 < T8 + 500us {TDCHSE0 } 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 105 1. 機能説明 1.3.10.3.4.2 異常なデバイスのChirp検出 HS Detection Handshake において、デバイスの Chirp が異常だった場合の動作を 示します。チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)の設定 により 2 つの動作モードが選択できます。 1.3.10.3.4.2.1 チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)設定が 0 の場合 異常検出後にホストの Chirp を行いません。デバイスチャープ異常検出 ステータスが発行された場合、ファームウェアはリセット完了ステータ ス(H_SIE_IntStat_1.ResetCmp)の発行を待って、ホストステート遷移実行 (H_NegoControl_0.AutoMode)に“GoDISABLED”を設定し、ホストステー トを“DISABLED”ステートに遷移させます。下記(2)~(9)は本 LSI のハー ドウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode) に“GoRESET”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を"RESET"に設定 します(T0)。 (3) ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect) と タ ー ミ ナ ル 選 択 (H_XcvrControl.TermSelect)を HS モードに設定します(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設 定します(T0)。 (5) デバイスチャープ検出機能をオンします(T0)。 (6) ラインステート(H_USB_Status.LineState[1:0])にアクティビティ有 (“J”ステートとして見える)が 2.5us 以上継続することでデバイスの Chirp を認識します。しかし、リセット開始から規定時間以内にデバ イスの Chirp が終了しないため異常とみなし、デバイスチャープ異 常検出ステータス(H_SIE_IntStat_0.DetectDevChirpNG)を発行します (T2)。 (7) デバイスチャープ検出機能をオフします(T2)。 (8) リセットを終了します(T3)。 (9) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します (T3)。 106 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 time T0 HostState[2:0] T1 Don't care T2 T3 T4 RESET DISABLED HS FS DetectDevChirpNG DetectDevChirpOK ResetCmp XcvrSelect[1:0] HS/FS TermSelect OpMode[1:0] PowerDown Normal Operation PortSpeed[1:0] HS LineState[1:0] SE0 DP / DM SE0 'J' State FS SE0 Device K Reset Disabled Upstream Port Chirp(NG) 図 1.54 表 1.48 Timing Parameter Detect Device Chirp NG Timing(チャープ完了ディセーブル設定 0) Detect Device Chirp Timing Values(チャープ完了ディセーブル設定 0) Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) デバイスチャープ検出機能をオンする。(H/W) 0 (reference) T1 デバイスが Chirp を開始。 T0 < T1 < T0 + 6.0ms T2 デバイスチャープ異常検出ステータス(DetectDevChirpNG)を発 行する。デバイスチャープ検出機能をオフする。(H/W) T0 + 7ms{TUCHEND} < T2 T3 リセットの終了。リセット終了ステータス(ResetCmp)を発行す る。(H/W) T2 + 50ms{TDRSTR }< T3 T4(参考) H_NegoControl_0.AutoMode に“GoDISABLED”を設定する。(F/W) T4 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 107 1. 機能説明 1.3.10.3.4.2.2 チャープ完了ディセーブル(H_NegoControl_1.DisChirpFinish)設定が 1 の場合 異常検出後にデバイスの Chirp 完了を待ってホストの Chirp を行います。 本モード使用時において、リセット完了ステータス (H_SIE_IntStat_1.ResetCmp) を 発 行 を 待 た ず に ホ ス ト ス テ ー ト を “DISABLED”ステートに遷移させる場合には、H_NegoControl_0 レジスタ に 0x80(H_NegoControl_0.AutoModeCancel に“1”、かつ H_NegoControl_0.AutoMode に“0x0”)をライトして実行中ステートの動作 を停止させます。H_NegoControl_0.AutoModeCancel ビットは停止処理が 完了することで“0”になります(60MHz クロックで 6 サイクル程度必要) ので、H_NegoControl_0.AutoModeCancel ビットが“0”になるのを確認して から、同レジスタに 0x03 をライト(すなわちホストステート遷移実行 (H_NegoControl_0.AutoMode)に“GoDISABLED”を設定)してください。 下記(2)~(15)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行 (H_NegoControl_0.AutoMode)に“GoRESET”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を"RESET"に設定 します(T0)。 (3) ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect) と タ ー ミ ナ ル 選 択 (H_XcvrControl.TermSelect)を HS モードに設定します(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設 定します(T0)。 (5) デバイスチャープ検出機能をオンします(T0)。 (6) ラインステート(USB_Host_Status.LineState[1:0])にアクティビティ有 (“J”ステートとして見える)が 2.5us 以上継続することでデバイスの Chirp を認識します。しかし、リセット開始から規定時間以内にデバ イスの Chirp が終了しないため異常とみなし、デバイスチャープ異 常検出ステータス(H_SIE_IntStat_0.DetectDevChirpNG)を発行します (T2)。 (7) デバイスチャープ検出機能をオフします(T2)。 (8) デバイスの Chirp が終了する(ラインステート (H_USB_Status.LineState[1:0])がアクティビティ無(“SE0”として見え る)になる)ことをもってデバイスチャープ正常検出ステータス (H_SIE_IntStat_0.DetectDevChirpOK)を発行します(T3)。 (9) デバイスの Chirp 終了後、ホストは“Chirp K”を出力し始めます(T4)。 (10) ホストは“Chirp K”から“Chirp J”に切り替えて出力します(T5)。 (11) ホストは“Chirp J”から“Chirp K”に切り替えて出力します(T6)。以降 ホストは“Chirp K”と“Chirp J”のシーケンスを交互に出力します。 (12)デバイスはホストの Chirp を検出すると HS モードに移行します(T7)。 T8 の時点から Chirp の高さが変わっているのは、デバイス側の HS ターミネーションが有効になったことを表しています。通常、デバ イスが FS モード時の Chirp は約 800mV、HS モード時の Chirp では、 約 400mV となります。 (13) ホストは Chirp を終了します(T9)。 (14) リセットを終了します(T10)。 108 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 (15) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します (T10)。 time T0 HostState[2:0] T2 T1 Don't care T3 T4 T5 T6 T7 T8 T9 T10 T11 RESET T12 OPERATIONAL DetectDevChirpNG DetectDevChirpOK ResetCmp XcvrSelect[1:0] HS/FS HS TermSelect OpMode[1:0] Normal Operation PortSpeed[1:0] Normal Operation Disable BS and NRZI HS LineState[1:0] SE0 DP / DM SE0 'J' State Device K SE0 K J K J K J K J K SOF J Reset Operational Upstream Port Chirp Downstream Port Chirp Device HS Mode 図 1.55 Detect Device Chirp NG Timing(チャープ完了ディセーブル設定 1) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 109 1. 機能説明 表 1.48 Timing Parameter Detect Device Chirp Timing Values(チャープ完了ディセーブル設定 1) Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) デバイスチャープ検出機能をオンする。(H/W) T1 デバイスが Chirp を開始。 T0 < T1 < T0 + 6.0ms T2 デバイスチャープ異常検出ステータス(DetectDevChirpNG)を発 行する。 デバイスチャープ検出機能をオフする。(H/W) T0 + 7ms{TUCHEND} < T2 T3 デバイスが Chirp を終了。 ポートスピードを HS に設定する。 デバイスチャープ正常検出ステータス(DetectDevChirpOK)を発 行する。(H/W) T3 T4 ホストが最初の Chirp(“Chirp K”)を出力する。(H/W) T3< T4 < T3 + 100us {TWTDCH} T5 ホストが“Chirp K”から“Chirp J”に切り替えて出力する。(H/W) T4 + 40us {TDCHBIT } < T45< T4 + 60us {TDCHBIT } T6 ホストが“Chirp J”から“Chirp K”に切り替えて出力する。(H/W) T5 + 40us {TDCHBIT } < T6 < T5 + 60us {TDCHBIT } T7 デバイスがホストの Chirp 検出する。 T7 T8 デバイスが HS モードに遷移。 T7 < T8 < T6 + 500us T9 ホストが Chirp を終了。(H/W) T4 + 50ms{TDRSTR } < T9 T10 リセットの終了。リセット終了ステータス(ResetCmp)を発行す る。(H/W) T9 < T10 <T9 + 150us T11(参考) H_NegoControl0.AutoMode に“GoOPERATIONAL”を設定する。 (F/W) T11< T10 + 200us T12(参考) 最初の SOF が送出。(H/W) T11 + 120us < T12 < T11 + 130us T9+ 100us{TDCHSE0 } < T12 < T9 + 500us {TDCHSE0 } 0 (reference) 注: {}は、USB2.0 規格書で規格されている名称である。 110 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.4.3 FSデバイスに対するリセット FS デバイスに対するリセットの実行手順は以下のとおりです。下記(2)~(9)は 本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESET”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESET”に設定しま す(T0)。 (3) トランシーバ選択(H_XcvrControl.XcvrSelect)とターミナル選択 (H_XcvrControl.TermSelect)を HS モードに設定します(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設定しま す(T0)。 (5) デバイスチャープ検出機能をオンします(T0)。 (6) デバイスの Chirp を検出せず、ポートスピード (H_NegoControl_1.PortSpeed[1:0])が HS/FS の為、相手デバイスが FS デバイ スであると判断し、トランシーバ選択(H_XcvrControl.XcvrSelect)とポート スピード(H_NegoControl_1.PortSpeed[1:0])を“FS”に設定します(T1)。 (7) デバイスチャープ検出機能をオフします(T1)。 (8) ターミナル選択(H_XcvrContro1.TermSelect)を“FS”に設定します(T2)。 (9) リセット終了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T3)。 time T0 HostState[2:0] T1 Don't care T2 T4 T3 RESET T5 OPERATIONAL ResetCmp XcvrSelect[1:0] HS/FS HS FS TermSelect OpMode[1:0] PortSpeed[1:0] LineState[1:0] DP / DM Normal Operation HS/FS Disable BS and NRZI Normal Operation FS J SE0 Driven J SE0 図 1.56 'J' State J SOF J Reset Timing (FS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 111 1. 機能説明 表 1.50 Timing Parameter Reset Timing Values (FS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) デバイスチャープ検出機能をオンする。(H/W) 0 (reference) T1 トランシーバ選択を“FS”に設定する。 ポートスピードを“FS”に設定する。 デバイスチャープ検出機能をオフする。(H/W) T0 + 7.0ms{TUCHEND} < T1 T2 ターミナル選択を“FS”に設定する。(H/W) T0 + 50ms{TDRSTR } < T2 リセット完了ステータスを発行する。(H/W) T2 + 150us < T3 T3 T4(参考) H_NegoControl_0.AutoMode に“GoOPERATIONAL”を設定する。 T4 (F/W) T5(参考) 最初の SOF が送出。(H/W) T4 + 0.9ms < T5 < T4 + 1.1ms (T5 < T2 + 3ms) 注: {}は、USB2.0 規格書で規格されている名称である。 112 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.4.4 LSデバイスに対するリセット LS デバイスに対するリセットの実行手順は以下のとおりです。下記(2)~(7)は 本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESET”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESET”に設定しま す(T0)。 (3) ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect) と タ ー ミ ナ ル 選 択 (H_XcvrControl.TermSelect)を HS モードに設定します(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設定しま す(T0)。 (5) ポートスピード(H_NegoControl_1.PortSpeed[1:0])が“LS”の為、トランシー バ選択(H_XcvrControl.XcvrSelect)を"LS"に設定します(T1)。 (6) ターミナル選択(H_XcvrControl.TermSelect)を“FS”に設定します(T2)。 (7) リセット終了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T3)。 time T0 HostState[2:0] T1 Don't care T2 T4 T3 RESET T5 OPERATIONAL ResetCmp XcvrSelect[1:0] LS HS LS TermSelect OpMode[1:0] PortSpeed[1:0] LS LineState[1:0] SE0 DP / DM Disable BS and NRZI Normal Operation J Driven J SE0 図 1.57 表 1.51 Timing Parameter Normal Operation J Keep Alive 'J' State J Reset Timing (LS mode) Reset Timing Values (LS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESET”を設定する。(F/W) 0 (reference) T1 トランシーバ選択を“LS”に設定する。(H/W) T0 + 7.0ms{TUCHEND} < T1 T2 ターミナル選択を“FS”に設定する。(H/W) T0+ 50ms{TDRSTR } < T2 T3 リセット完了ステータスを発行する。(H/W) T2 + 150us < T3 T4(参考) H_NegoControl_0.AutoMode に“GoOPERATIONAL”を設定する。 T4 (F/W) T5(参考) 最初の KeepAlive が送出。(H/W) T4 + 0.9ms < T5 < T4 + 1.1ms (T5 < T2 + 3ms) 注: {}は、USB2.0 規格書で規格されている名称である。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 113 1. 機能説明 1.3.10.3.5 GoOPERATIONAL ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoOPERATIONAL”を設定 すると、“OPERATIONAL”遷移に必要な処理を本 LSI のハードウェアが自動的に実行 します。 (1) フ ァ ー ム ウ ェ ア が ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoOPERATIONAL”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“OPERATIONAL”に設定し ます(T0)。 (3) オペレーションモード(H_XcvrControl.OpMode[1:0])を“Normal”に設定し、USB の トランザクションを実行する状態になります(T0)。 (4) 切断検出機能をオンします(T0)。 (5) ポートスピード(H_NegoControl_1.PortSpeed[1:0])が“HS”または“FS”に設定されて いる場合は最初の SOF を発行します(T1)。“LS”に設定されている場合は最初の KeepAlive が発行します(T1)。以降はチャネルの設定に従って転送が行われます。 time T0 HostState[2:0] XcvrSelect[1:0] Don't care T1 OPERATIONAL HS/FS/LS TermSelect HS/FS OpMode[1:0] Normal PortSpeed[1:0] HS/FS/LS SOF or KeepAlive DP / DM 図 1.58 表 1.52 Timing Parameter 114 GoOPERATIONAL Timing GoOPERATIONAL Timing Values Description Value T0 H_NegoControl_0.AutoMode に“GoOPERATIONAL”を設定する。 0 (reference) (F/W) T1 最初の SOF(HS/FS)、または KeepAlive(LS)が送出。 T0+120us < T1(HS) < T0 + 130us T0+0.9ms <T1(FS,LS) < T0 + 1.1ms EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.6 GoSUSPEND ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoSUSPEND”を設定すると、 サスペンド遷移に必要な処理を本 LSI のハードウェアが自動的に実行します。 1.3.10.3.6.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (7)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoSUSPEND”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“SUSPEND”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) 現 在 実 行 中 の ト ラ ン ザ ク シ ョ ン 完 了 を 待 っ て 、 ト ラ ン シ ー バ 選 択 (H_XcvrControl.XcvrSelect)とターミナル選択(H_XcvrControl.TermSelect)を FS モードに設定し、オペレーションモード(H_XcvrControl.OpMode[1:0]) を“PowerDown”に設定します(T1)。 (5) 切断検出機能をオンします(T3)。 (6) リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)が イネーブルの場合、リモート・ウェークアップ検出機能をオンします(T3)。 (7) ファームウェアに対し、サスペンド遷移完了ステータス (H_SIE_IntStat_1.SuspendCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 SUSPEND SuspendCmp XcvrSelect[1:0] HS FS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down HS LineState[1:0] SE0/'J' State SE0 'J' State DP / DM Last Activity SE0 'J' State HS Mode FS Mode Device is suspended (FS Mode) 図 1.59 Suspend Timing (HS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 115 1. 機能説明 表 1.53 Timing Parameter Suspend Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoSUSPEND” を 設 定 す る 。 (F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフ する。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、トランシーバ選択とター ミナル選択を FS モードに設定し、オペレーションモード (H_XcvrControl.OpMode[1:0]) を “PowerDown” に 設 定 す る 。 (H/W) T1 T2 デバイスがサスペンドを検出し、FS mode になる。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。 リモート・ウェークアップ受付許可がイネーブルの場合、リモー ト・ウェークアップ検出機能をオンする。 サスペンド遷移完了ステータスを発行する。(H/W) T1 + 5ms{TWTRSM} < T3 注: {}は、USB2.0 規格書で規格されている名称である。 116 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.6.2 FSデバイスが接続されている場合 FS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (7)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoSUSPEND”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“SUSPEND”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) 現在実行中のトランザクション完了を待って、オペレーションモード (H_XcvrControl.OpMode[1:0])を“PowerDown”に設定します(T1)。 (5) 切断検出機能をオンします(T3)。 (6) リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)が イネーブルの場合、リモート・ウェークアップ検出機能をオンします(T3)。 (7) ファームウェアに対し、サスペンド遷移完了ステータス (H_SIE_IntStat_1.SuspendCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 SUSPEND SuspendCmp XcvrSelect[1:0] FS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down FS LineState[1:0] 'J' / 'K' State 'J' State DP / DM Last Activity 'J' State FS Mode Device is suspended (FS Mode) 図 1.60 Suspend Timing (FS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 117 1. 機能説明 表 1.54 Timing Parameter Suspend Timing Values (FS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoSUSPEND” を 設 定 す る 。 (F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフ する。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、オペレーションモード (H_XcvrControl.OpMode[1:0]) を “PowerDown” に 設 定 す る 。 (H/W) T1 T2 デバイスがサスペンドを検出する。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。 リモート・ウェークアップ受付許可がイネーブルの場合、リモー ト・ウェークアップ検出機能をオンする。 サスペンド遷移完了ステータスを発行する。(H/W) T1 + 5ms{TWTRSM} < T3 注: {}は、USB2.0 規格書で規格されている名称である。 118 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.6.3 LSデバイスが接続されている場合 LS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (7)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoSUSPEND”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl0.HostState)を“SUSPEND”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) 現在実行中のトランザクション完了を待って、オペレーションモード (H_XcvrControl.OpMode[1:0])を“PowerDown”に設定します(T1)。 (5) 切断検出機能をオンします(T3)。 (6) リモート・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)が イネーブルの場合、リモート・ウェークアップ検出機能をオンします(T3)。 (7) フ ァ ー ム ウ ェ ア に 対 し 、 サ ス ペ ン ド 遷 移 完 了 ス テ ー タ ス (H_SIE_IntStat_1.SuspendCmp)を発行します(T3)。 time T0 HostState[2:0] T1 T2 OPERATIONAL T3 SUSPEND SuspendCmp XcvrSelect[1:0] LS TermSelect OpMode[1:0] PortSpeed[1:0] Normal Operation Power Down LS LineState[1:0] 'J' / 'K' State 'J' State DP / DM Last Activity 'LS_J' State LS Mode Device is suspended (LS Mode) 図 1.61 Suspend Timing (LS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 119 1. 機能説明 表 1.55 Timing Parameter Suspend Timing Values (LS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoSUSPEND” を 設 定 す る 。 (F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフ する。(H/W) 0 (reference) T1 最後のバス・アクティビティ。完了後、オペレーションモード (H_XcvrControl.OpMode[1:0]) を “PowerDown” に 設 定 す る 。 (H/W) T1 T2 デバイスがサスペンドを検出する。 T1 + 3.0ms < T2 {TWTREV} < T1 + 3.125ms T3 切断検出機能をオンする。 リモート・ウェークアップ受付許可がイネーブルの場合、リモー ト・ウェークアップ検出機能をオンする。 サスペンド遷移完了ステータスを発行する。(H/W) T1 + 5ms{TWTRSM} < T3 注: {}は、USB2.0 規格書で規格されている名称である。 120 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.7 GoRESUME ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESUME”を設定すると、 レジューム遷移に必要な処理を本 LSI のハードウェアが自動的に実行します。 1.3.10.3.7.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (8)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に "GoRESUME"を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESUME”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode)を“Disable BS and NRZI”に 設定し、レジューム“K”信号発行を開始します(T0)。 (5) レジューム“K”信号発行を完了します(T1)。 (6) ターミナル選択(H_XcvrControl.TermSelect)を“HS2 に設定します(T2)。 (7) トランシーバ選択(H_XcvrControl.XcvrSelect)を“HS”に設定します(T3)。 (8) ファームウェアに対し、レジューム完了ステータス (H_SIE_IntStat_1.ResumeCmp)を発行します(T3)。 time T0 HostState[2:0] T1 SUSPEND T3 T2 T4 T5 RESUME OPERATIONAL ResumeCmp XcvrSelect[1:0] FS HS TermSelect OpMode[1:0] Power Down DisBS & NRZI Normal Operation PortSpeed[1:0] HS LineState[1:0] 'J' State 'K' State SE0 DP / DM 'J' State 'K' State SE0 FS Mode uSOF HS Mode Downstream Resume Device is suspended 図 1.62 Resume Timing (HS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 121 1. 機能説明 表 1.56 Timing Parameter Resume Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESUME”を設定する。(F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフす る。 オペレーションモードを“Disable BS and NRZI”に設定し、レ ジューム“K”信号の発行を開始する。(H/W) 0 (reference) T1 レジューム“K”信号発行を完了する。 ターミナル選択を“HS”に設定する。(H/W) T0 + 20ms{TDRSMDN}< T1 T2 トランシーバ選択を“HS”に設定する。(H/W) T1 + 100ns < T2 < T1 + 2.0us T3 レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp)を発 行する。(H/W) T1 + 90us < T3 < T1 + 110us T4(参考) GoOPERATIONAL を設定する。(F/W) オペレーションモードを“NomalOperation”に設定する。(H/W) T4 T5(参考) 最初のマイクロ SOF を発行する。(H/W) T5 < T1 + 3ms T4 + 120us < T5 < T4 + 130us 注: {}は、USB2.0 規格書で規格されている名称である。 122 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.7.2 FSデバイスが接続されている場合 FS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (6)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESUME”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESUME”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode)を“Disable BS and NRZI”に 設定し、レジューム“K”信号の発行を開始します(T0)。 (5) レジューム“K”信号の発行を完了し(T1)、最後に LS bit time の EOP を付与 します。 (6) ファームウェアに対し、レジューム完了ステータス (H_SIE_IntStat_1.ResumeCmp)を発行します(T2)。 time T0 HostState[2:0] T1 SUSPEND T2 T3 RESUME T4 OPERATIONAL ResumeCmp XcvrSelect[1:0] FS TermSelect OpMode[1:0] Power Down PortSpeed[1:0] FS LineState[1:0] 'J' State DP / DM 'J' State DisBS & NRZI Normal Operation 'K' State SE0 'K' State Driven SE0 J 'J' State 'J' State 'J' / 'K' State SOF FS Mode Downstream Resume Device is suspended 図 1.63 Resume Timing FS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 123 1. 機能説明 表 1.57 Timing Parameter Resume Timing Values (FS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESUME”を設定する。(F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフす る。 オペレーションモードを“Disable BS and NRZI”に設定し、レ ジューム“K”信号の発行を開始する。(H/W) 0 (reference) T1 レジューム“K”信号の発行を完了し、最後に LS bit time の EOP を 付与する。(H/W) T0 + 20ms{TDRSMDN}< T1 T2 レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp)を発 行する。(H/W) T1 + 90us < T2 < T1 + 110us T3(参考) GoOPERATIONAL を設定する。(F/W) オペレーションモードを“NomalOperation”に設定する。(H/W) T3 T4(参考) 最初の SOF を発行する。(H/W) T4 < T1 + 3ms T3 + 0.9ms < T4 < T3 + 1.1ms 注: {}は、USB2.0 規格書で規格されている名称である。 124 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.7.3 LSデバイスが接続されている場合 LS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (6)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESUME”を設定します(T0)。 (2) ホストステートモニタ(H_NegoControl_0.HostState)を“RESUME”に設定し ます(T0)。 (3) 切断検出機能およびリモート・ウェークアップ検出機能をオフします(T0)。 (4) オペレーションモード(H_XcvrControl.OpMode)を“Disable BS and NRZI”に 設定し、レジューム“K”信号の発行を開始します(T0)。 (5) レジューム“K”信号の発行を完了し(T1)、最後に LS bit time の EOP を付与 します。 (6) ファームウェアに対し、レジューム完了ステータス (H_SIE_IntStat_1.ResumeCmp)を発行します(T2)。 time T0 HostState[2:0] T1 SUSPEND T2 T3 T4 RESUME OPERATIONAL ResumeCmp XcvrSelect[1:0] LS TermSelect OpMode[1:0] PortSpeed LineState[1:0] DP / DM Power Down DisBS & NRZI Normal Operation LS 'J' State 'LS_J' State SE0 'K' State 'J' State Driven SE0 LS_J 'LS_J' State 'LS_K' State SE0 'J' State Keep Alive 'LS_J' State LS Mode Downstream Resume Device is suspended 図 1.64 Resume Timing (LS mode) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 125 1. 機能説明 表 1.58 Timing Parameter Resume Timing Values (LS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoRESUME”を設定する。(F/W) 切断検出機能およびリモート・ウェークアップ検出機能をオフす る。 オペレーションモードを“Disable BS and NRZI”に設定し、レ ジューム“K”信号の発行を開始する。(H/W) 0 (reference) T1 レジューム“K”信号の発行を完了し、最後に LS bit time の EOP を 付与する。(H/W) T0 + 20ms{TDRSMDN}< T1 T2 レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp)を発 行する。(H/W) T1 + 90us < T2 < T1 + 110us T3(参考) “GoOPERATIONAL”を設定する。(F/W) オペレーションモードを“NomalOperation”に設定する。(H/W) T3 T4(参考) 最初の Keep Alive を発行する。(H/W) T4 < T1 + 3ms T3 + 0.9ms < T4 < T3 + 1.1ms 注: {}は、USB2.0 規格書で規格されている名称である。 126 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.8 GoWAIT_CONNECTtoDIS ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoWAIT_CONNECTtoDIS” を設定すると、“WAIT_CONNECT”ステートから“DISABLED”ステートに至る必要な 処理を本 LSI のハードウェアが自動的に実行します。 実行手順は以下のとおりです。下記(2)~(5)は本 LSI のハードウェアが自動的に実行 します。 (1) フ ァ ー ム ウ ェ ア が ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoWAIT_CONNECTtoDIS”を設定します(T0)。 (2) “GoWAIT_CONNECT”と同等の処理を実行します(T0)。 (3) 接続検出を行い、接続検出ステータス(H_SIE_IntStat_0.DetectCon)を発行します (T1)。 (4) “GoDISABLED”と同等の処理を実行します(T1)。 (5) ディセーブルド完了ステータス(H_SIE_IntStat_1.DisabledCmp)を発行します(T2)。 なお、各ステートにおけるタイミングは、“GoWAIT_CONNECT”、“GoDISABLED” を 実 行 し た 場 合 と 同 じ で す 。 タ イ ミ ン グ の 詳 細 は 、 そ れ ぞ れ 「 1.3.10.3.2 GoWAIT_CONNECT」、「1.3.10.3.3 GoDISABLED」を参照してください。 また、途中で異常(切断、VBUS 異常)を検出した場合の実行手順およびタイミングに ついては、「1.3.10.2.2.切断検出」、「1.3.10.2.1.VBUS 異常検出」を参照してくださ い。 time T1 T0 HostState[2:0] Don't care WAIT_CONNECT T2 DISABLED DetectCon DisabledCmp 図 1.65 表 1.59 Timing Parameter GoWAIT_CONNECTtoDIS Timing (HS mode) GoWAIT_CONNECTtoDIS Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に“GoWAIT_CONNECTtoDIS”を設 定する。(F/W) GoWAIT_CONNECT と同等の処理を実行する。(H/W) 0 (reference) T1 接続検出を行い、接続検出ステータスを発行する。 GoDISABLED と同等の処理を実行する。(H/W) T1 T2 ディセーブルド完了ステータスを発行する。(H/W) T2 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 127 1. 機能説明 1.3.10.3.9 GoWAIT_CONNECTtoOP ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoWAIT_CONNECTtoOP” を設定すると、“WAIT_CONNECT”ステートから“OPERATIONAL”ステートに至る必 要な処理を本 LSI のハードウェアが自動的に実行します。 1.3.10.3.9.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (9)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoWAIT_CONNECTtoOP”を設定します(T0)。 (2) “GoWAIT_CONNECT”と同等の処理を実行します(T0)。 (3) 接続検出を行い、接続検出ステータス(H_SIE_IntStat_0.DetectCon)を発行し ます(T1)。 (4) “GoDISABLED”と同等の処理を実行します(T1)。 (5) ディセーブルド完了ステータス(H_SIE_IntStat_1.DisabledCmp)を発行しま す(T2)。 (6) “GoRESET”と同等の処理を実行します(T2)。 (7) デバイスの Chirp を検出し、デバイスチャープ正常検出ステータス (H_SIE_IntStat_0.DetectDevChirpOK)を発行します(T3)。 (8) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T4)。 (9) “GoOPERATIONAL”と同等の処理を実行します(T4)。 な お 、 各 ス テ ー ト に お け る タ イ ミ ン グ は 、 “GoWAIT_CONNECT” 、 “GoDISABLED”、“GoRESET”、“GoOPERATIONAL”を実行した場合と同じで す。タイミングの詳細は、それぞれ「1.3.10.3.2 GoWAIT_CONNECT」、 「1.3.10.3.3 GoDISABLED」、「1.3.10.3.4 GoRESET」、「1.3.10.3.5 GoOPERATIONAL」を 参照してください。 また、途中で異常(切断、VBUS 異常、デバイスチャープ異常)を検出した場合 の実行手順およびタイミングについては、「1.3.10.2.2 切断検出」、「1.3.10.2.1 VBUS 異常検出」を参照してください。 time T1 T0 HostState[2:0] Don't care WAIT_CONNECT T2 DISABLED T3 RESET T4 OPERATIONAL DetectCon DisabledCmp DetectDevChirpOK DetectDevChirpNG ResetCmp 図 1.66 128 GoWAIT_CONNECTtoOP Timing (HS mode) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.60 Timing Parameter GoWAIT_CONNECTtoOP Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoWAIT_CONNECTtoOP” を 設 定する。(F/W) “GoWAIT_CONNECT”と同等の処理を実行する。(H/W) 0 (reference) T1 接続検出を行い、接続検出ステータスを発行する。 “GoDISABLED”と同等の処理を実行する。(H/W) T1 T2 ディセーブルド完了ステータスを発行する。 “GoRESET”と同等の処理を実行する。(H/W) T2 T3 デバイスチャープ検出を行い、デバイスチャープ正常検出ステー タスを発行する。(H/W) T3 T4 リセット完了ステータスを発行する。 “GoOPERATIONAL”と同等の処理を実行する。(H/W) T4 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 129 1. 機能説明 1.3.10.3.9.2 FSまたはLSデバイスが接続されている場合 FS または LS デバイスが接続されている場合の実行手順は以下のとおりです。 下記(2)~(9)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoWAIT_CONNECTtoOP”を設定します(T0)。 (2) “GoWAIT_CONNECT”と同等の処理を実行します(T0)。 (3) 接続検出を行い、接続検出ステータス(H_SIE_IntStat_0.DetectCon)を発行し ます(T1)。 (4) “GoDISABLED”と同等の処理を実行します(T1)。 (5) ディセーブルド完了ステータス(H_SIE_IntStat_1.DisabledCmp)を発行しま す(T2)。 (6) “GoRESET”と同等の処理を実行します(T2)。 (7) デバイスの Chirp を検出しないため、デバイスチャープ正常/異常検出ス テータス(H_SIE_IntStat_0.DetectDevChirpOK/NG)は発行しません(T3)。 (8) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T4)。 (9) “GoOPERATIONAL”と同等の処理を実行します(T4)。 な お 、 各 ス テ ー ト に お け る タ イ ミ ン グ は 、 “GoWAIT_CONNECT” 、 “GoDISABLED”、“GoRESET”、“GoOPERATIONAL”を実行した場合と同じで す。タイミングの詳細はそれぞれ「1.3.10.3.2 GoWAIT_CONNECT」、 「1.3.10.3.3 GoDISABLED」、「1.3.10.3.4 GoRESET」、「1.3.10.3.5 GoOPERATIONAL」を 参照してください。 また、途中で異常(切断、VBUS 異常)を検出した場合の実行手順およびタイミ ングについては、「1.3.10.2.2 切断検出」、「1.3.10.2.1 VBUS 異常検出」を参 照してください。 time T1 T0 HostState[2:0] Don't care WAIT_CONNECT T2 DISABLED T3 T4 RESET OPERATIONAL DetectCon DisabledCmp DetectDevChirpOK DetectDevChirpNG ResetCmp 図 1.67 130 GoWAIT_CONNECTtoOP Timing (FS または LS mode) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 表 1.61 Timing Parameter GoWAIT_CONNECTtoOP Timing Values (FS または LS mode) Description Value T0 H_NegoControl_0.AutoMode に GoWAIT_CONNECTtoOP を設定 する。(F/W) GoWAIT_CONNECT と同等の処理を実行する。(H/W) 0 (reference) T1 接続検出を行い、接続検出ステータスを発行する。 GoDISABLED と同等の処理を実行する。(H/W) T1 T2 ディセーブルド完了ステータスを発行する。 GoRESET と同等の処理を実行する。(H/W) T2 T3 デバイスチャープ非検出のため、デバイスチャープ正常/異常検 出ステータスを発行しない。(H/W) T3 T4 リセット完了ステータスを発行する。 GoOPERATIONAL と同等の処理を実行する。(H/W) T4 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 131 1. 機能説明 1.3.10.3.10 GoRESETtoOP ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESETtoOP”を設定する と、“RESET”ステートから“OPERATIONAL”ステートに至る必要な処理を本 LSI の ハードウェアが自動的に実行します。 1.3.10.3.10.1 HSデバイスが接続されている場合 HS デバイスが接続されている場合の実行手順は以下のとおりです。下記(2)~ (5)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESETtoOP”を設定します(T0)。 (2) “GoRESET”と同等の処理を実行します(T0)。 (3) デバイスの Chirp を検出し、デバイスチャープ正常検出ステータス (H_SIE_IntStat_0.DetectDevChirpOK)を発行します(T1)。 (4) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T2)。 (5) “GoOPERATIONAL”と同等の処理を実行します(T2)。 なお、各ステートにおけるタイミングは、“GoRESET”、“GoOPERATIONAL” を 実 行 し た 場 合 と 同 じ で す 。 タ イ ミ ン グ の 詳 細 は そ れ ぞ れ 「 1.3.10.3.4 GoRESET」、「1.3.10.3.5 GoOPERATIONAL」を参照してください。 また、途中で異常(VBUS 異常およびデバイスチャープ異常)を検出した場合の 実行手順およびタイミングについては、「1.3.10.2.2 切断検出」、「1.3.10.2.1 VBUS 異常検出」を参照してください。 time T0 T1 T2 IDLE以外 HostState[2:0] RESET OPERATIONAL DetectDevChirpOK DetectDevChirpNG ResetCmp 図 1.68 表 1.62 Timing Parameter GoRESETtoOP Timing (HS mode) GoRESETtoOP Timing Values (HS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoRESETtoOP” を 設 定 す る 。 (F/W) “GoRESET”と同等の処理を実行する。(H/W) 0 (reference) T1 デバイスチャープ検出を行い、デバイスチャープ正常検出ステー タスを発行する。(H/W) T1 T2 リセット完了ステータスを発行する。 “GoOPERATIONAL”と同等の処理を実行する。(H/W) T2 132 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.10.2 FSまたはLSデバイスが接続されている場合 FS または LS デバイスが接続されている場合の実行手順は以下のとおりです。 下記(2)~(5)は本 LSI のハードウェアが自動的に実行します。 (1) ファームウェアがホストステート遷移実行(H_NegoControl_0.AutoMode)に “GoRESETtoOP”を設定します(T0)。 (2) “GoRESET”と同等の処理を実行します(T0)。 (3) デバイスの Chirp を検出しないため、デバイスチャープ正常/異常検出ス テータス(H_SIE_IntStat_0.DetectDevChirpOK/NG)は発行しません(T1)。 (4) リセット完了ステータス(H_SIE_IntStat_1.ResetCmp)を発行します(T2)。 (5) “GoOPERATIONAL”と同等の処理を実行します(T2)。 なお、各ステートにおけるタイミングは、GoRESET、GoOPERATIONAL を実 行した場合と同じです。タイミングの詳細は、それぞれ「1.3.10.3.4 GoRESET」、 「1.3.10.3.5 GoOPERATIONAL」を参照してください。 また、途中で異常(VBUS 異常)を検出した場合の実行手順およびタイミングに ついては、「1.3.10.2.1 VBUS 異常検出」を参照してください。 time T0 T1 IDLE以外 HostState[2:0] T2 RESET OPERATIONAL DetectDevChirpOK DetectDevChirpNG ResetCmp 図 1.69 表 1.63 Timing Parameter GoRESETtoOP Timing (FS または LS mode) GoRESETtoOP Timing Values (FS または LS mode) Description Value T0 H_NegoControl_0.AutoMode に “GoRESETtoOP” を 設 定 す る 。 (F/W) “GoRESET”と同等の処理を実行する。(H/W) 0 (reference) T1 デバイスチャープ非検出のため、デバイスチャープ正常/異常検 出ステータスを発行しない。(H/W) T1 T2 リセット完了ステータスを発行する。 “GoOPERATIONAL”と同等の処理を実行する。(H/W) T2 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 133 1. 機能説明 1.3.10.3.11 GoSUSPENDtoOP ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoSUSPENDtoOP”を設定す ると、"SUSPEND"ステートから“OPERATIONAL”ステートに至る必要な処理を本 LSI のハードウェアが自動的に実行します。 “GoSUSPENDtoOP”を設定した場合は、リモート・ウェークアップ検出機能をハード ウェアが自動的にオン/オフします(ただしリモート・ウェークアップ受付許可 (H_NegoControl_1.RmtWkupDetEnb)には反映しません)ので、ファームウェアがリモー ト・ウェークアップ受付許可(H_NegoControl_1.RmtWkupDetEnb)を操作する必要はあ りません。 なお、本設定を使用する際には、パワーマネジメント機能を使用しないでください。 本設定による実行手順は以下のとおりです。下記(2)~(7)は本 LSI のハードウェアが 自動的に実行します。 (1) フ ァ ー ム ウ ェ ア が ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoSUSPENDtoOP”を設定します(T0)。 (2) “GoSUSPEND”と同等の処理を実行します(T0)。 (3) サスペンド遷移完了ステータス(H_SIE_IntStat_1.SuspendCmp)を発行します(T1)。 (4) リモート・ウェークアップを検出し、リモート・ウェークアップを検出ステータ ス(H_SIE_IntStat_0.DetectRmtWkup)を発行します(T2)。 (5) “GoRESUME”と同等の処理を実行します(T2)。 (6) レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp)を発行します(T3)。 (7) “GoOPERATIONAL”と同等の処理を実行します(T3)。 time T0 HostState[2:0] T1 T3 T2 OPERATIONAL SUSPEND RESUME OPERATIONAL SuspendCmp DetectRmtWkup ResumeCmp 図 1.70 表 1.64 Timing Parameter 134 GoSUSPENDtoOP Timing GoSUSPENDtoOP Timing Value Description Value T0 H_NegoControl_0.AutoMode に“GoSUSPENDtoOP”を設定する。 0 (reference) (F/W) “GoSUSPEND”と同等の処理を実行する。(H/W) T1 サスペンド遷移完了ステータスを発行する。(H/W) T1 T2 リモート・ウェークアップを検出し、リモート・ウェークアップ 検出ステータスを発行する。“GoRESUME”と同等の処理を実行す る。(H/W) T2 T3 レジューム完了ステータスを発行する。“GoOPERATIONAL”と同 等の処理を実行する。(H/W) T3 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.3.10.3.12 GoRESUMEtoOP ホストステート遷移実行(H_NegoControl_0.AutoMode)に“GoRESUMEtoOP”を設定す ると、“RESUME”ステートから“OPERATIONAL”ステートに至る必要な処理を本 LSI のハードウェアが自動的に実行します。 本設定による実行手順は以下のとおりです。下記(2)~(4)は本 LSI のハードウェアが 自動的に実行します。 (1) フ ァ ー ム ウ ェ ア が ホ ス ト ス テ ー ト 遷 移 実 行 (H_NegoControl_0.AutoMode) に “GoRESUMEtoOP”を設定します(T0)。 (2) “GoRESUME”と同等の処理を実行します(T0)。 (3) レジューム完了ステータス(H_SIE_IntStat_1.ResumeCmp)を発行します(T1)。 (4) “GoOPERATIONAL”と同等の処理を実行します(T1)。 time T1 T0 SUSPEND HostState[2:0] RESUME OPERATIONAL ResumeCmp 図 1.71 表 1.65 Timing Parameter GoRESUMEtoOP GoRESUMEtoOP Timing Value Description Value T0 H_NegoControl_0.AutoMode に“GoRESUMEtoOP”を設定する。 (F/W) “GoRESUME”と同等の処理を実行する。(H/W) 0 (reference) T1 レジューム完了ステータスを発行する。 “GoOPERATIONAL”と同等の処理を実行する。(H/W) T1 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 135 1. 機能説明 1.4 パワーマネージメント機能 オシレータ、PLL の動作を制御し、スリープ、アクティブのステートを遷移します。ただし、ス ヌーズ・ステートはスリープ⇔アクティブのステート遷移時に経由するだけのステートです。他 のステートに遷移する場合には、PM_Control レジスタの GoSLEEP、GoACTIVE ビットをセット することで開始され、任意の処理が行われた後終了します。現在、どのステートにいるかを確認 するには、PM_Control.PM_State [1:0]を確認してください。また遷移終了時、MainIntStat.FinishedPM イベントを発生します。この時、MainIntEnb.EnFinishedPM ビットをセットしていれば、割り込み XINT が発生します。ただし、この PM_Control.PM_State [1:0]は、PM_Control レジスタの GoSLEEP、 GoACTIVE ビットをセットしてから、MainIntStat.FinishedPM イベントが発生するまでは、正確な ステートを表示できないことに注意してください。 アクティブ・ステート時に PM_Control.GoSLEEP ビットをセットした場合は、スヌーズ・ステー トを経由し、スリープ・ステートに遷移し、完全に遷移終了した時点で Main_IntStat.FinishedPM イベントを発生します。またスリープ・ステート時に PM_Control. GoACTIVE ビットをセットし た場合も、スヌーズ・ステートを経由し、アクティブ・ステートに遷移し、完全に遷移終了した 時点で MainIntStat.FinishedPM イベントを発生します。 S0: SLEEP Go Go S AC LEE TIV P E S1: SNOOZE S2: ACTIVE ※ 一点鎖線の遷移は、実際には実線を通って遷移する。 図 1.72 1.4.1 パワーマネージメント SLEEP(スリープ) オシレータが発振していない、または CLKIN 端子からの CLK 入力をゲートさせているステー トです。したがいまして、このステートでは、PLL も発振していません。斜体太字のレジス タ及びビットはスリープ・ステートでも読み書き可能なレジスタです。斜体文字以外のレジス タにつきましては、アクティブ・ステートで無ければ読み書きできず、読むと全て 0 として読 み出されてしまいます。 アクティブ・ステート中に PM_Control.GoSLEEP ビットをセットし、スリープに遷移する場合 は、動作している内部 PLL を停止し、OSCCLK の内部への出力を停めた後に発振を停止しま す。 逆に、スリープ・ステート中に PM_Control.GoACTIVE ビットをセットし、スリープからスヌー ズへ離脱する時には、オシレータが安定して発振するまで内部回路には OSCCLK を与えない ように、発振安定時間ゲートしています。この発振安定時間は、発振セル、発振子、周辺回路 及び基板によって変化しますので、WakeUpTim_H,L レジスタを用いて設定してください。 136 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 PM_State S0 : SLEEP (S1 : SNOOZE) S2 : ACTIVE GoSLEEP GoACTIVE FinishedPM ロード値はWakeUpTim_L,Hにて設定 Load_OC OSC_Counter (OSCOUT) 0xFFFF 0xFFFF OSC Powerup Time 0x0000 OSC Valid OSCOUT 内部への OSCCLK OSC Valid ロード値は256usに設定 Load_PC PLL_Counter (OSCCLK) 0xFF 0xFF PLL Powerup Time 0x00 SCLK Valid SCLK 内部への SCLK SCLK Valid ※ 出力開始時にヒゲが出ないようにEnb信号をNegedgeで叩いて用する。 図 1.73 1.4.2 SLEEP ステートからの離脱(GoACTIVE 時) SNOOZE(スヌーズ) オシレータは発振している状態で、PLL が発振していないステートです。スリープ⇔アクティ ブのステート遷移時に経由するだけのステートです。 スヌーズからアクティブへ離脱する時には、PLL が安定して発振するまで内部回路には SCLK を与えないように、PLL 安定時間(約 250us)ゲートします。 1.4.3 ACTIVE(アクティブ) オシレータ、PLL が動作しているステートです。USB 転送を含む全てのデータ転送が可能で す。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 137 1. 機能説明 1.4.4 CPU_Cutモード スリープ・ステートにおいて、PM_State.GoCPU_Cut ビットをセットすることで、XCS を除く CPU-I/F の信号の入力を IC 初段から停止します。これにより、スリープ・ステートで CPU-I/F が動作している場合においても、本 LSI の入力端子のスイッチングは行われず、完全停止状態 (IQ 状態)とほぼ同等の低消費電力化が図れます。 CPU_Cut モード状態から復帰するためは、PM_Control レジスタをダミーリードしてください。 そのリード動作終了と同時に CPU_Cut モードから復帰します。この時、復帰動作を行うため に XCS 信号の立ち上がり信号を使用しているため、ダミーリードの後には必ず XCS 信号がネ ゲート(“H”になる)されるようにしてください。ダミーリード後に XCS 信号がネゲートさ れずに、すぐに他のレジスタをリードする場合は、CPU_Cut モードが継続されています。 1.5 FIFO管理 FIFO 管理について説明します。 1.5.1 FIFOメモリマップ FIFO のメモリマップを以下に示します。 (0x1200) AREA5EndAdrs AREA5 AREA5StartAdrs AREA4EndAdrs AREA4 AREA4StartAdrs AREA3EndAdrs AREA3 AREA2EndAdrs AREA2StartAdrs AREA3StartAdrs AREA2 AREA1EndAdrs AREA1 AREA1StartAdrs AREA0EndAdrs AREA0 AREA0StartAdrs デスクリプタエリア 0x0030 0x0020 0x0000 図 1.74 CSWエリア(16B固定) CBWエリア(32B固定) FIFO メモリマップ(例) FIFO メモリは、CBW エリア、CSW エリア、デスクリプタエリア、AREA0、AREA1、AREA2、 AREA3、AREA4、AREA5 に分割して使用できます。CBW エリア、CSW エリアについては図 1.74 のように固定領域が割り当てられます。一方その他の AREAx{x=0-5}については FIFO エ リア設定レジスタ(AREAx{x=0-5}StartAdrs_H,L, AREAx{x=0-5}EndAdrs_H,L)で領域を柔軟に 設定することが可能です。デスクリプタエリアは未使用の領域を自由に使用できます。 デスクリプタエリアは、USB デバイス時にデスクリプタ返信機能で使用される領域です。FIFO の未使用領域のどの位置からでも使用することが出来ます。実際の使用方法については、 「1.5.2 デスクリプタエリア」に後述します。全ての FIFO 領域をデスクリプタ返信機能に使用設定す 138 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 ることが可能となっていますが、競合を避けるために、ここで表したエリアでの使用を推奨し ます。 CBW エリアは、USB デバイス時にバルクオンリーサポート機能の CBW サポートで使用され る領域です。32 バイト確保されていますが、そのうち、アドレス 0x0000 から始まる 31 バイ トの領域を使用します。実際の使用方法については、「1.5.3.1 CBW エリア(USB デバイス時)」 に後述します。また、この CBW エリアは USB ホスト時には CHa のバルクオンリーサポート 機能で使用される領域です。実際の使用方法については「1.5.3.2 CBW エリア(USB ホスト時)」 に後述します。 CSW エリアは、USB デバイス時にバルクオンリーサポート機能の CSW サポートで使用され る領域です。16 バイト確保されていますが、そのうち、アドレス 0x0020 から始まる 13 バイ トの領域を使用します。実際の使用方法については、「1.5.4.1 CSW エリア(USB デバイス時)」 に後述します。また、この CSW エリアは USB ホスト時には CHa のバルクオンリーサポート 機能で使用される領域です。実際の使用方法については「1.5.4.2 CSW エリア(USB ホスト時)」 に後述します。 AREA0, AREA1, AREA2, AREA3, AREA4, AREA5 は、USB デバイス時はエンドポイント (EPx{x=0, a-e})とジョインすることにより使用可能な、エンドポイントのエリアです。USB ホ スト時には、同様にチャネル(CHx{x=0, a-e})に Join することで使用可能となります。ジョイン するには、AREA ジョイン設定レジスタ(AREAx{x=0-5}Join_1)の JoinEPxCHx{x=0,a-e}ビット を設定します。なお、同じエンドポイント、チャネルを複数のエリアに同時にジョインしない で下さい。 AREA0, AREA1, AREA2, AREA3, AREA4, AREA5 それぞれのエリアは、FIFO として制御され ており、データ格納数が保持されています。この保持された状態をクリアするためには、 AREAnFIFO_Clr.ClearAREAx{x=0-5}の各ビットをセットして下さい。 なお、これらの状態クリアは、データ保持情報の初期化動作のみを行い、データは書き込みま たはクリアをしません。従って、このビットにより RAM 上のデータがクリアされることはあ りませんので、デスクリプタエリア内に記録された情報は消えることは無く、クリア後に再度 データを書き込み直す必要はありません。 1.5.2 デスクリプタエリア デスクリプタエリアは、USB デバイス時にデスクリプタ返信機能に使用するエリアです。デ スクリプタ返信機能は、エンドポイント 0 において、データステージが IN 転送で行われる場 合に使用することが出来ます。 IN 方向のデータステージを行う場合に、この領域内に書き込まれたデータの先頭アドレスと、 返信するデータサイズを設定し、デスクリプタ返信機能を実行すると、自動的にデータステー ジが行われます。 デバイスデスクリプタ等、機器で一意に決定されるような内容を、電源投入後の初期設定時等 にこのエリアに書き込んでおくことにより、リクエストを受け付けるとこのエリアのデータを 返信するよう指示することが出来ます。リクエスト毎に EP0 の FIFO エリアにデータを書き込 む必要が無く、高速に応答することができます。 1.5.2.1 デスクリプタエリアへのデータの書き込み デスクリプタエリアへデータを書き込むには、RAM_WrDoor 機能を使用します。書き込み 開始アドレスを RAM_WrAdrs_H,L レジスタに設定し、RAM_WrDoor_0,1 レジスタにデー タを書き込むことによって行います。RAM_WrAdrs_H,L レジスタの値は、一回の書き込み 毎に、書き込みデータ数づつ更新されますので、連続したアドレスにデータを書き込む場 合には、RAM_WrDoor_0,1 レジスタに連続して書き込むことが出来ます。 なお、RAM_WrDoor_0,1 レジスタは書き込みのみ可能となっています。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 139 1. 機能説明 1.5.2.2 デスクリプタエリアでのデータステージ(IN)の実行 書き込まれたデータを、デスクリプタ返信機能にて使用する場合には、D_DescAdrs_H,L レ ジスタに、データステージに送信するデータの先頭アドレスを設定し、返信するデータサ イズを D_DescSize_H,L レジスタに設定した後、D_EP0Control.ReplyDescriptor ビットに 1 をセットします。また、D_EP0Control.INxOUT ビットに“1”をセットして、IN トランザク ションを行えるようにします。また、データステージの IN トランザクションにデータパ ケ ッ ト を 返 信 出 来 る よ う 、 D_SETUP_Control.ProtectEP0 を ク リ ア し て か ら 、 D_EP0Control_IN.ForceNAK ビットをクリアするようご注意下さい。 設 定 後 、 ホ ス ト か ら の IN ト ラ ン ザ ク シ ョ ン に 応 答 し 、 マ ッ ク ス パ ケ ッ ト サ イ ズ (D_EP0MaxSize にて設定)に自動的に分割しながら、ホストに D_DescSize_H,L レジスタに 設定されたデータ数までデータパケットを返信します。また、D_DescSize_H,L レジスタの 値がマックスパケットサイズに満たない場合や、分割した後の残りのデータ数がマックス パケットサイズに満たない場合には、自動的にショートパケットとして送信します。 ホストから OUT トランザクションが発行されると、D_EP0Control.ReplyDescriptor をクリア し、D_EP0IntStat.DescriptorCmp がセットされます。F/W はステータスステージの処理に移 行して下さい。 1.5.3 1.5.3.1 CBWエリア CBWエリア(USBデバイス時) CBW エリアは、USB デバイス時にバルクオンリーサポート機能の CBW サポートに使用す るエリアです。Bulk OUT のエンドポイント(エンドポイント EPa, EPb, EPc, EPd, EPe)で、 Bulk Only Transport Protocol のコマンドトランスポートを行うときに、このエリアに受信す ることが出来ます。こうすることにより、エンドポイントの FIFO では、データトランスポー トで受信したデータのみを扱うことができます。 CBW サポートを実行している時に、対象となるエンドポイントで OUT トランザクション が行われ、データサイズが 31 バイトであると、CBW エリアに受信します。データ長が 31 バイトで無かった場合は、エラーステータスを発行し、データは破棄します。 CBW エ リ ア に 受 信 し た デ ー タ を 読 み 出 す に は 、 RAM_Rd 機 能 を 使 用 し ま す 。 RAM_RdControl.RAM_GoRdCBW_CSW ビットをセットすると、CBW エリアのデータが読 み 出 さ れ て RAM_Rd_00~RAM_Rd_1E レ ジ ス タ に コ ピ ー さ れ 、 完 了 ス テ ー タ ス (CPU_IntStat.RAM_RdCmp ビット)が発行されます。 1.5.3.2 CBWエリア(USBホスト時) CBW エリアは、USB ホスト時にバルクオンリーサポート機能で使用するエリアです。チャ ネル CHa で、Bulk Only Transport Protocol のコマンドトランスポートを行う際に、これらの エリアから CBW データをデータパケットとして送信します。こうすることにより、チャ ネルの FIFO では、データトランスポートで送信するデータのみを扱うことができます。 データパケットを送信する前に、CBW エリアには 0x0000 から CBW データ(31 バイト)を 用意して下さい。 CBW エリアにデータを書き込むには、RAM_WrDoor 機能を使用します。RAM_WrAdrs_H,L レジスタに、CBW,エリアの先頭アドレス(0x0000)を書き、RAM_WrDoor_0,1 レジスタを介 して 31 バイトの有効データを書き込みます。CBW エリアは 32 バイト確保されていますの で、ワードアクセスで 32 バイト書き込んでも、他の領域を侵すことは無く、問題ありませ ん。 140 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.5.4 1.5.4.1 CSWエリア CSWエリア(USBデバイス時) CSW エリアは、USB デバイス時、バルクオンリーサポート機能の CSW サポートに使用す るエリアです。Bulk IN のエンドポイント(エンドポイント EPa, EPb, EPc, EPd, EPe)で、Bulk Only Transport Protocol のステータストランスポートを行うときに、このエリアから送信す ることが出来ます。こうすることにより、エンドポイントの FIFO では、データトランスポー トで送信するデータのみを扱うことができます。 CSW サポートを実行している時に、対象となるエンドポイントで IN トランザクションが 行われると、CSW エリアから 13 バイトのデータをデータパケットとして送信します。 CSW エリアにデータを書き込むには、RAM_WrDoor 機能を使用します。RAM_WrAdrs_H,L レジスタに、CSW エリアの先頭アドレス(0x0020)を書き、RAM_WrDoor_0,1 レジスタを介 して 13 バイトの有効データを書き込みます。CSW エリアは 16Byte 確保されていますので、 ワードアクセスで 14 バイト書き込んでも、他の領域を侵すことは無く、問題ありません。 1.5.4.2 CSWエリア(USBホスト時) CSW エリアは、USB ホスト時バルクオンリーサポート機能で使用するエリアです。チャネ ル CHa で、Bulk Only Transport Protocol のステータストランスポートを行う際に、このエリ アに CSW データを受信します。こうすることにより、チャネルの FIFO では、データトラ ンスポートで受信するデータのみを扱うことができます。 CSW エ リ ア に 受 信 し た デ ー タ を 読 み 出 す に は 、 RAM_Rd 機 能 を 使 用 し ま す 。 RAM_RdControl.RAM_GoRdCBW_CSW ビットをセットすると、CSW エリアのデータが読 み 出 さ れ 、 RAM_Rd_00 ~ RAM_Rd_0C レ ジ ス タ に コ ピ ー さ れ 、 完 了 ス テ ー タ ス (CPU_IntStat.RAM_RdCmp ビット)が発行されます。 1.5.5 FIFOへのアクセス方法 FIFO のデータにアクセスする方法は、RAM アクセスする方法と、FIFO アクセスする方法と があります。FIFO アクセスの手段としては、CPU(レジスタ), CPU(DMA), USB が有ります。 RAM アクセスでは、FIFO の任意の場所からデータを読むことができ、また、任意の場所にデー タを書くことができます。RAM アクセスによっては、FIFO のデータ数は更新されません。つ まり、RAM_Rd機能によって FIFO のデータを読み出しても、FIFO 領域は解放されません。 また、RAM_WrDoor 機能によって FIFO にデータを書き込んでも、FIFO 領域を占有しません。 1.5.5.1 RAMアクセスの方法(RAM_Rd) FIFO に RAM_Rd レジスタによってリードアクセスする場合には、読み出しを行いたい FIFO 領域の先頭アドレスとデータサイズを RAM_RdAdrs_H,L レジスタ、RAM_RdCount レジスタに設定し、RAM_RdControl.RAM_GoRd ビットを設定して下さい。指定された FIFO 領域のデータを RAM_Rd レジスタから読み出し可能になると CPU_IntStat.RAM_RdCmp ビ ッ ト が “1” に セ ッ ト さ れ ま す 。 RAM_RdCmp ビ ッ ト を 確 認 し た 後 RAM_Rd_00 ~ RAM_Rd_1F レ ジ ス タ か ら デ ー タ を 読 み 出 し て く だ さ い 。 読 み 出 さ れ る デ ー タ は RAM_Rd_00 から順に格納されます。RAM_RdCount レジスタに設定したサイズが 32 バイ トより小さい場合は、設定サイズ以降の RAM_Rd レジスタの値は無効となります。 RAM_Rd レジスタによる FIFO データの読み出しは、FIFO 領域の設定に関係なく、任意に 行う事が出来ます。 RAM_Rd 機能動作中は、RAM_RdAdrs_H,L レジスタ、RAM_RdCount レジスタの値が逐次 更新されます。RAM_Rd 機能を開始した後は CPU_IntStat.RAM_RdCmp ビットがセットさ れるまで、これらのレジスタへアクセスしないで下さい。RAM_Rd 機能動作中にこれらの レジスタを読み出した場合の値は保証されません。また、これらのレジスタに書き込みを 行った場合、誤動作の原因となります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 141 1. 機能説明 1.5.5.2 RAMアクセスの方法(RAM_WrDoor) FIFO に RAM_WrDoor_0,1 レジスタによってライトアクセスする場合には、書き込み開始 アドレスを RAM_WrAdrs_H,L レジスタに設定し、RAM_WrDoor_0,1 レジスタにてデータ を書き込むことによって行います。一回のライトアクセス毎に、自動的に RAM_WrAdrs_H,L レジスタは書き込み数ずつインクリメントされますので、連続したアド レスにデータを書き込む場合には、RAM_WrDoor_0,1 レジスタに連続して書き込むことが 出来ます。 RAM_WrDoor_0,1 レジスタによる FIFO への書き込みは、FIFO 領域の設定に関係なく、任 意に行う事が出来ます。 なお、書き込み開始アドレスに以下の制限があります。 (1) 書き込み開始アドレスを、RAM_WrAdrs_H,L == 0x0100 より下位とする。 (2) 書き込み開始アドレスを、RAM_WrAdrs_H,L[1:0] == 0b00(すなわち 4Byte 境界)とす る。 1.5.5.3 FIFOアクセスの方法(レジスタアクセス) FIFO にレジスタアクセスによってリードアクセスする場合には、いずれか 1 つのエリアに 対して、AREAx{x=0-5}Join_0.JoinCPU_Rd に 1 をセットし、FIFO_Rd_0,1 レジスタ、また は FIFO_ByteRd レジスタにて読み出しを行います。 また、FIFO にレジスタアクセスによってライトアクセスする場合には、いずれか 1 つのエ リアに対して、AREAx{x=0-5}Join_0.JoinCPU_Wr に 1 をセットし、FIFO_Wr_0,1 レジスタ、 または FIFO_ByteWr レジスタに書き込みを行います。 FIFO_RdRemain_H,L レジスタは、JoinCPU_Rd にてただ 1 つ設定されたエリアにおいて、 FIFO から読み出し可能なデータの残り数を表しています。また、FIFO_WrRemain_H,L レ ジスタは、JoinCPU_Wr にてただ 1 つ設定されたエリアにおいて、FIFO に書き込み可能な エリアの残り数を表しています。 ICE 等を使用して F/W のデバッグを行うに際し、レジスタのダンプ等を行う場合に、 JoinCPU_Rd ビットのいずれかがセットされていると、レジスタのダンプ時に FIFO から データを読み出されてしまうことに注意してください。 CPU のレジスタアクセスは、FIFO とメディア FIFO とで排他的に Join する必要があります。 つまり、メディア FIFO と FIFO のいずれかの領域の両方に、JoinCPU_Wr を同時に設定す ることは出来ません。同様に、メディア FIFO と FIFO のいずれかの領域の両方に、 JoinCPU_Rd を同時に設定することは出来ません。 1.5.5.4 FIFOアクセスの方法(DMA) FIFO に CPU の DMA ア ク セ ス に よ っ て リ ー ド ア ク セ ス す る 場 合 に は 、 AREAx{x=0-5}Join_0.JoinDMA ビットによりただ一つのエリアを選択し、DMA_Control.Dir ビットに 1 を設定し、DMA 手順を実行して読み出しを行います。 また、FIFO に CPU の DMA アクセスによってライトアクセスする場合には、DMA のチャ ネルに付き、AREAx{x=0-5}Join_0.JoinDMA ビットによりただ一つのエリアを選択し、 DMA_Control.Dir ビットに 0 を設定し、DMA 手順を実行して書き込みを行います。 DMA_Remain_H,L レジスタは、DMA のチャネルについて、AREAx{x=0-5}Join_0.JoinDMA ビットによりただ一つ選択されたエリアにおいて、FIFO から読み出し可能なデータの残り 数を表しています。また、DMA のチャネルについて、AREAx{x=0-5}Join_0.JoinDMA ビッ トによりただ一つ選択されたエリアにおいて、FIFO に書き込み可能な残り数を表していま す。 142 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.5.5.5 FIFOアクセスの制限 本 LSI の FIFO には、USB との送受信、CPU バスからのレジスタ書き込み、読み出し、DMA を用いた書き込み、読み出しが同時に行われます。また、CPU バスからの読み出しについ ては、先読み処理を行っています。 これらのことから、各ポートの FIFO へのアクセス設定方法(Join)に対し、基本的に下記の 排他ルールがあります。 • 同一の FIFO エリアに対し、複数の書き込み要因を同時に設定してはいけない。 • 同一の FIFO エリアに対し、複数の読み出し要因を同時に設定してはいけない。 • 一つのエリアには、JoinCPU_Wr, JoinCPU_Rd, JoinDMA のうちの一つしか設定できない。 • JoinCPU_Wr,JoinCPU_Rd,JoinDMA は、同時に一つのエリアにしか設定できない。 同一のエリアに対する書き込み/読み出し要因の重複に関し、USB(デバイス時)からのアク セス要因に関しては、例外的に下記の使用方法が可能です.例えば、OUT のエンドポイント の FIFO エリアに対し、JoinCPU_Wr や JoinDMA(DMA_Control.Dir==0)を設定して書き込む ことが出来ます。この場合、必ず OUT トランザクションが行われない状況にした後に、 JoinCPU_Wr または JoinDMA を設定し、CPU からの書き込みを行う必要があります。また、 IN のエンドポイントの FIFO エリアに対し、JoinCPU_Rd や JoinDMA(DMA_Control.Dir==1) を設定して読み出すことが出来ます。この場合、必ず IN トランザクションが行われない状 況にした後、JoinCPU_Rd または JoinDMA を設定し、CPU からの読み出しを行う必要があ ります。 トランザクションが行われない状況には、ActiveUSB ビットがクリアされている場合、各 エンドポイントが FIFO 領域にジョインされていない場合や、ForceNAK がセットされてい る場合などがあります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 143 1. 機能説明 1.6 CPUIF 1.6.1 CPUIFモード 本 LSI の CPUIF は、BE モード/Strobe モードの 2 つの BUS モードをサポートします。各々 の BUS モードで、ライトアクセスの方法が異なります。BE モードとは、ライトタイミングを 示すライトストローブ信号、及び上位(CD[15:8])/下位(CD[7:0])バイトのイネーブル信号に よってライトアクセスを行う方法です。一方、Strobe モードとは上位/下位バイトそれぞれに 個別のライトストローブ信号を持ち、それらのライトストローブ信号によってライトアクセス を行う方法です(図 1.75 参照)。リードアクセスの方法は何れの BUS モードでも同一で、リー ドストローブ信号を用いて行います。 BEモード chip select /XCS high byte enable/ XWRH(XBEH) low byte enable /XBEL write strobe /XWRL(XWR) high byte write cycle low byte write cycle word write cycle Strobeモード chip select /XCS high byte write strobe/ XWRH(XBEH) -/XBEL high or low fix low byte write strobe/ XWRL(XWR) high byte write cycle low byte write cycle 図 1.75 word write cycle BUS モード 上述の BUS モードに加え、CPU のエンディアンに対応するため、本 LSI の CPUIF は BigEndian モード/LittleEndian モードの 2 つの ENDIAN モードをサポートします。BigEndian モードと は、偶数アドレスのレジスタが上位、奇数アドレスのレジスタが下位、また、1st バイトのデー タが上位、2nd バイトのデータが下位になるモードです。LittleEndian モードとは、BigEndian モードの反対に、偶数アドレスのレジスタが下位、奇数アドレスのレジスタが上位、また、1st バイトのデータが下位、2nd バイトのデータが上位になるモードです。ENDIAN モードの詳細 は「Appendix A リトルエンディアンの CPU との接続」をご参照ください。 接続する CPU に適合した、BUS モード、ENDIAN モードに設定した上で、本 LSI をご使用下さい。 モードの設定方法に関しては、次項で説明します。 144 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.2 CPUIFのモード設定 本 LSI は、ハードウェアリセット後 CPUIF のモード設定待ちの状態(未初期化期間)となり、こ の状態においては、モード設定以外のアクセスを受け付けません。モード設定終了後にレジス タアクセスが可能になります(初期化済み期間)。モードの設定方法は以下の通りです。 1) XCS 及び XWRL 信号をアサートし、特定のデータパタンを用いて、モード設定データ を書き込みます(モード設定)。例えば、本 LSI をマッピングしたメモリ空間の任意のア ドレスにワードでデータライトします。 2) XCS 信号を一旦ネゲートします。例えば、NOP を挿入するか、或いは、本 LSI をマッ ピングしたメモリ空間以外にアクセスします。 3) XCS 信号を再度アサートします(モード確定)。例えば、1)と同様の動作をします。 4) XCS 信号を一旦ネゲートします。例えば、2)と同様の動作をします。 以上でモード設定は完了し、通常のレジスタアクセスが可能になります。モード設定の確認の ため設定完了後に ChipConfig レジスタを読み出す事を推奨致します。 CA 0B7h CD ※1 ※1 XCS ※6 ※3 ※3 XWRL(XWR) XRD モード設定※2 モード確定※4 モード設定待ち ※1: モード確認※5 レジスタアクセス可能 ENDIANモード BUSモード CD[15:0] BigEndian Strobe ****_*00*_****_*00* BigEndian BE ****_*01*_****_*01* LittleEndian Strobe ****_*10*_****_*10* LittleEndian BE ****_*11*_****_*11* ※2:必ず設定して下さい ※3:一旦チップセレクト信号をネゲート("1")して下さい ※4:チップセレクト信号をアサートしてください(例:モード設定と同様のライト) ※5:確認を推奨します(実行しなくてもレジスタアクセスは可能です) ※6:設定したモードが確認できます。 図 1.76 CPUIF のモード設定 モード設定の状態において、図 1.76 に記載以外の信号は、AC 規格を満足する限り、High/Low 何れの値でも問題ありません。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 145 1. 機能説明 CPUIF のモード設定は、ハードリセット後に必ず行う必要があり、また、ハードリセット後 の未初期化期間でのみ行えます。 以下の CPUIF の説明においては、Strobe モード/BigEndian モードを基本に説明致します。 1.6.3 ブロック構成 本 LSI の CPUIF(以下、CPUIF)は、REG/DMA の 2 ブロックから構成されます。 • REG:レジスタ領域へのアクセス制御 • DMA:DMA チャネル 1.6.3.1 REG(Registers) 本 LSI のレジスタ領域のアクセスを制御します。以下のアクセス機能が含まれます。 • 同期レジスタアクセス • FIFO アクセス • RAM_Rd アクセス • 非同期レジスタアクセス 1.6.3.1.1 同期レジスタアクセス(ライト) 内部クロックに同期して外部バスのデータをレジスタへ書き込みます。 1.6.3.1.2 同期レジスタアクセス(リード) リード(XCS、XRD 共にアサート)期間を出力イネーブル期間としてレジスタのデータ を外部バスへ出力します。 レジスタのリード動作において、カウント値など 3 バイト以上で意味を成すレジス タでは、アクセスサイクル間のカウント値の桁上がり等により誤ったカウント値を リードしない様、最上位バイトのリードタイミングで下位バイトのレジスタの値を 保持し、下位バイトのリード時には、この値を外部バスへ出力するレジスタもあり ます。 1.6.3.1.3 FIFOアクセス(ライト) FIFO ライトアクセスは FIFO_Wr_0,1、FIFO_ByteWr、RAM_WrDoor_0,1 レジスタへ の書き込みを意味します。 FIFO ライトアクセスライトには以下の制限事項があります。 • AREAx{x=0-5}Join_0.JoinCPU_Wr ビットを設定した後、FIFO_WrRemain_H,L レジ スタで書き込み可能なデータ数を確認した上でアクセスを行って下さ い 。 RAM_WrDoor_0,1 レジスタにはこの制限はありません。 • 基本的にワード(2 バイト)単位でアクセスを行って下さい。端数(奇数)バイトの書 き込みを行う場合の詳細は「1.6.3.1.5 FIFO アクセスの端数処理」を参照して下さ い。 • FIFO_Wr_0,1、FIFO_ByteWr レジスタへのライト直後に FIFO_WrRemain_H,L レジ スタを確認しても、正確な FIFO の空き領域を確認することが出来ません。必ず バスサイクル 1 回以上の間隔を空けて確認して下さい。 • RAM_WrDoor_0,1 レジスタへのライト直後に RAM_WrDoorAdrs_H,L レジスタを 確認しても正確なアドレスを確認することが出来ません。必ずバスサイクル 1 回 以上の間隔を空けて確認して下さい。 146 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 • FIFO_Wr_0,1、FIFO_ByteWr レジスタへのライト後、次にあげる動作を行う前に、 データを FIFO に書き込み終えたことを、CacheRemain.WrFIFO_C_Remain ビット により確認して下さい。守られなかった場合は、正しいデータの書き込みが保証 されません。 <WrFIFO_C_Remain ビットの確認が必要となる動作> • JoinCPU_Wr を切り替える、または、クリアする。 • AREAnFIFO_Clr にて、FIFO クリアする。 • RAM_WrDoor_0,1 レジスタへのライト後、次にあげる動作を行う前に、データを FIFO に書き込み終えたことを、CacheRemain.WrDOOR_C_Remain ビットにより確 認して下さい。守られなかった場合は、正しいデータの書き込みが保証されませ ん。 <WrDOOR_C_Remain ビットの確認が必要となる動作> • RAM_WrDoorAdrs_H,L を書き換える。 • デバイス動作時、EnShortPkt をセットして、ショートパケットの送信を始める。 • デバイス動作時、ReplyDescriptor をセットして、データ送信を始める。 • デバイス動作時、GoCSW_Mode をセットして、CSW 送信を始める。 • ホスト動作時、BO_SupportGo をセットして、CBW 送信を始める。 1.6.3.1.4 FIFOアクセス(リード) FIFO リードアクセスは FIFO_Rd_0,1 レジスタ、FIFO_ByteRd レジスタの読み出しを 意味します。 FIFO リードアクセスには、以下の制限事項があります。 • AREAx{x=0-5}Join_0.JoinCPU_Rd ビットを設定した後、FIFO_RdRemain_H,L レジ スタで読み出し可能データ数及び RdRemainValid ビットを確認した上でアクセス を行って下さい。 • ワード読みを行う場合は FIFO_Rd_0,1 レジスタを用いて行って下さい。バイト読 みを行う場合は FIFO_ByteRd レジスタを用いて行って下さい。バイト境界が存在 する場合はバイト読みを行って下さい。この場合に FIFO_Rd_0,1 レジスタを用い てワード読みを行った場合は片側にのみ有効なデータが出力されます。詳細は 「1.6.3.1.5 FIFO アクセスの端数処理」ををご参照下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 147 1. 機能説明 1.6.3.1.5 FIFOアクセスの端数処理 端数(奇数)データを扱う場合の FIFO へのデータの格納状態と FIFO アクセスの関係 を説明します。 【ライト動作】 基本的にはバイト境界の存在しない状態から書き込み動作を行う事を推奨致します。 AREAnFIFO_Clr.ClrAREAx{x=0-5}ビットをセットする等行って、バイト境界の存在 しない状態からワード書き込みを行い、奇数データが存在する場合は、連続するデー タの最終バイト(データ Z)のみ High 側に書き込んで下さい。この状態を図 1.77 の(1) に示します。USB 等からはデータ A, B, C, D, ・・・X, Y, Z の順に出力されます。 FIFO にバイト境界がある状態から書き込みを行う場合は、最初に Low 側にデータを 書き込み(データ K の書き込み)、バイト境界を解消した後、ワード書き込み(データ L, M)を行って下さい。この状態を図 1.77 の(2)に示します。 以上は、正常な書き込み動作です。 ○A: FIFOにデータAが存在する様 FIFOにデータが存在しない様 空: start: 書き込み開始ポイント ライト前 → start ライト後 ○A ○B ○C ○D ○X ○Y ライト前 ○X → ○Y ○X ○Z ○Z start (1) ライト後 ○Y ○Z ○K ○L ○M (2) 図 1.77 FIFO ライト処理(正常動作) 以下は注意が必要な書き込みを行った場合の動作です。 FIFO にバイト境界がある状態からワード書き込みを行った場合、High 側の書き込み は無視され Low 側のみ書き込みが行われます(図 1.78 の(3))。つまり、Low 側にバイ ト書き込みを行ったときと同じ動作を行います。また、FIFO にバイト境界のある状 態から High 側にのみ書き込みを行った場合、その書き込みは無視されます(図 1.78 の(4))。 FIFO にバイト境界が無い状態から Low 側にのみ書き込みを行った場合、その書き込 みは無視されます(図 1.78 の(5))。また、FIFO にバイト境界が無く、且つ書き込み可 能数が“1”の状態からワード書き込みを行った場合、Low 側の書き込みは無視され、 High 側のみ書き込みが行われます(図 1.78 の(6))。つまり、High 側にバイト書き込み を行ったときと同じ動作を行います。 148 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 ライト前 → ライト後 ○P ○P ライト前 ○R start ○P start Q書き込み無効 R書き込み start High側に Q書き込み (3) ライト前 start ライト後 ○P start High側にQ Low側にR 書き込み → Q書き込み無効 (4) → ライト前 (書き込み可能数"1") ライト後 start start Low側にR 書き込み ○B → ○A ○S ○A ○C ○B ○C start High側にS Low側にT 書き込み R書き込み無効 ライト後 (5) S書き込み有効 T書き込み無効 (6) 図 1.78 FIFO ライト処理(注意が必要な動作) 【リード動作】 バ イ ト 境 界 が 無 い 場 合 は 、 FIFO_Rd_0,1 レ ジ ス タ を 用 い た ワ ー ド 読 み 出 し 、 FIFO_ByteRd レジスタを用いたバイト読み出し何れを行っても問題ありません。バイ ト境界がある場合は、FIFO_ByteRd レジスタを用いたバイト読み出しを行って下さい。 一旦バイト境界を解消した後はワード読み出し、バイト読み出し何れを行っても問 題ありません。 バイト境界が無い状態からのワード読み出しの様子を図 1.79 の(1)に示します。アク セス毎にデータ A, B→データ C, D と読み出されます。また、バイト読み出しの様子 を図 1.79 の(2)に示します。アクセス毎にデータ A→データ B→データ C→データ D と読み出されます。以上は正常な読み出し動作です。 リード前 start ○A ○B ○C ○D → リード後 ○C ○D リード前 start ○A ○B ○C ○D → リード後 ○B start ○C ○D start (1) (2) 図 1.79 FIFO リード処理(正常動作) 以下は注意が必要な読み出しを行った場合の動作です。 図 1.80 の(3)はバイト境界がある状態から、FIFO_Rd_0,1 レジスタを用いてワード読 み出しを行った場合の動作です。High 側には不定のデータが出力され、Low 側にデー タ J が出力されます。リードのポインタは 1 バイト分のみ進みます。図 1.80 の(4)は バイト境界が無いが残りデータが 1 バイトの状態から、FIFO_Rd_0,1 レジスタを用い てワード読み出しを行った場合の動作です。High 側にはデータ X が出力され、Low 側には不定データが出力されます。リードのポインタは 1 バイト分のみ進みます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 149 1. 機能説明 リード前 → リード前 リード後 ○J start ○K → リード後 ○X ○L ○K ○L start start start (4) (3) 図 1.80 FIFO リード処理(注意が必要な動作) 上記より、端数処理のリード動作を行う場合の例を説明します。 1) USB から 64 バイト送られてきたデータを 31 バイト→33 バイトで読み出したい 場合。 (1) CPUIF は 64 バイトのレディをラッチして一連のリードシーケンスを開始す る。 (2) 30 バイト分のデータを FIFO_Rd_0,1 レジスタでワード読み、もしくは FIFO_ByteRd レジスタでバイト読みする。 (3) 31 バイト目のデータを FIFO_ByteRd レジスタでバイト読みする。→バイト 境界発生。 (4) 32 バイト目のデータをバイト読みする。この場合 FIFO_ByteRd レジスタで のバイト読みを推奨します。FIFO_Rd_0,1 レジスタでのワード読みを行った 場合は Low 側にデータが出力されます。→バイト境界解消。 (5) 残り 32 バイトのデータを FIFO_Rd_0,1 レジスタでワード読み、もしくは FIFO_ByteRd でバイト読みする。 2) JoinCPU_Rd がセットされている状態で USB から 31 バイト、33 バイトと送られ てきたデータ 64 バイトを全て FIFO_Rd_0,1 レジスタでワード読みしたい場合。 (1) USB から 31 バイトのデータを受信した時点で CPUIF は 31 バイトのレディ をラッチして一連の動作シーケンスを開始する。 (2) 30 バイト分のデータをワード読みする。 (3) キャッシュされている 31 バイト目のデータ(バイト境界)を解消するため、一 旦ジョインを切り離す。 (4) 33 バイトのデータが USB から送られてきた後、再度ジョインする。(1+33 バイト) (5) CPUIF は 34 バイトのレディをラッチして一連の動作シーケンスを開始する。 (6) 34 バイト分のデータをワード読みする。 1.6.3.1.6 RAM_Rdアクセス 同期レジスタリードと同様、リード(XCS、XRD 共にアサート)期間を出力イネーブル 期間としてデータを外部バスへ出力します。詳細は「1.5.5.1 RAM アクセスの方法 (RAM_Rd)」をご参照下さい。 1.6.3.1.7 非同期レジスタアクセス(ライト) 外部ライト信号(XCS、XWRL,H)からライトパルスを作成して外部バスのデータをレ ジスタへ書き込みます。 1.6.3.1.8 非同期レジスタアクセス(リード) 同期レジスタリードと同様、リード(XCS、XRD 共にアサート)期間を出力イネーブル 期間としてレジスタのデータを外部バスへ出力します。 150 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.3.2 1.6.3.2.1 DMA 基本機能 DMA の基本動作は以下の通りです。 【ライト動作】 FIFO に書き込み可能な空き領域がある場合に XDREQ をアサートし DMA 転送が可 能になります。 なお、DMA 転送によるライト動作を停止する場合は、必ず CPU_IntStat.DMA_Cmp ビットが 0b1 であることを確認してから、DMA_Control.DMA_Stop を設定してくだ さい。守られなかった場合は、正しいデータ書き込みが保証されません。 【リード動作】 FIFO に読み出し可能なデータがあり、読み出し動作可能になると XDREQ をアサー トし DMA 転送が可能になります。 DMA のアクセス方法は以下の 3 通りあります。 • XDACK でアクセスする ChipConfig.CS_Mode=“0”, DMA_Config.DMA_Mode=“0”のとき、このアクセス方法 となります。ChipConfig.DACK_Level に設定された論理レベルに XDACK 信号が アサートされると、DMA アクセスと見なして転送を行います。 • XDACK&XCS でアクセスする ChipConfig.CS_Mode=“1”, DMA_Config.DMA_Mode=“0”のとき、このアクセス方法 となります。ChipConfig.DACK_Level に設定された論理レベルに XDACK 信号が アサートされ、かつ XCS がアサート(“0”)されると、DMA アクセスと見なして転 送を行います。 • DMA_Mode でアクセスする ChipConfig.CS_Mode=“0”, DMA_Config.DMA_Mode=“1”のとき、このアクセス方法 となります。DMA_Rd/WrData_H/L レジスタへのアクセスを DMA アクセスと見 なして転送を行います。 何れの場合も、DMA_Config.ActiveDMA を“1”に設定して下さい。 DMA は二つの動作モードと一つの動作オプションを持ちます。 • カウントモード 設定されたカウント数分の DMA 転送を行います。 内部 FIFO に書き込み可能な空き領域/読み出し可能なデータがあり、且つ DMA_Count_HH,HL,LH,LL レジスタに残りカウントがある場合に XDREQ をア サートし DMA 転送が可能になります。 • フリーランモード 内部 FIFO に書き込み可能な空き領域/読み出し可能なデータがある場合に XDREQ をアサートし DMA 転送が可能になります。 • REQ アサートカウントオプション CPU のバーストリード/バーストライトに対応するためのオプションです。この オプションは、カウントモード/フリーランモード何れでも使用が可能です。 DMA_Config.ReqAssertCount[1:0]ビットに設定されたアサートカウント数以上の、 書き込み可能な空き領域/読み出し可能なデータが FIFO にある場合に XDREQ をアサートし DMA 転送が可能になります。従って、基本的には一旦 XDREQ が アサートされると、設定されたアサートカウント数分の転送が保証されることに S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 151 1. 機能説明 なります。ただし、FIFO の空き領域/データが設定されたアサートカウント数未 満の場合も、カウントモードに設定され、且つ FIFO の空き領域/データが残り カウント数以上の場合、XDREQ がアサートされます。この場合の保証される転 送数は残りカウント数となります。 DMA の基本はワード単位でのデータ処理となります。バイト単位でのデータ処理は カウントモードで且つ残りカウント数が“1”の時のみ行うことが出来ます。各々の動 作モード、オプションにおける XDREQ のアサート条件、また XDREQ アサート時の 転送可能数の関係を下表に示します。 表 1.66 動作モード、オプションと転送開始条件一覧 カウントモード・ReqAssertCountオプション使用時 カウントモード(Count>0) 条件 Count≧Req Count<Req Ready≧Req Ready<Req Ready≧Count Ready<Count XDREQ アサート ネゲート アサート ネゲート 転送可能数 Req - Count - フリーランモード・ReqAssertCountオプション使用時 フリーランモード 条件 Ready≧Req Ready<Req XDREQ アサート ネゲート 転送可能数 Req - カウントモード・ReqAssertCountオプション未使用時 カウントモード(Count>0) 条件 Count≧Ready Count<Ready Ready≧2 Ready<2 Ready≧Count XDREQ アサート ネゲート アサート 転送可能数 Ready(Readyが奇数の 場合はReady-1) - Count フリーランモード・ReqAssertCountオプション未使用時 フリーランモード 条件 Ready≧2 Ready<2 XDREQ アサート ネゲート 転送可能数 Ready(Readyが奇数の 場合はReady-1) - ※ 表中の Req は DMA_Config.ReqAssertCount の設定値を、Ready は FIFO の空き領域/データ数を、Count は DMA_Count_HH,HL,LH,LL の値を指しています。 152 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.3.2.2 端子設定 ChipConfig レジスタの設定により、XDREQx{x=1,0}の論理レベル、XDACKx{x=1,0} の論理レベルを設定する事が出来ます。以下の説明では特に断りの無い限り、 XDREQ,XDACK 共に負論理で記述しております。 1.6.3.2.3 カウントモード(ライト) 【動作開始】 DMA_Count_HH,HL,LH,LL レ ジ ス タ に カ ウ ン ト 値 を 設 定 し た 後 、 DMA_Control.DMA_Go ビットに“1”をセットして下さい。内部 FIFO に書き込み可能 な空き領域(DMA_Ready)が 2 バイト以上あり、且つ残りカウントがある場合に XDREQ をアサートし DMA 転送が可能になります。FIFO に残り 1 バイトの空き領域 しかない場合は、カウントモードに設定され、且つ残りカウント数が“1”の時のみ XDREQ がアサートされます。 奇数バイトの書き込みを行って FIFO にバイト境界が発生した場合には、USB 等から データが転送された後に、FIFO クリアを行ってバイト境界を解消し、次のライト動 作を開始して下さい。例えば DMA から 31 バイト毎に書き込みを行い、USB から 31 バイト毎にデータを転送したい場合、(1)DMA カウント値を 31 に設定し 31 バイト データを書き込む、(2)USB に 31 バイト分のデータが転送されるのを待つ、(3)USB から 31 バイト分のデータが転送されたのを確認した後 FIFO クリアする、以上の動 作を繰り返し行って下さい。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は以下の 2 つです。 • DMA_Count_HH,HL,LH,LL レジスタに設定したカウント数分の DMA 転送が完了 • DMA_Control.DMA_Stop ビットに“1”をライト DMA 動作停止時に CPU_IntStat.DMA_Cmp ビットがセットされます。 DMA_Count_HH,HL,LH,LL レジスタによる転送停止時は最終アクセスのストローブ アサート期間に XDREQ をネゲートします。 DMA_Stop ビットによる転送停止時は、同期レジスタアクセスのライトタイミングで チップ内部動作を停止し、XDREQ をネゲートします。DMA_Stop ビットによる DMA の停止を行う場合は、CPU 側の DMAC(マスタ)を先に停止して下さい。 カウントモードで転送を開始し、設定されたカウント数の転送完了前に DMA_Control.DMA_Stop ビットで転送を停止した場合の動作タイミングを図 1.81 に 示します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 153 1. 機能説明 ex1.【転送開始条件】カウント(8バイト)<FIFOの空き容量(16バイト) 【転送停止条件】DMA_Stop XDREQ ② ⑥ XDACK ③ ④ DATA XCS XWRL,H ① ⑤ ①DMA_Control.DMA_Goビットへの"1"書き込みによりDMA回路動作開始 ②USB等からデータが転送される事によりFIFOに空き領域(DMA_Ready)が出来 DMA_Readyを受けてXDREQをアサート ③XDACKがアサートされDMA転送開始 ④カウントモードの転送数完了前に、マスタ側を停止、XDACKをネゲート ⑤DMA_Control.DMA_Stopビットへの"1"書き込みによりDMA回路停止 ⑥DMA回路停止を受けてXDREQネゲート 図 1.81 カウントモードライトタイミング 1 カウントモードで転送を開始し、設定されたカウント数分の転送を完了し DMA 転送 が終了する場合の動作タイミングを図 1.82 に示します。 ex2.【転送開始条件】カウント(8バイト)>FIFOの空き容量(4バイト) 【転送停止条件】カウント0 XDREQ ② ③ ④ ⑤ XDACK DATA XCS XWRL,H ① ①DMA_Control.DMA_Goビットへの"1"書き込みによりDMA回路動作開始 ②USB等からデータが転送される事によりFIFOに空き領域(DMA_Ready)が出来 DMA_Readyを受けてXDREQをアサート ③DMA_ReadyがなくなるタイミングでXDREQをネゲート ④USB等からデータが転送される事によりFIFOに空き領域(DMA_Ready)が出来 DMA_Readyを受けてXDREQをアサート ⑤DMA_Countの最終データタイミングでXDREQをネゲート DMA_Count数分の転送終了によりDMA回路停止 図 1.82 154 カウントモードライトタイミング 2 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.3.2.4 カウントモード(リード) 【動作開始】 DMA_Count_HH,HL,LH,LL レジスタにカウント値を設定した後、DMA_Control.DMA_Go ビットに“1”をセットして下さい。内部 FIFO に読み出し可能なデータが 2 バイト以 上あり、且つ残りカウントがある場合に、外部からのリードに対応可能になると XDREQ をアサートします。FIFO に残り 1 バイトしかデータがない場合はカウント モードに設定され、且つ残りカウント数が“1”の時のみ XDREQ がアサートされます。 デバイス動作時を例にしますと、カウントモードのリード動作では DMA_Count_HH,HL,LH,LL レジスタに設定されたカウント数以上のデータが、その DMA が接続されているエンドポイントの FIFO に貯まった時点で、ForceNAK ビット を自動的に“1”にセットし NAK 応答します。また、USB からショートパケットを受 信した場合にも DisAF_NAK_Short ビットをセットしていなければ、該当するエンド ポイントの ForceNAK ビットを自動的に“1”にセットし NAK 応答します。 奇数バイトのリードを行ってバイト境界が発生した場合には、FIFO クリアを行って バイト境界を解消してから次の転送を行って下さい。例えば、USB から 31 バイト毎 にデータが転送され、DMA から 31 バイト毎にデータを読み出す場合、(1)USB から 31 バイトのデータを受信する(この時点で ForceNAK がセットされ該当するエンドポ イントは NAK 応答する)、(2)DMA から 31 バイトのデータを読み出す、(3)FIFO クリ アした後 ForceNAK をクリアし USB からの転送を受信可能にする、以上の動作を繰 り返し行って下さい。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は以下の 2 つです。 • DMA_Count_HH,HL,LH,LL レジスタに設定したカウント数分の DMA 転送が完了 • DMA_Control.DMA_Stop ビットに“1”をライト DMA_Count_HH,HL,LH,LL レジスタによる転送停止は最終アクセスのストローブ信 号アサート期間に XDREQ をネゲートします。 DMA_Stop ビットによる転送停止は、同期レジスタアクセスのライトタイミングで チップ内部動作を停止し、XDREQ をネゲートします。DMA_Stop ビットによる DMA の停止を行う場合は、CPU 側の DMAC(マスタ)を先に停止して下さい。 カウントモードで転送を開始し、設定されたカウント数分の転送を完了して DMA 転 送が終了する場合の動作タイミングを図 1.83 に示します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 155 1. 機能説明 ex.【転送開始】カウント(8バイト)>FIFOのデータ(4バイト) 【転送停止】カウント0 XDREQ ② ④ ⑤ ⑦ XDACK ③ ⑥ DATA XCS XRD XWRL,H ① ①DMA_Control.DMA_Goビットへの"1"書き込みによりDMA回路動作開始 ②USB等からFIFOにデータが書き込まれ、 外部からデータ読み出し可能になることでXDREQをアサート ③XDACKがアサートされDMA転送開始 ④FIFOデータが空になるタイミングでXDREQネゲート ⑤USB等からFIFOにデータが書き込まれ、 外部からデータ読み出し可能になることでXDREQをアサート ⑥XDACKがアサートされDMA転送開始 ⑦DMA_Countの最終データタイミングでXDREQネゲート 図 1.83 1.6.3.2.5 カウントモードリードタイミング フリーランモード(ライト) 【動作開始】 DMA_Config.FreeRun ビットをセットした後、DMA_Control.DMA_Go ビットに“1”を 書き込んで下さい。内部 FIFO に書き込み可能な空き領域が 2 バイト以上ある場合に XDREQ をアサートし DMA 転送が可能になります。FIFO に残り 1 バイトの空き領域 しかない場合はフリーランモードでは XDREQ がアサートされません。転送を行う場 合は「1.6.3.2.3 カウントモード(ライト)」をご参照ください。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は以下です。 • DMA_Control.DMA_Stop ビットに“1”をライト DMA_Stop ビットによる転送停止は、同期レジスタアクセスのライトタイミングで チップ内部動作を停止し、XDREQ をネゲートします。DMA_Stop ビットによる DMA の停止を行う場合は、CPU 側の DMAC(マスタ)を先に停止して下さい。 フリーランモードの DMA 転送中に DMA_Count_HH,HL,LH,LL レジスタの値がオー バーフローすると、CPU_IntStat.DMA_Countup ビットがセットされます。この場合も DMA 転送は継続され、DMA_Count_HH,HL,LH,LL も継続してカウントされます。 動作タイミングは DMA_Count_HH,HL,LH,LL による制限が無い事を除き、カウント モードと同等です。 156 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.3.2.6 フリーランモード(リード) 【動作開始】 DMA_Config.FreeRun ビットをセットした後、DMA_Control.DMA_Go ビットに“1”を セットして下さい。内部 FIFO に読み出し可能なデータが 2 バイト以上あり、外部か らのリードに対応可能になると XDREQ をアサートします。FIFO に残り 1 バイトし か有効なデータがない場合は DMA 動作を開始しません。転送を行う場合は「1.6.3.2.4 カウントモード(リード)」ご参照ください。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は以下です。 • DMA_Control.DMA_Stop ビットに“1”をライト DMA_Stop ビットによる転送停止は、同期レジスタアクセスのライトタイミングで チップ内部動作を停止し、XDREQ をネゲートします。DMA_Stop ビットによる DMA の停止を行う場合は、CPU 側の DMAC(マスタ)を先に停止して下さい。 フリーランモードの DMA 転送中に DMA_Count_HH,HL,LH,LL レジスタの値がオー バーフローすると、CPU_IntStat.DMA_Countup ビットがセットされます。この場合も DMA 転送は継続され、DMA_Count_HH,HL,LH,LL も継続してカウントされます。 動作タイミングは DMA_Count_HH,HL,LH,LL による制限が無い事を除き、カウント モードと同等です。 1.6.3.2.7 REQアサートカウントオプション(ライト) 【動作開始】 DMA_Config.ReqAssertCount[1:0] ビ ッ ト で ア サ ー ト カ ウ ン ト 数 を 設 定 し た 後 、 DMA_Control.DMA_Go ビットに“1”をセットして下さい。内部 FIFO に設定されたア サートカウント数以上の書き込み可能な空き領域がある場合に XDREQ をアサート し DMA 転送が可能になります。従って、一旦 XDREQ がアサートされると、設定さ れたアサートカウント数分の転送が保証されることになります。ただし、空き領域 がアサートカウント数に満たない場合も、カウントモードに設定され、且つ残りカ ウント数以上の空き領域がある場合は XDREQ をアサートします。この場合、転送可 能数は、残りカウント数となります。 このモードでは、ReqAssertCount[1:0]ビットに設定された転送数毎に一旦 XDREQ が ネゲートされます。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は「1.6.3.2.3 カウントモード(ライト)」、「1.6.3.2.5 フリーランモード (ライト)」をご参照ください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 157 1. 機能説明 ex.【転送開始】REQアサートカウント(8beat:16byte) XDREQ ② ③ ④ XDACK DATA XCS XWRL,H ① ①DMA_Control.DMA_Goビットへの"1"書き込みによりDMA回路動作開始 DMA_Readyの値が連続転送数に満たないためXDREQはアサートしない ②USB等からデータが転送され、FIFOに連続転送数以上の有効な空き領域 (DMA_Ready)が出来 DMA_Readyを受けてXDREQをアサート ③連続転送数(REQアサートカウント)終了のタイミングでXDREQネゲート ④1回目の連続転送終了時点で、次の連続転送分の空き領域(DMA_Ready)がある DMA_Readyを受けてDREQをアサート 図 1.84 1.6.3.2.8 REQ アサートカウントオプションライトタイミング REQアサートカウントオプション(リード) 【動作開始】 DMA_Config.ReqAssertCount[[1:0] ビ ッ ト で ア サ ー ト カ ウ ン ト 数 を 設 定 し た 後 、 DMA_Control.DMA_Go ビットに“1”をセットして下さい。内部 FIFO に設定されたア サートカウント数以上の読み出し可能なデータがあり外部からのリードに対応可能 になると XDREQ をアサートし DMA 転送が可能になります。従って、一旦 XDREQ がアサートされると、設定されたアサートカウント数分の転送が保証されることに なります。ただし、FIFO のデータが REQ アサートカウント数に満たない場合も、カ ウントモードに設定され且つ残りカウント数以上のデータがある場合は、XDREQ を アサートします。この場合、転送可能数は、残りカウント数となります。 このモードでは、ReqAssertCount[1:0]ビットに設定された転送数毎に一旦 XDREQ が ネゲートされます。 動作停止となるまで DMA_Control.DMA_Running ビットに“1”が読めます。 【動作停止】 動作停止条件は「1.6.3.2.4 カウントモード(リード)」、「1.6.3.2.6 フリーランモード (リード)」をご参照ください。 動作タイミングは図 1.83、図 1.84 をご参照下さい。 1.6.3.2.9 DMAのFIFOアクセス端数処理 「1.6.3.1.5 FIFO アクセスの端数処理」をご参照ください。DMA にはバイト読み出し/ バイト書き込みの口はございませんのでご注意下さい。 158 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 1. 機能説明 1.6.3.2.10 DMAのEdge Sense モード DMA_EdgeMode.EdgeSenseEn ビットに“1”をセットしてください。本ビットを設定後、 1 ワード転送する毎に IC の XDREQ 信号がネゲートされます。すなわち、XDREQ の エッジをセンスして動作する DMA 転送に対応したモードです。本モードとカウント モード/フリーランモードの共用が可能です。但し、Req アサートカウントオプショ ンと共用した場合は、DMA_Config.ReqAssertCount[1:0]ビットの設定値にかかわらず、 1 ワードごとに XDREQ 信号がネゲートされます。 なお、DMA_EdgeMode.NgtCount[3:0]ビットにて、XDREQ の最小ネゲート期間を変 更することが可能です。デフォルト値 0x0 が最も短い期間となっており、1 加算する たびに、内部クロックの 1 クロック(約 16.6ns)程度、最小ネゲート期間が延長され ます。最小ネゲート期間は以下の式で表されます。 XDREQ 最小ネゲート期間 = (DMA_EdgeMode.NgtCount + 3)×16.6 [ns] S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 159 2. レジスタマップ 2. レジスタマップ 2.1 レジスタ構成 2.2 初期レジスタマップ 本 LSI は、ハードリセットされてから、本「初期レジスタ」が設定されてその設定が有効にされ るまでの間(未初期化期間)は、本「初期レジスタ」のみがアクセス可能です。詳細は「1.6.2 CPUIF のモード設定」を参照して下さい。 Word Addr. Register Name 0x07E CPUIF_MODE bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 CPU_Endian BusMode CPU_Endian BusMode R/W Reset W 0xXXXX 未初期化期間において、本 LSI へのライトアクセスは、全てこのレジスタへのライトアクセスと 見なして処理します。初期化期間終了後は、本レジスタへのアクセスは無視されます。 160 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ 2.3 レジスタマップ レジスタマップを、「デバイス/ホスト共通レジスタ」、「デバイスレジスタ」、「ホストレジ スタ」に分類して示します。 なお、下表の Reset 値は、リセット後のレジスタ値ですが、各レジスタの Reset 後のリード値は、 IC が ACTIVE 時と SLEEP 時の場合で異なります。 ACTIVE 時は全てのレジスタビットについて、 下表の Reset 値と同じ値でリードされます。SLEEP 時については、太字斜体で示すレジスタビッ トは下表の Reset 値と同じ値でリードされますが、それ以外のレジスタビットは 0b0 がリードさ れます。本 IC の Reset 解除直後は SLEEP 状態となっておりますので、下表と異なる Reset 値が 読み出されるレジスタにご注意ください。 2.3.1 デバイス/ホスト共通レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset Bit7 Bit6 Bit5 Bit4 0x000 MainIntStat R/(W) 0x00 USB_DeviceIntStat USB_HostIntStat CPU_IntStat FIFO_IntStat 0x001 USB_DeviceIntStat R/(W) 0x00 VBUS_Changed D_SIE_IntStat D_BulkIntStat 0x002 USB_HostIntStat R/(W) 0x00 VBUS_Err RAM_RdCmp 0x003 CPU_IntStat R/(W) 0x00 0x004 FIFO_IntStat R/(W) 0x00 FIFO_DMA_Cmp 0x005 LineStateChanged Bit3 Bit2 Bit1 Bit0 FinishedPM RcvEP0SETUP D_EP0IntStat D_EPrIntStat H_SIE_IntStat_1 H_SIE_IntStat_0 H_FrameIntStat H_CH0IntStat H_CHrIntStat FIFO_NotEmpty DMA_Countup DMA_Cmp FIFO_Full FIFO_Empty 0xXX 0x006 0x007 0xXX 0x008 MainIntEnb R/W 0x00 0x009 USB_DeviceIntEnb R/W 0x00 EnVBUS_Changed EnUSB_DeviceIntStat 0x00A USB_HostIntEnb R/W 0x00 0x00B CPU_IntEnb R/W 0x00 EnRAM_RdCmp 0x00C FIFO_IntEnb R/W 0x00 EnFIFO_DMA_Cmp EnVBUS_Err EnUSB_HostIntStat EnCPU_IntStat EnFinishedPM EnFIFO_IntStat EnD_SIE_IntStat EnD_BulkIntStat EnRcvEP0SETUP EnLineStateChanged EnD_EP0IntStat EnD_EPrIntStat EnH_CH0IntStat EnH_CHrIntStat EnH_SIE_IntStat_1 EnH_SIE_IntStat_0 EnH_FrameIntStat EnDMA_Countup EnDMA_Cmp EnFIFO_NotEmpty EnFIFO_Full EnFIFO_Empty 0x00D 0x00E 0xXX 0x00F 0xXX 0x010 RevisionNum RevisionNum ber R 0x08 0x011 ChipReset R/W 0x80 ResetMTM 0x012 PM_Control R/W 0x00 GoSLEEP AllReset GoACTIVE 0x014 WakeupTim_H R/W 0x00 0x015 WakeupTim_L R/W 0x00 0x016 H_USB_Control R/W 0x00 VBUS_Enb 0x017 H_XcvrControl R/W 0x91 TermSelect RemoveRPD 0x018 D_USB_Status R/W 0xXX VBUS FSxHS 0x019 H_USB_Status R 0xXX VBUS_State 0x01A WakeupTim [15:8] WakeupTim [7:0] XcvrSelect[1:0] OpMode[1:0] LineState[1:0] LineState[1:0] 0xXX R/W 0x00 0x01C 0xXX 0x01D 0xXX MTM_SlopeValue [1:0] MTM_TermValue [1:0] 0xXX 0x01E 0x01F HostDeviceSel PM_State[1:0] 0xXX 0x013 0x01B MTM_Config GoCPU_Cut R/W 0x00 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON HOSTxDEVICE 161 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset R 0xXX 0x021 FIFO_Rd_1 R 0xXX FIFO_Rd_1[7:0] 0x022 FIFO_Wr_0 W 0xXX FIFO_Wr_0[7:0] 0x023 FIFO_Wr_1 W 0xXX 0x024 FIFO_RdRemain_ R 0x00 0x025 FIFO_RdRemain_ R 0x00 0x026 FIFO_WrRemain_ R 0x00 0x027 FIFO_WrRemain_ R 0x00 WrRemain[7:0] 0x028 FIFO_ByteRd R 0xXX FIFO_ByteRd[7:0] 0x020 FIFO_Rd_0 W Bit4 Bit3 Bit2 Bit1 Bit0 FIFO_Rd_0[7:0] FIFO_Wr_1[7:0] RdRemain[12:8] RdRemainValid RdRemain[7:0] WrRemain[12:8] 0xXX R FIFO_ByteWr[7:0] 0x00 WrFIFO_C_Remain 0x02D 0xXX 0x02E 0xXX 0x02F 0xXX 0x030 RAM_RdAdrs_H R/W 0x00 0x031 RAM_RdAdrs_L R/W 0x00 0x032 RAM_RdControl R/W 0x00 WrDOOR_C_Remain RAM_RdAdrs[12:8] RAM_RdAdrs[7:2] RAM_GoRdCBW_CSW RAM_GoRd 0xXX 0x033 0xXX 0x034 0x035 RAM_RdCount Bit5 0xXX 0x02B 0x02C CacheRemain Bit6 0xXX 0x029 0x02A FIFO_ByteWr Bit7 R/W 0x00 RAM_RdCount[5:2] 0xXX 0x036 0xXX 0x037 RAM_WrAdrs[12:8] 0x038 RAM_WrAdrs_H R/W 0x00 0x039 RAM_WrAdrs_L R/W 0x00 RAM_WrAdrs[7:0] 0x03A RAM_WrDoor_0 W 0xXX RAM_WrDoor_0[7:0] 0x03B RAM_WrDoor_1 W 0xXX RAM_WrDoor_1[7:0] 0x03C 0x03D 0xXX 0x03E 0xXX 0x03F 0xXX 162 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x040 RAM_Rd_00 R 0x00 Bit7 Bit6 Bit5 Bit4 RAM_Rd_00[7:0] Bit3 0x041 RAM_Rd_01 R 0x00 RAM_Rd_01[7:0] 0x042 RAM_Rd_02 R 0x00 RAM_Rd_02[7:0] 0x043 RAM_Rd_03 R 0x00 RAM_Rd_03[7:0] 0x044 RAM_Rd_04 R 0x00 RAM_Rd_04[7:0] 0x045 RAM_Rd_05 R 0x00 RAM_Rd_05[7:0] 0x046 RAM_Rd_06 R 0x00 RAM_Rd_06[7:0] 0x047 RAM_Rd_07 R 0x00 RAM_Rd_07[7:0] 0x048 RAM_Rd_08 R 0x00 RAM_Rd_08[7:0] 0x049 RAM_Rd_09 R 0x00 RAM_Rd_09[7:0] 0x04A RAM_Rd_0A R 0x00 RAM_Rd_0A[7:0] 0x04B RAM_Rd_0B R 0x00 RAM_Rd_0B[7:0] 0x04C RAM_Rd_0C R 0x00 RAM_Rd_0C[7:0] 0x04D RAM_Rd_0D R 0x00 RAM_Rd_0D[7:0] 0x04E RAM_Rd_0E R 0x00 RAM_Rd_0E[7:0] 0x04F RAM_Rd_0F R 0x00 RAM_Rd_0F[7:0] 0x050 RAM_Rd_10 R 0x00 RAM_Rd_10[7:0] 0x051 RAM_Rd_11 R 0x00 RAM_Rd_11[7:0] 0x052 RAM_Rd_12 R 0x00 RAM_Rd_12[7:0] 0x053 RAM_Rd_13 R 0x00 RAM_Rd_13[7:0] 0x054 RAM_Rd_14 R 0x00 RAM_Rd_14[7:0] 0x055 RAM_Rd_15 R 0x00 RAM_Rd_15[7:0] 0x056 RAM_Rd_16 R 0x00 RAM_Rd_16[7:0] 0x057 RAM_Rd_17 R 0x00 RAM_Rd_17[7:0] 0x058 RAM_Rd_18 R 0x00 RAM_Rd_18[7:0] 0x059 RAM_Rd_19 R 0x00 RAM_Rd_19[7:0] 0x05A RAM_Rd_1A R 0x00 RAM_Rd_1A[7:0] 0x05B RAM_Rd_1B R 0x00 RAM_Rd_1B[7:0] 0x05C RAM_Rd_1C R 0x00 RAM_Rd_1C[7:0] 0x05D RAM_Rd_1D R 0x00 RAM_Rd_1D[7:0] 0x05E RAM_Rd_1E R 0x00 RAM_Rd_1E[7:0] 0x05F RAM_Rd_1F R 0x00 RAM_Rd_1F[7:0] S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON Bit2 Bit1 Bit0 163 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W 0x060 Reset Bit7 Bit6 DMA_Mode Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0xXX 0x061 DMA_Config R/W 0x00 FreeRun 0x062 DMA_Control R/W 0x00 DMA_Running 0x064 DMA_Remain_H R 0x00 0x065 DMA_Remain_L R 0x00 ActiveDMA CounterClr ReqAssertCount [1:0] Dir DMA_Stop DMA_Go 0x063 DMA_Remain[12:8] DMA_Remain [7:0] 0xXX 0x066 0x067 DMA_EdgeMode R/W 0x00 0x068 DMA_Count_HH R/W 0x00 DMA_Count [31:24] EdgeSenseEn NegControl[3:0] 0x069 DMA_Count_HL R/W 0x00 DMA_Count [23:16] 0x06A DMA_Count_LH R/W 0x00 DMA_Count [15:8] 0x06B DMA_Count_LL R/W 0x00 DMA_Count [7:0] 0x06C DMA_RdData_0 R 0xXX DMA_RdData_0[7:0] 0x06D DMA_RdData_1 R 0xXX DMA_RdData_1[7:0] 0x06E DMA_WrData_0 W 0xXX DMA_WrData_0[7:0] 0x06F DMA_WrData_1 W 0xXX DMA_WrData_1[7:0] 0x070 0x071 ModeProtect 0xXX R/W 0x073 ClkSelect R/W Protected[7:0](56 以外を書くとプロテクト、 0x56 で解除 ) 0x00 ClkSource ClkFreq[1:0] 0xXX 0x074 0x075 CPU_Config 0x56 0xXX 0x072 R/W 0x01 0x076 0xXX 0x077 0xXX 0x078 0xXX 0x079 0xXX 0x07A 0xXX 0x07B 0xXX 0x07C 0x00 IntLevel IntMode DREQ_Level DACK_Level CS_Mode CPU_Endian(R) BusMode(R) 0x00 0x07D 0x07E CPUIF_MODE W 0x00 CPU_Endian BusMode 0x07F CPUIF_MODE W 0x00 CPU_Endian BusMode 164 Inisialized(R) EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x080 AREA0StartAdrs_ R/W 0x00 0x081 AREA0StartAdrs_ R/W 0x00 0x082 AREA0EndAdrs_H R/W 0x00 0x083 AREA0EndAdrs_L R/W 0x00 0x084 AREA1StartAdrs_ R/W 0x00 0x085 AREA1StartAdrs_ R/W 0x00 0x086 AREA1EndAdrs_H R/W 0x00 0x087 AREA1EndAdrs_L R/W 0x00 0x088 AREA2StartAdrs_ R/W 0x00 0x089 AREA2StartAdrs_ R/W 0x00 0x08A AREA2EndAdrs_H R/W 0x00 0x08B AREA2EndAdrs_L R/W 0x00 0x08C AREA3StartAdrs_ R/W 0x00 0x08D AREA3StartAdrs_ R/W 0x00 0x08E AREA3EndAdrs_H R/W 0x00 0x08F AREA3EndAdrs_L R/W 0x00 0x090 AREA4StartAdrs_ R/W 0x00 0x091 AREA4StartAdrs_ R/W 0x00 0x092 AREA4EndAdrs_H R/W 0x00 0x093 AREA4EndAdrs_L R/W 0x00 0x094 AREA5StartAdrs_ R/W 0x00 0x095 AREA5StartAdrs_ R/W 0x00 0x096 AREA5EndAdrs_H R/W 0x00 0x097 AREA5EndAdrs_L R/W 0x00 0x098 0xXX 0x099 0xXX 0x09A 0xXX 0x09B 0xXX 0x09C 0xXX 0x09D 0xXX Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ClrAREA1 ClrAREA0 StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] StartAdrs[12:8] StartAdrs[7:2] EndAdrs[12:8] EndAdrs[7:2] 0xXX 0x09E 0x09F AREAnFIFO_Clr Bit7 W 0xXX ClrAREA5 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON ClrAREA4 ClrAREA3 ClrAREA2 165 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset Bit7 0x0A0 AREA0Join_0 R/W 0x00 JoinFIFO_Stat 0x0A1 AREA0Join_1 R/W 0x00 0x0A2 AREA1Join_0 R/W 0x00 0x0A3 AREA1Join_1 R/W 0x00 0x0A4 AREA2Join_0 R/W 0x00 0x0A5 AREA2Join_1 R/W 0x00 0x0A6 AREA3Join_0 R/W 0x00 0x0A7 AREA3Join_1 R/W 0x00 0x0A8 AREA4Join_0 R/W 0x00 0x0A9 AREA4Join_1 R/W 0x00 0x0AA AREA5Join_0 R/W 0x00 0x0AB AREA5Join_1 R/W 0x00 Bit6 Bit5 JoinEPeCHe Bit4 JoinEPdCHd Bit3 JoinEPcCHc JoinFIFO_Stat JoinEPeCHe JoinEPdCHd JoinEPcCHc JoinFIFO_Stat JoinEPeCHe JoinEPdCHd JoinEPcCHc JoinFIFO_Stat JoinEPeCHe JoinEPdCHd JoinEPcCHc JoinFIFO_Stat JoinEPeCHe JoinEPdCHd JoinEPcCHc JoinFIFO_Stat JoinEPeCHe JoinEPdCHd JoinEPcCHc Bit2 Bit1 Bit0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 JoinDMA JoinCPU_Rd JoinCPU_Wr JoinEPbCHb JoinEPaCHa JoinEP0CH0 0x0AC 0x0AD 0x0AE ClrAREAnJoin_0 W 0x00 ClrJoinFIFO_Stat 0x0AF ClrAREAnJoin_1 W 0x00 166 ClrJoinDMA ClrJoinCPU_Rd ClrJoinCPU_Wr ClrJoinEPeCHe ClrJoinEPdCHd ClrJoinEPcCHc ClrJoinEPbCHb ClrJoinEPaCHa ClrJoinEP0CH0 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ 2.3.2 デバイスレジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x0B0 D_SIE_IntStat R/(W) 0x00 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 NonJ RcvSOF DetectRESET DetectSUSPEND ChirpCmp RestoreCmp SetAddressCmp CBW_LengthErr CBW_Err CSW_Cmp CSW_Err D_EPeIntStat D_EPdIntStat D_EPcIntStat D_EPbIntStat D_EPaIntStat 0xXX 0x0B1 0x0B2 R/(W) 0x00 0x0B3 D_BulkIntStat R/(W) 0x00 0x0B4 D_EPrIntStat R CBW_Cmp 0x00 D_AlarmIN_IntStat D_AlarmOUT_IntStat 0x0B5 D_EP0IntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr 0x0B6 D_EPaIntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr 0x0B7 D_EPbIntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr 0x0B8 D_EPcIntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr 0x0B9 D_EPdIntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr 0x0BA D_EPeIntStat R/(W) 0x00 OUT_ShortACK IN_TranACK OUT_TranACK IN_TranNAK OUT_TranNAK IN_TranErr OUT_TranErr AlarmEP8IN DescriptorCmp 0x0BB 0xXX 0x0BC D_AlarmIN_IntStat_H R/(W) 0x00 AlarmEP15IN AlarmEP14IN AlarmEP13IN AlarmEP12IN AlarmEP11IN AlarmEP10IN AlarmEP9IN 0x0BD D_AlarmIN_IntStat_L R/(W) 0x00 AlarmEP7IN AlarmEP6IN AlarmEP5IN AlarmEP4IN AlarmEP3IN AlarmEP2IN AlarmEP1IN 0x0BE D_AlarmOUT_IntStat_H R/(W) 0x00 AlarmEP15OUT AlarmEP14OUT AlarmEP13OUT AlarmEP12OUT AlarmEP11OUT AlarmEP10OUT AlarmEP9OUT 0x0BF D_AlarmOUT_IntStat_L R/(W) 0x00 AlarmEP7OUT AlarmEP1OUT 0x0C0 D_SIE_IntEnb R/W 0x00 AlarmEP6OUT AlarmEP5OUT EnNonJ EnRcvSOF EnCBW_LengthErr EnCBW_Err AlarmEP4OUT AlarmEP3OUT EnDetectRESET EnDetectSUSPEND AlarmEP2OUT EnChirpCmp AlarmEP8OUT EnRestoreCmp EnSetAddressCmp 0xXX 0x0C1 0x0C2 R/W 0x00 0x0C3 D_BulkIntEnb R/W 0x00 0x0C4 D_EPrIntEnb R/W 0x00 0x0C5 D_EP0IntEnb R/W 0x00 EnDescriptorCmp EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr 0x0C6 D_EPaIntEnb R/W 0x00 EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr 0x0C7 D_EPbIntEnb R/W 0x00 EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr 0x0C8 D_EPcIntEnb R/W 0x00 EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr 0x0C9 D_EPdIntEnb R/W 0x00 EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr 0x0CA D_EPeIntEnb R/W 0x00 EnOUT_ShortACK EnIN_TranACK EnOUT_TranACK EnIN_TranNAK EnOUT_TranNAK EnIN_TranErr EnOUT_TranErr EnAlarmEP8IN EnCBW_Cmp EnCSW_Cmp EnCSW_Err EnD_EPeIntStat EnD_EPdIntStat EnD_EPcIntStat EnD_EPbIntStat EnD_EPaIntStat EnD_AlarmIN_IntStat EnD_AlarmOUT_IntStat 0xXX 0x0CB 0x0CC D_AlarmIN_IntEnb_H R/W 0x00 EnAlarmEP15IN EnAlarmEP14IN EnAlarmEP13IN EnAlarmEP12IN EnAlarmEP11IN EnAlarmEP10IN EnAlarmEP9IN 0x0CD D_AlarmIN_IntEnb_L R/W 0x00 0x0CE D_AlarmOUT_IntEnb_H R/W 0x00 EnAlarmEP15OUT EnAlarmEP14OUT EnAlarmEP13OUT EnAlarmEP12OUT EnAlarmEP11OUT EnAlarmEP10OUT EnAlarmEP9OUT EnAlarmEP8OUT 0x0CF D_AlarmOUT_IntEnb_L R/W 0x00 EnAlarmEP7OUT EnAlarmEP6OUT EnAlarmEP5OUT EnAlarmEP4OUT EnAlarmEP3OUT EnAlarmEP2OUT EnAlarmEP1OUT EnAlarmEP7IN EnAlarmEP6IN EnAlarmEP5IN EnAlarmEP4IN S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON EnAlarmEP3IN EnAlarmEP2IN EnAlarmEP1IN 167 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0x0D0 D_NegoControl R/W 0x00 DisBusDetect EnAutoNego InSUSPEND DisableHS SendWakeup RestoreUSB GoChirp ActiveUSB XcvrSelect Test_SE0_NAK Test_J Test_K GoCBW_Mode GoCSW_Mode EPcBulkOnly EPbBulkOnly 0xXX 0x0D1 0xXX 0x0D2 0x0D3 D_XcvrControl R/W 0x41 TermSelect 0x0D4 D_USB_Test R/W 0x00 EnHS_Test W 0xXX AllForceNAK EPrForceSTALL 0xXX 0x0D7 D_BulkOnlyContr 0x0D8 ol D_BulkOnlyConfi 0x0D9 g R/W 0x00 R/W 0x00 0x0DA 0xXX 0x0DB 0xXX 0x0DC 0xXX 0x0DD 0xXX 0x0DE 0xXX 0x0DF 0xXX AutoForceNAK_CBW EPeBulkOnly EPdBulkOnly 0x0E0 D_EP0SETUP_0 R 0x00 SETUP 0[7:0] 0x0E1 D_EP0SETUP_1 R 0x00 SETUP 1[7:0] 0x0E2 D_EP0SETUP_2 R 0x00 SETUP 2[7:0] 0x0E3 D_EP0SETUP_3 R 0x00 SETUP 3[7:0] 0x0E4 D_EP0SETUP_4 R 0x00 SETUP 4[7:0] 0x0E5 D_EP0SETUP_5 R 0x00 SETUP 5[7:0] 0x0E6 D_EP0SETUP_6 R 0x00 SETUP 6[7:0] 0x0E7 D_EP0SETUP_7 R 0x00 0x0E8 D_USB_Address R/(W) 0x00 R/W 0xXX 0x0EC 0xXX USB_Address [6:0] ProtectEP0 0xXX 0x0ED 168 SETUP 7[7:0] SetAddress 0x00 0x0EB D_FrameNumber 0x0EE _H D_FrameNumber 0x0EF _L EPaBulkOnly 0xXX 0x0E9 D_SETUP_Contr 0x0EA ol Test_Packet 0xXX 0x0D5 0x0D6 D_EPnControl OpMode [1:0] R 0x80 R 0x00 FrameNumber [10:8] Fn_Invalid FrameNumber [7:0] EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x0F0 D_EP0MaxSize R/W 0x00 0x0F1 D_EP0Control R/W 0x00 0x0F2 D_EP0ControlIN D_EP0ControlOU 0x0F3 T R/W 0x00 R/W 0x00 0x0F4 0xXX 0x0F5 0xXX 0x0F6 0xXX 0x0F8 D_EPaMaxSize_H R/W 0x00 0x0F9 D_EPaMaxSize_L R/W 0x00 0x0FA D_EPaConfig R/W 0x0FB Bit4 Bit3 Bit2 Bit1 Bit0 ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL EP0MaxSize[6:3] INxOUT ReplyDescriptor EnShortPkt AutoForceNAK R/W IntEP_Mode ISO 0x00 AutoForceNAK EnShortPkt DisAF_NAK_Short ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL 0xXX 0x0FF 0xXX 0x100 D_EPbMaxSize_H R/W 0x00 0x101 D_EPbMaxSize_L R/W 0x00 0x102 D_EPbConfig R/W R/W EndpointNumber[3:0] INxOUT 0x0FE 0x103 EPaMaxSize[10:8] EPaMaxSize[7:0] 0x00 0xXX EPbMaxSize[10:8] EPbMaxSize[7:0] EndpointNumber[3:0] 0x00 INxOUT IntEP_Mode ISO 0xXX 0x00 AutoForceNAK EnShortPkt DisAF_NAK_Short ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL 0x105 0xXX 0x106 0xXX 0xXX 0x107 0x108 D_EPcMaxSize_H R/W 0x00 0x109 D_EPcMaxSize_L R/W 0x00 0x10A D_EPcConfig R/W 0x10B 0x10C D_EPcControl Bit5 0xXX 0x0FD 0x104 D_EPbControl Bit6 0x00 0x0F7 0x0FC D_EPaControl Bit7 R/W EPcMaxSize[10:8] EPcMaxSize[7:0] EndpointNumber[3:0] 0x00 INxOUT IntEP_Mode ISO 0xXX 0x00 AutoForceNAK EnShortPkt DisAF_NAK_Short ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL 0x10D 0xXX 0x10E 0xXX 0x10F 0xXX S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 169 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name 0x110 D_EPdMaxSize_H R/W Reset Bit7 Bit6 Bit5 Bit4 Bit3 R/W 0x00 Bit2 Bit1 Bit0 EPdMaxSize[10:8] EPdMaxSize[7:0] 0x111 D_EPdMaxSize_L R/W 0x00 0x112 D_EPdConfig R/W 0x00 INxOUT IntEP_Mode ISO 0xXX 0x00 AutoForceNAK EnShortPkt DisAF_NAK_Short ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL 0x113 0x114 D_EPdControl R/W 0x115 0xXX 0x116 0xXX EndpointNumber[3:0] 0xXX 0x117 0x118 D_EPeMaxSize_H R/W 0x00 0x119 D_EPeMaxSize_L R/W 0x00 0x11A D_EPeConfig R/W 0x11B 0x11C D_EPeControl R/W EPeMaxSize[10:8] EPeMaxSize[7:0] EndpointNumber[3:0] 0x00 INxOUT IntEP_Mode ISO 0xXX 0x00 AutoForceNAK EnShortPkt DisAF_NAK_Short ToggleStat ToggleSet ToggleClr ForceNAK ForceSTALL 0x11D 0xXX 0x11E 0xXX 0x11F 0xXX 0x120 D_DescAdrs_H R/W 0x00 0x121 D_DescAdrs_L R/W 0x00 0x122 D_DescSize_H R/W 0x00 0x123 D_DescSize_L R/W 0x00 DescAdrs[12:8] DescAdrs [7:0] DescSize [9:8] DescSize [7:0] 0xXX 0x124 0xXX 0x125 0x126 D_EP_DMA_Ctrl R/W 0xXX FIFO_Running AutoEnShort 0xXX 0x127 0x128 D_EnEP_IN_H R/W 0x00 EnEP15IN EnEP14IN EnEP13IN EnEP12IN EnEP11IN EnEP10IN EnEP9IN 0x129 D_EnEP_IN_L R/W 0x00 EnEP7IN EnEP6IN EnEP5IN EnEP4IN EnEP3IN EnEP2IN EnEP1IN 0x12A D_EnEP_OUT_H R/W 0x00 EnEP15OUT EnEP14OUT EnEP13OUT EnEP12OUT EnEP11OUT EnEP10OUT EnEP9OUT 0x12B D_EnEP_OUT_L R/W 0x00 EnEP7OUT EnEP6OUT EnEP5OUT EnEP4OUT EnEP3OUT EnEP2OUT EnEP1OUT 0x12C D_EnEP_IN_ISO_H R/W 0x00 EnEP15IN_ISO EnEP14IN_ISO EnEP13IN_ISO EnEP12IN_ISO EnEP11IN_ISO EnEP10IN_ISO EnEP9IN_ISO 0x12D D_EnEP_IN_ISO_L R/W 0x00 EnEP7IN_ISO EnEP1IN_ISO 0x12E D_EnEP_OUT_ISO_H R/W 0x00 EnEP15OUT_ISO EnEP14OUT_ISO EnEP13OUT_ISO EnEP12OUT_ISO EnEP11OUT_ISO EnEP10OUT_ISO EnEP9OUT_ISO EnEP8OUT_ISO 0x12F D_EnEP_OUT_ISO_L R/W 0x00 EnEP7OUT_ISO EnEP6OUT_ISO EnEP5OUT_ISO EnEP4OUT_ISO EnEP3OUT_ISO EnEP2OUT_ISO EnEP1OUT_ISO 170 EnEP6IN_ISO EnEP5IN_ISO EnEP4IN_ISO EnEP3IN_ISO EnEP2IN_ISO EnEP8IN EnEP8OUT EnEP8IN_ISO EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ 2.3.3 ホストレジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name 0x140 H_SIE_IntStat_0 R/W Reset R/(W) 0x00 0x141 H_SIE_IntStat_1 R/(W) 0x00 0x142 R/(W) 0x00 0x143 H_FrameIntStat Bit7 Bit6 Bit5 Bit4 Bit3 DetectCon DetectDiscon Bit2 Bit1 Bit0 DetectRmtWkup DetectDevChirpOK DetectDevChirpNG DisabledCmp ResumeCmp SuspendCmp PortErr FrameNumOver SOF H_CHdIntStat H_CHcIntStat H_CHbIntStat H_CHaIntStat R/(W) 0x00 0x144 H_CHrIntStat R 0x00 0x145 H_CH0IntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition CTL_SupportCmp CTL_SupportStop 0x146 H_CHaIntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition BO_SupportCmp BO_SupportStop 0x147 H_CHbIntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition 0x148 H_CHcIntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition 0x149 H_CHdIntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition 0x14A H_CHeIntStat R/(W) 0x00 TotalSizeCmp TranACK TranErr ChangeCondition 0x14B 0xXX 0x14C 0xXX 0x14D 0xXX 0x14E 0xXX 0x14F 0xXX 0x150 H_SIE_IntEnb_0 R/W 0x00 0x151 H_SIE_IntEnb_1 R/W 0x00 0x152 R/W 0x00 TriggerFrame ResetCmp H_CHeIntStat 0x153 H_FrameIntEnb R/W 0x00 EnTriggerFrame 0x154 H_CHrIntEnb R/W 0x00 EnDetectCon EnDetectDiscon EnDetectRmtWkup EnDetectDevChirpOK EnDetectDevChirpNG EnDisabledCmp EnResumeCmp EnSuspendCmp EnResetCmp EnPortErr EnSOF EnFrameNumOver EnH_CHeIntStat EnH_CHdIntStat EnH_CHcIntStat EnH_CHbIntStat EnH_CHaIntStat 0x155 H_CH0IntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition EnCTL_SupportCmp EnCTL_SupportStop 0x156 H_CHaIntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition EnBO_SupportCmp EnBO_SupportStop 0x157 H_CHbIntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition 0x158 H_CHcIntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition 0x159 H_CHdIntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition 0x15A H_CHeIntEnb R/W 0x00 EnTotalSizeCmp EnTranACK EnTranErr EnChangeCondition 0x15B 0xXX 0x15C 0xXX 0x15D 0xXX 0x15E 0xXX 0x15F 0xXX S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 171 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name 0x160 H_NegoControl_0 R/W Reset R/W 0x1X AutoModeCancel R/W Bit5 Bit4 Bit3 HostState[2:0] Bit1 Bit0 AutoMode[3:0] PortSpeed[1:0] 0x10 R/W 0x00 0x165 0xXX 0x166 0xXX 0x167 0xXX 0x168 0xXX 0x169 0xXX 0x16A 0xXX 0x16B 0xXX 0x16C 0xXX 0x16D 0xXX 0x16E 0xXX 0x16F 0xXX DisChirpFinish RmtWkupDetEnb EnHS_Test Test_Force_Enable Test_SE0_NAK 0x170 H_CH0SETUP_0 R/W 0x00 SETUP 0[7:0] 0x171 H_CH0SETUP_1 R/W 0x00 SETUP 1[7:0] 0x172 H_CH0SETUP_2 R/W 0x00 SETUP 2[7:0] 0x173 H_CH0SETUP_3 R/W 0x00 SETUP 3[7:0] 0x174 H_CH0SETUP_4 R/W 0x00 SETUP 4[7:0] 0x175 H_CH0SETUP_5 R/W 0x00 SETUP 5[7:0] 0x176 H_CH0SETUP_6 R/W 0x00 SETUP 6[7:0] 0x177 H_CH0SETUP_7 R/W 0x00 SETUP 7[7:0] 0x178 0xXX 0x179 0xXX 0x17A 0xXX 0x17B 0xXX 0x17C Reserved 0xXX 0x17D 0xXX 0x17E H_FrameNumber_H R 0x07 0x17F H_FrameNumber_L R 0xFF 172 Bit2 0xXX 0x163 0x164 H_USB_Test Bit6 0xXX 0x161 0x162 H_NegoControl_1 Bit7 Test_J Test_K Test_Packet Reserved FrameNumber[10:8] FrameNumber[7:0] EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x180 H_CH0Config_0 R/W 0x00 0x181 H_CH0Config_1 R/W 0x00 Bit7 Bit6 Bit5 0x183 H_CH0MaxPktSize R/W Bit2 SpeedMode[1:0] Bit1 Bit0 Toggle TranGo TID[1:0] MaxPktSize[6:0] 0x00 0xXX 0x184 0xXX 0x185 TotalSize[15:8] 0x186 H_CH0TotalSize_H R/W 0x00 0x187 H_CH0TotalSize_L R/W 0x00 0x188 H_CH0HubAdrs R/W 0x00 HubAdrs[3:0] 0x189 H_CH0FuncAdrs R/W 0x00 FuncAdrs[3:0] TotalSize[7:0] Port[2:0] EP_Number[3:0] 0xXX 0x18A H_CTL_SupportControl R/W CTL_SupportState[1:0] 0x00 CTL_SupportGo 0xXX 0x18C 0xXX 0x18D 0x18E Bit3 0xXX 0x182 0x18B Bit4 ACK_Cnt[3:0] H_CH0ConditionCode R ConditonCode[2:0] 0x00 0xXX 0x18F 0x190 H_CHaConfig_0 R/W 0x00 0x191 H_CHaConfig_1 R/W 0x00 ACK_Cnt[3:0] SpeedMode[1:0] TID[1:0] Toggle AutoZerolen MaxPktSize[9:8] 0x192 H_CHaMaxPktSize_H R/W 0x00 0x193 H_CHaMaxPktSize_L R/W 0x00 MaxPktSize[7:0] 0x194 H_CHaTotalSize_HH R/W 0x00 TotalSize[31:24] 0x195 H_CHaTotalSize_HL R/W 0x00 TotalSize[23:16] 0x196 H_CHaTotalSize_LH R/W 0x00 TotalSize[15:8] 0x197 H_CHaTotalSize_LL R/W 0x00 0x198 H_CHaHubAdrs R/W 0x00 HubAdrs[3:0] 0x199 H_CHaFuncAdrs R/W 0x00 FuncAdrs[3:0] 0x19A H_CHaBO_SupportCtl R/W 0x00 0x19B H_CHaBO_CSW_RcvSize R 0x00 0x19C H_CHaBO_OUT_EP_Ctl R/W 0x00 OUT_Toggle OUT_EP_Number[3:0] 0x19D H_CHaBO_IN_EP_Ctl R/W 0x00 IN_Toggle IN_EP_Number[3:0] R 0x00 0x19E H_CHaConditionCode 0x19F TranGo TotalSizeFree (MaxPktSize[10]) TotalSize[7:0] Port[2:0] EP_Number[3:0] BO_TransportState[1:0] BO_SupportGo CSW_RcvDataSize[3:0] ConditonCode[2:0] 0xXX S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 173 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x1A0 H_CHbConfig_0 R/W 0x00 0x1A1 H_CHbConfig_1 R/W 0x00 0x1A2 H_CHbMaxPktSize_H R/W 0x00 H_CHbMaxPktSize_L R/W 0x00 MaxPktSize[7:0] 0x1A4 H_CHbTotalSize_HH R/W 0x00 TotalSize[31:24] 0x1A5 H_CHbTotalSize_HL R/W 0x00 TotalSize[23:16] 0x1A6 H_CHbTotalSize_LH R/W 0x00 TotalSize[15:8] 0x1A7 H_CHbTotalSize_LL R/W 0x00 0x1A8 H_CHbHubAdrs R/W 0x00 HubAdrs[3:0] 0x1A9 H_CHbFuncAdrs R/W 0x00 FuncAdrs[3:0] 0x1AA H_CHbInterval_H R/W 0x00 0x1AB H_CHbInterval_L R/W 0x00 0x1AC H_CHbTranPause R/W 0x1A3 Bit6 Bit5 Bit4 Bit3 ACK_Cnt[3:0] TID[1:0] R TranType[1:0] AutoZerolen Audio441 TotalSizeFree[1] TotalSizeFree[0] (MaxPktSize[10]) MaxPktSize[9:8] Port[2:0] EP_Number[3:0] Interval[10:8] Interval[7:0] 0x00 EnTRanPause TranPause Toggle TranGo ConditonCode[2:0] 0x00 ACK_Cnt[3:0] SpeedMode[1:0] R/W 0x00 0x1B1 H_CHcConfig_1 R/W 0x00 0x1B2 H_CHcMaxPktSize_H R/W 0x00 0x1B3 H_CHcMaxPktSize_L R/W 0x00 MaxPktSize[7:0] 0x1B4 H_CHcTotalSize_HH R/W 0x00 TotalSize[31:24] 0x1B5 H_CHcTotalSize_HL R/W 0x00 TotalSize[23:16] 0x1B6 H_CHcTotalSize_LH R/W 0x00 TotalSize[15:8] 0x1B7 H_CHcTotalSize_LL R/W 0x00 0x1B8 H_CHcHubAdrs R/W 0x00 HubAdrs[3:0] 0x1B9 H_CHcFuncAdrs R/W 0x00 FuncAdrs[3:0] 0x1BA H_CHcInterval_H R/W 0x00 0x1BB H_CHcInterval_L R/W 0x00 0x1BC H_CHcTranPause R/W TID[1:0] TranType[1:0] AutoZerolen Audio441 TotalSizeFree[1] TotalSizeFree[0] (MaxPktSize[10]) MaxPktSize[9:8] TotalSize[7:0] Port[2:0] EP_Number[3:0] Interval[10:8] Interval[7:0] 0x00 EnTRanPause TranPause 0xXX 0x1BD 174 Bit0 TranGo TotalSize[7:0] 0x1B0 H_CHcConfig_0 0x1BF Bit1 Toggle 0xXX 0x1AF 0x1BE H_CHcConditionCode Bit2 SpeedMode[1:0] 0xXX 0x1AD 0x1AE H_CHbConditionCode Bit7 R 0x00 ConditonCode[2:0] 0xXX EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset 0x1C0 H_CHdConfig_0 R/W 0x00 0x1C1 H_CHdConfig_1 R/W 0x00 0x1C2 H_CHdMaxPktSize_H R/W 0x00 H_CHdMaxPktSize_L R/W 0x00 MaxPktSize[7:0] 0x1C4 H_CHdTotalSize_HH R/W 0x00 TotalSize[31:24] 0x1C5 H_CHdTotalSize_HL R/W 0x00 TotalSize[23:16] 0x1C6 H_CHdTotalSize_LH R/W 0x00 TotalSize[15:8] 0x1C7 H_CHdTotalSize_LL R/W 0x00 0x1C8 H_CHdHubAdrs R/W 0x00 HubAdrs[3:0] 0x1C9 H_CHdFuncAdrs R/W 0x00 FuncAdrs[3:0] 0x1CA H_CHdInterval_H R/W 0x00 0x1CB H_CHdInterval_L R/W 0x00 0x1CC H_CHdTranPause R/W 0x1C3 Bit6 Bit5 Bit4 Bit3 ACK_Cnt[3:0] TID[1:0] R TranType[1:0] AutoZerolen Bit0 TranGo Audio441 TotalSizeFree[1] TotalSizeFree[0] (MaxPktSize[10]) MaxPktSize[9:8] TotalSize[7:0] Port[2:0] EP_Number[3:0] Interval[10:8] Interval[7:0] 0x00 EnTRanPause TranPause Toggle TranGo ConditonCode[2:0] 0x00 0x1D0 H_CHeConfig_0 R/W 0x00 0x1D1 H_CHeConfig_1 R/W 0x00 ACK_Cnt[3:0] TID[1:0] SpeedMode[1:0] TranType[1:0] AutoZerolen 0x1D2 H_CHeMaxPktSize_H R/W 0x00 0x1D3 H_CHeMaxPktSize_L R/W 0x00 MaxPktSize[7:0] 0x1D4 H_CHeTotalSize_HH R/W 0x00 TotalSize[31:24] 0x1D5 H_CHeTotalSize_HL R/W 0x00 TotalSize[23:16] 0x1D6 H_CHeTotalSize_LH R/W 0x00 TotalSize[15:8] 0x1D7 H_CHeTotalSize_LL R/W 0x00 0x1D8 H_CHeHubAdrs R/W 0x00 HubAdrs[3:0] 0x1D9 H_CHeFuncAdrs R/W 0x00 FuncAdrs[3:0] 0x1DA H_CHeInterval_H R/W 0x00 0x1DB H_CHeInterval_L R/W 0x00 0x1DC H_CHeTranPause R/W Audio441 TotalSizeFree[1] TotalSizeFree[0] (MaxPktSize[10]) MaxPktSize[9:8] TotalSize[7:0] Port[2:0] EP_Number[3:0] Interval[10:8] Interval[7:0] 0x00 EnTRanPause TranPause 0xXX 0x1DD 0x1DF Bit1 Toggle 0xXX 0x1CF 0x1DE H_CHeConditionCode Bit2 SpeedMode[1:0] 0xXX 0x1CD 0x1CE H_CHdConditionCode Bit7 R 0x00 ConditonCode[2:0] 0xXX S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 175 2. レジスタマップ SLEEP 時にでも読み書きできるレジスタを太字斜体 で示します。それ以外のレジスタは、 ACTIVE 時に読み書きできます。 Address Register Name R/W Reset Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0x1F0 0x1F1 0x1F2 H_TriggerFrameNum_H R/W 0x00 UseTriggerFrame 0x1F3 H_TriggerFrameNum_L R/W 0x00 TriggerFrameNum[10:8] TriggerFrameNum[7:0] 0x1F4 0x1F5 0x1F6 0x1F7 0x1F8 0x1F9 0x1FA 0x1FB 0x1FC 0x1FD 0x1FE 0x1FF 176 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3. レジスタ詳細説明 3.1 デバイス/ホスト共通レジスタ詳細説明 3.1.1 Mode Device 000h MainIntStat (Main Interrupt Status) Address 000h Register Name MainIntStat / Host R/W Bit Symbol Description R 7: USB_DeviceIntStat 0: None 1: USB Device Interrupts R 6: USB_HostIntStat 0: None 1: USB Host Interrupts R 5: CPU_IntStat 0: None 1: CPU Interrupts R 4: FIFO_IntStat 0: None 1: FIFO Interrupts 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: FinishedPM 0: None 1:Detect FinishedPM R (W) Reset 00h 本 LSI の割り込み要因を表示します。 このレジスタには割り込み要因を間接指示するビットと直接指示するビットがあります。割り込み要因 を間接指示するビットは、それぞれに対応する割り込みステータスレジスタをリードすることにより、 割り込み要因を直接指示するビットまで辿ることができます。割り込み要因を間接指示するビットは、 リードオンリーであり、大元の割り込み要因を直接指示するビットをクリアすることにより、自動的に クリアされます。割り込み要因を直接指示しているビットは、書き込み可能であり、該当ビットに“1” を書き込むことにより、割り込み要因をクリアすることができます。MainIntEnb レジスタにより、対 応するビットの割り込みがイネーブルにされている場合は、割り込み要因が “1” にセットされると XINT 端子がアサートされ、CPU に対して割り込みが発生します。該当する割り込み要因が全てクリ アされると、XINT 端子がネゲートされます。 Bit7 USB_DeviceIntStat 割り込み要因を間接指示します。 USB_DeviceIntStat レジスタに割り込み要因があり、かつその割り込み要因に対応する USB_DeviceIntEnb レジスタのビットがイネーブルにされている時に“1”にセットされます。 このビットは、SLEEP 中もリード有効です。 Bit6 USB_HostIntStat 割り込み要因を間接指示します。 USB_HostIntStat レジスタに割り込み要因があり、かつその割り込み要因に対応する USB_HostIntEnb レジスタのビットがイネーブルにされている時に“1”にセットされます。 このビットは、SLEEP 中もリード有効です。 Bit5 CPU_IntStat 割り込み要因を間接指示します。 CPU_IntStat レジスタに割り込み要因があり、かつその割り込み要因に対応する CPU_IntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 Bit4 FIFO_IntStat 割り込み要因を間接指示します。 FIFO_IntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る FIFO_IntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 Bit3-1 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 177 3. レジスタ詳細説明 Bit0 FinishedPM 割り込み要因を直接指示します。 PM_Control レジスタで、GoSLEEP,GoACTIVE を設定した場合、指示したそれぞれの状態 に達したら、このビットは“1”にセットされます。このビットは SLEEP 中も有効です。 178 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.2 Mode Device 001h USB_DeviceIntStat (USB Device Interrupt Status) Address 001h Register Name USB_DeviceIntStat R/W R (W) Bit Symbol Description 7: VBUS_Changed 0: None 1: VBUS is Changed 6: 0: 1: R 5: D_SIE_IntStat 0: None 1: SIE Interrupts R 4: D_BulkIntStat 0: None 1: Bulk Interrupts 3: RcvEP0SETUP 0: None 1: Receive EP0 SETUP 2: 0: 1: R 1: D_EP0IntStat 0: None 1: EP0 Interrupts R 0: D_EPrIntStat 0: None 1: EPr Interrupts / Host R (W) Reset 00h デバイス関連の割り込みを表示します。 このレジスタには割り込み要因を間接指示するビットと直接指示するビットがあります。割り込み要因 を間接指示するビットは、それぞれに対応する割り込みステータスレジスタをリードすることにより、 割り込み要因を直接指示するビットまで辿ることができます。割り込み要因を間接指示するビットは、 リードオンリーであり、大元の割り込み要因を直接指示するビットをクリアすることにより、自動的に クリアされます。割り込み要因を直接指示しているビットは、書き込み可能であり、該当ビットに“1” を書き込むことにより、割り込み要因をクリアすることができます。 Bit7 VBUS_Changed 割り込み要因を直接指示します。 VBUS 端子の状態が変化した時に “1” にセットされます。 D_USB_Status レジスタの VBUS ビットによって VBUS の状態を確認して下さい。VBUS が“0”であれば、ケーブルが抜かれたことを示します。このビットは SLEEP 中も有効です。 Bit6 Reserved Bit5 D_SIE_IntStat 割り込み要因を間接指示します。 D_SIE_IntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_SIE_IntEnb レジスタのビットがイネーブルにされている時に“1”にセットされます。この ビットは、SLEEP もリード有効です。 Bit4 D_BulkIntStat 割り込み要因を間接指示します。 D_BulkIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_BulkIntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 Bit3 RcvEP0SETUP 割り込み要因を直接指示します。 コントロール転送のセットアップステージが終了し、受信したデータが D_EP0SETUP_0~ D_EP0SETUP_7 レジスタに格納されると“1”にセットされます。同時に D_EP0ControlIN, D_EP0ControlOUT レ ジ ス タ の ForceSTALL ビ ッ ト が “0” に D_EP0ControlIN, D_EP0ControlOUT レジスタの ForceNAK ビット、ToggleStat ビット、D_SETUP_Control レ ジスタの ProtectEP0 ビットが“1”に、自動的に設定されます。SetAddress()リクエストに対し ては、AutoSetAddress 機能が自動応答し、このステータスはセットされません。 Bit2 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 179 3. レジスタ詳細説明 Bit1 D_EP0IntStat 割り込み要因を間接指示します。 D_EP0IntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EP0IntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 Bit0 D_EPrIntStat 割り込み要因を間接指示します。 D_EPrIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPrIntEnb レジスタのビットがイネーブルにされている時、“1”にセットされます。 180 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.3 Mode Device 002h USB_HostIntStat (USB Host Interrupt Status) Address 002h Register Name USB_HostIntStat / Host R/W Bit Symbol Description R/(W) 7: VBUS_Err 0: None 1: VBUS Error R/(W) 6: LineStateChanged 0: None 1: Line Status Changed R 5: H_SIE_IntStat1 0: None 1: SIE Interrupts1 R 4: H_SIE_IntStat0 0: None 1: SIE Interrupts0 R 3: H_FrameIntStat 0: None 1: Frame Interrupts 2: 0: 1: R 1: H_CH0IntStat 0: None 1: CH0 Interrupts R 0: H_CHrIntStat 0: None 1: CHr Interrupts Reset 00h ホスト関連の割り込みを表示します。 このレジスタには割り込み要因を間接指示するビットと直接指示するビットがあります。割り込み要因 を間接指示するビットは、それぞれに対応する割り込みステータスレジスタをリードすることにより、 割り込み要因を直接指示するビットまで辿ることができます。割り込み要因を間接指示するビットは、 リードオンリーであり、大元の割り込み要因を直接指示するビットをクリアすることにより、自動的に クリアされます。割り込み要因を直接指示しているビットは、書き込み可能であり、該当ビットに“1” を書き込むことにより、割り込み要因をクリアすることができます。 Bit7 VBUS_Err 割り込み要因を直接指示します。このビットは SLEEP 中も有効です。 VBUSFLG 端子に外部接続の VBUS パワースイッチから VBUS 異常を知らせる信号(High から Low への変化 Edge)が入力された時に “1” にセットされます。 H_USB_Status レジスタの VBUS_State ビットによって VBUSFLG 端子の状態を確認して下 さい。 上記の異常信号とは、外部接続の VBUS パワースイッチの仕様によって異なりますので、 その仕様をご確認下さい。 Bit6 LineStateChanged 割り込み要因を直接指示します。このビットは SLEEP 中も有効です。 ホストポートの DP 端子及び DM 端子の状態が変化したことを示します。 この割り込みは、USB ホスト機能及び USB デバイス機能を有効にしていないとき、あるい は USB ホスト機能を有効にしていて SUSPEND 状態にあるときの信号ライン変化を検出す るために使用します。 Bit5 H_SIE_IntStat1 割り込み要因を間接指示します。 H_SIE_IntStat1 レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_SIE_IntEnb1 レジスタのビットがイネーブルにされている時に“1”にセットされます。 Bit4 H_SIE_IntStat0 割り込み要因を間接指示します。 H_SIE_IntStat0 レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_SIE_IntEnb0 レジスタのビットがイネーブルにされている時に“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 181 3. レジスタ詳細説明 Bit3 H_FrameIntStat 割り込み要因を間接指示します。 H_FrameIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_FrameIntEnb レジスタのビットがイネーブルにされている時に“1”にセットされます。 Bit2 Reserved Bit1 H_CH0IntStat 割り込み要因を間接指示します。 H_CH0IntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CH0IntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 Bit0 H_CHrIntStat 割り込み要因を間接指示します。 H_CHrIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHrIntEnb レジスタのビットがイネーブルにされている時に “1” にセットされます。 182 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.4 Mode Device 003h CPU_IntStat (CPU Interrupt Status) Address 003h Register Name CPU_IntStat R/W R (W) Bit Symbol Description 7: RAM_RdCmp 0: None 1: RAM Read Complete 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: R (W) 1: DMA_CountUp 0: None 1: DMA Counter Overflow R (W) 0: DMA_Cmp 0: None 1: DMA Complete / Host Reset 00h CPU インタフェイス関連の割り込みを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 RAM_RdCmp 割り込み要因を直接指示します。 RAM_Rd 機能において、RAM からデータを読み出し、RAM_Rd_XX のデータが有効になっ たところで、“1”にセットされます。 Bit6-2 Reseerved Bit1 DMA_CountUp 割り込み要因を直接指示します。 転送モードがフリーランモードで動作している時に、DMA_Count_HH,HL,LH,LL の値が オーバーフローした時に、“1”にセットされます。DMA_Count_HH,HL,LH,LL の値は 0 に戻 り、DMA 動作は継続します。 Bit0 DMA_Cmp 割り込み要因を直接指示します。 DMA 転送が停止されるか、或いは、指定された転送数が終了し、終了処理が完了した時に “1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 183 3. レジスタ詳細説明 3.1.5 Mode Device 004h FIFO_IntStat (FIFO Interrupt Status) Address 004h Register Name R/W FIFO_IntStat R(W) Bit Symbol Description 7: FIFO_DMA_Cmp 0: None 1: DMA Complete on FIFO 6: 0: 1 5: 0: 1 4: 0: 1 3: 0: 1: R (W) 2: FIFO_NotEmpty 0: None 1: FIFO NotEmpty R (W) 1: FIFO_Full 0: None 1: FIFO Full R (W) 0: FIFO_Empty 0: None 1: FIFO Empty / Host Reset 00h FIFO 関連の割り込みステータスを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 FIFO_DMA_Cmp 割り込み要因を直接指示します。 HostDeviceSel.HOSTxDEVICE=0 の時、DMA にジョインされているエンドポイントが IN 方 向の場合、DMA 転送が終了した後に FIFO が空になると、“1”にセットされます。DMA に ジョインされているエンドポイントが OUT 方向の場合、DMA 転送が終了すると、“1”にセッ トされます。 HostDeviceSel.HOSTxDEVICE=1 の時、DMA にジョインされているチャネルが OUT 方向の 場合、DMA の転送が終了した後に FIFO が空になると、“1”にセットされます。DMA にジョ インされているチャネルが IN 方向の場合、DMA の転送が終了すると、“1”にセットされま す。 Bit6-3 Reseved Bit2 FIFO_NotEmpty 割り込み要因を直接指示します。 AREAn{n=0-5}Join_0.JoinFIFO_Stat ビットが“1”にセットされているときに、該当するエリ アの FIFO 領域にデータが存在する状態になると、“1”にセットされます。 Bit1 FIFO_Full 割り込み要因を直接指示します。 AREAn{n=0-5}Join_0.JoinFIFO_Stat ビットが“1”にセットされているときに、該当するエリ アの FIFO 領域が Full になると、“1”にセットされます。 Bit0 FIFO_Empty 割り込み要因を直接指示します。 AREAn{n=0-5}Join_0.JoinFIFO_Stat ビットが“1”にセットされているときに、該当するエリ アの FIFO 領域が Empty になると、“1”にセットされます。 184 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.6 Mode Device / Host 008h MainIntEnb (Main Interrupt Enable) Address 008h Register Name MainIntEnb R/W Bit Symbol Description R/W 7: EnUSB_DeviceIntStat 0: Disable 1: Enable R/W 6: EnUSB_HostIntStat 0: Disable 1: Enable R/W 5: EnCPU_IntStat 0: Disable 1: Enable R/W 4: EnFIFO_IntStat 0: Disable 1: Enable 3: 0: 1: 2: 0: 1: 1: 0: 1 0: EnFinishedPM 0: Disable 1: Enable R/W Reset 00h MainIntStat レジスタの割り込み要因による割り込み信号(XINT)のアサートを許可/禁止するレジスタ です。 対応するビットを“1”にセットすることで割り込みを許可します。 EnUSB_DeviceIntStat, EnUSB_HostIntStat, EnFinishedPM ビットは SLEEP 中も有効です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 185 3. レジスタ詳細説明 3.1.7 Mode Device 009h USB_DeviceIntEnb (Device Interrupt Enable) Address 009h Register Name R/W USB_DeviceIntEnb R/W Bit Symbol Description 7: EnVBUS_Changed 0: Disable 1: Enable 6: 0: 1: R/W 5: EnD_SIE_IntStat 0: Disable 1: Enable R/W 4: EnD_BulkIntStat 0: Disable 1: Enable R/W 3: EnRcvEP0SETUP 0: Disable 1: Enable 2: 0: 1: R/W 1: EnD_EP0IntStat 0: Disable 1: Enable R/W 0: EnD_EPrIntStat 0: Disable 1: Enable / Host Reset 00h USB_DeviceIntStat レジスタの割り込み要因による、MainIntStat レジスタの USB_DeviceIntStat ビットの アサートを許可/禁止します。 EnVBUS_Changed, EnD_SIE_IntStat ビットは SLEEP 中も有効です。 186 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.8 Mode Device / Host 00Ah USB_HostIntEnb (Host Interrupt Enable) Address 00Ah Register Name R/W Bit Symbol Description USB_HostIntEnb R/W 7: EnVBUS_Err 0: Disable 1: Enable R/W 6: EnLineStateChanged 0: Disable 1: Enable R/W 5: EnH_SIE_IntStat1 0: Disable 1: Enable R/W 4: EnH_SIE_IntStat0 0: Disable 1: Enable R/W 3: EnH_FrameIntStat 0: Disable 1: Enable R/W 2: 0: 1: R/W 1: EnH_CH0IntStat 0: Disable 1: Enable R/W 0: EnH_CHrIntStat 0: Disable 1: Enable Reset 00h USB_HostIntStat レジスタの割り込み要因による、MainIntStat レジスタの USB_HostIntStat ビットのア サートを許可/禁止します。 EnVBUS_Err ビット、EnLineStateChanged ビットは SLEEP 中も有効です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 187 3. レジスタ詳細説明 3.1.9 Mode Device 00Bh CPU_IntEnb (CPU Interrupt Enable) Address 00Bh Register Name CPU_IntEnb R/W Bit Symbol R/W 7: EnRAM_RdCmp 0: Disable 1: Enable 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: R/W 1: EnDMA_CountUp 0: Disable 1: Enable R/W 0: EnDMA_Cmp 0: Disable 1: Enable / Host Description Reset 00h CPU_IntStat レジスタの割り込み要因による、MainIntStat レジスタの CPU_IntStat ビットのアサートを許 可/禁止します。 188 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.10 Mode Device 00Ch FIFO_IntEnb (FIFO Interrupt Enable) Address 00Ch Register Name FIFO_IntEnb R/W R/W Bit Symbol Description 7: EnFIFO_DMA_Cmp 0: Disable 1: Enable 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: R/W 2: EnFIFO_NotEmpty 0: Disable 1: Enable R/W 1: EnFIFO_Full 0: Disable 1: Enable R/W 0: EnFIFO_Empty 0: Disable 1: Enable / Host Reset 00h FIFO_IntStat レジスタの割り込み要因による、MainIntStat レジスタの FIFO_IntStat ビットのアサートを 許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 189 3. レジスタ詳細説明 3.1.11 Mode Device 010h RevisionNum (Revision Number) Address 010h Register Name R/W RevisionNum Bit Symbol Description Reset 7: RevisionNum [7] / Host 6: RevisionNum [6] 5: RevisionNum [5] R 4: RevisionNum [4] Revision Number 08h 3: RevisionNum [3] 2: RevisionNum [2] 1: RevisionNum [1] 0: RevisionNum [0] 本 LSI のリビジョンナンバーを示します。このレジスタは SLEEP 中でもアクセス有効です。 現仕様に関してのリビジョンナンバーは、0x08 となっています。 190 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.12 Mode Device 011h ChipReset (Chip Reset) Address 011h Register Name ChipReset R/W R/W / Host W Bit Symbol Description 7: ResetMTM 0: None 1: MTM Reset 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: AllReset 0: None 1: Reset Reset 80h 本 LSI をリセットします。 SLEEP 時でもアクセス有効です。 Bit7 ResetMTM このビットに“1”をセットすると、本 LSI のトランシーバマクロ(MTM)を初期化します。 リセットを解除するには、このビットを“0”にクリアして下さい。 Bit6-1 Reserved Bit0 AllReset CPUIF_MODE レジスタを除く、全回路を初期化します。本レジスタによるソフトリセット では、未初期化期間には遷移しません。 なお、このレジスタにリセット用途以外で、書き込みしないで下さい。 AC スペックに違反してこのレジスタにリセット用途以外の書き込みを行った場合、誤動作 の原因となりますのでご注意下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 191 3. レジスタ詳細説明 3.1.13 Mode Device 012h PM_Control (Power Management Control) Address 012h Register Name PM_Control / Host R/W Bit Symbol Description R/W 7: GoSLEEP 0: Do nothing 1: Go to SLEEP R/W 6: GoACTIVE 0: Do nothing 1: Go to ACTIVE 5: GoCPU_Cut 0: Do nothing 1: Go to CPU Cut mode 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: PM_State[1] Power Management State 00: SLEEP, 01: (SNOOZE), 11: ACTIVE W R 0: PM_State[0] Reset 00h 本 LSI のパワーマネージメント関連の動作設定を行います。 このレジスタは SLEEP 中も有効です。 Bit7 GoSLEEP ACTIVE ステートから SLEEP ステートへの移行を開始します。 ACTIVE ステート時に本ビットを“1”にセットすると、まず PLL の発振を停止し、その後オ シレータの発振を停止し SLEEP ステートに移行します。 どのステートからの移行であっても、移行が完了し次第、本ビットは自動的にクリアされ、 同時に MainIntStat.FinishedPM ビットがセットされます。 Bit6 GoACTIVE SLEEP ステートから ACTIVE ステートへの移行を開始します。 SLEEP ステート時に本ビットを“1”にセットすると、オシレータの発振を開始し、オシレー タ発振安定時間(WakeupTim_H, L に設定された時間)経過後、PLL の発振を開始し、PLL480 発振安定時間(約 250us)経過後、ACTIVE ステートに移行します。 どのステートからの移行であっても、移行が完了し次第、本ビットは自動的にクリアされ、 同時に MainIntStat.FinishedPM ビットがセットされます。 Bit5 GoCPU_Cut SLEEP ステート時、このビットをセットすることで、更に消費電流を低減する CPU_Cut モードに移行します。 SLEEP ステート完全移行後、このビットをセットすると、この CPU 書き込みステート終了 と同時に、CPU インタフェイスの入力端子を XCS 端子を除き初段から OFF にします。こ れにより、XCS 端子以外の信号線が動作しようと、CPU インタフェイスの初段のドライバ が OFF となっているため、不必要な電力消費を抑えることが出来ます。 このモードから復帰するには、本レジスタをダミーリードしてください。ただし、この時、 読み出されるデータは、リードデータは確定しませんので、注意してください。また、こ の復帰動作は、ダミーリード終了と同時に行われるため、必ず XCS が一旦ネゲート(”L” →“H”)になるようにアクセスしてください。一般の CPU の場合、本 LSI 以外のアドレス 空間をアクセスすると、このような動作が行われますので、ご参考下さい。 ※ 本 LSI は SLEEP 中にアクセスできない割り込みステータス(以下、同期ステータス) により、SLEEP 中に XINT 信号がアサートされないようマスクしておりますが、SLEEP 解除と同時に XINT 端子がアサートされるのを回避するため、F/W により以下の処理を 行って下さい。 192 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 <SLEEP 開始前> 同期ステータスを処理し、クリアする(~IntStat)。 同期ステータスをディスエーブルにする(~IntEnb)。 <SLEEP 解除後(ACTIVE 開始後)> 同期ステータスをクリアする(~IntStat)。 同期ステータスをイネーブルにする(~IntEnb)。 Bit4-2 Reserved Bit1-0 PM_State [1:0] 電力モードのステートを表します。 00: SLEEP ステート (OSC オフ、PLL オフ) 01: SLEEP ステート※ (OSC オン、PLL オフ) 11: ACTIVE ステート (OSC オン、PLL オン) な お 本 ス テ ー ト は 、 GoSLEEP ビ ッ ト 或 い は GoACTIVE ビ ッ ト を セ ッ ト し て か ら MainIntStat.FinishedPM 割り込みステータスがセットされるまでは、該当ステートに向かい 逐次変化しますので、参照しないでください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 193 3. レジスタ詳細説明 3.1.14 Mode 014h-015h WakeupTim_H,L (Wakeup Time High, Low) Address Register Name Device 014h WakeupTim_H / Host -015h WakeupTim_L R/W R/W Bit Symbol WakeupTim [15:0] Description Wakeup Time [15:0] Reset 0000h SLEEP ステートから SNOOZE ステートへ復帰する際のオシレータ発振安定時間を設定します。本レジ スタは SLEEP 時にもアクセスが可能です。 SLEEP ステート時に、PM_Control.GoACTIVE ビットに“1”が書き込まれた際に、発振セルをイネーブル にし、オシレータの発振を開始します。この時、カウンタにこの WakeupTim_H,L の設定値をロードし、 OSC の立ち上がりにてカウントダウンを始めます。カウントダウン終了後、内部 OSCCLK のゲートを 開き、PLL 等の回路に CLK を送出開始します。 このオシレータ発振安定時間は、発振子、発振セル、基板、負荷容量等により変化します。もし、デバ イス動作時において、USB の SUSPEND 時に SLEEP ステートまで落とす場合は、USB の RESET 検出 から 5.1ms 以内に 60MHz±10%に内部 SCLK が安定していなければなりません。 したがって、オシレータ発振安定時間 + PLL 安定時間(250us 未満)の合計が 5.1ms 以下とならなけ れなりません。 194 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.15 Mode Device 016h H_USB_Control (Host USB Control ) Address 016h Register Name H_USB_Control R/W R/W / Host Bit Symbol Description 7: VBUS_Enb 0: Disable 1: Enable 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h ホスト に関する動作設定を行います。 このレジスタは SLEEP 中も有効です。 Bit7 VBUS_Enb VBUSEN 端子(出力)の状態を設定します。デフォルトでローレベルです。 Bit6-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 195 3. レジスタ詳細説明 3.1.16 Mode Device 017h H_XcvrControl (Host Xcvr Control) Address 017h Register Name H_XcvrControl / Host R/W Bit Symbol Description R/W 7: TermSelect 0: HS Termination 1: FS Termination R/W 6: RemoveRPD 0: RPD ON 1: RPD OFF R/W 4: XcvrSelect[1] R/W 4: XcvrSelect[0] R/W XcvrSelect[1:0] 91h 3: 0: 1: 2: 0: 1: 1: OpMode [1] Reset OpMode [1:0] 0: OpMode [0] ホストトランシーバマクロに関する設定を行います。 このレジスタは SLEEP 中も有効です。 Bit7 TermSelect HS または FS いずれかのターミネーションを選択して有効にします。 本ビットは、H_NogoControl_0.AutoMode を設定することにより H/W が自動的に設定を行 いますので、設定を行わないでください。 Bit6 RemoveRPD ホストデータラインである DP および DM 用内蔵プルダウン抵抗を ON/OFF します。 0: RPD ON 1: RPD OFF 本ビットは USB ホスト動作時(SUSPEND も含む)においては、必ず“0”(ON)の設定の ままで使用してください。本ビットを“0”から変化させますと、ホストデータラインの特性 が変わり、USB における誤動作を引き起こす可能性がありますのでご注意ください。 Bit5-4 XcvrSelect[1:0] HS、FS、LS のいずれかのトランシーバを選択して有効にします。 00:High Speed トランシーバ 01:Full Speed トランシーバ 10: Reseved 11: Low Speed トランシーバ 本ビットは、H_NogoControl_0.AutoMode を設定することにより H/W が自動的に設定を行 いますので、設定を行わないでください。 Bit3-2 196 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit1-0 OpMode[1:0] MTM のオペレーションモードを設定します。 本ビットは、H_NogoControl_0.AutoMode を設定することにより H/W が自動的に設定を行 いますので、設定を行わないでください。 ただし、信号ライン変化ステータスを検出する場合は、「1.1.2.2 信号ライン変化ステータ スの使用方法」を参照のうえ、本ビットの設定を行ってください。 OpMode 00 “Normal Operation” 通常使用状態 01 “Non-Driving” 非使用状態 10 “Disable Bitstuffing and NRZI encoding” 通常使用状態で Bitstuffing と NRZI encoding 機能ディ セーブル状態 11 “Power-Down” シングルエンドレシーバのみ使用する状態 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 197 3. レジスタ詳細説明 3.1.17 Mode Device 018h D_USB_Status (Device USB Status) Address Register Name 018h D_USB_Status / Host R/W Bit Symbol Description R 7: VBUS 0: VBUS = L 1: VBUS = H R/W 6: FSxHS 0: HS mode 1: FS mode R 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: LineState [1] Reset XXh Line State [1:0] 0: LineState [0] デバイスに関するステータスを表示します。 Bit7 VBUS VBUS 端子の状態が表示されます。このビットは SLEEP 中でも有効です。 Bit6 FSxHS 現 在 の 動 作 モ ー ド を 示 し ま す 。 D_NegoControl.GoChirp ビ ッ ト に よ り “HS Detection Handshake”(機能説明参照)を実行すると、自動的に設定されます。このビットを書き込 むことにより動作モードを強制的に変更することも可能ですが、シミュレーション等で “HS Detection Handshake”を行わずに動作モードを切り替えたい場合にのみ、このビットを 操作してください。 ケーブルアタッチ時に、“FS(1)”にセットして下さい。 このビットは SLEEP 中でも読み出すことが出来ますが、書き込みは ACTIVE 時になりま す。 Bit5-2 Reserved Bit1-0 LineState [1:0] USB ケーブル上の信号状態を示します。このビットは SLEEP 中でも有効です。 D_XcvrControl レジスタの TermSelect ビットが“1”である時(FS ターミネーション選択時)、 XcvrSelect ビットが “1” (FS トランシーバ選択時)であれば、DP/DM の FS レシーバの受信値を、XcvrSelect が“0” (HS トランシーバ選択時)であれば、HS レシーバの受信値を示します。 TermSelect が “0” である時は、USB のバス・アクティビティを示します。 LineState TermSelect 198 DP / DM LineState [1:0] 0 Don’t Care バス・アクティビティ 1 SE0 0b00 1 J 0b01 1 K 0b10 1 SE1 0b11 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.18 Mode Device 019h H_USB_Status (Host USB Status) Address 019h Register Name R/W H_USB_Status R / Host R Bit Symbol Description 7: VBUS_State 0: VBUSFLG = High 1: VBUSFLG= Low 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: LineState [1] Reset XXh Line State [1:0] 0: LineState [0] ホストに関するステータスを表示します。 このレジスタは SLEEP 中も有効です。 Bit7 VBUS_State VBUSFLG 端子の状態が表示されます。 Bit6-2 Reserved Bit1-0 LineState [1:0] USB ケーブル上の信号状態を示します。 H_XcvrControl レジスタの XcvrSelect[1:0]が“01”である時(FS トランシーバ選択時)は DP/DM の FS レシーバの受信値を、“11”である時(LS トランシーバ選択時)は DP/DM の LS レシーバの受信値を示します。 XcvrSelect[1:0]が“00”である時(HS トランシーバ選択時)は、USB のバス・アクティビティを 示します。 LineState XcvrSelect[1:0] DP / DM LineState [1:0] 00 Don’t Care バス・アクティビティ アクティビティ有: 0b01 アクティビティ無: 0b00 01 または 11 SE0 0b00 01 または 11 J 0b01 01 または 11 K 0b10 01 または 11 SE1 0b11 (注) XcvrSelect[1:0]=“10”のコードは Reserved のため、そのときの動作は保証いたしません。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 199 3. レジスタ詳細説明 3.1.19 Mode Device 01Bh MTM_Config (Multi Transceiver Macro Config) Address 01Bh Register Name R/W MTM_Config / Host Bit Symbol Description 7: 0: 1: 6: 0: 1: R/W 5: MTM_SlopeValue[1] R/W 4: MTM_SlopeValue[0] MTM Slope Value[1:0] XXh 3: 0: 1: 2: 0: 1: R/W 1: MTM_TermValue[1] R/W 0: MTM_TermValue[0] Reset MTM Termination Value[1:0] トランシーバマクロの調整値設定用レジスタです。 Bit7-6 Reserved Bit5-4 MTM_SlopeValue[1:0] HS トランスミッタのスルーレートを調整します。4 段階の調整が可能です。 00:緩 01:↑ 10:↓ 11:急 Bit3-2 Reserved Bit1-0 MTM_TermValue[1:0] HS 伝送路のターミネーションを調整します。4 段階の調整が可能です。 00:高 01:↑ 10:↓ 11:低 200 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.20 Mode Device 01Fh HostDeviceSel (Host Device Select) Address 01Fh Register Name R/W HostDeviceSel / Host R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: HOSTxDEVICE 0: Device mode 1: Host mode Reset 00h USB のデバイス・モードまたはホスト・モードの設定を行います。 このレジスタは SLEEP 中も有効です。 Bit7-1 Reserved Bit0 HOSTxDEVICE USB のデバイス・モードまたはホスト・モードの設定を行います。 0: USB デバイス・モード 1: USB ホスト・モード このビットによって、内部システムクロックを操作しています。HOSTxDEVICE が“0”の 時、すなわち Device Mode の場合には、共通ブロックと USB のデバイスブロックへシステ ムクロックを供給し、USB のホストブロックへのシステムクロックを停止します。HOST xDEVICE が“1”の時、すなわち Host Mode の場合には、共通ブロックと USB のホストブ ロックへシステムクロックを供給し、USB のデバイスブロックへのシステムクロックを停 止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 201 3. レジスタ詳細説明 3.1.21 020h FIFO_Rd_0 (FIFO Read 0) 3.1.21 021h FIFO_Rd_1 (FIFO Read 1) Mode Device Address 020h Register Name R/W FIFO_Rd_0 Bit Symbol Description Reset 7: FIFO_Rd_0 [7] / Host 6: FIFO_Rd_0 [6] 5: FIFO_Rd_0 [5] R 4: FIFO_Rd_0 [4] FIFO Read XXh 3: FIFO_Rd_0 [3] 2: FIFO_Rd_0 [2] 1: FIFO_Rd_0 [1] 0: FIFO_Rd_0 [0] Mode Device Address 021h Register Name R/W FIFO_Rd_1 Bit Symbol Description Reset 7: FIFO_Rd_1 [7] / Host 6: FIFO_Rd_1 [6] 5: FIFO_Rd_1 [5] R 4: FIFO_Rd_1 [4] FIFO Read XXh 3: FIFO_Rd_1 [3] 2: FIFO_Rd_1 [2] 1: FIFO_Rd_1 [1] 0: FIFO_Rd_1 [0] 020h.Bit7-0 FIFO_Rd_0 [7:0] 021h.Bit7-0 FIFO_Rd_1[7:0] AREAn{n=0-5}Join_0.JoinCPU_Rd ビットがセットされている FIFO のデータを読み出せま す。 FIFO にバイト境界がある場合に、このレジスタを読み出した場合は片側にのみ有効なデー タが出力されます。詳細は機能説明“FIFO アクセスの端数処理”をご参照ください。 このレジスタを用いて FIFO のデータを読み出す場合は、必ず FIFO_RdRemain_H,L レジス タにより読み出し可能データ数を確認した後、リードを行ってください。 202 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.23 022h FIFO_Wr_0(FIFO Write 0) 3.1.24 023h FIFO_Wr_1(FIFO Write 1) Mode Device Address 022h Register Name R/W FIFO_Wr_0 Bit Symbol Description Reset 7: FIFO_Wr_0 [7] / Host 6: FIFO_Wr_0 [6] 5: FIFO_Wr_0 [5] W 4: FIFO_Wr_0 [4] FIFO Write XXh 3: FIFO_Wr_0 [3] 2: FIFO_Wr_0 [1] 1: FIFO_Wr_0 [1] 0: FIFO_Wr_0 [0] Mode Device Address 023h Register Name R/W FIFO_Wr_1 Bit Symbol Description Reset 7: FIFO_Wr_1 [7] / Host 6: FIFO_Wr_1 [6] 5: FIFO_Wr_1 [5] W 4: FIFO_Wr_1 [4] FIFO Write XXh 3: FIFO_Wr_1 [3] 2: FIFO_Wr_1 [2] 1: FIFO_Wr_1 [1] 0: FIFO_Wr_1 [0] 022h.Bit7-0 FIFO_Wr_0 [7:0] 023h.Bit7-0 FIFO_Wr_1[7:0] AREAn{n=0-5}Join_0.JoinCPU_Wr ビットがセットされている FIFO へデータを書き込めま す。 FIFO にバイト境界がある場合に、このレジスタへ書き込んだ場合は片側のみ書き込みが行 われます。詳細は機能説明“FIFO アクセスの端数処理”をご参照ください。 このレジスタを用いて FIFO へデータを書き込む場合は、必ず FIFO_WrRemain_H,L レジス タにより、書き込み可能データ数を確認した後、ライトを行ってください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 203 3. レジスタ詳細説明 3.1.25 Mode Device 024h-025h FIFO_RdRemain_H.L (FIFO Read Remain High, Low) Address 024h-025h Register Name R/W FIFO_RdRemain_H,L R / Host Bit Symbol Description 15: RdRemainValid 0:None 1: Read Remain Valid 14: 0: 1: 13: 0: 1: Reset 12: RdRemain [12] 11: RdRemain [11] 10: RdRemain [10] 9: RdRemain [9] 8: RdRemain [8] 00h 7: RdRemain [7] R 6: RdRemain [6] Read Remain 5: RdRemain [5] 4: RdRemain [4] 3: RdRemain [3] 2: RdRemain [2] 1: RdRemain [1] 0: RdRemain [0] Bit15 RdRemainValid AREAn{n=0-5}Join_0.JoinCPU_Rd ビットによって、CPU I/F に FIFO がジョインされかつ、 FIFO_RdRemain の値が有効な場合に“1”にセットされます。 このビットがクリアされている場合の RdRemain の値は無効です。 Bit14-13 Reserved Bit12 -0 RdRemain [12:0] AREAn{n=0-5}Join_0.JoinCPU_Rd ビットによって、CPU I/F に接続している FIFO 内のリー ド 可 能 な デ ー タ 数 を 示 し ま す 。 FIFO の リ ー ド 可 能 な デ ー タ 数 を 取 得 す る 場 合 は 、 FIFO_RdRemain_H レジスタと FIFO_RdRemain_L レジスタを対でアクセスする必要があり ます。 204 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.26 Mode Device 026h-027h FIFO_WrRemain_H.L (FIFO Write Remain High, Low) Address 026h-027h Register Name R/W WrRemain_H,L / Host Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: Reset 12: WrRemain [12] 11: WrRemain [11] 10: WrRemain [10] 9: WrRemain [9] 8: WrRemain [8] 00h 7: WrRemain [7] R 6: WrRemain [6] FIFO Write Remain 5: WrRemain [5] 4: WrRemain [4] 3: WrRemain [3] 2: WrRemain [2] 1: WrRemain [1] 0: WrRemain [0] Bit15-13 Reserved Bit12 -0 WrRemain [12:0] AREAn{n=0-5}Join_0.JoinCPU_Wr ビットによって、CPU I/F に接続している FIFO の空き容 量を示します。ただし、FIFO への書き込み直後には正確な FIFO の空き容量を確認するこ とは出来ません。1CPU サイクル以上の間隔を開けて FIFO の空き容量を確認して下さい。 FIFO の空き容量を取得する場合は、FIFO_WrRemain_H レジスタと FIFO_WrRemain_L レジ スタを対でアクセスする必要があります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 205 3. レジスタ詳細説明 3.1.27 Mode Device 028h FIFO_ByteRd(FIFO Byte Read) Address 028h Register Name R/W FIFO_ByteRd Bit Symbol Description Reset 7: FIFO_ByteRd [7] / Host 6: FIFO_ByteRd [6] 5: FIFO_ByteRd [5] R 4: FIFO_ByteRd [4] FIFO Byte Read XXh 3: FIFO_ByteRd [3] 2: FIFO_ByteRd [2] 1: FIFO_ByteRd [1] 0: FIFO_ByteRd [0] Bit7-0 FIFO_ByteRd [7:0] AREAn{n=0-5}Join_0.JoinCPU_Rd ビットがセットされている FIFO のデータをバイト単位 で 読 み 出 せ ま す 。 こ の レ ジ ス タ を 用 い て FIFO の デ ー タ を 読 み 出 す 場 合 は 、 必 ず FIFO_RdRemain_H,L レジスタにより読み出し可能データ数を確認した後、リードを行って ください。 206 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.28 Mode Device 02Ah FIFO_ByteWr(FIFO Byte Write) Address 02Ah Register Name R/W FIFO_ByteWr Bit Symbol Description Reset 7: FIFO_ByteWr [7] / Host 6: FIFO_ByteWr [6] 5: FIFO_ByteWr [5] W 4: FIFO_ByteWr [4] FIFO Byte Write XXh 3: FIFO_ByteWr [3] 2: FIFO_ByteWr [2] 1: FIFO_ByteWr [1] 0: FIFO_ByteWr [0] Bit7-0 FIFO_ByteWr[7:0] AREAn{n=0-5}Join_0.JoinCPU_Wr ビットがセットされている FIFO に、データをバイト単 位で書き込めます。このレジスタを用いて FIFO のデータを書き込む場合は、必ず FIFO_WrRemain_H,L レジスタにより書き込み可能データ数を確認した後、ライトを行って ください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 207 3. レジスタ詳細説明 3.1.29 Mode Device 02Ch CacheRemain (Host Device Select) Address 02Ch Register Name R/W CacheRemain / Host R/W Bit Symbol Description 7:WrFIFO_C_Remain 0: Not Remain 1: Remain 6:WrDOOR_C_Remain 0: Not Remain 1: Remain 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h ライトキャッシュの状態を示します。 Bit7 WrFIFO_C_Remain FIFO_Wr_0,1 または FIFO_ByteWr レジスタ使用時、書き込みデータがキャッシュに残って いることを示すビットです。 0:キャッシュにデータが存在しません。 1:キャッシュにデータが存在します。 FIFO_Wr_0,1、FIFO_ByteWr レジスタへのライト後、次にあげる動作を行う前に、 データを FIFO に書き込み終えたことを、本ビットにより確認して下さい。 守られなかった場合は、正しいデータの書き込みが保証されません。 <WrFIFO_C_Remain ビットの確認が必要となる動作> • JoinCPU_Wr を切り替える、または、クリアする。 • AREAnFIFO_Clr にて、FIFO クリアする。 Bit6 WrDOOR_C_Remain RAM_WrDoor_0,1 レジスタ使用時、書き込みデータがキャッシュに残っていることを示す ビットです。 0:キャッシュにデータが存在しません。 1:キャッシュにデータが存在します。 RAM_WrDoor_0,1 レジスタへのライト後、次にあげる動作を行う前に、 データを FIFO に書き込み終えたことを、本ビットにより確認して下さい。 守られなかった場合は、正しいデータの書き込みが保証されません。 <WrDOOR_C_Remain ビットの確認が必要となる動作> • RAM_WrDoorAdrs_H,L を書き換える。 • デバイス動作時、EnShortPkt をセットして、ショートパケットの送信を始める。 • デバイス動作時、ReplyDescriptor をセットして、データ送信を始める。 • デバイス動作時、GoCSW_Mode をセットして、CSW 送信を始める。 • ホスト動作時、BO_SupportGo をセットして、CBW 送信を始める。 Bit5-0 208 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.30 Mode Device 030h-031h RAM_RdAdrs_H,L (RAM Read Address High, Low) Address 030h-031h Register Name R/W RAM_RdAdrs_H,L / Host Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: Reset 12: RAM_RdAdrs [12] 11: RAM_RdAdrs [11] 10: RAM_RdAdrs [10] 9: RAM_RdAdrs [9] 8: RAM_RdAdrs [8] 7: RAM_RdAdrs [7] R/W 00h RAM Read Address 6: RAM_RdAdrs [6] 5: RAM_RdAdrs [5] 4: RAM_RdAdrs [4] 3: RAM_RdAdrs [3] 2: RAM_RdAdrs [2] Bit15-13 Reserved Bit12-2 RAM_RdAdrs[12:2] 1: 0: 1: 0: 0: 1: RAM_Rd を行う先頭アドレスを設定します。このレジスタを設定した後、RAM_RdCount レジスタを設定し、RAM_RdControl レジスタのビットをセットして下さい。RAM_Rd 機能 が開始します。このレジスタの値は、 RAM_Rd 機能作動中は内部動作に応じて変化します。 従って、一旦 RAM_RdControl レジスタのビットをセットして、RAM_Rd 機能を開始させ た後は CPU_IntStat.RAM_RdCmp ビットがセットされるまでこのレジスタの値を読み出さ ないで下さい。RAM_Rd 機能作動中にこのレジスタを読み出した場合の値は保証されませ ん。また、RAM_Rd 機能作動中にこのレジスタに書き込んだ場合、誤動作の原因となりま すのでご注意ください。 Bit1-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 209 3. レジスタ詳細説明 3.1.31 Mode Device 032h RAM_RdControl (RAM Read Control) Address 032h Register Name RAM_RdControl / Host Bit7 R/W Bit Symbol Description R/W 7: RAM_GoRdCBW_CSW 0: Do nothing 1: RAM Read CBW_CSW start R/W 6: RAM_GoRd 0: Do nothing 1: RAM Read start 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h RAM_GoRdCBW_CSW デバイス動作時は CBW エリア、ホスト動作時は CSW エリアに受信したデータを読み出す ために RAM_Rd 機能を開始するビットです。 デバイス動作時にこのビットに“1”を書き込むと、RAM_Rd 機能を開始し、CBW エリアか らデータをリードします。RAM_Rd_00~RAM_Rd_1E レジスタの値が有効になると、 CPU_IntStat.RAM_RdCmp ビットが“1”にセットされ、このビットが自動的にクリアされま す。 ホスト動作時にこのビットに“1”を書き込むと、RAM_Rd 機能を開始し、CSW エリアから データをリードします。 RAM_Rd_00~ RAM_Rd_0C レジスタの値が有効になると、 CPU_IntStat.RAM_RdCmp ビットが“1”にセットされ、このビットが自動的にクリアされま す。 いずれの場合も RAM_RdAdrs_H,L レジスタ、RAM_RdCount レジスタの設定は必要ありま せん。 RAM_GoRd ビットと同時にセットすると、本ビットの機能が優先されます。 Bit6 RAM_GoRd RAM_Rd 機能を開始するビットです。 RAM_RdAdrs_H,L レジスタに RAM_Rd を行う先頭アドレスを設定した後、RAM_RdCount レジスタを設定し、このビットに“1”を書き込むと RAM_Rd 機能を開始します。指定され た先頭アドレスから、指定されたカウント数分のデータをリードし RAM_Rd_xx{xx=00-1F} レジスタの値が有効になると CPU_IntStat.RAM_RdCmp ビットが“1”にセットされ、この ビットが自動的にクリアされます。 RAM_GoRdCBW_CSW ビットと同時にセットすると、RAM_GoRdCBW_CSW ビットの機 能が優先されます。 Bit5-0 210 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.32 Mode Device 035h RAM_RdCount (RAM Read Counter) Address 035h Register Name R/W RAM_RdCount / Host Bit Symbol Description 7: 0: 1: 6: 0: 1: Reset 5: RAM_RdCount [5] R/W 4: RAM_RdCount [4] 00h RAM Read Counter 3: RAM_RdCount [3] 2: RAM_RdCount [2] Bit7-6 Reserved Bit5-2 RAM_RdCount [5:2] 1: 0: 1: 0: 0: 1: RAM_Rd 機能を用いて RAM_Rd_xx{xx=00~1F}レジスタにリードするデータ数を設定し ます。RAM_RdAdrs_H,L レジスタを設定した後、このレジスタをセットし、RAM_RdControl レジスタのビットをセットして RAM_Rd 機能を開始して下さい。このレジスタの値は、 RAM_Rd 機能作動中は内部動作に応じて変化します。従って、一旦 RAM_RdControl レジ スタのビットをセットして、RAM_Rd 機能を開始させた後は CPU_IntStat.RAM_RdCmp ビッ トがセットされるまでこのレジスタの値を読み出さないで下さい。RAM_Rd 機能作動中に このレジスタを読み出した場合の値は保証されません。また、RAM_Rd 機能作動中にこの レジスタに書き込んだ場合、誤動作の原因となりますのでご注意ください。 このレジスタの最大設定数は 32 バイトです。32 バイトを超えるデータ数の設定は誤動作 の原因となりますのでご注意ください。 Bit1-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 211 3. レジスタ詳細説明 3.1.33 Mode Device 038h-039h RAM_WrAdrs_H,L (RAM Write Address High, Low) Address Register Name 038h-039h RAM_WrAdrs_H,L R/W / Host Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: Reset 12: RAM_WrAdrs [12] 11: RAM_WrAdrs [11] 10: RAM_WrAdrs [10] 9: RAM_WrAdrs [9] 8: RAM_WrAdrs [8] 00h 7: RAM_WrAdrs [7] R/W 6: RAM_WrAdrs [6] RAM Write Address 5: RAM_WrAdrs [5] 4: RAM_WrAdrs [4] 3: RAM_WrAdrs [3] 2: RAM_WrAdrs [2] 1: RAM_WrAdrs [1] 0: RAM_WrAdrs [0] RAM_WrDoor_0,1 レジスタによる RAM へのライトを行うアドレスを指定します。 Bit15-13 Reserved Bit12-0 RAM_WrAdrs[12:0] RAM への書き込みを行う際のアドレスを指定します。RAM_WrDoor_0,1 レジスタへの書き 込みバイト数に応じてアドレスはインクリメントされます。RAM_WrDoor_0,1 レジスタ書 き込み直後には正確な RAM_WrAdrs を確認する事は出来ませんので、1CPU サイクル以上 の 間 隔 を 開 け て 、 RAM_WrAdrs を 確 認 し て 下 さ い 。 デ ー タ の 書 き 込 み に 関 し て は RAM_WrDoor_0,1 レジスタの項を参照して下さい。 なお、書き込み開始アドレスに以下の制限があります。 (1) 書き込み開始アドレスを、RAM_WrAdrs_H,L == 0x0100 より下位とする。 (2) 書き込み開始アドレスを、RAM_WrAdrs_H,L[1:0] == 0b00(すなわち 4Byte 境界)とす る。 212 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.34 03Ah RAM_WrDoor_0 (RAM Write Door 0) 3.1.35 03Bh RAM_WrDoor_1 (RAM Write Door 1) Mode Device Address 03Ah Register Name R/W RAM_WrDoor_0 Bit Symbol Description Reset 7: RAM_WrDoor_0 [7] / Host 6: RAM_WrDoor_0 [6] 5: RAM_WrDoor_0 [5] W 4: RAM_WrDoor_0 [4] RAM Write Door 0 XXh 3: RAM_WrDoor_0 [3] 2: RAM_WrDoor_0 [2] 1: RAM_WrDoor_0 [1] 0: RAM_WrDoor_0 [0] Mode Device Address 03Bh Register Name R/W RAM_WrDoor_1 Bit Symbol Description Reset 7: RAM_WrDoor_1 [7] / Host 6: RAM_WrDoor_1 [6] 5: RAM_WrDoor_1 [5] W 4: RAM_WrDoor_1 [4] RAM Write Door 1 XXh 3: RAM_WrDoor_1 [3] 2: RAM_WrDoor_1 [2] 1: RAM_WrDoor_1 [1] 0: RAM_WrDoor_1 [0] 03Ah.Bit7-0 RAM_WrDoor_0 [7:0] 03Bh.Bit7-0 RAM_WrDoor_1[7:0] RAM へのライトを行う際のアクセスレジスタです。ライトオンリーのレジスタです。 書き込み開始前に、RAM_WrAdrs_H,L レジスタに、RAM のデータを書き込む先頭アドレ スを設定して下さい。その後、このレジスタに書き込みを行えば、RAM_WrAdrs_H,L が自 動的に書き込みバイト数に応じてインクリメントされ、順次書き込みが行えます。 USB デバイスの場合には、RAM_WrDoor_0,1 レジスタにより、デスクリプタエリアおよび CSW エリアへのデータの書き込みを行えます。RAM_WrDoor_0,1 レジスタによりデスクリ プタエリアへ書き込んだデータは、ReplyDescriptor の機能によって何度でも使用できます。 即ち、このデータは Descriptor 返信機能によって、消される、または上書きされることは 有りません。但し、Descriptor データを書き込んだ領域が、他のエンドポイントで確保され ている領域と重なる場合には、データは上書きされることがあります。 USB ホストの場合には、RAM_WrDoor_0,1 レジスタにより、CBW エリアへのデータの書 き込みを行えます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 213 3. レジスタ詳細説明 3.1.36 040h RAM_Rd_00 (RAM Read 00) 3.1.37 041h RAM_Rd_01 (RAM Read 01) 3.1.38 042h RAM_Rd_02 (RAM Read 02) 3.1.39 043h RAM_Rd_03 (RAM Read 03) 3.1.40 044h RAM_Rd_04 (RAM Read 04) 3.1.41 045h RAM_Rd_05 (RAM Read 05) 3.1.42 046h RAM_Rd_06 (RAM Read 06) 3.1.43 047h RAM_Rd_07 (RAM Read 07) 3.1.44 048h RAM_Rd_08 (RAM Read 08) 3.1.45 049h RAM_Rd_09 (RAM Read 09) 3.1.46 04Ah RAM_Rd_0A (RAM Read 0A) 3.1.47 04Bh RAM_Rd_0B (RAM Read 0B) 3.1.48 04Ch RAM_Rd_0C (RAM Read 0C) 3.1.49 04Dh RAM_Rd_0D (RAM Read 0D) 3.1.50 04Eh RAM_Rd_0E (RAM Read 0E) 3.1.51 04Fh RAM_Rd_0F (RAM Read 0F) 3.1.52 050h RAM_Rd_10 (RAM Read 10) 3.1.53 051h RAM_Rd_11 (RAM Read 11) 3.1.54 052h RAM_Rd_12 (RAM Read 12) 3.1.55 053h RAM_Rd_13 (RAM Read 13) 3.1.56 054h RAM_Rd_14 (RAM Read 14) 3.1.57 055h RAM_Rd_15 (RAM Read 15) 3.1.58 056h RAM_Rd_16 (RAM Read 16) 3.1.59 057h RAM_Rd_17 (RAM Read 17) 3.1.60 058h RAM_Rd_18 (RAM Read 18) 3.1.61 059h RAM_Rd_19 (RAM Read 19) 3.1.62 05Ah RAM_Rd_1A (RAM Read 1A) 3.1.63 05Bh RAM_Rd_1B (RAM Read 1B) 3.1.64 05Ch RAM_Rd_1C (RAM Read 1C) 3.1.65 05Dh RAM_Rd_1D (RAM Read 1D) 3.1.66 05Eh RAM_Rd_1E (RAM Read 1E) 214 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.67 Mode 05Fh RAM_Rd_1F (RAM Read 1F) Address Register Name R/W Bit Symbol Device 040h RAM_Rd_00 7: RAM_Rd_xx [7] / Host -05Fh ~ 6: RAM_Rd_xx [6] RAM_Rd_1F Description Reset 5: RAM_Rd_xx [5] R 4: RAM_Rd_xx [4] RAM Read 00h 3: RAM_Rd_xx [3] 2: RAM_Rd_xx [2] 1: RAM_Rd_xx [1] 0: RAM_Rd_xx [0] 040h-05Fh.Bit7-0 RAM_Rd_xx [7:0] RAM_Rd 機 能 を 用 い て RAM か ら リ ー ド し た デ ー タ を 格 納 す る レ ジ ス タ で す 。 RAM_RdAdrs_H,L レジスタ、RAM_RdCount レジスタを設定し、RAM_RdControl レジスタ のビットを用いて RAM_Rd 機能を開始して下さい。本レジスタの値が有効になると FIFO_IntaStat.RAM_RdCmp ビットが“1”にセットされます。RAM_RdCount レジスタに設定 した値が 32 バイト未満の場合、RAM からリードしたデータは RAM_Rd_00 から順に格納 されます。RAM_RdCount レジスタに設定したカウント数以降のレジスタの値(例えば、カ ウント設定が“16”の場合、RAM_Rd_10~RAM_Rd_1F)は無効となります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 215 3. レジスタ詳細説明 3.1.68 Mode Device 061h DMA_Config (DMA Config) Address 061h Register Name R/W DMA_Config R/W 7: FreeRun 0: Count mode 1: FreeRun mode R/W 6: DMA_Mode 0: Normal mode 1: Address Decode mode 5: 0: 1: 4: 0: 1: 3: ActiveDMA 0: DMA Inactive 1: DMA Active 2: 0: 1: / Host R/W R/W Bit Symbol 1: ReqAssertCount [1] Description Reset 00h Request Assert Count 0: ReqAssertCount [0] DMA の動作モードを設定します。 Bit7 FreeRun DMA の動作モードを設定します。 0:カウントモード 1:フリーランモード Bit6 DMA_Mode DMA のモードを設定します。 0: ホストからの XDACK をアクノリッジとして DMA 動作します。 1: ホストからの DMA_RdData/DMA_WrData レジスタに対するアクセスをアクノ リッジとして DMA 動作します。 Bit5-4 Reserved Bit3 ActiveDMA DMA の DACK を有効にします。 0:DMA(DACK)無効 1:DMA(DACK)有効 Bit2 Reserved Bit1-0 ReqAssertCount [1:0] CPU のバーストリード/バーストライトに対応するための、REQ アサートカウントオプ ション設定ビットです。 XDREQ のアサートカウント数(転送バイト数)を設定します。設定されたアサートカウ ント数以上の書き込み可能な空き領域/読み出し可能なデータが FIFO にある場合に XDREQ をアサートします。設定されたアサートカウント数の DMA 転送を終了すると一旦 XDREQ をネゲートし、再度アサートカウント数以上の空き領域/データを確認した時点 で XDREQ をアサートします。つまり、一回の XDREQ のアサートに対し、設定されたア サートカウント数分の転送を保証します。 ただし、カウントモードに設定され、且つ DMA_Count_HH,HL,LH,LL の残りカウント数が 設定されたアサートカウント数より小さい場合は DMA_Count_HH,HL,LH,LL のカウント数 が優先され、DMA_Count_HH,HL,LH,LL のカウント数以上の空き領域/データが FIFO に ある場合に XDREQ をアサートします。 下表に DMA_Count_HH,HL,LH,LL(表では Count)、ReqAssertCount(表では Req)、FIFO の空き領域/データ(表では Ready)と XDREQ 信号及び転送可能数の関係を示します。 216 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 DMA_Count_HH,HL,LH,LL の残りカウントが“1”以上である事が必須条件です。 Count>=Req XDREQ Count<Req Ready>=Req Ready<Req Ready>=Count Ready<Count アサート ネゲート アサート ネゲート Req - Req - 転送可能数 ReqAssertCount [1:0] モード 16bit mode 0b00 Normal 0b01 16Byte(8Count) 0b10 32Byte(16Count) 0b11 64Byte(32Count) 00(Normal)設定時には REQ アサートカウントオプション未使用となります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 217 3. レジスタ詳細説明 3.1.69 Mode Device 062h DMA_Control (DMA Control) Address 062h Register Name DMA_Control R/W R Bit Symbol Description 7: DMA_Running 0: DMA is not running 1: DMA is running 6: 0: 1: 5: 0: 1: 4: CounterClr 0: Do nothing 1: Clear DMA counter 3: Dir 0: CPU-IF → FIFO RAM 1: CPU-IF ← FIFO RAM 2: 0: 1: W 1: DMA_Stop 0: Do nothing 1: Finish DMA W 0: DMA_Go 0: Do nothing 1: Start DMA / Host W R/W Reset 00h DMA の制御、及び状態を表示します。 Bit7 DMA_Running DMA の転送中、このビットが“1”にセットされます。このビットが“1”である間は、 AREAn{n=0-5}Join_0.JoinDMA ビットを書き換えることはできません。 Bit6-5 Reserved Bit4 CounterClr このビットに“1”をセットすると、DMA_Count_HH,HL,LH,LL レジスタが 0x00 にクリアさ れます。DMA_Running ビットが“1”である時は、このビットへの書き込みは無視されます。 Bit3 Dir DMA の転送方向を設定します。 0: CPU-IF → FIFO RAM(DMA ライト) 1: CPU-IF ← FIFO RAM(DMA リード) Bit2 Reserved Bit1 DMA_Stop このビットに“1”をセットすると、DMA の転送を終了します。DMA の転送を停止すると、 DMA_Running ビットを“0”にクリアします。また、CPU_IntStat レジスタの DMA_Cmp ビッ トに“1”をセットします。DMA の転送を再開する場合、DMA_Running ビットまたは DMA_Cmp ビットを確認し、DMA が終了するのを待って行って下さい。 Bit0 DMA_Go このビットを“1”にセットすると、DMA の転送を開始します。 218 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.70 Mode Device 064h-065h DMA_Remain_H,L (DMA FIFO Remain High, Low) Address 064h-065h Register Name R/W DMA_Remain_H,L / Host Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: Reset 12: DMA_Remain [12] 11: DMA_Remain [11] 10: DMA_Remain [10] 9: DMA_Remain [9] 8: DMA_Remain [8] 0000h 7: DMA_Remain [7] R 6: DMA_Remain [6] DMA FIFO Remain 5: DMA_Remain [5] 4: DMA_Remain [4] 3: DMA_Remain [3] 2: DMA_Remain [2] 1: DMA_Remain [1] 0: DMA_Remain [0] Bit15-13 Reserved Bit12-0 DMA_Remain [12:0] 読み出しの場合、AREAn{n=0-5}Join_0.JoinDMA ビットによって DMA に接続している FIFO の残りデータ数を示します。 書き込みの場合、AREAn{n=0-5}Join_0.JoinDMA ビットによって DMA に接続している FIFO の空き容量を示します。 DMA 書き込みを行った直後にはこのレジスタで正しい FIFO の空き容量を参照する事が出 来ません。1CPU サイクル以上の間隔を空けて FIFO の空き容量を確認してください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 219 3. レジスタ詳細説明 3.1.71 Mode Device 067h DMA_EdgeMode (DMA Edge Mode) Address 067h Register Name DMA_EdgeMode R/W R/W / Host Bit Symbol Description 7:EdgeSenseEn 0: Disable 1: Enable 6: 0: 1: 5: 0: 1: 4: 0: 1: R/W 3:NgtControl[3] R/W 2: NgtControl[2] R/W 1: NgtControl[1] R/W 0: NgtControl[0] Reset 00h NgtContorol DMA 転送における Edge Sense Mode(Single Word DMA)の設定を行います。 Bit7 EdgeSenseEn DMA 転送において、Edge Sense Mode を有効にします。 0:Edge Sense Mode 無効 1:Edge Sense Mode 有効 Edge Sense Mode が有効となった場合、1 ワード転送する毎に IC の XDREQ 信号がネゲート されます。 DMA_Config.ReqAssertCount 以外の DMA 設定と本レジスタを同時に設定し、共用するこ とが可能です。 DMA_Config.ReqAssertCount と同時に設定した場合、ReqAssertCount の設定値を無視して、 1 ワード転送毎に、 XDREQ 信号をネゲートします。 Bit6-4 Reserved Bit3-0 NgtCount[3:0] Edge Sense Mode が有効な場合に、XDREQ の最小ネゲート期間を調整するために使用しま す。 本レジスタは DMA_EdgeMode.EdgeSenseEn が設定されている場合のみ有効です。 XDREQ 最小ネゲート期間は(本レジスタビット+3)×16.6ns です。 220 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.72 068h-069h DMA_Count_HH,HL (DMA Transfer Byte Counter High/High, High/Low) 3.1.73 06Ah-06Bh DMA_Count_LH,LL (DMA Transfer Byte Counter Low/High, Low/Low) Mode Device Address 068h-069h Register Name R/W DMA_Count_HH,HL Bit Symbol Description Reset 15: DMA_Count [31] / Host 14: DMA_Count [30] 13: DMA_Count [29] 12: DMA_Count [28] 11: DMA_Count [27] 10: DMA_Count [26] 9: DMA_Count [25] R/W 8: DMA_Count [24] DMA Transfer Byte Counter High 0000h 7: DMA_Count [23] 6: DMA_Count [22] 5: DMA_Count [21] 4: DMA_Count [20] 3: DMA_Count [19] 2: DMA_Count [18] 1: DMA_Count [17] 0: DMA_Count [16] Mode Device Address 06Ah-06Bh Register Name R/W DMA_Count_LH,LL Bit Symbol Description Reset 15: DMA_Count [15] / Host 14: DMA_Count [14] 13: DMA_Count [13] 12: DMA_Count [12] 11: DMA_Count [11] 10: DMA_Count [10] 9: DMA_Count [9] R/W 8: DMA_Count [8] DMA Transfer Byte Counter Low 0000h 7: DMA_Count [7] 6: DMA_Count [6] 5: DMA_Count [5] 4: DMA_Count [4] 3: DMA_Count [3] 2: DMA_Count [2] 1: DMA_Count [1] 0: DMA_Count [0] カウントモード時に DMA の、転送データ長をバイト単位で設定します。最大 0xFFFF_FFFF バイトま で設定可能です。設定された値からダウンカウントします。本レジスタに転送数を設定した後、 DMA_Control.DMA_Go ビットに“1”をセットして DMA 転送を起動してください。本レジスタに設定さ れた転送 Byte 数の転送が終了すると、DMA 転送は終了します。フリーランモードの場合、設定された 値からカウントアップします。DMA_Count_HH,HL,LH,LL レジスタの値がオーバーフローすると、 CPU_IntStat レジスタの DMA_CountUp ビットに“1”をセットします。オーバーフロー後もカウントは継 続されます。このモードでは、DMA の転送数が参照できます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 221 3. レジスタ詳細説明 DMA 書き込みを行った直後は、このレジスタで正確なカウント数を確認することは出来ません。1CPU サイクル以上の間隔をあけて、カウント数を確認してください。このレジスタをリードする場合は DMA_Count_HH,HL が先、DMA_Count_LH,LL が後の順に読み出してください。 222 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.74 06Ch DMA_RdData_0 (DMA Read Data 0) 3.1.75 06Dh DMA_RdData_1 (DMA Read Data 1) Mode Device Address 06Ch Register Name R/W DMA_RdData_0 Bit Symbol Description Reset 7: DMA_RdData_0 [7] / Host 6: DMA_RdData_0 [6] 5: DMA_RdData_0 [5] R 4: DMA_RdData_0 [4] DMA Read Data 0 XXh 3: DMA_RdData_0 [3] 2: DMA_RdData_0 [2] 1: DMA_RdData_0 [1] 0: DMA_RdData_0 [0] Mode Device Address 06Dh Register Name R/W DMA_RdData_1 Bit Symbol Description Reset 7: DMA_RdData_1 [7] / Host 6: DMA_RdData_1 [6] 5: DMA_RdData_1 [5] R 4: DMA_RdData_1 [4] DMA Read Data 1 XXh 3: DMA_RdData_1 [3] 2: DMA_RdData_1 [2] 1: DMA_RdData_1 [1] 0: DMA_RdData_1 [0] 06Ch.Bit7-0 DMA_RdData_0[7:0] 06Dh.Bit7-0 DMA_RdData_1[7:0] DMA_Config.DMA_Mode ビットが“1”にセットされている場合、このレジスタにアクセスす る事で AREAn{n=0-5}Join_0. JoinDMA ビットによって DMA に接続している FIFO のデータを読み 出す事が出来ます。このとき、DMA_Control.Dir ビットは DMA リードに設定されている必 要があります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 223 3. レジスタ詳細説明 3.1.76 06Eh DMA_WrData_0 (DMA Write Data 0) 3.1.77 06Fh DMA_WrData_1 (DMA Write Data 1) Mode Device Address 06Eh Register Name R/W DMA_WrData_0 Bit Symbol Description Reset 7: DMA_WrData_0[7] / Host 6: DMA_WrData_0[6] 5: DMA_WrData_0[5] W 4: DMA_WrData_0[4] DMA Write Data 0 XXh 3: DMA_WrData_0[3] 2: DMA_WrData_0[2] 1: DMA_WrData_0[1] 0: DMA_WrData_0[0] Mode Device Address 06Fh Register Name R/W DMA_WrData_1 Bit Symbol Description Reset 7: DMA_WrData_1[7] / Host 6: DMA_WrData_1[6] 5: DMA_WrData_1[5] W 4: DMA_WrData_1[4] DMA Write Data 1 XXh 3: DMA_WrData_1[3] 2: DMA_WrData_1[2] 1: DMA_WrData_1[1] 0: DMA_WrData_1[0] 06Eh.Bit7-0 DMA_WrData _0[7:0] 06Fh.Bit7-0DMA_WrData _1[7:0] DMA_Config.DMA_Mode ビットが“1”にセットされている場合、このレジスタにアクセスす る事で AREAn{n=0-5}Join_0.JoinDMA ビットによって DMA に接続している FIFO にデータを書き 込む事が出来ます。このとき、DMA_Control.Dir ビットは DMA ライトに設定されている必 要があります。 224 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.78 Mode Device 071h ModeProtect(Mode Protection) Address 071h Register Name R/W ModeProtect Bit Symbol Description Reset 7: ModeProtect [7] / Host 6: ModeProtect [6] 5: ModeProtect [5] R/W 4: ModeProtect [4] Mode Protection 56h 3: ModeProtect [3] 2: ModeProtect [2] 1: ModeProtect [1] 0: ModeProtect [0] Bit7-0 ModeProtect [7:0] CPU_Config レジスタ及び ClkSelect レジスタの値を保護します。このレジスタに 56h を書 き込むと CPU_Config レジスタ及び ClkSelect レジスタへのライトアクセスが有効になりま す。 通常使用においては、CPU_Config レジスタ及び ClkSelect レジスタを任意に設定した後、 このレジスタに 56h 以外の値(例えば 00h)を設定して、CPU_Config レジスタ及び ClkSelect レジスタの設定を保護して下さい。 このビットは、SLEEP 中もアクセス有効です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 225 3. レジスタ詳細説明 3.1.79 Mode Device 073h ClkSelect (Clock Select) Address 073h Register Name ClkSelect R/W R/W / Host R/W Bit Symbol Description 7: ClkSource 0: Xtal 1: CLKIN 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: ClkFreq[1] Input clock frequency 00:12MHz, 01: 24MHz, 11: 48MHz 0: ClkFreq[0] Reset 00h 本 LSI のクロックの初期設定を行います。 本 LSI を動作させる前に、必ず本レジスタの設定を行ってください。 なお、このレジスタは SLEEP 中も有効です。 Bit7 ClkSource 本 LSI にて使用するクロックを設定します。 ClkSource と ClkFreq の関係を以下の表に示します。 CPU_Cut モード時、CLKIN 端子の入力初段も他の CPU インタフェイス端子と同様に初段か ら OFF しています。 Bit6-2 Reserved Bit1-0 ClkFreq [1:0] 本 LSI にて使用するクロックの周波数を設定します。 ClkFreq と CLkSource の関係を以下の表に示します。 ClkSource ClkFreq 0: 水晶振動子 1: CLKIN 端子 00 12MHz ○ ○ 01 24MHz ○ ○ 11 48MHz × ○ ○ ご使用になれます。 × ご使用になれません。 226 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.80 Mode Device 075h CPU_Config (CPU Configuration) Address 075h Register Name CPU_Config / Host R/W Bit Symbol Description R/W 7: IntLevel 0: Low Active 1: High Active R/W 6: IntMode 0: 1/0 mode 1: Hi-z/0 mode R/W 5: DREQ_Level 0: Low Active 1: High Active R/W 4: DACK_Level 0: Low Active 1: High Active R/W 3: CS_Mode 0: DACK mode 1: CS mode R 2: CPU_Endian 0: Do nothing 1: Bus Swap R 1: BusMode 0: XWRH/L mode 1: XBEH/L mode R 0: Inisialized 0: N/A 1: Initialized Reset 01h 本 LSI の動作モードを設定します。 このビットは、SLEEP 中もアクセス有効です。 Bit7 IntLevel XINT の論理レベルを設定します。 0:負論理 1:正論理 Bit6 IntMode XINT の出力モードを設定します。 0:1/0 モード 1:Hi-z/0 モード Bit5 DREQ_Level XDREQ の論理レベルを設定します。 0:負論理 1:正論理 Bit4 DACK_Level XDACK の論理レベルを設定します。 0:負論理 1:正論理 Bit3 CS_Mode DMA の動作モードを設定します。 0: XDACK がアサートされているとき有効な DMA アクセスとして動作します。 1: XCS 且つ XDACK がアサートされているとき有効な DMA アクセスとして動作 します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 227 3. レジスタ詳細説明 Bit2 CPU_Endian CPU バスモードを参照できます。 0:偶数アドレスを上位側、奇数アドレスを下位側とします。 1:偶数アドレスを下位側、奇数アドレスを上位側とします。 このビットには、初期化期間に CPUIF_MODE レジスタに書き込んだ値が反映されます。 Bit1 BusMode CPU の動作モードを参照できます。 0: 16bit Strobe mode 1: 16bit BE mode このビットには、初期化期間に CPUIF_MODE レジスタに書き込んだ値が反映されます。 Bit0 Initialized 初期化期間が終了していることを示します。通常“1”が読めます。 228 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.81 Mode Device 07E-07Fh CPUIF_MODE (CPUIF Mode) Address 07Eh-07Fh Register Name R/W CPUIF_MODE Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: 12: 0: 1: 11: 0: 1: W 10: CPU_Endian 0: Big Endian 1: Little Endian W 9: BusMode 0: Strobe mode 1: BE mode 8: 0: 1: 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: W 2: CPU_Endian 0: Big Endian 1: Little Endian W 1: BusMode 0: Strobe mode 1: BE mode 0: 0: 1: / Host Reset XXh このレジスタは、未初期化期間にのみアクセス可能です。 本 LSI の CPUIF の動作モードを設定します。 本 LSI のハードリセット後に、必ず本レジスタの設定を行って下さい。このレジスタの設定方法は、 「1.6.2 CPUIF のモード設定」を参照して下さい。 偶数バイトと奇数バイトで、同じレジスタビットが定義されていますが、どちらか一方、または、両方 に“1”が書き込まれると、セットされます。 Bit10,2 CPU_Endian CPUIF のエンディアンを設定します。 Bit9,1 BusMode CPUIF のライトアクセスのモードを設定します。 Bit15-11,8-3,0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 229 3. レジスタ詳細説明 3.1.82 080h-081h AREA0StartAdrs_H,L (AREA 0 Start Address High, Low) 3.1.83 084h-085h AREA1StartAdrs_H,L (AREA 1 Start Address High, Low) 3.1.84 088h-089h AREA2StartAdrs_H,L (AREA 2 Start Address High, Low) 3.1.85 08Ch-08Dh AREA3StartAdrs_H,L (AREA 3 Start Address High, Low) 3.1.86 090h-091h AREA4StartAdrs_H,L (AREA 4 Start Address High, Low) 3.1.87 094h-095h AREA5StartAdrs_H,L (AREA 5 Start Address High, Low) Mode Address Register Name R/W Bit Symbol Description Device 080h-081h AREA0StartAdrs_H,L 15: 0: 1: / Host 084h-085h AREA1StartAdrs_H,L 14: 0: 1: 088h-089h AREA2StartAdrs_H,L 13: 0: 1: 08Ch-08Dh AREA3StartAdrs_H,L 12: StartAdrs[12] 090h-091h AREA4StartAdrs_H,L 11: StartAdrs[11] 094h-095h AREA5StartAdrs_H,L 10: StartAdrs[10] Reset 9: StartAdrs[9] 8: StartAdrs[8] R/W 7: StartAdrs[7] 0000h AREAx{x=0-5} Start Address 6: StartAdrs[6] 5: StartAdrs[5] 4: StartAdrs[4] 3: StartAdrs[3] 2: StartAdrs[2] 1: 0: AREAx{x=0-5}で使用する FIFO の領域設定を行います。 Bit15-13 Reserved Bit12 -2 StartAdrs[12:2] FIFO 領域 AREAx{x=0-5}に割り当てる FIFO の先頭アドレスを設定します。 アドレス値は、上位 12 ビット~2 ビットでの設定のため 4 バイト単位での指定になります。 FIFO 領域 AREAx{x=0-5}に割り当てられる領域は、AREAx{x=0-5}EndAdrs にて設定され たアドレスの 1 バイト前までとなります。 AREAx{x=0-5}StartAdrs、AREAx{x=0-5}EndAdrs を設定した後は、必ず AREAnFIFO_Clr レ ジスタの ClrAREAx{x=0-5}ビットに“1”とセットして FIFO 領域 AREAx{x=0-5}の FIFO をク リアして下さい。 なお、ここで設定した領域より、ジョインした USB のデバイス/ホストの MaxSize が大き い場合には、正常に動作しません。また、FIFO 領域が他の FIFO 領域と重なった場合も、 正常に動作しません。 本 LSI の内蔵 RAM は 4.5kB ですので、最大 0x1200 番地のアドレスをサポートしています。 Bit1-0 230 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.88 082h-083h AREA0EndAdrs_H,L (AREA 0 End Address High, Low) 3.1.89 086h-087h AREA1EndAdrs_H,L (AREA 1 End Address High, Low) 3.1.90 08Ah-08Bh AREA2EndAdrs_H,L (AREA 2 End Address High, Low) 3.1.91 08Eh-08Fh AREA3EndAdrs_H,L (AREA 3 End Address High, Low) 3.1.92 092h-093h AREA4EndAdrs_H,L (AREA 4 End Address High, Low) 3.1.93 096h-097h AREA5EndAdrs_H,L (AREA 5 End Address High,Low) Mode Address Register Name R/W Bit Symbol Description Device 082h-083h AREA0EndAdrs_H,L 15: 0: 1: / Host 086h-087h AREA1EndAdrs_H,L 14: 0: 1: 08Ah-08Bh AREA2EndAdrs_H,L 13: 0: 1: 08Eh-08Fh AREA3EndAdrs_H,L 12: EndAdrs[12] 092h-093h AREA4EndAdrs_H,L 11: EndAdrs[11] 096h-097h AREA5EndAdrs_H,L 10: EndAdrs[10] Reset 9: EndAdrs[9] 8: EndAdrs[8] R/W 7: EndAdrs[7] 0000h AREAx{x=0-5} End Address 6: EndAdrs[6] 5: EndAdrs[5] 4: EndAdrs[4] 3: EndAdrs[3] 2: EndAdrs[2] 1: 0: AREAx{x=0-5}で使用する FIFO の領域設定を行います。 Bit15-13 Reserved Bit12 -2 EndAdrs[12:2] FIFO 領域 AREAx{x=0-5}に割り当てる FIFO の最終アドレスの次のバイトを設定します。 アドレス値は、上位 12 ビット~2 ビットでの設定のため 4 バイト単位での指定になります。 FIFO 領域 AREAx{x=0-5}に割り当てられる領域は、AREAx{x=0-5}EndAdrs にて設定された アドレスの 1 バイト前までとなります。 AREAx{x=0-5}StartAdrs、AREAx{x=0-5}EndAdrs を設定した後は、必ず AREAnFIFO_Clr レ ジスタの ClrAREAx{x=0-5}ビットに“1”とセットして FIFO 領域 AREAx{x=0-5}の FIFO をク リアして下さい。 なお、ここで設定した領域より、ジョインした USB のデバイス/ホストの MaxSize が大き い場合には、正常に動作しません。また、FIFO 領域が他の FIFO 領域と重なった場合も、 正常に動作しません。 本 LSI の内蔵 RAM は 4.5kB ですので、最大 0x1200 番地のアドレスをサポートしています。 Bit1-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 231 3. レジスタ詳細説明 3.1.94 Mode Device 09Fh AREAnFIFO_Clr (AREA n FIFO Clear ) Address 09Fh Register Name R/W AREAnFIFO_Clr Bit Symbol Description 7: 0: 1: 6: 0: 1: W 5: AREA5FIFO_Clr 0: Do nothing 1: Clear AREA5 FIFO W 4: AREA4FIFO_Clr 0: Do nothing 1: Clear AREA4 FIFO W 3: AREA3FIFO_Clr 0: Do nothing 1: Clear AREA3 FIFO W 2: AREA2FIFO_Clr 0: Do nothing 1: Clear AREA2 FIFO W 1: AREA1FIFO_Clr 0: Do nothing 1: Clear AREA1 FIFO W 0: AREA0FIFO_Clr 0: Do nothing 1: Clear AREA0FIFO / Host Reset XXh 該当する FIFO 領域 AREAn{n=0-5}の FIFO をクリアします。ライトオンリーのレジスタです。 このレジスタの各ビットは、“1”をセットされると FIFO をクリアする動作のみ行い、セットされた値は 保持しません。 FIFO 領域 AREAn{n=0-5}に DMA がジョインされ、かつ、該当する DMA が起動中(DMA_Running ビッ トが“1”の間)に、該当するエンドポイントのビットを“1”にセットしないで下さい。 また、このレジスタは、データ保持情報の初期化動作のみを行い、データ自身を書き込みまたはクリア をしません。従って、このビットにより RAM 上のデータがクリアされることはありません。 232 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.95 0A0h AREA0Join_0 (AREA 0 Join 0) 3.1.96 0A2h AREA1Join_0 (AREA 1 Join 0) 3.1.97 0A4h AREA2Join_0 (AREA 2 Join 0) 3.1.98 0A6h AREA3Join_0 (AREA 3 Join 0) 3.1.99 0A8h AREA4Join_0 (AREA 4 Join 0) 3.1.100 0AAh AREA5Join_0 (AREA 5 Join 0) Mode Address Register Name R/W Bit Symbol Description R/W 7: JoinFIFO_Stat 0: Do nothing 1: Join to FIFO Status Device 0A0h AREA0Join_0 / Host 0A2h AREA1Join_0 6: 0: 1: 0A4h AREA2Join_0 5: 0: 1: 0A6h AREA3Join_0 4: 0: 1: 0A8h AREA4Join_0 3: 0: 1: 0AAh AREA5Join_0 R/W 2: JoinDMA 0: Do nothing 1: Join to DMA R/W 1: JoinCPU_Rd 0: Do nothing 1: Join to CPU Read R/W 0: JoinCPU_Wr 0: Do nothing 1: Join to CPU Write Reset 00h FIFO 領域 AREAx{x=0-5}に接続するポートを設定します。 Bit7 JoinFIFO_Stat FIFO 領域 AREAx{x=0-5}の FIFO の Full 及び Empty の状態を、FIFO_IntStat.FIFO_NotEmpty、 FIFO_IntStat.FIFO_Full 及び FIFO_IntStat.FIFO_Empty でモニタできるようにします。 Bit6-3 Reserved Bit2 JoinDMA FIFO 領 域 AREA x{x=0-5} の FIFO で DMA の 転 送 を 行 い ま す 。 転 送 の 方 向 は 、 DMA_Control.Dir ビットの設定によります。 Bit1 JoinCPU_Rd FIFO 領域 AREA x{x=0-5}の FIFO で CPU レジスタアクセスのリード転送を行います。即ち FIFO_Rd_0,1 レジスタ、または、FIFO_ByteRd レジスタのリードが行われると、この FIFO 領域からデータが読み出されます。 Bit0 JoinCPU_Wr FIFO 領域 AREA x{x=0-5}の FIFO で CPU レジスタアクセスのライト転送を行います。即ち FIFO_Wr_0,1 レジスタへのライトが行われると、この FIFO 領域にデータが書き込まれます。 JoinDMA ビットを設定した場合は、DMA_Control.Dir ビットが 1 のときは残りデータ数、0 のときは空 き容量が、DMA_Remain_H,L レジスタにより、それぞれ参照できます。 JoinCPU_Rd, JoinCPU_Wr ビットを設定した場合は、FIFO_RdRemain_H,L、FIFO_WrRemain_H,L を参 照し、FIFO_Rd_0,1、FIFO_ByteRd、FIFO_Wr_0,1 レジスタからデータを読み出し、または書き込みで きます。 JoinDMA ビット、JoinCPU_Rd ビット、JoinCPU_Wr ビットは、同時に 1 ビットのみを“1”にセットして ください。複数のビットに対して、同時に“1”を書きこんだ場合、動作が不安定になる恐れがあります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 233 3. レジスタ詳細説明 3.1.101 0A1h AREA0Join_1 (AREA 0 Join 1) 3.1.102 0A3h AREA1Join_1 (AREA 1 Join 1) 3.1.103 0A5h AREA2Join_1 (AREA 2 Join 1) 3.1.104 0A7h AREA3Join_1 (AREA 3 Join 1) 3.1.105 0A9h AREA4Join_1 (AREA 4 Join 1) 3.1.106 0ABh AREA5Join_1 (AREA 5 Join 1) Mode Address Register Name R/W Bit Symbol Description Device 0A1h AREA0Join_1 7: 0: 1: / Host 0A3h AREA1Join_1 6: 0: 1: 0A5h AREA2Join_1 R/W 5: JoinEPeCHe 0: Do nothing 1: Join to EPe / CHe 0A7h AREA3Join_1 R/W 4: JoinEPdCHd 0: Do nothing 1: Join to EPd / CHd 0A9h AREA4Join_1 R/W 3: JoinEPcCHc 0: Do nothing 1: Join to EPc / CHc 0ABh AREA5Join_1 R/W 2: JoinEPbCHb 0: Do nothing 1: Join to EPb / CHb R/W 1: JoinEPaCHa 0: Do nothing 1: Join to EPa / CHa R/W 0: JoinEP0CH0 0: Do nothing 1: Join to EP0 / CH0 Reset 00h FIFO 領域 AREAx{x=0-5}に接続するエンドポイント及びチャネルを設定します。 Bit7-6 Reserved Bit5 JoinEPeCHe FIFO 領域 AREA x{x=0-5}にエンドポイント EPe もしくはチャネル CHe を接続します。接 続することで、エンドポイント EPe、チャネル EPe を使用して、データ転送を伴うトラン ザクションを実行可能となります。 Bit4 JoinEPdCHd FIFO 領域 AREA x{x=0-5}にエンドポイント EPd もしくはチャネル CHd を接続します。接 続することで、エンドポイント EPd、チャネル EPd を使用して、データ転送を伴うトラン ザクションを実行可能となります。 Bit3 JoinEPcCHc FIFO 領域 AREA x{x=0-5}にエンドポイント EPc もしくはチャネル CHc を接続します。接 続することで、エンドポイント EPc、チャネル EPc を使用して、データ転送を伴うトラン ザクションを実行可能となります。 Bit2 JoinEPbCHb FIFO 領域 AREA x{x=0-5}にエンドポイント EPb もしくはチャネル CHb を接続します。接 続することで、エンドポイント EPb、チャネル EPb を使用して、データ転送を伴うトラン ザクションを実行可能となります。 Bit1 JoinEPaCHa FIFO 領域 AREA x{x=0-5}にエンドポイント EPa もしくはチャネル CHa を接続します。接 続することで、エンドポイント EPa、チャネル EPa を使用して、データ転送を伴うトラン ザクションを実行可能となります。 Bit0 JoinEP0CH0 FIFO 領域 AREA x{x=0-5}にエンドポイント EP0 もしくはチャネル CH0 を接続します。接 続することで、エンドポイント EP0、チャネル EP0 を使用して、データ転送を伴うトラン ザクションを実行可能となります。 234 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 同一の FIFO 領域に JoinEPxCHx{x=0,a-e}ビットを同時に複数設定した場合には、トランザクション順 によっては、想定外の動作を行うことがありますので、ご注意願います。基本的には、同一の FIFO 領 域に JoinEPxCHx{x=0,a-e}ビットを設定行わないことを推奨致します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 235 3. レジスタ詳細説明 3.1.107 0AEh ClrAREAnJoin_0 (Clear AREA n Join 0) Mode Device Address 0AEh Register Name ClrAREAnJoin_0 R/W W Bit Symbol Description 7: ClrJoinFIFO_Stat 0: Do nothing 1: Clear JoinFIFO_Stat 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: W 2: ClrJoinDMA 0: Do nothing 1: Clear JoinDMA W 1: ClrJoinCPU_Rd 0: Do nothing 1: Clear JoinCPU_Rd W 0: ClrJoinCPU_Wr 0: Do nothing 1: Clear JoinCPU_Wr / Host Reset 00h 各 FIFO 領域と該当するポートの接続をクリアします。ライトオンリーのレジスタです。 このレジスタのビットは、接続クリア後、自動的に“0”にクリアされます。 FIFO 領域がポートに接続(AREAn{n=0-5}Join_0 レジスタの該当するビットが“1”にセット)され、且 つ各ポートの起動中に、このレジスタのビットを“1”にセットしないで下さい。誤動作の原因となりま す。 236 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.1.108 0AFh ClrAREAnJoin_1 (Clear AREA n Join 1) Mode Device Address 0AFh Register Name R/W ClrAREAnJoin_1 Bit Symbol Description 7: 0: 1: 6: 0: 1: W 5: Clr JoinEPeCHe 0: Do nothing 1: Clear JoinEPeCHe W 4: ClrJoinEPdCHd 0: Do nothing 1: Clear JoinEPdCHd W 3: ClrJoinEPcCHc 0: Do nothing 1: Clear JoinEPcCHc W 2: ClrJoinEPbCHb 0: Do nothing 1: Clear JoinEPbCHb W 1: ClrJoinEPaCHa 0: Do nothing 1: Clear JoinEPaCHa W 0: ClrJoinEP0CH0 0: Do nothing 1: Clear JoinEP0CH0 / Host Reset 00h 各 FIFO 領域と該当するエンドポイント及びチャネルの接続をクリアします。ライトオンリーのレジス タです。 このレジスタのビットは、接続クリア後、自動的に“0”にクリアされます。 FIFO 領域がエンドポイント及びチャネルに接続(AREAn{n=0-5}Join_1 レジスタの該当するビットが“1” にセット)され、且つ各エンドポイント及びチャネルのトランザクションが実行されている時に、この レジスタのビットを“1”にセットしないで下さい。誤動作の原因となります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 237 3. レジスタ詳細説明 3.2 デバイスレジスタ詳細説明 3.2.1 Mode Device 0B0h D_SIE_IntStat (Device SIE Interrupt Status) Address 0B0h Register Name R/W D_SIE_IntStat Bit Symbol Description 7: 0: 1: R (W) 6: NonJ 0: None 1: Detect Non J state R (W) 5: RcvSOF 0: None 1: Received SOF R (W) 4: DetectReset 0: None 1: Detect USB Reset R (W) 3: DetectSuspend 0: None 1: Detect USB Suspend R (W) 2: ChirpCmp 0: None 1: Chirp Complete R (W) 1: RestoreCmp 0: None 1: Restore Complete R (W) 0: SetAddressCmp 0: None 1: AutoSetAddress Complete Reset 00h デバイス SIE 関連の割り込みを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 Reserved Bit6 NonJ 割り込み要因を直接指示します。 USB バス上で J ステート以外の状態を検出すると“1”にセットされます。このビットは、本 LSI が SNOOZE 状 態 ( PM_Control レ ジ ス タ の InSnooze ビ ッ ト が “1” ) の 時 、 及 び AutoNegotiation 機能使用時に USB_Control レジスタの InSUSPEND ビットが“1”にセットさ れている時に有効です。 Bit5 RcvSOF 割り込み要因を直接指示します。 SOF トークンを受信すると“1”にセットされます。 Bit4 DetectReset 割り込み要因を直接指示します。 USB のリセットステートを検出すると“1”にセットされます。このビットがセットされている 間は USB のサスペンドステートの検出ができません (DetectSUSPEND がセットされません) 。 このリセット検出は、D_NegoControl レジスタの ActiveUSB ビットが “1” にセットされて いる時に有効です。 "HS"動作モードの場合は、バス・アクティビティが一定時間無くなると、USB のリセット /サスペンド検出のために FS ターミネーションを自動的に設定し、SE0 が検出されるとリ セットと判断して、このビットが“1”にセットされます。 AutoNegotiation 機能を使用しない場合には、このビットが“1”にセットされた場合、継続す るリセットを誤検出しないよう、D_NegoControl レジスタの DisBusDetect ビットを“1”に セットして USB のリセット/サスペンドステートの検出を無効にして下さい。リセットに 対する処理終了後に DisBusDetect ビットを“0”にクリアして USB のリセット/サスペンド ステートの検出を有効にして下さい。 リ セ ッ ト 検 出 時 、 D_NegoControl レ ジ ス タ の GoChirp ビ ッ ト に よ り 、 “HS Detection Handshake” を開始することができます。 AutoNegotiation 機能については、D_NegoControl レジスタの EnAutoNego ビットの項を参照 して下さい。 238 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit3 DetectSuspend 割り込み要因を直接指示します。 USB のサスペンドステートを検出すると “1” にセットされます。このビットがセットさ れている間は USB のリセットステートの検出ができません(DetectRESET がセットされま せん)。 “HS” 動作モード の場合は、バス・アクティビティが一定時間無くなると、USB のリセッ ト/サスペンド検出のために"FS"動作モードに自動的に設定されます。USB のサスペンド ステートの検出後は、PM_Control.GoSLEEP ビットを “1” にセットすることにより、本 LSI をスリープモード(内蔵 PLL 及びオシレータの発振を停止)にすることが出来ます。 Bit2 ChirpCmp 割り込み要因を直接指示します。 D_NegoControl レジスタの GoChirp ビットにより開始された“HS Detection Handshake”が完 了すると“1” にセットされます。 割り込み発生後に D_USB_Status レジスタの FSxHS ビットをリードすることで、現在の動 作モード(FS or HS)の判定をすることができます。 Bit1 RestoreCmp 割り込み要因を直接指示します。 D_NegoControl レジスタの RestoreUSB ビットにより開始された Restore 処理が終了すると “1”にセットされます。このビットが“1” にセットされると動作モード(FS or HS)が Suspend する前の状態に戻ります。 Bit0 SetAddressCmp 割り込み要因を直接指示します。 SetAddress()リクエストを受信すると、AutoSetAddress 機能(USB_Address レジスタ参照)が、 そのコントロール転送の処理を自動的に行います。ステータスステージを行って SetAddress()リクエストに関わるコントロール転送が完了した時に、このステータスが“1” にセットされます。また、同時に D_USB_Address レジスタにアドレスがセットされます。 同期ビット(Bit5~0)は、パワーマネージメントが ACTIVE ステートであっても、HostDeviceSel.HOST xDEVICE ビットが“0”、すなわち DEVICE モードでなければ、読み出し、書き込み(割り込み要因ク リア)ができません。したがって、この状態から移行する場合には、これらの割り込みステータスによ り割り込み信号 XINT がアサートされないよう、F/W にて以下の処理を行って下さい。 <ACTIVE で DEVICE モードから移行する時> 1) 割り込みステータスを処理し、クリアする(D_SIE_IntStat.Bit5~0) 2) 割り込みステータスをディスエーブルにする(D_SIE_IntEnb.Bit5~0) <ACTIVE で DEVICE モードに移行する時> 3) 割り込みステータスをクリアする(D_SIE_IntStat.Bit5~0) 4) 割り込みステータスをイネーブルにする(D_SIE_IntEnb.Bit5~0) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 239 3. レジスタ詳細説明 3.2.2 Mode Device 0B3h D_BulkIntStat (Device Bulk Interrupt Status) Address 0B3h Register Name D_BulkIntStat R/W Bit Symbol Description R (W) 7: CBW_Cmp 0: None 1: CBW Complete R (W) 6: CBW_LengthErr 0: None 1: CBW Length Error R (W) 5: CBW_Err 0: None 1: CBW Transaction Error R (W) 4: 0: 1: R (W) 3: CSW_Cmp 0: None 1: CSW Complete R (W) 2: CSW_Err 0: None 1: CSW Error 1: 0: 1: 0: 0: 1: Reset 00h Bulk 転送機能関連の割り込みステータスを表示します。全てのビットは“1”を書き込む事で割り込み要 因をクリアできます。 Bit7 CBW_Comp 割り込み要因を直接指示します。 CBW の 31 バイトを正常に受信できた時に“1”にセットされます。 Bit6 CBW_LengthErr 割り込み要因を直接指示します。 受信した CBW のパケット長が 31 バイト以外であった時に“1”にセットされます。 Bit5 CBW_Err 割り込み要因を直接指示します。 受信した CBW に CRC エラー等のトランザクションエラーを検出した時に“1”にセットされ ます。 Bit4 Reserved Bit3 CSW_Cmp 割り込み要因を直接指示します。 CSW の 13 バイトを正常に送信できた時に“1”にセットされます。 Bit2 CSW_Err 割り込み要因を直接指示します。 CSW の送信にエラーがあった時(ACK が返ってこなかった時)に“1”にセットされます。 Bit1-0 240 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.3 Mode Device 0B4h D_EPrIntStat (Device EPr Interrupt Status) Address 0B4h Register Name D_EPrIntStat R/W Bit Symbol Description R 7: D_AlarmIN_IntStat 0: None 1: Alarm IN Interrupt R 6: D_AlarmOUT_IntStat 0: None 1: Alarm OUT Interrupt 5: 0: 1: R 4: D_EPeIntStat 0: None 1: EPe Interrupt R 3: D_EPdIntStat 0: None 1: EPd Interrupt R 2: D_EPcIntStat 0: None 1: EPc Interrupt R 1: D_EPbIntStat 0: None 1: EPb Interrupt R 0: D_EPaIntStat 0: None 1: EPa Interrupt Reset 00h エンドポイント EPr{r=a-e}、及び AlarmIN/AlarmOUT の割り込みを表示します。 Bit7 D_AlarmIN_IntStat 割り込み要因を間接指示します。 D_AlarmIN_IntStat_H,L レジスタに割り込み要因があり、かつその割り込み要因に対応する D_AlarmIN_IntEnb_H,L レジスタのビットがイネーブルにされている時、 “1” にセットさ れます。 Bit6 D_AlarmOUT_IntStat 割り込み要因を間接指示します。 D_AlarmOUT_IntStat_H,L レジスタに割り込み要因があり、かつその割り込み要因に対応す る D_AlarmOUT_IntEnb_H,L レジスタのビットがイネーブルにされている時、 “1” にセッ トされます。 Bit5 Reserved Bit4 D_EPeIntStat 割り込み要因を間接指示します。 D_EPeIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPeIntEnb レジスタのビットがイネーブルにされている時、 “1” にセットされます。 Bit3 D_EPdIntStat 割り込み要因を間接指示します。 D_EPdIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPdIntEnb レジスタのビットがイネーブルにされている時、 “1” にセットされます。 Bit2 D_EPcIntStat 割り込み要因を間接指示します。 D_EPcIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPcIntEnb レジスタのビットがイネーブルにされている時、 “1” にセットされます。 Bit1 D_EPbIntStat 割り込み要因を間接指示します。 D_EPbIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPbIntEnb レジスタのビットがイネーブルにされている時、“1” にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 241 3. レジスタ詳細説明 Bit0 D_EPaIntStat 割り込み要因を間接指示します。 D_EPaIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る D_EPaIntEnb レジスタのビットがイネーブルにされている時、“1”にセットされます。 242 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.4 Mode Device 0B5h D_EP0IntStat (Device EP0 Interrupt Status) Address 0B5h Register Name D_EP0IntStat R/W Bit Symbol Description R (W) 7: DescriptorCmp 0: None 1: Descriptor Complete R (W) 6: OUT_ShortACK 0: None 1: OUT Short-Packet ACK R (W) 5: IN_TranACK 0: None 1: IN Transaction ACK R (W) 4: OUT_TranACK 0: None 1: OUT Transaction ACK R (W) 3: IN_TranNAK 0: None 1: IN Transaction NAK R (W) 2: OUT_TranNAK 0: None 1: OUT Transaction NAK R (W) 1: IN_TranErr 0: None 1: IN Transaction Error R (W) 0: OUT_TranErr 0: None 1: OUT Transaction Error Reset 00h エンドポイント EP0 の割り込みステータスを表示します。全てのビットは“1”を書き込む事で割り込み 要因をクリアできます。 Bit7 DescriptorCmp 割り込み要因を直接指示します。 Descriptor 返信機能において、DescriptorSize レジスタの設定数のデータを返信し終えると、 “1”にセットされます。 また、DescriptorSize レジスタの設定数まで送信する前にステータスステージへ移行(OUT トークンを受信)した場合には OUT_TranNAK ビットと共に、“1”にセットされます。 Bit6 OUT_ShortACK 割り込み要因を直接指示します。 OUT トランザクションでショートパケットを受信し、ACK を返信した時、 OUT_TranACK と同時に“1” にセットされます。 Bit5 IN_TranACK 割り込み要因を直接指示します。 IN トランザクションで ACK を受信した時、“1”にセットされます。 Bit4 OUT_TranACK 割り込み要因を直接指示します。 OUT トランザクションで ACK を返信した時、“1”にセットされます。 Bit3 IN_TranNAK 割り込み要因を直接指示します。 IN トランザクションで NAK を返信した時、“1”にセットされます。 Bit2 OUT_TranNAK 割り込み要因を直接指示します。 OUT トランザクション及び PING トランザクションに対して NAK を返信した時、“1”にセッ トされます。 Bit1 IN_TranErr 割り込み要因を直接指示します。 IN トランザクションにおいて STALL を返した場合、パケットにエラーがあった場合、及 びハンドシェイクがタイムアウトになった場合に、“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 243 3. レジスタ詳細説明 Bit0 OUT_TranErr 割り込み要因を直接指示します。 OUT トランザクションにおいて STALL を返信した場合、及び、パケットにエラーがあっ た場合に、“1”にセットされます。 244 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.5 0B6h D_EPaIntStat (Device EPa Interrupt Status) 3.2.6 0B7h D_EPbIntStat (Device EPb Interrupt Status) 3.2.7 0B8h D_EPcIntStat (Device EPc Interrupt Status) 3.2.8 0B9h D_EPdIntStat (Device EPd Interrupt Status) 3.2.9 0BAh D_EPeIntStat (Device EPe Interrupt Status) Mode Device Address Register Name 0B6h D_EPaIntStat 0B7h D_EPbIntStat 0B8h 0B9h 0Bah D_EPeIntStat R/W Bit Symbol Description 7: 0: 1: R (W) 6: OUT_ShortACK 0: None 1: OUT Short Packet ACK D_EPcIntStat R (W) 5: IN_TranACK 0: None 1: IN Transaction ACK D_EPdIntStat R (W) 4: OUT_TranACK 0: None 1: OUT Transaction ACK R (W) 3: IN_TranNAK 0: None 1: IN Transaction NAK R (W) 2: OUT_TranNAK 0: None 1: OUT Transaction NAK R (W) 1: IN_TranErr 0: None 1: IN Transaction Error R (W) 0: OUT_TranErr 0: None 1: OUT Transaction Error Reset 00h エンドポイント EPx{x=a-e}の割り込みステータスを表示します。全てのビットは“1”を書き込む事で割 り込み要因をクリアできます。 Bit7 Reserved Bit6 OUT_ShortACK 割り込み要因を直接指示します。 OUT トランザクションでショートパケットを受信し、ACK を返信した時、 OUT_TranACK と同時に“1” にセットされます。 Bit5 IN_TranACK 割り込み要因を直接指示します。 IN トランザクションで ACK を受信した時、“1”にセットされます。 Bit4 OUT_TranACK 割り込み要因を直接指示します。 OUT トランザクションで ACK を返信した時、“1”にセットされます。 Bit3 IN_TranNAK 割り込み要因を直接指示します。 IN トランザクションで NAK を返信した時、“1”にセットされます。 Bit2 OUT_TranNAK 割り込み要因を直接指示します。 OUT トランザクション及び PING トランザクションに対して NAK を返信した時、“1”にセッ トされます。 Bit1 IN_TranErr 割り込み要因を直接指示します。 IN トランザクションにおいて STALL を返した場合、パケットにエラーがあった場合、及 びハンドシェイクがタイムアウトになった場合に、“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 245 3. レジスタ詳細説明 Bit0 OUT_TranErr 割り込み要因を直接指示します。 OUT トランザクションにおいて STALL を返信した場合、及び、パケットにエラーがあっ た場合に、“1”にセットされます。 246 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.10 Mode Device 0BCh-0BDh D_AlarmIN_IntStat_H,L (Device AlarmIN Interrupt Status High, Low) Address 0BCh-0BDh Register Name D_AlarmIN _IntStat_H,L R/W Bit Symbol Description R (W) 15: AlarmEP15IN 0: Do nothing 1: EP15 received IN token R (W) 14: AlarmEP14IN 0: Do nothing 1: EP14 received IN token R (W) 13: AlarmEP13IN 0: Do nothing 1: EP13 received IN token R (W) 12: AlarmEP12IN 0: Do nothing 1: EP12 received IN token R (W) 11: AlarmEP11IN 0: Do nothing 1: EP11 received IN token R (W) 10: AlarmEP10IN 0: Do nothing 1: EP10 received IN token R (W) 9: AlarmEP9IN 0: Do nothing 1: EP9 received IN token R (W) 8: AlarmEP8IN 0: Do nothing 1: EP8 received IN token R (W) 7: AlarmEP7IN 0: Do nothing 1: EP7 received IN token R (W) 6: AlarmEP6IN 0: Do nothing 1: EP6 received IN token R (W) 5: AlarmEP5IN 0: Do nothing 1: EP5 received IN token R (W) 4: AlarmEP4IN 0: Do nothing 1: EP4 received IN token R (W) 3: AlarmEP3IN 0: Do nothing 1: EP3 received IN token R (W) 2: AlarmEP2IN 0: Do nothing 1: EP2 received IN token R (W) 1: AlarmEP1IN 0: Do nothing 1: EP1 received IN token 0: 0: 1: Reset 0000h アラーム IN の割り込みステータスを表示します。全てのビットは“1”を書き込む事で割り込み要因をク リアできます。 全てのビットは、割り込み要因を直接指示しています。 D_EnEP_IN_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定が 行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイント を除いたエンドポイントに対し、ホストからトランザクションが発行(IN トークンを受信)された場 合、以下に示す応答を行い、該当するビットに“1”をセットします。なお、エンドポイント EP0 は、常 に 有 効 で あ る た め 、 D_EP0 関 連 レ ジ ス タ が 適 切 に 設 定 さ れ て い な か っ た り 、 AREAn{n=0-5}Join.JoinEP0CH0 ビットがどこの FIFO 領域に対しても設定されていない場合においても、 同様の動作を行います。 この際、IN トークンに対して行われる応答は、D_EnEP_IN_ISO_H,L の設定によって選択され、該当す るビットが“1”にセットされているエンドポイントの場合には、ホストに対しゼロ長パケット応答し、 “0”にクリアされているエンドポイントの場合には、ホストに対し NAK 応答します。 本レジスタの該当ビットがセットされた場合には、D_EPx{x=0,a-e}関連レジスタを適切に設定し、 AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットを用いてエンドポイントを FIFO 領域にジョインし、ト ランザクションを実行可能にしてください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 247 3. レジスタ詳細説明 3.2.11 Mode Device 0BEh-0BFh D_AlarmOUT_IntStat_H,L (Device AlarmOUT Interrupt Status High, Low) Address 0BEh-0BFh Register Name D_AlarmOUT _IntStat_H,L R/W Bit Symbol Description R (W) 15: AlarmEP15OUT 0: Do nothing 1: EP15 received OUT token R (W) 14: AlarmEP14OUT 0: Do nothing 1: EP14 received OUT token R (W) 13: AlarmEP13OUT 0: Do nothing 1: EP13 received OUT token R (W) 12: AlarmEP12OUT 0: Do nothing 1: EP12 received OUT token R (W) 11: AlarmEP11OUT 0: Do nothing 1: EP11 received OUT token R (W) 10: AlarmEP10OUT 0: Do nothing 1: EP10 received OUT token R (W) 9: AlarmEP9OUT 0: Do nothing 1: EP9 received OUT token R (W) 8: AlarmEP8OUT 0: Do nothing 1: EP8 received OUT token R (W) 7: AlarmEP7OUT 0: Do nothing 1: EP7 received OUT token R (W) 6: AlarmEP6OUT 0: Do nothing 1: EP6 received OUT token R (W) 5: AlarmEP5OUT 0: Do nothing 1: EP5 received OUT token R (W) 4: AlarmEP4OUT 0: Do nothing 1: EP4 received OUT token R (W) 3: AlarmEP3OUT 0: Do nothing 1: EP3 received OUT token R (W) 2: AlarmEP2OUT 0: Do nothing 1: EP2 received OUT token R (W) 1: AlarmEP1OUT 0: Do nothing 1: EP1 received OUT token 0: 0: 1: Reset 0000h アラーム OUT の割り込みステータスを表示します。全てのビットは“1”を書き込む事で割り込み要因を クリアできます。 全てのビットは、割り込み要因を直接指示しています。 D_EnEP_OUT_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定 が行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイン トを除いたエンドポイントに対し、ホストからトランザクションが発行(OUT トークンを受信)され た場合、以下に示す応答を行い、該当するビットに“1”をセットします。なお、エンドポイント EP0 は、 常 に 有 効 で あ る た め 、 D_EP0 関 連 レ ジ ス タ が 適 切 に 設 定 さ れ て い な か っ た り 、 AREAn{n=0-5}Join.JoinEP0CH0 ビットがどこの FIFO 領域に対しても設定されていない場合においても、 同様の動作を行います。 この際、OUT トークンに対して行われる応答は、D_EnEP_OUT_ISO_H,L の設定によって選択され、該 当するビットが“1”にセットされているエンドポイントの場合には、ホストから送出されたデータを受 け取らず且つハンドシェイクを応答しません。“0”にクリアされているエンドポイントの場合には、ホ ストに対し NAK 応答します。デバイスが HS に設定され、ホストから PING トークンが発行された場 合には、NAK 応答します。 本レジスタの該当ビットがセットされた場合には、D_EPx{x=0,a-e}関連レジスタを適切に設定し、 AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットを用いてエンドポイントを FIFO 領域にジョインし、ト ランザクションを実行可能にしてください。 248 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.12 Mode Device 0C0h D_SIE_IntEnb (Device SIE Interrupt Enable) Address 0C0h Register Name R/W D_SIE_IntEnb Bit Symbol Description 7: 0: 1: R/W 6: EnNonJ 0: Disable 1: Enable R/W 5: EnRcvSOF 0: Disable 1: Enable R/W 4: EnDetectRESET 0: Disable 1: Enable R/W 3: EnDetectSUSPEND 0: Disable 1: Enable R/W 2: EnChirpCmp 0: Disable 1: Enable R/W 1: EnRestoreCmp 0: Disable 1: Enable R/W 0: EnSetAddressCmp 0: Disable 1: Enable Reset 00h D_SIE_IntStat レジスタの割り込み要因による、USB_DeviceIntStat レジスタの D_SIE_IntStat ビットのア サートを許可/禁止します。 EnNonJ ビットは SLEEP 中も有効です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 249 3. レジスタ詳細説明 3.2.13 Mode Device 0C3h D_BulkIntEnb (Device Bulk Interrupt Enable) Address 0C3h Register Name D_BulkIntEnb R/W Bit Symbol Description R/W 7: EnCBW_Cmp 0: Disable 1: Enable R/W 6: EnCBW_LengthErr 0: Disable 1: Enable R/W 5: EnCBW_Err 0: Disable 1: Enable 4: 0: 1: R/W 3: EnCSW_Cmp 0: Disable 1: Enable R/W 2: EnCSW_Err 0: Disable 1: Enable 1: 0: 1: 0: 0: 1: Reset 00h D_BulkIntStat レジスタの割り込み要因による、USB_DeviceIntStat レジスタの D_BulkIntStat ビットのア サートを許可/禁止します。 250 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.14 Mode Device 0C4h D_EPrIntEnb (Device EPr Interrupt Enable) Address 0C4h Register Name D_EPrIntEnb R/W Bit Symbol Description R/W 7: EnD_AlarmIN_IntStat 0: 1: R/W 6: EnD_AlarmOUT_IntStat 0: 1: 5: 0: 1: R/W 4: EnD_EPeIntStat 0: Disable 1: Enable R/W 3: EnD_EPdIntStat 0: Disable 1: Enable R/W 2: EnD_EPcIntStat 0: Disable 1: Enable R/W 1: EnD_EPbIntStat 0: Disable 1: Enable R/W 0: EnD_EPaIntStat 0: Disable 1: Enable Reset 00h D_EPrIntStat レジスタの割り込み要因による、USB_DeviceIntStat レジスタの D_EPrIntStat ビットのア サートを許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 251 3. レジスタ詳細説明 3.2.15 Mode Device 0C5h D_EP0IntEnb (Device EP0 Interrupt Enable) Address 0C5h Register Name D_EP0IntEnb R/W Bit Symbol Description R/W 7: EnDescriptorCmp 0: Disable 1: Enable R/W 6: EnOUT_ShortACK 0: Disable 1: Enable R/W 5: EnIN_TranACK 0: Disable 1: Enable R/W 4: EnOUT_TranACK 0: Disable 1: Enable R/W 3: EnIN_TranNAK 0: Disable 1: Enable R/W 2: EnOUT_TranNAK 0: Disable 1: Enable R/W 1: EnIN_TranErr 0: Disable 1: Enable R/W 0: EnOUT_TranErr 0: Disable 1: Enable Reset 00h D_EP0IntStat レジスタの割り込み要因による、USB_DeviceIntStat レジスタの D_EP0IntStat ビットのア サートを許可/禁止します。 252 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.16 0C6h D_EPaIntEnb (Device EPa Interrupt Enable) 3.2.17 0C7h D_EPbIntEnb (Device EPb Interrupt Enable) 3.2.18 0C8h D_EPcIntEnb (Device EPc Interrupt Enable) 3.2.19 0C9h D_EPdIntEnb (Device EPd Interrupt Enable) 3.2.20 0CAh D_EPeIntEnb (Device EPe Interrupt Enable) Mode Device Address Register Name 0C6h D_EPaIntEnb 0C7h D_EPbIntEnb 0C8h D_EPcIntEnb 0C9h D_EPdIntEnb 0CAh D_EPeIntEnb R/W Bit Symbol Description 7: 0: 1: 6: EnOUT_ShortACK 0: Disable 1: Enable R/W 5: EnIN_TranACK 0: Disable 1: Enable R/W 4: EnOUT_TranACK 0: Disable 1: Enable R/W 3: EnIN_TranNAK 0: Disable 1: Enable R/W 2: EnOUT_TranNAK 0: Disable 1: Enable R/W 1: EnIN_TranErr 0: Disable 1: Enable R/W 0: EnOUT_TranErr 0: Disable 1: Enable R/W Reset 00h D_EPx{x=a-e}IntStat レジスタの割り込み要因による、D_EPrIntStat レジスタの EPx{x=a-e}IntStat ビット のアサートを許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 253 3. レジスタ詳細説明 3.2.21 Mode Device 0CCh-0CDh D_AlarmIN_IntEnb_H,L (Device AlarmIN Interrupt Enable High, Low) Address 0CCh-0CDh Register Name R/W Bit Symbol Description D_AlarmIN R/W 15: EnAlarmEP15IN 0: Disable 1: Enable _IntEnb,L R/W 14: EnAlarmEP14IN 0: Disable 1: Enable R/W 13: EnAlarmEP13IN 0: Disable 1: Enable R/W 12: EnAlarmEP12IN 0: Disable 1: Enable R/W 11: EnAlarmEP11IN 0: Disable 1: Enable R/W 10: EnAlarmEP10IN 0: Disable 1: Enable R/W 9: EnAlarmEP9IN 0: Disable 1: Enable R/W 8: EnAlarmEP8IN 0: Disable 1: Enable R/W 7: EnAlarmEP7IN 0: Disable 1: Enable R/W 6: EnAlarmEP6IN 0: Disable 1: Enable R/W 5: EnAlarmEP5IN 0: Disable 1: Enable R/W 4: EnAlarmEP4IN 0: Disable 1: Enable R/W 3: EnAlarmEP3IN 0: Disable 1: Enable R/W 2: EnAlarmEP2IN 0: Disable 1: Enable R/W 1: EnAlarmEP1IN 0: Disable 1: Enable 0: 0: 1: Reset 0000h D_AlarmIN_IntStat レジスタの割り込み要因による、D_EPrIntStat レジスタの AlarmIN_IntStat ビットの アサートを許可/禁止します。 254 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.22 Mode Device 0CEh-0CFh D_AlarmOUT_IntEnb_H,L (Device AlarmOUT Interrupt Enable High, Low) Address 0CEh-0CFh Register Name R/W D_AlarmOUT R/W 15: EnAlarmEP15OUT 0: Disable 1: Enable R/W 14: EnAlarmEP14OUT 0: Disable 1: Enable _IntEnb_H,L Bit Symbol Description R/W 13: EnAlarmEP13OUT 0: Disable 1: Enable R/W 12: EnAlarmEP12OUT 0: Disable 1: Enable R/W 11: EnAlarmEP11OUT 0: Disable 1: Enable R/W 10: EnAlarmEP10OUT 0: Disable 1: Enable R/W 9: EnAlarmEP9OUT 0: Disable 1: Enable R/W 8: EnAlarmEP8OUT 0: Disable 1: Enable R/W 7: EnAlarmEP7OUT 0: Disable 1: Enable R/W 6: EnAlarmEP6OUT 0: Disable 1: Enable R/W 5: EnAlarmEP5OUT 0: Disable 1: Enable R/W 4: EnAlarmEP4OUT 0: Disable 1: Enable R/W 3: EnAlarmEP3OUT 0: Disable 1: Enable R/W 2: EnAlarmEP2OUT 0: Disable 1: Enable R/W 1: EnAlarmEP1OUT 0: Disable 1: Enable 0: 0: 1: Reset 0000h D_AlarmOUT_IntStat レジスタの割り込み要因による、D_EPrIntStat レジスタの AlarmOUT_IntStat ビッ トのアサートを許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 255 3. レジスタ詳細説明 3.2.23 Mode Device 0D0h D_NegoControl (Device Negotiation Control) Address 0D0h Register Name D_NegoControl R/W Bit Symbol Description R/W 7: DisBusDetect 0: Enable BusDetect 1: Disable BusDetect R/W 6: EnAutoNego 0: Disable AutoNegotiation 1: Enable AutoNegotiation R/W 5: InSUSPEND 0: Do nothing 1: Monitor NonJ R/W 4: DisableHS 0: HS mode 1: Disable HS mode R/W 3: SendWakeup 0: Do nothing 1:Send Remotewakeup Signal R/W 2: RestoreUSB 0: Do nothing 1: Restore operation mode R/W 1: GoChirp 0: Do nothing 1: Do Chirp sequence R/W 0: ActiveUSB 0: Disactivate USB 1: Activate USB Reset 00h デバイスのネゴシエーション に関する動作設定を行います。 Bit7 DisBusDetect このビットを“1”にセットすると、USB のリセット/サスペンドステートの自動検出を無効 にします。このビットが“0”にクリアされている場合、USB のリセット/サスペンドステー トの検出のため、USB バス上のバス・アクティビティを監視します。 "HS"モード時は、バス・アクティビティが 3ms の期間検出されない場合、自動的に“FS”モー ドに切り替えたのち、USB のリセットあるいはサスペンドステートの判定を行い、その後 該当する割り込み要因(DetectReset、DetectSuspend)をセットします。“FS”モード時はバ ス・アクティビティが 3ms の期間検出されないと USB のサスペンドステートと判定し、ま た、2.5μs 以上の“SE0”を検出するとリセットと判断し、該当する割り込み要因をセットし ます。 DetectReset、DetectSuspend のビットが“1”にセットされたら DisBusDetect ビットを“1”にセッ トして USB のリセット/サスペンドステートが継続している間、検出を無効にして下さい。 AutoNegotiation 機能を使用する場合、このビットに“1”をセットしないようにして下さい。 Bit6 EnAutoNego AutoNegotiation 機能を有効にします。AutoNegotiation 機能は、リセット検出時に、スピー ドネゴシエーションが終了してスピードモードが決定するまでのシーケンスを自動化しま す。AutoNegotiation 機能の詳細は、動作説明の章を参照して下さい。 Bit5 InSUSPEND AutoNegotiation 機能使用時に、USB のサスペンドステートを検出すると自動的に“1”にセッ トされ NonJ ステートの検出機能を有効にします。USB のサスペンドステートから復帰す る場合には、このビットを“0”にクリアして下さい。 AutoNegotiation 機能を使用する場合の説明は、“機能説明 をご参照下さい。 Bit4 オート・ネゴシエーション機能” DisableHS GoChirp が “1” に セ ット さ れ た 時 に 、 こ の ビ ッ ト が “1” に セ ッ ト さ れ て い る 時 に は 、 DeviceChirp を送出せずに強制的に FS モードとなり、ChirpCmp 割り込みを発生します。 Bit3 SendWakeup このビットを“1”にセットすると、USB ポートに RemoteWakeup 信号(K)を出力します。 RemoteWakeup 信号の送出開始から 1ms 以上 15ms 以内経過後、このビットを“0”にクリア して送出を停止して下さい。 256 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit2 RestoreUSB USB のサスペンドステートからリジュームする際に、このビットを“1”にセットすると、 USB のサスペンド前に保存された動作モード(FS or HS)に自動的に切り替えられ、該当 する割り込み要因(RestoreCmp)がセットされます。 このビットは、動作終了後自動的に“0”にクリアされます。 AutoNegotiation 機能を使用する場合、このビットの機能は自動的に制御されますので、こ のビットをセット/クリアしないで下さい。 Bit1 GoChirp USB バスがリセット状態である場合に、このビットに“1”をセットすると、ホスト/ハブと の間で"HS Detection Handshake"を行い、XcvrControl レジスタの TermSelect ビット、 XcvrSelect ビット及び USB_Status レジスタの FSxHS ビットが自動的に設定されます。動作 終了と同時に割り込み要因(ChirpCmp)がセットされます。 このビットは、動作終了後自動的に“0”にクリアされます。動作終了後 USBStauts レジスタ の FSxHS ビットを参照することで、“HS Detection Handshake”の結果が確認できます。 AutoNegotiation 機能を使用する場合、このビットの機能は自動的に制御されますので、こ のビットをセット/クリアしないで下さい。 Bit0 ActiveUSB 本 LSI では、このビットがハードリセット後“0”にクリアされているため、USB デバイスの 全機能を停止しています。本 LSI の設定終了後に、本ビットを“1”にセットすることで、USB デバイスとしての動作が可能となります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 257 3. レジスタ詳細説明 3.2.24 Mode Device 0D3h D_XcvrControl (Device Xcvr Control) Address 0D3h Register Name D_XcvrControl R/W Bit Symbol Description R/W 7: TermSelect 0: HS Termination 1: FS Termination R/W 6: XcvrSelect 0: HS Transceiver 1: FS Transceiver 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: R/W 1: OpMode [1] Reset 41h OpMode [1:0] 0: OpMode [0] デバイスのトランシーバマクロに関する設定を行います。 Bit7 TermSelect FS または HS いずれかのターミネーションを選択して有効にします。USB_Control レジス タ の GoChirp ビ ッ ト に よ っ て “HS detection handshake” を 実 行 し た 場 合 、 ま た は 、 D_NegoControl レジスタの EnAutoNego ビットがセットされ、AutoNegotiation 機能が実行さ れた場合、このビットは自動的に設定されます。 Bit6 XcvrSelect FS または HS いずれかのトランシーバを選択して有効にします。D_NegoControl レジスタ の GoChirp ビットによって“HS detection handshake”を実行した場合、または、D_NegoControl レジスタの EnAutoNego ビットがセットされ、AutoNegotiation 機能が実行された場合、こ のビットは自動的に設定されます。 Bit5-2 Reserved Bit1-0 OpMode MTM のオペレーションモードを設定します。 USB ケーブルが抜かれている時(※)、USB のサスペンド状態になる時、 またはテストモード時以外には、通常設定する必要がありません。 OpMode 00 “Normal Operation” 通常使用状態 01 “Non-Driving” USB ケーブルが抜かれている時にはこの状態にして下 さい。 10 “Disable Bitstuffing and NRZI encoding” USB テストモード時にはこの状態にしてください。 11 “Power-Down” USB のサスペンド時にはこの状態にしてください。 ※USB ケーブルが抜けている時には、このレジスタを"41h"にセットすることを推奨します。 258 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.25 Mode Device 0D4h D_USB_Test (Device USB_Test) Address 0D4h Register Name D_USB_Test R/W R/W Bit Symbol Description 7: EnHS_Test 0: Do nothing 1: EnHS_Test 6: 0: 1: 5: 0: 1: 4: 0: 1: R/W 3: Test_SE0_NAK 0: Do nothing 1: Test_SE0_NAK R/W 2: Test_J 0: Do nothing 1: Test_J R/W 1: Test_K 0: Do nothing 1: Test_K R/W 0: Test_Packet 0: Do nothing 1: Test_Packett Reset 00h デバイスの USB 2.0 のテストモードに関する動作設定を行います。SetFeature リクエストで指定された テストモードに対応するビットを設定し、ステータスステージ終了後に EnHS_Test ビットに“1”をセッ トすることにより、USB2.0 の規格で定義されたテストモードの動作を行うようにして下さい。 Bit7 EnHS_Test このビットに“1”をセットすると、D_USB_Test レジスタの下位 4 ビットのいずれかのビッ トに“1”が設定されている場合、そのビットに対応するテストモードに入ります。テスト モードを行う際には、D_NegoControl レジスタの DisBusDetect ビットを“1”にして USB のサ スペンドとリセットの検出を行わないようにする必要があります。また、D_NegoControl レジスタの EnAutoNego ビットを“0”にクリアして、AutoNegotiation 機能を無効にして下さ い。 また、テストモードへの移行は、SetFeature リクエストにおけるステータスステージの終了 後に行うように、ご注意下さい。 Bit6-4 Reserved Bit3 Test_SE0_NAK このビットを“1”に設定し、EnHS_Test ビットに“1”をセットすることにより、Test_SE0_NAK テストモードに入ることができます。 Bit2 TEST_J このビットを“1”に設定し、EnHS_Test ビットに“1”をセットすることにより、Test_J テスト モードに入ることができます。なお、このテストモードでは、EnHS_Test ビットを“1”にセッ トする前に、XcvrControl レジスタの、TermSelect 及び XcvrSelect をスピードに従って設定 し、また、OpMode を“10”(Disable Bitstuffing and NRZI encoding)にセットして下さい。 Bit1 TEST_K このビットを“1”に設定し、EnHS_Test ビットに“1”をセットすることにより、Test_K テス トモードに入ることができます。なお、このテストモードでは、EnHS_Test ビットを“1”に する前に、XcvrControl レジスタの、TermSelect 及び XcvrSelect をスピードに従って設定し、 また、OpMode を“10”(Disable Bitstuffing and NRZI encoding)にセットして下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 259 3. レジスタ詳細説明 Bit0 Test_Packet このビットを“1”に設定し、EnHS_Test ビットに “1” をセットすることにより、Test_Packet テストモードに入ることができます。 このテストモードは EP0 以外の任意のエンドポイントで使用できますので、下記の設定を 行って下さい。 1) エンドポイント EPx{x=a-e}の MaxPacketSize を 64 以上、転送方向を IN に設定し、 EndpointNumber を"0xF"に設定して、使用可能として下さい。また、エンドポイント EPx{x=a-e}の FIFO を 64Byte 以上、割り当てて下さい。 2) エンドポイントの設定を、上記 EPx{x=a-e}の設定と重複しないようにして下さい。 または、AREAx{x=1-5}Join_1.JoinEPxCHx{x=a-e}ビットをクリアして下さい。 3) EPx{x=a-e}の FIFO をクリアし、下記のテストパケット用のデータをこの FIFO に書き 込んで下さい。 D_EPx{x=a-e}IntStat レジスタの IN_TranErr ビットを“0”にクリアして下さい。 4) Test Packet の送信完了の毎に、IN_TranErr ステータスが“1”にセットされます。 パケット送信テストモード時に FIFO に書き込むデータは以下の 53 バイトです。 00h、00h、00h、00h、00h、00h、00h、00h、 00h、AAh、AAh、AAh、AAh、AAh、AAh、AAh、 AAh、EEh、EEh、EEh、EEh、EEh、EEh、EEh、 EEh、FEh、FFh、FFh、FFh、FFh、FFh、FFh、 FFh、FFh、FFh、FFh、FFh、7Fh、BFh、DFh、 EFh、F7h、FBh、FDh、FCh、7Eh、BFh、DFh、 EFh、F7h、FBh、FDh、7Eh テストパケット送出時に、SIE が PID と CRC を付加しますので、FIFO に書き込むデータ は、USB 規格 Rev.2.0 に記載されているテストパケットデータのうち、DATA0 PID の次の データから、CRC16 以外のデータまでとなります。 260 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.26 Mode Device 0D6h D_EPnControl (Device Endpoint Control) Address 0D6h Register Name D_EPnControl R/W Bit Symbol Description W 7: AllForceNAK 0: Do nothing 1: Set All ForceNAK W 6: EPrForceSTALL 0: Do nothing 1: Set EP's ForceSTALL 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset XXh エンドポイントの動作設定を行います。ライトオンリーのレジスタです。 Bit7 AllForceNAK 全てのエンドポイントの ForceNAK ビットを“1”にセットします。 Bit6 EPrForceSTALL エンドポイント EPa,EPb,EPc,EPd,EPe の ForceSTALL ビットを“1”にセットします。 Bit5-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 261 3. レジスタ詳細説明 3.2.27 Mode Device 0D8h D_BulkOnlyControl (Device BulkOnly Control) Address 0D8h Register Name D_BulkOnlyControl R/W R/W Bit Symbol Description 7:AutoForceNAK_CBW 0: None 1: AutoForceNAK after CBW 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: R/W 2: GoCBW_Mode 0: None 1: Begin CBW Mode R/W 1: GoCSW_Mode 0: None 1: Begin CSW Mode 0: 0: 1: Reset 00h バルクオンリーサポート機能を制御します。 Bit7 AutoForceNAK_CBW このビットを“1”にセットすると、CBW サポートによって CBW の受信する OUT トランザ クションが完了すると、 該当するエンドポイントの ForceNAK ビットを“1”にセットします。 Bit6-3 Reserved Bit2 GoCBW_Mode このビットを“1”にセットすると、該当するエンドポイントで CBW サポートを実行します。 CBW サポートを実行するエンドポイントについては、BulkOnlyConfig レジスタの項を参照 して下さい。 Bit1 GoCSW_Mode このビットを“1”にセットすると、該当するエンドポイントで CSW サポートを実行します。 CSW サポートを実行するエンドポイントについては、BulkOnlyConfig レジスタの項を参照 して下さい。 Bit0 262 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.28 Mode Device 0D9h D_BulkOnlyConfig (Device BulkOnly Configuration) Address 0D9h Register Name R/W D_BulkOnlyConfig Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: R/W 4: EPeBulkOnly 0: None 1: Enable BulkOnly on EPe R/W 3: EPdBulkOnly 0: None 1: Enable BulkOnly on EPd R/W 2: EPcBulkOnly 0: None 1: Enable BulkOnly on EPc R/W 1: EPbBulkOnly 0: None 1: Enable BulkOnly on EPb R/W 0: EPaBulkOnly 0: None 1: Enable BulkOnly on EPa Reset 00h バルクオンリーサポート機能を有効にします。 Bit7-5 Reserved Bit4 EPeBulkOnly このビットを“1”にセットすると、エンドポイント EPe でバルクオンリーサポート機能が有 効になります。バルクオンリーサポートが有効にされると、エンドポイント EPe が OUT のエンドポイントである場合、BulkOnlyControl.GoCBW_Mode ビットをセットすることに よって、CBW サポートを行います。また、エンドポイント EPe が IN のエンドポイントで ある場合、BulkOnlyControl.GoCSW_Mode ビットをセットすることによって、CSW サポー トを行います。 同時に 2 つ以上の OUT のエンドポイントでバルクオンリーサポート機能を有効にしないで 下さい。同様に、同時に 2 つ以上の IN のエンドポイントでバルクオンリーサポート機能を 有効にしないで下さい。 Bit3 EPdBulkOnly このビットを“1”にセットすると、エンドポイント EPd でバルクオンリーサポート機能が有 効になります。バルクオンリーサポートが有効にされると、エンドポイント EPd が OUT のエンドポイントである場合、BulkOnlyControl.GoCBW_Mode ビットをセットすることに よって、CBW サポートを行います。また、エンドポイント EPd が IN のエンドポイントで ある場合、BulkOnlyControl.GoCSW_Mode ビットをセットすることによって、CSW サポー トを行います。 同時に 2 つ以上の OUT のエンドポイントでバルクオンリーサポート機能を有効にしないで 下さい。同様に、同時に 2 つ以上の IN のエンドポイントでバルクオンリーサポート機能を 有効にしないで下さい。 Bit2 EPcBulkOnly このビットを“1”にセットすると、エンドポイント EPc でバルクオンリーサポート機能が有 効になります。バルクオンリーサポートが有効にされると、エンドポイント EPc が OUT のエンドポイントである場合、BulkOnlyControl.GoCBW_Mode ビットをセットすることに よって、CBW サポートを行います。また、エンドポイント EPc が IN のエンドポイントで ある場合、BulkOnlyControl.GoCSW_Mode ビットをセットすることによって、CSW サポー トを行います。 同時に 2 つ以上の OUT のエンドポイントでバルクオンリーサポート機能を有効にしないで 下さい。同様に、同時に 2 つ以上の IN のエンドポイントでバルクオンリーサポート機能を 有効にしないで下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 263 3. レジスタ詳細説明 Bit1 EPbBulkOnly このビットを“1”にセットすると、エンドポイント EPb でバルクオンリーサポート機能が有 効になります。バルクオンリーサポートが有効にされると、エンドポイント EPb が OUT のエンドポイントである場合、BulkOnlyControl.GoCBW_Mode ビットをセットすることに よって、CBW サポートを行います。また、エンドポイント EPb が IN のエンドポイントで ある場合、BulkOnlyControl.GoCSW_Mode ビットをセットすることによって、CSW サポー トを行います。 同時に 2 つ以上の OUT のエンドポイントでバルクオンリーサポート機能を有効にしないで 下さい。同様に、同時に 2 つ以上の IN のエンドポイントでバルクオンリーサポート機能を 有効にしないで下さい。 Bit0 EPaBulkOnly このビットを“1”にセットすると、エンドポイント EPa でバルクオンリーサポート機能が有 効になります。バルクオンリーサポートが有効にされると、エンドポイント EPa が OUT のエンドポイントである場合、BulkOnlyControl.GoCBW_Mode ビットをセットすることに よって、CBW サポートを行います。また、エンドポイント EPa が IN のエンドポイントで ある場合、BulkOnlyControl.GoCSW_Mode ビットをセットすることによって、CSW サポー トを行います。 同時に 2 つ以上の OUT のエンドポイントでバルクオンリーサポート機能を有効にしないで 下さい。同様に、同時に 2 つ以上の IN のエンドポイントでバルクオンリーサポート機能を 有効にしないで下さい。 264 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.29 0E0h D_EP0SETUP_0 (Device EP0 SETUP 0) 3.2.30 0E1h D_EP0SETUP_1 (Device EP0 SETUP 1) 3.2.31 0E2h D_EP0SETUP_2 (Device EP0 SETUP 2) 3.2.32 0E3h D_EP0SETUP_3 (Device EP0 SETUP 3) 3.2.33 0E4h D_EP0SETUP_4 (Device EP0 SETUP 4) 3.2.34 0E5h D_EP0SETUP_5 (Device EP0 SETUP 5) 3.2.35 0E6h D_EP0SETUP_6 (Device EP0 SETUP 6) 3.2.36 0E7h D_EP0SETUP_7 (Device EP0 SETUP 7) Mode Device Address Register Name R/W Bit Symbol 0E0h D_EP0SETUP_0 7: EP0SETUP_n [7] -0E7h ~D_EP0SETUP_7 6: EP0SETUP_n [6] Description Reset 5: EP0SETUP_n [5] R 4: EP0SETUP_n [4] 3: EP0SETUP_n [3] Endpoint 0 SETUP Data 0 -Endpoint 0 SETUP Data 7 00h 2: EP0SETUP_n [2] 1: EP0SETUP_n [1] 0: EP0SETUP_n [0] エンドポイント EP0 のセットアップステージで受信した 8 バイトのデータが、EP0SETUP_0 から順に 格納されます。 EP0SETUP_0 BmRequestType がセットされます。 EP0SETUP_1 BRequest がセットされます。 EP0SETUP_2 Wvalue の下位 8 ビットがセットされます。 EP0SETUP_3 Wvalue の上位 8 ビットがセットされます。 EP0SETUP_4 WIndex の下位 8 ビットがセットされます。 EP0SETUP_5 WIndex の上位 8 ビットがセットされます。 EP0SETUP_6 WLength の下位 8 ビットがセットされます。 EP0SETUP_7 WLength の上位 8 ビットがセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 265 3. レジスタ詳細説明 3.2.37 Mode Device 0E8h D_USB_Address (Device USB Address) Address 0E8h Register Name R/W D_USB_Address Bit Symbol 7: Description 0: Reset 1: 6: USB_Address [6] 5: USB_Address [5] 4: USB_Address [4] R ( W) 3: USB_Address [3] 00h USB Address 2: USB_Address [2] 1: USB_Address [1] 0: USB_Address [0] AutoSetAddress 機能により、USB アドレスが設定されます。 SetAddress()リクエストを受信すると、AutoSetAddress 機能がそのコントロール転送を自動的に行います。 AutoSetAddress 機能は、SetAddress()リクエストに関わるコントロール転送のステータスステージが完了 し、USB_Address をセットした後に、SetAddressCmp ステータスを発行します。 Bit7 Reserved Bit6-0 USB_Address USB アドレスが設定されます。 AutoSetAddress 機能によって自動的に書き込まれます。 また、書き込みが可能ですが、SetAddress()リクエストを受信すると、再度自動的に書き換 えます。 266 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.38 Mode Device 0EAh D_SETUP_Control(Device SETUP Control) Address 0EAh Register Name R/W D_SETUP_Control R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: ProtectEP0 0: None 1: Protect EP0 Reset 00h コントロール転送関係の設定をします。 Bit7-1 Reserved Bit0 ProtectEP0 コントロール転送のセットアップステージが終了し、 受信したデータが D_EP0SETUP_0~D_EP0SETUP_7 レジスタに格納されると、“1”にセッ トされます。 同 時 に D_EP0ControlIN,D_EP0ControlOUT レ ジ ス タ の ForceSTALL ビ ッ ト が “0” に 、 ForceNAK ビットが“1”に、ToggleStat ビットが“1”に、自動的に設定されます。 ProtectEP0 ビットは SETUP トランザクションが行われるとセットされます。従って、 SetAddress()リクエストに対してもセットされます。 このビットが“1”にセットされていると、EP0 の ForceNAK ビット、ForceSTALL ビットの 設定変更ができません。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 267 3. レジスタ詳細説明 3.2.39 0EEh-0EFh D_FrameNumber_H,L (Device FrameNumber High, Low) Mode Address Device 0EEh-0EFh Register Name R/W D_FrameNumber R _H,L Bit Symbol Description 15: FnInvalid 0: Frame number is valid 1: Frame number is not valid 14: 0: 1: 13: 0: 1: 12: 0: 1: 11: 0: 1: Reset 10: FrameNumber [10] 9: FrameNumber [9] 8: FrameNumber [8] 8000h 7: FrameNumber [7] 6: FrameNumber [6] R 5: FrameNumber [5] Frame Number 4: FrameNumber [4] 3: FrameNumber [3] 2: FrameNumber [2] 1: FrameNumber [1] 0: FrameNumber [0] SOF トークンを受信する毎に更新される、USB のフレームナンバーが表示されます。 Bit15 FnInvalid 受信した SOF パケットにエラーが発生した時に、このビットが “1” にセットされます。 Bit14-11 Reserved Bit10-0 FrameNumber [10:0] 受信した SOF パケットの FrameNumber が表示されます。 268 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.40 Mode Device 0F0h D_EP0MaxSize (Device EP0 Max Packet Size) Address 0F0h Register Name R/W D_EP0MaxSize Bit Symbol 7: Description 0: Reset 1: 6: EP0MaxSize [6] R/W 5: EP0MaxSize [5] Endpoint [0] Max Packet Size 4: EP0MaxSize [4] 40h 3: EP0MaxSize [3] 2: 0: 1: 1: 0: 1: 0: 0: 1: エンドポイント EP0 の設定を行います。 Bit7 Reserved Bit6-3 EP0MaxSize [6:3] エンドポイント EP0 の MaxPacketSize を設定します。 このエンドポイントは、以下のサイズから任意のサイズを選択して使用可能です。 Bit2-0 FS 時 8, 16, 32, 64 バイト HS 時 64 バイト Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 269 3. レジスタ詳細説明 3.2.41 Mode Device 0F1h D_EP0Control (Device EP0 Control) Address 0F1h Register Name D_EP0Control R/W R/W R/W Bit Symbol Description 7: INxOUT 0: OUT 1: IN 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: ReplyDescriptor 0: Do nothing 1: Reply Descriptor Reset 00h エンドポイント EP0 の設定を行います。 Bit7 INxOUT エンドポイント EP0 の転送方向を設定します。 セットアップステージで受信したリクエストを判断して、このビットに値を設定して下さ い。 データステージがある場合は、このビットにデータステージにおける転送方向をセットし て 下 さ い 。 セ ッ ト ア ッ プ ス テ ー ジ が 完 了 す る こ と に よ り 、 D_EP0ControlIN 及 び D_EP0ControlOUT レジスタの ForceNAK ビットがセットされるので、データステージ及び ステータスステージの実行時にクリアして下さい。 データステージが終了したら、ステータスステージの方向に合わせて、このビットを設定 しなおして下さい。データステージの転送方向が IN の場合は、ステータスステージは OUT 方向となりますので、このビットに“0”を設定して下さい。また、データステージの転送方 向が OUT、またはデータステージがない場合は、ステータスステージは IN 方向となりま すので、エンドポイント EP0 の FIFO をクリアして、このビットに“1”を設定して下さい。 このビットの設定値と異なる方向の IN または OUT トランザクションに対しては、NAK 応 答 し ま す 。 但 し 、 そ の ト ラ ン ザ ク シ ョ ン 方 向 に 対 応 す る D_EP0ControlIN ま た は D_EP0ControlOUT レジスタの ForceSTALL ビットがセットされていると STALL 応答しま す。 Bit6-1 Reserved Bit0 ReplyDescriptor Descriptor 返信機能を実行します。 このビットが“1”にセットされると、エンドポイント EP0 の IN トランザクションに応答し て、FIFO から Descriptor データを、MaxPacketSize 分返信します。Descriptor データは、 D_DescAdrs_H,L レジスタの設定値のアドレスを先頭にする、D_DescSize_H,L レジスタの 設定サイズのデータを指します。これらの設定値は、Descriptor 返信機能の実行中に更新さ れますので、ReplyDescriptor ビットをセットする毎に設定して下さい。 1 つのトランザクション毎に、D_DescAdrs_H,L レジスタは、送信したデータ数だけインク リメントされ、また、D_DescSize_H,L レジスタは、送信したデータ数だけデクリメントさ れます。 D_DescSize_H,L の設定数のデータを送信して終了した場合、及び、IN トランザクション以 外のトランザクションが行われた場合には、Descriptor 返信機能は終了し、ReplyDescriptor ビットは“0”にクリアされ、D_EP0IntStat レジスタの DescriptorCmp ビットと D_EP0IntStat レジスタの IN_TranACK ビットに“1”がセットされます。 さらに詳細な説明は、動作説明の章を参照して下さい。 270 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.42 Mode Device 0F2h D_EP0ControlIN (Device EP0 Control IN) Address 0F2h Register Name R/W D_EP0ControlIN R/W Bit Symbol Description 7: 0: 1: 6: EnShortPkt 0: Do nothing 1: Enable short Packet 1: 5: 0: R 4: ToggleStat Toggle sequence bit W 3: ToggleSet 0: Do nothing 1: Set Toggle sequence bit W 2: ToggleClr 0: Do nothing 1: Clear Toggle sequence bit R/W 1: ForceNAK 0: Do nothing 1: Force NAK R/W 0: ForceSTALL 0: Do nothing 1: Force STALL Reset 00h エンドポイント EP0 の IN トランザクションに関する動作設定及び状態表示を行います。 Bit7 Reserved Bit6 EnShortPkt このビットを“1”にセットすることで、エンドポイント EP0 の IN トランザクションに対し て、MaxPacketSize に満たない FIFO 内のデータをショートパケットとして送信することが できます。ショートパケットを送信した IN トランザクションが完了すると、自動的にこの ビットが“0”にクリアされます。MaxPacketSize のパケットを送信した場合は、このビット はクリアされません。 FIFO 内にデータが無い場合にこのビットを“1”にセットすると、ホストからの IN トークン に対して Zero 長パケットを送信することができます。このビットをセットしてパケットを 送信している最中に、該当 FIFO にデータを書き込むと、タイミングによりそのデータも含 めて送信されることがあります。パケットの送信が終了し、このビットがクリアされるま で、FIFO へのデータ書き込みは行わないで下さい。 Bit5 Reserved Bit4 ToggleStat エンドポイント EP0 の、IN トランザクションのトグルシーケンスビットの状態を示します。 Bit3 ToggleSet エンドポイント EP0 の、IN トランザクションのトグルシーケンスビットを“1”にセットし ます。ToggleClr ビットと同時にセットした場合、ToggleClr ビットの機能が優先されます。 Bit2 ToggleClr エンドポイント EP0 の、IN トランザクションのトグルシーケンスビットを“0”にクリアし ます。ToggleSet ビットと同時にセットした場合、このビットの機能が優先されます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 271 3. レジスタ詳細説明 Bit1 ForceNAK このビットを“1”にセットすると、FIFO のデータ数に関わらずエンドポイント EP0 の IN ト ランザクションに対して NAK 応答します。 セ ッ ト ア ッ プ ス テ ー ジ が 完 了 す る こ と に よ っ て USB_DeviceIntStat レ ジ ス タ の RcvEP0SETUP ビ ッ ト に “1” が セ ッ ト さ れ る と 、 こ の ビ ッ ト は “1” に セ ッ ト さ れ 、 D_SETUP_Control.ProtectEP0 ビットが“1”である間、このビットは“0”にクリアできません。 また、ショートパケットを送信した IN トランザクションが完了した時、このビットは“1” にセットされます。 このビットを“1”にセットする際に、既にトランザクションが実行中である場合においては、 そのトランザクションが終了するまでビットはセットされず、終了と同時にこのビットは “1”にセットされます。トランザクションが実行中で無い場合においては、即座に“1”にセッ トされます。 Bit0 ForceSTALL このビットを“1”にセットすると、エンドポイント EP0 の IN トランザクションに対して STALL 応答します。このビットは、ForceNAK ビットの設定より優先されます。 セ ッ ト ア ッ プ ス テ ー ジ が 完 了 す る こ と に よ っ て 、 USB_DeviceIntStat レ ジ ス タ の RcvEP0SETUP ビ ッ ト に “1” が セ ッ ト さ れ る と 、 こ の ビ ッ ト は “0” に ク リ ア さ れ 、 D_SETUP_Control.ProtectEP0 ビットが“1”である間はこのビットを“1”にセットできません。 現在実行中のトランザクションがある場合、トランザクション開始から一定時間後のこの ビットの設定は、次のトランザクションから有効になります。 272 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.43 Mode Device 0F3h D_EP0ControlOUT (Device EP0 Control OUT) Address 0F3h Register Name D_EP0ControlOUT R/W R/W Bit Symbol Description 7: AutoForceNAK 0: Do nothing 1: Auto Force NAK 6: 0: 1: 1 5: 0: R 4: ToggleStat Toggle sequence bit W 3: ToggleSet 0: Do nothing 1: Set Toggle sequence bit W 2: ToggleClr 0: Do nothing 1: Clear Toggle sequence bit R/W 1: ForceNAK 0: Do nothing 1: Force NAK R/W 0: ForceSTALL 0: Do nothing 1: Force STALL Reset 00h エンドポイント EP0 の OUT トランザクションに関する動作設定及び状態表示を行います。 Bit7 AutoForceNAK エンドポイント EP0 の OUT トランザクションが正常に完結すると、このレジスタの ForceNAK ビットを“1”にセットします。 Bit6-5 Reserved Bit4 ToggleStat エンドポイント EP0 の、OUT トランザクションのトグルシーケンスビットの状態を示しま す。 Bit3 ToggleSet エンドポイント EP0 の、OUT トランザクションのトグルシーケンスビットを “1” にセッ トします。ToggleClr ビットと同時にセットした場合、ToggleClr ビットの機能が優先され ます。 Bit2 ToggleClr エンドポイント EP0 の、OUT トランザクションのトグルシーケンスビットを “0” にクリ アします。ToggleSet ビットと同時にセットした場合、このビットの機能が優先されます。 Bit1 ForceNAK このビットを“1”にセットすると、FIFO の空き容量に関わらずエンドポイント EP0 の OUT トランザクションに対して NAK 応答します。 セ ッ ト ア ッ プ ス テ ー ジ が 完 了 す る こ と に よ っ て USB_DeviceIntStat レ ジ ス タ の RcvEP0SETUP ビ ッ ト に “1” が セ ッ ト さ れ る と 、 こ の ビ ッ ト は “1” に セ ッ ト さ れ 、 D_SETUP_Control.ProtectEP0 ビットが“1 である間はこのビットを“0”にクリアすることはで きません。 このビットを“1”にセットする際に、既にトランザクションが実行中である場合においては、 そのトランザクションが終了するまでビットはセットされず、終了と同時にこのビットは “1”にセットされます。トランザクションが実行中で無い場合においては、即座に“1”にセッ トされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 273 3. レジスタ詳細説明 Bit0 ForceSTALL このビットを“1”にセットすると、エンドポイント EP0 の OUT トランザクションに対して STALL 応答します。このビットは、ForceNAK ビットの設定より優先されます。 セ ッ ト ア ッ プ ス テ ー ジ が 完 了 す る こ と に よ っ て 、 USB_DeviceIntStat レ ジ ス タ の RcvEP0SETUP ビ ッ ト に “1” が セ ッ ト さ れ る と 、 こ の ビ ッ ト は “0” に ク リ ア さ れ 、 D_SETUP_Control.ProtectEP0 ビットが“1”である間はこのビットを“1”にセットすることは できません。 現在実行中のトランザクションがある場合、トランザクション開始から一定時間後のこの ビットの設定は、次のトランザクションから有効になります。 274 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.44 0F8h-0F9h D_EPaMaxSize_H,L (Device EPa Max Packet Size High, Low) 3.2.45 100h-101h D_EPbMaxSize_H,L (Device EPb Max Packet Size High, Low) 3.2.46 108h-109h D_EPcMaxSize_H,L (Device EPc Max Packet Size High, Low) 3.2.47 110h-111h D_EPdMaxSize_H,L (Device EPd Max Packet Size High, Low) 3.2.48 118h-119h D_EPeMaxSize_H,L (Device EPe Max Packet Size High), Low Mode Device Address Register Name R/W Bit Symbol Description 0F8h-0F9h D_EPaMaxSize_H,L 15: 0: 1: 100h-101h D_EPbMaxSize_H,L 14: 0: 1: 108h-109h D_EPcMaxSize_H,L 13: 0: 1: 110h-111h D_EPdMaxSize_H,L 12: 0: 1: 118h-119h D_EPeMaxSize_H,L 11: 0: 1: Reset 10: MaxSize[10] 9: MaxSize [9] 8: MaxSize [8] 0000h 7: MaxSize [7] 6: MaxSize [6] R/W 5: MaxSize [5] Endpoint [x] Max Packet Size 4: MaxSize [4] 3: MaxSize [3] 2: MaxSize [2] 1: MaxSize [1] 0: MaxSize [0] MaxPacketSize を設定します。 Bit15-11 Reserved Bit10-0 MaxSize [10:0] エンドポイント EPx{x=a-e}の MaxPacketSize を設定します。 このエンドポイントをバルク転送用として使用する場合には、 FS 時 8, 16, 32, 64 バイト HS 時 512 バイト のいずれかに設定して下さい。 このエンドポイントをインタラプト転送用として使用する場合は、 FS 時 64 バイトまで HS 時 1024 バイトまで の任意の転送数が設定可能です。 このエンドポイントをアイソクロナス転送用として使用する場合は、 FS 時 1~1023 バイトまで HS 時 1~1024 バイトまで の任意の転送数が設定可能です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 275 3. レジスタ詳細説明 3.2.49 0FAh D_EPaConfig (Device EPa Configuration) 3.2.50 102h D_EPbConfig (Devie EPb Configuration) 3.2.51 10Ah D_EPcConfig (Device EPc Configuration) 3.2.52 112h D_EPdConfig (Devie EPd Configuration) 3.2.53 11Ah D_EPeConfig (Device EPe Configuration) Mode Device Address Register Name R/W Bit Symbol Description 0FAh D_EPaConfig R/W 7: INxOUT 0: OUT 1: IN 102h 10Ah D_EPbConfig D_EPcCOnfig R/W 6: IntEP_Mode 0: Normal Toggle (IN) 0: Bulk OUT (OUT) 1: Always Toggle (IN) 1: Interrupt OUT (OUT) 112h D_EPdConfig R/W 5: ISO 0: Not Isochronous 1: Isochronous 11Ah D_EPeConfig 4: 0: 1: Reset 00h 3: EndpointNumber [3] R/W 2: EndpointNumber [2] Endpoint Number 1: EndpointNumber [1] 0: EndpointNumber [0] エンドポイント EPx{x=a-e}の設定を行います。 EndpointNumber と INxOUT の組み合わせが、他のエンドポイントと重複しないように設定して下さい。 Bit7 INxOUT エンドポイントの転送方向を設定します。 Bit6 IntEP_Mode Interrupt 転送に関する設定を行います。 Bulk のエンドポイントでは、このビットに“1”を設定しないで下さい。 このビットの設定は、エンドポイントの方向(IN/OUT)によって異なります(エンドポイ ントの方向は Bit7”INxOUT”によって設定されます)。 IN 方向(INxOUT = 1)の場合、トグルシーケンスビットの動作モードを設定します。トグ ルシーケンスの動作モードは、アプリケーションに依存します。Interrupt IN のエンドポイ ントに対し、どちらかの動作モードを選択して下さい。 0: Normal toggle - 通常のトグルシーケンスを行います。 1: Always toggle - トランザクション毎に常にトグルします。 このモードについては、USB2.0 規格書 5.7.5 項をご参照下さい。 OUT 方向(INxOUT = 0)の場合、このエンドポイントにおいて PING フローコントロールを 行うか否かを設定します。Interrupt OUT のエンドポイントでは、このビットを“1”にセット して下さい。 Bit5 0: Bulk OUT - Bulk OUT のエンドポイントはこの設定にして下さい。 1: Interrupt OUT - Interrupt OUT のエンドポイントはこの設定にして下さい。 ISO アイソクロナス転送を行う際に“1”に設定します。バルク転送、インタラプト転送を行うエ ンドポイントでは、“0”に設定してください。 Bit4 276 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit3-0 EndpointNumber 0x1~0xF の任意のエンドポイントナンバーを設定します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 277 3. レジスタ詳細説明 3.2.54 0FCh D_EPaControl (Device EPa Control) 3.2.55 104h D_EPbControl (Device EPb Control) 3.2.56 10Ch D_EPcControl (Device EPc Control) 3.2.57 114h D_EPdControl (Device EPd Control) 3.2.58 11Ch D_EPeControl (Device EPc Control) Mode Device Address Register Name R/W Bit Symbol Description 0FCh D_EPaControl R/W 7: AutoForceNAK 0: Do nothing 1: Auto Force NAK 104h D_EPbControl R/W 6: EnShortPkt 0: Do nothing 1: Enable Short Packet 10Ch D_EPcControl R/W 5: DisAF_NAK_Short 0: Auto Force NAK Short 1 Disable Auto Force 114h D_EPdControl R 4: ToggleStat Toggle sequence bit 11Ch D_EPeControl W 3: ToggleSet 0: Do nothing 1: Set Toggle sequence bit W 2: ToggleClr 0: Do nothing 1: Clear Toggle sequence bit R/W 1: ForceNAK 0: Do nothing 1: Force NAK R/W 0: ForceSTALL 0: Do nothing 1: Force STALL Reset 00h エンドポイント EPx{x=a-e}の動作設定を行います。 Bit7 AutoForceNAK エンドポイント EPx{x=a-e}のトランザクションが正常に完結すると、このレジスタの ForceNAK ビットを“1”にセットします。 Bit6 EnShortPkt このビットを“1”にセットすることで、エンドポイント EPx{x=a-e}の IN トランザクション に対して、MaxPacketSize に満たない FIFO 内のデータをショートパケットとして送信する ことができます。ショートパケットを送信した IN トランザクションが完了すると、自動的 にこのビットが“0”にクリアされます。マックスパケットサイズのパケットを送信した場合 は、このビットはクリアされません。 FIFO 内にデータが無い場合にこのビットを“1”にセットすると、ホストからの IN トークン に対して Zero 長パケットを送信することができます。このビットをセットしてパケットを 送信している最中に、該当 FIFO にデータを書き込むと、タイミングによりそのデータも含 めて送信されることがあります。パケットの送信が終了し、このビットがクリアされるま で、FIFO へのデータ書き込みは行わないで下さい。 Bit5 DisAF_NAK_Short Auto Force NAK Short(以下、AF_NAK_Short※)機能の有効/無効を設定します。 ※ 正常な OUT トランザクション完結時に受信したパケットがショートパケットの場合、 自動的に ForceNAK ビットを“1”にセットする。 デフォルトの設定は AF_NAK_Short 機能が有効です。 このビットを“1”にセットすると、AF_NAK_Short 機能が無効になります。 AutoForceNAK ビットが“1”にセットされている場合は、AutoForceNAK ビットが優先され ます。 Bit4 ToggleStat エンドポイント EPx{x=a-e}のトグルシーケンスビットの状態を示します。 278 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit3 ToggleSet エンドポイント EPx{x=a-e}トグルシーケンスビットを“1”にセットします。ToggleClr ビッ トと同時にセットした場合、ToggleClr ビットの機能が優先されます。 Bit2 ToggleClr エンドポイント EPx{x=a-e}のトグルシーケンスビットを“0”にクリアします。ToggleSet ビッ トと同時にセットした場合、このビットの機能が優先されます。 Bit1 ForceNAK このビットを“1”にセットすると、FIFO のデータ数または空き容量に関わらずエンドポイ ント EPx{x=a-e}}のトランザクションに対して NAK 応答します。 このビットを“1”にセットする際に、既にトランザクションが実行中である場合においては、 そのトランザクションが終了するまでビットはセットされず、終了と同時にこのビットは “1”にセットされます。トランザクションが実行中で無い場合においては、即座に“1”にセッ トされます。 Bit0 ForceSTALL このビットを“1”にセットすると、エンドポイント EPx{x=a-e}のトランザクションに対して STALL 応答します。このビットは、ForceNAK ビットの設定より優先されます。 現在実行中のトランザクションがある場合、トランザクション開始から一定時間後のこの ビットの設定は、次のトランザクションから有効になります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 279 3. レジスタ詳細説明 3.2.59 Mode Device 120h-121h D_DescAdrs_H,L (Device Descriptor Address High, Low) Address 120h-121h Register Name R/W D_DescAdrs_H,L Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: Reset 12: DescAdrs[12] 11: DescAdrs [11] 10: DescAdrs [10] 9: DescAdrs [9] 8: DescAdrs [8] 0000h 7: DescAdrs [7] R/W 6: DescAdrs [6] Descriptor Address 5: DescAdrs [5] 4: DescAdrs [4] 3: DescAdrs [3] 2: DescAdrs [2] 1: DescAdrs [1] 0: DescAdrs [0] Descriptor Adress を指定します。 Bit15-13 Reserved Bit12- -0 DescAdrs [12:0] Descriptor 返信機能における、Descriptor 返信動作開始時の FIFO の先頭アドレスを指定しま す。 Descriptor Address は、Descriptor 返信機能に対して FIFO 領域を割り当てるものではありま せん。Descriptor Address は、FIFO の領域設定に関わらず、0x0000 から 0x11FF(4.5kByte)ま での FIFO の全領域を指定することが出来ます。 Descriptor 返信時には、エンドポイント EP0 における IN トランザクション完了毎に、送信 データ数の分だけ DescAdrs は更新されます。Descriptor 返信機能については、D_EP0Control レジスタの ReplyDescriptor の項を参照して下さい。 Descriptor 返信機能用の FIFO 領域は、明示的には割り当てませんので、D_DescAdrs_H,L レジスタと D_DescSize_H,L レジスタの指定によって、他のエンドポイントの FIFO との重 複を避けて下さい。CSW 領域の予約された終了アドレス(0x0030)から、AREA0~5 で確保 する領域の先頭アドレスまでの間が適切です。 280 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.60 Mode Device 122h-123h D_DescSize_H,L (Device Descriptor Size High, Low) Address 122h-123h Register Name R/W D_DescSize_H,L Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: 12: 0: 1: 11: 0: 1: 10: 0: 1: Reset 9: DescSize [9] 8: DescSize [8] 0000h 7: DescSize [7] 6: DescSize [6] R/W 5: DescSize [5] Descriptor Size 4: DescSize [4] 3: DescSize [3] 2: DescSize [2] 1: DescSize [1] 0: DescSize [0] Descriptor Size を指定します。 Bit15-10 Reserved Bit9-0 DescSize [9:0] Descriptor Size には、Descriptor 返信機能において、返信する総データ数を指定します。 Descriptor 返信機能については、D_EP0Control レジスタの ReplyDescriptor ビットの項を参 照して下さい。 Descriptor Size には、FIFO のサイズ及び領域設定に関わらず、0x000 から 0x3FF までの値 を指定することが出来ます。Descriptor 返信時には、エンドポイント EP0 における IN トラ ンザクション完了毎に、送信データ数の分だけ DescSize は更新されます。 Descriptor 返信機能用の FIFO 領域は、明示的には割り当てませんので、D_DescAdrs_H,L レジスタと D_DescSize_H,L レジスタの指定によって、他のエンドポイントの FIFO との重 複を避けて下さい。CSW 領域の予約された終了アドレス(0x0030)から、AREA0~5 で確保 する領域の先頭アドレスまでの間が適切です。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 281 3. レジスタ詳細説明 3.2.61 Mode Device 126h D_EP_DMA_Ctrl (Device EP DMA Control) Address 126h Register Name D_EP_DMA_Ctrl R/W R R/W Bit Symbol Description 7: FIFO_Running 0: FIFO is not running 1: FIFO is running 6: AutoEnShort 0: Do nothing 1: Auto Enable Short Packet 5: 0: 1: 4: 0: 1: 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h DMA 転送時の、FIFO の状態の表示及び設定を行います。 Bit7 FIFO_Running DMA に接続されたエンドポイントの FIFO が動作中であることを示します。DMA を起動 すると“1”にセットされ、DMA が終了した後、FIFO が空になると“0”にクリアされます。 Bit6 AutoEnShort DMA の終了時に、マックスパケットサイズに満たないデータ数が FIFO に残る場合に、そ のエンドポイントの EnShortPkt ビットを“1”にセットします。 DMA に接続されたエンドポイントが IN 方向である場合に有効です。 Bit5-0 282 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.62 Mode Device 128h-129h D_EnEP_IN_H,L (Device Enable Endpoint-IN High, Low) Address Register Name R/W Bit Symbol Description 128h-129h D_EnEP_IN_H,L R/W 15: EnEP15IN 0: Disable 1: Enable R/W 14: EnEP14IN 0: Disable 1: Enable R/W 13: EnEP13IN 0: Disable 1: Enable R/W 12: EnEP12IN 0: Disable 1: Enable R/W 11: EnEP11IN 0: Disable 1: Enable R/W 10: EnEP10IN 0: Disable 1: Enable R/W 9: EnEP9IN 0: Disable 1: Enable R/W 8: EnEP8IN 0: Disable 1: Enable R/W 7: EnEP7IN 0: Disable 1: Enable R/W 6: EnEP6IN 0: Disable 1: Enable R/W 5: EnEP5IN 0: Disable 1: Enable R/W 4: EnEP4IN 0: Disable 1: Enable R/W 3: EnEP3IN 0: Disable 1: Enable R/W 2: EnEP2IN 0: Disable 1: Enable R/W 1: EnEP1IN 0: Disable 1: Enable 0: 0: 1: Reset 0000h デバイス時に IN として有効にするエンドポイントを設定します。 D_EnEP_IN_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定が 行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイント を除いたエンドポイントに対し、ホストからトランザクションが発行(IN トークンを受信)された場 合、以下に示す応答を行います。 この際、IN トークンに対して行われる応答は、D_EnEP_IN_ISO_H,L の設定によって選択され、該当す るビットが“1”にセットされているエンドポイントの場合には、ホストに対しゼロ長パケット応答し、 “0”にクリアされているエンドポイントの場合には、ホストに対し NAK 応答します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 283 3. レジスタ詳細説明 3.2.63 Mode Device 12Ah-12Bh D_EnEP_OUT_H,L (Device Enable Endpoint-OUT High, Low) Address 12Ah-12Bh Register Name R/W Bit Symbol Description D_EnEP_OUT_H,L R/W 15: EnEP15OUT 0: Disable 1: Enable R/W 14: EnEP14OUT 0: Disable 1: Enable R/W 13: EnEP13OUT 0: Disable 1: Enable R/W 12: EnEP12OUT 0: Disable 1: Enable R/W 11: EnEP11OUT 0: Disable 1: Enable R/W 10: EnEP10OUT 0: Disable 1: Enable R/W 9: EnEP9OUT 0: Disable 1: Enable R/W 8: EnEP8OUT 0: Disable 1: Enable R/W 7: EnEP7OUT 0: Disable 1: Enable R/W 6: EnEP6OUT 0: Disable 1: Enable R/W 5: EnEP5OUT 0: Disable 1: Enable R/W 4: EnEP4OUT 0: Disable 1: Enable R/W 3: EnEP3OUT 0: Disable 1: Enable R/W 2: EnEP2OUT 0: Disable 1: Enable R/W 1: EnEP1OUT 0: Disable 1: Enable 0: 0: 1: Reset 0000h デバイス時に OUT として有効にするエンドポイントを設定します。 D_EnEP_OUT_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定 が行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイン トを除いたエンドポイントに対し、ホストからトランザクションが発行(OUT トークンを受信)され た場合、以下に示す応答を行い、該当するビットに“1”をセットします。 この際、OUT トークンに対して行われる応答は、D_EnEP_OUT_ISO_H,L の設定によって選択され、該 当するビットが“1”にセットされているエンドポイントの場合には、ホストから送出されたデータを受 け取らず且つハンドシェイクを応答しません。“0”にクリアされているエンドポイントの場合には、ホ ストに対し NAK 応答します。デバイスが HS に設定され、ホストから PING トークンが発行された場 合には、NAK 応答します。 本レジスタの該当ビットがセットされた場合には、D_EPx{x=0,a-e}関連レジスタを適切に設定し、 AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットを用いてエンドポイントを FIFO 領域にジョインし、ト ランザクションを実行可能にしてください。 284 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.2.64 Mode Device 12Ch-12Dh D_EnEP_IN_ISO_H,L (Device Enable Endpoint-IN Isocronouse High, Low) Address 12Ch-12Dh Register Name D_EnEP_IN _ISO_H,L R/W Bit Symbol Description R/W 15: EnEP15IN_ISO 0: Disable 1: Enable R/W 14: EnEP14IN_ISO 0: Disable 1: Enable R/W 13: EnEP13IN_ISO 0: Disable 1: Enable R/W 12: EnEP12IN_ISO 0: Disable 1: Enable R/W 11: EnEP11IN_ISO 0: Disable 1: Enable R/W 10: EnEP10IN_ISO 0: Disable 1: Enable R/W 9: EnEP9IN_ISO 0: Disable 1: Enable R/W 8: EnEP8IN_ISO 0: Disable 1: Enable R/W 7: EnEP7IN_ISO 0: Disable 1: Enable R/W 6: EnEP6IN_ISO 0: Disable 1: Enable R/W 5: EnEP5IN_ISO 0: Disable 1: Enable R/W 4: EnEP4IN_ISO 0: Disable 1: Enable R/W 3: EnEP3IN_ISO 0: Disable 1: Enable R/W 2: EnEP2IN_ISO 0: Disable 1: Enable R/W 1: EnEP1IN_ISO 0: Disable 1: Enable 0: 0: 1: Reset 0000h デバイス時に IN として有効にするエンドポイントを、ISO モードとして設定します。 D_EnEP_IN_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定が 行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイント を除いたエンドポイントに対し、ホストからトランザクションが発行(IN トークンを受信)された場 合、以下に示す応答を行います。 この際、IN トークンに対して行われる応答は、D_EnEP_IN_ISO_H,L の設定によって選択され、該当す るビットが“1”にセットされているエンドポイントの場合には、ホストに対しゼロ長パケット応答し、 “0”にクリアされているエンドポイントの場合には、ホストに対し NAK 応答します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 285 3. レジスタ詳細説明 3.2.65 Mode Device 12Eh-12Fh D_EnEP_OUT_ISO_H,L (Device Enable Endpoint-OUT Isocronouse High, Low) Address 12Eh-12Fh Register Name D_EnEP_OUT _ISO_H,L R/W Bit Symbol Description R/W 15: EnEP15OUT_ISO 0: Disable 1: Enable R/W 14: EnEP14OUT_ISO 0: Disable 1: Enable R/W 13: EnEP13OUT_ISO 0: Disable 1: Enable R/W 12: EnEP12OUT_ISO 0: Disable 1: Enable R/W 11: EnEP11OUT_ISO 0: Disable 1: Enable R/W 10: EnEP10OUT_ISO 0: Disable 1: Enable R/W 9: EnEP9OUT_ISO 0: Disable 1: Enable R/W 8: EnEP8OUT_ISO 0: Disable 1: Enable R/W 7: EnEP7OUT_ISO 0: Disable 1: Enable R/W 6: EnEP6OUT_ISO 0: Disable 1: Enable R/W 5: EnEP5OUT_ISO 0: Disable 1: Enable R/W 4: EnEP4OUT_ISO 0: Disable 1: Enable R/W 3: EnEP3OUT_ISO 0: Disable 1: Enable R/W 2: EnEP2OUT_ISO 0: Disable 1: Enable R/W 1: EnEP1OUT_ISO 0: Disable 1: Enable 0: 0: 1: Reset 0000h デバイス時に OUT として有効にするエンドポイントを設定します。 D_EnEP_OUT_H,L にて有効にしたエンドポイントのうち、D_EPx{x=0,a-e}関連レジスタに適切な設定 が行われ、且つ AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットにてジョイン設定しているエンドポイン トを除いたエンドポイントに対し、ホストからトランザクションが発行(OUT トークンを受信)され た場合、以下に示す応答を行い、該当するビットに“1”をセットします。 この際、OUT トークンに対して行われる応答は、D_EnEP_OUT_ISO_H,L の設定によって選択され、該 当するビットが“1”にセットされているエンドポイントの場合には、ホストから送出されたデータを受 け取らず且つハンドシェイクを応答しません。“0”にクリアされているエンドポイントの場合には、ホ ストに対し NAK 応答します。デバイスが HS に設定され、ホストから PING トークンが発行された場 合には、NAK 応答します。 本レジスタの該当ビットがセットされた場合には、D_EPx{x=0,a-e}関連レジスタを適切に設定し、 AREAn{n=0-5}Join.JoinEPxCHx{x=0,a-e}ビットを用いてエンドポイントを FIFO 領域にジョインし、ト ランザクションを実行可能にしてください。 286 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3 ホストレジスタ詳細説明 3.3.1 Mode Host 140h H_SIE_IntStat_0 (Host SIE Interrupt Status 0) Address 140h Register Name R/W H_SIE_IntStat_0 Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: R (W) 4: DetectCon 0: None 1: Detect Connect R (W) 3: DetectDiscon 0: None 1: Detect Disconnect R (W) 2: DetectRmtWkup 0: None 1: Detect Remote WakeUp R (W) 1: DetectDevChirpOK 0: None 1: Detect Device Chirp OK R (W) 0: DetectDevChirpNG 0: None 1: Detect Device Chirp NG Reset 00h ホスト SIE 関連の割り込みを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7-5 Reserved Bit4 DetectCon 割り込み要因を直接指示します。 USB ケーブルの接続が検出されると“1” にセットされます。 Bit3 DetectDiscon 割り込み要因を直接指示します。 USB ケーブルの切断が検出されると“1” にセットされます。 Bit2 DetectRmtWkup 割り込み要因を直接指示します。 Suspend 状態で、デバイスからの Remote WakeUp 信号を検出すると“1” にセットされます。 Bit1 DetectDevChirpOK 割り込み要因を直接指示します。 デバイスからのチャープ信号が正常であった場合に“1”にセットされます。 また、ホストステートが RESET の状態において、H/W はこのビットによりデバイスからの チ ャ ー プ 信 号 の 有 無 を 判 断 し ま す 。 こ の ビ ッ ト が “1” に セ ッ ト さ れ て い る 場 合 は H_NegoControl_1.PortSpeed を“00b(HS)”に設定し、以降 HS デバイスに対する処理を行いま す。この為、デバイスが切断された時には必ずこのビットを“0”にクリアしてください。 Bit0 DetectDevChirpNG 割り込み要因を直接指示します。 デバイスからのチャープ信号が異常であった場合に“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 287 3. レジスタ詳細説明 同期ビット(Bit4~0)は、パワーマネージメントが ACTIVE ステートであっても、 HostDeviceSel.HOSTxDEVICE ビットが“1”、すなわち HOST モードでなければ、読み出し、書き込み(割 り込み要因クリア)ができません。したがって、この状態から移行する場合には、これらの割り込みス テータスにより割り込み信号 XINT がアサートされないよう、F/W にて以下の処理を行って下さい。 <ACTIVE で HOST モードから移行する時> 1) 割り込みステータスを処理し、クリアする(H_SIE_IntStat_0.Bit4~0) 2) 割り込みステータスをディスエーブルにする(H_SIE_IntEnb_0.Bit4~0) <ACTIVE で HOST モードに移行する時> 3) 割り込みステータスをクリアする(H_SIE_IntStat_0.Bit4~0) 4) 割り込みステータスをイネーブルにする(H_SIE_IntEnb_0.Bit4~0) 288 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.2 Mode Host 141h H_SIE_IntStat_1 (SIE Host Interrupt Status 1) Address 141h Register Name R/W H_SIE_IntStat_1 Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1 4: 0: 1: R (W) 3: DisabledCmp 0: None 1: Disabled Complete R (W) 2: ResumeCmp 0: None 1: Resume Complete R (W) 1: SuspendCmp 0: None 1: Suspend Cmplete R (W) 0: ResetCmp 0: None 1: Reset Cmplete Reset 00h ホスト SIE 関連の割り込みを表示します。全てのビットは“1”を書き込む事で割り込み要因をクリアで きます。 Bit7-4 Reserved Bit3 DisabledCmp 割り込み要因を直接指示します。 H_NegoControl_0.AutoMode[3:0]に GoDISABLED を設定してステート管理機能を実行させ た場合に、DISABLED ステートへの遷移が完了した時に“1” にセットされます。 Bit2 ResumeCmp 割り込み要因を直接指示します。 H_NegoControl_0.AutoMode[3:0]に GoRESUME を設定してステート管理機能を実行させた 場合に、レジュームが正常に完了した時に“1” にセットされます。 Bit1 SuspendCmp 割り込み要因を直接指示します。 H_NegoControl_0.AutoMode[3:0]に GoSUSPEND を設定してステート管理機能を実行させた 場合に、サスペンドへの遷移が完了した時に“1” にセットされます。 Bit0 ResetCmp 割り込み要因を直接指示します。 H_NegoControl_0.AutoMode[3:0]に GoRESET を設定してステート管理機能を実行させた場 合に、USB リセットが正常に完了した時に“1” にセットされます。 同 期 ビ ッ ト ( Bit3 ~ 0 ) は 、 パ ワ ー マ ネ ジ メ ン ト が ACTIVE ス テ ー ト で あ っ て も 、 HostDeviceSel.HOSTxDEVICE ビットが“1”、すなわち HOST モードでなければ、読み出し、書き込み(割 り込み要因クリア)が出来ません。 従って、この状態から以降する場合には、これらの割り込みステータスにより割り込み信号 XINT がア サートされないよう、F/W にて、以下の処理を行って下さい。 <ACTIVE で HOST モードから移行するとき> 1) 割り込みステータスを処理し、クリアする(H_SIE_IntStat_1.Bit3~0) 2) 割り込みステータスをディスエーブルにする(H_SIE_IntEnb_1.Bit3~0) <ACTIVE で HOST モードに移行するとき> 3) 割り込みステータスをクリアする(H_SIE_IntStat_1.Bit3~0) 4) 割り込みステータスをイネーブルにする(H_SIE_IntEnb_1.Bit3~0) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 289 3. レジスタ詳細説明 3.3.3 Mode Host 143h H_FrameIntStat (Host Frame Interrupt Status ) Address 143h Register Name R/W H_FrameIntStat Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: R (W) 2: PortErr 0: None 1: Port Error R (W) 1: FrameNumOver 0: None 1: Frame Number Over R (W) 0: SOF 0: None 1: SOF Reset 00h ホストのフレーム関連の割り込みを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7-3 Reserved Bit2 PortErr 割り込み要因を直接指示します。 ホスト動作時にポートエラーが検出された場合に“1”にセットされます。 Bit2 FrameNumOver 割り込み要因を直接指示します。 フレームナンバーカウンタがオーバーフローした(FrameNumber_H レジスタの MSb(ビッ ト 2)が“1”から“0”に変化した)時に“1”にセットされます。FrameNumber_H、L レジスタ ではカウント桁数が不足する場合に、この割り込みをカウントすることによりそれを補う ことができます。 Bit0 SOF 割り込み要因を直接指示します。 転送スピードに応じて、下記の場合に“1”にセットされます。 HS: ホストコントローラがマイクロフレーム 0 の SOF トークンを送信する時 FS: ホストコントローラが SOF トークンを送信する時 LS: ホストコントローラが keepalive を送信する時 290 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.4 Mode Host 144h H_CHrIntStat (Host CHr Interrupt Status) Address 144h Register Name R/W H_CHrIntStat Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: R 4: H_CHeIntStat 0: None 1: CHe Interrupt R 3: H_CHdIntStat 0: None 1: CHd Interrupt R 2: H_CHcIntStat 0: None 1: CHc Interrupt R 1: H_CHbIntStat 0: None 1: CHb Interrupt R 0: H_CHaIntStat 0: None 1: CHa Interrupt Reset 00h チャネル CHr の割り込みを表示します。 Bit7-5 Reserved Bit4 H_CHeIntStat 割り込み要因を間接指示します。 H_CHeIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHeIntEnb レジスタのビットがイネーブルにされている時、“1” にセットされます。 Bit3 H_CHdIntStat 割り込み要因を間接指示します。 H_CHdIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHdIntEnb レジスタのビットがイネーブルにされている時、“1”にセットされます。 Bit2 H_CHcIntStat 割り込み要因を間接指示します。 H_CHcIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHcIntEnb レジスタのビットがイネーブルにされている時、 “1” にセットされます。 Bit1 H_CHbIntStat 割り込み要因を間接指示します。 H_CHbIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHbIntEnb レジスタのビットがイネーブルにされている時、“1” にセットされます。 Bit0 H_CHaIntStat 割り込み要因を間接指示します。 H_CHaIntStat レ ジ ス タ に 割 り 込 み 要 因 が あ り 、 か つ そ の 割 り 込 み 要 因 に 対 応 す る H_CHaIntEnb レジスタのビットがイネーブルにされている時、“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 291 3. レジスタ詳細説明 3.3.5 Mode Host 145h H_CH0IntStat (Host CH0 Interrupt Status) Address 145h Register Name H_CH0IntStat R/W Bit Symbol Description R (W) 7: TotalSizeCmp 0: None 1: TotalSize Complete R (W) 6: TranACK 0: None 1: Tran ACK R (W) 5: TranErr 0: None 1: Tran Error R (W) 4: ChangeCondition 0: None 1: Change Condition 3: 0: 1: 2: 0: 1: R (W) 1: CTL_SupportCmp 0: None 1: CTL_Support Cmplete R (W) 0: CTL_SupportStop 0: None 1: CTL_Support Stop Reset 00h チャネル CH0 の割り込みステータスを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 TotalSizeCmp 割り込み要因を直接指示します。 IRP 単位のパケット転送を正常に転送完了した時に、このビットが“1”にセットされます。 コントロール転送サポート機能動作時はセットアップステージ、データステージ、ステー タスステージの各ステージが正常終了した場合にこのビットが“1”にセットされます。 Bit6 TranACK 割り込み要因を直接指示します。 H_CH0Config_0.ACK_Cnt ビットに設定した回数の個別トランザクションを正常に転送完 了した時に、このビットが“1”にセットされます。 コントロール転送サポート機能動作時はデータステージでのみこのビットは“1”にセット されます。 Bit5 TranErr 割り込み要因を直接指示します。 個別トランザクションがリトライエラー、すなわちタイムアウトエラー、CRC エラー、ビッ トスタッフィングエラー、PID エラー(予期せぬ PID 含む)、トグルミスマッチエラーの いずれかで完了した時に、このビットが“1”にセットされます。 Bit4 ChangeCondition 割り込み要因を直接指示します。 トランザクションにおいてコンディションコードのストール、データ・オーバーラン、デー タ・アンダーラン、3 回連続のリトライエラーが発生した時に、このビットが“1”にセット されます。 292 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 また、F/W により H_CH0Config_0.TranGo ビットを引き上げた際もこのビットが“1”にセッ トされます。そのときの ConditionCode は最終トランザクションの結果を示します。 Code Meaning Description 000 NOERROR ノーエラー トランザクションがエラーなく完了した 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します IRP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパケットに含 まれたデータトグルが予期した値と一致していない場合、データ・ オーバーランではなくトグルミスマッチとして処理します 011 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズ未満のデータパケットを受信し、且つデータ数が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します 100 RETRYERROR リトライエラー • デバイスがトークンに規定時間以内に応答しない(IN)、または規定時間 以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含まれている エンドポイントからのデータパケットにビット・スタッフィングエラー が含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)またはハンド シェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない エンドポイントからのデータパケットに含まれたデータトグルが、予期 した値と一致していない(トグルミスマッチ) • • • • • その他 Reserved Bit3-2 Reserved Bit1 CTL_SupportCmp 割り込み要因を直接指示します。 コントロール転送サポート機能によるコントロール転送の全ステージが正常に完了した時 に、このビットが“1”にセットされます。 また、H_CTL_SupportControl レジスタの CTL_SupportGo ビットをクリアすることによるコ ントロール転送サポート機能の停止処理において、ステータスステージが正常終了して停 止処理が終了した場合、このビットが“1”にセットされます。 Bit0 CTL_SupportStop 割り込み要因を直接指示します。 コントロール転送サポート機能によるコントロール転送の途中で異常終了した時に、この ビットが“1”にセットされます。 また、H_CTL_SupportControl レジスタの CTL_SupportGo ビットをクリアすることによるコ ントロール転送サポート機能の停止処理において、ステータスステージ以外のステージで 停止処理が終了するか、ステータスステージでトランザクションがエラー終了した場合、 このビットが“1”にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 293 3. レジスタ詳細説明 3.3.6 Mode Host 146h H_CHaIntStat (Host CHa Interrupt Status) Address 146h Register Name H_CHaIntStat R/W Bit Symbol Description R (W) 7: TotalSizeCmp 0: None 1: TotalSize Complete R (W) 6: TranACK 0: None 1: Tran ACK R (W) 5: TranErr 0: None 1: Tran Error R (W) 4: ChangeCondition 0: None 1: Change Condition 3: 0: 1: 2: 0: 1: R (W) 1: BO_SupportCmp 0: None 1: BO Support Cmplete R (W) 0: BO_SupportStop 0: None 1: BO Support Stop Reset 00h チャネル CHa の割り込みステータスを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 TotalSizeCmp 割り込み要因を直接指示します。 IRP 単位のパケット転送で正常に転送完了した時に、このビットが“1”にセットされます。 バルクオンリーサポート機能動作時は CBW トランスポート、データトランスポート、CSW トランスポートの各トランスポートが正常終了した場合にこのビットが“1”にセットされ ます。 Bit6 TranACK 割り込み要因を直接指示します。 H_CHaConfig_0.ACK_Cnt ビットに設定した回数の個別トランザクションで正常に転送完 了した時に、このビットが“1”にセットされます。 バルクオンリーサポート機能動作時はデータトランスポートでのみこのビットは“1”に セットされます。 Bit5 TranErr 割り込み要因を直接指示します。個別トランザクションがリトライエラー、すなわちタイ ムアウトエラー、CRC エラー、ビットスタッフィングエラー、PID エラー(予期せぬ PID 含む)、トグルミスマッチエラーのいずれかで完了した時に、このビットが“1”にセットさ れます。 Bit4 ChangeCondition 割り込み要因を直接指示します。 トランザクションにおいてコンディションコードのストール、データ・オーバーラン、デー タ・アンダーラン、3 回連続のリトライエラーが発生した時に、このビットが“1”にセット されます。 また、F/W により H_CHaConfig_0.TranGo ビットを引き上げた際もこのビットが“1”にセッ トされます。そのときの ConditionCode は最終トランザクションの結果を示します。 294 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Code Meaning Description 000 NOERROR ノーエラー トランザクションがエラーなく完了した 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します IRP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパケット に含まれたデータトグルが予期した値と一致していない場合、 データ・オーバーランではなくトグルミスマッチとして処理し ます) 011 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズ未満のデータパケットを受信し、且つデータ数 が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します 100 RETRYERROR リトライエラー • デバイスがトークンに規定時間以内に応答しない(IN)、または規定 時間以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含まれてい る エンドポイントからのデータパケットにビット・スタッフィングエ ラーが含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)またはハ ンドシェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない エンドポイントからのデータパケットに含まれたデータトグルが、 予期した値と一致していない(トグルミスマッチ) • • • • • その他 Reserved Bit3-2 Reserved Bit1 BO_SupportCmp 割り込み要因を直接指示します。 バルクオンリーサポート機能による転送で、ステータストランスポートが正常に完了した 時に、このビットが“1”にセットされます。 また、H_CHaBO_SupportCtl レジスタの BO_SupportGo ビットをクリアすることによるバル クオンリーサポート機能の停止処理において、CSW トランスポートが正常終了して停止処 理が終了した場合、このビットが“1”にセットされます。 Bit0 BO_SupportStop 割り込み要因を直接指示します。 バルクオンリーサポート機能による転送で、いずれかの転送が異常終了した時に、このビッ トが“1”にセットされます。 また、H_CHaBO_SupportCtl レジスタの BO_SupportGo ビットをクリアすることによるバル クオンリーサポート機能の停止処理において、CSW トランスポート以外のトランスポート で停止処理が終了するか、CSW トランスポートでエラーを検出した場合、このビットが“1” にセットされます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 295 3. レジスタ詳細説明 3.3.7 147h H_CHbIntStat (Host CHb Interrupt Status) 3.3.8 148h H_CHcIntStat (Host CHc Interrupt Status) 3.3.9 149h H_CHdIntStat (Host CHd Interrupt Status) 3.3.10 14Ah H_CHeIntStat (Host CHe Interrupt Status) Mode Host Address Register Name R/W Bit Symbol Description 147h H_CHbIntStat R (W) 7: TotalSizeCmp 0: None 1: TotalSize Complete 148h H_CHcIntStat R (W) 6: TranACK 0: None 1: Tran ACK 149h H_CHdIntStat R (W) 5: TranErr 0: None 1: Tran Error 14Ah H_CHeIntStat R (W) 4: ChangeCondition 0: None 1: Change Condition 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h チャネル CHx{x=b-e}の割り込みステータスを表示します。 全てのビットは“1”を書き込む事で割り込み要因をクリアできます。 Bit7 TotalSizeCmp 割り込み要因を直接指示します。 IRP 単位のパケット転送で正常に転送完了した時に、このビットが“1”にセットされます。 Bit6 TranACK 割り込み要因を直接指示します。 H_CHx{x=b-e}Config_0.ACK_Cnt ビットに設定した回数の個別トランザクションで正常に 転送完了した時に、このビットが“1”にセットされます。 Bit5 TranErr 割り込み要因を直接指示します。個別トランザクションがリトライエラー、すなわちタイ ムアウトエラー、CRC エラー、ビットスタッフィングエラー、PID エラー(予期せぬ PID 含む)、トグルミスマッチエラーのいずれかで完了した時に、このビットが“1”にセットさ れます。 Bit4 ChangeCondition 割り込み要因を直接指示します。 トランザクションにおいてコンディションコードのストール、データ・オーバーラン、デー タ・アンダーラン、3 回連続のリトライエラーが発生した時に、このビットが“1”にセット されます。 また、F/W により H_Chx{x=b-e}Config_0.TranGo ビットを引き上げた際もこのビットが“1” にセットされます。そのときの ConditionCode は最終トランザクションの結果を示します。 296 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Code Meaning 000 NOERROR ノーエラー トランザクションがエラーなく完了した Description 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します IRP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパケットに含 まれたデータトグルが予期した値と一致していない場合、データ・ オーバーランではなくトグルミスマッチとして処理します 011 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズ未満のデータパケットを受信し、且つデータ数が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検出された場 合はリトライエラーとして処理します 100 RETRYERROR リトライエラー • デバイスがトークンに規定時間以内に応答しない(IN)、または規定時間 以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含まれている エンドポイントからのデータパケットにビット・スタッフィングエラー が含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)またはハンド シェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない インタラプト転送のスプリットトランザクションにおいて ERR ハンド シェークを受信した インタラプト転送のスプリットトランザクションにおいて NYET ハン ドシェークを 3 回連続して受信した エンドポイントからのデータパケットに含まれたデータトグルが、予期 した値と一致していない(トグルミスマッチ) • • • • • • • 110 BUFFEROVERRUN バッファ・オーバーラン • アイソクロナス転送において FIFO の空き容量が最大パケットサイズ 未満であるためトランザクションが行われなかった。 111 BUFFERUNDERRUN バッファ・アンダーラン • アイソクロナス転送において FIFO の有効データ数が不足のためトラ ンザクションが行われなかった。 その他 Bit3-0 Reserved Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 297 3. レジスタ詳細説明 3.3.11 Mode Host 150h H_SIE_IntEnb_0 (Host SIE Interrupt Enable) Address 150h Register Name R/W H_SIE_IntEnb_0 Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: R/W 4: EnDetectCon 0: Disable 1: Enable R/W 3: EnDetectDiscon 0: Disable 1: Enable R/W 2: EnDetectRmtWkup 0: Disable 1: Enable R/W 1: EnDetectDevChirpOK 0: Disable 1: Enable R/W 0: EnDetectDevChirpNG 0: Disable 1: Enable Reset 00h H_SIE_IntStat_0 レジスタの割り込み要因による、 MainIntStat レジスタの H_SIE_IntStat_0 ビットのアサー トを許可/禁止します。 298 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.12 Mode Host 151h H_SIE_IntEnb_1(SIE Host Interrupt Enable 1) Address 151h Register Name R/W H_SIE_IntEnb_1 Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1 4: 0: 1: F R/W 3: EnDisabledCmp 0: Disable 1: Enable R/W 2: EnResumeCmp 0: Disable 1: Enable R/W 1: EnSuspendCmp 0: Disable 1: Enable R/W 0: EnResetCmp 0: Disable 1: Enable Reset 00h H_SIE_IntStat_1 レジスタの割り込み要因による、 MainIntStat レジスタの H_SIE_IntStat_1 ビットのアサー トを許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 299 3. レジスタ詳細説明 3.3.13 Mode Host 153h H_FrameIntEnb(Host Frame Interrupt Enable ) Address 153h Register Name R/W H_FrameIntEnb Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: 3: 0: 1: R/W 2: EnPortErr 0: Disable 1: Enable R/W 1: EnFrameNumOver 0: Disable 1: Enable R/W 0: EnSOF 0: Disable 1: Enable Reset 00h H_FrameIntStat レジスタの割り込み要因による、MainIntStat レジスタの H_FrameIntStat ビットのアサー トを許可/禁止します。 300 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.14 Mode Host 154h H_CHrIntEnb(Host CHr Interrupt Enable) Address 154h Register Name R/W H_CHrIntEnb Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: R/W 4: EnH_CHeIntStat 0: Disable 1: Enable R/W 3: EnH_CHdIntStat 0: Disable 1: Enable R/W 2: EnH_CHcIntStat 0: Disable 1: Enable R/W 1: EnH_CHbIntStat 0: Disable 1: Enable R/W 0: EnH_CHaIntStat 0: Disable 1: Enable Reset 00h H_CHrIntStat レジスタの割り込み要因による、MainIntStat レジスタの H_CHrIntStat ビットのアサートを 許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 301 3. レジスタ詳細説明 3.3.15 Mode Host 155h H_CH0IntEnb(Host CH0 Interrupt Enable) Address 155h Register Name H_CH0IntEnb R/W Bit Symbol Description R/W 7: EnTotalSizeCmp 0: Disable 1: Enable R/W 6: EnTranACK 0: Disable 1: Enable R/W 5: EnTranErr 0: Disable 1: Enable R/W 4: EnChangeCondition 0: Disable 1: Enable 3: 0: 1: 2: 0: 1: R/W 1: EnCTL_SupportCmp 0: Disable 1: Enable R/W 0: EnCTL_SupportStop 0: Disable 1: Enable Reset 00h H_CH0IntStat レジスタの割り込み要因による、MainIntStat レジスタの H_CH0IntStat ビットのアサート を許可/禁止します。 302 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.16 Mode Host 156h H_CHaIntEnb (Host CHa Interrupt Enable) Address 156h Register Name H_CHaIntEnb R/W Bit Symbol Description R/W 7: EnTotalSizeCmp 0: Disable 1: Enable R/W 6: EnTranACK 0: Disable 1: Enable R/W 5: EnTranErr 0: Disable 1: Enable R/W 4: EnChangeCondition 0: Disable 1: Enable 3: 0: 1: 2: 0: Disable 1: R/W 1: EnBO_Support_Cmp 0: Disable 1: Enable R/W 0: EnBO_Support_Stop 0: Disable 1: Enable Reset 00h H_CHaIntStat レジスタの割り込み要因による、H_CHrIntStat レジスタの CHaIntStat ビットのアサートを 許可/禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 303 3. レジスタ詳細説明 3.3.17 157h H_CHbIntEnb (Host CHb Interrupt Enable) 3.3.18 158h H_CHcIntEnb (Host CHc Interrupt Enable) 3.3.19 159h H_CHdIntEnb (Host CHd Interrupt Enable) 3.3.20 15Ah H_CHeIntEnb (Host CHe Interrupt Enable) Mode Host Address Register Name R/W Bit Symbol Description 157h H_CHbIntEnb R/W 7: EnTotalSizeCmp 0: Disable 1: Enable 158h H_CHcIntEnb R/W 6: EnTranACK 0: Disable 1: Enable 159h H_CHdIntEnb R/W 5: EnTranErr 0: Disable 1: Enable 15Ah H_CHeIntEnb R/W 4: EnChangeCondition 0: Disable 1: Enable 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: Reset 00h H_CHx{x=b-e}IntStat レジスタの割り込み要因による、H_CHrIntStat レジスタの CHx{x=b-e}IntStat ビッ トのアサートを許可/禁止します。 304 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.21 Mode Host 160h H_NegoControl_0 (Host NegoControl 0) Address 160h Register Name H_NegoControl_0 R/W R/W Bit Symbol 7: AutoModeCancel R 6: HostState[2] R 5: HostState[1] R 4: HostState[0] W 3: AutoMode[3] W 2: AutoMode[2] W 1: AutoMode[1] W 0: AutoMode[0] Description 0: None Reset 1: Cancel HostState[2:0] 1Xh AutoMode[3:0] ホストのネゴシエーション に関する動作設定を行います。 Bit7 AutoModeCancel このビットを“1”にセットすると、ホストステート管理サポート機能の実行を停止して、そ のステートに留まります(H_NegoControl_0. AutoMode および H_XcvrControl の設定を保持、 信号ラインの状態を保持、内蔵タイマを停止、接続・切断・デバイス Chirp・リモートウェー クアップの各検出機能を OFF します)。 以下の操作を行うとき、事前にこのビットによりホストステート管理サポート機能の実行 を停止する必要があります。 • ホストステートを IDLE ステートに遷移させるとき、 • デバイスからの Chirp に異常を検出しリセット完了ステータス(H_SIE_IntStat_1.ResetCmp) の発行を待たずにホストステートを DISABLED ステートに遷移させるとき、 • AutoMode を上書きするとき、 • H_USB_Test.EnHS_Test によりテストモードを実行するとき、 このビットに“1”をセットすると、ホストステート管理サポート機能の停止処理を行い、停 止処理が完了することで本ビットは“0”になります(60MHz クロックで 6 サイクル程度必 要)。上記の場合においては、本ビットが“0”になったことを確認してから、H_NegoControl_0. AutoMode の GoIDLE 設定または GoDISABLED 設定、あるいば H_USB_Test.EnHS_Test セッ トを行ってください。 Bit6-4 HostState[2:0] ホストステート管理サポート機能実行時の現在のホストステートを示します。ステートは 以下のいずれかの項目になります。 000: Reserved 001: IDLE 010: WAIT_CONNECT 011: DISABLED 100: USB_RESET 101: USB_OPERATIONAL 110: USB_SUSPEND 111: USB_RESUME S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 305 3. レジスタ詳細説明 Bit3-0 AutoMode[3:0] ホストステート管理サポート機能の実行で、遷移させるホストステートを設定します。 本レジスタはライトオンリーレジスタであり、以下のいずれかを設定します。 0001: GoIDLE (IDLE ステートに遷移させる) 0010: GoWAIT_CONNECT (WAIT_CONNECT ステートに遷移させる) 0011: GoDISABLED (DISABLED ステートに遷移させる) 0100: GoRESET (RESET ステートに遷移させる) 0101: GoOPERATIONAL (OPERATIONAL ステートに遷移させる) 0110: GoSUSPEND (SUSPEND ステートに遷移させる) 0111: GoRESUME (RESUME ステートに遷移させる) 1001: GoWAIT_CONNECTtoDIS(WAIT_CONNECT ステートから DISABLED ステー トまで連続に遷移させる) 1010: GoWAIT_CONNECTtoOP (WAIT_CONNECT ステートから OPERATIONAL ス テートまで連続に遷移させる) 1100: GoRESETtoOP (RESET ステートから OPERATIONAL ステートまで連続に遷 移させる) 1110: GoSUSPENDtoOP (SUSPEND ステートから OPERATIONAL ステートまで連 続に遷移させる) 1111: GoRESUMEtoOP (RESUME ステートから OPERATIONAL ステートまで連続 に遷移させる) 上記以外: Reserved あるステートから IDLE ステートに遷移させる(GoIDLE を実行する)場合には、以下の手 順を実行してください。 • H_NegoControl_0 レジスタに 0x80 をライトします。 • H_NegoControl_0.AutoModeCancel ビットが 0 になることを確認します。 • H_NegoControl_0 レジスタに 0x01 をライトします。 306 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.22 Mode Host 162h H_NegoControl_1 (Host NegoControl 1) Address 162h Register Name R/W H_NegoControl_1 Bit Symbol Description 7: 0: 1: 6: 0: 1: R/W 5: PortSpeed[1] R/W 4: PortSpeed[0] Reset PortSpeed[1:0] 10h 3: 0: 1: 2: 0: 1: R/W 1: DisChirpFinish 0: Normal 1: DisableChirpFinish R/W 0: RmtWkupDetEnb 0: Disable 1: Enable ホストのネゴシエーション に関する動作設定を行います。 (注) 本レジスタの Reset 値は パワーマネージメントステートが ACTIVE 時に読める値です。それ 以外のステートでは、Reset 値は 00h が読めます。 Bit7-6 Reserved Bit5-4 PortSpeed[1:0] 転送スピードを表示・設定します。 00: High Speed 01: Full Speed 10: Reseved 11: Low Speed Bit3-2 Reserved Bit1 DisChirpFinish デバイス Chirp が規定時間に完了しないときの動作モードを設定します。 0: デバイス Chirp 異常のステータスを上げた後、規定時間の USB Reset 送出により USB Reset を完了します。 1: デバイス Chirp 異常のステータスを上げた後、デバイス Chirp の完了を待ち、デ バイス Chirp が完了するとホスト Chirp を 実行した後、USB Reset を完了します。 Bit0 RmtWkupDetEnb リモートウェークアップ検出機能の有効/無効を設定します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 307 3. レジスタ詳細説明 3.3.23 Mode Host 164h H_USB_Test (Host USB_Test) Address 164h Register Name H_USB_Test R/W R/W Bit Symbol Description 7: EnHS_Test 0: Do nothing 1: EnHS_Test 6: 0: 1: 5: 0: 1: R/W 4: Test_Force_Enable 0: Do nothing 1: Test_Force_Enable R/W 3: Test_SE0_NAK 0: Do nothing 1: Test_SE0_NAK R/W 2: Test_J 0: Do nothing 1: Test_J R/W 1: Test_K 0: Do nothing 1: Test_K R/W 0: Test_Packet 0: Do nothing 1: Test_Packett Reset 00h ホストの USB 2.0 のテストモードに関する動作設定を行います。 テストモードの実行は WAIT_CONNECT、DISABLED、SUSPEND のいずれかのステートで有効です。 これらのステートからテストモードに入る前には、各ステートの処理を停止する必要があります。テス トモードに入る際には以下の手順を実行してください。 • 全チャネルの TranGo ビット(H_CHx{x=0,a-e}Config_0.TranGo)、 H_CTL_SupportControl.CTL_SupportGo、H_CHaBO_SupportCtl.BOSupportGo を“0”に設定します。 • H_NegoControl_0 レジスタに 0x80 をライトします。 • H_NegoControl_0.AutoModeCancel ビットが“0”になるのを確認します。 • 本レジスタの下位 5 ビットのいずれかのビットと、EnHS_Test ビットとに、同時に“1”をセットしま す。 また、あるテストモードから他のテストモードに切り替えるとき、あるいはテストモードを終了させる ときは、本レジスタに 0x00 をライトしてください。テストモードを終了し、ホストステートは IDLE となります。 Bit7 EnHS_Test このビットと、H_USB_Test レジスタの下位 5 ビットのいずれかのビットとに、同時に“1” をセットすると、そのビットに対応するテストモードに入ります。 Bit6-5 Reserved Bit4 Test_Force_Enable このビットと、EnHS_Test ビットとに、同時に“1”をセットすることにより、TestForceEnable テストモードに入ることができます。このテストモードでは、ホストポートは HS モード にて SOF を送出し、切断検出が可能となります。 Bit3 Test_SE0_NAK このビットと、EnHS_Test ビットとに、同時に“1”をセットすることにより、Test_SE0_NAK テストモードに入ることができます。このテストモードでは、ホストポートは HS モード にて受信状態となります。 Bit2 TEST_J このビットと、EnHS_Test ビットとに、同時に“1”をセットすることにより、Test_J テスト モードに入ることができます。このテストモードでは、ホストポートは HS モードにて“J” を送出します。 308 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit1 TEST_K このビットと、EnHS_Test ビットとに、同時に“1”をセットすることにより、Test_K テスト モードに入ることができます。このテストモードでは、ホストポートは HS モードにて”K” を送出します。 Bit0 Test_Packet このビットと、EnHS_Test ビットとに、同時に“1”をセットすることにより、Test_Packet テ ストモードに入ることができます。このテストモードは CH0 のみで使用できます。テスト モードに入る前に CH0 の FIFO 領域を 64 バイトに設定し、CH0 の FIFO をクリアし、下記 のテストパケット用のデータをこの FIFO に書き込んで下さい。また、H_CH0Config_1.TID = 00b と設定してください。 パケット送信テストモード時に FIFO に書き込むデータは以下の 53 バイトです。 00h、00h、00h、00h、00h、00h、00h、00h、 00h、AAh、AAh、AAh、AAh、AAh、AAh、AAh、 AAh、EEh、EEh、EEh、EEh、EEh、EEh、EEh、 EEh、FEh、FFh、FFh、FFh、FFh、FFh、FFh、 FFh、FFh、FFh、FFh、FFh、7Fh、BFh、DFh、 EFh、F7h、FBh、FDh、FCh、7Eh、BFh、DFh、 EFh、F7h、FBh、FDh、7Eh テストパケット送出時に、SIE が PID と CRC を付加しますので、FIFO に書き込むデータ は、USB 規格 Rev.2.0 に記載されているテストパケットデータのうち、DATA0 PID の次の データから、CRC16 以外のデータまでとなります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 309 3. レジスタ詳細説明 3.3.24 170h H_CH0SETUP_0 (Host CH0 SETUP 0) 3.3.25 171h H_CH0SETUP_1 (Host CH0 SETUP 1) 3.3.26 172h H_CH0SETUP_2 (Host CH0 SETUP 2) 3.3.27 173h H_CH0SETUP_3 (Host CH0 SETUP 3) 3.3.28 174h H_CH0SETUP_4 (Host CH0 SETUP 4) 3.3.29 175h H_CH0SETUP_5 (Host CH0 SETUP 5) 3.3.30 176h H_CH0SETUP_6 (Host CH0 SETUP 6) 3.3.31 177h H_CH0SETUP_7 (Host CH0 SETUP 7) Mode Host Address Register Name R/W Bit Symbol 170h H_CH0SETUP_0 7: CH0SETUP_n [7] -177h -H_CH0SETUP_7 6: CH0SETUP_n [6] Description Reset 5: CH0SETUP_n [5] R/W 4: CH0SETUP_n [4] 3: CH0SETUP_n [3] Channel 0 SETUP Data 0 - Channel 0 SETUP Data 7 00h 2: CH0SETUP_n [2] 1: CH0SETUP_n [1] 0: CH0SETUP_n [0] チャネル CH0 のセットアップステージで送信する 8 バイトのデータを順にセットするレジスタです。 CH0SETUP_0 BmRequestType をセットします。 CH0SETUP_1 Brequest をセットします。 CH0SETUP_2 Wvalue の下位 8 ビットをセットします。 CH0SETUP_3 Wvalue の上位 8 ビットをセットします。 CH0SETUP_4 WIndex の下位 8 ビットをセットします。 CH0SETUP_5 WIndex の上位 8 ビットをセットします。 CH0SETUP_6 WLength の下位 8 ビットをセットします。 CH0SETUP_7 WLength の上位 8 ビットをセットします。 310 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.32 Mode Host 17Eh-17Fh H_FrameNumber_H,L (Host FrameNumber High, Low) Address 17Eh-17Fh Register Name R/W H_FrameNumber_H,L Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: 12: 0: 1: 11: 0: 1: Reset 10: FrameNumber [10] 9: FrameNumber [9] 8: FrameNumber [8] 07FFh 7: FrameNumber [7] 6: FrameNumber [6] R/W 5: FrameNumber [5] Frame Number 4: FrameNumber [4] 3: FrameNumber [3] 2: FrameNumber [2] 1: FrameNumber [1] 0: FrameNumber [0] SOF トークンを送信する毎に更新される、USB のフレームナンバーが表示されます。 (注)本レジスタの Reset 値は パワーマネージメントステートが ACTIVE 時に読める値です。それ以 外のステートでは、Reset 値は 0000h が読めます。 Bit15-11 Reserved Bit10-0 FrameNumber [10:0] 送信する SOF パケットの FrameNumber が表示されます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 311 3. レジスタ詳細説明 3.3.33 Mode Host 180h H_CH0Config_0(Host Channel 0 Configuration0) Address 180h Register Name R/W H_CH0Config_0 Bit Symbol Description Reset 7: ACK_Cnt[3] R/W 6: ACK_Cnt[2] ACK Count 5: ACK_Cnt[1] 4: ACK_Cnt[0] R/W 00h 3: SpeedMode[1] Speed Mode 2: SpeedMode[0] R/W 1: Toggle 0: Toggle0 1: Toggle1 R/W 0: TranGo 0: Stand by 1: Transaction Start ホスト動作時にチャネル CH0 の基本設定を行います。 Bit7-4 ACK_Cnt [3:0] チャネル CH0 で行われる転送において、ACK をカウントする数を設定します。 設定された値だけ ACK をカウントすると、H_CH0IntStat レジスタの TranACK ビットがセッ トされます。 0000: 16 回の ACK をカウントします。 0001~1111: 1 回~15 回の ACK をカウントします。 コントロール転送サポート機能実行中においてはデータステージのトランザクションのみ カウントされ、セットアップステージ、ステータスステージのトランザクションはカウン トされません。 Bit3-2 SpeedMode [1:0] チャネル CH0 で転送を行うデバイスの動作モードを設定します。 00: HS モード - HS デバイスの時はこの設定にして下さい。 01: FS モード - FS デバイスの時はこの設定にして下さい。 10: Reserved - 本値の使用を禁止します。 11: LS モード - LS デバイスの時はこの設定にして下さい。 Bit1 Toggle トランザクションを開始する時のトグルシーケンスビットの初期値を設定します。また、 トランザクション実行後、およびトランザクション完了後はトグルシーケンスビットの状 態を示します。 0: トグル 0 1: トグル 1 312 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit0 TranGo このビットを“1”に設定するとチャネル CH0 のトランザクションを開始します。トランザ クション開始後このビットを“0”にクリアするとトランザクション処理を停止させること ができます。また、このビットはチャネル CH0 がトランザクション実行中か否かのステー タスの意味も有します。 0: トランザクションを停止します(トランザクション停止中です) 1: トランザクションを開始します(トランザクション実行中です) 転 送 が H_CH0TotalSize_H ~ L レ ジ ス タ で 設 定 し た バ イ ト 数 を 完 了 し た 時 点 で H_CH0IntStat レジスタの TotalSizeCmp ビットが “1” にセットされ、本ビットは自動的に “0”に戻ります。H_CH0IntStat レジスタの ChangeCondition ビットがセットされたような場 合は“0”にリセットされます。この時は、H_CH0ConditionCode レジスタにその原因がセッ トされていますので参照して下さい。 また、このビットのクリアによる停止を行った時は処理最中のトランザクションが終了し た時点で、H_CH0IntStat レジスタの ChangeCondition ビットがセットされます。トランザク ションが停止されても、FIFO 中のデータ、(残りの)トータルサイズ、チャネルに関する 設定はそのままの状態となります。従って再びこのビットを“1”にセットすることによって、 トランザクションを停止された時の続きから再開させることが可能です。(新たなトラン ザクションを行う場合は FIFO をクリアし、チャネル情報の設定をし直してください。) コントロール転送サポート機能を使用する際はこのビットを設定する必要はありません。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 313 3. レジスタ詳細説明 3.3.34 Mode Host 181h H_CH0Config_1(Host Channel 0 Configuration1) Address 181h Register Name H_CH0Config_1 R/W R/W Bit Symbol 7: TID[1] Description Reset Transaction ID 6: TD[0] 5: 0: 4: 0: 3: 0: 2: 0: 1: 0: 0: 0: 00h ホスト動作時にチャネル CH0 の基本設定を行います。 Bit7-6 TID[1:0] チャネル CH0 で発行するトランザクションの種類(SETUP 、OUT、IN)を設定します。 このビットの設定は CTL_SupportControl レジスタの CTL_SupportGo ビットを“1”に設定し てトランザクションを開始した時には無効になります。 00: SETUP - SETUP トークンを発行します。 01: OUT - OUT トークンを発行します。 10: IN - IN トークンを発行します。 11: Reserved - 本値の使用を禁止します。 コントロール転送サポート機能を使用する際はこのビットを設定する必要はありません。 Bit5-0 314 Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.35 Mode Host 183h H_CH0MaxPktSize (Host Channel 0 Max Packet Size) Address 183h Register Name R/W H_CH0MaxPktSize Bit Symbol 7: Description 0: Reset 1: 6: MaxPktSize[6] 5: MaxPktSize[5] 4: MaxPktSize[4] R/W 3: MaxPktSize[3] 00h Max Packet Size 2: MaxPktSize[2] 1: MaxPktSize[1] 0: MaxPktSize[0] ホスト動作時にチャネル CH0 の MaxPacketSize の設定を行います。 Bit7 Reserved Bit6-0 MaxPktSize[6:0] チャネル CH0 の MaxPacketSize を設定します。 LS 時 8 バイト FS 時 8, 16, 32, 64 バイト HS 時 64 バイト のいずれかに設定してください。 それ以外の値の設定は禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 315 3. レジスタ詳細説明 3.3.36 Mode Host 186h-187h H_CH0TotalSize_H,L (Host Channel 0 Total Size High, Low) Address 186h-187h Register Name R/W H_CH0TotalSize_H,L Bit Symbol Description Reset 15: TotalSize[15] 14: TotalSize[14] 13: TotalSize[13] 12: TotalSize[12] 11: TotalSize[11] 10: TotalSize[10] 9: TotalSize[9] R/W 8: TotalSize[8] Total Size 0000h 7: TotalSize[7] 6: TotalSize[6] 5: TotalSize[5] 4: TotalSize[4] 3: TotalSize[3] 2: TotalSize[2] 1: TotalSize[1] 0: TotalSize[0] ホスト動作時にチャネル CH0 で転送を行うデータの Total Size を設定します。 Bit15-0 TotalSize[15:0] チャネル CH0 における転送データの全バイト数(最大 65,535byte:約 64Kbyte)を設定します。 H_CH0Config_0 レジスタの TranGo ビットによりトランザクションが開始された後は、ト ランザクションが正常終了するたびにこのレジスタは更新されます。 また、TotalSize = 0 の時、H_CH0Config_0 レジスタの TranGo ビットにより OUT トランザ クションを開始するとゼロ長パケットが送信されます。 SETUP トランザクションを行う場合、およびコントロール転送サポート機能を使用する場 合は、このレジスタを設定する必要はありません。 316 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.37 Mode Host 188h H_CH0HubAdrs (Host Channel 0 Hub Address) Address 188h Register Name R/W H_CH0HubAdrs Bit Symbol Description Reset 7: HubAdrs[3] R/W 6: HubAdrs[2] Hub Address 5: HubAdrs[1] 4: HubAdrs[0] 3: 00h 0: 1: 2: Port[2] R/W 1: Port[1] Port Number 0: Port[0] ホスト動作時にチャネル CH0 に接続するハブの設定を行います。 Bit7 HubAdrs[3:0] チャネル CH0 で転送を行うファンクションが接続されているハブの USB アドレスを設定 します。 0~15 までの任意の値が設定できます。 Bit3 Reserved Bit2-0 Port[2:0] チャネル CH0 で転送を行うファンクションが接続されているハブのポートナンバーを設定 します。 0~7 までの任意の値が設定できます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 317 3. レジスタ詳細説明 3.3.38 Mode Host 189h H_CH0FuncAdrs (Host Channel 0 Function Address) Address 189h Register Name R/W H_CH0FuncAdrs Bit Symbol Description Reset 7: FuncAdrs[3] R/W 6: FuncAdrs[2] Function Address 5: FuncAdrs[1] 4: FuncAdrs[0] 00h 3: EP_Number[3] R/W 2: EP_Number[2] Endpoint Number 1: EP_Number[1] 0: EP_Number[0] ホスト動作時にチャネル CH0 で転送を行うファンクションのアドレス設定を行います。 Bit7-4 FuncAdrs[3:0] チャネル CH0 が管理するエンドポイントを含むファンクションの USB アドレスを設定し ます。 0~15 までの任意の値が設定できます。 Bit3-0 EP_Number[3:0] チャネル CH0 で転送を行うエンドポイント番号を設定します。 0~15 までの任意の値が設定できます。 318 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.39 Mode Host 18Bh H_CTL_SupportControl (Host ControlTransfer Support Control) Address 18Bh Register Name R/W H_CTL_SupportControl R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: CTL_SupportState[1] ControlTransfer Support State 4: CTL_SupportState[0] R/W Reset 00h 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: CTL_SupportGo 0: Stand by 1: Control Transfer Go ホスト動作時にチャネル CH0 でコントロール転送を行う時の支援機能の設定を行います。 Bit7-6 Reserved Bit5-4 CTL_SupportState[1:0] CTL_SupportGo ビットを“1”に設定し、コントロール支援機能を使用して転送を行っている 時にどのステージを実行しているかを示します。 00: Idle - 転送未実行、または転送が正常に終了したことを示します。 01: Setup Stage - セットアップステージを実行していることを示します。 10: Data Stage - データステージを実行していることを示します。 11: Status Stage - ステータスステージを実行していることを示します。 Bit3-1 Reserved Bit0 CTL_SupportGo このビットを“1”に設定するとチャネル CH0 でコントロール転送支援機能により、セット アップステージ~(データステージ)~ステータスステージが自動的に行われます。 セットアップステージでは、SETUP トークンを自動的に送出し H_CH0SETUP_0~7 に設 定したリクエストが送信されます。 次にデータステージがある場合は、指定された方向およびサイズでトランザクションが自 動的に実行されます。 最後にステータスステージでは、データステージの有無および方向により、自動的に適当 な PID のトークンを発行しゼロ長パケットの送受信が行われます。 以上のトランザクションおよびステージシーケンスが正常完了すると、H_CH0IntStat レジ スタの CTL_SupportCmp ビットがセットされます。シーケンスの途中でパケットにエラー を検出した場合は、H_CH0IntStat レジスタの CTL_SupportStop ビットがセットされ、トラ ンザクションは停止します。この時は、ConditionCode レジスタにその原因がセットされて いますので参照して下さい。 コントロール転送が終了した場合(正常終了、エラー終了いずれの場合も)、このビットは自 動的にクリアされます。 コントロール転送サポート機能を実行中にこのビットをクリアすることにより、コント ロール転送を停止することが出来ます。コントロール転送がステータスステージで正常終 了 し た 場 合 は CTL_SupportCmp ビ ッ ト が セ ッ ト さ れ ま す 。 こ れ 以 外 の 場 合 は CTL_SupportStop ビットがセットされます。コントロール転送が停止したステージは CTL_SupportState を参照して下さい。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 319 3. レジスタ詳細説明 3.3.40 Mode Host 18Eh H_CH0ConditionCode (Host Channel 0 Condition Code) Address 18Eh Register Name R/W H_CH0ConditionCode Bit Symbol 7: Description 0: Reset 1: 6: ConditionCode[2] R 5: ConditionCode[1] Condition Code 4: ConditionCode[0] 00h 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: ホスト動作時にチャネル CH0 の転送完了結果を示します。 Bit7 Reserved Bit6-4 ConditionCode[2:0] チャネル CH0 で転送が完了した場合の結果を示します。 Code Meaning 000 NOERROR ノーエラー トランザクションがエラーなく完了した Description 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します IRP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパケット に含まれたデータトグルが予期した値と一致していない場合、 データ・オーバーランではなくトグルミスマッチとして処理し ます 011 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズ未満のデータパケットを受信し、且つデータ数 が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検出され た場合はリトライエラーとして処理します 100 RETRYERROR リトライエラー • デバイスがトークンに規定時間以内に応答しない(IN)、または規定 時間以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含まれてい る エンドポイントからのデータパケットにビット・スタッフィングエ ラーが含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)またはハ ンドシェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない エンドポイントからのデータパケットに含まれたデータトグルが、 予期した値と一致していない(トグルミスマッチ) • • • • • その他 Bit3-0 320 Reserved Reserved EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.41 Mode Host 190h H_CHaConfig_0(Host Channel a Configuration0) Address 190h Register Name R/W H_CHaConfig_0 Bit Symbol Description Reset 7: ACK_Cnt[3] R/W 6: ACK_Cnt[2] ACK Count 5: ACK_Cnt[1] 4: ACK_Cnt[0] R/W 3: SpeedMode[1] 00h Speed Mode 2: SpeedMode[0] R/W 1: Toggle 0: Toggle0 1: Toggle1 R/W 0: TranGo 0: Stand by 1: Transaction Start ホスト動作時にチャネル CHa の基本設定を行います。 Bit7-4 ACK_Cnt [3:0] チャネル CHa で行われる転送において、ACK をカウントする数を設定します。 設定された値だけ ACK をカウントすると、H_CHaIntStat レジスタの TranACK ビットがセッ トされます。 0000: 16 回の ACK をカウントします。 0001~1111: 1 回~15 回の ACK をカウントします。 バルクオンリーサポート機能実行中においてはデータトランスポートのトランザクション のみカウントされ、CBW トランスポート、CSW トランスポートのトランザクションはカ ウントされません。 Bit3-2 SpeedMode [1:0] チャネル CHa で転送を行うデバイスの動作モードを設定します。 00: HS モード - HS デバイスの時はこの設定にして下さい。 01: FS モード - FS デバイスの時はこの設定にして下さい。 10-11: Reserved - 本値の使用を禁止します。 Bit1 Toggle トランザクションを開始する時のトグルシーケンスビットの初期値を設定します。また、 トランザクション実行後、およびトランザクション完了後はトグルシーケンスビットの状 態を示します。 0: トグル 0 1: トグル 1 バルクオンリーサポート機能を使用する際はこのビットを設定する必要はありません。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 321 3. レジスタ詳細説明 Bit0 TranGo このビットを“1”に設定するとチャネル CHa のトランザクションを開始します。トランザ クション開始後このビットを“0”にクリアするとトランザクション処理を停止させること ができます。また、このビットはチャネル CHa がトランザクション実行中か否かのステー タスの意味も有します。 0: トランザクションを停止します(トランザクション停止中です) 1: トランザクションを開始します(トランザクション実行中です) 転 送 が H_CHaTotalSize_HH ~ LL レ ジ ス タ で 設 定 し た バ イ ト 数 完 了 し た 時 点 で H_CHaIntStat レジスタの TranCmp ビットが “1” にセットされ、本ビットは自動的に“0” に戻ります。H_CHaIntStat レジスタの ChangeCondition ビットがセットされたような場合は “0”にリセットされます。この時は、H_CHaConditionCode レジスタにその原因がセットさ れていますので参照して下さい。 また、このビットのクリアによる停止を行った時は処理最中のトランザクションが終了し た時点で、H_CHaIntStat レジスタの ChangeCondition ビットがセットされます。トランザク ションが停止されても、FIFO 中のデータ、(残りの)トータルサイズ、チャネルに関する 設定はそのままの状態となります。従って再びこのビットを“1”にセットすることによって、 トランザクションを停止された時の続きから再開させることが可能です。(新たなトラン ザクションを行う場合は FIFO をクリアし、チャネル情報の設定をし直してください。) バルクオンリーサポート機能を使用する際はこのビットを設定する必要はありません。 322 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.42 Mode Host 191h H_CHaConfig_1(Host Channel a Configuration1) Address 191h Register Name H_CHaConfig_1 R/W R/W Bit Symbol 7: TID[1] Description Reset Transaction ID 6: TID[0] R/W R/W 5: 0: 1: 4: 0: 1: 3: AutoZerolen 0: Do nothing 1: Add Zerolen 2: 0: 1: 1: 0: 1: 0: TotalSizeFree 0: Do nothing 1: Total Size Free 00h ホスト動作時にチャネル CHa の基本設定を行います。 Bit7-6 TID[1:0] チャネル CHa で発行するトランザクションの種類(OUT、IN)を設定します。このビット の設定は H_CHaBO_SupportCtl レジスタの BO_SupportGo ビットを“1”に設定してトランザ クションを開始した時には無効になります。 00: Reserved - 本値の使用を禁止します。 01: OUT - OUT トークンを発行します。 10: IN - IN トークンを発行します。 11: Reserved - 本値の使用を禁止します。 バルクオンリーサポート機能を使用する際はこのビットを設定する必要はありません。 Bit5-4 Reserved Bit3 AutoZerolen このビットに“1”を設定すると H_CHaTotalSizeHH~LL レジスタで設定したサイズの転送 がちょうど Max Packet Size で完了した際に、ゼロ長パケットを最後に自動付与します。OUT 転送の場合のみこのビットは有効となります。 Bit2-1 Reserved Bit0 TotalSizeFree このビットに“1”を設定すると H_CHaTotalSizeHH~LL レジスタの設定値に関わりなく転 送サイズが無限になります。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 323 3. レジスタ詳細説明 3.3.43 Mode Host 192h-193h H_CHaMaxPktSize_H,L (Host Channel a Max Packet Size High, Low) Address 192h-193h Register Name R/W H_CHaMaxPktSize_H,L Bit Symbol Description 15: 0: 1: 14: 0: 1: 13: 0: 1: 12: 0: 1: 11: 0: 1: 10: 0: 1: Reset 9: MaxPktSize[9] 8: MaxPktSize[8] 0000h 7: MaxPktSize[7] 6: MaxPktSize[6] R/W 5: MaxPktSize[5] Max Packet Size 4: MaxPktSize[4] 3: MaxPktSize[3] 2: MaxPktSize[2] 1: MaxPktSize[1] 0: MaxPktSize[0] ホスト動作時にチャネル CHa の MaxPacketSize の設定を行います。 Bit15-10 Reserved リザーブ・ビットには“1”を書き込まないで下さい。 Bit9-0 MaxPktSize[9:0] チャネル CHa の MaxPacketSize を設定します。 FS 時 8, 16, 32, 64 バイト(バルクオンリーサポート機能を使用する場合は 32, 64 バ イトのいずれか) HS 時 512 バイト のいずれかに設定してください。 それ以外の値の設定は禁止します。 324 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.44 194h-195h H_CHaTotalSize_HH,HL (Host Channel a Total Size High-High, High-Low) 3.3.45 196h-197h H_CHaTotalSize_LH,LL (Host Channel a Total Size Low-High, Low-Low) Mode Host Address 194h-195h Register Name R/W H_CHaTotalSize_HH,HL Bit Symbol Description Reset 15: TotalSize[31] 14: TotalSize[30] 13: TotalSize[29] 12: TotalSize[28] 11: TotalSize[27] 10: TotalSize[26] 9: TotalSize[25] R/W 8: TotalSize[24] Total Size High 0000h 7: TotalSize[23] 6: TotalSize[22] 5: TotalSize[21] 4: TotalSize[20] 3: TotalSize[19] 2: TotalSize[18] 1: TotalSize[17] 0: TotalSize[16] Mode Host Address 196h-197h Register Name R/W H_CHaTotalSize_LH,LL Bit Symbol Description Reset 15: TotalSize[15] 14: TotalSize[14] 13: TotalSize[13] 12: TotalSize[12] 11: TotalSize[11] 10: TotalSize[10] 9: TotalSize[9] R/W 8: TotalSize[8] Total Size Low 0000h 7: TotalSize[7] 6: TotalSize[6] 5: TotalSize[5] 4: TotalSize[4] 3: TotalSize[3] 2: TotalSize[2] 1: TotalSize[1] 0: TotalSize[0] ホスト動作時にチャネル CHa で転送を行うデータの Total Size を設定します。 チャネル CHa における転送データの全バイト数(最大 4,294,967,295byte:約 4Gbyte)を設定します。 H_CHaConfig_0 レジスタの TranGo ビットによりトランザクションが開始された後は、トランザクショ ンが正常に終了するたびにこのレジスタは更新されます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 325 3. レジスタ詳細説明 また、TotalSize = 0 の時、H_CHaConfig_0 レジスタの TranGo ビットにより OUT トランザクションを開 始するとゼロ長パケットが送信されます。 バルクオンリーサポート機能を使用する際はこのレジスタを設定する必要はありません。 326 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.46 Mode Host 198h H_CHaHubAdrs (Host Channel a Hub Address) Address 198h Register Name R/W H_CHaHubAdrs Bit Symbol Description Reset 7: HubAdrs[3] R/W 6: HubAdrs[2] Hub Address 5: HubAdrs[1] 4: HubAdrs[0] 3: 00h 0: 1: 2: Port[2] R/W 1: Port[1] Port Number 0: Port[0] ホスト動作時にチャネル CHa に接続するハブの設定を行います。 Bit7 HubAdrs[3:0] チャネル CHa で転送を行うファンクションが接続されているハブの USB アドレスを設定 します。 0~15 までの任意の値が設定できます。 Bit3 Reserved Bit2-0 Port[2:0] チャネル CHa で転送を行うファンクションが接続されているハブのポートナンバーを設定 します。 0~7 までの任意の値が設定できます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 327 3. レジスタ詳細説明 3.3.47 Mode Host 199h H_CHaFuncAdrs (Host Channel a Function Address) Address 199h Register Name R/W H_CHaFuncAdrs Bit Symbol Description Reset 7: FuncAdrs[3] R/W 6: FuncAdrs[2] Function Address 5: FuncAdrs[1] 4: FuncAdrs[0] 00h 3: EP_Number[3] R/W 2: EP_Number[2] Endpoint Number 1: EP_Number[1] 0: EP_Number[0] ホスト動作時にチャネル CHa で転送を行うファンクションのアドレス設定を行います。 Bit7-4 FuncAdrs[3:0] チャネル CHa が管理するエンドポイントを含むファンクションの USB アドレスを設定し ます。 0~15 までの任意の値が設定できます。 Bit3-0 EP_Number[3:0] チャネル CHa で転送を行うエンドポイント番号を設定します。 0~15 までの任意の値が設定できます。 バルクオンリーサポート機能を使用する際はこのビットを設定する必要はありません。 328 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.48 Mode Host 19Ah H_CHaBO_SupportCtl (Host CHa Bulk Only Transfer Support Control) Address 19Ah Register Name R/W H_CHaBO_SupportCtl R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: BO_TransportState[1] Bulk Only Transfer Transport State 4: BO_TransportState[0] R/W Reset 00h 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: BO_SupportGo 0: Stand by 1: BO Transfer Go ホスト動作時にチャネル CHa のバルクオンリーサポート機能の設定を行います。 Bit7-6 Reserved Bit5-4 BO_TransportState[1:0] BO_SupportGo ビットを“1”に設定し、バルクオンリーサポート機能を使用して転送を行っ ている時にどのトランスポートを実行しているかを示します。 00: Idle - 転送未実行、または転送が正常に終了したことを示します。 01: CBW Transport - CBW トランスポートを実行していることを示します。 10: Data Transport - データトランスポートを実行していることを示します。 11: CSW Transport - CSW トランスポートを実行していることを示します。 Bit3-1 Reserved Bit0 BO_SupportGo このビットを“1”に設定するとチャネル CHa でバルクオンリーサポート機能により、CBW トランスポート~(データトランスポート)~CSW トランスポートが自動的に行われます。 CBW トランスポートでは、OUT トークンを自動的に送出し FIFO の CBW エリアに設定し たデータが送信されます。 次にデータステージがある場合は、指定された方向およびサイズでデータトランスポート が自動的に実行されます。 最後に CSW トランスポートでは、IN トークンを自動的に送出し FIFO の CSW エリアにデー タを受信します。 以上のトランスポートが正常完了すると、H_CHaIntStat レジスタの BO_SupportCmp ビッ トがセットされます。トランスポートの途中でパケットにエラーを検出した場合、および CSW の値が適切でない場合は H_CHaIntStat レジスタの BO_SupportStop ビットがセットさ れ、トランザクションは停止します。この時は、H_CHaConditionCode レジスタにその原因 がセットされていますので参照して下さい。H_CHaIntStat レジスタの BO_SupportStop ビット が“1”に設定された時に ConditionCode の値が”000”である場合は、CSW の値が適切でない ことを表しています。 一連のトランスポートが終了した場合(正常終了、エラー終了いずれの場合も)、このビット は自動的にクリアされます。 バルクオンリーサポート機能を実行中にこのビットをクリアすることにより、トランス ポートの処理を停止することが出来ます。この場合、CSW トランスポートが正常終了した 場合は BO_SupportCmp ビットが、それ以外は BO_SupportStop ビットがセットされます。 停止したトランスポートは BO_TransportState にて確認してください。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 329 3. レジスタ詳細説明 3.3.49 Mode Host 19Bh H_CHaBO_CSW_RcvSize(Host CHa Bulk Only Transfer Support CSW Receive Data Size) Address 19Bh Register Name R/W H_CHaBO _CSW_RcvDataSize Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: 0: 1: Reset 00h 3: CSW_RcvDataSize[3] R 2: CSW_RcvDataSize[2] CSW Resceive Data Size 1: CSW_RcvDataSize[1] 0: CSW_RcvDataSize[0] ホスト動作時にチャネル CHa のバルクオンリーサポート機能において、CSW トランスポート実行時の 受信データ数を示します。 Bit7-4 Reserved Bit3-0 CSW_RcvDataSize[3:0] CSW の受信データ数を示します。 CSW トランスポートで 13 バイト未満のデータを受信した場合、このレジスタにより受信 データ数を確認出来ます。 CSW トランスポートでハンドシェークを受信した場合、および CSW トランスポート以外 の場合においては、このレジスタの値は意味を持ちません。 330 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.50 Mode Host 19Ch H_CHaBO_OUT_EP_Ctl(Host CHa Bulk Only Transfer Support OUT Endpoint Control) Address 19Ch Register Name R/W H_CHaBO _OUT_EP_Ctl R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: OUT_Toggle 0: Toggle0 1: Toggle1 Reset 00h 3: OUT_EP_Number[3] R/W 2: OUT_EP_Number[2] OUT EP Number 1: OUT_EP_Number[1] 0: OUT_EP_Number[0] ホスト動作時にチャネル CHa のバルクオンリーサポート機能の設定を行います。 Bit7-5 Reserved Bit4 OUT_Toggle H_CBW_Control レジスタの BO_SupportGo ビットを“1”に設定し、バルクオンリーサポー ト機能を使用して OUT 方向の転送(CBW トランスポート、Data OUT トランスポート)を 行う時のトグルシーケンスビットの初期値を設定します。 0: トグル 0 1: トグル 1 また、OUT 方向のトランスポートが正常終了した場合、トグルシーケンスビットをこの ビットに自動的に保持します。 Bit3-0 OUT_EP_Number[3:0] H_CBW_Control レジスタの BO_SupportGo ビットを“1”に設定し、バルクオンリーサポー ト機能を使用して OUT 方向の転送(CBW トランスポート、Data OUT トランスポート)を 行う時の転送先デバイスのエンドポイント番号を設定します。 0~15 までの任意の値が設定できます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 331 3. レジスタ詳細説明 3.3.51 Mode Host 19Dh H_CHaBO_IN_EP_Ctl(Host CHa Bulk Only Transfer Support IN Endpoint Control) Address 19Dh Register Name R/W H_CHaBO_IN_EP_Ctl R/W Bit Symbol Description 7: 0: 1: 6: 0: 1: 5: 0: 1: 4: IN_Toggle 0: Toggle0 1: Toggle1 Reset 00h 3: IN_EP_Number[3] R/W 2: IN_EP_Number[2] IN EP Number 1: IN_EP_Number[1] 0: IN_EP_Number[0] ホスト動作時にチャネル CHa のバルクオンリーサポート機能の設定を行います。 Bit7-5 Reserved Bit4 IN_Toggle H_CBW_Control レジスタの BO_SupportGo ビットを“1”に設定し、バルクオンリーサポー ト機能を使用して IN 方向の転送(CSW トランスポート、Data IN トランスポート)を行う 時のトグルシーケンスビットの初期値を設定します。 0: トグル 0 1: トグル 1 また、IN 方向のトランスポートが正常終了した場合、トグルシーケンスビットをこのビッ トに自動的に保持します。 Bit3-0 IN_EP_Number[3:0] H_CBW_Control レジスタの BO_SupportGo ビットを“1”に設定し、バルクオンリーサポー ト機能を使用して IN 方向の転送(CSW トランスポート、Data IN トランスポート)を行う 時の転送先デバイスのエンドポイント番号を設定します。 0~15 までの任意の値が設定できます。 332 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.52 Mode Host 19Eh H_CHaConditionCode (Host Channel a Condition Code) Address 19Eh Register Name R/W H_CHaConditionCode Bit Symbol 7: Description 0: Reset 1: 6: ConditionCode[2] R 5: ConditionCode[1] Condition Code 4: ConditionCode[0] 00h 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: ホスト動作時にチャネル CHa の転送完了結果を示します。 Bit7-4 ConditionCode[2:0] チャネル CHa で転送が完了した場合の結果を示します。 Code Meaning Description 000 NOERROR ノーエラー トランザクションがエラーなく完了した 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された 場合はリトライエラーとして処理します IRP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検出された 場合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパケットに 含まれたデータトグルが予期した値と一致していない場合、デー タ・オーバーランではなくトグルミスマッチとして処理します 011 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズ未満のデータパケットを受信し、且つデータ数が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検出された 場合はリトライエラーとして処理します 100 RETRYERROR リトライエラー • デバイスがトークンに規定時間以内に応答しない(IN)、または規定時 間以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含まれている エンドポイントからのデータパケットにビット・スタッフィングエ ラーが含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)またはハン ドシェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない エンドポイントからのデータパケットに含まれたデータトグルが、予 期した値と一致していない(トグルミスマッチ) • • • • • その他 Bit3-0 Reserved Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 333 3. レジスタ詳細説明 3.3.53 1A0h H_CHbConfig_0(Host Channel b Configuration0) 3.3.54 1B0h H_CHcConfig_0(Host Channel c Configuration0) 3.3.55 1C0h H_CHdConfig_0(Host Channel d Configuration0) 3.3.56 1D0h H_CHeConfig_0(Host Channel e Configuration0) Mode Host Address Register Name R/W Bit Symbol 1A0h CHbConfig_0 1B0h CHcConfig_0 1C0h CHdConfig_0 5: ACK_Cnt[1] 1D0h CHeConfig_0 4: ACK_Cnt[0] Description Reset 7: ACK_Cnt[3] R/W R/W 6: ACK_Cnt[2] 3: SpeedMode[1] ACK Count 00h Speed Mode 2: SpeedMode[0] R/W 1: Toggle 0: Toggle0 1: Toggle1 R/W 0: TranGo 0: Stand by 1: Transaction Start ホスト動作時にチャネル CHx{x=b-e}の基本設定を行います。 Bit7-4 ACK_Cnt [3:0] チャネル CHx{x=b-e}で行われる転送において、ACK をカウントする数を設定します。 設定された値だけ ACK をカウントすると、H_CHx{x=b-e}IntStat レジスタの TranACK ビッ トがセットされます。 0000: 16 回の ACK をカウントします。 0001~1111: 1 回~15 回の ACK をカウントします。 Bit3-2 SpeedMode [1:0] チャネル CHx{x=b-e}で転送を行うデバイスの動作モードを設定します。 00: HS モード - HS デバイスの時はこの設定にして下さい。 01: FS モード - FS デバイスの時はこの設定にして下さい。 10: Reserved - 本値の使用を禁止します。 11 : LS モード - LS デバイスの時はこの設定にして下さい。 Bit1 Toggle トランザクションを開始する時のトグルシーケンスビットの初期値を設定します。また、 トランザクション実行後、およびトランザクション完了後はトグルシーケンスビットの状 態を示します。 0: トグル 0 1: トグル 1 334 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit0 TranGo このビットを“1”に設定するとチャネル CHx{x=b-e}のトランザクションを開始します。ト ランザクション開始後このビットを“0”にクリアするとトランザクション処理を停止させ ることができます。また、このビットはチャネル CHx{x=b-e}がトランザクション実行中か 否かのステータスの意味も有します。 0: トランザクションを停止します(トランザクション停止中です) 1: トランザクションを開始します(トランザクション実行中です) 転送が H_CHx{x=b-e}TotalSize_HH~LL レジスタ で設定したバイト数完了した時点で H_CHx{x=b-e}IntStat レジスタの TotalSizeCmp ビットが “1” にセットされ、本ビットは自 動的に“0”に戻ります。バルク転送、インタラプト転送では H_CHx{x=b-e}IntStat レジスタの ChangeCondition ビットがセットされたような場合は“0”にリセットされます。この時は、 H_CHx{x=b-e}ConditionCode レジスタにその原因がセットされていますので参照して下さ い。 また、このビットのクリアによる停止を行った時は処理最中のトランザクションが終了し た時点で、H_CHx{x=b-e}IntStat レジスタの ChangeCondition ビットがセットされます。ト ランザクションが停止されても、FIFO 中のデータ、(残りの)トータルサイズ、チャネル に関する設定はそのままの状態となります。従って再びこのビットを“1”にセットすること によって、トランザクションを停止された時の続きから再開させることが可能です。(新 たなトランザクションを行う場合は FIFO をクリアし、チャネル情報の設定をし直してくだ さい。) S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 335 3. レジスタ詳細説明 3.3.57 1A1h H_CHbConfig_1(Host Channel b Configuration1) 3.3.58 1B1h H_CHcConfig_1(Host Channel c Configuration1) 3.3.59 1C1h H_CHdConfig_1(Host Channel d Configuration1) 3.3.60 1D1h H_CHeConfig_1(Host Channel e Configuration1) Mode Address Host 1A1h Register Name R/W H_CHbConfig_1 Bit Symbol H_CHcConfig_1 1C1h H_CHdConfig_1 Transaction ID 6: TID[0] 5: TranType[1] R/W 1D1h Reset 7: TID[1] R/W 1B1h Description H_CHeConfig_1 Transfer Type 4: TranType[0] 00h R/W 3: AutoZerolen 0: Do nothing 1: Add Zerolen R/W 2: Audio441 0: Disable 1: Enable 1: TotalSizeFree[1] R/W TotalSizeFree[1:0] 0: TotalSizeFree[0] ホスト動作時にチャネル CHx{x=b-e}の基本設定を行います。 Bit7-6 TID[1:0] チャネル CHx{x=b-e}で発行するトランザクションの種類(OUT、IN)を設定します。 00: Reserved - 本値の使用を禁止します。 01: OUT - OUT トークンを発行します。 10: IN - IN トークンを発行します。 11: Reserved - 本値の使用を禁止します。 Bit5-4 TranType[1:0] チャネル CHx{x=b-e}で行う転送の種別を設定します。 00: Reserved - 本値の使用を禁止します。 01: Isochronous- アイソクロナス転送を行います。 Bit3 10: Bulk - バルク転送を行います。 11: Interrupt - インタラプト転送を行います。 AutoZerolen このビットに“1”を設定すると H_CHx{x=b-e}TotalSizeHH~LL レジスタで設定したサイズ の転送がちょうど Max Packet Size で完了した際に、ゼロ長パケットを最後に自動付与しま す。OUT 転送の場合のみこのビットは有効となります。 Bit2 Audio441 このビットに”1”を設定するとオーディオクラス・アシスト機能が有効になります。オー ディオクラス・アシスト機能はアイソクロナス転送でサンプリング周波数 44.1kHz の 16bit、 2 チャンネル PCM データを 1ms 周期で送信する時に使用します。オーディオクラス・アシ スト機能が有効の時は送信するデータパケットのサイズを自動で調整します。このとき データパケットのサイズを 176Byte として 9 回連続トランザクションを行った後、データ パケットのサイズを 180Byte として1回トランザクションを行います。 336 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Bit1-0 TotalSizeFree[1:0] H_CHx{x=b-e}TotalSize_HH~LL レジスタによる転送の制御を設定します。 00: H_CHx{x=b-e}TotalSize_HH~LL レジスタで設定したサイズの転送が完了する と TranGo ビットをクリアし転送を終了します。そして、この時 TotalSizeCmp 割り込みを発生します。OUT 転送の場合、最後のデータパケットのサイズは MaxPktSize と TotalSize の小さい方の値となります。IN 転送の場合、期待する最 後のデータパケットのサイズは MaxPktSize と TotalSize の小さい方の値となりま す。 01: H_CHx{x=b-e}TotalSize_HH~LL レジスタの値に関係なく転送が行われます。 OUT 転送の場合、データパケットのサイズは MaxPktSize の値となります。IN 転送の場合、期待するデータパケットのサイズは MaxPktSize の値となります。こ の設定では H_CHx{x=b-e}TotalSize_HH~LL レジスタで設定したサイズの転送 が完了しても TranGo ビットのクリアは行わず、TotalSizeCmp 割り込みも発生し ません。 10: H_CHx{x=b-e}TotalSize_HH~LL レジスタで設定したサイズの転送が完了する と時 TotalSizeCmp 割り込みを発生します。この時 TranGo ビットはクリアされま せんが TotalSize の値が “0”の間中このチャネルのトランザクションの発行は停 止されます。 OUT 転送の場合、データパケットのサイズは MaxPktSize と TotalSize の小さい方の値となります。IN 転送の場合、期待するデータパケットのサイズは MaxPktSize と TotalSize の小さい方の値となります。 11: Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 337 3. レジスタ詳細説明 3.3.61 1A2h-1A3h H_CHbMaxPktSize_H,L (Host Channel b Max Packet Size High, Low) 3.3.62 1B2h-1B3h H_CHcMaxPktSize_H,L (Host Channel c Max Packet Size High, Low) 3.3.63 1C2h-1C3h H_CHdMaxPktSize_H,L (Host Channel d Max Packet Size High, Low) 3.3.64 1D2h-1D3h H_CHeMaxPktSize_H,L (Host Channel e Max Packet Size High, Low) Mode Host Address Register Name R/W Bit Symbol Description 1A2h-1A3h H_CHbMaxPktSize_H,L 15: 0: 1: 1B2h-1B3h H_CHcMaxPktSize_H,L 14: 0: 1: 1C2h-1C3h H_CHdMaxPktSize_H,L 13: 0: 1: 1D2h-1D3h H_CHeMaxPktSize_H,L 12: 0: 1: 11: 0: 1: 10: 0: 1: Reset 9: MaxPktSize[9] 8: MaxPktSize[8] 0000h 7: MaxPktSize[7] 6: MaxPktSize[6] R/W 5: MaxPktSize[5] Max Packet Size 4: MaxPktSize[4] 3: MaxPktSize[3] 2: MaxPktSize[2] 1: MaxPktSize[1] 0: MaxPktSize[0] ホスト動作時にチャネル CHx{x=b-e}の MaxPacketSize の設定を行います。 Bit15-10 Reserved リザーブ・ビットには“1”を書き込まないで下さい。 Bit9-0 MaxPktSize[9:0] チャネル CHx{x=b-e}の MaxPacketSize を設定します。 このチャネルをバルク転送用として使用する場合には、 FS 時 8, 16, 32, 64 バイト HS 時 512 バイト のいずれかに設定して下さい。 このチャネルをインタラプト転送用として使用する場合は、 LS 時 8 バイトまで FS 時 64 バイトまで HS 時 1024 バイトまで の任意の転送数が設定可能です。 338 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 このチャネルをアイソクロナス転送用として使用する場合は、 FS 時 1023 バイトまで HS 時 1024 バイトまで の任意の転送数が設定可能です。 それ以外の値の設定は禁止します。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 339 3. レジスタ詳細説明 3.3.65 1A4h-1A5h H_CHbTotalSize_HH,HL (Host Channel b Total Size High-High, High-Low) 3.3.66 1A6h-1A7h H_CHbTotalSize_LH,LL (Host Channel b Total Size Low-High, Low-Low) 3.3.67 1B4h-1B5h H_CHcTotalSize_HH,HL (Host Channel c Total Size High-High, High-Low) 3.3.68 1B6h-1B7h H_CHcTotalSize_LH,LL (Host Channel c Total Size Low-High, Low-Low) 3.3.69 1C4h-1C5h H_CHdTotalSize_HH,HL (Host Channel d Total Size High-High, High-Low) 3.3.70 1C6h-1C7h H_CHdTotalSize_LH,LL (Host Channel d Total Size Low-High, Low-Low) 3.3.71 1D4h-1D5h H_CHeTotalSize_HH,HL (Host Channel e Total Size High-High, High-Low) 3.3.72 1D6h-1D7h H_CHeTotalSize_LH,LL (Host Channel e Total Size Low-High, Low-Low) Mode Host Address Register Name R/W Bit Symbol 1A4h-1A5h H_CHbTotalSize_HH,HL 15: TotalSize[31] 1B4h-1B5h H_CHcTotalSize_HH,HL 14: TotalSize[30] 1C4h-1C5h H_CHdTotalSize_HH,HL 13: TotalSize[29] 1D4h-1D5h H_CHeTotalSize_HH,HL 12: TotalSize[28] Description Reset 11: TotalSize[27] 10: TotalSize[26] 9: TotalSize[25] R/W 8: TotalSize[24] Total Size High 0000h 7: TotalSize[23] 6: TotalSize[22] 5: TotalSize[21] 4: TotalSize[20] 3: TotalSize[19] 2: TotalSize[18] 1: TotalSize[17] 0: TotalSize[16] 340 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Mode Host Address Register Name R/W Bit Symbol 1A6h-1A7h H_CHbTotalSize_LH,LL 15: TotalSize[15] 1B6h-1B7h H_CHcTotalSize_LH,LL 14: TotalSize[14] 1C6h-1C7h H_CHdTotalSize_LH,LL 13: TotalSize[13] 1D6h-1D7h H_CHeTotalSize_LH,LL 12: TotalSize[12] Description Reset 11: TotalSize[11] 10: TotalSize[10] 9: TotalSize[9] R/W 8: TotalSize[8] Total Size Low 0000h 7: TotalSize[7] 6: TotalSize[6] 5: TotalSize[5] 4: TotalSize[4] 3: TotalSize[3] 2: TotalSize[2] 1: TotalSize[1] 0: TotalSize[0] ホスト動作時にチャネル CHx{x=b-e}で転送を行うデータのバイト数(最大 4,294,967,295byte:約 4Gbyte) を設定します。 H_CHx{x=b-e}Config_0 レジスタの TranGo ビットによりトランザクションが開始された後は、このレジ スタをリードすることにより残りの転送数を読み出すことができます。 また、TotalSize = 0 で OUT トランザクションを実行するとゼロ長パケットが送信されます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 341 3. レジスタ詳細説明 3.3.73 1A8h H_CHbHubAdrs (Host Channel b Hub Address) 3.3.74 1B8h H_CHcHubAdrs (Host Channel c Hub Address) 3.3.75 1C8h H_CHdHubAdrs (Host Channel d Hub Address) 3.3.76 1D8h H_CHeHubAdrs (Host Channel e Hub Address) Mode Host Address Register Name R/W Bit Symbol 1A8h H_CHbHubAdrs 1B8h H_CHcHubAdrs 1C8h H_CHdHubAdrs 5: HubAdrs[1] 1D8h H_CHeHubAdrs 4: HubAdrs[0] Description Reset 7: HubAdrs[3] R/W 6: HubAdrs[2] 3: Hub Address 00h 0: 1: 2: Port[2] R/W 1: Port[1] Port Number 0: Port[0] ホスト動作時にチャネル CHx{x=b-e}に接続するハブの設定を行います。 Bit7 HubAdrs[3:0] チャネル CHx{x=b-e}で転送を行うファンクションが接続されているハブの USB アドレス を設定します。 0~15 までの任意の値が設定できます。 Bit3 Reserved Bit2-0 Port[2:0] チャネル CHx{x=b-e}で転送を行うファンクションが接続されているハブのポートナン バーを設定します。 0~7 までの任意の値が設定できます。 342 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.77 1A9h H_CHbFuncAdrs (Host Channel b Function Address) 3.3.78 1B9h H_CHcFuncAdrs (Host Channel c Function Address) 3.3.79 1C9h H_CHdFuncAdrs (Host Channel d Function Address) 3.3.80 1D9h H_CHeFuncAdrs (Host Channel d Function Address) Mode Host Address Register Name R/W Bit Symbol 1A9h H_CHbFuncAdrs 1B9h H_CHcFuncAdrs 1C9h H_CHdFuncAdrs 5: FuncAdrs[1] 1D9h H_CHeFuncAdrs 4: FuncAdrs[0] Description Reset 7: FuncAdrs[3] R/W 6: FuncAdrs[2] Function Address 00h 3: EP_Number[3] R/W 2: EP_Number[2] Endpoint Number 1: EP_Number[1] 0: EP_Number[0] ホスト動作時にチャネル CHx{x=b-e}で転送を行うファンクションのアドレス設定を行います。 Bit7-4 FuncAdrs[3:0] チャネル CHx{x=b-e}が管理するエンドポイントを含むファンクションの USB アドレスを 設定します。 0~15 までの任意の値が設定できます。 Bit3-0 EP_Number[3:0] チャネル CHx{x=b-e}で転送を行うエンドポイント番号を設定します。 0~15 までの任意の値が設定できます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 343 3. レジスタ詳細説明 3.3.81 1AAh-1ABh H_CHbInterval_H,L(Host Channel b Interval High, Low) 3.3.82 1BAh-1BBh H_CHcInterval_H,L(Host Channel c Interval High, Low) 3.3.83 1CAh-1CBh H_CHdInterval_H,L(Host Channel d Interval High, Low) 3.3.84 1DAh-1DBh H_CHeInterval_H,L(Host Channel e Interval High, Low) Mode Host Address Register Name R/W Bit Symbol Description 1AAh-1ABh H_CHbInterval_H,L 15: 0: 1: 1BAh-1BBh H_CHcInterval_H,L 14: 0: 1: 1CAh-1CBh H_CHdInterval_H,L 13: 0: 1: 1DAh-1DBh H_CHeInterval_H,L 12: 0: 1: 11: 0: 1: Reset 10: Interval[10] 9: Interval[9] 8: Interval[8] 0000h 7: Interval[7] 6: Interval[6] R/W 5: Interval[5] Transfer Interval 4: Interval[4] 3: Interval[3] 2: Interval[2] 1: Interval[1] 0: Interval[0] ホスト動作時にチャネル CHx{x=b-e}でインタラプト転送及びアイソクロナス転送を行う時のインター バル値を設定します。 Bit15-11 Reserved Bit10-0 Interval[10:0] インタラプト転送及びアイソクロナス転送のトークン発行間隔(周期)をこのレジスタに より指定します。下位 3 ビットはマイクロフレーム(125μs)単位で指定し、上位 7 ビッ トはフレーム(ms)単位で指定します。このレジスタの設定は H_CHx{x=b-e}Config1 レ ジスタの TranType ビットが“11”(インタラプト転送)の場合または TranType ビットが "01"(アイソクロナス転送)の場合のみ有効です。また、このレジスタの“0d0”の設定は無 効となります。 トランザクションの再送時もこのレジスタの設定間隔で行います。 Interval[2:0] μFrame - インターバルを 125μs 単位で指定します。1、2、4 マイクロフレー ムのいずれかに設定してください。それ以外の値の設定は禁止し ます。また、本ビットを設定する際は、Interval[10:3]はすべて“0” に設定してください。 Interval[10:3] Frame - 344 インターバルを ms 単位で指定します。1~255 フレームの任意の 値を設定できます。また、本ビットを設定する際は、Interval[2:0] はすべて“0”に設定してください。 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 3.3.85 1ACh H_CHbTranPause(Host Channel b Transaction Pause) 3.3.86 1BCh H_CHcTranPause(Host Channel c Transaction Pause) 3.3.87 1CCh H_CHdTranPause(Host Channel d Transaction Pause) 3.3.88 1DCh H_CHeTranPause(Host Channel e Transaction Pause) Mode Host Address Register Name R/W Bit Symbol Description 1ACh H_CHbTranPause 7: 0: 1: 1BCh H_CHcTranPause 6: 0: 1: 1CCh H_CHdTranPause 5: 0: 1: 1DCh H_CHeTranPause 4: 0: 1: 3: 0: 1: 2: 0: 1: R/W 1: EnTranPause 0: Disable 1: Enable R/W 0: TranPause 0: Do nothing 1: Transaction Pause Bit7-2 Reserved Bit1 EnTranPause Reset 00h このビットに“1”を設定すると、H_CHx{x=b-e}IntStat レジスタの TranACK ビットがセット される時、同時に H_CHx{x=b-e}TranPause レジスタの TranPause ビットが“1”にセットされ ます。 Bit0 TranPause このビットが“1”の時、H_CHx{x=b-e}Config_0 の TranGo ビットが“1”に設定されていても このチャネルではトランザクションは実行されません。このチャネルがインタラプト転送 あるいはアイソクロナス転送に設定されている場合、このビットが“1”の為にトランザク ションが実行されなくても転送の周期は維持されます。 S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 345 3. レジスタ詳細説明 3.3.89 1AEh H_CHbConditionCode (Host Channel b Condition Code) 3.3.90 1BEh H_CHcConditionCode (Host Channel c Condition Code) 3.3.91 1CEh H_CHdConditionCode (Host Channel d Condition Code) 3.3.92 1DEh H_CHeConditionCode (Host Channel e Condition Code) Mode Address Host Register Name R/W Bit Symbol 1AEh H_CHbConditionCode 7: 1BEh H_CHcConditionCode 6: ConditionCode[2] 1CEh H_CHdConditionCode 1DEh H_CHeConditionCode R Description 0: 5: ConditionCode[1] Reset 1: Condition Code 4: ConditionCode[0] 00h 3: 0: 1: 2: 0: 1: 1: 0: 1: 0: 0: 1: ホスト動作時にチャネル CHx{x=b-e}の転送完了結果を示します。 Bit7-4 ConditionCode[2:0] チャネル CHx{x=b-e}で転送が完了した場合の結果を示します。 Code Meaning Description 000 NOERROR ノーエラー トランザクションがエラーなく完了した 001 STALL ストール エンドポイントがストール PID を返した 010 DATAOVERRUN データ・オーバーラン • • 011 346 DATAUNDERRUN データ・アンダーラン • 最大パケットサイズを越えるデータパケットを受信した * CRC エラーやビット・スタッフィングエラーが同時に検 出された場合はリトライエラーとして処理します RP(TotalSize)を越えるデータ数を受信した * CRC エラーやビット・スタッフィングエラーが同時に検 出された場合はリトライエラーとして処理します * データパケットが最大パケットサイズ以下で、データパ ケットに含まれたデータトグルが予期した値と一致して いない場合、データ・オーバーランではなくトグルミス マッチとして処理します 最大パケットサイズ未満のデータパケットを受信し、且つ データ数が IRP(TotalSize)に満たない * CRC エラーやビット・スタッフィングエラーが同時に検 出された場合はリトライエラーとして処理します EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 3. レジスタ詳細説明 Code Meaning 100 RETRYERROR リトライエラー Description • • • • • • • • デバイスがトークンに規定時間以内に応答しない(IN)、または 規定時間以内にハンドシェークを発信しない(OUT) エンドポイントからのデータパケットに CRC エラーが含ま れている エンドポイントからのデータパケットにビット・スタッフィ ングエラーが含まれている エンドポイントからの PID 検査ビットが、データ PID(IN)ま たはハンドシェーク(OUT)に失敗した 受信 PID が無効または PID 値が定義されていない インタラプト転送のスプリットトランザクションにおいて ERR ハンドシェークを受信した インタラプト転送のスプリットトランザクションにおいて NYET ハンドシェークを 3 回連続して受信した エンドポイントからのデータパケットに含まれたデータトグ ルが、予期した値と一致していない(トグルミスマッチ) 110 BUFFEROVERRUN バッファ・オーバーラン • アイソクロナス転送において FIFO の空き容量が最大パケッ トサイズ未満であるためトランザクションが行われなかっ た。 111 BUFFERUNDERRUN バッファ・アンダーラン • アイソクロナス転送において FIFO の有効データ数が不足の ためトランザクションが行われなかった。 その他 Reserved Bit3-0 Reserved S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 347 Appendix A リトルエンディアンの CPU との接続 Appendix A リトルエンディアンの CPU との接続 本 LSI の内部バスはビッグエンディアンで構成されており、偶数アドレスが上位バイト、奇数アド レスが下位バイトとなっています。これに対して、リトルエンディアンの CPU に接続しての使用方 法を説明致します。 <基板> リトルエンディアンの CPU と本 LSI の端子は、データ・バスとライト制御信号につきましては端子 名称のまま接続して下さい。すなわち CPU のデータバスのビット 15 からビット 8(上位バイト)には、 本 LSI の CD15 から CD8 を接続し、CPU のデータ・バスのビット 7 からビット 0(即ち下位バイト) には本 LSI の CD7 から CD0 を接続してください。また、ライト信号につきましても、ハイ、ロー をそのまま接続してください。 なお、ご使用になられる CPU によってはライト信号自身の仕様が異なりますので、注意してくださ い。 <F/W> リトルエンディアンの CPU にて、本 LSI を動作させる時には、まず以下の手順を行ってください。 (1) CPUIF_MODE.CPU_Endian ビットを“1”にセット このレジスタは 0x07E 番地にワードで割り当てられ、未初期化期間にのみ書き込み可能となっ ています。ハードリセット後、最初のアクセスで設定してください。CPU_Endian ビットは、bit10 及び bit2 のどちらか、または両方に“1”をセットすると、リトルエンディアン設定となります。 (2) ダミーリードまたは CPUIF_MODE レジスタをダミーライト このダミーアクセスによって、初期化期間が終了し、レジスタが下記レジスタマップに示す通 りのアドレス定義となります。 なお、この設定を行った後、すべての内部レジスタが、Char もしくは Short にてアクセス可能とな ります。また CPU の DMAC を使用してのアクセスに対しても問題は御座いません(以下の表を参 照)。 例 USB から 01_02_03_04_05_06 と順にデータを受け取った場合の FIFO_Rd_0/1 レジスタへのアク セス CPU のアクセス方法 Short にてアクセス ビッグエンディアン リトルエンディアン CD[15:8] CD[7:0] CD[15:8] CD[7:0] 1st 01 02 02 01 2nd 03 04 04 03 3rd 05 06 06 05 ただし、Short より大きなサイズのレジスタにつきましては、Short にて分割アクセスして頂き、CPU のメモリ上にてキャストしてご使用ください。CPU_Endian=“1”(Little Endian)とした時に、偶数番地 と奇数番地が入れ替わるレジスタを下記の表に示します。これらのレジスタでは、CD[15:0]に、16 ビットレジスタがそのままの並びで読み書きできます。 348 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) Appendix A リトルエンディアンの CPU との接続 BigEndian LittleEndian 0x014 0x015 WakeupTim_H WakeupTim_L 0x014 0x015 WakeupTim_L WakeupTim_H 0x024 0x025 FIFO_RdRemain_H FIFO_RdRemain_L 0x024 0x025 FIFO_RdRemain_L FIFO_RdRemain_H 0x026 0x027 FIFO_WrRemain_H FIFO_WrRemain_L 0x026 0x027 FIFO_WrRemain_L FIFO_WrRemain_H 0x030 0x031 RAM_RdAdrs_H RAM_RdAdrs_L 0x030 0x031 RAM_RdAdrs_L RAM_RdAdrs_H 0x038 0x039 RAM_WrAdrs_H RAM_WrAdrs_L 0x038 0x039 RAM_WrAdrs_L RAM_WrAdrs_H 0x064 0x065 DMA_Remain_H DMA_Remain_L 0x064 0x065 DMA_Remain_L DMA_Remain_H 0x068 0x069 DMA_Count_HH DMA_Count_HL 0x068 0x069 DMA_Count_HL DMA_Count_HH 0x06A 0x06B DMA_Count_LH DMA_Count_LL 0x06A 0x06B DMA_Count_LL DMA_Count_LH 0x080 0x081 AREA0StartAdrs_H AREA0StartAdrs_L 0x080 0x081 AREA0StartAdrs_L AREA0StartAdrs_H 0x082 0x083 AREA0EndAdrs_H AREA0EndAdrs_L 0x082 0x083 AREA0EndAdrs_L AREA0EndAdrs_H 0x084 0x085 AREA1StartAdrs_H AREA1StartAdrs_L 0x084 0x085 AREA1StartAdrs_L AREA1StartAdrs_H 0x086 0x087 AREA1EndAdrs_H AREA1EndAdrs_L 0x086 0x087 AREA1EndAdrs_L AREA1EndAdrs_H 0x088 0x089 AREA2StartAdrs_H AREA2StartAdrs_L 0x088 0x089 AREA2StartAdrs_L AREA2StartAdrs_H 0x08A 0x08B AREA2EndAdrs_H AREA2EndAdrs_L 0x08A 0x08B AREA2EndAdrs_L AREA2EndAdrs_H 0x08C 0x08D AREA3StartAdrs_H AREA3StartAdrs_L 0x08C 0x08D AREA3StartAdrs_L AREA3StartAdrs_H 0x08E 0x08F AREA3EndAdrs_H AREA3EndAdrs_L 0x08E 0x08F AREA3EndAdrs_L AREA3EndAdrs_H 0x090 0x091 AREA4StartAdrs_H AREA4StartAdrs_L 0x090 0x091 AREA4StartAdrs_L AREA4StartAdrs_H 0x092 0x093 AREA4EndAdrs_H AREA4EndAdrs_L 0x092 0x093 AREA4EndAdrs_L AREA4EndAdrs_H 0x094 0x095 AREA5StartAdrs_H AREA5StartAdrs_L 0x094 0x095 AREA5StartAdrs_L AREA5StartAdrs_H 0x096 0x097 AREA5EndAdrs_H AREA5EndAdrs_L 0x096 0x097 AREA5EndAdrs_L AREA5EndAdrs_H 0x0BC 0x0BD D_AlarmIN_IntStat_H D_AlarmIN_IntStat_L 0x0BC 0x0BD D_AlarmIN_IntStat_L D_AlarmIN_IntStat_H 0x0BE D_AlarmOUT_IntStat_H 0x0BE D_AlarmOUT_IntStat_L S1R72V27 テクニカルマニュアル(Rev.1.10) EPSON 349 Appendix B S1R72V17 と S1R72V27 の相違点 Appendix B S1R72V17 と S1R72V27 の相違点 S1R72V17 CPU-IF USB その他 S1R72V27 AC スペック (※1) Bus モード設定手順 (※2) Bus 8bit モード 有り 無し DMA シングルワード転送 無し 有り DMA ライト FIFO ライト ライトキャッシュ無し ライトキャッシュ有り (※3) FIFO_ByteWr レジスタ 無し 有り WrRAM_Door 使用時の制限 無し 有り (※4) USB Host Isochronous 転送サポート 無し 有り RevisonNum 0x10 0x08 ※1 AC スペックの違いについては、『S1R72V17 仕様書』および、『S1R72V27 データシート』 をご覧ください。 ※2 Bus モード設定手順の違いについての詳細は『S1R72V17 仕様書』6.6 章、および『S1R72V27 テクニカルマニュアル』「1.6.2 CPUIF のモード設定」をご覧ください。 ※3 S1R72V27 はライトキャッシュが実装されているため、FIFO エリア切り替え時に制限事項が あります。詳細は『S1R72V27 テクニカルマニュアル』「1.6.3.1.3 FIFO アクセス(ライト)」を ご覧下さい。 ※4 WrRAM_Door 使用時の制限については、『S1R72V27 テクニカルマニュアル』「1.5.5.2 RAM アクセスの方法(RAM_WrDoor)」をご覧下さい。 350 EPSON S1R72V27 テクニカルマニュアル(Rev.1.10) 改訂履歴 改訂履歴(Rev.1.10) 改訂内容 年月日 項 Rev. 種別 (旧版) 07/09/07 0.79 07/09/21 0.80 全項 内 容 新規 新規制定 改訂 修正内容 修正前 修正後 P28 誤記修正 (1.2.7.2.7) NonJ を検知したら、f/w によ り InSUSPEND をクリアして、 IN_SUSPEND スーテーとを抜 けて下さい。 NonJ を検知したら、f/w により InSUSPEND を ク リ ア し て 、 IN_SUSPEND ステートを抜けて 下さい。 P147 追記 (2.1.3) - LineStateChanged の Description を追記 P149 誤記修正 (2.1.5) IDE の転送 DMA の転送 P149 誤記修正 (2.1.5) 該当するチャネルの FIFO 領域 該当するエリアの FIFO 領域 P152 誤記修正 (2.1.8) LineStateChanged EnLineStateChanged P152 追記 (2.1.8) - EnLineStateChanged の Description を追記 P152 追記 (2.1.8) EnVBUS_Err ビットは SLEEP 中も有効です。 EnLineStateChanged ビットは P161 誤記修正 (2.1.16) DP_A および DM_A DP および DM P161 誤記修正 (2.1.16) HTM のオペレーションモード を設定します。 MTM のオペレーションモードを 設定します。 P168 誤記修正 (2.1.25) その際に、FIFO_RdRemain_H レジスタを先にアクセスして 下さい。 (記述削除) P169 誤記修正 (2.1.26) その際に、FFIO_WrRemain_H (記述削除) レジスタを先にアクセスして 下さい。 P176 誤記修正 (2.1.33) RAM_WrDoor_H,L RAM_WrDoor_0,1 P177 誤記修正 (2.1.34~ 2.1.35) CSW0 エリア CSW エリア P177 誤記修正 (2.1.34~ 2.1.35) CBW0,1 エリア CBW エリア P236 誤記修正 (2.3.1) H_NegoControl_1.PortSpeed= =“HS”であり、かつ、 H_NegoControl_0.HostState== “SUSPEND”の時は、本検出機 能は使用できません。 (記述削除) P286 章追加 (2.3.85 2.3.88) - 1ACh~1DCh H_ChxTranPause (x=b-e) - Appendix B S1R72V17 と S1R72V27 の相違点 EnVBUS_Err ビット、 SLEEP 中も有効です。 P290 追加 ~ 改訂履歴 07/11/20 1.00 P4 改訂 修正 エンドポイント EP0 を FIFO の AREA0 領域に関連付けて使用 して下さい。 エンドポイント EP0 を FIFO の任 意の AREAx{x=0-5}領域に関連付 けて使用して下さい。 AREA0 領域に割り当てる FIFO AREAx{x=0-5}領域に割り当てる 領域を、アドレスで指定しま FIFO 領域を、アドレスで指定しま す。 す。 P4 P4 修正 5 本までの独立したエンドポイ ントを使用できます。 5 本までの独立したエンドポイン トを同時にアクティブにして使用 できます。 P5 修正 「0.レジスタ」を参照して下さ 「2.レジスタ詳細説明」を参照し い。 て下さい。 P114 修正 本 LSI の各ポートの FIFO には、 本 LSI の FIFO には、 P114 削除 なお、各ポートの FIFO は独立 していますので、ポートをまた がっての制限はありません。 P115 追加 - なお、書き込み開始アドレスに以 下の制限があります。 ①書き込み開始アドレスを、 RAM_WrAdrs_H,L == 0x0100 よ り下位とする。 ②書き込み開始アドレスを、 RAM_WrAdrs_H,L[1:0] == 0b00 (すなわち 4Byte 境界)とする。 P119 追加 - AREAnFIFO_Clr にて、FIFO クリ アする。 P128 修正 - 初期レジスタマップ 0x27E を削除 P156 削除 ※参照したポートが SLEEP ス テートであって、他のポートが ACTIVE ステートにある場合、 PM_State は 0b01 となります。 P161 修正 改行部分の体裁修正(それに伴い、以降のページ番号も変更。) P172 追加 - AREAnFIFO_Clr にて、FIFO クリ アする。 P176 追加 - なお、書き込み開始アドレスに以 下の制限があります。 ①書き込み開始アドレスを、 RAM_WrAdrs_H,L == 0x0100 よ り下位とする。 ②書き込み開始アドレスを、 RAM_WrAdrs_H,L[1:0] == 0b00 (すなわち 4Byte 境界)とする。 P182 修正 - Bit7,3,2,1 の R/W 記載漏れを追記。 P187 修正 - ClkSelect レジスタ定義を修正。 P290 追加 - WrRAM_Door 使用時の制限 修正 および『S1R72V27 テクニカル および『S1R72V27 テクニカルマ マニュアル』1.6 章をご覧くだ ニュアル』「1.6.2 CPUIF のモー さい。 ド設定」をご覧ください。 修正 詳細は『S1R72V27 テクニカル マニュアル』1.6 章を参照して ください。 詳細は『S1R72V27 テクニカルマ ニュアル』「1.6.3.1.3 FIFO アク セス(ライト)」をご覧下さい。 改訂履歴 08/10/25 追加 - ※4 WrRAM_Door 使用時の制限に ついては、『S1R72V27 テクニカ ルマニュアル』「1.5.5.2 RAM ア クセスの方法(RAM_WrDoor)」を ご覧下さい。 修正内容 修正前 修正後 削除 この機能を使用する場合は チャネル CH0 にジョインする FIFO 領域として AREA0 を選 択してください。 修正 FIFO 領域 (AREA0StartAdrs_H,L,,AREA0 EndAdrs_H,L)、 FIFO 領域ジョイン (AREA0Join_1.JoinEP0CH0) 削除 この機能を使用する場合は チャネル CHa にジョインする FIFO 領域として AREA1 を選 択してください。 修正 FIFO 領域 (AREA1StartAdrs_H,L,AREA1 EndAdrs_H,L)、FIFO 領域ジョ イン (AREA1Join_1.JoinEPaCHa) P85 修正 3 回連続で切断を検出した場合 3 つの連続した uSOF で切断を検 に切断検出と判断します 出した場合に切断状態と判断しま す P164 修正 レジスタマップ 0x075 CPU_Config Reset=0x00 レジスタマップ 0x075 CPU_Config Reset=0x01 P263 追加 - (bit4-bit0) 同様に、同時に 2 つ以上の IN のエ ンドポイントでバルクオンリーサ ポート機能を有効にしないで下さ い。 P268 削除 フレームナンバーを取得する 場 合 は 、 FrameNumber_H と FrameNumber_L レジスタを対 でアクセスする必要がありま す。その際に FrameNumber_H レジスタを先にアクセスして 下さい。 P272 修正 RcvEP0SETUP ビットが“1”で D_SETUP_Control.ProtectEP0 ある間、このビットは“0”にクリ ビットが“1”である間、このビット アできません。 は“0”にクリアできません。 修正 RcvEP0SETUP ビットが“1”で D_SETUP_Control.ProtectEP0 あ る 間 は こ の ビ ッ ト を “1” に ビットが“1”である間はこのビッ セットできません。 トを“1”にセットできません。 修正 RcvEP0SETUP ビットが“1”で D_SETUP_Control.ProtectEP0 ある間はこのビットを“0”にク ビットが“1 である間はこのビット を“0”にクリアすることはできま リアすることはできません。 せん。 改訂 1.10 P67 P73 P273 FIFO 領域 (AREAn{n=0-5}StartAdrs_H,L, AREAn{n=0-5}EndAdrs_H,L)、 FIFO 領域ジョイン (AREAn{n=0-5}Join_1.JoinEP0C H0) FIFO 領域 (AREAn{n=0-5}StartAdrs_H,L, AREAn{n=0-5}EndAdrs_H,L)、 FIFO 領域ジョイン (AREAn{n=0-5}Join_1.JoinEPaC Ha) 改訂履歴 P274 修正 RcvEP0SETUP ビットが“1”で D_SETUP_Control.ProtectEP0 あ る 間 は こ の ビ ッ ト を “1” に ビットが“1”である間はこのビッ セットすることはできません。 トを“1”にセットすることはでき ません。 P283 P284 P285 P286 修正 (Bit Symbol) 7-0 (Bit Symbol) 15-8 P287 削除 (Bit3) H_NegoControl_1.PortSpeed= =“HS”であり、かつ、 H_NegoControl_0.HostState== “SUSPEND”の時は、本検出機 能は使用できません。 - 追加 - (Bit1) また、ホストステートが RESET の 状態において、H/W はこのビットに よりデバイスからのチャープ信号 の有無を判断します。このビットが “1” に セ ッ ト さ れ て い る 場 合 は H_NegoControl_1.PortSpeed を “00b(HS)”に設定し、以降 HS デバイ スに対する処理を行います。この 為、デバイスが切断された時には必 ずこのビットを“0”にクリアしてく ださい。 P295, P308, P323 修正 H_BO_SupportControl H_CHaBO_SupportCtl P297, P345 追加 - 表“BufferOverrun”、 “BufferUnderrun”を追加 P305 追加 - (Bit7) 以下の操作を行うとき、事前にこ のビットによりホストステート管 理サポート機能の実行を停止する 必要があります。 削除 (Bit7) 事前にこのビットによりホス トステート管理サポート機能 の実行を停止する必要があり ます。 追加 - (Bit7) “AutoMode を上書きするとき”を AutoModeCancel を実行する必要 がある場合に追加。 P309 修正 それ以外は CH0 に関する設定 は必要ありません。 また、H_CH0Config_1.TID = 00b と設定してください。 P311 削除 フレームナンバーを取得する 場合は、H_FrameNumber_H と H_FrameNumber_L レ ジ ス タ を対でアクセスする必要があ ります。 その際に H_FrameNumber_H レジスタを先にアクセスして 下さい。 改訂履歴 P314, P323, P329, P330, P331, P332 修正 Supporot Support P329 修正 H_BO_SupportIntStat レ ジ ス タ H_CHaIntStat レジスタ P335 修正 TranCmp ビットが “1” にセッ トされ、本ビットは自動的に“0” に戻ります。 H_CHx{x=b-e}IntStat レジスタ の ChangeCondition ビットが セットされたような場合は“0” にリセットされます。 TotalSizeCmp ビ ッ ト が “1” に セットされ、本ビットは自動的に “0”に戻ります。 バルク転送、インタラプト転送で は H_CHx{x=b-e}IntStat レジスタ の ChangeCondition ビットがセッ ト さ れ た よ う な 場 合 は “0” に リ セットされます。 P336 追加 - Bit2 Audio441 (ビット記述追加) 追加 - Bit1 TotalSizeFree[1] (ビット記述追加) 追加 - Bit5-4 TranType[1:0]=01 Isochronous を追加 P341 削除 読み出す場合は、 H_CHbTotalSize_HH,HL を 先 に、H_CHbTotalSize_HL,LL を 後の順番にアクセスしてくだ さい。 P344 修正 (Ofst Adrs) 1AAh-1BAh (Ofst Adrs) 1AAh-1ABh 修正 (Description) Interrupt Transfer Interval (Description) Transfer Interval 修正 インタラプト転送 (2 箇所) インタラプト転送及びアイソクロ ナス転送 (2 箇所) 修正 H_CHx{x=b-e}Config1 レ ジ ス タの TranType ビットが“11” (インタラプト転送)の場合の み有効です。 H_CHx{x=b-e}Config1 レ ジ ス タ の TranType ビットが“11”(イン タラプト転送)の場合または TranType ビットが“01”(アイソク ロナス転送)の場合のみ有効です。 以下余白 半導体事業部 IC 営業部 <IC 国内営業グループ> 東京 〒191-8501 東京都日野市日野 421-8 TEL(042)587-5313(直通) 大阪 〒541-0059 FAX(042)587-5116 大阪市中央区博労町 3-5-1 TEL(06)6120-6000(代表) エプソン大阪ビル 15F FAX(06)6120-6100 ドキュメントコード:411340101 2008 年 10 月作成