ショップページへ

概要 anchor.png

Microchip社(旧Atmel社)製ATmega32Aを搭載したマイコンボードです。
USBポートを使用してプログラムの書き換えやデバッグをサポートし、USBバスパワーによる運用も可能です。
なお、CN1とCN2のピンアサインはBTC067Bと互換性を有します。

Page Top

基本仕様 anchor.png

商品番号BTC067C
リビジョンE017F (2層)
CPUMicrochip ATMEGA32A-MN
クロックシステムクロック 16MHz
動作温度-20~+70℃
動作電圧DC4.5~5.5V (絶対最大定格 DC6V)
消費電流最大30mA
寸法W29×D27mm (±0.5mm)
コネクタ等20ピン外部端子×2, microUSB×1, リセットボタン×1
付属品2列ピンヘッダ (CN1,CN2にはコネクタが半田付けされていません。使用環境に合わせ装備ください)
環境配慮RoHS準拠,鉛フリー半田
Page Top

外観 anchor.png

top
E017F_TOP.png
3D pdf
Page Top

回路図 anchor.png

Page Top

端子配置・外形 anchor.png

Page Top

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

Page Top
CN1 anchor.png
  • 2.54mmピッチ2列 10ピン
  • ランド穴径 0.9mm
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-20PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-20DA-2.54DSA
  • No.8(PB4)はD2に接続
    No.端子名称No.端子名称
    1GND2GND
    3VCC4VCC
    5PB7(SCK)6PB6(MISO)
    7PB5(MOSI)8*PB4(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
  • 2.54mmピッチ2列 10ピン
  • ランド穴径 0.9mm
  • 推奨ピンヘッダ:ヒロセ電機 HIF3H-20PB-2.54DSA
  • 推奨レセプタクル:ヒロセ電機 HIF3H-20DA-2.54DSA
  • No.2(RESET)は1kでプルアップかつPB1に接続
  • No.3(RXD), No.4(TXD)はUSBシリアル変換ICに接続
    No.端子名No.端子名
    1GND2*RESET
    3*PD0(RXD)4*PD1(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
:idea:microUSBケーブルは同梱されませんので、市販のUSB[micro-B]<->USB[A]ケーブルを別途お買い求めの上ご利用下さい。
  • USB-MicroBレセプタクル
  • FTDI社製USBシリアル変換ICへ接続し、AVRとのシリアル通信の仲介
  • USBバスパワーをボード上の電源として供給(約500mAの電流制限と電流逆流防止回路付)
Page Top
CN4 anchor.png
  • AVR-ISP用ランド
  • 1.27mmピッチ5ピン
  • ランド穴径 0.7mm
  • 推奨ヘッダ:MAC8 XBシリーズ
    No.端子名
    1PB6(MISO)
    2VCC
    3PB7(SCK)
    4PB5(MOSI)
    5RESET
    6GND
Page Top
JP1 anchor.png
  • USBシリアル変換ICのTXD端子とAVRのPD0端子を接続
  • オープン:レシーバディスエーブル, ショート:レシーバイネーブル
  • 出荷時ショート
Page Top
D1(LED) anchor.png
  • 色:赤
  • 電源が供給されると点灯
Page Top
D2(LED) anchor.png
  • 色:緑
  • PB4端子にシンク接続
  • 主にブートローダの状態モニタ用
Page Top
PB1(プッシュボタン) anchor.png
  • 押下でAVRのRESET端子をGNDへ短絡
  • ブートローダによってリセット直後の状態検出を行っているため、RESET端子にコンデンサ等によって別途遅延回路を設けてはならない。
Page Top

各機能の詳細 anchor.png

Page Top

電源 anchor.png

  • USB BUS Power
    CN3にUSBケーブルを接続するとPCから約5Vの電源(バスパワー)が供給され、ボード内に供給されます。
    CN1-3,4(VCC)端子とCN1-1,2(GND)端子間からは5Vが出力されます(本マイコンボードで使用される電力も含めて最大500mAの電流制限あり)。
    buspower.png
  • Self Power
    CN1-3,4(VCC)端子とCN1-1,2(GND)間に安定した5Vの外部電源を接続します。
    CN1に外部電源からの電圧を供給した状態でUSBケーブルを接続すると、両電源がボード内で衝突することになります。ボード内に電流制限付きの整流回路が挿入されているため、通常は外部電源の電流がUSBポートを介してPCへ逆流することはありません。しかし外部電源の電圧がバスパワーの電圧より低くなると、その電位差をバスパワーがまかなおうとします。その際の電流が最大500mAを超える場合は、ボード外部へのバスパワー供給をあきらめ、本ボードへの電源供給ラインに整流回路を設けます。
    selfpower.png
Page Top

USB(CN3) anchor.png

E017F_CN3.png

CN3にはUSBケーブルを接続します。主にプログラムの転送やデバッグに使用します。
USBシリアル変換ICには実績のあるFTDI社製のICを使用していますので、こちらのページにしたがってデバイスドライバをインストールしてください。

Page Top
ブートローダV1.3 anchor.png

数少ないGPIOをブートローダの動作切り替えのために使用する事を嫌い、本スイッチによるブートローダのモード切り替えを廃止しています。動作モードの切り替えは最新版ブートローダの解説に従います。
Ver1.3以降のブートローダが旧来と大きく異なるのは、電源が供給された状態で外部からのリセット信号を検出すると、ブートローダのコマンドモードに遷移する事にあります。つまり、電源が供給された状態でPB1を押すだけで、ブートローダのコマンドモードに遷移します。
また、既にユーザプログラムが書き込まれている場合は、電源印加直後もしくはブートローダのコマンドモードから'G'を発行した時のみユーザプログラムが実行されます。

ユーザプログラムの転送にはSIMPLE TERMを使用します。

Page Top

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

PB1にはAVRのRESET端子が接続されています。押下されるとRESET端子がGNDに接続されAVRは外部リセットされます。
RESET端子によるリセット後、ブートローダはそれを検出してコマンドモードに遷移します。これはPB1でユーザプログラムを再起動できない事を意味します。

Page Top

開発環境 anchor.png

紹介する開発環境に含まれるツールの連携を次図に示します。

DEV_OUTLINE.png
Page Top

GCC Developer Lite anchor.png

「基本パック」と「AVRパック」をダウンロードしてインストールしてください。なおAVRパックインストールの際に表示されるコンポーネントの選択画面では「ATmega32Aでのみ使用」を選択してください。

AvrPacATM32A.png

使用されるコンポーネントを簡単に示します。

  • GCC Developer Lite

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

    gdl.png
  • SIMPLE TERM

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

    sterm.png
  • AVRGCC

    AVR向けGCC(GNU Compiler Collection)。GCC Developer Liteより適宜呼び出され、ユーザソースのコンパイル・ライブラリ等とリンク・ファイルフォーマット変換等を行う。

  • ターゲットファイル

    AVRのUARTを簡便に使うためのAPIとそれらをコンパイルしてアーカイブしたライブラリファイル、目的別に異なるメモリマップを定義したリンカスクリプトファイルを含む。

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

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

GDL_CompileOption_TargetList.png

以下に本品に対応した設定リストと機能を紹介します。

  • ATmega32A USB

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

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

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

  • ATmega32A USB

出荷時にUSARTをコンソールとして構成されたブートローダが書き込まれており、PCと本品をUSBで接続する必要があります。 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で該当のCOMポートを開く。
  2. PB1を押してリセットする。
  3. SIMPLE TERMのターミナルウィンドウにブートローダからのメッセージが表示される事を確認する。

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


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

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

「スクリプト実行[STERM ATMEGA_NR]」をクリックすると、ブートローダがコマンドモードになっている事の確認と転送するファイルの選択を自動的に行った後、転送が完了したプログラムの実行までの処理を自動的に行います。何らかの問題が生じると、その時点でスクリプトの実行は中断します。
本機能により、手動で間違ったファイルを選択して転送してしまったり、ブートローダがコマンドモードでない状態で転送をしてしまうといったミスは発生しなくなります。

Page Top

ATmega32A用ライブラリ anchor.png

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

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

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

  • UART API

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

  • ライブラリファイル

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

Page Top

サンプルプログラム anchor.png

こちらにて公開中。


Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Last-modified: 2022-02-13 (Sun) 11:44:43 (JST) (1097d)