MON08規格のピンヘッダを用意すれば、オンボードで書き込みができます。 でも、ピンヘッダを付けられるアプリケーションばかりではありません。 そんな時には、プログラムアダプタで書き込みしてから マイコンを実装しましょう。 この文書では、MON08規格に対応したQT/QY/QB/LB専用の プログラムアダプタの作成方法を紹介します。
まず、HC08での開発環境について考えて見ます。 HC08マイコンにプログラムを書き込もうとすると、 以下のような開発環境が必要になります。
一つ目が、PCで動作する開発ソフトです。 テキストエディタでプログラムを記述し、 コンパイル、アセンブルをしてバイナリのコードを生成します。 さらに、USBまたはシリアルインターフェースを介して プログラムの書き込みを支持します。 HC08では、CodeWarriorというツールが、機能が限定されていますが 無償で提供されています。
二つ目は、開発ツールです。 開発ツールは、開発ソフトから発せられた指示を基に 実際にマイコンの端子電圧を制御してマイコンのプログラムを書き換えます。 この時にマイコンとのインターフェースとして使用されているのが、 16端子のピンヘッダで構成されるMON08インターフェースです。 Multilinkと呼ばれる開発ツールが代表的です。 また、マイコンのデータシートの記述を見て自作をすることもできます。
三つ目は、アプリケーションです。 このターゲットボードとも呼ばれるハードウェアは、 プログラムの開発者が準備します。
プログラムアダプタは、これらのうちの アプリケーションに相当するボードで、 マイコンのプログラムをするためだけにその機能を特化しています。 プログラムを書き込んだマイコンは、 取り外して別のアプリケーションに搭載します。
MON08ピンヘッダは、16ピンで規格化されていますが、 マイコンの品種によって接続する信号線が異なっています。 このプログラムアダプタでは、 よく似た品種である、QTx/QYx/QBx/LB8について対応する 事にしました。
以下の説明文で出てくるピン番号は、すべてDIPパッケージのものです。 他のパッケージではピン番号が異なっている可能性があるので、 注意してください。
Multilinkのマニュアルで このボードで対応しているマイコンについての記述を読むと、 RST*端子は、MON08コネクタとは接続せずにアプリケーション上で プルアップすることになっています。
ところが、これらのマイコンの評価ボードでは、 すべてボードがRST*端子をMON08の4番ピンに接続しています。 この接続方法は、明らかにMultilinkのマニュアルと反するものです。
このプログラムアダプタボードでは、 「評価ボードで正しくプログラムが行われている」という点に 着目して評価ボード準拠の接続方法、 すなわち、RST*端子をMON08の4番ピンと接続する方法を 採用しています。
QTxファミリは、8ピンのマイコンです。 すべてのピンとMON08ピンヘッダを接続します。
QTx | MON08 | MON08 | QTx |
---|---|---|---|
NC | 1 | 2 | VSS (PIN8) |
NC | 3 | 4 | RST* (PIN4) |
NC | 5 | 6 | IRQ* (PIN5) |
NC | 7 | 8 | PTA0 (PIN7) |
NC | 9 | 10 | PTA4 (PIN3) |
NC | 11 | 12 | PTA1 (PIN6) |
OSC1 (PIN2) | 13 | 14 | NC |
VDD (PIN1) | 15 | 16 | NC |
QYxファミリは、16ピンのマイコンです。 このうち、8ピンをMON08ピンヘッダと接続します。
QYx | MON08 | MON08 | QYx |
---|---|---|---|
NC | 1 | 2 | VSS (PIN16) |
NC | 3 | 4 | RST* (PIN8) |
NC | 5 | 6 | IRQ* (PIN9) |
NC | 7 | 8 | PTA0 (PIN13) |
NC | 9 | 10 | PTA4 (PIN5) |
NC | 11 | 12 | PTA1 (PIN12) |
OSC1 (PIN4) | 13 | 14 | NC |
VDD (PIN1) | 15 | 16 | NC |
QBxファミリは、16ピンのマイコンです。 このうち、8ピンをMON08ピンヘッダと接続します。
QBx | MON08 | MON08 | QBx |
---|---|---|---|
NC | 1 | 2 | VSS (PIN16) |
NC | 3 | 4 | RST* (PIN8) |
NC | 5 | 6 | IRQ* (PIN9) |
NC | 7 | 8 | PTA0 (PIN13) |
NC | 9 | 10 | PTA4 (PIN5) |
NC | 11 | 12 | PTA1 (PIN12) |
OSC1 (PIN4) | 13 | 14 | NC |
VDD (PIN1) | 15 | 16 | NC |
よく見ると、全くQYxのピン番号と同じです。 したがって、QBxは、QYxと同じソケットを使用することができます。
LB8は、20ピンのマイコンです。 このうち、8ピンをMON08ピンヘッダと接続します。
LB8 | MON08 | MON08 | LB8 |
---|---|---|---|
NC | 1 | 2 | VSS (PIN2) |
NC | 3 | 4 | RST* (PIN19) |
NC | 5 | 6 | IRQ* (PIN5) |
NC | 7 | 8 | PTA0 (PIN14) |
NC | 9 | 10 | PTA4 (PIN18) |
NC | 11 | 12 | PTA1 (PIN15) |
OSC1 (PIN3) | 13 | 14 | NC |
VDD (PIN1) | 15 | 16 | NC |
マイコンとMON08ピンヘッダの接続方法がわかったところで、 これらの接続を回路図とアートワークにします。 以下の回路図とアートワークは、24PのZIFソケットを取り付けることを 前提として作成しています。 このため、実際のマイコンのピン番号とは異なったピン番号が 割り振られています。
アートワーク図をもとにして、 ユニバーサル基板に配線を行いました。 部品が全く無いため、ユニバーサル基板を使うと どうしても2層の配線が必要になってしまいました。
QTxは左のソケットの上1/3、 QYxは左のソケットの下2/3に実装されます。 LB8は、右のソケットにした合わせで実装されます。
手持ちの部品および予算の都合で、 まだZIFソケットが片方しか実装されていません。 LB8をプログラムするときには、 ZIFソケットを移動させます。 ちょっと、怖いな。
各種、マイコンにプログラムを書き込んで見ました。 以下の記事で使用しています。
記事 | 使用デバイス |
---|---|
キューティーフラッシュ | MC68HC908QT4 |
まあ、ソケットと配線だけの基板なので、 配線間違いさえなければ動きます。
プログラムをするためには、 このプログラムアダプタの他に開発ツールが必要になります。 このサイトでは、Freescale社が販売している 評価ボードを開発ツールとして使用することを提案しています。 評価ボードを開発ツールとして使用する方法については、 別の記事をご覧ください。
2006-01-28 発行