Freescale MC68HC908Q

HC08スターター・ボードで MON08 による ISP を行う 1/22/2006
フリースケールの MC68DEMO908QT4 デモボードには、フリースケール社が提唱する MON08 インターフェース用ピンヘッダの実装スペースが用意されています。これは 16ピンのフラットケーブルコネクタを使い、P&E USB MON08 Multilink ,Cyclone PRO などの開発ツールを接続してデバッグおよびフラッシュの書き込みを行うためのものです。
今回のレポートは、HC08スターター・ボード・キット(ただし Ver.2 ではない初期型) に自作MON08 ケーブルを接続して、M68DEMO908QT4 デモボードのフラッシュROM を Normal Monitor Mode によって書き換える実験を行います。いわゆる ISP (In-System Programming) というものです。
● M68DEMO908QT4 デモボードの改造と、MON08
接続ケーブルの自作
どんな改造をしても良いことにしてしまえば、それは何だってできます。ここでは自分に縛りを与えておきます。かっこ良く、「M68DEMO908QT4 デモボードのプリント基板パターンに傷を付けないこと」 としておきます。結果的には、部品を取り外す必要は無く、3個 2個の部品を追加するだけでできました。また、HC08スターター・ボードはまったくの無改造です。ここで、気を付けないといけないことがあります。当機では、トリム値を自動で測定して書き込んでくれるような便利な機能はありません。
さっそく MON08
インターフェースについて調べてみます。ありがたいことに Cyclone PRO USER'S
MANUAL をダウンロードすることができます。QT/QY
のためのインターフェース (P.32) を調べると次のようになっていました。
MC68HC908QY4 の英文データシート MC68HC908QY4/D Rev.5 P.142 に下記の表が載っています。( ここでは / は負論理を表します)
| 1 NC | 2 GND |
| 3 NC | 4 /RST |
| 5 NC | 6 /IRQ |
| 7 NC | 8 PTA0 |
| 9 NC | 10 PTA4 |
| 11 NC | 12 PTA1 |
| 13 OSC1 | 14 NC |
| 15 VDD | 16 NC |
Cyclone PRO USER'S MANUAL には、さらに注意書きがあります。「ユーザー・ボードでは
RESET を VDD に抵抗でプルアップしてください。」
だそうです。M68DEMO908QT4 デモボードの場合は、基板のパターンを追って見ると
PTA3(RST) が MON08 ピンヘッダの 4ピンに接続されていることがわかりました。ですから、その信号を
HC08スターター・ボードの PTA3 につなげば RESET をプルアップしたことになります。しかし、上の表を守ろうとすれば、4ピンは
NC ですから、そこを利用するのは良くありません。素直にユーザー・ボード(この場合は
M68DEMO908QT4デモボード)上でプルアップすることにします。基板のシルク印刷で
U4 と書かれた 8ピン DIP IC 空きスペースがあります。その
1ピンと 4ピンの間に 10kΩの抵抗を実装すると、すっきりします。そして、シルク印刷で
J6 と書かれた 16ピンの空きスペースにピンヘッダを実装します。

↑ U4 のところの抵抗は不要。
ケーブルの自作は簡単です。上の表を見て、GND, RST, IRQ, PTA0, PTA4, PTA1 を同じ名前の信号に接続するケーブルを作れば良いのです。片側は 16ピンの丸ピン ICソケットを使いました。PTB は使わないので 8ピンの丸ピン ICソケットでも構いません。上の表の OSC1 は QT/QY(QB も同じ)の場合は PTA5 に接続します。

↑4番の信号もつなぐこと。
HC08スターター・ボード・キット(ただし Ver.2 に限る)の場合は、新しく マイコンの端子を全て引き出せるコネクタ用の部品実装ランドが追加されているので、もっとスマートなケーブルを使うことができます。
そして気になる電源ですが、Cyclone
PRO USER'S MANUAL(リンク切れ) の
マニュアルを読むと 15番ピンの VDD(Vout) という信号を使ってユーザー・ボードへ電源を供給できるようになっています。ということは、自動電源オンオフのありがたさを享受するためにも、HC08スターター・ボードから
VDD(3V) の電源をユーザー・ボード(ここでは M68DEMO908QT4デモボード)に与える構成にします。上の写真の自作ケーブルは VDD(Vout)
を VDD に繋いでいます。M68DEMO908QT4デモボードの電源スイッチを切っても三端子レギュレータは回路から切り離されませんから、三端子レギュレータの保護が必要です。そのために、シルク印刷で
U2 と書かれた三端子レギュレータの入力〜出力間にダイオードを付けます。基板の裏側に実装しました。三端子レギュレータの入力側(電池側)にカソード、出力側(回路側)にアノードを接続します。ダイオードに流れる電流は、通常使用時はゼロ、MON08使用時の保護として働くときもほとんど流れません。そのため小信号用ダイオードで良いです。(付けなくてもたぶん壊れないと思います。)

M68DEMO908QT4デモボードの改造およびケーブルの自作はこれで完了です。
● 実際に使ってみる
下の写真のように接続して、ごく普通に HC08スターター・ボードを操作すれば良いだけです。非常に簡単に、M68DEMO908QT4デモボード上のマイコンに対してデバッグ、フラッシュ書き込みができます。

● 動作確認
書き込みが終わったら HC08スターター・ボードの電源をオフにして、M68DEMO908QT4デモボードから
MON08 ケーブルを外します。そして9V電池を繋いで、スイッチオン。新しいプログラムに書き換わったでしょうか?
簡単ですが、以上で今回のレポートを終わります。なお、簡単のため Normal Monitor Mode でのフラッシュ書き込みだけを説明しましたが、ICS (In-Circuit Simulation) なども実行可能です。
16ピンの MON08 インターフェースにこだわらなければ、必要最小限の信号だけを使ったコンパクトな ISP (In-System Programming) コネクタが実現可能です。
● 最後に
上記の Cyclone PRO USER'S
MANUAL(リンク切れ) マニュアルには
QT/QY 以外の HC08 ファミリについても説明がありますので、同様にして
QT/QY/QB 以外のマイコンを MON08 経由で ISP
することもできます。
EB615 Engineering Bulletin によると、M68DEMO908QT4 デモボードの初期出荷分に書き込まれた User Monitor には CONFIG1 レジスタに関するバグがあります。EB615 を参照して、改善された User Monitor を今回紹介した MON08 インターフェース経由で書き込むと問題が解決できます。ただし当機ではトリム値を自分で管理する必要があるのでご注意ください。
このホームページで紹介した内容を実施する場合は全て自己責任において行っていただきますようお願いします。
不明点や質問、感想などはこのホームページの掲示板へお願いします。