■>サンテックのホームページTOPへ       ■>サンおやじの工作室TOPへ
    工作室
       トランジスタ技術の付録基板にプログラムを書き込む

<工作室に戻る
端子の半田付け(ちょっと便利な端子)
パソコンとH8TinyCPUボードを接続しよう
■トラ技の付属基板にダウンロードしよう

トランジスタ技術の付録基板にプログラムを書き込む

トランジスタ技術の2004年4月号(CQ出版社)H8/3694F特別付録基板付きがついに発売されました。
”サンおやじ”も前から楽しみにしていましたので、早速買ってきて試してみようと・・・・・
そうか!RS232Cのレベルコンバータが無ければダウンロードができない。
それなら「ダウンロードアダプタ(H8シリーズ)」をつないでみよう。
と言う訳で今回は、トランジスタ技術の特別付録基板に「ダウンロードアダプタ(H8シリーズ)」を接続する方法を説明します。

1.接続できる見込みは有るか?

"サンおやじ"が作った「H8Tiny CPUボード」はH8/3672が搭載されています。
そして、トランジスタ技術の特別付録基板はH8/3694Fが搭載されています。品番は違いますが、どちらもH8Tinyシリーズですから、同じように書き込みができるはずです。
ルネサスエレクトロ二クスから出ているCPUにはF−ZTATマイコンと呼ばれるフラッシュROM登載のCPUが有りますが、これらはほとんど同じ方法で書き込みができるため、「ダウンロードアダプタ(H8シリーズ)」はH8Tiny以外にもH8シリーズ・SHシリーズにも接続する事ができます。

2.どうやって接続すれば良いか?

パソコンとH8Tiny CPUボードを接続しよう(レベルコンバータ)」での説明しましたが、H8TinyはE10−0端子をHighにNMI端子をLowにした状態で、電源を与えると自動的にブート書き込みモードになります。
トランジスタ技術の特別付録基板も端子配列が違うだけで、必要な端子は全て出ていますから接続すれば良いだけです。
ピンヘッダを使って図1のように配線します。写真1も参考にして間違えないように配線してください。
逆差し防止のピンを抜くことも忘れずに!


図1 配線図 

直接半田付けしても、「ダウンロードアダプタ(H8シリーズ)」側でコネクタをはずせば良いのですが、「パソコンとH8Tiny CPUボードを接続しよう」で紹介したケーブルを使えるようにするためにピンヘッダにしました。
こうしておけば、ダウンロードアダプタ側から電源を供給する事ができます。
もちろんVcc端子だけでなく、AVccにも供給していますから安心してください。
もちろんダウンロードアダプタを接続した時だけブート書き込みモードになります。

ダウンロードソフトに関してはトランジスタ技術に解説されていますのでそちらを参考にしてください。

あっと、大切な事を忘れるところでした。トランジスタ技術の記事中にも書かれていますが、NMI端子(CN2の6番PIN)を10KΩでPULL UPする事を忘れないで下さい。
”サンおやじ”は先を急いでこのPULL UPを忘れたために、PWM波形が反転すると言う奇妙な現象に悩まされました。
(結局NMIが入って誤動作していただけでした)

さてここまで書いたからには、何かアプリケーションを動かしてみましょう。
”サンおやじ”が設計した「H8Tiny CPUボード」で動いているアプリケーションなら簡単に移植できそうです。

 


写真1

第1章 RCサーボをどうやってコントロールするかで紹介したRCサーボを動かすプログラムは、そのままダウンロードすると動いてしまいました。
クロック周波数が違いますからPWMはその分早くなりましたがRCサーボは問題なく動きました。


写真2
「ダウンロードアダプタ(H8シリーズ)」を使用してプログラムをダウンロードしているところ
電源は(株)秋月電子通商のACアダプタ(NP12−1S0523)

では皆さん頑張ってソフトを作って下さ〜い。。。。。。って、それではあまりに薄情ですね。
では10mS周期で8個のRCサーボを制御するを移植してみましょう。
(詳細は10mS周期で8個のRCサーボを制御するをみてください)

「H8Tiny CPUボード」と付録基板の間でソフト上問題になる違いは、CPUクロックです。
「H8Tiny CPUボード」は16MHz、付録基板は20MHzです。
これによって、タイマ・シリアル等の設定が変わってきます。
他にはループで時間稼ぎをしていると動作しない原因になるのですが、幸い第1章  RCサーボをどうやってコントロールするかを除いて、きちんとタイマを使って時間稼ぎをしていますから問題なさそうです。

変更する箇所を書いておきますから、10mS周期で8個のRCサーボを制御する以外のアプリケーションは各自変更して試してください。

回路図・ソース(KPIT GCC用)・モトローラSのダウンロード(rc8cont_1_cq.lzh)
回路図・ソース(ルネサスHEW3用)・モトローラSのダウンロード(rc8cont_1cq_hew3.lzh)
PC側のプログラム・実行ファイル(servo_out_1.lzh)

3.CPUクロックの違いによる変更箇所

”サンおやじの工作室”で公開しているプログラムで、CPUクロックが変わる事によって影響を受ける箇所は、シリアル通信・タイマ(W・V)の3種類です。
これらは、CPUのクロックを分周してタイミングを作っているため、クロックの違いによって直接影響を受けます。
工作室では現在使っていませんが、この他にも、ウォッチドッグタイマ等が影響を受けます。
また、シリアルやタイマでも外部クロックを使用している場合は、影響を受けません。しかし、どちらも工作室では使っていません。

シリアル通信

シリアル通信は、調歩同期の通信速度を設定する値が変化します。
SCI3では、
SMRCKS0CKS1(BIT0・1)
BRR
の各レジスタが影響を受けます。ソース中でこのレジスタに値を設定している箇所は変更が必要です。

タイマ(W・V)

タイマは、タイマカウンタに設定する値が変化します。またアウトプットコンペアレジスタに設定する値も変化します。
タイマVでは
TCNTV
TCORA・TCORB

が、
タイマWでは
TCNT
GRA・GRB・GRC・GRD

の各レジスタが影響を受けます。ソース中でこのレジスタに値を設定している箇所は変更が必要です。

rc8cont_1_cq.lzhに含まれるソースファイルには、変更が必要な値をファイルの先頭にまとめて定義してあります。
今後公開するプログラムには、以下のようにクロック依存部分をまとめて定義しておきます。
また過去に公開したプログラムも修正時に変更しておきます。
通常きちんとしたプログラマなら必ずこのように定義をまとめて書いてあるものですが、・・・・
サンおやじの場合はアマグラマなので、(これでお金をもらわないのでプロではない?)勘弁してください。

/**************************/
/* クッロクに依存する値 */
/**************************/
/*16MHz
#define TW_SET_5MS  45536
#define PLUSE_MIN   2000
#define PLUSE_STEP  26
*/
/*20MHz*/
#define TW_SET_5MS  40536
#define PLUSE_MIN   2500
#define PLUSE_STEP  33


端子の半田付け(ちょっと便利な端子)
パソコンとH8TinyCPUボードを接続しよう
■トラ技の付属基板にダウンロードしよう