【 秋月 AKI-H8 キットに外バスで HDD を付ける 】 > 「秋月 AKI-H8 キットに 1MバイトSRAM と LCD を付ける」へ > 「★このページはここです」 > 「AKI-H8キットを使って - メモリと液晶とHDDを配線した写真」へ
|
モード6で16ビットデータ幅のCPU外部バスとして、 nCS2エリアで16ビット外部バスにHDDをつけてみたら、うごき出しました。 接続回路は簡単にしたかったので、危なっかしいですがバストランシーバを省略してます (^o^) 。 C-MOS の 74HC シリーズの手に入りやすい IC 3個だけでやってみました。TTL は H8 端子ドライブパワー不足で無理。74HCで秋葉原で手に入るICでむりやりアドレスデコード。 INTRQ ラインは、普通のHDDはホストで10kΩプルアップ(CFカードの場合はメーカー都合(=不勉強メーカー都合)次第でプルダウンになるかも、だから) nDASP はHDDのアクセスのとき、74HCつかって外付けアクセスランプLED点滅のため。 DD[15:0]ラインはH8ホスト側にほんとはプルアップ(10kΩ)必要。でもDD7ラインはプルアップ禁止(→だからDD7ラインだけは電流流し出しプルダウン抵抗必要という話に流れる・・この図ではつけてないけど)。 IORDY は、昔々その昔、ハードディスクが遅くってFDDに毛の生えたレベルの性能のディスクに書いてる途中であふれそうになったらホスト(H8のこと)にnWAIT信号を入力して強制待ちさせてたとき必要だった名残り。OSとかのせるときは邪魔かも。 プロトコルは、ATA/ATAPI-4の PIO で動かしました(下記備考説明も見てください)。 Flash Card メーカーがパラレル True IDE を名乗ってても英語の ATA 標準プロトコル(INTRQタイミング)誤解してつくってるかもしれないのでアメリカ提携メーカーと台湾メーカーが安心。 CPUの外部バスに接続する最も汎用的な形式です、 CPU(AKI−H8)側のアドレス(AD)とATA/ATAPI側のデバイスアドレス(DA)は
HDDのレジスタはnCS2エリアに配置しています。 この回路では、Cプログラムに書く都合で、
A[5:4] = nCS[0:1]に結線しています。
|
【ATA/ATAPI標準のインターフェースプロトコルについて】 |
インターネット公開されている英文ドラフトを、ちゃんと読んで理解することをお勧めします。勉強すれば理解できるように書いてあります。分量は膨大ですが・・・・ オープンマインドのオープンアーキテクチャのアメリカ標準はさすがです。英語が読めれば絶対誤解しようのない、とても丁寧な記述です。趣味でドライブで遊ぶ僕達にも参考になります。 プロトコルをソースコードに書くには、ATA/ATAPI-4の9章の7、8、9がお勧めです。 ATAPIのコマンドコードを使うには、富士山コマンドSFF-8090をお勧めします。 僕はこれらを、自宅の個人趣味で3年くらい日本誤訳して一人で勉強してみました。 なお、ATA/ATAPI 標準委員会は標準書の一部を抜粋して公表する行為を禁止しています。 最近CQ出版社のインターフェース誌7月号にも
ATA/ATAPI
が特集されましたが、僕は参考にしていません。標準書から見て?で、結果オーライのところあったし・・・。 |