AKI-H8/3052Fマイコンボードは、プログラムを作って流し込んであげないと何もできません。また、プログラムを作ってもその動きを具体的に見るための周辺回路がないと、動いているのかどうかも分かりません。なにやら厄介なものですが、そのためのマザーボードが秋月電子通商から「AKI-H8マイコン専用マザーボード」としてキットで販売されています。先ずはマイコンボードを触ってみたい、何かをしてみたいという方にはお奨めです。ただし、このマザーボードはAKI-H8/3048Fマイコンボード用の回路になっているため、若干の回路変更が必要になります。ここではその変更内容と、追加で実装した周辺回路についてご紹介します。
1.AKI-H8マイコン専用マザーボード 下の写真が秋月電子通商AKI-H8マイコン専用マザーボードのカスタム例です。写真右の部品一覧の[2]〜[11]がキットに標準で付いているもので、[1][12]〜[17]がTekuRoboで追加した部分です。
標準仕様のマザーボードはキットなので自分で組み立てますが、基板には回路のパターンが付いているので部品を挿入してハンダ付けするだけで簡単に作れます。今回は自分で部品を追加したり変更する部分があるため、基板の裏側で配線しています。配線の様子やマイコンボードを実装した時の様子は以下の写真の通りです。裏面の配線は汚くてすみません... 以下に、各部分の回路についてご紹介します。プログラムを作る場合には、以下の回路図を眺めながら考えることになりますので、それぞれとても重要です。
マザーボードの電源にはDC+12Vを出力する3端子レギュレータ7812が使われています。したがって外部から供給する電圧はDC+15V程度が必要です。TekuRoboでは、今回AKI-H8/3052F専用に、外部にDC+5V電源を接続するように改造しました。上図の赤書き部分が改造箇所です。3端子レギュレータ7812を取り外し、入力と出力をバイパスさせます。これによりAKI-H8/3052Fマイコンボードには、直接DC+5V電源が供給されるようになります。電圧が下がったことにより電源が入っていることを示すためのLEDランプが暗くなるので、抵抗R1の値も変えます。
AKI-H8/3052Fマイコンボードを実装するためのコネクタです。CN1〜CN4の番号が付いています。マザーボードとAKI-H8/3052Fマイコンボートとの信号のやり取りは、すべてこのコネクタから行います。各コネクタの信号の用途(ピンファンクション)は、「AKI-H8/3052Fマイコンボード」のページを参照して下さい。
[4] プログラム書込み用回路
この回路では、FWE端子とMD2端子へのプログラム書込みモード信号の供給と、RES端子への電源リセット信号の供給を行っています。上の回路図で、黒色の部分が秋月オリジナルの回路で、赤色の部分が今回の改造箇所です。
[6] RS232Cポートコネクタ Dsub25ピン Dsu25ピンのメス座コネクタは、AKI-H8/3052FマイコンボードのCN4のRxD1、TxD1と接続されていて、パソコンなどとRS232Cによるシリアル通信を行うことができます。またそのすぐ隣にDsub9ピンのメス座コネクタが付くようになっていますが、今回は単純にDsub25ピンコネクタのRxD1、TxD1とパラレルに接続しています。これは、たまたま手持ちのシリアルケーブルがDsub9ピンだったので、Dsub25ピンよりも使いやすかったというだけのことですが... RxD0、TxD0に接続して、別チャンネルでの通信ができるようにしても良いかと思います。
AKI-H8/3052FマイコンボードのPort4の4,5,6,7BITを押ボタンスイッチS1〜S4に接続しています。スイッチを押すことにより各BITがGNDに落ちてLOWレベルになり、手を離した状態では各BITがオープン状態になります。オープン状態とは何も接続されていない状態です。AKI-H8/3052Fマイコンボード上でもプルアップやプルダウンはされていないため、オープン状態でのレベルはLOWでもHIGHでもない不定状態となります。マイコンとしてはこのスイッチがオープン状態のときにはHIGHレベルと認識させてあげたいところですね。実はこのPort4にはPCR(プルアップコントロールレジスタ)というレジスタを持っていて、H8/3052Fマイコンチップの中で設定によりプルアップさせることができます。つまり外部にプルアップ抵抗を付けてあげる必要がありません。プログラムを作成するときに気をつけましょう。
16文字x2行分の英数字、記号、カタカナ文字などを表示できる液晶表示器の接続回路です。1文字は5x7ドットで表示します。CPUからのデータ通信は8BITモードと4BITモードがありますが、このマザーボードでは液晶表示器のD4〜D7の4BIT分を、AKI-H8/3052FマイコンボードのPort3の0〜3BITに接続してあり、D0〜03はGNDに接続されているため、4BITモードで使用することになります。 RS,E,RWの各端子は制御用で、VLC端子は液晶表示のコントラスト調整用です。
AKI-H8/3052FマイコンボードのPort2のO〜7BITを、ディップスイッチS5の1〜8BITに接続しています。スイッチをONにすると各BITがGNDに落ちてLOWレベルになり、手を離した状態では各BITがオープン状態となります。ただしPort2もPCRレジスタを持っているため、プログラム上でプルアップ設定をしてあげれば、オープン状態をHIGHと認識してくれます。
AKI-H8/3052FマイコンボードのPort5のOBITと1BITに、LED1とLED2を接続しています。プログラムでこのBITを1にするとLEDランプが点灯し、0にすると消灯します。このPort5はLEDを直接駆動することができるPortで、他にもPort1,2,Bの各PortもLEDを直接駆動できます。それ以外のPortではLEDを直接駆動できる電流容量はありませんので注意してください。
プログラムの動作を確認するために8BIT分のLEDが付いていると非常に便利なので追加しています。AKI-H8/3052FマイコンボードのPort1の各BITをLED0〜7に接続しています。プログラムでこれらのBITを1にするとLEDランプが点灯し、0にすると消灯します。Port1も直接LEDを駆動できるPortです。
AKI-H8/3052FマイコンボードのPortAの各BITを、外部機器と接続するためにコネクタに立ち上げました。
Port2は[10]Port2ディップスイッチS5の標準回路から、赤書きの部分をパラレルに配線してコネクタに立ち上げています。なので、追加したP2-0/3、P2-4/7のコネクタを使用して外部機器と接続する場合には、S5のディップスイッチをOFFにしておく必要があります。
A/D変換のアナログ入力AN0〜AN3を個別のコネクタに立ち上げています。AVCCとAVSSはアナログ用の電源とGNDで、AREFはアナログ基準信号です。今回の回路ではAVCC=AREF=VCC=DC+5Vとし、AVSS=GNDとしています。上図左のように各A/D入力コネクタにボリューム(ポテンショメータ)を接続すると、ボリュームツマミの位置に相当する10BITの2進データを得ることができます。
IRQは外部からの割り込み要求を受け付けるための端子です。本当なら外部と接続させるためにコネクタに立ち上げる必要があるかと思いますが、ひとまず割り込みプログラムの学習用に、押ボタンスイッチに接続しておきます。
NMIとはプログラムでマスク(無視)できない割り込み要求のことで、最優先の処理を行うためのきっかけとなります。例えば電源が落ちそうになった時に、落ちる前の一瞬に行わなければならないデータ退避の処理などを行います。これも本当ならコネクタに立ち上げたりするところですが、押ボタンに接続しておくだけとします。このNMIは、モニターデバッガを使うときにユーザープログラムを強制的に終了させるためのアボートスイッチとしても使用します。
本文中でもご紹介していますが、Port2,4,5にはプログラムからPCRレジスタを設定することにより、プルアップ抵抗を付けたり、外したりできる機能があります。プルアップ抵抗とは、例えば[17]NMIタクトスイッチの回路で入力端子を+5Vに吊っている抵抗のことです。無電圧の接点から情報を入力する場合、この抵抗がないと入力端子の電圧が定まらず、動作不安定となります。Port2,4,5には、このプルアップ抵抗が内蔵されていて、かつ使用するかしないかを設定できるのです。なので、プルアップ抵抗が設定できるポートは入力に使用すると有利です。 |