■ BASCOM-AVR用 USB接続 MCSブート・ローダーの製作 ■


 AVRマイコンへプログラムを書き込む、ブート・ローダーの製作です。
 
 「MCS Bootloader」は、BASCOM-AVRの、[Options]→[Programmer]から選択できる、付属のプログラム書込器の1つです。
 ブートローダー・プログラム自体も、BASICで書かれており、サンプルで公開されています。
 
 今回は、秋月電子の「FT232RL USBシリアル変換モジュール」AE-UM232Rで、BASCOM-AVR用の、USB接続 ブート・ローダー書込器を製作しました。


 ブート・ローダー方式は、あらかじめAVRにブートローダー・プログラムを書き込んでおき、それを利用して、新たなユーザー・プログラムを書き込むもので、以下のような特徴があります。
 
メリット ・USBで、パソコンとの接続が容易。
 
・書込器の製作が簡単。
 
・書き込み速度が速い。
 
・プログラムの書き込み後、すぐに「Terminal Emulator」を起動して、PRINT命令で
 デバッグ中の変数の値を表示したり、計算結果を表示することができる。
 
・時計などの製作時に、めんどうな時刻設定ルーチンを省き、「Terminal Emulator」から
 パソコンのキーボードで設定することもできる。
デメリット ・ブートプログラム機能を持っているAVRチップにしか、書き込みができない。
 
・最初にブートプログラムを書き込むための、書込器(ISPライター等)が必要になる。
 
・AVRのブートベクターのヒューズビットを、書き換える必要がある。
 
・シリアル通信用に、ポートを2つ占有してしまう。 (TXDは別動作と共有可能)
 
・リセット時にブート動作を確認するため、1秒ほどタイムラグが発生する。

 どんな書込器にも一長一短はありますが、書き込み作業の後、ターミナル装置として利用できるところが、とても便利だと思います。


回 路 図  GIF版 MCSbtldCir.gif (108KB)  PDF版 MCSbtldCir.pdf (105KB)

部品配置図  GIF版 MCSbtldPcb.gif (57KB)
   注意! この図面を使用した、いかなる損害にも責任を負いません。



 
 側面

 
USB接続面

 
裏面
 
 
AVR接続面

 
部品面

 
ハンダ面

 
接続ケーブル
(ピンソケットを4Pに加工)


使用方法
 
1.変換モジュール「AE-UM232R」のジャンパーピン
 
 ・「USB POWER」のジャンパーピンは、接続した状態で使用します。
 ・「3.3V / 5V」のジャンパーピンは、書き込みを行うAVR回路の電源電圧に合わせて、
  切り換えて下さい。

2.AVR回路の書き込み用端子
 
 ・書き込みを行うAVR回路に、4ピンのピンヘッダーを用意して下さい。
  (ピン番号の並びは、ATmega88のピン番号と同じにしてあります)

3.ブートローダー・プログラムのコンパイル
 
 ・「BootLoader_JP.bas」をダウンロードし、BASCOM-AVRで開きます。
 ・プログラム内のユーザー設定箇所を、AVR回路に合わせて修正して下さい。
 
  ○ AVRのクロック周波数。
  ○ シリアル通信のボーレート。
  ○ 使用するAVRチップ。
  ○ ブート動作の確認LEDの使用と、接続ポート名。
 
 ・プログラムをコンパイルして、ISPライター等でAVRに書き込んで下さい。
 
  ※注意. このプログラムは、BASCOM-AVR 「試用版]ではコンパイルできません。

4.AVRチップのヒューズビット書き換え
 
 ・ブートローダ容量選択ヒューズ 「BOOTSZ」を、[Bootsize 1024 words] に設定します。
 ・リセット ベクター選択ヒューズ 「BOOTRST」を、[Select BOOT vector] に設定します。

5.パソコンへUSBドライバーをインストール
 
 ・秋月電子の「FT232RL USBシリアル変換モジュール」の説明書に従い、USBドライバーを
  インストールして下さい。
 ・デバイスマネージャー画面で表示される、「USB Serial Port (COMx)」の、COM番号を
  覚えておいて下さい。

6.BASCOM-AVRの書込器(オプション)設定
 
 ・BASCOM-AVRを起動し、メニューバーから、[ Options ]→[ Programmer ]と進みます。
 
 @ Programmerのプルダウンメニューから、[ MCS Bootloader ] を選択します。
 A Serialタグ内の、COM-portのプルダウンメニューから、USBドライバーのインストール時に
   表示された、COM番号を選択します。
 B 同じタグ内の、BAUDのプルダウンメニューから、ブートローダー・プログラムで設定した、
   ボーレートを選択します。
 
     

 C MCS Loaderタグ内の、Boot size1024に設定します。
 D [ Reset via DTR ] と、[ Close programmer window when ready ] のチェックボックスに、
   チェックを入れます。
 
     

 ・[ Ok ] をクリックして終了です。

7.プログラムの書き込み
 
 ・書込器とパソコンを、USBケーブルで接続すれば、自動的に認識されます。
 ・ユーザープログラムをコンパイルし、ツールバーの 「Program chip」 アイコン
  クリックすると、「MCS Bootloader」のウィンドウが開き、書き込みが始まります。
 ・問題がなければ、ウィンドウが自動的に閉じて、書き込み終了です。
 ・[F4]キーでも、同じ動作で書き込みが行われます。
 
        

 ・プログラムによって、書込器を変更したい場合は、$PROGRAMMER命令で、書込器を
  選択できます。
 ・「MCS Bootloader」の場合は、プログラムの冒頭に、下記の命令を加えてください。
     $programmer = 13

        




ターミナル・エミュレーターの使用方法
 
1.起動と設定
 
 ・BASCOM-AVRを起動し、メニューバーから、[ Tools ]→[ Terminal emulator ]と進みます。
 ・「Terminal emulator」画面で、メニューバーから、[ Terminal ]→[ Settings ]と進みます。
 ・下のオプション画面で、「COM port」と「Baudrate」を、ブートローダの設定と同じにします。
 ・残りの設定は、画面の様にして下さい。
 
 ・「Keep Terminal emulator open」のチェックボックスは、ターミナル・エミュレーターの
  通信状態を、継続するかどうかの設定です。
   ○ チェックを付けると、通信は接続状態を保ちますが、ターミナル・エミュレーターを終了
     しないと、ブートローダが使用できなくなります。
   ○ チェックを外すと、ターミナル・エミュレーターを開いたまま、ブートローダで書き込みが
     行えます。
 
     

2.サンプルプログラム
 
 ・下記に、テスト用のサンプルプログラムを用意しました。
        BootTest.bas
 
 ・使用するAVRチップとクロックを修正してコンパイルし、ブートローダで書き込んで下さい。
 ・メニューバーから、[ Tools ]→[ Terminal emulator ]で、ターミナル・エミュレーターを
  開くと、PORT D7に接続したLEDが1秒おきに点滅し、ターミナル画面にテスト文字が
  表示されます。

        




○パーツの参考資料
 ・基板  「秋月電子通商」 片面ガラスエポキシ・ユニバーサル基板 Cタイプ (72x48mm)


   電子工作の部屋 Top へ 前のページへ戻る