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