特集*付録基板で始めるマイコン入門 第9章 簡易パルス・ジェネレータと 周波数カウンタを作りながら学ぶ タイマ機能と外部信号割り込み のテクニック 島田 義人 Yoshihito Shimada 本章では,H8/3694F マイコンのタイマ機能や外部 信号割り込みのテクニックを学びます. タイマを使うと周期的なパルス信号を出力したり, このままでは,モータの回転をなめらかに制御するこ とはできません. しかし,この H と L をすばやく切り替えること デューティ比を変化させた信号を発生させることがで きます.また,外部信号割り込みを使って一定期間に で,中間量の電流が流れているときと同じ状態を作り 出すことができます.このとき,図 1 に示すように, 入力されるパルス数をカウントすることで,周波数カ ウンタを作ることができます. 1 周期に対する H レベルの時間比率(デューティ比)を 変えることでモータの駆動電流の平均値が変わります. これが PWM(Pulse Width Modulation)信号です. PWM 信号を出力する方法 ● タイマ W のしくみ ● PWM 信号とは 電池駆動用の小型 DC モータの回転速度を変える方 PWM 信号は,I/O ポートの出力レベルを H と L に交互に切り替える方法でも生成できますが,タイマ 法を考えてみましょう. 一般的な方法として,電源電圧を変化させることが W を使うともっと簡単に出力できます.タイマ W を PWM モードに設定したときのブロック図を図 2 に示 考えられます.例えば,つなぐ電池の本数を変えれば, します. 1 本(1.5 V)よりも 2 本(3 V)のほうがモータは速く回 り,2 本(3 V)よりも 3 本(4.5 V)のほうがより速く回 システム・クロック (φ) CPU を動作させるための基準クロックです.付録 るというわけです. ところで,H8/3694F マイコンの I/O ポートは,D − マイコン基板には,20 MHz のセラミック発振子が付 いています. A コンバータの機能をもっておらず,H レベル(5 V) プリスケーラ S (PSS) と L レベル(0 V)の二つの状態しか出力できません. システム・クロックφを入力とする 13 ビットのカ 75% 100% 75% デューティ比 0.75 50% 100% デューティ比 0.5 50% モータ駆動 電流の平均値 25% 100% デューティ比 0.25 25% 図 1 PWM 波形と電流の平均 2004 年 4 月号 197 システム・クロック φ=20MHz プリスケーラS(PSS) (φ/8,φ/4,φ/2,φ) TCNTW 入力クロック 設定部 タイマW PWMモード機能 設定部 φ /4 (5MHz) カウンタ・ スタート タイマ・モード・ レジスタW (TMRW) GRA φ /4 選択 セレクタ 比較回路 GRD 比較回路 (0xC350) (0x0000〜0xC350) PWM周期設定 PWM出力設定 タイマ・コントロール・ レジスタW (TCRW) タイマ・カウンタ (TCNT) PWM H 幅設定 PWM出力端子 制御回路 初期出力レベル設定 図2 タイマ W の PWM モードのブロック図 PWM出力 (FTIOD端子) レジスタ名(アドレス):TMRW (0xFF80) ビット 7 6 5 4 3 ビット名 CTS ― ― 初期値 R/W 0 R/W 1 ― BUFEB BUFEA 0 R/W 0 R/W 2 1 0 PWMD PWMC PWMB 1 ― 0 R/W 0 R/W 0 R/W PWMモードC [FTIOC端子] PWMモードD PWMモードB [FTIOD端子] [FTIOB端子] 出力モード選択 0:通常のアウトプット・コンペア出力 1:PWM出力 GRCの機能選択 バッファ動作A 0:インプット・キャプチャ/アウトプット・コンペア・レジスタとして動作 1:GRAのバッファ・レジスタとして動作 GRDの機能選択 バッファ動作B 0:インプット・キャプチャ/アウトプット・コンペア・レジスタとして動作 1:GRBのバッファ・レジスタとして動作 0:TNCTカウント動作停止 カウンタ・スタート 1:TNCTカウント動作実施 図 3 タイマ・モード・レジスタ (TMRW)のビット構成 ウンタで,1 サイクルごとにカウント・アップします. タイマ・カウンタ(TCNT) 16 ビットのリード/ライト可能なアップ・カウンタ が 0 のとき TCNT はカウント動作を停止し, 1 のと きカウント動作を行います.PWM モード D ビット (PWMD)は,出力モードを選択するビットです.この で,入力クロックによりカウント・アップされます. ここでは,タイマ・カウンタにシステム・クロックの ビットを 1 に選択すると PWM 出力モードになりま す. 4 分周 (φ/4)を選択した例を示しています. タイマ・コントロール・レジスタ W (TCRW) タイマ・モード・レジスタ W(TMRW) タイマ・カウンタのスタート制御,FTIOB 〜 主な機能はタイマ・カウンタの入力クロックを選択 し,PWM 出力端子(FTIOA 〜 FTIOD)の初期出力値 FTIOD の出力モード切り替えを行います.図 3 にタ イマ・モード・レジスタのビット構成を示します. を設定します.図 4 にタイマ・コントロール・レジス タのビット構成を示します. CTS はカウンタ・スタート・ビットで,このビット CCLR はカウンタ・クリアで,このビットが 1 のと 198 2004 年 4 月号
© Copyright 2024 Paperzz