1: 2009-06-19 (金) 16:18:24 sho | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TITLE:BTC068 ATmega128マイコンボードマニュアル | ||
+ | **概要 [#s1de0442] | ||
+ | ATmega128マイコンボードはAtmel ATmega128マイコンを搭載したマイコンボードです。 | ||
+ | **基本仕様 [#v60e7a86] | ||
+ | |商品番号 |BTC068 | | ||
+ | |リビジョン |E019C | | ||
+ | |CPU |[[Atmel ATmega128:http://www.atmel.com/dyn/products/product_card.asp?part_id=2018]] | | ||
+ | |クロック |システムクロック 16MHz | | ||
+ | |動作温度 |0~+70℃ | | ||
+ | |動作電圧 |DC4.5~5.5V (絶対最大定格 DC6V) | | ||
+ | |消費電流 |最大45mA | | ||
+ | |寸法 |W30×D39mm (±0.5mm) | | ||
+ | |コネクタ等 |30ピン外部端子×2, 通信用3ピンヘッダ (BTE063 RS232C通信ケーブル専用), リセットボタン×1, モード切替スイッチ×1 | | ||
+ | |付属品 |2列ピンヘッダ (CN1,CN2にはコネクタが半田付けされていません。お使いの環境に合わせて適宜装備してください) | | ||
+ | |環境配慮 |RoHS準拠,鉛フリー半田 | | ||
+ | **外観 [#mf44ecda] | ||
+ | | top | bottom | | ||
+ | | #ref(ATmega128_TOP.png,50%) | #ref(ATmega128_BOTTOM.png,50%) | | ||
+ | **回路図 [#o297fb19] | ||
+ | #ref(E019C.pdf) | ||
+ | CN1-3,4(VCC)端子からDC5Vを供給します。 | ||
+ | **端子配置・外形 [#a032b6a2] | ||
+ | #ref(ATmega128_LAYOUT.png,100%) | ||
+ | ***CN1 [#i4b2cb33] | ||
+ | -2.54mmピッチ2列 15ピン | ||
+ | -推奨ピンヘッダ:ヒロセ電機 HIF3H-30PB-2.54DSA | ||
+ | -推奨レセプタクル:ヒロセ電機 HIF3H-30DA-2.54DSA | ||
+ | | No. | 端子名称 | No. | 端子名称 | | ||
+ | | 1 | VCC | 2 | GND | | ||
+ | | 3 | PA0/AD0 | 4 | PA1/AD1 | | ||
+ | | 5 | PA2/AD2 | 6 | PA3/AD3 | | ||
+ | | 7 | PA4/AD4 | 8 | PA5/AD5 | | ||
+ | | 9 | PA6/AD6 | 10 | PA7/AD7 | | ||
+ | | 11 | PG2/ALE | 12 | PC7/A15 | | ||
+ | | 13 | PC6/A14 | 14 | PC5/A13 | | ||
+ | | 15 | PC4/A12 | 16 | PC3/A11 | | ||
+ | | 17 | PC2/A10 | 18 | PC1/A9 | | ||
+ | | 19 | PC0/A8 | 20 | PG1/RD | | ||
+ | | 21 | PG0/WR | 22 | PD7/T2 | | ||
+ | | 23 | PD6/T1 | 24 | PD5/XCK1 | | ||
+ | | 25 | PD4/ICP1 | 26 | PD3/TXD1/INT3 | | ||
+ | | 27 | PD2/RXD1/INT2 | 28 | PD1/SDA/INT1 | | ||
+ | | 29 | PD0/SCL/INT0 | 30 | GND | | ||
+ | ***CN2 [#n1e87094] | ||
+ | -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. | 端子名 | | ||
+ | | 1 | PF7/ADC7/TDI | 2 | PF6/ADC6/TDO | | ||
+ | | 3 | PF5/ADC5/TMS | 4 | PF4/ADC4/TCK | | ||
+ | | 5 | PF3/ADC3 | 6 | PF2/ADC2 | | ||
+ | | 7 | PF1/ADC1 | 8 | PF0/ADC0 | | ||
+ | | 9 | AVREF | 10 | GND | | ||
+ | | 11 | AVCC | 12 | PE0/PDI/RXD0 | | ||
+ | | 13 | PE1/PDO/TXD0 | 14 | PE2/XCK0/AIN0 | | ||
+ | | 15 | PE3/OC3A/AIN1 | 16 | PE4/OC3B/INT4 | | ||
+ | | 17 | PE5/OC3C/INT5 | 18 | PE6/T3/INT6 | | ||
+ | | 19 | PE7/ICP3/INT7 | 20 | PB0/SS | | ||
+ | | 21 | PB1/SCK | 22 | PB2/MOSI | | ||
+ | | 23 | PB3/MISO | 24 | PB4/OC0 | | ||
+ | | 25 | PB5/OC1A | 26 | PB6/OC1B | | ||
+ | | 27 | PB7/OC2/OC1C | 28 | PG3/TOSC2 | | ||
+ | | 29 | PG4/TOSC1 | 30 | RESET | | ||
+ | ***CN3 [#n5d68cfb] | ||
+ | -RS232C通信ケーブル接続用 | ||
+ | -JP1にてRS232C回路とATmega128のPD0/RXD端子を接続及び切断可能(デフォルトで半田ジャンパ済) | ||
+ | | No. | 端子名 | I/O | | ||
+ | | 1 | TX (EIA232←PA10) | O | | ||
+ | | 2 | GND | - | | ||
+ | | 3 | RX (EIA232→PA9) | I | | ||
+ | ***JP1 [#s6aca6fa] | ||
+ | -RS232Cレベル変換のレシーバイネーブル制御(マイコンのPE0端子に接続) | ||
+ | -オープン:レシーバディスエーブル, ショート:レシーバイネーブル | ||
+ | -出荷時ショート | ||
+ | ***JP2 [#z98ae993] | ||
+ | -外部SRAM機能のイネーブル制御(マイコンのPG1端子に接続) | ||
+ | -オープン:外部SRAMディスエーブル, ショート:外部SRAMイネーブル | ||
+ | -出荷時:オープン | ||
+ | ***JP3 [#gb1f3458] | ||
+ | -モニタLED機能のイネーブル制御(マイコンのPB7端子に接続) | ||
+ | -オープン:モニタLEDディスエーブル, ショート:モニタLEDイネーブル | ||
+ | -出荷時:ショート | ||
+ | ***D1(LED) [#nabe0994] | ||
+ | -マイコンボードに電源を印可すると点灯 | ||
+ | ***D2(LED) [#o92e9aef] | ||
+ | -モニタLEDとして利用可 | ||
+ | ***SW1(スライドスイッチ) [#k21a67a8] | ||
+ | -WRITEとあるシルク側に切り替えることでマイコンのPG4(TOSC1)端子とGNDを短絡 | ||
+ | ***PB1(プッシュボタン) [#bf3cf117] | ||
+ | -押下でマイコンのリセット端子をGNDへ短絡 | ||
+ | |||
+ | |||
+ | **各機能の詳細 [#be3482a1] | ||
+ | ***電源 [#n838854c] | ||
+ | CN1-1(VCC)端子からDC5Vを供給します。 | ||
+ | ***RS232C(CN3) [#wf24ffca] | ||
+ | #ref(E032B_RS232C.png) | ||
+ | CN3にはマイコンのDBGU端子をRS232Cレベルに変換された信号が接続されます。主にプログラムの転送やデバッグに使用します。~ | ||
+ | 接続するホストに応じて以下の通信ケーブルないしI/Fがオプションで使用できます。 | ||
+ | -PCにCOMポートがある場合~ | ||
+ | [[BTE060 RS232C通信ケーブル]] | ||
+ | -PCにCOMポートが無く、USBポートがある場合~ | ||
+ | [[BTE075 USB-RS232Cケーブル]]~ | ||
+ | [[BTE060 RS232C通信ケーブル]] + [[BTE061D USBシリアル変換ケーブル]] | ||
+ | ***スライドスイッチ(SW1) [#e1a54974] | ||
+ | Write側で起動するとブートローダモードに入り、反対側で起動するとプログラムが実行されます。 | ||
+ | ***プッシュスイッチ(PB1) [#x2f71047] | ||
+ | PB1にはマイコンのNRST端子が接続されています。押下されるとNRST端子がGNDに接続されマイコンがリセットされます。~ | ||
+ | **開発環境 [#m5b2998e] | ||
+ | ***GCC Developer Lite [#v3a411be] | ||
+ | GCC Developer Liteの詳細については[[こちら:http://besttechnology.co.jp/xoops/html/modules/knowledge/?GCC%20Developer%20Lite]]。~ | ||
+ | フルインストールないしATmegaで使用を選択する事で必要なコンポーネントが自動的にインストールされます。~ | ||
+ | ****ターゲットファイル [#ra426846] | ||
+ | GCC Developer Liteでは本マイコン用の設定を複数備えています。~ | ||
+ | #ref(GDL_CompileOption_TargetList.png) | ||
+ | 以下に本マイコンボードに対応した設定リストの一覧とその設定における機能の違いを紹介します。 | ||
+ | -ATmega128~ | ||
+ | -ATmega128(need ExtRAM)~ | ||
+ | ****[[ブートローダ>AVR Bootloader]] [#e05be651] | ||
+ | マイコンのフラッシュROMには出荷時に弊社オリジナルの[[ブートローダ>AVR Bootloader]]が書き込まれています。~ | ||
+ | 本[[ブートローダ>AVR Bootloader]]はJTAGやその他の特殊なI/Fを使用せずとも、COMポートを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。 | ||
+ | 転送方法など詳細は[[こちら:http://besttechnology.co.jp/xoops/html/modules/knowledge/?AT91SAM7S%2FX%20Bootloader]]。~ | ||
+ | [[ブートローダ>AVR Bootloader]]を使用して動作するプログラムが構成できる設定リストは以下の通りです。 | ||
+ | -ATmega128~ | ||
+ | -ATmega128(need ExtRAM)~ | ||
+ | |||
+ | これ以外の設定リストで構成されたプログラムを[[ブートローダ>AVR Bootloader]]で転送しても正常動作しません。~ | ||
+ | 転送に使用できるPCのソフトウェアはSTERM.exe(SIMPLE TERM)のみとなります。 | ||
+ | ***ATmega128用ライブラリ [#h96777bd] | ||
+ | [[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モードでコンパイルし、アーカイブするバッチ)~ | ||
+ | '''libm128.a''' (makelib.batで作成されるライブラリファイル)~ | ||
+ | **サンプルプログラム [#j8d0f0c6] |