Comments
Description
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 ストップ 自己診断パス ケーブル・アセンブリ・タイ プ・インジケータ リセット