Freescale MC68HC908Q
CQ出版へ提出した原稿をホームページで公開してもよいということで、編集部の方に確認を取りました。遅くなりましたが、役に立つと思いますので
PDFデータを公開します。内容に関しては情報が古い部分もありますが、発表当時の内容そのままということでご了承ください。マイコンに関する図版について、フリースケール・セミコンダクタ・ジャパンの許可も頂いています。
トランジスタ技術編集部さま、ならびにフリースケールさま、ありがとうございます。
2005年11月号原稿
↑クリックすると原稿を読むことができます。[4/23/2007]
2005年11月 本機の上位互換である HC08スターター・ボード を公開しました。
HC908Qプログラマを使った開発の始め方は、HC08スターター・ボード・キットの使い方 [1]〜[4] を参考にしてください。
HC908Qプログラマの製作 2/21/2005
これは 2005年 2月に書いた内容を 2005年 7月に更新したものです。
CQ出版社トランジスタ技術 2005年 11月号に掲載されました。
目次より
無償のCコンパイラで開発できる8/16ピンDIPマイコン
HC908Qの概要とCodeWarrior対応プログラマの製作 :川野 亮輔
コラム HC08ファミリの開発環境の特徴
コラム 開発ソフトウェアCodeWarriorの入手方法
コラム デバイスの入手方法

