ページへ戻る

− Links

 印刷 

BTE072 ATmega32 EVB のソース :: Besttechnology

knowledge:BTE072 ATmega32 EVBのソース

« Prev[3]  
TITLE:ATmega32 EVBマニュアル
#norelated
#contents
[[ショップページ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=39]]

**概要 [#s1de0442]
Atmel ATmega32の機能を活用するための評価キットです。~
I/OボードにはLEDやスイッチ、ブザーといった機能が搭載されており、PCとUSBケーブルで接続する事でほとんどの機能を外部電源を別途用意する事無くテストする事が出来ます。~
外部電源を接続すると、DCモータやRCサーボモータといった装置を制御する事も可能です。

**基本仕様 [#v60e7a86]
|商品番号 |BTE072 |
|リビジョン |マイコンボード:E017D (2層)&br;I/Oボード:E085 (4層) |
|動作温度 |0~+50℃ |
|動作電圧 |5V系デバイス:DC4.5~5.5V&br;外部電源:DC6~15V |
|寸法 |W68×D45mm (±0.5mm)|
|環境配慮 |RoHS準拠, 鉛フリー半田 |

**外観 [#p3f56e86]
| EVB | I/Oボード |
| #ref(ATmega32EVB_TOP.png,37%) | #ref(E085_TOP.png,50%) |
#ref(E085_LAYOUT.pdf)

**回路図 [#yf77f33e]
***マイコンボード [#h6607fbc]
#ref(E017D.pdf)
-Rev.Dの制限上、LED2及びR1のフットプリントは使用しないため未実装を標準
-[[BTC067B]]とピンアサインレベル・使用方法で互換性有り

***I/Oボード [#bf2fc0b1]
#ref(E085_SCH.pdf)
-R8はノーマウント
-CN17はノーマウント(CN16と排他のため)

エラッタ
-誤:C10のシルクが2カ所ある~
正:L2近傍のC10はC12

**I/Oボード各機能の詳細 [#j90412df]
***CN1, CN2 [#w9a58127]
マイコンボードがピンヘッダを介して装着されます。マイコンボードを取り外した後、再度装着する際は向きを間違えないように注意して下さい。
***CN3, CN4 [#l5d603b2]
マイコンボードの各端子を1x20ピンのランドで引き出しています。I/Oボード上の各種デバイスにも配線されていますので、外部回路用に引き出す際は注意が必要です。
***CN5~CN12 [#cf4c8e63]
RCサーボモータ用のコネクタです。CN16から供給される電源が接続されます。
***CN13 [#t567e5a2]
2chハーフブリッジドライバの出力端子が接続されます。
***CN14 [#f5f96167]
ISP programming interfaceの端子です。AVRISPmkII等の6pin ISPケーブルを接続します。
***CN15 [#a6c80470]
USBシリアル変換IC(U5)に接続されたUSB Mini-Bコネクタです。FT232RはマイコンボードのUSARTに接続され、PC等からUSBケーブルで直接シリアル通信ができ、またバスパワーにて電源供給がなされます。
***CN16 [#n1edda2a]
本製品を付属のACアダプタで運用する際の電源供給用DCジャックで、CN5~CN12と5Vレギュレータに供給されます。~
なお、CN16に何も接続せずUSBコネクタにPCを接続した場合、マイコンボード及びI/Oボード上の5V回路にのみUSBバスパワーが供給されます。

***JP1 (PD0/RXD1) [#l9b8525e]
本ジャンパをショートする事で、USBシリアル変換IC(U5)の30ピンのゲートとマイコンのPD0(RXD1)を接続します。

***JP2 (PA7/ADC7)[#of1f7ddc]
本ジャンパをショートする事で、5VをVR1で分圧した電圧をマイコンのPA7(ADC7)端子に接続します。

***JP3 (PD7/OC2)[#yfda199e]
本ジャンパをショートする事で、ブザー駆動用トランジスタ(Q1)のベースとマイコンのPD7(OC2)を接続します。

**使用方法 [#f2f0f2b6]

***デバイスドライバのインストール [#p601f99f]
本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。インストール方法及び詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。
**開発環境 [#ccc8a73c]
***GCC Developer Lite [#ea80f01f]
GCC Developer Liteの詳細については[[こちら>GCC Developer Lite]]。~
「基本パック」と「AVRパック」をダウンロードしてインストールしてください。なおAVRパックインストールの際に表示されるコンポーネントの選択画面では「ATmega32でのみ使用」を選択してください。
#ref(AvrPacATM32.png)
使用されるコンポーネントを簡単に示します。
-''[[GCC Developer Lite>GCC Developer Lite#GCCDevL]]''
~ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
-''[[SIMPLE TERM>GCC Developer Lite#STERM]]''
~汎用シリアルターミナル。簡易的なTLENETクライアントとしても機能する。~
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
-''AVRGCC''
~AVRシリーズ向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
-''ターゲットファイル''
~マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。

****ターゲットファイル [#v3ccdc15]
GCC Developer Liteでは本製品用の設定を備えています。GCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。
#ref(GDL_CompileOption_TargetList.png)
以下に本製品に対応した設定リストと機能を紹介します。
-''ATmega32 (USB EVB)''~
~ビルドすると[[ブートローダ>AVR_BL]]にてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。~
ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。
-''ATmega32''~
~こちらも上記同様だが、USB接続ならではの自動リセット発行機能が除外される。

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

マイコンボードは出荷時にUART0をコンソールとして構成されたブートローダが書き込まれており、PCとI/OボードをUSBケーブルで接続する必要があります。
SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって適宜選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。
 Baudrate:115200
 Databits:8
 Stopbits:1
 Parity:Non
 Flow Control:Non
 Protocol:Xmodem
#ref(AVR_BL_COM.png,100%)
既にユーザプログラムが書き込まれているマイコンボードは、電源を投入するとユーザプログラムが即時実行されます。ユーザプログラムが書き込まれたマイコンでブートローダのコマンドモードを使用するには以下の手順を踏みます。

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

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

先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。
-既にSIMPLE TERMが実行中であれば2重に起動しない。
-コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。
-ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。
#ref(sterm_script.png,100%)
「スクリプト実行[STERM ATMEGA_USBEVB]」をクリックすると、自動的にマイコンボードをリブートしコマンドモードへの遷移や転送するファイルの選択を手動で行う事無く転送にかかる処理が全て自動的に行われます。
#ref(sterm_script2.png,100%)

***ATmega32用ライブラリ [#xb9a61ea]
[[GCC Developer Lite>GCC Developer Lite]]では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で作成されるライブラリファイル)~

**サンプルプログラム [#ffdba0bc]
[[こちら>ATmega32 Sample Code]]にて公開中。

« Prev[3]