ページへ戻る

− Links

 印刷 

BTC068 ATmega128マイコンボード :: Besttechnology

knowledge:BTC068 ATmega128マイコンボード

ページ内コンテンツ
    • 概要
    • 基本仕様
      • 外観
      • 回路図
      • 端子配置・外形
      • コネクタ・端子・スイッチ等
        • CN1
        • CN2
        • CN3
        • JP1
        • JP2
        • JP3
        • D1(LED)
        • D2(LED)
        • SW1(スライドスイッチ)
        • PB1(プッシュボタン)
    • 各機能の詳細
      • 電源
      • RS232C(CN3)
      • スライドスイッチ(SW1)
        • ブートローダV1.2以降(V1.2ラベル添付版)
        • ブートローダV1.0~V1.1(黄色シール添付版はV1.0)
        • stk500ブートローダ(無印)
      • プッシュスイッチ(PB1)
    • 開発環境
      • GCC Developer Lite
        • ターゲットファイル
        • SIMPLE TERMとブートローダ
      • ATmega128用ライブラリ
    • サンプルプログラム

ショップページへ[1]

概要 anchor.png[2]

Atmel社製ATmega128を搭載したマイコンボードです。

Page Top

基本仕様 anchor.png[3]

商品番号BTC068
PCBリビジョンE019B2 (2層)
CPUAtmel ATmega128[4]
クロックシステムクロック 16MHz
動作温度0~+70℃
動作電圧DC4.5~5.5V (絶対最大定格 DC6V)
消費電流最大45mA
寸法W30×D39mm (±0.5mm)
コネクタ等30ピン外部端子×2, RS232C通信用3ピンヘッダ×1, リセットボタン×1, モード切替スイッチ×1
付属品2列ピンヘッダ
環境配慮RoHS準拠,鉛フリー半田
Page Top

外観 anchor.png[5]

topbottom
Page Top

回路図 anchor.png[8]

  • ロットによりSW1は未実装(今後は未実装を標準とする)
Page Top

端子配置・外形 anchor.png[10]

ATmega128__LAYOUT.png
Page Top

コネクタ・端子・スイッチ等 anchor.png[11]

Page Top
CN1 anchor.png[12]
  • 2.54mmピッチ2列 15ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA
    No.端子名称No.端子名称
    1VCC2GND
    3PA0/AD04PA1/AD1
    5PA2/AD26PA3/AD3
    7PA4/AD48PA5/AD5
    9PA6/AD610PA7/AD7
    11PG2/ALE12PC7/A15
    13PC6/A1414PC5/A13
    15PC4/A1216PC3/A11
    17PC2/A1018PC1/A9
    19PC0/A820PG1/RD
    21PG0/WR22PD7/T2
    23PD6/T124PD5/XCK1
    25PD4/ICP126PD3/TXD1/INT3
    27PD2/RXD1/INT228PD1/SDA/INT1
    29PD0/SCL/INT030GND
Page Top
CN2 anchor.png[13]
  • 2.54mmピッチ2列 15ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA
  • No.12(RXD0), No.13(TXD0)はRS232Cレベル変換ICに割当済
  • No.27(PB7)はモニタLEDに割当済
  • No.29(PG4)はモード切替スイッチに割当済
    No.端子名No.端子名
    1PF7/ADC7/TDI2PF6/ADC6/TDO
    3PF5/ADC5/TMS4PF4/ADC4/TCK
    5PF3/ADC36PF2/ADC2
    7PF1/ADC18PF0/ADC0
    9AVREF10GND
    11AVCC12PE0/PDI/RXD0
    13PE1/PDO/TXD014PE2/XCK0/AIN0
    15PE3/OC3A/AIN116PE4/OC3B/INT4
    17PE5/OC3C/INT518PE6/T3/INT6
    19PE7/ICP3/INT720PB0/SS
    21PB1/SCK22PB2/MOSI
    23PB3/MISO24PB4/OC0
    25PB5/OC1A26PB6/OC1B
    27PB7/OC2/OC1C28PG3/TOSC2
    29PG4/TOSC130RESET
Page Top
CN3 anchor.png[14]
  • 2mmピッチ 3ピン ヒロセ電機 A4B-03PA-2DSA(71)
  • 推奨圧着ソケット:ヒロセ電機 A4B-03S-2C
  • PE0(RXD0)とPE1(TXD0)端子をRS232Cレベルに変換
  • JP1にてRS232C回路とATmega128のPD0/RXD端子を接続及び切断可能(デフォルトで半田ジャンパ済)
    No.端子名I/O
    1TX (RS232C←PA10)O
    2GND-
    3RX (RS232C→PA9)I
Page Top
JP1 anchor.png[15]
  • RS232Cレベル変換のレシーバイネーブル制御(マイコンのPE0端子に接続)
  • オープン:レシーバディスエーブル, ショート:レシーバイネーブル
  • 出荷時ショート

※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事

Page Top
JP2 anchor.png[16]
  • 外部SRAM機能のイネーブル制御(マイコンのPC7端子に接続)
  • オープン:外部SRAMディスエーブル, ショート:外部SRAMイネーブル
  • 出荷時ショート

※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事

Page Top
JP3 anchor.png[17]
  • モニタLED機能のイネーブル制御(マイコンのPB7端子に接続)
  • オープン:モニタLEDディスエーブル, ショート:モニタLEDイネーブル
  • 出荷時ショート

※ジャンパのランド間にある配線パターンにて接続されているため、オープン状態にするにはパターンをカッター等をカットして使用の事

Page Top
D1(LED) anchor.png[18]
  • マイコンボードに電源を印加すると点灯
Page Top
D2(LED) anchor.png[19]
  • PB7端子にシンク接続
  • ブートローダの状態モニタ用