● イントロダクション
特別なパーツを使わずに作れる HC908Q自作プログラマと、純正C言語統合開発環境
Metrowerks CodeWarrior 無償版を使って実際にフラッシュROM
へ書き込む方法を簡単に説明します。
トランジスタ技術に掲載した内容では、全体的にさらに詳しく解説しています。
● 特徴
1.対象デバイスは次の通り (それぞれのDIPパッケージ品)
Aサフィックス品も含む。
MC68HC908QT1/MC68HC908QT2/MC68HC908QT4 (8ピンパッケージ)
MC68HC908QY1/MC68HC908QY2/MC68HC908QY4 (16ピンパッケージ)
MC68HLC908QT1/MC68HLC908QT2/MC68HLC908QT4
(8ピンパッケージ)
(5/15/2005追記)
MC68HLC908QY1/MC68HLC908QY2/MC68HLC908QY4 (16ピンパッケージ)
(5/15/2005追記)
MC908QB4/MC908QB8/MC908QY8
(16ピンパッケージ) (7/18/2005追記)
2.シリアルポート経由でパソコンと接続 (市販USBシリアル変換ケーブルの中には
使用可能なものもある)
3.電源は単三乾電池2本 で取り扱いが容易。(書き込み器の電源は
3V だが、
書き込まれたデバイスの動作環境は 3V でも 5V でも使用可能)
4.メトロワークス社の統合開発環境 CodeWarrior
for HC(S)08 Special Edition
V.3.1 (無料版)で C言語による 16KB までのプログラム開発〜書き込みが可能
5.シリアルポートの制御線の一つである DTR (Data
Terminal Ready) を利用すること
によってプログラム書き込み時の VDDオンオフ操作を自動的に行うことが可能
6.乾電池3V電源のため低電圧デバイス
HLC908Q シリーズの書き込みも可能。
(5/15/2005追記)
● 回路図
● DTR制御線によるVDD自動オンオフ (7/18/2005追記)
パソコンの9ピンシリアルポートの4番ピンは
Data Terminal Ready(DTR) という制御信号です。CodeWarrior
に組み込まれたフラッシュプログラミングソフトウェアには、この信号を使って書き込み対象デバイスの
VDD を自動的にオンオフさせフラッシュROMの書き換えを進行するモードが用意されています。
和文データシートの図9-3.「モニタ・モード回路(外部クロック・高電圧要)」と、アプリケーションノート「AN2317
Low-Cost Programming and Debugging Options for M68HC08 MCUs」のFigure
5. Simpler Monitor Mode Circuit を参考にして設計をしましたが、そのままでは自動オンオフに対応していないためフラッシュ書き換えのときに何度も電源を手動でオンオフしなければなりません。そこで最終的な回路では改良を施して、自動的に
VDD のオンオフ制御が行われるようにしています。その甲斐あって市販プログラマと比較しても操作性に遜色がありません。
● 回路設計のポイント (7/18/2005追記)
DTR の電圧はオフ時 -5.5V以下、オン時
+5.5V以上が入力されるものとして設計しました。
ポイント1 VDD(+3V)
のオンオフ制御回路 (7/18/2005追記)
まず基本の動作ですが、DTR がオンのときにトランジスタ
Q1 がオンして VDD(+3V) が入ります。Q1 の C-E 間の電圧降下は実測で約60mVと気にならないレベルでした。MOS-FET
を使えばさらに小さな電圧降下で済みますが、電池駆動のため電圧にそこまでこだわる必要もないと考えトランジスタを採用しています。DTRオフ時は
-15V〜-5.5Vの電圧が印加されるため、VDD(+3V)に負の電圧が現れないようにダイオード
D2を付けています。
ポイント2 モニタモードエントリ電圧回路 (7/18/2005追記)
本プログラマでは,和文マニュアルで VTSTモニタモード(英文マニュアルでは
Normal Monitor Mode)と呼ばれる最も汎用性の高い方法でモニタモードにエントリさせます。そのために
IRQ(PTA2) ピンに VTST電圧を与える必要があります。データシートには
9.1V のツェナーダイオードを使った例が載っていますが、IRQ(PTA2)
の絶対最大定格が 9.1V ということを考慮するともう少し低めのツェナーダイオードを使う方が安心です。VDD=3V
でのモニタモードエントリ電圧の動作電圧が最低で
VDD+2.5V、最高で VDD+4V ですから 6.2V のツェナーを選びました。なお、IRQ(PTA2)
ピンに流れ込む電流は実測で約 16μA であり DTR
が 5.5V〜6.2V のときは R6 での電圧降下がほとんど無いため
DTR の電圧がそのまま IRQ(PTA2) ピンに入ります。DTR
オフ時は IRQ(PTA2) に負の電圧がかかるため R6 を通して負の注入電流が流れます。もし仮に
D3が無いとすると、DTR が -15V のとき IRQ(PTA2) に流れる電流は
約 -1.5mA です。これはデータシートの DC injection
currents の ±2mA に収まっていますし実際には D3 が順方向になりますから電流がそちらにも分散します。心配なら
D3 と並列に順方向電圧の低いショットキバリアダイオードを付けるとさらに安心です。
ポイント3 電源スイッチ (7/18/2005追記)
2連のスイッチを使って POWER OFF 時に DTR を切り離すようにしています。これは、もしフラッシュ・プログラミング・ソフトウェアを手動による
VDDオンオフの設定にしたときに、DTR がオンのままとなり、VDDに電圧が回り込んで完全にオフにならず、フラッシュの書き換えに失敗することから防ぐのが目的です。
上記のポイント2・ポイント3は、2005年 10月に新規設計した HC08スターター・ボード でさらに改良済みです。
● 使い方(準備)
CodeWarrior for HC(S)08 Special Edition Ver.5.1 と HC908Qプログラマを使う場合の開発の始め方は、HC08スターター・ボード・キットの使い方 [1]〜[4] を参考にしてください。
(これより下の情報は古いです。)パソコンには
CodeWarrior for HC(S)08 Special Edition V.3.1
がインストールされているものとして説明します。
1.HC908Qプログラマの POWER スイッチがオフになっていることを
確認して、単三乾電池2本を入れます。
2.HC908Qプログラマとパソコンのシリアルポートを、ストレート結線の
シリアルケーブルで接続します。
3.HC908Qプログラマのソケットのレバーを上げて、マイコンを1個だけ
正しく挿入し、レバーを下げて固定します。(上の写真のように16ピン
デバイスの場合はソケットの下側に詰めて、8ピンデバイスの場合は
上側に詰めて挿入します。)
● 操作
ここでは、CodeWarrior for HC(S)08 が初めてではないという前提で説明します。プログラマの使い方の説明ですから中身は何でもよいので、新規プロジェクトのサンプルを書き込んでみましょう。(書き込んだ後で実際に動かす確認は行いません。)
トランジスタ技術に掲載した内容では、アセンブリ言語ではなくC言語を選択しています。また、簡単なテストボードを用いて動作確認を行っています。
1.まず New... のボタンをクリックします。
2.HC(S) New Project Wizard を選びます。
3.Project Name と Location を適当に決めて、OK を押します。
私は C:\Documents and Settings\ryosuke\My Documents
\CW08\prg_test1 というフォルダに prg_test1
というプロジェクトを
作りました。
4.Derivatives を選んで「次へ」を押します。私は今回は
MC68HC908QY4
を選びました。
5.Assembly だけにチェックを入れて「次へ」を押します。
6.Absolute Assembly を選んで「次へ」を押します。
7.P&E Hardware Debugging だけにチェックを入れて「完了」を押します。
8.Sources のフォルダの絵の下にある main.asm をダブルクリックして見てみると、
フィボナッチ数を計算するサンプルプログラムが入っていました。
結果はアキュムレータに入るのですが、今回は書き込みの練習なので
内容は気にしないことにします。
9.Make のボタンを押します。エラーは出ないはずです。
10.最初ですので、デバッガの通信条件を設定する画面を出す目的でわざと
プログラマの電源を入れずに Debug ボタンを押してください。
Attempting to contact target and pass security... という画面が出たはずです。
11.そこで Target Hardware Type を Class 1 -Motorola ICS
Board with processor
installed.Emulation connection ok.(Power controlled via DTR)
にします。これが
書き込み時の VDDオンオフを DTR を利用して自動的に行うための設定です。
その横の Advanced を押すとパワーダウン、パワーアップの時間が設定できます。
私のところではデフォルトの Tpd = 250ms Tpu =
500ms で問題なく使用できました。
12.シリアルポートが正しく選択できていない場合は、Close
Port または Refresh
List をクリックしてから Serial Port を選択し直してください。もしも
USB シリアル
変換ケーブルを使っている場合は、パソコン側に差し込む
USB ソケットが変わると
シリアルポートの番号も変わるので間違えないようにしてください。
13.Target MCU Security bytes は IGNORE 〜 にチェックを入れます。
14.以上で通信条件が設定できましたので、もう一度設定内容に間違いが無いか
確認してから、プログラマの POWER スイッチをオンにして、Contact
Target with
these settings... を押します。
15.Erase and Program Flash? というダイアログが出ますので、Yes
を押します。
(注意! ここでYesボタンを押すと、あらかじめデバイスに書き込まれていたトリム値が消去されます。最初はNoをクリックして、$FFC0
番地の内容を読み出して書き留めることをお勧めします。

図のようにデバッガ画面が現れたら、右下の
Memory ウィンドウ内で右クリック、Address を FFC0
と指定してください。FFC0 のすぐ隣に書かれた2桁の16進数が、そのマイコン固有のトリム値です。この例では
$56 がトリム値です。)
16.問題が無ければ、書き込み中のメッセージが消えてデバッガ画面が開きます。
うまく書き込みができたら、デバッガ画面を終了してください。
プログラマの POWER スイッチをオフにして、HC908Qプログラマのソケットのレバーを上げて、マイコンを取り外します。その後はまたレバーを下げておいてください。
これで書き込みは終了です。
次回からはプログラマの POWER スイッチをオンにしてから
Debug ボタンを押すだけで、今回と同じ通信条件で自動的にフラッシュの書き込みが行われます。
もう一つ手間を省くコツを挙げておきます。デバッガ画面の PEDebug メニュー下の Advanced Programming/Debug Options... を開き、Always Erase and Program flash without asking. にチェックを入れて Done を押します。すると次回からは上記15.のダイアログが出なくなるので操作が早くなります。(これは好みに応じて実施してください。今のところ私はダイアログが出るようにしています。)
うまくいかない場合は下記を確認してください。
◆ デバッガ画面の PEDebug メニュー下の Mode: が
In-Circuit Debug/Programming になっていることを確認。
◆ 電池が古くなっていないか確認。(LED は電池交換の目安にはなりません。)
マイコンに与える VDDの自動オンオフ制御に DTR を使うアイディアは有限会社富士設計さんのサイトからヒントをいただきました。ありがとうございました。
このホームページで紹介した内容を実施する場合は全て自己責任において行っていただきますようお願いします。