|
1: 2009-06-19 (金) 17:41:56 sho |
| + | 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 サブクロック 32.768kHz | |
| + | |通信機能 |EIA232レベル変換装備 (DBGUのみ) | |
| + | |動作温度 |0~+40℃ | |
| + | |動作電圧 |DC4.5~5.5V (絶対最大定格 DC6V) 最低動作電圧 DC3.0V (動作を保証するものではない) | |
| + | |消費電流 |35mA (MAX) | |
| + | |寸法 |W29×D41mm (参考) | |
| + | |コネクタ等 |モード切替スイッチ×1、30ピン端子×2、通信用3ピンヘッダ (BTC063 RS232C通信ケーブル専用)、基板裏面にSOICタイプのシリアルEEPROM(X24C256相当相当)装備(ジャンパにてIICバス切り離し可)、リセットボタン×1| |
| + | |環境配慮 |RoHS準拠, 鉛フリー半田 | |
| + | |
| + | ***外観 [#u4586525] |
| + | | top | bottom | |
| + | | #ref(H8_3687F_TOP.png,50%) | #ref(H8_3687F_BOTTOM.png,50%) | |
| + | ***回路図 [#tca9e513] |
| + | #ref(E032B.pdf) |
| + | ***端子配置・外形 [#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] |
| + | -RS232C通信ケーブル接続用 |
| + | -JP1にてRS232C回路とP21/RXD端子を接続及び切断可能(デフォルトで半田ジャンパ済) |
| + | | No. | 端子名 | I/O | |
| + | | 1 | TX (RS232Cレベル) | O | |
| + | | 2 | GND | - | |
| + | | 3 | RX RX (RS232Cレベル) | I | |
| + | ****JP1 [#hbf22267] |
| + | -RS232Cレベル変換のレシーバイネーブル制御(マイコンのP21端子に接続) |
| + | -オープン:レシーバディスエーブル, ショート:レシーバイネーブルーブル |
| + | -出荷時ショート |
| + | ****JP2, JP3 [#v4ee5e91] |
| + | -シリアルEEPROMのIIC接続制御(マイコンのP57,P56端子に接続) |
| + | -オープン:EEPROM使用不可, ショート:EEPROM使用可 |
| + | -出荷時:オープン |
| + | |
| + | ****SW1(スライドスイッチ) [#m72c70e1] |
| + | -WRITEとあるシルク側に切り替えることでマイコンのNMI端子とGNDを短絡 |
| + | ****PB1(プッシュボタン) [#ja8e1c84] |
| + | -押下でシステムリセットIC(U2)からCPUへリセット発行 |
| + | |
| + | **各機能の詳細 [#zca6f4af] |
| + | ***電源 [#v90af883] |
| + | CN2-29にDC5Vを供給します~ |
| + | 動作電圧がMAX3313の仕様を満足しない、20MHzという動作クロックがH8/3687Fの仕様から外れる、といった点を除けば本マイコンボードは3.3Vでも動作します。 |
| + | チップメーカの動作保証があるわけでも弊社の推奨でもありませんが、最近の3Vロジックへの移管傾向やバッテリ駆動システムといった環境を鑑みて、弊社にて独自に動作確認する上での最低電圧として3.3Vを考慮している事を意味します。 |
| + | |
| + | ***RS232C(CN3) [#yd7fd1cd] |
| + | #ref(E032B_RS232C.png,50%) |
| + | CN3にはマイコンのDBGU端子をRS232Cレベルに変換した信号が接続されます。主にPCのCOMポートと接続し、プログラムの転送やデバッグに使用します。~ |
| + | 接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。 |
| + | -PCにCOMポートがある場合 |
| + | ~[[BTE060 RS232C通信ケーブル]] |
| + | -PCにCOMポートが無く、USBポートがある場合 |
| + | ~[[BTE075 USB-RS232Cケーブル]]~ |
| + | [[BTE060 RS232C通信ケーブル]] + [[BTE061D USBシリアル変換ケーブル]] |
| + | |
| + | ***スライドスイッチ(SW1) [#xabf7ab8] |
| + | ****ブートモード(WRITE) [#t924542b] |
| + | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がWRITE側になっている状態で、電源供給もしくはリセットリリース後ではH8/3687Fマイコンはブートモードになります。 |
| + | この状態はマイコンの内蔵フラッシュROMへプログラムを書き込む際に設定します。書込みにはPC用の専用プログラムであるフラッシュライタ(FW.EXE)を使用して下さい。 |
| + | ****ユーザモード(RUN) [#oec65a25] |
| + | 電源供給前もしくはリセット中にマイコンボードの「モード切替スイッチ」がRUN側になっている状態で、電源供給もしくはリセットリリース後ではH8/3687Fマイコンはユーザモードになります。 |
| + | この状態はブートモードで内蔵フラッシュROMへ書き込まれたプログラムが動作し、モード切替スイッチはNMIの入力信号として機能します。 |
| + | |
| + | ***プッシュスイッチ(PB1) [#kb7c13c9] |
| + | PB1にはマイコンのNRST端子が接続されています。押下されるとNRST端子がGNDに接続されマイコンがリセットされます。~ |
| + | |
| + | **開発環境 [#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等へコンパイルされたプログラムをSAM-BAないしCOMポート経由で書き込む。~ |
| + | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 |
| + | -''[[SIMPLE TERM>GCC Developer Lite#STERM]]'' |
| + | ~汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。~ |
| + | USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。 |
| + | -''ターゲットファイル'' |
| + | ~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。 |
| + | |
| + | ****ターゲットファイル [#s8f6e2c8] |
| + | [[GCC Developer Lite>GCC Developer Lite]]では本マイコン用の設定を複数備えています。~ |
| + | 例えば、H8コアの学習・組み込み向けCコンパイラの習熟・マイコン内蔵ペリフェラルの機能を熟知するといった段階ではJTAGを使ってSRAM上でデバッグし、printfデバッグ、最終的に製品等としてリリースして完成させる時はフラッシュROMに、といった段階を踏む場合でも[[GCC Developer Lite>GCC Developer Lite]]のコンパイルオプションの設定リストから選択し直すだけで設定が完了します。~ |
| + | #ref(GDL_CompileOption_TargetList.png) |
| + | 以下本マイコンボードに対応した設定リストの一覧です。 |
| + | -''H8/3687 (Flash)'' |
| + | |
| + | |
| + | ****FLASH WRITER [#sb54d892] |
| + | 様々なマイコンに対応した転送ツールです。~ |
| + | Windowsの[スタート]ボタン→「プログラム(P)」→「GCC Developer Lite」→「フラッシュライタ」をクリックし、フラッシュライタを起動します。~ |
| + | 起動したら、左上のICの形をしたアイコンをクリックします。ドロップダウンメニューが開きますので、「FW環境設定(O)」をクリックします。ウィンドウサイズが大きくなり、諸々の設定が行う部分が現れますので、「CPU TYPE」とある部分を「3664」に変更します。また、もしライタボードが接続されているPCのポートが「COM1」でなければ、「PORT」を実際に使用するポートに変更します。その他の部分はデフォルトのままで構いません。なお、次回フラッシュライタを起動したときでも、前回設定された内容が残りますので、一度設定しておけば再度設定する必要はありません。~ |
| + | ボタンを押すと、転送するファイルを選択するダイアログボックスが現れるので、任意のコンパイル済みファイル(拡張子が.binのファイル)を選択し、「開く(O)」ボタンを押します。~ |
| + | モード切り替えスイッチをWRITE側にしてブートモードに設定し、RS232CケーブルでマイコンボードとPCを接続します。準備ができたらマイコンボードに電源を供給し、フラッシュライタの「かきこみ」ボタンを押します。正しく準備ができていれば、マイコンボードへプログラムの転送が開始されます。進捗はプログレスバーにて表示されます。~ |
| + | 正常に終了した旨のダイアログが表示されたら書込みは成功しています。マイコンボードに供給している電源を切ります。電源を切ったらライタボードの「モード切替スイッチ」を「RUN」側にし再び電源を入れるとプログラムが実行されます。~ |
| + | FLASH WRITERを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成さAれたプログラムをFLASH WRITERで転送しても動作しません。 |
| + | -''H8/3687 (Flash)''~ |
| + | |
| + | **H8/3687F用ライブラリ [#lb227da1] |
| + | [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ |
| + | そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ |
| + | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\3687F」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 |
| + | -''リンカスクリプトファイル'' |
| + | ~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ |
| + | '''h8rom.x'''~ |
| + | '''h8rom_.x'''~ |
| + | -''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' |
| + | ~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ |
| + | '''3687.h''' (レジスタのマクロ定義)~ |
| + | -''ライブラリファイル'' |
| + | ~各APIとremap.cをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ |
| + | '''makelib.bat''' (APIをH8モードでコンパイルし、アーカイブするバッチ)~ |
| + | '''makelib_thumb.bat''' (APIをTHUMBモードでコンパイルし、アーカイブするバッチ)~ |
| + | '''libadd3687.a''' (makelib.batで作成されるライブラリファイル)~ |
| + | '''libadd3687_thumb.a''' (makelib_thumb.batで作成されるライブラリファイル) |
| + | |
| + | **サンプルプログラム [#q33f8fda] |