200/.02/06 【電子回路編TOPに戻る】
下の写真がAKI-H8開発キットです。下の部品一覧の[2]〜[11]が標準で付いているもので、[1],[12]〜[17]を自分で追加しました。
写真右の部品一覧をクリックすると、各部の説明にジャンプします。
![]() |
[1] 電源入力用コネクタ [2] 電源スイッチ [4] プログラム書き込み用回路 [5] プログラム書き込みモードスイッチ [6] RS232Cポートコネクタ [7] 予備用コネクタ [9] 液晶表示器 [10]PORT2 ディップスイッチS5 [13]PORTA 接続コネクタ [14]PORT2,4 接続コネクタ [15]A/D入力接続コネクタ [16]IRQ0〜4 タクトスイッチ [17]NMI タクトスイッチ |
標準仕様の開発キットは、キットというくらいなので自分で組み立てますが、基板に全てパターンが付いているので、部品を挿してハンダ付けするだけで簡単に作れます。今回は自分で部品を追加しているので、その分、基板のウラ側で配線しています。下の写真左がその様子で、 写真右がAKI-H8/3048Fボードを実装している様子です。
![]() |
![]() |
開発キットでは、電源回路とプログラム書き込み回路、そしてRS232Cポートコネクタがあれば、AKI-H8/3048Fボードにプログラムを書き込むことが出来ます。
それ以外のスイッチ類やLEDランプ、接続コネクタ類は、書き込んだプログラムの動作を確認したり、周辺の機器を動かすために使用します。
以下に、それぞれの部分の回路についてご紹介します。ソフトウエアを作る場合、以下の回路図を眺めながら考えることになりますので、それぞれとても重要です。
[2] 電源スイッチ
開発キットの電源にはDC12V出力用の3端子レギュレータ7812が使用されています。なので、開発キットに加える電圧はDC15V以上くらいが必要です。ちなみに、開発キットに付属の電源装置はDC19V出力です。標準仕様ですと、基板に直接電源ケーブルをハンダ付けしますが、2ピンのピンヘッダ型のコネクタを付けておくと、すっきりします。(+15V,GNDと書かれた部分)
電源スイッチは、回路図のS6になります。電源スイッチがONになると、LED3のランプが点灯して、電源ON状態であることを示します。
C2,C6,C7の平滑用コンデンサを経て、CN1(39,40)からAKI-H8/3048Fボードに、DC12V電源が供給されます。電源GNDは、CN1(37,38),CN2とCN3(1,2)そしてCN4(2)を通してAKI-H8/3048Fボードに接続されています。
AKI-H8/3048ボードを実装するためのコネクタです。CN1〜4の番号が付いています。開発キットとAKI-H8/3048Fとのやり取りは、全てこれらのコネクタ経由で行ないます。CN1〜4のピンファンクションは、2-6.AKI-H8/3048Fのピンファンクションを参照して下さい。
[5]
プログラム書き込みモードスイッチ
プログラムの書き込みには、ブートモード、ユーザーモード、PROMモードなどがあるようですが、開発キットはブートモードに対応しています。上の回路図では、CN4のRES(リセット)端子へのリセット信号供給と、CN4のVPP(フラッシュROM書き込み用電源)へのDC12V電源供給を行なっています。
回路が動作を始めるきっかけは、開発キットの[2]電源スイッチをONにすることから始まります。
DC5Vの電源が印加されてからR2,C3で決まる時間を経過後、インバータICの15番端子がLOWに落ち、トランジスタQ1が通電して、S7スイッチを通ってVPPとMD2にDC12Vが入力されます。この時MD2にDC12Vが加えられブートモードでの動作となります。S7スイッチが、プログラム書き込みモードスイッチです。プログラムを書き込む時だけ、S7をONにしてから電源スイッチをONにします。
同様に、DC5Vの電源が印加されてからR5とC8で決まる時間を経過後、インバータICの10番端子がLOWに落ち、11番端子がHIGHになって、CPUのリセットが解除されます。
マニュアルには、RES端子とVPP/MD2端子の信号タイミングは、「モードプログラミングセットアップ時間を満足する必要がある」などと書かれていますが、どういうタイミングなのか突っ込んで調べてはいません。(良く読んでいないので...。)ただ、時定数からみて、VPP/MD2端子にDC12Vを加えて充分時間が経ってから、リセットを解除している様子です。(だいぶアバウトな説明ですみません)
[7] 予備用コネクタ

CN5はDsub25ピンのメス座になっていて、CN4のRxD1とTxD1からAKI-H8/3048Fボードと通信を行なうことが出来ます。CN5のピンファンクションはモデムと同じなので、Dsub25ピンのモデムケーブルでパソコンと接続できます。
AKI-H8/3048Fには、RxD0とTxD0の、もう一つのシリアルポートが付いていますが、標準ではどこにも接続されていないので、[7]予備用コネクタ(Dsub9ピンメス座)に立ち上げておいてもいいかもしれません。
ちなみに、RxD1とTxD1は、ブートモードでプログラムを書き込む時に、パソコンと通信を行なうための指定されたポートでもあります。書き込み時にパソコン側の通信速度が2400bps/4800bps/9600bpsのいずれかであれば、自動的にパソコンに合わせて通信してくれます。

