
■ AVRマイコンに ATA ハード・ディスクを接続する ■ |
BASCOM-AVRのAVR-DOSには、ATAタイプのハード・ディスクを接続する、ライブラリが用意されています。
ATmega128のテストボードに、ATA規格40ピンコネクターを用意し、動作テストを行いました。
また、ライブラリの調査中に、「Filesystem Interpreter」と言う、システムモニターが用意されているのを発見しました。
BASCOMのマニュアルにも全く触れられておらず、ネットにも関連記事が見あたりませんが、AVR-DOSの開発用に作られた物らしく、ディスクやメモリーに対するテストが、ターミナルのコマンドラインから行える便利なプログラムです。

ATA ハード・ディスクを接続 |

SDカードを接続 |
回路の概要 |
1.ATmega128テストボード
・ATmega128テストボードについては、下記の記事を参照して下さい。
AVRに外部メモリー(S-RAM)を増設
2.ハード・ディスク・ドライブ
・ドライブは、古いパソコンから取り外した、40GBのディスクを使用しました。
・フォーマットはFAT32で、第1パーティションはウィンドウズの限界値32.768GB、
第2パーティションは残りを割り当ててあります。 (フォーマットはパソコンで行って下さい) ・ドライブセレクトは、マスターに設定します。
・ドライブ用電源は、EVERGREEN ATA & IDE - USB 変換ケーブルに付属の、ACアダプターを
使用しています。
3.シリアル インターフェイス(RS-232C)回路
・パソコン等のターミナル(エミュレータ)に接続します。
・ボーレート = 9600 , パリティ = None , データビット = 8 , ストップビット = 1
|
ソフトウェアについて |
ディスクの制御
・ディスク ファイルの操作は、BASCOM-AVRのBASIC命令で簡単に行えます。
(命令文は、 AVR-DOS 関連の命令 を参照して下さい)
○ ディレクトリを表示するプログラム。
・このプログラムは、コンパイル容量が3,800バイトなので、BASCOM-AVR試用版でもコンパイル
できます。
1.BASCOM-AVRには、ハードディスク用ライブラリがまだ入っておりませんので、CF_HD.lbx
ファイルをダウンロードし、C:\Program Files\MCS Electronics\BASCOM-AVR\LIB\
フォルダ内に保存して下さい。
CF_HD.lbx (BASCOM-AVR 製品版に含まれています)
2.ハード・ディスクのピン設定プログラムを、表示プログラムと同じフォルダに保存して下さい。
ピン設定プログラム、Config_HardDisk_M128.basを日本語訳した物ですから、ピン設定に
変更がある場合は修正して下さい。
Config_HardDisk_M128_JP.bas
3.AVR-DOS設定プログラムを、表示プログラムと同じフォルダに保存して下さい。
AVR-DOS設定プログラム、CONFIG_AVR-DOS.basを日本語訳した物ですから、設定に
変更がある場合は修正して下さい。
CONFIG_AVR-DOS_JP.bas
|
「Filesystem Interpreter」
・「Filesystem Interpreter」は、43KByteもある壮大なプログラムなので、BASCOM-AVR製品版で
コンパイルします。
・製品版をお持ちでない方は、ハードディスク用とSDカード用の、HEXファイルを用意してあります
ので、ぜひお試し下さい。
○ 以下に、「Filesystem Interpreter」の、製品版用コンパイル方法を記載します。
1.BASCOM-AVRには、ハードディスク用ライブラリがまだ入っておりませんので、CF_HD.lbx
ファイルをダウンロードし、C:\Program Files\MCS Electronics\BASCOM-AVR\LIB\
フォルダ内に保存して下さい。
CF_HD.lbx (BASCOM-AVR 製品版に含まれています)
2.下記のメインプログラムを新規のフォルダに保存して下さい。
(フォルダ名は、ドライブ名以降、サブフォルダもすべて英数字のフォルダにして下さい)
Test_DOS_Drive_JP.bas
プログラム内で、ドライブの種類により、設定ファイルを選択して下さい。
('$include文の先頭の"'"を修正します)
3.ハード・ディスクを使用する場合は、下記のファイルをメインプログラムと同じフォルダに
保存して下さい。
ピン設定プログラム、Config_HardDisk_M128.basを日本語訳した物ですから、ピン設定に
変更がある場合は修正して下さい。
Config_HardDisk_M128_JP.bas
4.SDカードを使用する場合は、下記のファイルをメインプログラムと同じフォルダに
保存して下さい。
ピン設定プログラム、Config_MMC.basを日本語訳した物ですから、ピン設定に変更がある
場合は修正して下さい。
Config_MMC_JP.bas
5.下記のCONFIG_AVR-DOS_JP.basファイルを、メインプログラムと同じフォルダに
保存して下さい。
DOS設定プログラム、CONFIG_AVR-DOS.basを日本語訳した物ですから、設定に変更が
ある場合は修正して下さい。
CONFIG_AVR-DOS_JP.bas
6.下記のFS_InterpreterED.basファイルを、メインプログラムと同じフォルダに保存して下さい。
FS_InterpreterED.bas
7.メインプログラム「Test_DOS_Drive_JP.bas」のみを、コンパイルして下さい。
|
○ ファイル・システム・インタープリタ コマンド・マニュアル (PDF版)
FS_InterpreterCMD.pdf
|
○ テスト用、HEXファイル。 (上記の「Test_DOS_Drive_JP.bas」をコンパイルしたものです)
|
|
注意! この図面を使用した、いかなる損害にも責任を負いません。
|

AVR・RAM 実装状態 |

メイン基板 部品面 |

メイン基板 ハンダ面 |
AVRマイコン ATmega128の、ヒューズ ビット書き換え |
・ATmega128は、工場出荷時に、ヒューズ ビットが下記の様になっていますので、変更が必要です。
○ クロック=内蔵RC発振器
○ JTAGインターフェイスが許可。
○ 発振器出力振幅(小) ○ ATmega103互換動作モード。
下記ページの書き換え方法 「6.」を、以下の様に変更して、ヒューズ ビットの書き換えを行います。
ヒューズ ビット書き換え
[ Fusebit98DCBA ] の右欄 [ 100001:Int. RC Osc. 1 MHz; Start-up time:
6 CK + 64 ms; [CKSEL=0001 SUT=10]; default value ] をクリックすると、
右側にプルダウンメニューが現れますから、 [ 111111:Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms;
[CKSEL=1111 SUT=11] ] を選択します。
[ Fusebit High F ] の右欄 [ 0:Enable JTAG ] をクリックすると、右側にプルダウン
メニューが現れますから、[ 1:Disable JTAG ] を選択します。
[ Fusebit High H ] の右欄 [ 1:osc 1 ] をクリックすると、右側にプルダウンメニューが
現れますから、[ 0:osc 0 ] を選択します。
[ Fusebit Extended P ] の右欄 [ 0:ATMEGA103 compatibility mode set ] を
クリックすると、右側にプルダウンメニューが現れますから、
[ 1:ATMEGA128 mode ] を選択します。
|
「Filesystem Interpreter」の使用方法 |
・各種のコマンドが利用できますので、上記のコマンド・マニュアルを参照して下さい。
・コマンドの一例と、動作をご紹介します。

|
・起動すると、ドライブの状態を調べて、ファイルシステム情報を
表示します。
・[AVR-DOS: Ready for commands] のメッセージの後、現在の
アドレスポインタ4桁とコマンド・プロンプ ト [>] が表示され、
コマンドを受け付けます。
・左画面では、[fs 1] パーティション変更コマンドを入力しています。
|

|
・[dir] ディレクトリを表示します。
・[fs 2] パーティションを2に変更します。
・第2パーティションのディレクトリを表示しています。 |

|
・[sd 0] ディスクのセクター番号0を、ダンプ表示します。 |
 |
・[md $1000,256] SRAMの$1000番地から256バイトを、
ダンプ表示します。
・[ed 0,256] EEPROMの$0番地から256バイトを、ダンプ
表示します。 |
|
○パーツの参考資料 ・基板 「秋月電子通商」 片面ガラスエポキシ・ユニバーサル基板 Bタイプ (95x72mm)
・QFP IC変換基板 「サンハヤト」 QFP-83
・SOP IC変換基板 「サンハヤト」 ICB-010 |
|