TITLE:BTC065 H8/3687Fマイコンボードマニュアル #norelated #contents **概要 [#s16a7902] H8/3687Fマイコンボードは、ルネサステクノロジ製16bit RISC CPU H8/3687Fを搭載した超小型マイコンボードです。小さいながらタイマやA/Dコンバータを内蔵しており、プログラム開発言語にC言語を使用できるマイコンです。 **基本仕様 [#w30864ee] |商品番号 |BTC065 | |PCBリビジョン |E010C | |CPU |[[Renesas HD64F3687FP:http://japan.renesas.com/fmwk.jsp?cnt=h83687_h83687n_root.jsp&fp=/products/mpumcu/h8_family/h8300h_tiny_series/h83687_h83687n_group/]] | |クロック |システムクロック 20MHz&br;サブクロック 32.768kHz | |動作温度 |0~+40℃ | |動作電圧 |DC4.5~5.5V (絶対最大定格 DC6V) 最低動作電圧 DC3.0V (動作を保証するものではない) | |消費電流 |35mA (MAX) | |寸法 |W29×D41mm (参考) | |コネクタ等 |モード切替スイッチ×1、30ピン端子×2、RS232C通信用ピンヘッダ×1、基板裏面にSOICタイプのシリアルEEPROM(X24C256相当)装備(ジャンパにてIICバス切り離し可)、リセットIC装備、リセットボタン×1 | |環境配慮 |RoHS準拠, 鉛フリー半田 | ***外観 [#u4586525] | top | bottom | | #ref(H8_3687F_TOP.png,30%) | #ref(H8_3687F_BOTTOM.png,30%) | ***回路図 [#tca9e513] #ref(E032B.pdf) -ロットによりU2の型番が異なる -U1のNMI及びP85端子はボード上でVCCへプルアップされる ***端子配置・外形 [#secf52ed] #ref(H8_3687F_LAYOUT.png,100%) ***コネクタ・端子・スイッチ等 [#d204f756] ****CN1 [#d854a5cf] -2.5mmピッチ2列×15ピン -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | No. | 端子名 | No. | 端子名 | | 1 | P85 | 2 | P86 | | 3 | P87 | 4 | P20/SCK3 | | 5 | P21/RXD | 6 | P22/TXD | | 7 | P23 | 8 | P70/SCK3_2 | | 9 | P71/RXD_2 | 10 | P72/TXD_2 | | 11 | P71/RXD_2 | 12 | P15/IRQ1 | | 13 | P16/IRQ2 | 14 | P17/IRQ3 | | 15 | P33 | 16 | P32 | | 17 | P31 | 18 | P30 | | 19 | PB3/AN3 | 20 | PB2/AN2 | | 21 | PB1/AN1 | 22 | PB0/AN0 | | 23 | PB4/AN4 | 24 | PB5/AN5 | | 25 | PB6/AN6 | 26 | PB7/AN7 | | 27 | AVCC | 28 | RES | | 29 | TEST | 30 | GND | ****CN2 [#n4016f56] -2.5mmピッチ2列×15ピン -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | No. | 端子名 | No. | 端子名 | | 1 | P67/FTIOD1 | 2 | P66/FTIOC1 | | 3 | P65/FTIOB1 | 4 | P64/FTIOA1 | | 5 | P60/FTIOA0 | 6 | NMI | | 7 | P61/FTIOB0 | 8 | P62/FTIOC0 | | 9 | P63/FTIOD0 | 10 | P24 | | 11 | P76/TMOV | 12 | P75/TMCIV | | 13 | P74/TMRIV | 14 | P57/SCL | | 15 | P56/SDA | 16 | P12 | | 17 | P11/PWM | 18 | P10/TMOW | | 19 | P55/WKP5/ADTRG | 20 | P54/WKP4 | | 21 | P53/WKP3 | 22 | P52/WKP2 | | 23 | P37 | 24 | P36 | | 25 | P35 | 26 | P34 | | 27 | P51/WKP1 | 28 | P50/WKP0 | | 29 | VCC | 30 | GND | ****CN3 [#d30bf305] -2mmピッチ 3ピン -マイコンのP21(RXD)とP22(TXD)端子をRS232Cレベルに変換 -JP1にてRS232Cレベル変換ICとマイコンのP21(RXD)端子を接続及び切断可能(デフォルトで半田ジャンパ済) | No. | 端子名 | I/O | | 1 | TX (RS232C←P22) | O | | 2 | GND | - | | 3 | RX (RS232C→P21) | I | ****JP1 [#hbf22267] -RS232Cレベル変換ICの受信(U1のP21端子とU3のROUT端子間) -出荷時ショート ****JP2, JP3 [#v4ee5e91] -シリアルEEPROM IC(U4)とのIICバス接続(U1のP56,P57端子とU4のSDA,SCL間) -オープン:EEPROM使用不可, ショート:EEPROM使用可 -出荷時オープン ****D1(LED) [#v4e8230c] -マイコンボードに電源を印加すると点灯 ****SW1(スライドスイッチ) [#m72c70e1] -WRITEとあるシルク側に切り替えることでU1のNMI端子とGNDを短絡 -RUNとあるシルク側に切り替えることでU1のNMI端子はVCCへプルアップ ****PB1(プッシュボタン) [#ja8e1c84] -システムリセットIC(U2)のM/R端子とVCC間に接続 -押下:U2のVOUT端子からLOW出力, 解放:U2のVOUT端子はHIGH-Z **各機能の詳細 [#zca6f4af] ***電源 [#v90af883] CN2-29(VCC)とCN2-30(GND)間に安定したDC5Vを供給します。 ***RS232C(CN3) [#yd7fd1cd] #ref(E032B_RS232C.png,50%) CN3にはマイコンのSCIのTXD,RXD端子をRS232Cレベルに変換した信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。~ 接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。 -PCにCOMポートがある場合 ~[[BTE060 RS232C通信ケーブル]] -PCにCOMポートが無く、USBポートがある場合 ~[[BTE075 USB-RS232Cケーブル]]~ [[BTE060 RS232C通信ケーブル]] + [[BTE061D USBシリアル変換ケーブル]] ***スライドスイッチ(SW1) [#xabf7ab8] ****ブートモード(WRITE) [#BOOTMODE] 電源供給前もしくはリセット中にSW1がWRITE側(マイコンのNMI端子がLOW)かつマイコンのP85端子がHIGHの状態で、電源供給もしくはリセット解除されると、マイコンはブートモードになります。このモードはマイコンの内蔵フラッシュROMへプログラムを書き込む際に選択します。書込みにはFLASH WRITERを使用します。 ****ユーザモード(RUN) [#USERMODE] 電源供給前もしくはリセット中にSW1がRUN側(マイコンのNMI端子がHIGH)で、電源供給もしくはリセット解除されるとマイコンはユーザモードになります。このモードはマイコンの内蔵フラッシュROMへ書き込まれたプログラムを実行する際に選択します。 なお、プログラムが実行されている際にSW1をWRITE側にすると、マイコンにNMIが発行されます。 |CENTER:BGCOLOR(red):||c | :idea:|マイコンのP85端子及びNMI端子がマイコンボードの外部に設けられた回路によって端子の信号レベルが想定した論理以外に設定されていると、マイコンは意図したモードに遷移しません。| ***プッシュスイッチ(PB1) [#o4de8c5b] PB1はリセットIC(U2)のマニュアルリセット端子に接続されています。押下されるとリセットICはマイコンのRES端子をLOWにし、放すと規定時間経過後HIGH-Z状態になり装備されたプルアップ抵抗でマイコンのRES端子はHIGHになります。 **開発環境 [#l1a0e3ca] ***GCC Developer Lite [#re5b9ac2] GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~ フルインストールないしH8/3687Fで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ H8/3687Fで使用される主要なコンポーネントを簡単に示します。 -''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]'' ~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。 -''[[FLASH WRITER>GCC Developer Lite#FW]]'' ~ターゲットのフラッシュROM等へコンパイルされたプログラムをCOMポート経由で書き込む。~ USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 -''[[FLASHSimple>GCC Developer Lite#FLASHSimple]]'' ~ターゲットのフラッシュROM等へコンパイルされたプログラムをCOMポート経由で書き込む。~ ここでは詳説しない。 -''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' ~汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。~ USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 -''ターゲットファイル'' ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやSCIを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 ****ターゲットファイル [#s8f6e2c8] [[GCC Developer Lite>GCC Developer Lite]]では複数のターゲット向けの設定を備えています。 #ref(GDL_CompileOption_TargetList.png) 以下は本マイコンボードに対応した設定リストです。 -''H8/3687 (Flash)'' ~ビルドするとマイコンのフラッシュROMで動作させるための.motファイルが作られる。~ ビルドが成功すると、ブートモードでフラッシュROMに書き込むためにFW.exe(FLASH WRITER)の起動を促される。 ****FLASH WRITER [#nd734a83] 様々なマイコンに対応した転送ツールです。 #ref(fw_3664.png,100%) 以下の設定を行い、[[ブートモード>#BOOTMODE]]のマイコンボードとPCをRS232Cケーブルで接続してExecuteボタンを押すと書き込み処理を開始します。 -CPU TYPE:''3664'' -PORT:使用するPCのCOMポート -BaudRate[bps]:19200bps以下 -TimeOut[ms]:1000ms以上 書き込みを開始すると、自動的に以下の順に処理が行われます。いずれのタイミングにおいてもプログレスバーによる進捗状況が表示されます。 +マイコンボードとPCのボーレートを合わせる (TimeOutで指定した時間で時間切れ) +ブートプログラムの転送 +ユーザプログラムの転送 **H8/3687F用ライブラリ [#lb227da1] [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\3687F」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 -''スタートアップルーチン'' ~C言語で作成したプログラムを実行させるために、アセンブラないしC言語で記述された必要最低限の初期化処理プログラムです。~ '''h8crt0.s''' (スタートアップルーチン本体のソースファイル)~ -''リンカスクリプトファイル'' ~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ '''h8rom.x'''~ -''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' ~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ '''3687.h''' (レジスタのマクロ定義)~ -''SCI API'' ~作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。~ 本マイコンには複数のシリアルポートが備わっており、制御方法も多種多様なため、それに応じてライブラリとして提供する通信用APIも多くなっています。~ '''sci~.c''' (SCIを割り込みで使用するAPIのソース群)~ -''EEPROM API'' ~IICバスに接続されたEEPROMへアクセスするAPIです。~ '''eeprom.c''' (APIのソースファイル) -''ライブラリファイル'' ~各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ '''makelib.bat''' (APIをコンパイルし、アーカイブするバッチ)~ '''libadd3687.a''' (makelib.batで作成されるライブラリファイル)~ **サンプルプログラム [#q33f8fda]
(This host) = https://www.besttechnology.co.jp