...

ハード・ディスクへの アクセス手順を理解しよう!

by user

on
Category: Documents
5

views

Report

Comments

Transcript

ハード・ディスクへの アクセス手順を理解しよう!
第2 章
ARM と ATA-SATA 変換基板,HDD を使った製作事例で学ぶ
ハード・ディスクへの
アクセス手順を理解しよう!
芹井滋喜
最近,SATA ハード・ディスク・ドライブが安くなっている
組み込み機器では,今回使用した ARM(Cortex-M3)の
が,SATA インターフェースを内蔵したデバイスはあまり多く
ようなマイコンをよく使用します.また組み込み機器で大
ない.そこで本稿では,ARM マイコンと ATA-SATA 変換基
容量の外部記憶装置が必要になる場合,安価な SATA タイ
板を組み合わせたハードウェアを製作し,実際に SATA ハー
プのハード・ディスクを使用したくなることがあると思い
ド・ディスク・ドライブにアクセスするまでの手順を紹介す
ます.本稿では,このような場合に使用できる,SATA イ
る.ハードウェアやソフトウェアでどのようにハード・ディス
ンターフェースの具体例を紹介します.
クを制御するかを,製作事例を通じて理解できる.ハード・
ディスクを組み込み機器で使うための基本が分かる.(編集部)
1.ハード・ディスク・
インターフェースの概要
筆者は本誌 2008 年 5 月号に付属した ARM(Cortex-M3)
マイコン基板を使い,SATA ドライブのアクセス・テスト
● ハード・ディスク用 IDE を CD-ROM に拡張した ATA
を行いました.本稿ではこの事例を用いて,組み込み機器
ハード・ディスクや CD,DVD などのドライブに使われ
などで,SATA のハード・ディスクを使うとき,どのよう
るパラレルのインターフェースである ATA(AT Attach
な方法があるのかを紹介します.本稿で紹介するソース・
ment)はもともと,ハード・ディスク用のインターフェー
コードは本誌Web ページ(http://www.cqpub.co.jp/dwm/)
スであった IDE をベースに策定されています.IDE は,米
からダウンロードできます.写真 1 は,実際に製作した基
国 IBM 社製パソコンのハード・ディスク用拡張基板の回路
板の外観です.
を,そのままドライブ内部に取り込んだような回路構成に
デバッグ用の
シリアル・ボード変換基板
ATA-SATA
変換基板
ARMマイコン
搭載基板
ATA(IDE)40ピン・ケーブル
写真 1
ARM マイコンからSATA ハード・ディスクを制御
するための装置
今回作成した CPU 基板から SATA ハード・ディスク・
ドライブにアクセスするための装置の外観.CPU 基板
には本誌 2008 年 5 月号付属のARM 基板(STM32F103)
を,SATA との接続には ATA-SATA 変換基板を使用し
ている.ATA インターフェースは,ARM 基板の40 ピン
の拡張コネクタがほぼそのまま利用できる.
Keyword
ARMマイコンの汎用入出力ピンからATA(IDE)信号を出力し,
ATA-SATA変換基板を介してSATAハード・ディスクを制御できる
IDE,ATA,SATA,ハード・ディスク,ATA-SATA 変換基板,ARM,リード・セクタ関数,
ライト・セクタ関数,88SA8040
Design Wave Magazine 2008 November
37
なっています.このため,ATA ハード・ディスク・ドラ
イブは,米国 Intel 社 CPU の 16 ビット・バスに接続できる
I/O デバイスです.
ATA ハード・ディスク・ドライブの便利なところは,簡
ATA(IDE)の40ピン・フラットケーブル
ATAコネクタ
単なコマンドでドライブにアクセスできることです.写真
2(a)は,ATA タイプのハード・ディスクと,そのケーブ
(a)ATA(IDE)
ルです.
ATA ドライブは,40 ピンのフラット・ケーブルで接続
でき,一つのインターフェースで 2 台まで接続できます.
表 1 は,ATA ドライブのピン配置です.また表 2 に,
SATAのケーブル
ATA ドライブの信号線の一覧を示します.
SATAコネクタ
初期の IDE 以前のハード・ディスクは,アナログ信号を
制御する必要があり,気軽に使用できるものではありませ
(b)SATA
写真 2
ハード・ディスク・ドライブとケーブルの外観
んでした.IDE ドライブの登場により,アナログ回路と
(a)は 3.5 インチの ATA(IDE)ハード・ディスクと接続ケーブル.接続ケー
ブルには,40 ピンのフラット・ケーブルを使用する.ATA インターフェー
スは,1 本のケーブルに 2 台までの ATA ハード・ディスクが接続できる.
ハード・ディスクの制御のコントローラが,すべてドライ
(b)は 3.5 インチの SATA ハード・ディスクと接続ケーブル.SATA はシリ
アル・インターフェースのため,ATA の接続ケーブルと比較して,非常に細
くて使い勝手のよいケーブルが使える.ATA と異なり 1 : 1 の接続になる.
コマンドで任意のセクタのリード/ライトが行えるため,パ
表1
ブ内に入ったため,非常に扱いやすくなりました.簡単な
ソコンだけではなく組み込み機器でも,気軽にハード・
ATA ドライブのピン配置(4)
ATA ドライブは 40 ピンのコネクタになっており,パソコンからは 16 ビットの I/O デバイ
スとして接続できるようになっている.各信号線の内容は表 2 を参照.
表2
ATA の信号線の機能(4)
実際のピン配置は表 1 の ATA ドライブのピン配置を参照.
方 向
ホスト デバイス
信号名
コネクタ・
ピン番号
ケーブル
芯番号
ケーブル
芯番号
コネクタ・
ピン番号
信号名
RESET#
1
1
2
2
GND
CSEL
―
DD7
3
3
4
4
DD8
CS[1 : 0]#
→
DD6
5
5
6
6
DD9
DD[15 : 0]
←→
DD5
7
7
8
8
DD10
DD4
9
9
10
10
DD11
DD3
11
11
12
12
DD12
DD2
13
13
14
14
DD13
DA[2 : 0]
→
アドレス
→
DMA アクノリッジ
信号名
DASP#
―
信号概要説明
ケーブル・セレクト
チップ・セレクト
16 ビット・データ・バス
デバイス・アクティブ・イン
ジケータまたはスレーブ・プ
レゼント
DD1
15
15
16
16
DD14
DMACK#
DD0
17
17
18
18
DD15
DMARQ
←
DMA リクエスト
GND
19
19
20
20
(KEYPIN)
INTRQ
←
インタラプト・リクエスト
DMARQ
21
21
22
22
GND
→
DIOW#
(STOP)
DIOR#
HDMARDY#
23
23
24
24
GND
DIOR#
(HDMARDY#:
HSTROBE)
25
I/O リード
Ultra DMA データ・インバー
スト中の DMA レディ
Ultra DMA データ・アウト
バースト中の DMA ストロー
ブ
IORDY
(DDMARDY#:
DSTROBE)
27
27
28
28
CSEL
DMACK#
29
29
30
30
GND
INTRQ
31
31
32
32
RESERVED
(注)
DA1
33
33
34
34
PDIAG#
(CBLID#)
DA0
35
35
36
36
DA2
CS0#
37
37
38
38
CS1#
DASP#
39
39
40
40
GND
38
→
HSTROBE
25
26
26
→
GND
IORDY
DDMARDY#
DSTROBE
Design Wave Magazine 2008 November
DIOW#
STOP
←
←
←
→
→
PDIAG#
CBLID#
―
RESET#
→
―
I/O レディ
Ultra DMA データ・アウト
バースト中の DMA レディ
Ultra DMA データ・インバー
スト中の DMA ストローブ
I/O ライト
Ultra DMA データ・バースト
中の DMA ストップ
自己診断パス
ケーブル・アセンブリ・タイ
プ・インジケータ
リセット
Fly UP