S1R72V27 テクニカルマニュアル(レジスタ仕様)

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 月作成