S1R72U16 Technical Manual - Epson Electronic Devices

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 月 改訂