Back to page

− Links

 Print 

BTC067B ATmega32マイコンボード :: Besttechnology

knowledge:BTC067B ATmega32マイコンボード

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

ショップページへ[1]

概要 anchor.png[2]

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

Page Top

基本仕様 anchor.png[3]

商品番号BTC067B
リビジョンE017E (2層)
CPUAtmel ATMEGA32-16MU[4]
クロックシステムクロック 16MHz
動作温度0~+70℃
動作電圧DC4.5~5.5V (絶対最大定格 DC6V)
消費電流最大30mA
寸法W29×D27mm (±0.5mm)
コネクタ等20ピン外部端子×2, 通信用ピンヘッダ (BTE060 RS232C通信ケーブル接続用), リセットボタン×1
付属品2列ピンヘッダ (CN1,CN2にはコネクタが半田付けされていません。お使いの環境に合わせて適宜装備してください)
環境配慮RoHS準拠,鉛フリー半田
Page Top

外観 anchor.png[5]

topbottom
Page Top

回路図 anchor.png[8]

Page Top

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

Page Top

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

Page Top
CN1 anchor.png[13]
  • 2.54mmピッチ2列 10ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-20PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-20DA-2.54DSA
  • No.8(PB4)はモニタLEDに割当済
    No.端子名称No.端子名称
    1GND2GND
    3VCC4VCC
    5PB7(SCK)6PB6(MISO)
    7PB5(MOSI)8PB4(SS)
    9PB3(OC0/AIN1)10PB2/(INT2/AIN0)
    11PB1(T1)12PB0(XCK/T0)
    13PA0(ADC0)14PA1(ADC1)
    15PA2(ADC2)16PA3(ADC3)
    17PA4(ADC4)18PA5(ADC5)
    19PA6(ADC6)20PA7(ADC7)
Page Top
CN2 anchor.png[14]
  • 2.54mmピッチ2列 10ピン
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-20PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-20DA-2.54DSA
  • No.3(RXD), No.4(TXD)はRS232Cレベル変換ICに割当済
    No.端子名No.端子名
    1GND2RESET
    3PD0(RXD)4PD1(TXD)
    5PD2(INT0)6PD3(INT1)
    7PD4(OC1B)8PD5(OC1A)
    9PD6(ICP)10PD7(OC2)
    11PC0(SCL)12PC1(SDA)
    13PC2(TCK)14PC3(TMS)
    15PC4(TDO)16PC5(TDI)
    17PC6(TOSC1)18PC7(TOSC2)
    19AREF20AVCC
Page Top
CN3 anchor.png[15]
  • 2mmピッチ 3ピン ヒロセ電機 A4B-03PA-2DSA(71)
  • 推奨圧着ソケット:ヒロセ電機 A4B-03S-2C
  • PD0(RXD)とPD1(TXD)端子をRS232Cレベルに変換
  • JP1にてRS232C回路とATmega32のPD0(RXD)端子を接続及び切断可能(デフォルトで半田ジャンパ済)
    No.端子名I/O
    1TX (RS232C←PD1)O
    2GND-
    3RX (RS232C→PD0)I
Page Top
JP1 anchor.png[16]
  • RS232Cレベル変換のレシーバイネーブル制御(マイコンのPD0端子に接続)
  • オープン:レシーバディスエーブル, ショート:レシーバイネーブル
  • 出荷時ショート
Page Top
D1(LED) anchor.png[17]
  • マイコンボードに電源を印加すると点灯
Page Top
D2(LED) anchor.png[18]
  • PB4端子にシンク接続
  • ブートローダの状態モニタ用
Page Top
PB1(プッシュボタン) anchor.png[19]
  • 押下でマイコンのRESET端子をGNDへ短絡
Page Top

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

Page Top

電源 anchor.png[21]

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

Page Top

RS232C(CN3) anchor.png[22]

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

Page Top

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

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

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

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

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

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

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

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

Page Top

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

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

Page Top

開発環境 anchor.png[33]

Page Top

GCC Developer Lite anchor.png[34]

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

  • GCC Developer Lite[36]

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

  • SIMPLE TERM[37]

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

  • AVRGCC

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

  • ターゲットファイル

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

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

GCC Developer Liteでは本マイコン用の設定を備えています。GCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。

GDL_CompileOption_TargetList.png

以下に本マイコンボードに対応した設定リストと機能を紹介します。

  • ATmega32

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

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

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

  • ATmega32

マイコンボードは出荷時に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. ブートローダのメッセージが表示された後、'!'キーを離すとコマンドモードに遷移する。

ブートローダの詳細及びコマンドモードの使い方等はこちら[29]


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

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

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

sterm_script2.png

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

Page Top

ATmega32用ライブラリ anchor.png[40]

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

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

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

  • UART API

    作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。
    rs.h (APIのプロトタイプ宣言を含むヘッダファイル)
    rs~.c (USARTを割り込みで使用するAPIのソース群)

  • ライブラリファイル

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

Page Top

サンプルプログラム anchor.png[41]

こちら[42]にて公開中。


Last-modified: 2013-07-14 (Sun) 12:08:51 (JST) (3317d) by takaboo