Microchip社(旧Atmel社)製ATmega128Aを搭載したマイコンボードです。
USBポートを使用してプログラムの書き換えやデバッグをサポートし、USBバスパワーによる運用も可能です。
なお、CN1とCN2のピンアサインはBTC068と互換性を有します。
商品番号 | BTC068B |
PCBリビジョン | E019C (2層) |
CPU | Microchip ATmega128A |
クロック | システムクロック 16MHz |
動作温度 | -20~+70℃ |
動作電圧 | DC4.5~5.5V (絶対最大定格 DC6V) |
消費電流 | 最大45mA |
寸法 | W29.2×D39.4mm (±0.5mm) |
コネクタ等 | 30ピン外部端子×2, microUSB×1, リセットボタン×1 |
付属品 | ピンヘッダ |
環境配慮 | RoHS準拠, 鉛フリー半田 |
top | bottom |
3D pdf |
No. | 端子名称 | No. | 端子名称 |
1 | VCC | 2 | GND |
3 | PA0/AD0 | 4 | PA1/AD1 |
5 | PA2/AD2 | 6 | PA3/AD3 |
7 | PA4/AD4 | 8 | PA5/AD5 |
9 | PA6/AD6 | 10 | PA7/AD7 |
11 | PG2/ALE | 12 | PC7/A15 |
13 | PC6/A14 | 14 | PC5/A13 |
15 | PC4/A12 | 16 | PC3/A11 |
17 | PC2/A10 | 18 | PC1/A9 |
19 | PC0/A8 | 20 | PG1/RD |
21 | PG0/WR | 22 | PD7/T2 |
23 | PD6/T1 | 24 | PD5/XCK1 |
25 | PD4/ICP1 | 26 | PD3/TXD1/INT3 |
27 | PD2/RXD1/INT2 | 28 | PD1/SDA/INT1 |
29 | PD0/SCL/INT0 | 30 | GND |
No. | 端子名 | No. | 端子名 |
1 | PF7/ADC7/TDI | 2 | PF6/ADC6/TDO |
3 | PF5/ADC5/TMS | 4 | PF4/ADC4/TCK |
5 | PF3/ADC3 | 6 | PF2/ADC2 |
7 | PF1/ADC1 | 8 | PF0/ADC0 |
9 | AVREF | 10 | GND |
11 | AVCC | 12 | *PE0/PDI/RXD0 |
13 | *PE1/PDO/TXD0 | 14 | PE2/XCK0/AIN0 |
15 | PE3/OC3A/AIN1 | 16 | PE4/OC3B/INT4 |
17 | PE5/OC3C/INT5 | 18 | PE6/T3/INT6 |
19 | PE7/ICP3/INT7 | 20 | PB0/SS |
21 | PB1/SCK | 22 | PB2/MOSI |
23 | PB3/MISO | 24 | PB4/OC0 |
25 | PB5/OC1A | 26 | PB6/OC1B |
27 | *PB7/OC2/OC1C | 28 | PG3/TOSC2 |
29 | PG4/TOSC1 | 30 | *RESET |
No. | 端子名 |
1 | PE1(MISO) |
2 | VCC |
3 | PB1(SCK) |
4 | PE0(MOSI) |
5 | RESET |
6 | GND |
CN3にはUSBケーブルを接続します。主にプログラムの転送やデバッグに使用します。
USBシリアル変換ICには実績のあるFTDI社製のICを使用していますので、こちらのページにしたがってデバイスドライバをインストールしてください。
最新版ブートローダの解説に従います。
Ver1.3以降のブートローダは電源が供給された状態でリセット信号を検出すると、ブートローダのコマンドモードに強制遷移します。
既にユーザプログラムが書き込まれている場合は、電源印加直後もしくはブートローダのコマンドモードから'G'を発行した時にユーザプログラムが実行されます。
プログラムの転送にはSIMPLE TERMを使用します。
PB1にはAVRのRESET端子が接続されています。押下されるとRESET端子がGNDに接続されAVRは外部リセットされます。
RESET端子によるリセット後、ブートローダはそれを検出してコマンドモードに遷移します。これはPB1でユーザプログラムを再起動できない事を意味します。
「基本パック」と「AVRパック」をダウンロードしてインストールしてください。なおAVRパックインストールの際に表示されるコンポーネントの選択画面では「ATmega128でのみ使用」を選択してください。
使用されるコンポーネントを簡単に示します。
ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
AVRの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。
GCC Developer Liteでは本品用の設定を備えています。GCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。
以下に本品に対応した設定リストと機能を紹介します。
ビルドするとブートローダにてAVRのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。
フラッシュROMには出荷時に弊社オリジナルのブートローダが書き込まれています。
ブートローダはISPやJTAGといったI/Fを使用せずとも、COMポートを使用してプログラムの書き換えが出来ます。
転送方法などの詳細はこちら。
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても正常動作しません。
出荷時にUSART0をコンソールとして構成されたブートローダが書き込まれており、PCと本品をUSBで接続する必要があります。 SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって適宜選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。
Baudrate:115200 Databits:8 Stopbits:1 Parity:Non Flow Control:Non Protocol:Xmodem
既にユーザプログラムが書き込まれている場合は、電源投入直後からユーザプログラムが即時実行されます。ユーザプログラムが書き込まれたマイコンでブートローダのコマンドモードを使用するには以下の手順を踏みます。
ブートローダの詳細及びコマンドモードの使い方等はこちら。
先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されたSIMPLE TERMが起動します。
「スクリプト実行[STERM ATMEGA_NR]」をクリックすると、ブートローダがコマンドモードになっている事の確認と転送するファイルの選択を自動的に行った後、転送が完了したプログラムの実行までの処理を自動的に行います。何らかの問題が生じると、その時点でスクリプトの実行は中断します。
本機能により、手動で間違ったファイルを選択して転送してしまったり、ブートローダがコマンドモードでない状態で転送をしてしまうといったミスは発生しなくなります。
GCC Developer Liteでは1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\ATmega128」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。
実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。
atmega128.x
作成したプログラムの動作を確認を行う際に、AVRのシリアルポートを使用する事を推奨しています。AVRと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはAVRに対してPCから指令を与えるといった使い方が出来ます。
rs.h (APIのプロトタイプ宣言を含むヘッダファイル)
rs~.c (USARTを割り込みで使用するAPIのソース群)
各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。
makelib.bat (APIをコンパイルし、アーカイブするバッチ)
libm128.a (makelib.batで作成されるライブラリファイル)
こちらにて公開中。