Page Top
SW1(スライドスイッチ) anchor.png[20]
  • WRITEとあるシルク側に切り替えることでマイコンのPG4(TOSC1)端子とGNDを短絡
  • ブートローダV1.2[21]以降から本スイッチによるモード切り替えを取り止め
  • 以後未実装に移行
Page Top
PB1(プッシュボタン) anchor.png[22]
  • 押下でマイコンのリセット端子をGNDへ短絡
Page Top

各機能の詳細 anchor.png[23]

Page Top

電源 anchor.png[24]

CN1-1(VCC)端子とCN1-2(GND)間に安定したDC5Vを供給します。

Page Top

RS232C(CN3) anchor.png[25]

ATmega128_1.png

CN3にはマイコンのDBGU端子をRS232Cレベルに変換された信号が接続されます。主にプログラムの転送やデバッグに使用します。
接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。

Page Top

スライドスイッチ(SW1) anchor.png[29]

Page Top
ブートローダV1.2以降(V1.2ラベル添付版) anchor.png[30]

数少ないリソースをブートローダのためにリザーブされる事を嫌い、本スイッチによるブートローダのモード切り替えを廃止しています。動作モードの切り替えは最新版ブートローダの解説[21]に従います。
プログラムの転送にはSIMPLE TERMを使用します。

Page Top
ブートローダV1.0~V1.1(黄色シール添付版はV1.0) anchor.png[31]

Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはSIMPLE TERMを使用します。

Page Top
stk500ブートローダ(無印) anchor.png[32]

Write側にしてリセットスタートするとブートローダモードに入り、その反対側ではユーザプログラムが実行されます。
プログラムの転送にはFLASH WRITERを使用します。

  :idea:本ドキュメントではV1.2を前提として記述します。マイコンボードが旧バージョンのブートローダを搭載している場合はISPライタを使って最新版に書き換えるか、製品に添付されていたドキュメントを参照します。

Page Top

プッシュスイッチ(PB1) anchor.png[33]

PB1にはマイコンのNRST端子が接続されています。押下されるとNRST端子がGNDに接続されマイコンがリセットされます。

Page Top

開発環境 anchor.png[34]

Page Top

GCC Developer Lite anchor.png[35]

GCC Developer Liteの詳細についてはこちら[36]
フルインストールないしATmega128で使用を選択する事で必要なコンポーネントが自動的にインストールされます。
使用されるコンポーネントを簡単に示します。

  • GCC Developer Lite[37]

    ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。

  • SIMPLE TERM[38]

    汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
    USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。

  • AVRGCC

    AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。

  • ターゲットファイル

    マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。

Page Top
ターゲットファイル anchor.png[39]

GCC Developer Liteでは本マイコン用の設定を複数備えています。

ATmega128_2.png

以下に本マイコンボードに対応した設定リストの一覧とその設定における機能の違いを紹介します。

  • ATmega128

    ビルドするとブートローダ[21]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
    外部SRAMは使用しない。
    ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。

  • ATmega128(need ExtRAM)

    ビルドするとブートローダ[21]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
    外部SRAMを使用する。
    ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。

Page Top
SIMPLE TERMとブートローダ anchor.png[40]

マイコンのフラッシュROMには出荷時に弊社オリジナルのブートローダ[21]が書き込まれています。
本ブートローダはISPやJTAGといったI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。転送方法などの詳細はこちら[21]
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても正常動作しません。

  • ATmega128
  • ATmega128(need ExtRAM)

マイコンボードは出荷時にUART0をコンソールとして構成されたブートローダが書き込まれており、PCとマイコンボードをRS232Cケーブルで接続する必要があります。 SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって適宜選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。

Baudrate:115200
Databits:8
Stopbits:1
Parity:Non
Flow Control:Non
Protocol:Xmodem
AVR_BL_COM.png

既にユーザプログラムが書き込まれているマイコンボードは、電源を投入するとユーザプログラムが即時実行されます。ユーザプログラムが書き込まれたマイコンでブートローダのコマンドモードを使用するには以下の手順を踏みます。

  1. SIMPLE TERMのターミナルウィンドウ上で'!'(「SHIFT」+「1」)キーを押しっぱなしにする。
  2. マイコンボードをリセットする。
  3. ブートローダのメッセージが表示された後、'!'キーを離すとコマンドモードに遷移する。

先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。

  • 既にSIMPLE TERMが実行中であれば2重に起動しない。
  • コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。
  • ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。
sterm_script.png

「スクリプト実行[STERM ATMEGA]」をクリックした後10秒以内にマイコンボードをリーブートすると、コマンドモードへの遷移や転送するファイルの選択を手動で行う事無く転送にかかる処理が全て自動的に行われます。

sterm_script2.png

本機能により、手動で間違ったファイルを選択して転送してしまったり、ブートローダがコマンドモードでない状態で転送をしてしまうといったミスを軽減する事ができます。

Page Top

ATmega128用ライブラリ anchor.png[41]

GCC Developer Lite[36]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\ATmega128」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。

  • スタートアップルーチン

    C言語で作成したプログラムを実行させるために、アセンブラないしC言語で記述された必要最低限の初期化処理プログラムです。

  • リンカスクリプトファイル

    実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。
    atmega128.x
    atmega128extram.x

  • UART API

    作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。
    本マイコンには複数のシリアルポートが備わっており、制御方法も多種多様なため、それに応じてライブラリとして提供する通信用APIも多くなっています。

  • ライブラリファイル

    各APIをコンパイルし、一つのライブラリファイルにアーカイブして提供します。
    makelib.bat (APIをコンパイルし、アーカイブするバッチ)
    libm128.a (makelib.batで作成されるライブラリファイル)


Last-modified: 2015-11-18 (水) 16:27:56 (JST) (3074d) by takaboo