AKI-H8/3048Fボードのポート4の4,5,6,7BITを、押ボタンスイッチS1〜S4に接続しています。スイッチを押すことにより、各BITがLOWレベルに落ち、手を離すとHIGHレベルに戻ります。

16文字 x 2行分の英数字、記号、カタカナ文字等を表示できる液晶表示器の制御回路です。1文字5x7ドットで表示します。液晶表示器の型名はSC1602BSLB(バックライト付き)です。
CPUからのデータ通信は8BITモードと4BITモードがありますが、開発キットの回路ではD4〜D7の4BIT分をポート3の0〜4BITに接続してあり、D0〜D3はGNDに接続していますので、4BITモードを使用することになります。
RS,E,RWの各端子は制御用で、詳しくはソフトウエア編でご紹介します。VLC端子は液晶表示のコントラスト調整用です。

AKI-H8/3048Fボードのポート2の0〜7BITを、押ボタンスイッチS5の1〜8BITに接続しています。スイッチをONにすることにより各BITがLOWレベルに落ち、OFFにするとHIGHレベルに戻ります。
実はこの回路に、外部からデータを入力するために後からコネクタを追加しました。この後の[14]PORT2,4 接続コネクタの項目を参照して下さい。

AKI-H8/3048Fボードのポート5の0BITと1BITを、LED1と2に接続しています。ソフトウエアでこのBITを1にするとLEDランプが点灯し、0にすると消灯します。

プログラムの動作確認を行なうために、8BIT分のLEDランプが付いていると非常に便利なので、自分で追加しました。
AKI-H8/3048Fボードのポート1の各BITを、LED0〜7に接続しています。ソフトウエアでこれらのBITを1にするとLEDランプが点灯し、0にすると消灯します。

AKI-H8/3048FボードのポートAの各BITを、主に外部に対する出力ポートとして使用するために、コネクタに立ち上げました。

PORT2は、[10]PORT2 ディップスイッチS5の標準回路からパラレルに配線しています。なので、追加したP2-0/3とP2-4/7のコネクタから信号を入力しようとする場合には、S5のディップスイッチはOFFにする必要があります。
PORT4の0〜3BITはもともと未使用なので、そのままコネクタP4-0/3に立ち上げます。

A/D変換のアナログ入力AN0〜AN3を個別のコネクタに立ち上げています。AVCCとAVSSはアナログ用の電源とGNDで、AREFはアナログ基準電圧です。今回の回路では、AVCC=AREF=VCC=DC5Vとし、AVSS=VSS=GNDとしています。上図左のように、各A/D入力コネクタにボリューム(ポテンショメータ)を接続すると、ボリュームツマミの位置に該当する10BITの2進データを得ることができます。

IRQは、外部からの割込み要求を受け付けるための端子です。本当なら外部と接続させるためにコネクタに立ち上げる必要があると思いますが、ひとまず割込みプログラムの学習用に、押ボタンスイッチに接続しておきます。

NMIとはプログラムでマスク(無視)できない割込み要求のことで、最優先の処理を行なうためのきっかけとなります。例えば電源が落ちそうになったとき、落ちる前の一瞬に行なわなければならないデータ退避の処理などを行ないます。これも本当ならコネクタに立ち上げたりするところですが、押ボタンに接続しておくだけにします。
ここでのNMIは、モニターデバッガを使うときに、ユーザープログラムを強制的に終了させるためのアボートスイッチとして使用します。
ところで、ご紹介した回路では、PORT2,4を入力ポート、PORT1,3,5を出力ポートとして使用していますが、何を根拠に入力と出力に分けているのでしょう。
PORT2,4,5には、ソフトウエアでプルアップ抵抗を付けたり、外したりできる機能があります。プルアップ抵抗とは、例えば[17]NMI タクトスイッチの回路で入力端子をDC5Vに接続している抵抗のことです。無電圧の接点から情報を入力する場合、この抵抗がないと入力端子の電圧が定まらず、動作不安定となります。PORT2,4,5には、このプルアップ抵抗が内蔵されていて、かつ使用するかしないかを設定できるのです。なので、プルアップ抵抗が設定できるポートは、入力に使用すると有利です。
PORT1,3,6など、その他のポートには、このようなプルアップ抵抗をソフトウエアで設定できる機能がなく、入力ポートとして使用したい場合には、わざわざ抵抗を外付けしなければなりません。したがって、出力ポートとして使用したほうが有利です。
PORT7,8,9,A,Bなどは、BIT制御ができるパラレルポートとしても使用できますが、それぞれA/D変換、D/A変換、IRQ,SERIAL,タイマー出力などの、特殊機能と併用しているため、それらの機能を優先に生かすほうが有利です。
H8-3048F CPUは、100ピンもの端子があり多機能ですが、無駄遣いするとすぐに限界に達してしまいます。少しでも機能を有効に利用できるように工夫も必要になります。