1: 2009-06-18 (木) 17:31:20 sho | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TITLE:BTC067 ATmega168マイコンボードマニュアル | ||
+ | **概要 [#ifa0c9a5] | ||
+ | ATmega168マイコンボードはAVRシリーズのATmega168を搭載したマイコンボードです。 | ||
+ | **基本仕様 [#kc76bc1e] | ||
+ | |商品番号 |BTC066 | | ||
+ | |リビジョン |E047B | | ||
+ | |CPU |[[Atmel ATmega168:http://www.atmel.com/dyn/products/product_card.asp?part_id=2014]] | | ||
+ | |クロック |システムクロック 16MHz | | ||
+ | |内臓機能 |USART・I2C・SPI・各種タイマ・A/D変換器・コンパレータ・I/Oポート等 | | ||
+ | |動作電圧 |DC6.3~36V | | ||
+ | |消費電流 |40mA以下 | | ||
+ | |寸法 |W26.5 x D33mm | | ||
+ | |コネクタ等 |7ピン外部端子×1, 10ピン外部端子×1、RS485/TTL端子×2 リセットボタン×1 | | ||
+ | |付属品 |コネクタキット(3pin 22-03-5035/50-37-5033 各2個, 4pin 22-03-5045/50/37-5043 各2個, ターミナル 08-70-1040) | | ||
+ | |環境配慮 |RoHS準拠,鉛フリー半田 | | ||
+ | **外観 [#jdfd79f7] | ||
+ | | top | bottom | | ||
+ | | #ref(ATmega168_TOP.png,50%) | #ref(ATmega168_BOTTOM.png,50%) | | ||
+ | **回路図 [#pd622c86] | ||
+ | #ref(E047B.pdf) | ||
+ | **端子配置・外形 [#v25fddbc] | ||
+ | #ref(ATmega168_LAYOUT.png,80%) | ||
+ | ***CN1 [#f0e8f28c] | ||
+ | | No. | 端子名称 | No. | 端子名称 | | ||
+ | | 1 | SS(PB2) | | ||
+ | | 2 | GND | | ||
+ | | 3 | VCC(DC5V) | | ||
+ | | 4 | MOSI(PB3) | | ||
+ | | 5 | MISO(PB4) | | ||
+ | | 6 | SCK(PB5) | | ||
+ | | 7 | RESET(PC6) | | ||
+ | ***CN2 [#l1e63ddd] | ||
+ | | No. | 端子名 | No. | 端子名 | | ||
+ | | 1 | VOUT(DC5V) | | ||
+ | | 2 | PC0/PCINT8/ADC0※ | | ||
+ | | 3 | PC1/PCINT9/ADC1※ | | ||
+ | | 4 | PC2/PCINT10/ADC2※ | | ||
+ | | 5 | PC3/PCINT11/ADC3※ | | ||
+ | | 6 | PC4/PCINT12/ADC4/SDA/PD5/PCINT21/OC0B/T1 | | ||
+ | | 7 | PC5/PCINT13/ADC5/SCL/PD6/PCINT22/OC0A | | ||
+ | | 8 | ADC6/PB1/PCINT1/OC1A | | ||
+ | | 9 | ADC7/PB2/PCINT2/SS/OC1B | | ||
+ | | 10 | GND | | ||
+ | ※バッファアンプ内蔵 | ||
+ | ***CN3 [#fb0fbf85] | ||
+ | RS485/TTLは排他的に選択 | ||
+ | -RS485 | ||
+ | | No. | 端子名 | | ||
+ | | 1 | GND | | ||
+ | | 2 | VIN | | ||
+ | | 3 | RS485 D+ | | ||
+ | | 4 | RS485 D- | | ||
+ | -TTL | ||
+ | | No. | 端子名 | | ||
+ | | 1 | GND | | ||
+ | | 2 | VIN | | ||
+ | | 3 | TTL RX/TX | | ||
+ | | 4 | - | | ||
+ | ***D1,D2,D3(LED) [#eae081d4] | ||
+ | -PB0,PD7,PD3に対応 | ||
+ | ***PB1(プッシュボタン) [#l026bc5f] | ||
+ | -押下でマイコンのリセット端子をGNDへ短絡 | ||
+ | **各機能の詳細 [#t5662359] | ||
+ | ***電源 [#k79c916b] | ||
+ | CN3/CN4から接続機器に合わせDC6.3~30Vを供給します。 | ||
+ | ***PCとの接続 [#l77007bd] | ||
+ | RS485/双方向TTL通信バッファのどちらかでPCと通信します。どちらの接続でも、ターミナルソフトによるPCとの通信やプログラムの転送が可能です。 | ||
+ | #ref(ATmega168_1.png) | ||
+ | ***プッシュスイッチ(PB1) [#a3fa48d0] | ||
+ | PB1にはマイコンのNRST端子が接続されています。押下されるとNRST端子がGNDに接続されマイコンがリセットされます。~ | ||
+ | **開発環境 [#g6adbac4] | ||
+ | ***GCC Developer Lite [#vc04e2f5] | ||
+ | GCC Developer Liteの詳細については[[こちら:http://besttechnology.co.jp/xoops/html/modules/knowledge/?GCC%20Developer%20Lite]]。~ | ||
+ | フルインストールないしATmegaで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ | ||
+ | ****ターゲットファイル [#d7daf14f] | ||
+ | GCC Developer Liteでの本マイコン用の設定は以下となります。~ | ||
+ | #ref(GDL_CompileOption_TargetList.png) | ||
+ | -ATmega168(RS485)~ | ||
+ | ****[[ブートローダ>AVR Bootloader]] [#cf87c7d1] | ||
+ | マイコンのフラッシュROMには出荷時に弊社オリジナルの[[ブートローダ>AVR Bootloader]]が書き込まれています。~ | ||
+ | 本ブートローダはJTAGやその他の特殊なI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。 | ||
+ | 詳細は[[こちら>AVR Bootloader]]。~ | ||
+ | [[ブートローダ>AVR Bootloader]]を使用して動作するプログラムが構成できる設定リストは以下の通りです。 | ||
+ | -ATmega168(RS485) | ||
+ | これ以外の設定リストで構成されたプログラムを[[ブートローダ>AVR Bootloader]]で転送しても正常動作しません。~ | ||
+ | 転送に使用できるPCのソフトウェアはSTERM.exe(SIMPLE TERM)のみとなります。 | ||
+ | ***ATmega168用ライブラリ [#t94c6394] | ||
+ | [[GCC Developer Lite>GCC Developer Lite]]では1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。~ | ||
+ | そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。~ | ||
+ | GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET\SAM7S」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。 | ||
+ | -''スタートアップルーチン'' | ||
+ | ~C言語で作成したプログラムを実行させるために、アセンブラないしC言語で記述された必要最低限の初期化処理プログラムです。~ | ||
+ | |||
+ | -''リンカスクリプトファイル'' | ||
+ | ~実行条件に応じたメモリの割り当てを記述したファイルです。コンパイル時にリンカが参照し、コードの最終的な配置が決定されます。~ | ||
+ | '''atmega32.x'''~ | ||
+ | -''内蔵ペリフェラルのレジスタ名定義ヘッダファイル'' | ||
+ | ~マイコンに内蔵された各種ペリフェラルが持つレジスタは、決められたメモリ上のアドレスに配置されています。それらレジスタをアドレスではなくレジスタ毎に決められた名称を使い、変数のようにアクセスするためのマクロ定義が記述されています。~ | ||
+ | -''UART API'' | ||
+ | ~作成したプログラムの動作を確認を行う際に、マイコンのシリアルポートを使用する事を推奨しています。マイコンと文字によるコミュニケーション機能を用意する事で、レジスタの値やプログラムの進捗の把握、さらにはマイコンに対してPCから指令を与えるといった使い方が出来ます。~ | ||
+ | 本マイコンには複数のシリアルポートが備わっており、制御方法も多種多様なため、それに応じてライブラリとして提供する通信用APIも多くなっています。~ | ||
+ | |||
+ | -''PIO初期化API'' | ||
+ | ~煩雑なPIOの初期化を簡便に行うためのAPIです。Atmel社の提供するサンプルコードと互換性を持っています。~ | ||
+ | |||
+ | -''IRQ/FIQ制御API'' | ||
+ | ~IRQとFIQの各割り込みを制御するには、コンパイラに依存するコードが必要です。簡便のためAPIとして提供します。~ | ||
+ | |||
+ | -''ライブラリファイル'' | ||
+ | ~各APIとremap.cをコンパイルし、一つのライブラリファイルにアーカイブして提供します。~ | ||
+ | '''makelib.bat''' (APIをARMモードでコンパイルし、アーカイブするバッチ)~ | ||
+ | '''libm32.a''' (makelib.batで作成されるライブラリファイル)~ | ||
+ | **サンプルプログラム [#h809814c] |