S1R72U06 Application Note

S1R72U06
Application Note
Rev. 1.00
本資料のご使用につきましては、次の点にご留意願います。
本資料の内容については、予告無く変更することがあります。
1. 本資料の一部、または全部を弊社に無断で転載、または、複製など他の目的に使用することは堅くお断りいたします。
2. 本資料に掲載される応用回路、プログラム、使用方法等はあくまでも参考情報であり、これら起因する第三者の権利(工業所有権を
含む)侵害あるいは損害の発生に対し、弊社はいかなる保証を行うものではありません。また、本資料によって第三者または弊社の
工業所有権の実施権の許諾を行うものではありません。
3. 特性値の数値の大小は、数直線上の大小関係で表しています。
4. 本資料に掲載されている製品のうち「外国為替及び外国貿易法」に定める戦略物資に該当するものについては、輸出する場合、同
法に基づく輸出許可が必要です。
5. 本資料に掲載されている製品は、生命維持装置その他、きわめて高い信頼性が要求される用途を前提としていません。よって、弊
社は本(当該)製品をこれらの用途に用いた場合のいかなる責任についても負いかねます。
©SEIKO EPSON CORPORATION 2009, All rights reserved.
適用範囲
本ドキュメントは、USB2.0 FS/LS に対応したシリアル(UART/SPI)-USB Host/Device ブリッジ
LSI「S1R72U06」に適用されます。
目次
1. 概要 ............................................................................................................................... 1
2. UART制御 ...................................................................................................................... 2
2.1
UART初期化フロー .................................................................................................................... 2
2.2
UART最小接続構成例................................................................................................................. 3
2.3
注意事項 ..................................................................................................................................... 3
3. SPI制御 .......................................................................................................................... 4
3.1
SPI初期化フロー ........................................................................................................................ 4
3.2
SPI最小接続構成例..................................................................................................................... 5
3.3
注意事項 ..................................................................................................................................... 6
4. USB HID Class Host制御 .............................................................................................. 7
4.1
HID Class Host初期化フロー...................................................................................................... 7
4.2
HID Class Device接続 ................................................................................................................ 8
4.2.1
接続フロー ........................................................................................................................ 8
4.2.2
認識処理 ............................................................................................................................ 9
4.3
HID Class Device切断 .............................................................................................................. 10
4.3.1
切断フロー ...................................................................................................................... 10
4.3.2
データリード中の切断フロー.......................................................................................... 11
4.3.3
スリープ中の切断フロー ................................................................................................. 12
4.4
パワーマネージメント.............................................................................................................. 13
4.4.1
Device未接続時の制御 .................................................................................................... 13
4.4.2
Device接続時のSuspend制御.......................................................................................... 14
4.4.3
Device接続時のSLEEP制御 ............................................................................................ 15
4.4.4
Device接続時のSuspend(Remote Wakeup)制御 ........................................................ 16
4.4.5
Device接続時のSLEEP(Remote Wakeup)制御........................................................... 17
4.5
注意事項 ................................................................................................................................... 18
5. USB MSC Host制御..................................................................................................... 19
5.1
MSC Host初期化フロー............................................................................................................ 19
5.2
MSC Device接続 ...................................................................................................................... 20
5.2.1
接続フロー ...................................................................................................................... 20
5.2.2
認識処理 .......................................................................................................................... 21
5.3
MSC Device切断 ...................................................................................................................... 22
5.3.1
切断フロー ...................................................................................................................... 22
5.3.2
スリープ中の切断フロー ................................................................................................. 23
5.4
簡易制御 ................................................................................................................................... 24
5.4.1
サポートMSC Device ...................................................................................................... 24
S1R72U06 Application Note
(Rev. 1.00)
EPSON
i
5.4.2
簡易制御EIreq ................................................................................................................. 24
5.4.3
簡易制御方法................................................................................................................... 25
5.4.4
UART終了判断 ................................................................................................................ 26
5.4.5
SPI終了判断 .................................................................................................................... 27
5.5
完全制御 ................................................................................................................................... 28
5.5.1
サポートMSC Device ...................................................................................................... 28
5.5.2
完全制御EIreq ................................................................................................................. 28
5.5.3
完全制御方法................................................................................................................... 28
5.5.4
UART終了判断 ................................................................................................................ 31
5.5.4.1
設定サイズリード終了 ................................................................................................. 31
5.5.4.2
EIhead終了................................................................................................................... 32
5.5.5
5.6
SPI終了判断 .................................................................................................................... 33
パワーマネージメント.............................................................................................................. 34
5.6.1
Device未接続時の制御 .................................................................................................... 34
5.6.2
Device接続時のSuspend制御.......................................................................................... 35
5.6.3
Device接続時のSLEEP制御 ............................................................................................ 36
5.6.4
Device接続時のSuspend(Remote Wakeup)制御 ........................................................ 37
5.6.5
Device接続時のSLEEP(Remote Wakeup)制御........................................................... 38
5.7
注意事項 ................................................................................................................................... 39
6. USB HID Class Device制御 ........................................................................................ 40
6.1
HID Class Device初期化フロー ................................................................................................ 40
6.2
HID Class Host接続.................................................................................................................. 41
6.3
HID Class Host切断.................................................................................................................. 42
6.3.1
切断フロー ...................................................................................................................... 42
6.3.2
データリード中の切断フロー.......................................................................................... 43
6.3.3
スリープ中の切断フロー ................................................................................................. 44
6.4
パワーマネージメント.............................................................................................................. 45
6.4.1
Host未接続時の制御 ........................................................................................................ 45
6.4.2
Host接続時のSuspend制御 ............................................................................................. 46
6.4.3
Host接続時のSLEEP制御 ................................................................................................ 47
6.4.4
Host接続時のSuspend(Remote Wakeup)制御............................................................ 48
6.4.5
Host接続時のSLEEP(Remote Wakeup)制御 .............................................................. 49
6.5
注意事項 ................................................................................................................................... 50
Appendix-A. SIO_READY端子の代替処理 ..................................................................... 51
ii
A.1
UART初期化処理 ...................................................................................................................... 51
A.2
SPI初期化処理.......................................................................................................................... 52
A.3
パワーマネージメント処理....................................................................................................... 52
EPSON
S1R72U06 Application Note
(Rev. 1.00)
Appendix-B. 初期化フロー............................................................................................. 53
B.1
UART - HID Class Hostフロー.............................................................................................. 53
B.2
UART - MSC Hostフロー...................................................................................................... 54
B.3
UART - HID Class Deviceフロー .......................................................................................... 55
B.4
SPI - HID Class Hostフロー ................................................................................................. 56
B.5
SPI - MSC Hostフロー.......................................................................................................... 57
B.6
SPI - HID Class Deviceフロー.............................................................................................. 58
改訂履歴表 ....................................................................................................................... 59
S1R72U06 Application Note
(Rev. 1.00)
EPSON
iii
1. 概要
1. 概要
USB2.0 FS/LS に対応したシリアル(UART/SPI)-USB Host/Device ブリッジ LSI「S1R72U06」(以
下、本 LSI と記載します)の Application Note です。本ドキュメントでは、本 LSI のハードウェア制御
や操作手順など、システム(以下、S1R72U06 を利用する製品をシステムと記載します)を構築する際
に必要となる情報を説明します。
なお、本 LSI のハードウェア情報に関しては『S1R72U06 Data Sheet』および『S1R72U06 Technical Manual』
を参照してください。
本ドキュメントは、下記のマニュアルで定義された用語を使用しています。
• 『S1R72U06 Technical Manual』
• 『S1R72U06 UART Interface Manual』
• 『S1R72U06 SPI Interface Manual』
S1R72U06 Application Note
(Rev. 1.00)
EPSON
1
2. UART 制御
2. UART 制御
本 LSI には、SIO として UART が実装されています。UART による制御方法については、以降の項目を
参照してください。
UART に対応した各コマンドとプロトコルについては、『S1R72U06 UART Interface Manual』を参照し
てください。
2.1 UART初期化フロー
UART は、図 2.1 に示すフローによって初期化してください。
SIO_READY 端子は“High”になっていることを確認してください。初期化中に端子が“High”になら
ない場合は、『S1R72U06 Development Support Manual』を参照してください。
“SERIAL PORT(F8h)設定”の EI リクエストを送信すると SIO_READY 端子が“Low”になり、設
定が有効になると“High”になります。
“LSI SETTING(03h)設定”は、デフォルト設定を使用する場合には不要です。
“EVENT INT CONTROL(FFh)設定”は、XIRQ_EVENT 端子を“disable”設定で使用する場合には
不要です。
電源投入から USB の Class が動作可能な状態になるまでのフローについては、「Appendix-B. 初期化フ
ロー」を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
SERIAL PORT (F8h) 設定
SIO_READY 端子 High となるのを待つ
LSI SETTING (03h) 設定
EVENT INT CONTROL (FFh) 設定
UART ACTIVE
図 2.1
2
初期化フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
2. UART 制御
2.2 UART最小接続構成例
本 LSI と MainCPU の接続は、制御方法によって複数の構成例が存在します。システムに応じて最適な
構成を選択してください。
図 2.2 に示す構成例は、XIRQ_EVENT 端子を“disable”設定にして、“SLEEP”(01h)によるパワー
マ ネ ー ジ メ ン ト を 使 用 し な い 場 合 に 構 成 可 能 で す 。 SIO_READY 端 子 、 XIRQ_STATUS 端 子 、
XIRQ_EVENT 端子および WAKEUP 端子を未接続にすることが可能です。
なお、SIO_READY 端子の代替方法は、一定時間待つ(wait する)ことで処理できます。「Appendix-A.
SIO_READY 端子の代替処理」を参照してください。
S1R72U06
MOSI (Tx)
MainCPU
MISO (Rx)
図 2.2
UART
最小接続構成例
また、図 2.3 に示す構成例は、“SLEEP”(01h)によるパワーマネージメントを使用する場合、また
は XIRQ_EVENT 端子を“enable”設定で使用する場合に構成可能です。
WAKEUP 端子については、MainCPU 以外のデバイスから制御することも可能です。
S1R72U06
MOSI (Tx)
MISO (Rx)
MainCPU
UART
XIRQ_EVENT
WAKEUP
図 2.3
パワーマネージメント構成例
2.3 注意事項
(1) 本 LSI の AC 特性(タイミングなど)については、『S1R72U06 Data Sheet』を参照してください。
(2) 「2.1 UART 初期化フロー」の初期化フローにおいて、何らかのエラーによって本 LSI の初期化が
失敗した場合、エラー応答できず無応答となる可能性があります。動作状態の解析などについては
『S1R72U06 Development Support Manual』を参照してください。
S1R72U06 Application Note
(Rev. 1.00)
EPSON
3
3. SPI 制御
3. SPI 制御
本 LSI には、SIO として SPI が実装されています。SPI による制御方法については、以降の項目を参照
してください。
SPI に対応した各コマンドとプロトコルについては、『S1R72U06 SPI Interface Manual』を参照してくだ
さい。
3.1 SPI初期化フロー
SPI は、図 3.1 に示す手順によって初期化してください。
SIO_READY 端子は“High”になっていることを確認してください。初期化中に端子が“High”になら
ない場合は、『S1R72U06 Development Support Manual』を参照してください。
“BURST SIZE(00h)設定”および“STATUS 取得”は、デフォルト設定を使用する場合には不要で
す。
“LSI SETTING(03h)設定” および“STATUS 取得”は、デフォルト設定を使用する場合には不要で
す。
電源投入から USB の Class が動作可能な状態になるまでのフローについては、「Appendix-B. 初期化フ
ロー」を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
BURST SIZE (00h) 設定
STATUS 取得
LSI SETTING (03h) 設定
STATUS 取得
SPI ACTIVE
図 3.1
4
初期化フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
3. SPI 制御
3.2 SPI最小接続構成例
本 LSI と MainCPU の接続は、制御方法によって複数の構成例が存在します。システムに応じて最適な
構成を選択してください。
図 3.2 に示す構成例は、“SLEEP”(01h)によるパワーマネージメントを使用しない場合に構成可能
です。SIO_READY 端子、XIRQ_STATUS 端子、XIRQ_EVENT 端子および WAKEUP 端子を未接続にす
ることが可能です。
なお、SIO_READY 端子の代替方法は、一定時間待つ(wait する)ことで処理できます。「Appendix-A.
SIO_READY 端子の代替処理」を参照してください。
S1R72U06
SCK
SS
MainCPU
MOSI (Tx)
SPI
MISO (Rx)
図 3.2
最小接続構成例
また、図 3.3 に示す構成例は、“SLEEP”(01h)によるパワーマネージメントを使用する場合に構成
可能です。
WAKEUP 端子については、MainCPU 以外のデバイスから制御することも可能です。
S1R72U06
SCK
SS
MOSI (Tx)
MainCPU
SPI
MISO (Rx)
XIRQ_EVENT
WAKEUP
図 3.3
S1R72U06 Application Note
(Rev. 1.00)
パワーマネージメント構成例
EPSON
5
3. SPI 制御
3.3 注意事項
(1) 本 LSI の AC 特性(タイミングなど)については、『S1R72U06 Data Sheet』を参照してください。
(2) 本 LSI を多段接続する場合は、SS(スレーブセレクト)端子の制御に注意してください。
(3) MainCPU と本 LSI が1対1接続の場合は、本 LSI の SS 端子を“Low”に固定できます。
(4) 「3.1 SPI 初期化フロー」の初期化フローにおいて、何らかのエラーによって本 LSI の初期化が失
敗した場合、エラー応答できず無応答となる可能性があります。動作状態の解析などについては
『S1R72U06 Development Support Manual』を参照してください。
6
EPSON
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4. USB HID Class Host 制御
本 LSI には、USB として HID Class Host 機能が実装されています。以降の項目を参照してください。
4.1 HID Class Host初期化フロー
HID Class Host は、図 4.1 に示すフローによって初期化してください。
“SIO 初期化”については、「2.1 UART 初期化フロー」または「3.1SPI 初期化フロー」を参照してく
ださい。
“TPL DOWNLOAD(02h)設定”はデフォルト設定を使用する場合は不要です。“TPL”をダウンロー
ドする場合は、“Power ON”時に毎回ダウンロードする必要があります。ダウンロードされた“TPL”
は本 LSI の RAM に保持しています。
本 LSI は、“USB ACTIVE”状態において HID Class Device が接続されると自動的に接続処理を開始し
ます。詳細は「4.2 HID Class Device 接続」を参照してください。また、切断時の処理は「4.3 HID Class
Device 切断」を参照してください。
電源投入から HID Class Device 接続までのフローについては、「Appendix-B. 初期化フロー」を参照し
てください。
Power ON
SIO 初期化
TPL DOWNLOAD (02h) 設定
HID START (10h) 設定
USB ACTIVE
図 4.1
S1R72U06 Application Note
(Rev. 1.00)
初期化フロー
EPSON
7
4. USB HID Class Host 制御
4.2 HID Class Device接続
本 LSI は、“HID START”(10h)が“開始”に設定されている場合、Device が接続されると自動的に
エニュメレーションを実施します。HID Class 制御が可能な状態になると、MainCPU へイベントで通知
します。
接続時の転送速度については『S1R72U06 Technical Manual』を参照してください。
なお、“HID START”(10h)が“停止”に設定されている場合は、VBUS 出力も“停止”しますので
Device の接続を検出することができません。
イベントについては『S1R72U06 Technical Manual』の「Host イベント情報」を参照してください。
4.2.1
接続フロー
MainCPU は図 4.2 に示すフローを参考にして、Device の動作を設定してください。本フローは、Device
接続が発生する毎に必要な処理です。
“MainCPU : REPORT ID REGISTRATION(11h)設定”は Report Protocol を使用する場合に必要です。
接続された Device から Report Descriptor を取得し、Report ID 登録情報を設定してください。設定例に
ついては『S1R72U06 Technical Manual』を参照してください。Boot Protocol を使用する場合は不要です。
HID Class Device 接続
本 LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
MainCPU : GET DESCRIPTOR (24h) 取得
MainCPU:REPORT ID REGISTRATION (11h) 設定
HID Class ACTIVE
図 4.2
8
接続フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4.2.2
認識処理
複数の Device が同時に接続された場合、本 LSI は最初に検出した Device または Interface Descriptor か
ら順番に識別します。識別した Device 情報から、“サポート Device”または“未サポート Device”と
して認識します。本 LSI の認識処理の例(Interface Descriptor が 2 個の場合)を、表 4.1 に示します。
本 LSI は最大で 3 台の認識情報を保持できます。よって、4 台以上の接続は識別することができません。
また、本 LSI は最大で 5 個の Interface Descriptor の情報を保持できます。よって、6 個以上の Interface
Descriptor は識別することができません。
表 4.1
認識処理
Interface 1
認識状態
HID Class Device
Video Class Device
HID Class はサポート Device として認識、Video Class
は未サポート Device として認識します
Audio Class Device
HID Class Device
Audio Class は未サポート Device として認識、HID
Class はサポート Device として認識します
Video Class Device
Audio Class Device
何れも未サポート Device として認識します
HID Class Device
HID Class Device
Interface0 はサポート Device として認識、Interface1
は認識されません
Interface 0
S1R72U06 Application Note
(Rev. 1.00)
EPSON
9
4. USB HID Class Host 制御
4.3 HID Class Device切断
本 LSI に接続された Device が切断された場合、直前の状態によって切断処理が異なります。以降の項
目を参照してください。なお、“HID START”(10h)を“停止”した場合も切断と同等な動作になり
ます。
イベントについては『S1R72U06 Technical Manual』の「Host イベント情報」を参照してください。
4.3.1
切断フロー
本 LSI に接続された Device が切断されると、本 LSI は USB を切断処理します。USB が切断状態になっ
たことを MainCPU へイベント(Bit1 CD Change)で通知します。
HID Class Device切断
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 4.3
10
切断フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4.3.2
データリード中の切断フロー
MainCPU が Report データを本 LSI からリード中に Device が切断されると、本 LSI は USB を切断処理
します。イベント(Bit2 Rcv Input Report)が発生している場合、MainCPU は“RECV REPORT(23h)
取得”で本 LSI に残った Report データをリードしてください。
Device切断
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
MainCPU:RECV REPORT(23h)取得
USB ACTIVE
図 4.4
S1R72U06 Application Note
(Rev. 1.00)
データリード中の切断フロー
EPSON
11
4. USB HID Class Host 制御
4.3.3
スリープ中の切断フロー
本 LSI がスリープ中に Device が切断されると XIRQ_EVENT 端子で通知します。MainCPU は WAKEUP
端子を“High”にしてください。本 LSI は USB を切断処理して、
USB が切断状態になったことを MainCPU
へイベント(Bit1 CD Change)で通知します。WAKEUP 端子については『S1R72U06 Technical Manual』
の「設定機能」を参照してください。
SLEEP
Device切断
本LSI:XIRQ_EVENT端子=Low
MainCPU:WAKEUP端子=High
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 4.5
12
スリープ中の切断フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4.4 パワーマネージメント
本 LSI には 2 種類のパワーマネージメント機能が実装されています。本 LSI を“SLEEP”制御によって
管理する機能と、USB を“Suspend”制御によって管理する機能です。なお、本 LSI が“SLEEP”にな
るとコマンドをライトすることができませんので、WAKEUP 端子にて本 LSI を“ACTIVE”に移行さ
せることになります。各制御については以降の項目を参照してください。
4.4.1
Device未接続時の制御
Device が未接続の状態で本 LSI をパワーマネージメントする方法を表 4.2 に示します。本制御では“HID
START”(10h)により Host が“停止”、“開始”のいずれの状態に設定されていても、本制御により
低消費電力状態にすることが可能です。
表 4.2
手順
未接続状態の制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
コマンドを認識すると、ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
2
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
SLEEP→ACTIVE へ移行します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
<Status>
1
<HID Class Host>
ACTIVE
SLEEP
STOP
or
START
MainCPU
2
本LSI/USBの制御 :
SLEEP
ACTIVE
S1R72U06 Application Note
(Rev. 1.00)
EPSON
13
4. USB HID Class Host 制御
4.4.2
Device接続時のSuspend制御
Device が接続されている状態で、Device をパワーマネージメントする方法を表 4.3 に示します。本 LSI
は Device をリモートウェイクアップ“禁止”設定で制御します。
表 4.3 Suspend 状態の制御
手順
対象
制御方法
1
EIreq
“DEVICE POWER MANAGEMENT”(12h)を実行してください
“01h : Suspend & Remote Wakeup 禁止”設定
2
Suspend
Host(Device)が ACTIVE→Suspend になります
3
EIreq
“DEVICE POWER MANAGEMENT”(12h)を実行してください
“00h : Resume”設定
4
Resume
Host が Suspend→ACTIVE になります
Device を Resume します
S1R72U06
MainCPUの制御 :
1
MainCPU
3
14
本LSI/USBの制御 :
<Status>
<HID Class Host>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
HID
Class
Device
4
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4.4.3
Device接続時のSLEEP制御
Device が接続されている状態で、本 LSI をパワーマネージメントする方法を表 4.4 に示します。本制御
は Device がリモートウェイクアップをサポートしていない場合が対象です。本 LSI は Device をリモー
トウェイクアップ“禁止”設定で制御します。
本 LSI がスリープ状態(手順 2~手順 3 の間)の時に Device が切断や再接続された場合、MainCPU は
下記のイベント情報で Device 状態を判断してください。
切断:
XIRQ_EVENT 端子が変化し、本 LSI が ACTIVE になるとイベント情報を通知転送します。イ
ベント情報の“CD”で“Disconnect”を確認できます。
接続:
XIRQ_EVENT 端子が変化し、本 LSI が ACTIVE になるとイベント情報を通知転送します。イ
ベント情報の“CD”で“Connect”を確認できます。Device 接続については「4.2.1 接続フロー」
の“MainCPU : GET DESCRIPTOR(24h)取得”から処理してください。なお、
“GET DESCRIPTOR
(24h)”においてエラーが通知された場合は、スリープ中に Device の切断と再接続が発生し
たことを意味しています。“DEVICE RESET”(13h)を実行して、「4.2.1 接続フロー」の
Device 接続を処理してください。
本 LSI がスリープ状態になる前と、スリープ状態から ACTIVE になった後の Device 接続(または切断)
状態が一致している場合には、本 LSI が ACTIVE になってもイベント情報は通知転送されません。
表 4.4
手順
スリープ状態の制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
2
Suspend
Host(Device)が ACTIVE→Suspend になります
本 LSI は ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
3
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
4
Resume
本 LSI は SLEEP→ACTIVE へ移行します
Host が Suspend→ACTIVE になります
Device を Resume します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
1
MainCPU
S1R72U06 Application Note
(Rev. 1.00)
3
本LSI/USBの制御 :
<Status>
<HID Class Host>
ACTIVE
ACTIVE
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
HID
Class
Device
4
15
4. USB HID Class Host 制御
4.4.4
Device接続時のSuspend(Remote Wakeup)制御
Device が接続されている状態で、Device をパワーマネージメントする方法を表 4.5 に示します。本 LSI
は Device をリモートウェイクアップ“許可”設定で制御します。
表 4.5 Suspend 状態の Remote Wakeup 制御
手順
対象
制御方法
1
EIreq
“DEVICE POWER MANAGEMENT”(12h)を実行してください
“02h : Suspend & Remote Wakeup 許可”設定
2
Suspend
Host(Device)が ACTIVE→Suspend になります
3
Remote Wakeup
Device からの Remote Wakeup を検出します
4
Resume
Host が Suspend→ACTIVE になります
Device を Resume します
5
イベント情報
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
1
MainCPU
5
16
本LSI/USBの制御 :
<Status>
<HID Class Host>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
HID
Class
Device
3
4
S1R72U06 Application Note
(Rev. 1.00)
4. USB HID Class Host 制御
4.4.5
Device接続時のSLEEP(Remote Wakeup)制御
Device が接続されている状態で、本 LSI をパワーマネージメントする方法を表 4.6 に示します。本制御
は Device がリモートウェイクアップをサポートしている場合が対象です。本 LSI は Device をリモート
ウェイクアップ“許可”設定で制御します。
本 LSI がスリープ状態(手順 2 以降)の時に Device が切断されてから再接続された場合、スリープ状
態のため切断や再接続を検出することができませんので、リモートウェイクアップとの違いを判断する
ために MainCPU は手順 6 の SIO_READY 端子が“High”になってから、下記の処理を実施してくださ
い。
“GET DESCRIPTOR”(24h)をライトして正常にリードできた場合はリモートウェイクアップと判断
してください。また、エラーが通知された場合は、スリープ中に Device の切断と再接続が発生したこ
とを意味しています。“DEVICE RESET”(13h)を実行して、「4.2.1 接続フロー」の Device 接続を
処理してください。
表 4.6
手順
スリープ状態の Remote Wakeup 制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
2
Suspend
Host(Device)が ACTIVE→Suspend になります
本 LSI は ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
3
Remote Wakeup
Device からの Remote Wakeup を検出します
4
XIRQ_EVENT 端子
XIRQ_EVENT 端子が“High”→“Low”へ変化します
5
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
6
Resume
本 LSI は SLEEP→ACTIVE へ移行します
Host が Suspend→ACTIVE になります
Device を Resume します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
1
4
本LSI/USBの制御 :
<Status>
<HID Class Host>
ACTIVE
ACTIVE
SLEEP
Suspend
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
2
3
MainCPU
5
S1R72U06 Application Note
(Rev. 1.00)
EPSON
HID
Class
Device
6
17
4. USB HID Class Host 制御
4.5 注意事項
(1) 接続された Device が何らかの異常状態となりレスポンスが無くなった場合(Device が NAK あるい
は STALL 応答を継続し、本 LSI が Busy 状態から変化しない)には、本 LSI をハードウェアリセッ
トしてください。
(2) 接続した Device が認識されない場合、Device の故障や電池切れ(市販されている電池駆動 Device
の場合)などの可能性があります。
(3) “リモートウェイクアップ”に対応していない Device が存在します。接続された Device の
Configuration Descriptor 情報を確認してください。
(4) Interface Descriptor の個数によって、認識できない可能性があります。詳しくは「4.2.2 認識処理」
を参照してください。
18
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5. USB MSC Host 制御
本 LSI には、USB として MSC Host 機能が実装されています。以降の項目を参照してください。
MSC Host 機能には、簡易制御と完全制御があります。詳細は「5.4 簡易制御」または「5.5 完全制御」
を参照してください。
5.1 MSC Host初期化フロー
MSC Host は、図 5.1 に示すフローによって初期化してください。
“SIO 初期化”については、「2.1 UART 初期化フロー」または「3.1 SPI 初期化フロー」を参照してく
ださい。
“TPL DOWNLOAD(02h)設定”はデフォルト設定を使用する場合は不要です。“TPL”をダウンロー
ドする場合は、“Power ON”時に毎回ダウンロードする必要があります。ダウンロードされた“TPL”
は本 LSI の RAM に保持しています。
本 LSI は、
“USB ACTIVE”状態において MSC Device が接続されると自動的に接続処理を開始します。
詳細は「5.2 MSC Device 接続」を参照してください。また、切断時の処理は「5.3 MSC Device 切断」を
参照してください。
電源投入から MSC Device 接続までのフローについては、「Appendix-B. 初期化フロー」を参照してく
ださい。
Power ON
SIO 初期化
TPL DOWNLOAD (02h) 設定
MSC START (30h) 設定
USB ACTIVE
図 5.1
S1R72U06 Application Note
(Rev. 1.00)
初期化フロー
EPSON
19
5. USB MSC Host 制御
5.2 MSC Device接続
本 LSI は、“MSC START”(30h)が“開始”に設定されている場合、Device が接続されると自動的
にエニュメレーションを実施します。MSC 制御が可能な状態になると、MainCPU へイベントで通知し
ます。
接続時の転送速度については『S1R72U06 Technical Manual』を参照してください。
なお、“MSC START”(30h)が“停止”に設定されている場合は、VBUS 出力も“停止”しますので
Device の接続を検出することができません。
イベントについては『S1R72U06 Technical Manual』の「Host イベント情報」を参照してください。
5.2.1
接続フロー
MainCPU は図 5.2 に示すフローを参考にして、Device 接続を処理してください。本フローは、Device
接続が発生する毎に必要な処理です。
MSC Device接続
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
MSC ACTIVE
図 5.2
20
接続フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.2.2
認識処理
複数の Device が同時に接続された場合、本 LSI は最初に検出した Device または Interface Descriptor か
ら順番に識別します。識別した Device 情報から、“サポート Device”または“未サポート Device”と
して認識します。本 LSI の認識処理の例(Interface Descriptor が 2 個の場合)を、表 5.1 に示します。
本 LSI は最大で 3 台の認識情報を保持できます。よって、4 台以上の接続は識別することができません。
また、本 LSI は最大で 5 個の Interface Descriptor の情報を保持できます。よって、6 個以上の Interface
Descriptor は識別することができません。
表 5.1
Interface 0
認識処理
認識状態
Interface 1
MSC Device
Video Class Device
MSC Device はサポート Device として認識、Video Class
Device は未サポート Device として認識します
Audio Class Device
MSC Device
Audio Class Device は未サポート Device として認識、
MSC Device はサポート Device として認識します
Video Class Device
Audio Class Device
何れも未サポート Device として認識します
MSC Device
MSC Device
Interface0 はサポート Device として認識、Interface1 は
認識されません
S1R72U06 Application Note
(Rev. 1.00)
EPSON
21
5. USB MSC Host 制御
5.3 MSC Device切断
本 LSI に接続された Device が切断された場合、直前の状態によって切断処理が異なります。以降の項
目を参照してください。なお、“MSC START”(30h)を“停止”した場合も切断と同等な動作になり
ます。
イベントについては『S1R72U06 Technical Manual』の「Host イベント情報」を参照してください。
5.3.1
切断フロー
本 LSI に接続された Device が切断されると、本 LSI は USB を切断処理します。USB が切断状態になっ
たことを MainCPU へイベント(Bit1 CD Change)で通知します。
MSC Device切断
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 5.3
22
切断フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.3.2
スリープ中の切断フロー
本 LSI がスリープ中に Device が切断されると XIRQ_EVENT 端子で通知します。MainCPU は WAKEUP
端子を“High”にしてください。本 LSI は USB を切断処理して、
USB が切断状態になったことを MainCPU
へイベント(Bit1 CD Change)で通知します。WAKEUP 端子については『S1R72U06 Technical Manual』
の「設定機能」を参照してください。
SLEEP
Device切断
本LSI:XIRQ_EVENT端子=Low
MainCPU:WAKEUP端子=High
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 5.4
S1R72U06 Application Note
(Rev. 1.00)
スリープ中の切断フロー
EPSON
23
5. USB MSC Host 制御
5.4 簡易制御
本制御は、SCSI/ATAPI の規格に準拠した専門知識を用いることなく、容易に USB の MSC Device を制
御することが可能です。
5.4.1
サポートMSC Device
本制御では表 5.2 に記載された MSC Device をサポートすることが可能です。
表 5.2
サポート MSC Device
制御
MSC Device
Read
5.4.2
Write
USB メモリー
○
○
HDD
○
○
MO
○
○
簡易制御EIreq
本制御では表 5.3 に記載された EIreq を使用してください。詳細は『S1R72U06 UART Interface Manual』
または『S1R72U06 SPI Interface Manual』を参照してください。
表 5.3 MSC EI リクエスト
EIreq
コード
24
説明
EIreq name
40h
GET STORAGE INFORMATION
ストレージ情報リード
41h
START WRITING SECTORS
セクタライト開始
42h
START READING SECTORS
セクタリード開始
3Ah
BLK WRITE DATA
ブロック転送データライト
3Bh
BLK READ DATA
ブロック転送データリード
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.4.3
簡易制御方法
本 LSI に、MSC Device が接続されている状態から、簡易制御の方法について説明します。
Main CPU は、図 5.5 に示すリード簡易制御フローを参考にして、ブロック転送を処理してください。
ブロック転送の“アクセスサイズ”については『S1R72U06 UART Interface Manual』または『S1R72U06
SPI Interface Manual』の「MSC アクセスサイズ」を参照してください。
最初に MSC Device へアクセスする時に“ストレージ情報の取得”が必要です。
リードブロック転送の終了を判断する方法は、SIO に依存しています。詳細は「5.4.4 UART 終了判断」
または「5.4.5 SPI 終了判断」を参照してください。
ライトブロック転送の場合は、“MainCPU : 終了判断”を削除したフローになります。“アクセスサ
イズ”よりも“ブロック転送サイズ”が大きい場合、MainCPU は無効データ領域を任意の値でパディ
ングしてください。本 LSI は“アクセスサイズ”以上のデータを自動的に廃棄します。
MSC ACTIVE
MainCPU:GET STORAGE INFORMATION (40h)
ストレージ
情報の取得
本LSI:ストレージ情報
MainCPU:START READING SECTORS (42h)
ブロック転送
開始設定
MainCPU:BLK READ DATA (3Bh)
本LSI:ペイロードデータ
・
・
・
ブロック転送
MainCPU:BLK READ DATA (3Bh)
本LSI:ペイロードデータ
MainCPU:終了判断
MSC ACTIVE
図 5.5
S1R72U06 Application Note
(Rev. 1.00)
リード簡易制御フロー
EPSON
25
5. USB MSC Host 制御
5.4.4
UART終了判断
UART のブロック転送は図 5.6 に示すシーケンスで、終了を判断してください。
Main CPU
本LSI
ブロック転送
BLK READ DATA (3Bh)
ペイロードデータ
ブロック転送
BLK READ DATA (3Bh)
ペイロードデータ
図 5.6
ブロック転送終了
UART 終了シーケンス
本終了条件は、図 5.7 または図 5.8 の 2 種類が存在します。
図 5.7 は、“アクセスサイズ”とペイロードのサイズが、一致した状態で終了したことを意味していま
す。
アクセスサイズ
MainCPU設定
ブロック転送
サイズ
MSC Device
からの
受信データ
ペイロード
図 5.7
26
UART 終了条件(1)
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
図 5.8 は、“アクセスサイズ”よりも“ブロック転送サイズ”が大きい場合の終了を意味しています。
本 LSI はペイロードのサイズを“ブロック転送サイズ”に合わせるため、自動的に“00h”でパディン
グします。MainCPU は“アクセスサイズ”を有効なデータとして使用してください。
なお、MainCPU がデータを本 LSI からリード中に Device が切断された場合、本 LSI は切断後のデータ
を自動的に“00h”でパディングします。
アクセスサイズ
MainCPU設定
ブロック転送
サイズ
MSC Device
からの
受信データ
ペイロード
パディング
図 5.8
5.4.5
UART 終了条件(2)
SPI終了判断
Main CPU が設定した“アクセスサイズ”に関わらず、MSC Device からの受信が完了すると転送終了に
なります。
SPI のブロック転送は、バースト転送の単位でステータス情報を確認してください。
Main CPU はステータス情報が“Idle”になった時点で、ブロック転送の終了を判断してください。図
5.9 に終了時の状態を示します。
Main CPU
本 LSI
ReceiveData (85h)
ペイロードデータ
Status (82h)
ステータス情報 (Idle)
図 5.9
S1R72U06 Application Note
(Rev. 1.00)
バースト転送
ブロック転送終了
SPI 終了シーケンス
EPSON
27
5. USB MSC Host 制御
5.5 完全制御
本制御は、SCSI/ATAPI の規格に準拠したコマンド制御が可能です。専門知識を有していない場合は、
「5.4 簡易制御」の使用を推奨します。
5.5.1
サポートMSC Device
『S1R72U06 Technical Manual』の「準拠規格」に記載された MSC Device をサポートすることが可能で
す。
5.5.2
完全制御EIreq
本制御では表 5.4 に記載された EIreq を使用してください。詳細は『S1R72U06 UART Interface Manual』
または『S1R72U06 SPI Interface Manual』を参照してください。
表 5.4 MSC EI リクエスト
EIreq
コード
5.5.3
説明
EIreq name
48h
STORAGE COMMAND THROUGH(6)
SCSI/ATAPI コマンド (6Byte)
49h
STORAGE COMMAND THROUGH(10)
SCSI/ATAPI コマンド (10Byte)
4Ah
STORAGE COMMAND THROUGH(12)
SCSI/ATAPI コマンド (12Byte)
4Bh
STORAGE COMMAND THROUGH(16)
SCSI/ATAPI コマンド (16Byte)
4Ch
STORAGE COMMAND RESULT
SCSI/ATAPI コマンド実行結果取得
3Ah
BLK WRITE DATA
ブロック転送データライト
3Bh
BLK READ DATA
ブロック転送データリード
完全制御方法
本 LSI に、MSC Device が接続されている状態から、完全制御の方法について説明します。
本制御では、THROUGH コマンドに対する実行結果を確認する必要があります。THROUGH コマンド
の処理完了を、MainCPU へ通知するために“Ended”イベントが用意されています。詳細は『S1R72U06
UART Interface Manual』または『S1R72U06 SPI Interface Manual』を参照してください。
Main CPU は、図 5.10(Ended 許可設定)または図 5.11(Ended 禁止設定)に示す、リード完全制御フ
ロー(ペイロードデータがある場合)を参考にして、ブロック転送を処理してください。なお、
“No Data”
転送では、“ブロック転送”を省略したフローとなります。
リードブロック転送の終了を判断する方法は、SIO に依存しています。詳細は「5.5.4 UART 終了判断」
または「5.5.5 SPI 終了判断」を参照してください。
ライトブロック転送の場合は、“MainCPU : 終了判断”を削除したフローになります。
28
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
MSC ACTIVE
MainCPU:THROUGH コマンド
ブロック転送
開始設定
MainCPU:BLK READ DATA (3Bh)
本 LSI:ペイロードデータ
・
・
・
ブロック転送
MainCPU:BLK READ DATA (3Bh)
本 LSI:ペイロードデータ
MainCPU:終了判断
本 LSI:Ended イベント通知
MainCPU:Ended イベント取得
MainCPU:STORAGE COMMAND RESULT (4Ch)
MainCPU:RESULT の確認
MSC ACTIVE
図 5.10
S1R72U06 Application Note
(Rev. 1.00)
リード完全制御フロー(Ended 許可設定)
EPSON
29
5. USB MSC Host 制御
MSC ACTIVE
ブロック転送
開始設定
MainCPU:THROUGH コマンド
MainCPU:BLK READ DATA (3Bh)
本 LSI:ペイロードデータ
・
・
・
ブロック転送
MainCPU:BLK READ DATA (3Bh)
本 LSI:ペイロードデータ
MainCPU:終了判断
MainCPU:STORAGE COMMAND RESULT (4Ch)
“Block Tran Executing”エラー発生
YES
NO
MainCPU:RESULT の確認
MSC ACTIVE
図 5.11 リード完全制御フロー(Ended 禁止設定)
30
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.5.4
UART終了判断
UART のブロック転送の終了判断は、MSC Device からの受信データ(ペイロード)によって、2 種類
の状態が存在します。以降の項目を参照してください。
5.5.4.1
設定サイズリード終了
MainCPU が設定した“ブロック転送サイズ”で、ブロック転送が終了する場合を図 5.12 に示します。
Main CPU
本LSI
ブロック転送
BLK READ DATA (3Bh)
ペイロードデータ
ブロック転送
BLK READ DATA (3Bh)
ペイロードデータ
図 5.12
ブロック転送終了
設定サイズリード終了シーケンス
本終了条件は、図 5.13 の“ペイロード(1)”または“ペイロード(2)”の場合があります。
“ペイロード(1)”は、“アクセスサイズ”とペイロードのサイズが、一致した状態で終了したこと
を意味しています。
“ペイロード(2)”は、“アクセスサイズ”よりもペイロードのサイズが小さい状態で終了したこと
を意味しています。本 LSI はペイロードのサイズを“ブロック転送サイズ”に合わせるため、自動的に
“00h”でパディングします。
アクセスサイズ
MainCPU設定
ブロック転送
サイズ
ペイロード
(1)
MSC Device
からの
受信データ
ペイロード
(2)
パディング
図 5.13
S1R72U06 Application Note
(Rev. 1.00)
設定サイズリード終了条件
EPSON
31
5. USB MSC Host 制御
5.5.4.2
EIhead終了
EIhead の転送で、ブロック転送が終了する場合を図 5.14 に示します。
Main CPU
本LSI
ブロック転送
BLK READ DATA (3Bh)
ペイロードデータ
ブロック転送
BLK READ DATA (3Bh)
EIhead
図 5.14
ブロック転送終了
EIhead 終了シーケンス
本終了条件は、図 5.15 の“ペイロード(1)”または“ペイロード(2)”の場合があります。転送が
終了した時、Main CPU からの“BLK READ DATA”(3Bh)に対して、本 LSI は EIhead のみを転送し
ます。Main CPU は EIhead で示された“ブロック転送サイズ”(0000h)から、転送の終了を判断して
ください。
“アクセスサイズ”に対して、“ブロック転送サイズ”が 1 つ以上少ない場合に該当します。
“ペイロード(1)”は、“ブロック転送サイズ”とペイロードのサイズが一致した状態を意味してい
ます。
“ペイロード(2)”は、“ブロック転送サイズ”よりもペイロードのサイズが小さい状態で終了した
ことを意味しています。本 LSI はペイロードのサイズを“ブロック転送サイズ”に合わせるため、自動
的に“00h”でパディングします。
アクセスサイズ
MainCPU設定
ブロック転送
サイズ
ペイロード
(1)
MSC Device
からの
受信データ
ペイロード
(2)
EIhead
パディング
図 5.15
32
EIhead
EIhead 終了条件
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.5.5
SPI終了判断
Main CPU が設定した“アクセスサイズ”に関わらず、MSC Device からの受信が完了すると転送終了に
なります。
SPI のブロック転送は、バースト転送の単位でステータス情報を確認してください。
Main CPU はステータス情報が“Idle”になった時点で、ブロック転送の終了を判断してください。図
5.16 に終了時の状態を示します。
Main CPU
本 LSI
ReceiveData (85h)
ペイロードデータ
Status (82h)
ステータス情報 (Idle)
図 5.16
S1R72U06 Application Note
(Rev. 1.00)
バースト転送
ブロック転送終了
SPI 終了シーケンス
EPSON
33
5. USB MSC Host 制御
5.6 パワーマネージメント
本 LSI には 2 種類のパワーマネージメント機能が実装されています。本 LSI を“SLEEP”制御によって
管理する機能と、USB を“Suspend”制御によって管理する機能です。なお、本 LSI が“SLEEP”にな
るとコマンドをライトすることができませんので、WAKEUP 端子にて本 LSI を“ACTIVE”に移行さ
せることになります。各制御については以降の項目を参照してください。
5.6.1
Device未接続時の制御
Device が未接続の状態で本 LSI をパワーマネージメントする方法を表 5.5 に示します。本制御では“MSC
START”(30h)により Host が“停止”、“開始”のいずれの状態に設定されていても、本制御により
低消費電力状態にすることが可能です。
表 5.5
手順
未接続状態の制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
コマンドを認識すると、ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
2
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
SLEEP→ACTIVE へ移行します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
<Status>
1
<MSC Host>
ACTIVE
SLEEP
STOP
or
START
MainCPU
2
本LSI/USBの制御 :
SLEEP
ACTIVE
34
EPSON
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.6.2
Device接続時のSuspend制御
Device が接続されている状態で、Device をパワーマネージメントする方法を表 5.6 に示します。本 LSI
は Device をリモートウェイクアップ“禁止”設定で制御します。
表 5.6 Suspend 状態の制御
手順
対象
制御方法
1
EIreq
“DEVICE POWER MANAGEMENT”(32h)を実行してください
“01h : Suspend & Remote Wakeup 禁止”設定
2
Suspend
Host(Device)が ACTIVE→Suspend になります
3
EIreq
“DEVICE POWER MANAGEMENT”(32h)を実行してください
“00h : Resume”設定
4
Resume
Host が Suspend→ACTIVE になります
Device を Resume します
S1R72U06
MainCPUの制御 :
1
MainCPU
3
S1R72U06 Application Note
(Rev. 1.00)
本LSI/USBの制御 :
<Status>
<MSC Host>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
MSC
Device
4
35
5. USB MSC Host 制御
5.6.3
Device接続時のSLEEP制御
Device が接続されている状態で、本 LSI をパワーマネージメントする方法を表 5.7 に示します。本制御
は Device がリモートウェイクアップをサポートしていない場合が対象です。本 LSI は Device をリモー
トウェイクアップ“禁止”設定で制御します。
本 LSI がスリープ状態(手順 2~手順 3 の間)の時に Device が切断や再接続された場合、MainCPU は
下記のイベント情報で Device 状態を判断してください。
切断:
XIRQ_EVENT 端子が変化し、本 LSI が ACTIVE になるとイベント情報を通知転送します。イ
ベント情報の“CD”で“Disconnect”を確認できます。
接続:
XIRQ_EVENT 端子が変化し、本 LSI が ACTIVE になるとイベント情報を通知転送します。イ
ベント情報の“CD”で“Connect”を確認できます。下記のコマンドを使用して Device の接続
を確認してください。
簡易制御:“GET STORAGE INFORMATION”(40h)を使用してください。
完全制御:SCSI/ATAPI コマンドの“TEST UNIT READY”を推奨します。
なお、コマンド実行においてエラーが通知された場合は、スリープ中に Device の切断と再接
続が発生したことを意味しています。エラー発生時には、本 LSI 内部で再接続を自動的に処理
します。これに伴いイベントが発生しますので、MainCPU は「5.2.1 接続フロー」の Device
接続を処理してください。
本 LSI がスリープ状態になる前と、スリープ状態から ACTIVE になった後の Device 接続(または切断)
状態が一致している場合には、本 LSI が ACTIVE になってもイベント情報は通知転送されません。
表 5.7
手順
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
2
Suspend
Host(Device)が ACTIVE→Suspend になります
本 LSI は ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
3
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
4
Resume
本 LSI は SLEEP→ACTIVE へ移行します
Host が Suspend→ACTIVE になります
Device を Resume します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
1
MainCPU
36
スリープ状態の制御
3
本LSI/USBの制御 :
<Status>
<MSC Host>
ACTIVE
ACTIVE
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
MSC
Device
4
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.6.4
Device接続時のSuspend(Remote Wakeup)制御
Device が接続されている状態で、Device をパワーマネージメントする方法を表 5.8 に示します。本 LSI
は Device をリモートウェイクアップ“許可”設定で制御します。
表 5.8 Suspend 状態の Remote Wakeup 制御
手順
対象
制御方法
1
EIreq
“DEVICE POWER MANAGEMENT”(32h)を実行してください
“02h : Suspend & Remote Wakeup 許可”設定
2
Suspend
Host(Device)が ACTIVE→Suspend になります
3
Remote Wakeup
Device からの Remote Wakeup を検出します
4
Resume
Host が Suspend→ACTIVE になります
Device を Resume します
5
イベント情報
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
1
MainCPU
5
S1R72U06 Application Note
(Rev. 1.00)
本LSI/USBの制御 :
<Status>
<MSC Host>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
2
MSC
Device
3
4
37
5. USB MSC Host 制御
5.6.5
Device接続時のSLEEP(Remote Wakeup)制御
Device が接続されている状態で、本 LSI をパワーマネージメントする方法を表 5.9 に示します。本制御
は Device がリモートウェイクアップをサポートしている場合が対象です。本 LSI は Device をリモート
ウェイクアップ“許可”設定で制御します。
本 LSI がスリープ状態(手順 2 以降)の時に Device が切断されてから再接続された場合、スリープ状
態のため切断/再接続を検出することができませんので、リモートウェイクアップとの違いを判断する
ために MainCPU は手順 6 の SIO_READY 端子が“High”になってから、下記の処理を実施してくださ
い。
下記のコマンドを使用して Device の接続を確認してください。
簡易制御:“GET STORAGE INFORMATION”(40h)を使用してください。
完全制御:SCSI/ATAPI コマンドの“TEST UNIT READY”を推奨します。
正常に接続を確認できた場合はリモートウェイクアップと判断してください。また、エラーが通知され
た場合は、スリープ中に Device の切断と再接続が発生したことを意味しています。エラー発生時には、
本 LSI 内部で再接続を自動的に処理します。これに伴いイベントが発生しますので、MainCPU は「5.2.1
接続フロー」の Device 接続を処理してください。
表 5.9
手順
スリープ状態の Remote Wakeup 制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
2
Suspend
Host(Device)が ACTIVE→Suspend になります
本 LSI は ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
3
Remote Wakeup
Device からの Remote Wakeup を検出します
4
XIRQ_EVENT 端子
XIRQ_EVENT 端子が“High”→“Low”へ変化します
5
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
6
Resume
本 LSI は SLEEP→ACTIVE へ移行します
Host が Suspend→ACTIVE になります
Device を Resume します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
1
4
本LSI/USBの制御 :
<Status>
<MSC Host>
ACTIVE
ACTIVE
SLEEP
Suspend
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
2
3
MSC
Device
MainCPU
5
38
EPSON
6
S1R72U06 Application Note
(Rev. 1.00)
5. USB MSC Host 制御
5.7 注意事項
(1) 接続された Device が何らかの異常状態となりレスポンスが無くなった場合(Device が NAK あるい
は STALL 応答を継続し、本 LSI が Busy 状態から変化しない)には、本 LSI をハードウェアリセッ
トしてください。
(2) 接続した Device が認識されない場合、Device の故障や電池切れ(市販されている電池駆動 Device
の場合)などの可能性があります。
(3) “リモートウェイクアップ”に対応していない Device が存在します。接続された Device の
Configuration Descriptor 情報を確認してください。
(4) Interface Descriptor の個数によって、認識できない可能性があります。詳しくは「5.2.2 認識処理」
を参照してください。
(5) データリード中に Device が切断された場合、Main CPU はリード中のブロック転送を完了させる必
要があります。よって、Device の切断処理は、リードが完了してから実施してください。
(6) MSC Device は、一般的に PC へ接続することを前提としています。よって、本 LSI において認識で
きない場合や、データ転送時に MSC Device の内部処理(タイムアウトなど)により正常に動作し
ない MSC Device が存在する可能性があります。
S1R72U06 Application Note
(Rev. 1.00)
EPSON
39
6. USB HID Class Device 制御
6. USB HID Class Device 制御
本 LSI には、USB として HID Class Device 機能が実装されています。詳細は以降の項目を参照してくだ
さい。
6.1 HID Class Device初期化フロー
HID Class Device は、図 6.1 に示すフローによって初期化してください。
“SIO 初期化”については、「2.1 UART 初期化フロー」または「3.1SPI 初期化フロー」を参照してく
ださい。
“Descriptor DOWNLOAD(02h)設定”は、“Power ON”時に毎回ダウンロードする必要があります。
ダウンロードされた“Descriptor”は本 LSI の RAM に保持しています。
Feature Report を使用しない場合は、“INITIAL FEATURE REPORT(24h)設定”は不要です。
本 LSI は、“USB ACTIVE”状態において Host に接続されると自動的に接続処理を開始します。詳細
は「6.2 HID Class Host 接続」を参照してください。また、切断時の処理は「6.3 HID Class Host 切断」
を参照してください。
システムが“BUS パワーデバイス”として構成されている場合、USB 規格に準拠するため“Power ON”
から“HID START(10h)設定”までを“70ms”以内に処理する必要があります。また、“Power ON”
から“CD Change”および“CD(Connect)”イベントが発生するまで VBUS の消費電流を“100mA”
以下にする必要があります。
電源投入から HID Class Host 接続までのフローについては、「Appendix-B. 初期化フロー」を参照して
ください。
Power ON
SIO 初期化
Descriptor DOWNLOAD (02h) 設定
INITIAL FEATURE REPORT (24h) 設定
HID START (10h) 設定
USB ACTIVE
図 6.1
40
初期化フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
6. USB HID Class Device 制御
6.2 HID Class Host接続
本 LSI は、“HID START”(10h)が“開始”に設定されている場合、Host に接続されると自動的にエ
ニュメレーションを実施します。HID Class 制御が可能な状態になると、MainCPU へイベントで通知し
ます。なお、“HID START”(10h)が“停止”に設定されている場合は、Host と接続することができ
ません。
MainCPU は、図 6.2 に示すフローを参考にして Host への接続を処理してください。
“本 LSI : イベント通知”は、Host に依存して“USB SuspendStatus” イベントが複数回発生すること
があります。その後、“CD Change”イベントを通知します。イベントについては『S1R72U06 Technical
Manual』の「Device イベント情報」を参照してください。
本 LSI が Host からプロトコルモード設定を受信するとイベントが発生します。MainCPU は“MainCPU :
GET PROTOCOL MODE(25h)取得”を処理して、プロトコルモードを変更してください。
接続時の転送速度については『S1R72U06 Technical Manual』を参照してください。
システムが“BUS パワーデバイス”として構成されている場合、「6.1 HID Class Device 初期化フロー」
に記載された時間規定内の処理が Host 接続時に必要となります。
HID Class Host 接続
本 LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
MainCPU:GET PROTOCOL MODE (25h) 取得
HID Class ACTIVE
図 6.2
S1R72U06 Application Note
(Rev. 1.00)
接続フロー
EPSON
41
6. USB HID Class Device 制御
6.3 HID Class Host切断
本 LSI が Host から切断された場合、直前の状態によって切断処理が異なります。以降の項目を参照し
てください。なお、“HID START”(10h)が“停止”した場合も切断と同等な動作になります。
イベントについては『S1R72U06 Technical Manual』の「Device イベント情報」を参照してください。
6.3.1
切断フロー
本 LSI が Host から切断されると、本 LSI は USB を切断処理します。USB が切断状態になったことを
MainCPU へイベント(Bit1 CD Change)で通知します。
HID Class Host切断
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 6.3
42
切断フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
6. USB HID Class Device 制御
6.3.2
データリード中の切断フロー
MainCPU が Report データを本 LSI からリード中に Host から切断されると、本 LSI は USB を切断処理
します。イベント(Bit3 Rcv Feature Report または Bit2 Rcv Output Report)が発生している場合、MainCPU
は“RECV FEATURE REPORT(21h)or RECV REPORT(23h)取得”で本 LSI に残った Report データ
をリードしてください。
HID Class Host 切断
本 LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
MainCPU:RECV FEATURE REPORT (21h)
or RECV REPORT (23h) 取得
USB ACTIVE
図 6.4
S1R72U06 Application Note
(Rev. 1.00)
データリード中の切断フロー
EPSON
43
6. USB HID Class Device 制御
6.3.3
スリープ中の切断フロー
本 LSI がスリープ中に Host から切断されると XIRQ_EVENT 端子で通知します。MainCPU は WAKEUP
端子を“High”にしてください。本 LSI は USB を切断処理して、
USB が切断状態になったことを MainCPU
へイベント(Bit1 CD Change)で通知します。WAKEUP 端子については『S1R72U06 Technical Manual』
の「設定機能」を参照してください。
SLEEP
HID Class Host切断
本LSI:XIRQ_EVENT端子=Low
MainCPU:WAKEUP端子=High
本LSI:イベント通知
MainCPU:イベント取得
:UART(XIRQ_EVENT=Enable)
SPI
USB ACTIVE
図 6.5
44
スリープ中の切断フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
6. USB HID Class Device 制御
6.4 パワーマネージメント
本 LSI には 2 種類のパワーマネージメント機能が実装されています。本 LSI を“SLEEP”制御によって
管理する機能と、USB を“Suspend”制御によって管理する機能です。なお、本 LSI が“SLEEP”にな
るとコマンドをライトすることができませんので、WAKEUP 端子にて本 LSI を“ACTIVE”に移行さ
せることになります。各制御については以降の項目を参照してください。
Host に接続されている状態で MainCPU の都合によって本 LSI を SLEEP させるためには、
“HID START”
(10h)を“停止”に設定する必要があります。
6.4.1
Host未接続時の制御
Host に未接続状態で本 LSI をパワーマネージメントする方法を表 6.1 に示します。本制御では“HID
START”(10h)により Device が“停止”、“開始”のいずれの状態に設定されていても、本制御によ
り低消費電力状態にすることが可能です。
表 6.1
手順
未接続状態の制御
対象
制御方法
1
EIreq
“SLEEP”(01h)を実行してください
コマンドを認識すると、ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
2
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
SLEEP→ACTIVE へ移行します
SIO_READY 端子が“Low”→“High”へ変化します
S1R72U06
MainCPUの制御 :
<Status>
1
<HID Class Device>
ACTIVE
SLEEP
STOP
or
START
MainCPU
2
本LSI/USBの制御 :
SLEEP
ACTIVE
S1R72U06 Application Note
(Rev. 1.00)
EPSON
45
6. USB HID Class Device 制御
6.4.2
Host接続時のSuspend制御
Host に接続されている状態で、Device をパワーマネージメントする方法を表 6.2 に示します。本制御は
Host からリモートウェイクアップを“禁止”設定されている状態です。Suspend 状態で MainCPU から
データライトを実行した場合、本 LSI はデータを廃棄してエラー発生を MainCPU に通知します。なお、
Host が Resume するまで転送不可能な状態を継続します。
システムが“BUS パワーデバイス”として構成されている場合、手順 1 の Suspend から“10ms”以内
に VBUS の消費電流を“2.5mA”以下にする必要があります。消費電流を下げるために本 LSI を SLEEP
させるためには、
「6.4.3 Host 接続時の SLEEP 制御」の処理が必要となりますので本項目のパワーマネー
ジメントを使用することができません。
表 6.2 Suspend 状態の制御
手順
対象
制御方法
1
Suspend
Host からの Suspend を検出
Device は ACTIVE→Suspend へ移行します
2
イベント情報
MainCPU へイベント発生を通知します
3
Resume
Host からの Resume を検出
4
イベント情報
Device が Suspend→ACTIVE へ移行します
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
2
MainCPU
4
46
本LSI/USBの制御 :
<Status>
<HID Class Device>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
1
HID
Class
Host
3
S1R72U06 Application Note
(Rev. 1.00)
6. USB HID Class Device 制御
6.4.3
Host接続時のSLEEP制御
Host に接続されている状態で、本 LSI をパワーマネージメントする方法を表 6.3 に示します。本制御は
Host からリモートウェイクアップを“禁止”設定されている状態です。Suspend 状態で MainCPU から
データライトを実行した場合、本 LSI はデータを廃棄してエラー発生を MainCPU に通知します。なお、
Host が Resume するまで転送不可能な状態を継続します。
システムが“BUS パワーデバイス”として構成されている場合、手順 2 のイベント通知から“8ms”以
内に手順 3 の“SLEEP”(01h)を実行してください。
手順 5 の XIRQ_EVENT 端子がアサートされてから“5ms”以内に手順 6 の WAKEUP 端子を“High”
にしてください。
表 6.3
手順
スリープ状態の制御
対象
制御方法
1
Suspend
Host からの Suspend を検出
Device は ACTIVE→Suspend へ移行します
2
イベント情報
MainCPU へイベント発生を通知します
3
EIreq
“SLEEP”(01h)を実行してください
コマンドを認識すると、ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
4
Resume
Host からの Resume を検出
5
XIRQ_EVENT 端子
XIRQ_EVENT 端子が“High”→“Low”へ変化します
6
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
SLEEP→ACTIVE へ移行します
SIO_READY 端子が“Low”→“High”へ変化します
7
イベント情報
Device が Suspend→ACTIVE へ移行します
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
2
3
本LSI/USBの制御 :
<Status>
<HID Class Device>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
SLEEP
Suspend
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
1
MainCPU
5
6
7
S1R72U06 Application Note
(Rev. 1.00)
EPSON
4
HID
Class
Host
47
6. USB HID Class Device 制御
6.4.4
Host接続時のSuspend(Remote Wakeup)制御
Host に接続されている状態で、Device をパワーマネージメント制御する方法を表 6.4 に示します。本制
御は Host からリモートウェイクアップを“許可”設定されている状態です。なお、Host が Resume す
るまで転送不可能な状態を継続します。
システムが“BUS パワーデバイス”として構成されている場合、手順 1 の Suspend から“10ms”以内
に VBUS の消費電流を“2.5mA”以下にする必要があります。消費電流を下げるために本 LSI を SLEEP
させるためには、「6.4.5 Host 接続時の SLEEP(Remote Wakeup)制御」の処理が必要となりますので
本項目のパワーマネージメントを使用することができません。
表 6.4 Suspend 状態の Remote Wakeup 制御
手順
対象
制御方法
1
Suspend
Host からの Suspend を検出
Device は ACTIVE→Suspend へ移行します
2
イベント情報
MainCPU へイベント発生を通知します
3
EIreq
“SEND REPORT”(22h)を実行してください
4
Remote Wakeup
Host へ Remote Wakeup を通知します
5
Resume
Host からの Resume を検出
6
データ送信
Device が Suspend→ACTIVE へ移行します
Host へデータを送信します
7
イベント情報
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
2
本LSI/USBの制御 :
<Status>
<HID Class Device>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
1
MainCPU
3
7
48
EPSON
4
HID
Class
Host
5
6
S1R72U06 Application Note
(Rev. 1.00)
6. USB HID Class Device 制御
6.4.5
Host接続時のSLEEP(Remote Wakeup)制御
Host に接続されている状態で、本 LSI をパワーマネージメント制御する方法を表 6.5 に示します。本制
御は Host からリモートウェイクアップを“許可”設定されている状態です。なお、Host が Resume す
るまで転送不可能な状態を継続します。
システムが“BUS パワーデバイス”として構成されている場合、手順 2 のイベント通知から“8ms”以
内に手順 3 の“SLEEP”(01h)を実行してください。
表 6.5
手順
スリープ状態の Remote Wakeup 制御
対象
制御方法
1
Suspend
Host からの Suspend を検出
Device は ACTIVE→Suspend へ移行します
2
イベント情報
MainCPU へイベント発生を通知します
3
EIreq
“SLEEP”(01h)を実行してください
コマンドを認識すると、ACTIVE→SLEEP へ移行します
SIO_READY 端子が“High”→“Low”へ変化します
4
WAKEUP 端子
WAKEUP 端子を“Low”→“High”→“Low”にしてください
SLEEP→ACTIVE へ移行します
SIO_READY 端子が“Low”→“High”へ変化します
5
EIreq
“SEND REPORT”(22h)を実行してください
6
Remote Wakeup
Host へ Remote Wakeup を通知します
7
Resume
Host からの Resume を検出
8
データ送信
Device が Suspend→ACTIVE へ移行します
Host へデータを送信します
9
イベント情報
MainCPU へイベント発生を通知します
S1R72U06
MainCPUの制御 :
2
3
MainCPU
4
5
9
S1R72U06 Application Note
(Rev. 1.00)
本LSI/USBの制御 :
<Status>
<HID Class Device>
ACTIVE
ACTIVE
ACTIVE
Suspend
ACTIVE
Suspend
SLEEP
Suspend
SLEEP
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
Suspend
ACTIVE
ACTIVE
EPSON
1
HID
Class
Host
6
7
8
49
6. USB HID Class Device 制御
6.5 注意事項
(1) USB 規格では Suspend からの復帰を Resume 処理するように規定されていますが、BUS リセットで
処理する Host が存在します。このような Host に対応するためには、切断と接続の処理によって再
接続することになります。
50
EPSON
S1R72U06 Application Note
(Rev. 1.00)
Appendix-A. SIO_READY 端子の代替処理
Appendix-A. SIO_READY 端子の代替処理
SIO_READY 端子をオープン(未接続)にする場合の代替処理方法を説明します。
A.1 UART初期化処理
「2.1 UART 初期化フロー」に記載された SIO_READY 端子の確認部分を、Wait 時間によって代替する
ことが可能です。図 A.1 に示す太い四角が該当部分です。
Power ON
Wait 時間 20ms
(SIO_READY 端子確認部分)
SERIAL PORT (F8h) 設定
Wait 時間 10ms
(SIO_READY 端子確認部分)
LSI SETTING (03h) 設定
EVENT INT CONTROL (FFh) 設定
UART ACTIVE
図 A.1
S1R72U06 Application Note
(Rev. 1.00)
UART 初期化フローの代替処理
EPSON
51
Appendix-A. SIO_READY 端子の代替処理
A.2 SPI初期化処理
「3.1 SPI 初期化フロー」に記載された SIO_READY 端子の確認部分を、Wait 時間によって代替するこ
とが可能です。図 A.2 に示す太い四角が該当部分です。
Power ON
Wait 時間 20ms
(SIO_READY 端子確認部分)
BURST SIZE (00h) 設定
STATUS 取得
LSI SETTING (03h) 設定
STATUS 取得
SPI ACTIVE
図 A.2
SPI 初期化フローの代替処理
A.3 パワーマネージメント処理
パワーマネージメントにおいて、SIO_READY 端子“Low” →“High”への確認部分を Wait 時間によっ
て代替することが可能です。
表 A.1
USB
HID Class Host
MSC Host
HID Class Device
52
パワーマネージメントの代替処理
対象項目
Wait 時間
4.4.1 Device 未接続時の制御[手順 2]
20ms
4.4.3 Device 接続時の SLEEP 制御[手順 4]
150ms
4.4.5 Device 接続時の SLEEP(Remote Wakeup)制御[手順 6]
150ms
5.6.1 Device 未接続時の制御[手順 2]
20ms
5.6.3 Device 接続時の SLEEP 制御[手順 4]
150ms
5.6.5 Device 接続時の SLEEP(Remote Wakeup)制御[手順 6]
150ms
6.4.1 Host 未接続時の制御[手順 2]
15ms
6.4.3 Host 接続時の SLEEP 制御[手順 6]
15ms
6.4.5 Host 接続時の SLEEP(Remote Wakeup)制御[手順 4]
15ms
EPSON
S1R72U06 Application Note
(Rev. 1.00)
Appendix-B. 初期化フロー
Appendix-B. 初期化フロー
電源投入から USB の Class が動作可能な状態になるまでの初期化フローを説明します。
B.1 UART - HID Class Hostフロー
UART と HID Class Host は「2.1 UART 初期化フロー」および「4.1 HID Class Host 初期化フロー」によっ
て、初期化することができます。その後、HID Class Device が接続されると「4.2 HID Class Device 接続」
のフローによって、HID Class Host として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
UART 初期化
SERIAL PORT (F8h) 設定
SIO_READY 端子 High となるのを待つ
LSI SETTING (03h) 設定
EVENT INT CONTROL (FFh) 設定
UART ACTIVE
TPL DOWNLOAD (02h) 設定
HID Class
Host 初期化
HID START (10h) 設定
USB ACTIVE
本 LSI:イベント通知
HID Class
Device 接続
MainCPU:イベント取得
MainCPU : GET DESCRIPTOR (24h) 取得
MainCPU:REPORT ID REGISTRATION (11h) 設定
HID Class ACTIVE
図 B.1
S1R72U06 Application Note
(Rev. 1.00)
UART - HID Class Host フロー
EPSON
53
Appendix-B. 初期化フロー
B.2 UART - MSC Hostフロー
UART と MSC Host は「2.1 UART 初期化フロー」および「5.1 MSC Host 初期化フロー」によって、初
期化することができます。その後、MSC Device が接続されると「5.2 MSC Device 接続」のフローによっ
て、MSC Host として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
UART 初期化
SERIAL PORT (F8h) 設定
SIO_READY 端子 High となるのを待つ
LSI SETTING (03h) 設定
EVENT INT CONTROL (FFh) 設定
UART ACTIVE
TPL DOWNLOAD (02h) 設定
MSC Host 初期化
MSC START (30h) 設定
USB ACTIVE
本 LSI:イベント通知
MSC Device 接続
MainCPU:イベント取得
MSC ACTIVE
図 B.2
54
UART - MSC Host フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
Appendix-B. 初期化フロー
B.3 UART - HID Class Deviceフロー
UART と HID Class Device は「2.1 UART 初期化フロー」および「6.1 HID Class Device 初期化フロー」
によって、初期化することができます。その後、HID Class Host に接続されると「6.2 HID Class Host 接
続」のフローによって、HID Class Device として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
UART 初期化
SERIAL PORT (F8h) 設定
SIO_READY 端子 High となるのを待つ
LSI SETTING (03h) 設定
EVENT INT CONTROL (FFh) 設定
UART ACTIVE
Descriptor DOWNLOAD (02h) 設定
HID Class
Device 初期化
INITIAL FEATURE REPORT (24h) 設定
HID START (10h) 設定
USB ACTIVE
本 LSI:イベント通知
HID Class
Host 接続
MainCPU:イベント取得
MainCPU:GET PROTOCOL MODE (25h) 取得
HID Class ACTIVE
図 B.3
S1R72U06 Application Note
(Rev. 1.00)
UART - HID Class Device フロー
EPSON
55
Appendix-B. 初期化フロー
B.4 SPI - HID Class Hostフロー
SPI と HID Class Host は「3.1 SPI 初期化フロー」および「4.1 HID Class Host 初期化フロー」によって、
初期化することができます。その後、HID Class Device が接続されると「4.2 HID Class Device 接続」の
フローによって、HID Class Host として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
SPI 初期化
BURST SIZE (00h) 設定
STATUS 取得
LSI SETTING (03h) 設定
STATUS 取得
SPI ACTIVE
TPL DOWNLOAD (02h) 設定
HID Class
Host 初期化
HID START (10h) 設定
USB ACTIVE
本 LSI:イベント通知
HID Class
Device 接続
MainCPU:イベント取得
MainCPU : GET DESCRIPTOR (24h) 取得
MainCPU:REPORT ID REGISTRATION (11h) 設定
HID Class ACTIVE
図 B.4
56
SPI - HID Class Host フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
Appendix-B. 初期化フロー
B.5 SPI - MSC Hostフロー
SPI と MSC Host は「3.1 SPI 初期化フロー」および「5.1 MSC Host 初期化フロー」によって、初期化す
ることができます。その後、MSC Device が接続されると「5.2 MSC Device 接続」のフローによって、
MSC Host として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
SPI 初期化
BURST SIZE (00h) 設定
STATUS 取得
LSI SETTING (03h) 設定
STATUS 取得
SPI ACTIVE
TPL DOWNLOAD (02h) 設定
MSC Host 初期化
MSC START (30h) 設定
USB ACTIVE
本 LSI:イベント通知
MSC Device 接続
MainCPU:イベント取得
MSC ACTIVE
図 B.5
S1R72U06 Application Note
(Rev. 1.00)
SPI - MSC Host フロー
EPSON
57
Appendix-B. 初期化フロー
B.6 SPI - HID Class Deviceフロー
SPI と HID Class Device は「3.1 SPI 初期化フロー」および「6.1 HID Class Device 初期化フロー」によっ
て、初期化することができます。その後、HID Class Host に接続されると「6.2 HID Class Host 接続」の
フローによって、HID Class Device として動作可能な状態となります。
フローの詳細は、該当する各項目を参照してください。
Power ON
SIO_READY 端子 High となるのを待つ
SPI 初期化
BURST SIZE (00h) 設定
STATUS 取得
LSI SETTING (03h) 設定
STATUS 取得
SPI ACTIVE
Descriptor DOWNLOAD (02h) 設定
HID Class
Device 初期化
INITIAL FEATURE REPORT (24h) 設定
HID START (10h) 設定
USB ACTIVE
本 LSI:イベント通知
HID Class
Host 接続
MainCPU:イベント取得
MainCPU:GET PROTOCOL MODE (25h) 取得
HID Class ACTIVE
図 B.6
58
SPI - HID Class Device フロー
EPSON
S1R72U06 Application Note
(Rev. 1.00)
改訂履歴表
改訂履歴表
付-1
Rev. No.
Rev. 1.00
日付
2009/4/6
S1R72U06 Application Note
(Rev. 1.00)
ページ
全頁
改訂内容(旧内容を含む)
および改訂理由
種別
新規
新規制定
EPSON
59
半導体事業部
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
ドキュメントコード:411707500
D
2009 年 4 月 作成{