S1R72U16 Technical Manual Rev.2.00 本資料のご使用につきましては、次の点にご留意願います。 本資料の内容については、予告無く変更することがあります。 1. 本資料の一部、または全部を弊社に無断で転載、または、複製など他の目的に使用することは堅くお断りいたします。 2. 本資料に掲載される応用回路、プログラム、使用方法等はあくまでも参考情報であり、これら起因する第三者の権利(工業所有権 を含む)侵害あるいは損害の発生に対し、弊社はいかなる保証を行うものではありません。また、本資料によって第三者または弊 社の工業所有権の実施権の許諾を行うものではありません。 3. 特性値の数値の大小は、数直線上の大小関係で表しています。 4. 本資料に掲載されている製品のうち「外国為替及び外国貿易法」に定める戦略物資に該当するものについては、輸出する場合、同 法に基づく輸出許可が必要です。 5. 本資料に掲載されている製品は、生命維持装置その他、きわめて高い信頼性が要求される用途を前提としていません。よって、弊 社は本(当該)製品をこれらの用途に用いた場合のいかなる責任についても負いかねます。 ©SEIKO EPSON CORPORATION 2008, All rights reserved. 適用範囲 本ドキュメントは、IDE デバイス-USB2.0 ホストブリッジ LSI 「S1R72U16」に適用されます。 ご注意 「S1R72U16」をご使用になる場合には、『S1R72U16 特殊条件下の使用について』、及び『S1R72U16 エラッ タ』を必ずご確認ください。 目次 1. 用語説明............................................................................................................................................. 1 2. 機能説明............................................................................................................................................. 2 2.1 モード設定.................................................................................................................................. 2 2.1.1 コマンド体系設定.............................................................................................................. 2 2.1.2 接続台数設定..................................................................................................................... 2 2.1.3 インタフェース設定 .......................................................................................................... 2 2.2 内部状態の通知 .......................................................................................................................... 3 2.3 USBデバイスの接続構成 ............................................................................................................ 3 2.3.1 LUNの扱い ........................................................................................................................ 4 2.4 リセット時の動作仕様................................................................................................................ 6 2.5 独自にストレージデバイスへ発行するコマンドについて .......................................................... 7 2.5.1 ストレージデバイスの情報を取得するために発行するコマンド ...................................... 7 2.5.2 メディアの情報を取得するために発行するコマンド ........................................................ 7 2.6 パワーマネージメント................................................................................................................ 8 2.6.1 USBデバイスのSUSPEND/RESUME ............................................................................. 8 2.6.2 Sleep/Wakeup................................................................................................................. 8 2.6.3 RESUMEに対応していないストレージデバイスの場合.................................................... 8 2.7 IDE機能仕様 ............................................................................................................................... 9 2.7.1 初期化時の動作仕様 .......................................................................................................... 9 2.7.2 サポートコマンド一覧..................................................................................................... 11 2.7.2.1 ATAモード .................................................................................................................... 11 2.7.2.2 ATAPIモード................................................................................................................. 13 2.7.3 コマンド毎に返す情報の仕様.......................................................................................... 15 2.7.3.1 IDENTIFY DEVICEデータ ............................................................................................ 15 2.7.3.2 IDENTIFY PACKET DEVICEデータ ............................................................................. 18 2.7.3.3 INQUIRYデータ............................................................................................................ 19 2.7.4 2.7.4.1 2.7.5 未サポートコマンドの処理 ............................................................................................. 20 ベンダコマンドについて .............................................................................................. 20 エラー発生時の動作仕様 ................................................................................................. 22 2.7.5.1 ストレージデバイスがNAKを返し続ける場合.............................................................. 22 2.7.5.2 ストレージデバイスの接続処理時................................................................................ 22 2.7.5.3 ストレージデバイスの制御時....................................................................................... 23 2.7.6 2.7.6.1 挿抜仕様 .......................................................................................................................... 25 挿抜に使用する端子 ..................................................................................................... 25 2.7.6.1.1 XCD0 端子.............................................................................................................. 25 S1R72U16 Technical Manual (Rev. 2.00) EPSON i 2.7.6.1.2 XCD1 端子.............................................................................................................. 25 2.7.6.1.3 XChgInt端子 ........................................................................................................... 26 2.7.6.1.4 ATA task file registersのStatusレジスタ bit1.......................................................... 27 2.7.6.2 挿抜端子の使用方法 ..................................................................................................... 27 2.7.6.3 挿抜端子の動作仕様 ..................................................................................................... 28 2.7.6.3.1 ストレージデバイスが挿抜された場合の基本動作................................................. 28 2.7.6.3.2 システムリセット及びHardware Resetを検出した場合の動作 .............................. 29 2.7.6.3.3 XChgInt端子がLowの時に挿抜された場合の動作................................................... 30 2.7.6.3.4 Sleep状態で挿抜された場合の動作........................................................................ 31 2.7.7 2.8 ダウンロード機能............................................................................................................ 32 USB機能仕様............................................................................................................................ 34 2.8.1 動作概要 .......................................................................................................................... 34 2.8.2 USBデバイスの検出 ........................................................................................................ 35 2.8.3 ストレージデバイスの制御 ............................................................................................. 37 2.8.4 TPLについて ................................................................................................................... 38 2.8.5 NSFについて................................................................................................................... 39 2.9 2.8.5.1 Unsupported Device..................................................................................................... 39 2.8.5.2 Too Many Devices ........................................................................................................ 39 2.8.5.3 Too Many Hubs ............................................................................................................ 40 2.8.5.4 VBUS Over Current...................................................................................................... 40 開発サポート機能..................................................................................................................... 41 2.9.1 履歴表示機能................................................................................................................... 41 2.9.2 USBロゴ認証サポート機能 ............................................................................................. 41 3. レジスタ........................................................................................................................................... 42 Appendix-A. ii ATA→ATAPI変換仕様 .................................................................................................. 43 EPSON S1R72U16 Technical Manual (Rev. 2.00) 1. 用語説明 1. 用語説明 Main CPU 顧客システムのメイン CPU。 FS USB 規格の Full-Speed モード。理論値 12Mbps の転送レート。 HS USB 規格の High-Speed モード。理論値 480Mbps の転送レート。 Mass Storage Class USB 規格の大容量ストレージ用クラス。 Hub Class USB 規格のハブ用クラス。 Bulk Only Transport Mass Storage Classで規定されている、Bulk転送だけを使用してスト レージコマンドを発行するためのプロトコル。 CBI Transport Mass Storage Classで規定されている、Control、Bulk、Interrupt転送を 使用してストレージコマンドを発行するためのプロトコル。 Embedded Host Compliance 組み込みホスト向け USB2.0 ロゴ認証。 TPL Target Peripheral List。 LUN Logical Unit Number。 NSF No Silent Failures。 SUSPEND USB デバイスの Sleep 状態。 RESUME USB デバイスの Wakeup。 ポートリセット ストレージデバイスが接続しているポートに対して行うリセット。 マスストレージリセット ストレージデバイスに対して行うリセット。 CBW Command Block Wrapper。 CSW Command Status Wrapper。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 1 2. 機能説明 2. 機能説明 本 LSI は、IDE デバイス-USB2.0 ホストブリッジです。本 LSI では、システムに応じたコマンド体 系、接続台数、インタフェースの 3 種類のモード設定があります。各モードの詳細は、「2.1 モー ド設定」を参照してください。 IDE モード時は、以下に準拠します。 • AT Attachment with Packet Interface - 4、5、6 (ATA/ATAPI - 4、5、6) • Multi-Media Commands - 5 (MMC - 5) [CD/DVD をサポート] • INF - 8070i、8090i [MO をサポート] • SFF - 8080 [CD をサポート] • Information technology - SCSI/ATA Translation (SAT) [16Byte コマンドは未サポート] CPU モード時は、 CF+ and Compact Flash Specification Revision 3.0 の I/O モードを適用できます。 ただし、 CIS、CCR レジスタ及びアトリビュートメモリは存在しないため、CF 規格準拠ではありません。 2.1 モード設定 表 2-1 に示す端子により、本 LSI の動作モードを設定します。 電源投入状態で、端子の設定を切り替えないでください。 表 2-1 種別 2.1.1 モード設定一覧 端子名称 端子設定とモード コマンド体系 PORT00(ATAxATAPI) High:ATA モード Low:ATAPI モード 接続台数 PORT01(2x1) High:2 台モード Low:1 台モード インタフェース PORT02(CPUxIDE) High:CPU モード Low:IDE モード コマンド体系設定 Main CPU が本 LSI を制御するためのコマンド体系を設定します。各モードで使用するコマン ドの一覧は、「2.7.2 サポートコマンド一覧」を参照してください。 ATAPI モードは、Flash メモリ、HDD 等の制御および CD/DVD/MO 等の光ディスクデバイ スを制御可能なため、ストレージデバイスを限定しない用途には ATAPI モードを推奨します。 接続台数設定が 2 台モードの時、Master と Slave は同じコマンド体系となります。 2.1.2 接続台数設定 本 LSI に接続するストレージデバイスの台数を設定します。本 LSI に Master と Slave の 2 台を 接続する場合は 2 台モード、CSEL 端子で指定した 1 台のみを接続する場合は 1 台モードに設 定してください。 2 台モードで使用する場合は、本 LSI の CSEL 端子を Master(=Low)に設定する必要があり ます。 2.1.3 インタフェース設定 Main CPUと本LSIの接続インタフェースを設定します。Main CPUのIDEバスに本LSIを接続す る場合はIDEモード、CPUバスに接続する場合はCPUモードに設定してください。 IDE モードは、PIO/Multi Word DMA/Ultra DMA を使用できます。PIO はモード 0~4 (16.6MBytes/s)、Multi Word DMA はモード 0~2(16.6MBytes/s)、Ultra DMA はモード 0~ 5(100MBytes/s)に対応しています。 CPU モードは、PIO/DMA を使用できます。 2 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.2 内部状態の通知 本 LSI の内部状態は GPO 端子に出力(通知)されますので、製品(システム)として必要な端 子を使用してください。 PLL_Locked 端子(PORT13)は、本 LSI が正常に起動したことを通知します。電源投入後 PLL が正常な発振を開始すると High になり、電源が切断されるまで High の状態が継続します。 挿抜端子(PORT10~12)は、ストレージデバイスの接続/未接続状態とその変化を通知します。 挿抜の動作については、「2.7.6 挿抜仕様」を参照してください。 NSF 通知端子(PORT14~17)は、USB のロゴ認証で使用します。NSF については「2.8.5 NSF に ついて」を参照してください。 2.3 USBデバイスの接続構成 USB デバイスの接続構成について説明します。サポートする USB デバイスの詳細は、「2.8 USB 機能仕様」を参照してください。 ストレージデバイスは 2 台まで接続可能で、最初に検出したストレージデバイスを Master、次に 検出したストレージデバイスを Slave に割り当てます。3 台以上のストレージデバイスは認識さ れません。 USB ハブは 3 台まで接続可能で、4 台以上の USB ハブおよびハブに接続しているストレージデ バイスは認識されません。 Main CPU S1R72U16 USB Host IDE Device IDE Host ストレージ デバイス LUN 0 USB HUB ストレージ デバイス LUN 0 2台モード 図 2-1 Main CPU 基本構成 S1R72U16 USB Host IDE Device IDE Host USB ストレージ HUB デバイス LUN 0 USB HUB USB ストレージ HUB デバイス LUN 0 2台モード 図 2-2 最大構成(ハブ機能の含まれる USB メモリの場合) Main CPU S1R72U16 USB Host IDE Device IDE Host IDEデバイス ストレージ デバイス LUN 0 1台モード 図 2-3 S1R72U16 Technical Manual (Rev. 2.00) 最小構成 EPSON 3 2. 機能説明 Main CPU ストレージ デバイス LUN 0 S1R72U16 USB Host IDE Device IDE Host USB HUB 2台モード 図 2-4 × ストレージ デバイス LUN 0 制限台数を超える構成(ストレージデバイス) Main CPU USB ストレージ HUB デバイス LUN 0 S1R72U16 USB Host IDE Device IDE Host USB HUB 2台モード 図 2-5 2.3.1 ストレージ デバイス LUN 0 × USB ストレージ HUB デバイス LUN 0 USB ストレージ HUB デバイス LUN 0 制限台数を超える構成(USB ハブ) LUNの扱い 1 つの LUN を 1 台のストレージデバイスとして検出します。したがって、見かけ上 1 台のスト レージデバイスであっても、LUN 0 と LUN1 の 2 つに分割されていれば 2 台のストレージデバ イスとして検出します。この状態でストレージデバイスを追加しても検出されません。(3 台 以上のストレージデバイスは認識されないためです) 接続例を、図 2-6~図 2-8 に示します。 Main CPU S1R72U16 USB Host IDE Device IDE Host ストレージ デバイス LUN 0 USB HUB ストレージ デバイス LUN 0 2台モード 図 2-6 Main CPU 基本構成時の LUN の扱い S1R72U16 USB Host IDE Device IDE Host USB HUB 2台モード × ストレージ デバイス LUN 0 LUN 1 ストレージ デバイス LUN 0 図 2-7 1 台のストレージデバイスが 2 つの LUN に分割されている場合 4 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 Main CPU S1R72U16 USB Host IDE Device IDE Host IDEデバイス LUN 0のみ認識 ストレージ デバイス LUN 0 LUN 1 1台モード 図 2-8 1 台モード時の LUN の扱い S1R72U16 Technical Manual (Rev. 2.00) EPSON 5 2. 機能説明 2.4 リセット時の動作仕様 本 LSI は ATA/ATAPI 規格のリセット(Hardware Reset、SRST、DEVICE RESET コマンド)に対 応しており、後述する条件が成立する時、USB デバイスをリセットします。したがって、Main CPU は USB 規格リセットの動作を考慮せずに、ATA/ATAPI 規格リセットを使用できます。 ATA/ATAPI 規格リセットと USB 規格リセット、および USB 規格リセットの発行条件を表 2-2 に 示します。 表 2-2 ATA/ATAPI 規格リセット ATA/ATAPI 規格リセットと USB 規格リセットの対応 USB 規格リセット発行条件 (いずれかが成立する場合に発行) USB 規格リセット • Hardware Reset ポートリセット (USB バスの 初期化) • • (※1) • • SRST DEVICE RESET コマンド (ATAPI モード時のみ) マスストレージリ セット (USB デバイス 毎の初期化) • • (※2) コマンドの実行中(Status レジスタの BSY ビットあるいは DRQ ビットが 1) USB プロトコルにおいてエラーが発生し、Main CPU にエ ラーステータスを返した直後から次のコマンドを受信する までの間 USB デバイスが無応答であり、Main CPU にエラーステー タスを返した直後から次のコマンドを受信するまでの間 ストレージデバイスが未接続 コマンドの実行中(Status レジスタの BSY ビットあるいは DRQ ビットが 1) USB プロトコルにおいてエラーが発生し、Main CPU にエ ラーステータスを返した直後から次のコマンドを受信する までの間 USB デバイスが無応答であり、Main CPU にエラーステー タスを返した直後から次のコマンドを受信するまでの間 ※1 ポートリセットでは USB デバイスが一旦切断されるため、複数のストレージデバイスが接続されている場合、 Master あるいは Slave の割り当てが変わることがあります。 ※2 ストレージデバイスが正常に接続されている状態、かつコマンド実行していない場合は、リセット発行されません。 USB プロトコルにおけるエラーの詳細は「2.7.5.3 ストレージデバイスの制御時」を参照してく ださい。 リセット後の本 LSI の状態は以下の通りです。Hardware Reset 後は電源投入時の状態と同等とな り、SRST/DEVICE RESET コマンドでは Main CPU から設定された情報を保持します。 • 共通 DOWNLOAD MICROCODE コマンドの設定を保持 XCD0/XCD1 端子は、リセット前の状態を保持 Sleep を解除(ATA/ATAPI 規格に準拠) • Hardware Reset XChgInt 端子を初期化し、High となる Main CPU から設定された情報を初期化(ATA/ATAPI 規格に準拠) • SRST/DEVICE RESET コマンド XChgInt 端子は、リセット前の状態を保持 Main CPU から設定された情報を保持(ATA/ATAPI 規格に準拠) 6 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.5 独自にストレージデバイスへ発行するコマンドについて 特定の条件のとき、本 LSI は、独自にストレージデバイスへコマンドを発行します。Main CPU は、これらコマンドの発行を意識する必要はありません。 2.5.1 ストレージデバイスの情報を取得するために発行するコマンド 本 LSI は、ストレージデバイスの状態に変化が発生した場合、ストレージデバイスの情報を取 得するために表 2-3 のコマンドを発行します。 表 2-3 ストレージデバイスの情報を取得するコマンド コマンド • • • INQUIRY 2.5.2 発行条件 Hardware Reset/SRST/DEVICE RESET コマンド検出時(電源投入時など) ストレージデバイスの挿入検出時 IDENTIFY DEVICE/IDENTIFY PACKET DEVICE コマンドを受信した時 メディアの情報を取得するために発行するコマンド ストレージデバイス、あるいはメディアが変更された可能性のある以下の前提条件の状態で、 発行条件を満たした時に、本 LSI はメディアの情報を取得するために表 2-4 のコマンドを順次 発行します。 • 前提条件 Hardware Reset/SRST/DEVICE RESET コマンド検出後(電源投入後など) ストレージデバイスの挿入検出後 ストレージデバイスからのメディア変更エラー検出後 表 2-4 メディアの情報を取得するコマンド コマンド 発行条件 TEST UNIT READY 以下のいずれかのコマンドを受信した時 • ATAPI モード: INQUIRY/REQUSET SENSE コマンド以外のコマンドを受信し た時 • ATA モード : メディアへのアクセスを行うコマンド(MC/NM エラーを返す コマンド)を受信した時 READ DISC STRUCTURE TEST UNIT READY コマンドが正常終了した時 (ATAPI モードで、かつストレージデバイスが CD/DVD のときのみ発行) • READ CAPACITY • READ DISC STRUCTURE を発行した: READ DISC STRUCTURE コマンド が正常終了した時 READ DISC STRUCTURE を発行しない: TEST UNIT READY コマンドが正常 終了した時 ※ TEST UNIT READY でストレージデバイスからメディア変更が通知された時、READ DISC STRUCTURE の前に READ CAPACITY を発行します。(S1R72U16XXXE200 から追加されました) S1R72U16 Technical Manual (Rev. 2.00) EPSON 7 2. 機能説明 2.6 パワーマネージメント Main CPUは、ATA/ATAPI規格に準拠した手順でUSBデバイスをパワーマネージメントできます ので、USB規格を意識する必要はありません。本LSIおよび、USBデバイスの省電力制御(SUSPEND /RESUME)について説明します。 2.6.1 USBデバイスのSUSPEND/RESUME Main CPU は、ATA/ATAPI 規格の SLEEP コマンドにより USB デバイスを省電力モードへ移行、 リセットにより復帰させることができます。 本LSIは、SLEEPコマンドを受信するとUSBデバイスをSUSPENDへ移行させます。2 台モード の場合は、MasterとSlaveへ個別にSLEEPコマンド発行してください。 本LSIは、「2.6.2 Sleep/Wakeup」に記載の何れかのリセットを受信すると全USBデバイスを RESUMEさせます。但し、2 台モードでDEVICE RESETコマンドを使用する場合は、Master/ Slave双方にコマンドを発行してください。 ※ 本 LSI は Master(Slave)に対する DEVICE RESET コマンドを受信した時点で全 USB デバイ スを RESUME させますが、コマンドを受信した Master(Slave)のみが ATA/ATAPI として制 御可能となります。 2.6.2 Sleep/Wakeup ストレージデバイスが全てSUSPENDになったとき、本LSIは自動的にSleep状態へ移行します。 尚、2 台モードの場合は、1 台のみを接続している状態(1 台は未接続)、ストレージデバイ スが未接続の状態でもMaster/Slave両方にSLEEPコマンドが発行されないとSleep状態へ移行 しません。 Sleep 状態では、以下いずれかのリセットを検出した時、Wakeup します。このため、Main CPU は本 LSI を Sleep/Wakeup させるための特別な処理を行う必要はありません。 • Hardware Reset • SRST • DEVICE RESET コマンド(ATA モード時、コマンドはエラーになります) 2.6.3 RESUMEに対応していないストレージデバイスの場合 ストレージデバイスがRESUMEに対応していない場合、本LSIがRESUME処理を実行するとス トレージデバイスは以下の動作になります。 • コマンドに一切応答しない • コマンドは受け付けるが、その後 NAK を返し続ける ストレージデバイスがコマンドに応答しない場合、本 LSI は Main CPU へストレージデバイス 未接続として報告します。ストレージデバイスが NAK 応答の場合には、 「2.6.2 Sleep/Wakeup」 に記載したリセットが終了せず、Busy 状態(Status レジスタの BSY ビットが 1)のままとな ります。 これらの状態になった場合、Main CPU は Hardware Reset を発行してください。本 LSI は、初 期化処理を行い、ストレージデバイスを再接続します。 8 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7 IDE機能仕様 Main CPU は、本 LSI および、本 LSI に接続されるストレージデバイスを ATA/ATAPI 規格に準拠 したデバイスとして制御することができます。 本 LSI がサポートする ATA/ATAPI コマンド、Main CPU へ返す情報、および挿抜に対応する方法等について記述します。 本 LSI を使用する際の注意点を以下に示します。 • CD/DVD/MO 等の光ディスクデバイスを制御する場合は、ATAPI モードにしてください • 2 台モードで本 LSI を使用する場合は、CSEL 端子を Master(=Low)にしてください • DATA-OUT(Write)方向の Ultra DMA 転送では、1 つのコマンドで転送できるサイズの上限 が 800000h Bytes です • DOWNLOAD MICROCODE コマンドの処理中はストレージデバイスを一旦切断するため、挿 抜が発生します 2.7.1 初期化時の動作仕様 本 LSI は初期化時(Busy 状態の間)、以下の処理を行います。したがって、Main CPU は ATA/ATAPI 規格に従った初期化処理を行う以外、特別な処理は不要です。 • 2 台モードの場合、または 1 台モードで Slave の場合は、DASP 信号をアサートする • ストレージデバイスが接続されている場合は、ストレージデバイスの情報を取得する 挿抜端子についての初期化時動作は、「2.7.6.3.2 システムリセット及び Hardware Reset を検出 した場合の動作」を参照してください。 ストレージデバイスの接続処理終了後、本LSIはBusy状態を解除してMain CPUへストレージデ バイスの接続を通知します。初期化処理の終了後、Main CPUによるストレージデバイスの制 御が可能となります。 電源投入(チップリセット解除) 1000msまで DASP H DASP信号をモニタ (High-Z) ~ ~ Master時 L PDIAG DASP信号検出後から31sまで H L 400ms以内 DASP ステータス設定 コマンド受信 ステータス設定 以後、コマンド処理中のみ Low状態となる コマンド受信するまで Lowを継続 30s間 H ~ ~ Slave時 コマンド受信 PDIAG信号をモニタ (High-Z) L 最初のコマンド受信 H L 1台モード時: Slaveであることを認識 2台モード時: 2台モードであることを認識 ステータス設定 コマンド受信 ステータス設定 EXECUTE DEVICE DIAGNOSTICコマンド 受信 ステータス設定 ~ ~ PDIAG 未サポートのストレージデバイス、または存在しない場合: ストレージデバイスにコマンド発行は行わず、Lowへ サポートするストレージデバイスが存在する場合: ストレージデバイスにINQUIRYコマンドを発行し、データの取得後にLowへ 以後、EXECUTE DEVICE DIAGNOSTICコマンドを受信し ない限りLowを継続 ※ 2台モード時はSlave時の動作と同じです。 ※ SRSTの場合、DASPは変化しません 図 2-9 S1R72U16 Technical Manual (Rev. 2.00) DASP/PDIAG の初期動作仕様 EPSON 9 2. 機能説明 電源投入(チップリセット解除) Master/Slave共通 XCD0/XCD1 ストレージデバイスの挿入を検出すると、自動的にINQUIRYコマンドを発行します。 (DeviceType確認のため) H L 挿入: INQUIRYコマンドを発行し、サポートデバイス であることを確認後、Lowへ 図 2-10 10 切断: サポートデバイスとして認識した ストレージデバイスが切断された時、Highへ XCD0/XCD1 の初期動作仕様 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.2 サポートコマンド一覧 Main CPU は、ATA/ATAPI コマンドで本 LSI を制御することができます。本 LSI がサポート するコマンドを以降に示します。 2.7.2.1 ATAモード サポートする ATA コマンドを表 2-5 に示します。太字のコマンドはストレージデバイスに 対してコマンドを発行せず、本 LSI 内で処理します。網掛けのコマンドは、ATAPI コマン ドに変換してストレージデバイスへ発行します。変換の詳細は、「Appendix-A. ATA→ ATAPI 変換仕様」を参照してください。 表 2-5 転送 方法 データ無し 転送 サイズ - 512 PIO IN セクタ数 コード サポート ATA コマンド一覧 コマンド名 備考 E5h CHECK POWER MODE ストレージデバイス未接続時でも正常に終了 90h EXECUTE DEVICE DIAGNOSTIC ストレージデバイス未接続時でも正常に終了 E7h FLUSH CACHE EAh FLUSH CACHE EXT DAh GET MEDIA STATUS TEST UNIT READY コマンドを発行し、デバ イスの状態を確認 E3h IDLE START/STOP UNIT コマンドへ変換(Immed bit=0、Start bit=1) ストレージデバイス未接続時でも正常に終了 E1h IDLE IMMEDIATE START/STOP UNIT コマンドへ変換(Immed bit=1、Start bit=1) ストレージデバイス未接続時でも正常に終了 91h INITIALIZE DEVICE PARAMETER ストレージデバイス未接続時でも正常に終了 00h NOP 40h READ VERIFY SECTOR(S) 42h READ VERIFY SECTOR(S) EXT 70h SEEK SEEK(10)コマンドへ変換 EFh SET FEATURES ストレージデバイス未接続時でも正常に終了 C6h SET MULTIPLE MODE ストレージデバイス未接続時でも正常に終了 E6h SLEEP ストレージデバイス未接続時でも正常に終了 E2h STANDBY START/STOP UNIT コマンドへ変換(Immed bit=0、Start bit=0) ストレージデバイス未接続時でも正常に終了 E0h STANDBY IMMEDIATE START/STOP UNIT コマンドへ変換(Immed bit=1、Start bit=0) ストレージデバイス未接続時でも正常に終了 ECh IDENTIFY DEVICE INQUIRY コマンドと READ CAPACITY コマ ンドで取得した情報から生成したデータを返 す ストレージデバイス未接続時でも正常に終了 C4h READ MULTIPLE 29h READ MULTIPLE EXT 20h READ SECTOR(S) 24h READ SECTOR(S) EXT S1R72U16 Technical Manual (Rev. 2.00) EPSON 何もせず、常に正常終了ステータスを返す TEST UNIT READY コマンドを発行し、デバ イスの状態を確認 READ(10) or READ(12)コマンドへ変換 11 2. 機能説明 PIO OUT セクタ数 DMA IN セクタ数 DMA OUT セクタ数 C5h WRITE MULTIPLE 39h WRITE MULTIPLE EXT 30h WRITE SECTOR(S) 34h WRITE SECTOR(S) EXT 92h DOWNLOAD MICROCODE C8h READ DMA 25h READ DMA EXT CAh WRITE DMA 35h WRITE DMA EXT 表 2-6 転送方法 転送 サイズ コード データ無し - 10h WRITE(10) or WRITE(12)コマンドへ変換 本 LSI へデータを転送し、機能を更新する ストレージデバイス未接続時でも正常に終了 READ(10) or READ(12)コマンドへ変換 WRITE(10) or WRITE(12)コマンドへ変換 下位互換のため、特別にサポートするコマンド 表 2-7 コマンド名 備考 何もせず、常に正常終了ステータスを返す ストレージデバイス未接続時でも正常に終了 RECALIBRATE 未サポートとしてエラーを返すコマンド 転送方法 転送 サイズ コード データ無し - 08h DEVICE RESET エラーステータスを返す PIO IN 512 A1h IDENTIFY PACKET DEVICE データ転送せずに、エラーステータスを返す 12 コマンド名 EPSON 備考 S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.2.2 ATAPIモード サポートする ATA コマンドを表 2-8 に、ATAPI コマンドを表 2-9 と表 2-10 に示します。 太字のコマンドはストレージデバイスに対してコマンドを発行せず、本 LSI 内で処理しま す。その他のコマンドは、そのままストレージデバイスへ発行します。 表 2-8 転送 方法 転送 サイズ コード E5h データ無し - サポート ATA コマンド一覧 コマンド名 備考 CHECK POWER MODE ストレージデバイス未接続時でも正常に終了 08h DEVICE RESET ストレージデバイスがコマンド処理中の場 合、USB リセットをかける ストレージデバイス未接続時でも正常に終了 90h EXECUTE DEVICE DIAGNOSTIC ストレージデバイス未接続時でも正常に終了 E1h IDLE IMMEDIATE ストレージデバイス未接続時でも正常に終了 00h NOP 37h SET FEATURES ストレージデバイス未接続時でも正常に終了 E6h SLEEP ストレージデバイス未接続時でも正常に終了 E0h STANDBY IMMEDIATE ストレージデバイス未接続時でも正常に終了 PIO IN 512 A1h IDENTIFY PACKET DEVICE INQUIRY コマンドで取得した情報から生成し たデータを返す ストレージデバイス未接続時でも正常に終了 PIO OUT セクタ数 92h DOWNLOAD MICROCODE 本 LSI へデータを転送し、機能を更新する ストレージデバイス未接続時でも正常に終了 - - A0h PACKET 表 2-9 転送方法 データ無し 転送 サイズ - 可変 PI/DI セクタ数 可変 PO/DO セクタ数 サポート ATAPI コマンド一覧(HDD、Flash Memory) コード コマンド名 備考 1Eh PREVENT/ALLOW REMOVAL MEDIUM 2Bh SEEK(10) 1Bh START/STOP UNIT 00h TEST UNIT READY 2Fh VERIFY(10) 2Eh WRITE AND VERIFY(10) 04h FORMAT UNIT 12h INQUIRY 5Ah MODE SENSE(10) 25h READ CAPACITY 23h READ FORMAT CAPACITY 03h REQUEST SENSE 28h READ(10) A8h READ(12) ストレージデバイス未接続時でも正常に終了 55h MODE SELECT(10) 2Ah WRITE(10) AAh WRITE(12) S1R72U16 Technical Manual (Rev. 2.00) EPSON ストレージデバイス未接続時でも正常に終了 13 2. 機能説明 表 2-10 転送 方法 データ無し 転送 サイズ - 可変 PI/DI セクタ数 14 サポート ATAPI コマンド一覧(CD/DVD/MO) コード コマンド名 1Eh PREVENT/ALLOW MEDIUM REMOVAL 2Bh SEEK(10) 1Bh START/STOP UNIT 00h TEST UNIT READY 2Fh VERIFY(10) 2Eh WRITE AND VERIFY(10) A1h BLANK 5Bh CLOSE TRACK/SESSION 2Ch ERASE (10) A6h LOAD/UNLOAD MEDIUM 4Bh PAUSE/RESUME 45h PLAY AUDIO (10) A5h PLAY AUDIO (12) A7h PLAY AUDIO MSF 58h REPAIR TRACK 53h RESERVE TRACK BAh SCAN BBh SET CD SPEED A7h SET READ AHEAD 4Eh STOP PLAY/SCAN 35h SYNCHRONIZE CACHE 04h FORMAT UNIT 12h INQUIRY 5Ah MODE SENSE(10) 25h READ CAPACITY ストレージデバイス未接続時でも正常に終了 23h READ FORMAT CAPACITIES 03h REQUEST SENSE 46h GET CONFIGURATION 4Ah GET EVENT/STATUS NOTIFICATION ACh GET PERFORMANCE BDh MECHANISM STATUS 3Ch READ BUFFER 5Ch READ BUFFER CAPACITY 51h READ DISC INFORMATION ADh READ DISC STRUCTURE 44h READ HEADER 42h READ SUB-CHANNEL 43h READ TOC/PMA/ATIP 52h READ TRACK INFORMATION A4h REPORT KEY 28h READ(10) A8h READ(12) BEh READ CD B9h READ CD MSF 備考 EPSON ストレージデバイス未接続時でも正常に終了 S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 55h 不定 PO/DO セクタ数 2.7.3 MODE SELECT(10) 5Dh SEND CUE SHEET BFh SEND DISC STRUCTURE A2h SEND EVENT A3h SEND KEY 54h SEND OPC INFORMATION B6h SET STREAMING 3Bh WRITE BUFFER 2Ah WRITE(10) AAh WRITE(12) コマンド毎に返す情報の仕様 Main CPU は以降に記載するコマンドにより、本 LSI に接続されたストレージデバイスの情報 を取得することができます。情報の生成方法を以下に示します。 2.7.3.1 IDENTIFY DEVICEデータ IDENTIFY DEVICE コマンドで返すデータを表 2-11 に示します。本 LSI は、接続されたス トレージデバイスから取得した情報を Main CPU へ返すデータに反映します。 太字の値は固定値、太字以外の値はデフォルト値を意味しています。 太枠で囲まれた領域は、INQUIRYコマンドとREAD CAPACITYコマンドによりストレージ デバイスから取得した情報を元に生成する値です。生成する値の場所を“x”で示します。 網掛けの領域は、Main CPUから発行されるコマンドにより値が置き換わります(コマンド別 に色を変えています)。 表 2-11 IDENTIFY DEVICE データ ワード 値 0 0080h ATA リムーバブル 内容 1 xxxxh トータルシリンダ数(ストレージデバイスの容量によって決定: MAX 値は 3FFFh) READ CAPACITY コマンドにより取得したデータから算出(※1) デバイス未接続時は 0000h を返す 2 0000h 3 0010h 4~5 0000h 6 003Fh 7~9 0000h 10~12 xxxxh 13 xxxxh 14~19 2020h 20~22 0000h 23~26 xxxxh Firmware revision INQUIRY コマンドで取得したデータから設定データを生成(※2) デバイス未接続時は“rev1.0”を返す 27~46 xxxxh Model number INQUIRY コマンドで取得したデータから設定データを生成(※3) デバイス未接続時は“_____ S1R72U16”を返す 47 8002h READ/WRITE MULTIPLE コマンドの最大 INTRQ アサートセクタサイズ トータルのヘッダ数 1 トラックあたりのセクタ数 シリアル番号 S1R72U16XXXE100:word10~19 S1R72U16XXXE200:word10~12 word13 word14~19 S1R72U16 Technical Manual (Rev. 2.00) EPSON 2020h 固定 3030h 固定 3030h(Master), 3031h(Slave) 2020h 固定 15 2. 機能説明 48 0000h 49 0000111100000000b 50 0100000000000000b 51 0200h 52 0000h 53 0000000000000111b PIO Mode2 サポート Word88、Word64~70、Word54~58 イネーブル 54 xxxxh 現在のシリンダ数(デフォルト値は Word1 の値) INITIALIZE DEVICE PARAMETERS コマンドにより置き換わる デバイス未接続時は 0000h を返す 55 xxxxh 現在のヘッダ数(デフォルト値は Word3 の値) INITIALIZE DEVICE PARAMETERS コマンドの Device/Head レジスタ下位 bit の値を+1 して設定 56 xxxxh 現在の1トラックあたりのセクタ数(デフォルト値は Word6 の値) INITIALIZE DEVICE PARAMETERS コマンドの Sector Count レジスタの値を 設定 57~58 xxxxh 現在のトータルセクタ数(Word54、55、56 の値によって決定: MAX 値は (00FBFC10h:word57=FC10h, word58=00FBh) デバイス未接続時は 0000h(各 word)を返す 01xxh 下位 8bit : カレントの READ/WRITE MULTIPLE コマンドの INTRQ アサー トセクタサイズを 01h に設定 bit8=1 : Set Multiple サポート SET MULTIPLE MODE コマンドにより下位 8bit が置き換わる 60~61 xxxxh トータルセクタ数 デバイスの容量が 128G Byte 以上(1K は 1024Byte で計算)の場合は、 0FFFFFFFh を返す READ CAPACITY コマンドで取得したデータを設定 デバイス未接続時は 0000h(各 word)を返す 62 0000h 63 00000xxx00000111b 64 0003h PIO モード 3、4 サポート 65 0078h 1 ワードあたりの Multiword DMA 最小転送サイクル 66 0078h デバイスが推奨する Multiword DMA 転送サイクル 67 00F0h PIO 転送サイクル IORDY アサートサイクル 59 16 bit11=1、bit10=1:IORDY サポート and IORDY ディセーブルサポート bit9=1 : LBA サポート bit8=1 : DMA サポート 68 0078h 69~74 0000h 75 0000h 76~79 0000h 80 0070h Multiword DMA モード 0、1、2 サポート (デフォルト値は 0407h) SET FEATURES コマンドにより bit8~10 が置き換わる コマンドキューサイズ 81 4000h 82 000000000001000b bit3=1 : Power Management Feature Set サポート 83 01110x0000010001b bit13=1: FLUSH CACHE EXT コマンドサポート bit12=1: FLUSH CACHE コマンドサポート bit10=1: 48bit アドレスサポート READ CAPACITY コマンドで取得したデータにより設定 128G 未満のデバイス=0、128G 以上のデバイス=1 (1K は 1024Byte で計算) bit4=1 : Removable Media Status Notification サポート bit0=1 : DOWNLOAD MICROCODE コマンドサポート 84 4000h 85 0000000000001000b bit3=1: Power Management Feature Set 許可 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 86 00110x0000010001b 87 4000h 88 00xxxxxx00111111b 89~92 0000h 93 01x0000000000000b 94~99 0000h 100~103 xxxxh 104~126 0000h 127 0001h 128~254 0000h 255 0000h bit13=1: FLUSH CACHE EXT コマンドイネーブル bit12=1: FLUSH CACHE コマンドイネーブル bit10=1: 48bit アドレスイネーブル READ CAPACITY コマンドで取得したデータにより設定 128G 未満のデバイス=0、128G 以上のデバイス=1 (1K は 1024Byte で計算) bit4=1: Removable Media Status Notification イネーブル bit0=1: DOWNLOAD MICROCODE コマンドイネーブル Ultra DMA モード 0、1、2、3、4、5 サポート SET FEATURES コマンドにより bit8~13 が置き換わる Bit13=xb : 0b(40 芯ケーブル使用)、1b(80 芯ケーブル使用) 最大 LBA(48bit アドレス) デバイスの容量が 128G Byte 未満(1K は 1024Byte で計算)の場合は、0000h を返す READ CAPACITY コマンドで取得したデータを設定 デバイス未接続時は 0000h(各 word)を返す 01h: Removable Media Status Notification サポート チェックサム無し (Word0~254 の値が可変のため) ※1 トータルシリンダ数は READ CAPACITY コマンドで取得した LBA の値を使って算出します。 LBA ≥ 16514064 3FFFh の固定値 LBA < 16514064 LBA÷16(Max Head)÷63(Max Sector) ※2 Firmware revision は INQUIRY コマンドで取得した Product Revision Level を使って生成します。 Product Revision Level(4 バイト) + スペース(4 バイト) ※3 Model number は INQUIRY コマンドで取得した Vendor Identification と Product Identification を使って生成します。 1. Vendor Identification の最初のスペースまでをメーカー名として取得 ※ 最初からスペースの場合はメーカー名無しと判断します。 2. Product Identification を製品名として取得 3. メーカー名 + スペース(1 バイト) + 製品名で生成 S1R72U16 Technical Manual (Rev. 2.00) EPSON 17 2. 機能説明 2.7.3.2 IDENTIFY PACKET DEVICEデータ IDENTIFY PACKET DEVICE コマンドで返すデータを表 2-12 に示します。本 LSI は、接続 されたストレージデバイスから取得した情報を Main CPU へ返すデータに反映します。 太字の値は固定値、太字以外の値はデフォルト値を意味しています。 太枠で囲まれた領域は、INQUIRYコマンドとREAD CAPACITYコマンドによりストレージ デバイスから取得した情報を元に生成する値です。生成する値の場所を“x”で示します。 網掛けの領域は、Main CPUから発行されるコマンドにより値が置き換わります(コマンド別 に色を変えています)。 表 2-12 ワード IDENTIFY PACKET DEVICE データ 値 内容 0 100xxxxx10000000b bit15-14=10b : ATAPI デバイス bit12-8=xxxxxb : 00000b(HDD)、00101b(CD/DVD) or 00111b(MO) INQUIRY コマンドで取得したデータの Device Type を設定 ※ デバイス未接続時は 11111b(接続デバイスなし)を返します。 bit7=1b : リムーバブルデバイス bit6-5=00b : PACKET コマンド受信から DRQ アサートまでの時間が最大 3msec bit1-0=00b : 12 バイトコマンドサポート 1~9 0000h 10~12 xxxxh 13 xxxxh 14~19 2020h 20~22 0000h 23~26 xxxxh INQUIRY コマンドで取得したデータから設定データを生成(生成方法は 2.7.3.1 IDENTIFY DEVICE データと同じ) ※ デバイス未接続時は“rev1.0”を返します。 27~46 xxxxh INQUIRY コマンドで取得したデータから設定データを生成(生成方法は 2.7.3.1 IDENTIFY DEVICE データと同じ) ※ デバイス未接続時は“_____ S1R72U16”を返します。 47~48 0000h 49 0000111100000000b 50 4000h 51 0200h シリアル番号 S1R72U16XXXE100:word10~19 2020h 固定 S1R72U16XXXE200:word10~12 3030h 固定 word13 3030h(Master), 3031h(Slave) word14~19 2020h 固定 bit11=1、bit10=1 : IORDY サポート and IORDY ディセーブルサポート bit8=1 : DMA サポート PIO Mode2 サポート 52 0000h 53 0000000000000110b 54~62 0000h 63 00000xxx00000111b 64 0003h PIO モード 3、4 サポート 65 0078h 1 ワードあたりの Multiword DMA 最小転送サイクル 66 0078h デバイスが推奨する Multiword DMA 転送サイクル 67 00F0h PIO 転送サイクル 68 0078h IORDY アサートサイクル 69~74 0000h 75 0000h 76~79 0000h 80 0070h 18 Word88,Word64~70 イネーブル Multiword DMA モード 0、1、2 サポート (デフォルト値は 0407h) SET FEATURES コマンドにより bit8~10 が置き換わる コマンドキューサイズ EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 81 4000h 82 0100001000011000b bit14=1 : NOP コマンドサポート bit9=1 : DEVICE RESET コマンドサポート bit4=1 : PACKET コマンドサポート bit3=1 : Power Management Feature Set サポート 83 0100000000000001b bit0=1 : DOWNLOAD MICROCODE コマンドサポート 84 4000h 85 0100001000011000b bit14=1 : NOP コマンドイネーブル bit9=1 : DEVICE RESET コマンドイネーブル bit4=1 : PACKET コマンドイネーブル bit3=1 : Power Management Feature Set イネーブル 86 0000000000000001b bit0=1 : DOWNLOAD MICROCODE コマンドイネーブル 87 4000h 88 00xxxxxx00111111b 89~92 0000h 93 01x0000000000000b 94~254 0000h 255 0000h 2.7.3.3 Ultra DMA モード 0、1、2、3、4、5 サポート SET FEATURES コマンドにより bit8~13 が置き換わる Bit13=xb : 0b(40 芯ケーブル使用)、1b(80 芯ケーブル使用) チェックサム無し(Word0~254 の値が可変のため) INQUIRYデータ INQUIRY コマンドで返すデータを表 2-13 に示します。 ストレージデバイスの接続/未接続状態によって返すデータが異なります。データ長及び データの値は、ストレージデバイスに依存します。未接続時はデータ長が最大 36 バイトに なります。 表 2-13 Byte ストレージデバイス未接続時の INQUIRY データ 値 内容 0 00011111b bit4~0=11111b : デバイスタイプ(11111b:デバイスタイプ無し) 1 00000000b bit7=0b 2 02h bit7~6=00b : ISO Version bit5~3=000b : ECMA Version bit2~0=010b : ANSI Version 3 02h bit7~4=0000b : ATAPI Transport Version bit3~0=0010b : Response Data Format 4 1Fh Additional Length 5 00h Reserved 6 00h Reserved 7 10h Reserved 8~15 “_____ 16~31 “S1R72U16 ” 32~35 “1.0” : RMB Vendor Information(“_”×5+“ ”×3) ” S1R72U16 Technical Manual (Rev. 2.00) Product Identification Product Revision Level EPSON 19 2. 機能説明 2.7.4 未サポートコマンドの処理 コマンド体系設定毎の未サポートコマンド処理は以下となります。 • ATA モード 表 2-5~表 2-7 以外の ATA コマンド: ATA PASS-THROUGH(12)コマンドへ変換 し、ストレージデバイスへベンダコマンドと して発行する 表 2-7 の未サポートATAコマンド: ストレージデバイスへコマンドを発行せず、 Main CPUへエラーを返す ATAPIコマンド: ストレージデバイスへコマンドを発行せず、 Main CPUへエラーを返す • ATAPI モード 表 2-8 以外のATAコマンド : ストレージデバイスへコマンドを発行せず、 Main CPUへエラーを返す 表 2-9~表 2-10 以外の ATAPI コマンド: ストレージデバイスへベンダコマンドとし て発行する 2.7.4.1 ベンダコマンドについて Main CPU は未サポートコマンドを使用してストレージデバイスへベンダコマンドを発行 し、固有の制御を行なうことができます。ただし、本 LSI はベンダコマンドのコマンド解 析を行わないため、データ転送はできません。よって、Main CPU はデータ無しの ATA/ATAPI コマンドプロトコルを使用してください。ベンダコマンドの処理イメージを図 2-11 に示します。 コマンド体系の設定によるベンダコマンドの処理は以下となります。 • ATA モード コマンド発行時: ATA PASS-THROUGH(12)コマンドへ変換してストレージデ バイスへ発行する ステータス取得時: REQUEST SENSE コマンドをストレージデバイスへ発行する ※ REQUEST SENSEコマンドの戻りパケットデータがATA PASS-THROUGHの形式に対応して いない場合は、Main CPUへエラーを返します。 • ATAPI モード スルーでストレージデバイスへ発行する ATA PASS-THROUGH(12)コマンドの詳細は『Information technology - SCSI/ATA Translation (SAT)』を参照してください。 20 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 未サポートコマンドをベンダコマンドとしてスルー (コマンド解析をしないため、データ転送は行わない) S1R72U16 Main CPU サポート コマンド ATAPI コマンド ストレージデバイス サポートコマンド処理 ATAPI コマンド 選別 ATAPI コマンド 解析 CD DVD 未サポート コマンド ATA⇔ATAPI変換 サポート サポートコマンド処理 コマンド ATA コマンド ATAPI コマンド ATAPI コマンド ATAPI コマンド ATAPIコマンドへ変換 ATA コマンド 未サポート 選別 コマンド 未サポートコマンド処理 ATA PASSTHROUGH(12) コマンドへ 変換 ATAPI ベンダ コマンド 処理 SCSI コマンド ATAPI ⇔ ATA 変換 / コマンド 解析 MO HDD ATA ベンダ コマンド 処理 未サポートコマンドをベンダコマンドとして処理 (コマンド解析をしないため、データ転送は行わない) ※ ATA PASS-THROUGH(12)コマンド ATAコマンドのレジスタ値をパラメタとして送信するコマンドで、Statusレジスタの値はREQUEST_SENSEコマンドにより取得する。 USBデバイスのATAPI⇔ATA変換/コマンド解析部分はこのコマンドに対応する必要がある。 図 2-11 S1R72U16 Technical Manual (Rev. 2.00) ベンダコマンドイメージ EPSON 21 2. 機能説明 2.7.5 エラー発生時の動作仕様 本 LSI とストレージデバイスの間にエラーが発生した時の処理について説明します。Main CPU は必要に応じて処理してください。 2.7.5.1 ストレージデバイスがNAKを返し続ける場合 ストレージデバイスが何らかの原因によって NAK 応答を継続する異常状態になった可能 性があります。本 LSI は Busy 状態(Status レジスタの BSY ビットあるいは DRQ ビットが 1)を継続するため、Main CPU でタイムアウト処理を行い ATA/ATAPI 規格の Hardware Reset を発行してください。 この現象は、初期化時/ストレージデバイスの制御時にかかわらず発生する可能性があり ます。 Main CPU S1R72U16 USB Host IDE Device IDE Host BSY bit = 1 or DRQ bit =1 図 2-12 2.7.5.2 NAK応答 ストレージ デバイス LUN 0 NAK 応答時 ストレージデバイスの接続処理時 ストレージデバイス接続処理時にエラーが発生した場合、本 LSI はこのデバイスを未サ ポートデバイスとします。したがって、Main CPU は特に処理を行なう必要はありません。 Main CPU S1R72U16 USB Host IDE Device IDE Host 未接続状態 (NoMedia/ デバイス 未接続) INQUIRYコマンド (CBW/CSW ) でエラー発生 ストレージ デバイス LUN 0 図 2-13 ストレージデバイス検出時 なお、エラーの発生条件は以下の通りです。 • ATA/ATAPI コマンドプロトコルにおけるエラー発生時 本 LSI の発行した INQUIRY コマンドがエラーになった場合 • USB プロトコルにおけるエラー発生時 Mass Storage ClassのBulk Only Transportの規格に準じたCBW/データ転送/CSWの 各フェーズにおいて、エラー終了、フェーズエラー終了となった場合 • ストレージデバイスが無応答の時 連続 3 回のリトライ(概ね 1ms 以内にはリトライ処理が完了する)に失敗した場合 22 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.5.3 ストレージデバイスの制御時 Main CPUがストレージデバイスを制御している時、本LSIとストレージデバイスの間で何 らかのエラーが発生した場合には、Main CPUから発行されたコマンドに対してエラース テータスを返します。Main CPUはエラーステータスに応じ、ATA/ATAPI規格に則って処理 してください。 Main CPU USB Host 図 2-14 S1R72U16 IDE Device IDE Host ATA/ATAPI コマンド でエラー発生 ATAPIコマンド (CBW/CSW ) でエラー発生 ストレージ デバイス LUN 0 ストレージデバイスの制御時 エラーが発生した時に Main CPU へ通知する ATA task file registers の内容は ATA/ATAPI 規 格の値となります。 ATAPI コマンドでは、エラーの詳細を取得するために REQUEST SENSE コマンドが用意さ れています。本 LSI が ATAPI モードの時、エラーの発生条件による REQUEST SENSE コ マンドのデータは以下の通りです。 • ATAPI コマンドプロトコルにおけるエラー発生時 ストレージデバイスから取得した値をMain CPUに返す • USB プロトコルにおけるエラー発生時、および USB デバイスが無応答の場合 Sense Key:04h、ASC:08h、ASCQ:00h (LOGICAL UNIT COMMUNICATION FAILURE)をMain CPUに返す ※ コマンド実行中に、ユーザーによって USB ケーブルを抜かれた場合には本エラーを返します。 ケーブルが抜かれた状態のままで次のコマンドが発行されたとき、ストレージデバイスが切断 された場合のエラー(MEDIUM NOT PRESENT)を返します。 • 挿抜によるエラー発生時 ストレージデバイスが切断された場合 Sense Key:02h、ASC:3Ah、ASCQ:00h (MEDIUM NOT PRESENT)をMain CPUに 返す ストレージデバイスが変更された場合 Sense Key:06h、ASC:28h、ASCQ:00h (MEDIUM MAY HAVE CHANGED)をMain CPUに返す • 未サポートコマンドが発行された場合 Sense Key:05h、ASC:20h、ASCQ:00h (INVALID COMMAND OPERATION CODE) をMain CPUに返す ※ 以下は ATA/ATAPI 規格上エラーを返さないコマンドとなっているため、本 LSI からエラーを返すこと はありません。 ATA モード時:IDENTIFY DEVICE、EXECUTE DEVICE DIAGNOSTIC ATAPI モード時:IDENTIFY PACKET DEVICE、EXECUTE DEVICE DIAGNOSTIC、DEVICE RESET、 INQUIRY、REQUEST SENSE S1R72U16 Technical Manual (Rev. 2.00) EPSON 23 2. 機能説明 なお、エラーの発生条件は以下の通りです。 • ATA/ATAPI コマンドプロトコルにおけるエラー発生時 CBWにて発行されたATAPIコマンドがエラーとなった場合 • USB プロトコルにおけるエラー発生時 Mass Storage ClassのBulk Only Transportの規格に準じたCBW/データ転送/CSWの 各フェーズにおいて、エラー終了、フェーズエラー終了となった場合 • ストレージデバイスが無応答の場合 連続 3 回のリトライ(概ね 1ms 以内にはリトライ処理が完了する)に失敗した場合 24 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.6 挿抜仕様 本 LSI は、ストレージデバイスの挿抜に対応するため以下の端子とレジスタを用意しています。 尚、挿抜端子は、USB ハブ、および未サポートの USB デバイスの挿抜では変化しません。 ストレージデバイスを ATA/ATAPI のリムーバブルデバイスとして扱わない場合、本章は不要 です。 2.7.6.1 挿抜に使用する端子 下記端子を使用して、Main CPUへストレージデバイスの接続/未接続状態を通知します。 • XCD0 端子(PORT11) • XCD1 端子(PORT12) • XChgInt 端子(PORT10) XChgInt 端子の替わりに、下記 ChgInt ビットを代用できます。 • ATA task file registers の Status レジスタ bit1(ChgInt ビット) 各挿抜端子とビットの仕様を以降に記述します。 2.7.6.1.1 XCD0 端子 Main CPU が Master の接続/未接続状態を取得するために使用します。 ストレージデバイスが接続されている状態で Low、接続されていない状態で High に なります。ただし、Sleep の状態ではストレージデバイスの挿抜が発生しても変化し ません。Wakeup 時、Sleep 直前の状態を反映します。 接続台数設定が 1 台モードの場合は、本端子と XCD1 端子は同じ動作となります。 2.7.6.1.2 XCD1 端子 Main CPU が Slave の接続/未接続状態を取得するために使用します。 ストレージデバイスが接続されている状態で Low、接続されていない状態で High に なります。ただし、Sleep の状態ではストレージデバイスの挿抜が発生しても変化し ません。Wakeup 時、Sleep 直前の状態を反映します。 接続台数設定が 1 台モードの場合は、本端子と XCD0 端子は同じ動作となります。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 25 2. 機能説明 2.7.6.1.3 XChgInt端子 Main CPU がストレージデバイスの挿抜発生を取得するために使用します。初期状態 は High です。挿抜発生時に Low になり、表 2-14 に記載したコマンドを受信すると High になります。2 台モードで両方のストレージデバイスに挿抜が発生した場合、 Master/Slave の双方がコマンドを受信する必要があります。 詳細は「2.7.6.3.3 XChgInt 端子が Low の時に挿抜された場合の動作」を参照してください。 また、以下の期間にストレージデバイスの挿抜が発生しても Low にはなりません。 • システムリセットまたは Hardware Reset を検出してから、以下のコマンドを受信 するまでの期間 ATA モードの場合: IDENTIFY DEVICE コマンドを受信 ATAPI モードの場合: IDENTIFY PACKET DEVICE コマンドを受信 • Sleep 状態(Sleep 中に挿抜が発生した場合、Wakeup 時に Low となる) 本端子では、ストレージデバイスの接続/未接続状態を判断することはできません。 接続/未接続状態は、表 2-14 に記載したコマンドで状態を確認するか、 XCD0/XCD1 端子を確認することで判断してください。 表 2-14 ATA/ATAPI モード ATAPI モード コマンド発行により取得できる接続状態 コマンド IDENTIFY PACKET DEVICE Word0:bit8~12 (Device Type) INQUIRY Byte0:bit0~4 (Device Type) IDENTIFY DEVICE Word60~61 (Total LBA) GET MEDIA STATUS ATA モード データ位置 READ/WRITE 系コマンド READ SECTOR(S) READ SECTOR(S) EXT READ DMA READ DMA EXT READ MULTIPLE READ MULTIPLE EXT READ VERIFY SECTOR(S) READ VERIFY SECTOR(S) EXT WRITE SECTOR(S) WRITE SECTOR(S) EXT WRITE DMA WRITE DMA EXT WRITE MULTIPLE WRITE MULTIPLE EXT Error Register Error Register 値 状態 1Fh 以外 接続 1Fh 未接続 1Fh 以外 接続 1Fh 未接続 0000h 以外 接続 0000h 未接続 02h と 20h 以外 接続 20h (MC:Media Change) 接続:デバイス挿入 直後 1 度だけ通知 02h (NM:No Media) 未接続 02h と 20h 以外 接続 20h (MC:Media Change) 接続:デバイス挿入 直後 1 度だけ通知 02h (NM:No Media) 未接続 ※ Media Change と No Media は、ATA task file registers の Error レジスタにあるビットです。 詳細は、ATA/ATAPI-4、5、6 規格を参照してください。 26 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.6.1.4 ATA task file registersのStatusレジスタ bit1 ATA/ATAPI 規格との差分について説明します。レジスタの詳細については、 「3 レジスタ」を参照してください。 Status レジスタの内、ATA/ATAPI 規格上で廃止された bit1 を挿抜通知ビット ChgInt にしています。このビットは、論理が反転している以外は XChgInt 端子と同じ仕様 になります。動作の詳細は、「2.7.6.1.3 XChgInt 端子」を参照してください。Status レジスタを表 2-15 に示します。 表 2-15 レジスタ Status ATA task file registers(Status) bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 BSY DRDY DF # DRQ Obsolete ChgInt ERR Obsolete : 廃止されたビット(0 固定) # : コマンドに依存するビット 2.7.6.2 ↑ XChgInt 端子が High の時 0、Low の時 1 となります 挿抜端子の使用方法 Main CPUは、以下いずれかの方法で挿抜の検出を行うことができます。 XCD0/XCD1 端子を割り込み信号として使用する場合は、Main CPU の割り込み検出を立ち上 がり/立ち下がりの両エッジ検出にしてください。また、2 台モード時、XChgInt 端子を割り 込み信号として使用する場合は、Main CPU の割り込み検出をレベル検出にしてください。 • XCD0/XCD1 端子を使用する XCD0/XCD 1 端子を監視し、信号の状態を取得することで接続状態/未接続状態を 判断する ※ XCD0/XCD 1 端子を割り込み信号として使用する場合は、立ち上がり/立ち下 りの両方で割り込みを検出する必要があります。 • XChgInt 端子と XCD0/XCD 1 端子を使用する XChgInt 端子を監視し、挿抜の発生を取得する 接続/未接続状態を XCD0/XCD 1 端子により取得する • XChgInt 端子を使用する XChgInt 端子を監視し、挿抜の発生を取得する 接続/未接続状態を ATA/ATAPI コマンドにより取得する(コマンドで取得できる挿 抜情報の詳細は表 2-14 を参照) ※ 2 台モード時、コマンドを発行したストレージデバイスに挿抜の無かった場合に は、もう一方のストレージデバイスにコマンドを発行して状態を取得する必要が あります。 • XChgInt 端子の代わりに ATA task file registers の Status レジスタ bit1(ChgInt ビット)を 使用する ChgInt ビットをポーリングすることで、挿抜の発生を取得する Main CPU は、本 LSI からの挿抜通知を検出した場合、以下の処理を行ってください。 • ATA モードの場合 IDENTIFY DEVICE コマンドを発行し、ストレージデバイスの情報を取得する S1R72U16 Technical Manual (Rev. 2.00) EPSON 27 2. 機能説明 • ATAPI モードの場合 INQUIRY コマンドを発行し、ストレージデバイスのデバイスタイプを取得する READ CAPACITY コマンドを発行し、ストレージデバイスのセクタ数とセクタサイ ズを取得する 2.7.6.3 挿抜端子の動作仕様 各状態における挿抜端子の動作について説明します。 2.7.6.3.1 ストレージデバイスが挿抜された場合の基本動作 ストレージデバイスが挿抜された場合の、挿抜端子と ChgInt ビットの基本動作を図 2-15 に記載します。 XChgInt Statusレジスタ bit1 (ChgInt ビット) XCD0 1 0 1 0 XCD1 ① ② ④ ① ストレージデバイスの挿入 ② XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) ③ ストレージデバイスの切断 ④ XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) ※ 接続台数の設定が 2 台モードの場合は、Master ストレージデバイスが挿抜されると XCD0 端子、Slave ストレー ジデバイスが挿抜されると XCD1 端子が変化します。 図 2-15 28 ③ 挿抜端子の基本動作 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.6.3.2 システムリセット及びHardware Resetを検出した場合の動作 システムリセットまたは Hardware Reset を検出した場合、コマンド体系の設定が ATA モードの場合は IDENTIFY DEVICE コマンドを、ATAPI モードの場合は IDENTIFY PACKET DEVICE を受信するまでは、XChgInt 端子と ChgInt ビットは変化しません。 XCD0/XCD1 端子は、コマンドの受信に関係なく、ストレージデバイスの接続/未 接続状態に合わせて変化します。 挿抜端子と ChgInt ビットの動作を図 2-16 に記載します。 XChgInt Statusレジスタ bit1 (ChgInt ビット) XCD0 High/Low 0/1 0 1 XCD1 ① ② ③ ④ ⑤ ① システムリセット/Hardware Reset を検出 このタイミングで、XChgInt 端子は High に、ChgInt ビットは 0 になる。 XCD0/XCD1 端子は、システムリセット検出時は High、Hardware Reset 検出時は検出前の状態を継続する。 ② ストレージデバイスの挿入 コマンド受信前なので、XChgInt 端子と ChgInt ビットは変化しない。 ③ ATA モード:IDENTIFY DEVICE コマンド受信/ATAPI モード:IDENTIFY PACKET DEVICE コマンド受信 これらコマンドを受信する前に挿抜が発生しても、XChgInt 端子と ChgInt ビットは変化しない。 ④ ストレージデバイスの切断 コマンドの受信後、ストレージデバイスが挿抜されると XChgInt 端子は Low、ChgInt ビットは 1 になる。 ⑤ XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) 図 2-16 システムリセット及び Hardware Reset を検出した場合の挿抜端子の動作 S1R72U16 Technical Manual (Rev. 2.00) EPSON 29 2. 機能説明 2.7.6.3.3 XChgInt端子がLowの時に挿抜された場合の動作 XChgInt 端子が Low の時にストレージデバイスが挿抜された場合、XChgInt 端子は Low のまま、ChgInt ビットも 1 のまま変化しません。 XCD0/XCD1 端子は、XChgInt 端子の状態に依存せず、ストレージデバイスの接続 /未接続状態に応じて変化します。 接続台数設定が 1 台モードの場合の動作を図 2-17、2 台モードの場合の動作を図 2-18 に記載します。 XChgInt Statusレジスタ bit1 (ChgInt ビット) XCD0 0 1 0 XCD1 ① ② ③ ① ストレージデバイスの挿入 ② ストレージデバイスの切断 XChgInt 端子は Low、ChgInt ビットは 1 のまま変化しない。 ③ XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) 図 2-17 1 台モードで XChgInt 端子が Low の時にされた場合の挿抜端子の動作 XChgInt Statusレジスタ bit1 (ChgInt ビット) XCD0 0 1 0 XCD1 ① ③ ④ ① Master ストレージデバイスの挿入 ② Slave ストレージデバイスの挿入 XChgInt 端子は Low、ChgInt ビットは 1 のまま変化しない。 ③ Master の XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) Slave の条件が成立していないため、XChgInt 端子は Low、ChgInt ビットは 1 のまま変化しない。 ④ Slave の XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) Master と Slave 両方の条件が成立したので、XChgInt 端子は High に ChgInt ビットは 0 になる。 図 2-18 30 ② 2 台モードで XChgInt 端子が Low の時に挿抜された場合の挿抜端子の動作 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.7.6.3.4 Sleep状態で挿抜された場合の動作 本 LSI が Sleep 状態の場合は、ストレージデバイスが挿抜されても挿抜端子と ChgInt ビットは変化しません。Sleep 状態中の挿抜は、本 LSI の Wakeup と同時に通知しま す。 挿抜端子と ChgInt ビットの動作を図 2-19 に記載します。 XChgInt Statusレジスタ bit1 (ChgInt ビット) XCD0 0 1 0 XCD1 ① ② ③ ④ ① Sleep 状態へ移行 ② ストレージデバイスの挿入 Sleep 状態のため、挿抜端子と ChgInt ビットは変化しない。 ③ Wakeup ②で挿入されたストレージデバイスの通知を行う。 ④ XChgInt 端子が High になる条件が成立(High になる条件は「2.7.6.1.3 XChgInt 端子」を参照) 図 2-19 Sleep 状態で挿抜された場合の挿抜端子の動作 S1R72U16 Technical Manual (Rev. 2.00) EPSON 31 2. 機能説明 2.7.7 ダウンロード機能 ダウンロード機能とは、本 LSI の内部 RAM を更新する機能です。DOWNLOAD MICROCODE コマンドを用いて行います。 Main CPU からのコマンド発行は電源投入後、システム初期化時のタイミング(Status レジス タの BSY ビットが 0 になってから)で実行することを推奨します。更新処理を行うとき、接 続されているストレージデバイスを一旦切断します。 ダウンロードに失敗した場合は、DOWNLOAD MICROCODE コマンドに対してエラーステー タスを返します。この時、内部 RAM 上のデータは上書きされていますので、その後の動作は 保証できません。よって、再度ダウンロードを実行してください。 ダウンロードデータにはヘッダが存在し、識別子、配置先先頭アドレス、データサイズ、CRC 値が含まれます。ダウンロードデータの構造を表 2-16 に、DOWNLOAD MICROCODE のコマ ンド形式を表 2-17 に示します。太字の値は固定値です。 表 2-16 ダウンロードデータの構造 種別 Offset ヘッダ 00h 識別子 D2h 01h ダウンロードデータの CRC 値 xxh 02h Reserved 00h 03h Reserved 00h 04h 配置先先頭アドレス(low order) xxh 05h 配置先先頭アドレス xxh 06h 配置先先頭アドレス 00h 07h 配置先先頭アドレス(high order) 00h 08h ダウンロードデータサイズ (low order) xxh 09h ダウンロードデータサイズ xxh 0Ah ダウンロードデータサイズ 00h 0Bh ダウンロードデータサイズ (high order) 00h 0Ch Reserved 00h 0Dh Reserved 00h 0Eh Reserved 00h 0Fh Reserved 00h 10h 更新するデータ xxh : : : : : : : : : xxh パディングデータ データ PAD 内容 値 00h 備考 ヘッダや PAD を含まず、データのみで算出 した値。(※1) TPL(2.8.4 TPL について)の場合は、7E00h を設定する。 Offset 04h:00h Offset 05h:7Eh TPL の場合は、10 の倍数を設定する。 実際に更新するデータを設定する。 DOWNLOAD MICROCODE コマンドは 1 セ クタ単位でしかデータを発行出来ないた め、512 の倍数になるようにパディングデー タを設定する。 ※1 弊社製「TPL 作成ツール」では、自動的に算出されます。 32 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 表 2-17 Register 7 6 DOWNLOAD MICROCODE のコマンド形式 5 4 3 2 Features Subcommand code = 01h Sector Count Sector count (low order) LBA Low Sector count (high order) LBA Mid 00h LBA High Device 1 0 備考 ダウンロードデータを セクタ数で設定する (1 セクタ = 512Byte) 00h 0 0 0 Command S1R72U16 Technical Manual (Rev. 2.00) DEV 0 0 0 0 92h EPSON 33 2. 機能説明 2.8 USB機能仕様 2.8.1 動作概要 本LSIはUniversal Serial Bus Specification Revision 2.0 規格に準拠したUSBホスト機能を実現し ます。ATAPIコマンドでMass Storage Classのストレージデバイスを制御します。 本 LSI の USB 機能は、下記条件で USB デバイスを制御します。 • Bulk Only TransportのMass Storage ClassとHub ClassのUSBデバイスをサポートします サブクラスは ATAPI と SCSI(SubClassCode 値の 01h、02h、03h、05h、06h)に対応 • 以下の USB デバイスは未サポートです Mass Storage Class以外のClass Bulk Only TransportのMass Storage Classの内、サブクラスがUFI(SubClassCode値の 04h) のデバイス CBI TransportのMass Storage Class(USB FDD等) Mass Storage Class規格外のデバイス(Mass Storage Class規格制定前のデバイス等) • 認識可能なストレージデバイスの容量は 2TByte(1K は 1024Byte で計算)以下です • 制御可能なストレージデバイスは 2 台まで、3 台目以降は接続されても認識されません ※ ストレージデバイスが複数 LUN をサポートしている時、ストレージデバイスが 1 台でも LUN1 つに付 き 1 台と判断します。 • USB ハブは 3 台まで接続可能、4 台目以降は接続されても認識されません ※ USB メモリにはハブ機能の含まれているものがあります。これらもハブ台数としてカウントします。 ※ USB ハブには見かけ上 1 台でありながら、ハードウェア的には複数のハブを組み込んでいる製品があ ります。これらは複数のハブとしてカウントします。 • FSのUSBハブを経由してHSストレージデバイスを接続した場合には、HSストレージデバイ スであってもFSストレージデバイスとして認識します • 内部的にディスクリプタの確保領域が不足した場合は、サポートデバイスが接続されても 未サポートデバイスと判断します ※ Configuration Descriptor+Interface Descriptor+Endpoint Descriptorで 256Byte以上になるUSBデバイ ス。あるいは接続している全サポートデバイスのDescriptorが、Interface Descriptor:13 個+Endpoint Descriptor:27 個を超えた場合に、この現象となります(Mass Storage Classであれば充分な領域で す)。 • USB デバイスが NAK を返し続けている間は待ち続けます ※ USB規格ではNAK応答を継続する異常状態に対してタイムアウト等の規定が無いため、タイムアウト処 理は行っていません。Main CPUにてタイムアウトを判断し、リセット動作を行ってください。 34 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.8.2 USBデバイスの検出 本 LSI の USB 機能は、USB デバイスの接続を検出するとサポートの可否を確認します。サポー トするストレージデバイスの場合、制御が可能になります。 チェック方法は以下の通りです。 • TPL「2.8.4 TPLについて」でサポートされているデバイスであること ※ TPLは「2.7.7 ダウンロード機能」により設定可能です。 • Bulk Only TransportのMass Storage Classであること ※ TPLを設定した場合でもこちらは有効です。 • Sub Class が UFI(SubClassCode 値の 04h)でないこと • 制御可能なストレージデバイスがすでに 2 台存在しないこと ※ ストレージデバイスが 1 台でも、複数 LUN をサポートしている場合は既に 2 台存在す ることになります。 USBハブを使ってストレージデバイスを 2 台以上接続する場合、1 台目に検出したストレージ デバイスがMaster、2 台目に検出したストレージデバイスがSlaveとなり、3 台目以降は認識さ れません。この状態でMasterのストレージデバイスが切断されても、Slaveのストレージデバイ スがMasterになることはありません。また、認識されない 3 台目をMain CPUから制御するこ とはできません。 Main CPU ストレージ デバイス LUN 0 S1R72U16 USB Host IDE Device IDE Host USB HUB ストレージ デバイス LUN 0 2台目 ストレージ デバイス LUN 0 3台目 × 2台モード 無視 図 2-20 1台目 2 台接続時 1台目 Main CPU S1R72U16 USB Host IDE Device IDE Host 2台モード USB HUB S1R72U16 Technical Manual (Rev. 2.00) 2台目 ストレージ デバイス LUN 0 3台目 × 無視 図 2-21 ストレージ デバイス LUN 0 1 台目切断時 EPSON 35 2. 機能説明 Main CPU ストレージ デバイス LUN 0 S1R72U16 USB Host IDE Device IDE Host 2台モード USB HUB 図 2-22 36 ストレージ デバイス LUN 0 2台目 ストレージ デバイス LUN 0 3台目 × 無視 1台目 1 台目再接続時 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.8.3 ストレージデバイスの制御 本LSIはMass Storage ClassのBulk Only Transportの規格に準じており、下記条件でストレージデ バイスを制御します。 • CBWのdCBWDataTransferLengthが 0 以外の場合にデータ転送を行います • データ転送の方向はCBWのbmCBWFlagsにあるDirectionの値で判断します 0 : データアウト転送(Host→Device) 1 : データイン転送(Device→Host) • 以下条件の何れかに該当する場合、データ転送終了と判断します CBWのdCBWDataTransferLengthで設定された全てのデータを転送 ストレージデバイスからの応答がショートパケットまたは Zero-Length パケット ストレージデバイスからの応答が STALL データ転送で 3 回連続してパケットエラーが発生 • 以下条件の何れかに該当する場合、Clear Feature リクエストで STALL を解除します データ転送、またはCSWにてSTALLが返って来る データ転送、またはCSWにて 3 回連続してパケットエラーが発生 • 以下条件のどれかに当てはまる場合、無効な CSW と判断する CSWのサイズが 13Byte以外 dCSWSignature が 53425355h 以外 dCSWTagがCBWのdCBWTagと不一致 bCSWStatus が 00h、01h、02h 以外 bCSWStatusが 00h、01hの場合にdCSWDataResidueがCBWのdCBWDataTransferLengthを超 えている(S1R72U16XXXE200 からこの条件は削除されました) • 無効なCSWを取得した、またはCSWの取得自体に失敗した場合、1 度だけCSWの再取得を 試みます • 以下条件の何れかに該当する場合、Reset Recovery を行います(フェーズエラー終了となる) IDE 機能からのストレージデバイスのリセット要求 CBWに対してストレージデバイスからの応答がSTALL CSWのbCSWStatusが 02h CBWに対してストレージデバイスが無応答 Clear Feature リクエストに対してストレージデバイスからの応答でエラーが発生 CSWの取得に 2 回失敗 データ転送で 3 回連続してパケットエラーが発生 S1R72U16 Technical Manual (Rev. 2.00) EPSON 37 2. 機能説明 2.8.4 TPLについて TPLとはTarget Peripheral Listの略であり、サポートするストレージデバイスのリストです。TPL を設定することにより、リストに一致しないストレージデバイス(USBハブを除く)は全て未 サポートデバイスとなります。Embedded Host ComplianceではTPLの実装を定めており、認証 機関にてロゴを取得する際は設定する必要があります。詳細は、『S1R72U16 Embedded Host Compliance Guide』を参照してください。 本LSIでは「2.7.7 ダウンロード機能」でTPLを設定することができます。TPLデータ(1 個) は表 2-18 の構成になります。TPLのデータ数は、表 2-19 に示すリスト形式で最大 44 個です。 45 個以上の設定はできません。 表 2-18 要素 Size (Byte) TPL データの構成(10Byte) 内容 idVendor 2 ベンダ ID idProduct 2 プロダクト ID 値 備考 bcdDevice 2 Device リビジョン bClass 1 クラス ID 08h revision Mass Storage Class bSubClass 1 サブクラス ID 01h、02h、03h、05h、06h ATAPI、SCSI bProtocol 1 プロトコル ID 50h Bulk Only Transport Flag 1 有効フラグ 01h : ベンダ ID 有効 有効フラグは OR 指定で複数設定可能 です 例 1) ベンダ ID とプロダクト ID のみ 有効の場合は 03h 例 2) ベンダ ID、プロダクト ID、クラ ス ID とプロトコル ID が有効の 場合は 53h 02h : プロダクト ID 有効 04h : USB リビジョン有効 10h : クラス ID 有効 20h : サブクラス ID 有効 40h : プロトコル ID 有効 ※ 2Byte のデータは LSB first となります。(ex.1234h の場合、1 バイト目=34h、2 バイト目=12h) ※ 無効な要素は、00h の設定を推奨します。 表 2-19 TPL データのリスト構成 Offset 38 リスト Byte0~9 TPL データ 1 Byte10~19 TPL データ 2 ・・・ ・・・ Byte430~439 TPL データ 44 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.8.5 NSFについて NSFとはNo Silent Failuresの略であり、USB機能にて検出したエラーをMain CPUに通知する機 能です。Embedded Host ComplianceではNSFの実装が定められており、認証機関にてロゴを取 得する際は使用する必要があります。詳細は、『S1R72U16 Embedded Host Compliance Guide』 を参照してください。 NSF には以下の 4 種類があり、本 LSI の PORT14~17 端子で確認することができます。 • Unsupported Device 未サポートの USB デバイスを検出すると発生します。本 LSI の PORT14 端子で確認できま す。 • Too Many Devices 3 台目以降のストレージデバイスを検出すると発生します。本 LSI の PORT15 端子で確認 できます。(接続台数のモード設定に依存せず、1 台モードでも 3 台目以降となります) • Too Many Hubs 4 台目以降の USB ハブを検出すると発生します。本 LSI の PORT16 端子で確認できます。 • VBUS Over Current VBUS の過電流状態を検出すると発生します。本 LSI の PORT17 端子で確認できます。 PORT14~17 端子は NSF が発生すると High になり、解消されると Low になります。発生する 条件や解消タイミングは、以降で説明します。尚、挿抜端子(ビット)の状態は NSF の発生 に依存しません。 2.8.5.1 Unsupported Device 未サポートの USB デバイスを検出すると発生します。未サポートデバイスが全て切断され ると解消します。 表 2-20 USB デバイスの接続状況 ステップ 2.8.5.2 未サポートデバイス 2 台の場合 PORT14 端子の状態 1 未サポートデバイスが接続されてない Low 2 未サポートデバイス A が接続される High 3 未サポートデバイス B が接続される High 4 未サポートデバイス B が切断される High 5 未サポートデバイス A が切断される Low Too Many Devices 3 台目以降のストレージデバイスを検出すると発生します。3 台目以降に検出したストレー ジデバイスが全て切断(1~2 台目の切断は対象外)されると解消します。 表 2-21 ステップ ストレージデバイス 4 台の場合 USB デバイスの接続状況 PORT15 端子の状態 1 ストレージデバイス A、B の 2 台が接続されている Low 2 ストレージデバイス C が接続される High 3 ストレージデバイス D が接続される High 4 ストレージデバイス C が切断される High 5 ストレージデバイス A が切断される High 6 ストレージデバイス D が切断される Low S1R72U16 Technical Manual (Rev. 2.00) EPSON 39 2. 機能説明 2.8.5.3 Too Many Hubs 4 台目以降の USB ハブを検出すると発生します。4 台目以降に検出した USB ハブが全て切 断(2~3 台目の切断は対象外)されると解消します。 表 2-22 USB デバイスの接続状況 ステップ 2.8.5.4 USB ハブ 5 台の場合 PORT16 端子の状態 1 USB ハブ A に B、C が接続されて、合計で 3 台が接続 されている Low 2 USB ハブ D が USB ハブ A に接続される High 3 USB ハブ E が USB ハブ A に接続される High 4 USB ハブ D が切断される High 5 USB ハブ C が切断される High 6 USB ハブ E が切断される Low VBUS Over Current VBUS の過電流状態を検出すると発生し、約 1 秒間経過後、自動的に解消します。 VBUS 過電流が発生した場合は、即座に接続されていた全ての USB デバイスを切断します。 これらは解消時に再び接続されますが、VBUS 過電流が発生した要因が取り除かれない限 り、再発する可能性があります。 40 EPSON S1R72U16 Technical Manual (Rev. 2.00) 2. 機能説明 2.9 開発サポート機能 本 LSI の持つシリアルインタフェースを PC の RS-232 インタフェースに接続することで、以下の 機能を使用できます。 2.9.1 履歴表示機能 本 LSI 内部の実行履歴を PC 上に表示します。これにより、製品開発におけるシステムの簡易 デバッグを行なうことができます。詳細は、『S1R72U16 Development Support Manual』を参照 してください。 2.9.2 USBロゴ認証サポート機能 認証試験の Electrical Test で対応するテストモードへ移行するときに使用します。詳細は、 『S1R72U16 Embedded Host Compliance Guide』を参照してください。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 41 3. レジスタ 3. レジスタ 本LSIは、ATA/ATAPI規格で定義されているATA task file registersを実装しています。Main CPUは、 このレジスタにアクセスすることで本LSIを制御できます。 ATA task file registers の詳細は、AT Attachment with Packet Interface - 4、5、6 (ATA/ATAPI - 4、5、 6)規格書を参照してください。 ATA/ATAPI モードのレジスタ初期値を表 3-1 に示します。 表 3-1 Register Sector Count 42 レジスタ初期値 ATA モード ATAPI モード 01h 01h LBA Low 01h 01h LBA Mid 00h 14h LBA High 00h EBh Device 00h 00h Status 50h 00h EPSON S1R72U16 Technical Manual (Rev. 2.00) Appendix-A. Appendix-A. ATA→ATAPI 変換仕様 ATA→ATAPI 変換仕様 ATA→ATAPI 変換仕様について記述します。 記述方法は以下の通りです。 • ()は固定値、<>は例としての値です。(レジスタの値は、16 進数:xxh 、2 進数:xx で示し ます) • Reserved、Obsolete、PAD、na、obs の値は 0 です。 IDLE ○コマンドの形式 bit 7 6 5 4 3 2 1 0 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs ○処理方法 START/STOP UNIT コマンドに変換します。 bit 7 Byte 0 1 2 3 na obs 6 5 4 3 na 2 Operation Code(1Bh) Reserved Reserved Reserved 4 Power Conditions(0000) 5 6 7 8 9 10 11 ※ IDLE コマンドの Timer period value は未使用です。 S1R72U16 Technical Manual (Rev. 2.00) na Timer period value na na na DEV (E3h) EPSON Reserved Control(00h) Immed(0) FL(0) Format-Layer Number(00) LoEJ(0) Start(1) PAD 43 Appendix-A. ATA→ATAPI 変換仕様 IDLE IMMEDIATE ○コマンドの形式 bit 7 6 5 4 3 2 1 0 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command na na na na na obs na obs DEV na (E1h) ○処理方法 START/STOP UNIT コマンドに変換します。 bit 7 Byte 6 5 0 1 2 3 4 3 2 Operation Code(1Bh) Reserved Reserved Reserved 4 5 6 7 8 9 10 11 Power Conditions(0000) Reserved Control(00h) Immed(1) FL(0) Format-Layer Number(00) LoEJ(0) Start(1) PAD SEEK ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command ○処理方法 SEEK(10)コマンドに変換します。 bit Byte 0 1 2 3 4 5 6 7 8 9 10 11 44 obs LBA obs 7 6 5 na na LBA[7:0] <67h> LBA[15:8] <45h> LBA[23:16] <23h> DEV (70h) 4 3 LBA[27:24] <1h> 2 1 0 Operation Code(2Bh) Reserved Logical Block Address[31:24] <01h> Logical Block Address[23:16] <23h> Logical Block Address[15:8] <45h> Logical Block Address[7:0] <67h> Reserved Reserved Reserved Control Byte (00h) PAD EPSON S1R72U16 Technical Manual (Rev. 2.00) Appendix-A. ATA→ATAPI 変換仕様 STANDBY ○コマンドの形式 bit 7 6 5 4 3 2 1 0 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs ○処理方法 START/STOP UNIT コマンドに変換します。 bit 7 Byte na obs 6 5 0 1 2 3 na Timer period value na na na DEV (E2h) 4 3 na 2 Operation Code(1Bh) Reserved Reserved Reserved 4 Power Conditions(0000) 5 6 7 8 9 10 11 ※ STANDBY コマンドの Timer period value は未使用です。 Reserved Control(00h) Immed(0) Format-Layer Number(00) LoEJ(0) Start(0) FL(0) PAD STANDBY IMMEDIATE ○コマンドの形式 bit 7 6 5 4 3 2 1 0 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command na na na na na obs ○処理方法 START/STOP UNIT コマンドに変換します。 bit 7 Byte 0 1 2 3 4 5 6 7 8 9 10 11 S1R72U16 Technical Manual (Rev. 2.00) na obs DEV na (E0h) 6 5 4 3 2 Operation Code(1Bh) Reserved Reserved Reserved Power Conditions(0000) Reserved Control(00h) Immed(1) FL(0) Format-Layer Number(00) LoEJ(0) Start(0) PAD EPSON 45 Appendix-A. ATA→ATAPI 変換仕様 READ SECTOR(S) ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command ○処理方法 READ(10)コマンドに変換します。 bit Byte obs LBA obs 7 6 5 na Sector Count <98h> LBA[7:0] <67h> LBA[15:8] <45h> LBA[23:16] <23h> DEV (20h) 4 3 LBA[27:24] <1h> 2 1 0 0 Operation Code(28h) 1 Reserved DPO(0) FUA(0) Reserved Obsolete 2 Logical Block Address[31:24] <01h> 3 Logical Block Address[23:16] <23h> 4 Logical Block Address[15:8] <45h> 5 Logical Block Address[7:0] <67h> 6 Reserved 7 Transfer Length[15:8] <00h> 8 Transfer Length[7:0] <98h> 9 Control(00h) 10 PAD 11 ※ READ SECTOR(S)コマンドの Sector Count が 00h の場合は 256 セクタ指定を表すため、READ(10)コマンドの Transfer Length[15:8]は 01h、Transfer Length[7:0]は 00h となります。 READ DMA ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs LBA obs na Sector Count <98h> LBA[7:0] <67h> LBA[15:8] <45h> LBA[23:16] <23h> DEV (C8h) LBA[27:24] <1h> ○処理方法 READ(10)コマンドに変換します。変換内容は READ SECTOR(S)コマンドを参照してください。 READ MULTIPLE ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs LBA obs na Sector Count <98h> LBA[7:0] <67h> LBA[15:8] <45h> LBA[23:16] <23h> DEV (C4h) LBA[27:24] <1h> ○処理方法 READ(10)コマンドに変換します。変換内容は READ SECTOR(S)コマンドを参照してください。 46 EPSON S1R72U16 Technical Manual (Rev. 2.00) Appendix-A. ATA→ATAPI 変換仕様 WRITE SECTOR(S) ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs ○処理方法 WRITE(10)コマンドに変換します。 bit 7 Byte LBA obs 6 5 na Sector Count <12h> LBA[7:0] <43h> LBA[15:8] <65h> LBA[23:16] <87h> DEV (30h) 4 3 LBA[27:24] <9h> 2 1 0 0 Operation Code(2Ah) 1 Reserved FUA(0) TSR(0) Reserved 2 Logical Block Address[31:24] <09h> 3 Logical Block Address[23:16] <87h> 4 Logical Block Address[15:8] <65h> 5 Logical Block Address[7:0] <43h> 6 Reserved 7 Transfer Length[15:8] <00h> 8 Transfer Length[7:0] <12h> 9 Control(00h) 10 PAD 11 ※ WRITE SECTOR(S)コマンドの Sector Count が 00h の場合は 256 セクタ指定を表すため、WRITE(10)コマンドの Transfer Length[15:8]は 01h、Transfer Length[7:0]は 00h となります。 WRITE DMA ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs LBA obs na Sector Count <12h> LBA[7:0] <43h> LBA[15:8] <65h> LBA[23:16] <87h> DEV (CAh) LBA[27:24] <9h> ○処理方法 WRITE(10)コマンドに変換します。変換内容は WRITE SECTOR(S)コマンドを参照してください。 WRITE MULTIPLE ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Sector Count Sector Number(LBA Low) Cylinder Low(LBA Mid) Cylinder High(LBA High) Device/Head Command obs LBA obs na Sector Count <12h> LBA[7:0] <43h> LBA[15:8] <65h> LBA[23:16] <87h> DEV (C5h) LBA[27:24] <9h> ○処理方法 WRITE(10)コマンドに変換します。変換内容は WRITE SECTOR(S)コマンドを参照してください。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 47 Appendix-A. ATA→ATAPI 変換仕様 READ SECTOR(S) EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <76h> Sector Count[15:8] <98h> LBA[7:0] <BCh> LBA[31:24] <56h> LBA[15:8] <9Ah> LBA[39:32] <34h> LBA[23:16] <78h> LBA[47:40] <12h> DEV (24h) Reserved ○処理方法 Sector Count が 0000h 以外の場合は READ(10)コマンド、Sector Count が 0000h の場合は READ(12)コマンドに変換します。 ※ READ SECTOR(S) EXT コマンドの LBA[47:40]、LBA[39:32]は READ コマンドでは未使用です。 【READ(10)】 bit 7 6 5 4 3 2 1 0 Byte 0 1 2 3 4 5 6 7 8 9 10 11 Reserved Operation Code(28h) DPO(0) FUA(0) Reserved Logical Block Address[31:24] <56h> Logical Block Address[23:16] <78h> Logical Block Address[15:8] <9Ah> Logical Block Address[7:0] <BCh> Reserved Transfer Length[15:8] <98h> Transfer Length[7:0] <76h> Control(00h) PAD Obsolete 【READ(12)】 bit 7 6 5 4 3 2 1 0 Byte 0 Operation Code(A8h) 1 Reserved DPO(0) FUA(0) Reserved Obsolete 2 Logical Block Address[31:24] <56h> 3 Logical Block Address[23:16] <78h> 4 Logical Block Address[15:8] <9Ah> 5 Logical Block Address[7:0] <BCh> 6 Transfer Length[31:24] <00h> 7 Transfer Length[23:16] <01h> 8 Transfer Length[15:8] <00h> 9 Transfer Length[7:0] <00h> 10 Reserved 11 Control(00h) ※ READ SECTOR(S) EXT コマンドの Sector Count[15:8]が 00h、Sector Count[7:0]が 00h の場合は 65536 セクタ指定を表すた め READ(12)コマンドへの変換となり、Transfer Length[23:16]は 01h、Transfer Length[15:8]は 00h、Transfer Length[7:0]は 00h となります。 48 EPSON S1R72U16 Technical Manual (Rev. 2.00) Appendix-A. ATA→ATAPI 変換仕様 READ DMA EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <76h> Sector Count[15:8] <98h> LBA[7:0] <BCh> LBA[31:24] <56h> LBA[15:8] <9Ah> LBA[39:32] <34h> LBA[23:16] <78h> LBA[47:40] <12h> DEV (25h) Reserved ○処理方法 READ(10)コマンドもしくは READ(12)コマンドに変換します。変換内容は READ SECTOR(S) EXT コマンドを参照してください。 READ MULTIPLE EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <76h> Sector Count[15:8] <98h> LBA[7:0] <BCh> LBA[31:24] <56h> LBA[15:8] <9Ah> LBA[39:32] <34h> LBA[23:16] <78h> LBA[47:40] <12h> DEV (29h) Reserved ○処理方法 READ(10)コマンドもしくは READ(12)コマンドに変換します。変換内容は READ SECTOR(S) EXT コマンドを参照してください。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 49 Appendix-A. ATA→ATAPI 変換仕様 WRITE SECTOR(S) EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <34h> Sector Count[15:8] <12h> LBA[7:0] <54h> LBA[31:24] <BAh> LBA[15:8] <76h> LBA[39:32] <DCh> LBA[23:16] <98h> LBA[47:40] <FEh> DEV (34h) Reserved ○処理方法 Sector Count が 0000h 以外の場合は WRITE(10)コマンド、Sector Count が 0000h の場合は WRITE(12)コマンドに変換します。 ※ WRITE SECTOR(S) EXT コマンドの LBA[47:40]、LBA[39:32]は WRITE コマンドでは未使用です。 【WRITE(10)】 bit 7 6 5 4 3 2 1 0 Byte 0 1 2 3 4 5 6 7 8 9 10 11 Reserved Operation Code(2Ah) FUA(0) TSR(0) Logical Block Address[31:24] <BAh> Logical Block Address[23:16] <98h> Logical Block Address[15:8] <76h> Logical Block Address[7:0] <54h> Reserved Transfer Length[15:8] <12h> Transfer Length[7:0] <34h> Control(00h) PAD Reserved 【WRITE(12)】 bit 7 6 5 4 3 2 1 0 Byte 0 1 2 3 4 5 6 7 8 9 10 Reserved Streaming( 0) VNR(0) Operation Code(AAh) FUA(0) TSR(0) Logical Block Address[31:24] <BAh> Logical Block Address[23:16] <98h> Logical Block Address[15:8] <76h> Logical Block Address[7:0] <54h> Transfer Length[31:24] <00h> Transfer Length[23:16] <01h> Transfer Length[15:8] <00h> Transfer Length[7:0] <00h> Reserved Reserved 11 Control(00h) ※ WRITE SECTOR(S) EXT コマンドの Sector Count[15:8]が 00h、Sector Count[7:0]が 00h の場合は 65536 セクタ指定を表すた め WRITE(12)コマンドへの変換となり、Transfer Length[23:16]は 01h、Transfer Length[15:8]は 00h、Transfer Length[7:0]は 00h となります。 50 EPSON S1R72U16 Technical Manual (Rev. 2.00) Appendix-A. ATA→ATAPI 変換仕様 WRITE DMA EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <34h> Sector Count[15:8] <12h> LBA[7:0] <54h> LBA[31:24] <BAh> LBA[15:8] <76h> LBA[39:32] <DCh> LBA[23:16] <98h> LBA[47:40] <FEh> DEV (35h) Reserved ○処理方法 WRITE(10)コマンドもしくは WRITE(12)コマンドに変換します。変換内容は WRITE SECTOR(S) EXT コマンドを参照してください。 WRITE MULTIPLE EXT ○コマンドの形式 bit 7 6 5 4 3 2 1 0 Register Features Previous Sector Count Previous Sector Number(LBA Low) Previous Cylinder Low(LBA Mid) Previous Cylinder High(LBA High) Previous Device/Head Command obs LBA obs Reserved Reserved Sector Count[7:0] <34h> Sector Count[15:8] <12h> LBA[7:0] <54h> LBA[31:24] <BAh> LBA[15:8] <76h> LBA[39:32] <DCh> LBA[23:16] <98h> LBA[47:40] <FEh> DEV (39h) Reserved ○処理方法 WRITE(10)コマンドもしくは WRITE(12)コマンドに変換します。変換内容は WRITE SECTOR(S) EXT コマンドを参照してください。 S1R72U16 Technical Manual (Rev. 2.00) EPSON 51 改訂履歴 改訂履歴 改訂内容 年月日 Rev. 頁 種別 内 容 07/05/15 0.10 全頁 07/05/31 0.20 全頁 改訂 目次を別ページに変更し、これにより以降のページ数が変更となる 2 追記 内部状態の通知を追記、以降、2.x の章番号が変更となる 5 追記 リセット後の状態を追記 6 追記 2.5.2 章に次の 1 文追記 2 台モードの場合は、1 台しかストレージデバイスが存在しなくても、Master/ Slave 両方に SLEEP コマンドが発行されないと Sleep 状態へ移行しません。 7 修正 図 2-9 を修正し、Master 時の DASP 信号を追加 8~10 修正 表 2-3~表 2-8 の備考の記述を修正 20 追記 / 修正 2.6.6.2 章に XChgInt 端子、XCD0/XCD1 端子を割り込み信号として使用する場合 の割り込み検出方法について追記し、箇条書きの文面修正 21~ 24 修正 図 2-15~図 2-19 の状態変化の位置を修正 26~31 改訂 2.6 章内の各章の改ページ変更 29 修正 表 2-16 の次の要素名を変更し、値を追加 bDeviceClass → bClass 、 bDeviceSubClass → bSubClass 、 bDeviceProtocol → bProtocol 6 追記 表 2-2 中のコマンド実行状態を示す Status のビットを追加 7 追記 2.5 章に本 LSI が独自に発行するコマンドの説明を追加、以降、2.x 章の章番号変更 12、13 修正 表 2-5 と表 2-8 の記述を合わせる 13、14 修正 表 2-9 と表 2-10 の REQUEST SENSE の記述を修正 22 追記 2.7.5.1 章の説明中に Busy 状態を示す Status のビットを追加 23 追記 2.7.5.3 章に未サポートコマンド時の説明追加、注釈追加 25~31 修正 Status レジスタ bit1 を ChgInt ビットに変更、各端子を挿抜端子に変更 29 追記 図 2-16 中の③に説明文追加 34 追記 / 2.8.1 章にサブクラスの説明を追加、未サポートとなる USB デバイスの記述方法修正 07/07/01 1.00 新規 新規制定 修正 07/10/15 08/03/28 1.10 2.00 37 追記 2.8.3 章に Reset Recovery 時の終了状態の説明を追加 適用範囲 追加 “ご注意”を追加 2 追記 CF 規格との差異にアトリビュートメモリの記載を追加 22 修正 図 2-12 中の記載に DRQ bit=1 を追加 39 修正 2.8.5.1 章の誤記修正 全頁 改訂 記載内容の不備および適切な表現に全面改訂 半導体事業部 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 ドキュメントコード:411135403 2007 年 6 月 作成 2008 年 4 月 改訂