2009年2月21日土曜日

【AVR】40pin AVRマイコン

 【40pinのAVRマイコン
 昨今はAVRマイコン(MPU)+BASCOMの組み合わせも随分ポピュラーになっています。今さらフォローする必要も無いかも知れませんが、今宵はAVRマイコンの40pinチップをピックアップしてみました。

 写真は左からATmega8535、ATmega644P、 ATmega164Pです.これらのピン配置は基本的に同じですから回路設計は共通化できます. 内蔵機能も共通点が多く、BASCOM-AVRで書いたプログラムなら転用も極めて容易でしょう. 豊富な内蔵機能でオールマイティに使えるチップです. また最初からI/Oの数が欲しい用途には、こうした大型AVRを使うとむしろスッキリするかも知れません. どのMPUも@400〜600円くらいで普通に入手できるようです. 秋葉原の秋月電子通商や大阪の共立電子が入手先です.DigiKeyなどの通販専門ショップでも扱っています.但し新規に購入するならATmega8535はお薦めしません.(既に旧式.秋月のAT90S8535は更に旧式なのです)

40pin AVRのテストボード
 マイコンいじりには、まずは「テストボードありき」と言うことらしいので、こんな感じの設計をしてみました.BASCOM-AVRで書いたプログラムは特定チップへの依存性が少ないので、Pin数の少ない異なったチップ用のプログラム開発にも活用できます. 目的のチップに存在するポートや内蔵機能だけを使ったプログラムを書けば良い訳です.そのプログラムは簡単に移植できます.なお、この回路図を参照するときは出所を明らかにして下さい.

 かなり色々な物を各ポートにぶら下げてあります.これ一つで様々遊べると思うが如何でしょうか? 昔懐かしいZ-80シングルボードコンピュータよりも、ずっと気が利いていると思います. なにしろ、これ一つでプログラムROM、RAM、タイマ/カウンタ、PWM出力、10bit A/Dコンバータ、UART・シリアル/パラレルI/O、I2C、SPI・インターフェースなど盛り沢山に内蔵されているほか、各種要因からの割り込みによる処理も可能なのです. しかもAVRマイコンは1命令1クロック動作が基本なので、最大Clock=20MHzで使えば20MIPSのスピードが出せます.(メーカー保証外だが、実力的にはもっと高速クロックでも動きます) 回路図には16文字×2行のLCD文字表示器も搭載しておきました。

 AVRマイコンのプログラム開発はMPUを基板に装着したままプログラムROMの書き換えを行なう『ISP方式』がトレンドです. そのための、In-System Programming (ISP)端子は、JN3XBY岩永さんご工夫の新配列(シングルインライン型7ピンコネクタ式)を採用してみました. 実際に新配列のISP端子を使ってみたのですが場所も取らず配線もし易かったです.これからAVRマイコンにチャレンジするなら、これに統一するのも悪くないと思いました.

◎基板が出来上がったら、さっそくBASCOM-AVRを使い:
  LCD "Hello AVR Word !"
とやってみましょう! 組込みマイコンのプログラムとは極言すればポートの操作に終始します.あえて具体的プログラム例は示しませんが、既にあるネット上の情報でスタートできる筈です.

岩永さん作成の新ISP端子配列の説明図
 参考にために、JN3XBY岩永さんご工夫による新配列式ISPコネクタの説明図を掲載させて頂きます. この図は上記40pin AVRマイコン以外のチップに適用する際にも参考にしています.(岩永さんには拙Blogへの転載をご快諾いただきました.VY-TNX !)


 時々「AVRマイコン」のキーワードで迷い込む人がいるようです. AVRマイコンやBASCOM-AVRの基本的なことを解説するサイトはネット上にたくさんできています. 詳しくは”出来が良い”と言う(笑)そちらを見てもらえば十分でしょう. 従ってweb記事の再掲載はしませんが続きの意味を込めて、記事にはなかった40pinの大型AVRマイコンと新ISP端子配列を扱ってみました.

なお、プログラム書込み器:ISPライタはUSBに接続するものがトレンドです.そうしたライタの自作方法については別のページで扱っています。(以下のリンクを参照)

開発に必要なプログラムライタの製作:==>その1その2
☆☆☆コンパクトな28pin AVRマイコンを扱うページは:==>こちら
BASCOM-AVRが、USBaspを正式サポート 詳細は:==>こちらで。(2010.9)
製作したボードのBASCOM-AVR 初期設定については:==>こちらで。(2011.5)
AVRマイコンのヒューズビットの説明と設定については:==>こちらで。(2011.5)

これからもAVRマイコンとBASCOM-AVRが愛用されることを願っています.(このBlogの画像は昨年8月17日のものを一部再利用した)

(blogger新仕様に対応済み。2017.03.29)

15 件のコメント:

JA6IRK@岩永 さんのコメント...

TTT/加藤さん、こんばんは。
当局のISP配列をご採用いただきありがとうございます。
誤挿入防止については、加藤さんのアイデアをそのまま採用させていただきましたので、共案ということで宜しくお願いいたします。
今日は、久しぶりに休めたので、あまっていた基板でまたAVRライターを作っておりました。
千秋先生のF/Wも落ち着いたので、BLOGではなく、Webサイトのほうに纏めてみようかと整理し始めました。
ATTiny2313 ¥100マイコンでのライターですから敷居は低いと思っています。
問題は、鶏と卵の関係ですが、必要な人には、書き込みサービスでもと思っております。
BASOM-AVRでのサイトも増えましたし、愛用者が増えて色々なアイデア作品が増えたら良いなと思ってます。

644の評価ボードは、そのまま市販品になりそうな位の設計ですね!
デザインが8月16日という言うのも、とってもGOODです!(当局の誕生日:笑)
よく見たら、当局のISPの図面は8月15日でした(爆)

TTT/hiro さんのコメント...

JN3XBY 岩永さん、こんばんは。

さっそくコメント有難うございます。 岩永さんが工夫されたISP端子の並びをご紹介する機会が有ったらと思っておりました。 やっと採り上げる機会が出ました。

> Webサイトのほうに纏めてみようかと・・・
Blogだと、後ろに流れて行ってしまいますので、定番になる記事は、webに纏めて頂くとFBだと思います。

> 問題は、鶏と卵の関係ですが、・・・
この問題ですが、やり方次第で例のRS-232Cからの垂れ流し式(でんし研さんの方式)でも書き込めるようです。再度挑戦して頂き、その方法も合わせてご紹介いただけると良いと思います。 書き込みサービスもFBですが、自力で何でもやりたい(旨く行くまで秘密裏に進めたい?・笑)お方も多いようですので。

> とってもGOODです!(当局の誕生日:笑)
まったくの偶然とはいえ、どうもお目出度うございます。岩永さんにAT90S8535を頂いたのがAVRマイコンを始める切っ掛けでしたね。どうも有難うございます。丁度3年前の2006年2月17日のことでした。

ライターの問題はありますが、それさえクリアすれば、あとは良き具体例でしょうね。 皆さんの製作例の数々で普及に弾みがつくだろうと思っています。

匿名 さんのコメント...

おはようございます。

このようなテストボードがあると、ちょっと思いついたことを実験するのに便利ですね。

私は、ちょっと手抜きして、デジットのMega128ボードにSW、LED、LCD、ロータリエンコーダなどを載せた基板を作っています。Mega128ボードは、ブートローダのファームウェアが搭載されており、USBを介してプログラムの書き換えが出来るものです。

Mega128はTQFPなので、実際の工作には採用することは無いのですが、ある程度簡単にプログラムを検証してから、他のチップに移植することができます。

岩永さんのシングル・インラインISP配列(SI-ISP?)は、素晴らしいです。発表されて以来、愛用しています。QIコネクタと組み合わせて使っています。

今日もまた、梅観賞に出かけてきます。

TTT/hiro さんのコメント...

JJ3CMV 酒井さん、おはようございます。

コメント有難うございます。
> Mega128ボードは、ブートローダのファームウェア・・
USB→RS-232C変換のFT232RLを搭載してあるのですね。特別なライタなしで、USB直結できるのは便利ですね。いずれターゲットの別チップに書き込む必要もありますから、酒井さんもラーターはお持ちなのでしょうね。(笑)

同じくmega168を使った物もありますね。tiny2313を使った2,000円ライタも有りますし、デジットは面白い基板やキットを作りますねえ。(笑)

> 梅観賞に出かけてきます。
この辺りでも、梅が見頃になっています。杉花粉も飛び出して、春ですねえ!

T.Takahashi JE6LVE/JP3AEL さんのコメント...

おはようございます。

私も加藤さんに8535を頂いて同じようなテストボードを作成しました。

汎用のテストボードを作っておくと思い立ったときにプログラムを書いてテストできるので進みますね。
そのときにボードを作るとなると「もういいや」ってなっちゃいますから。(笑)

その後、2313のテストボード、megaや26Lのテストボードと使うチップごとのテストボードが増えていきましたが。^^

TTT/hiro さんのコメント...

JE6LVE 高橋さん、おはようございます。

コメント有難うございます。
> 思い立ったときにプログラムを書いてテストできる・・
マイコン工作はプログラムが付き物ですから、そちらの目処も立たないと、製作も進みませんね。 それと、プログラムの都合で回路の方を変更することも有ります。やはりテストボードがあると便利です。

> チップごとのテストボードが増えていきました・・
最後は実際のチップで・・・となりますので、チップごとにテスト基板が出来てしまうことに。(笑)

使うチップもだいたい決まって来たようですし、テスト基板を共用できるチップも多いですから、一段落したように思っています。 拙宅では最初に作ったAT90S8535用でm164やm644のテストが出来ます。 そう言えばtiny26用はまだでしたが・・・26シリーズは安価でA/Dもイッパイ付いたチップでしたがディコンのようですね。 まあmega88が@250円(秋月)を使えば良い訳ですが。 これからはtiny2313、mega88、mega164/644をメインにすればC/Pが良いですね。 8pin AVRだけはどれが良いか決めかねています。(笑)

匿名 さんのコメント...

秋月の小さいユニバーサル基板に90S2313、12.8MHzのオシレータ、スイッチとLEDを4個ずつ、RS232 I/F、液晶モジュールコネクタとキツキツなテストボードで遊んでいて、そろそろIOの多いチップのテストボードを作らなきゃとちょうど思っていた所でグッドタイミングでした。

ライターはChan氏が公開されている74HC125一発のCOMポート接続の物を使っていますが、そろそろUSB接続の物も検討しないといけませんね。

自作のオモチャでは6ピンのISPコネクタを使っているんですが、いつも「このグニグニ配線は...」と文句を言いながら配線していました。文句を言うだけじゃダメですね。とてもFBな岩永さん考案のシングルラインのISP配列を今後の自作基板に使わせていただこうと思います。

TTT/hiro さんのコメント...

JA1ELQ 高橋さん、こんにちは。

コメントどうも有難うございます。
> 小さいユニバーサル基板に90S2313、12.8MHzの・・・
高橋さんもやってますね!(笑) 大抵の用途なら2313クラスのチップで間に合いますから暫く遊べますね。 プログラムメモリの容量と機能のバランスが良いのでしょう。 安価なtiny2313はこれからも重宝しそうです。

メモリーもI/Oも足りないとなれば、やはり40pinは頼りになります。 でもとっても巨大です。(笑)

> 74HC125一発のCOMポート接続の物を・・・
バッファ付きのCOMポート接続型ですね。簡単なうえ安定していて良いライタです。 USBライタは旨く作ると外部電源なしでもAVR基板を動作できるのでこれも結構便利ですよ。

> FBな岩永さん考案のシングルラインのISP配列を・・
お薦めします。 アートワークもされるお方には特にお薦め出来る配列だと思います。

またお気軽にコメントして下さい。

T.Takahashi JE6LVE/JP3AEL さんのコメント...

こんばんは。

>8pin AVRだけはどれが良いか・・・
入手が楽で安価な8pinAVRがあるとちょっとしたパーツ変わりに使えて便利なのですが。
でも2313が100円ですから50円ぐらいじゃないとありがたみがないですね(笑)

TTT/hiro さんのコメント...

JE6LVE 高橋さん、こんばんは。

コメント有難うございます!
> 50円ぐらいじゃないとありがたみが・・・
確かに、そうですねえ。 tiny2313のまとめ買いだと@90円ですから・・・。 8pin-AVRは小さいパッケージの必要がある時に使いたいのですが・・・。 Timer555より高級なことが出来そうなんです。(笑) でも、@50円くらいが適当でしょうねえ。 やっぱりtiny2313がC/Pは一番です。 活用しましょう。

cosy さんのコメント...

加藤さん,こんばんは

いろいろと模索していたのですが,このほどようやく(AVRではなく・笑)PICの開発環境をMac上に構築することができました.

とりあえず,お約束のLED点滅から始めています.
皆さんのレベルに追いつくには,まだまだ時間がかかりそうです(^^;

TTT/hiro さんのコメント...

JH5ESM 武藤さん、こんにちは。

コメント有難うございます。
> PICの開発環境をMac上に構築することができました.
macでpicですか。 素晴らしいです。 やりましたね! 以前調べたらCの開発環境があったように思いますが・・・それでしょうか?

> お約束のLED点滅から始めています
まずは動作確認からと言う訳ですね。 最初の一歩、お目出度うございます。 さて、次は何ができますか?

マイコン開発をお楽しみになって下さい。

TTT/hiro さんのコメント...

↑昨晩は遅かったので、今朝ほどリンクを辿って拝見して来ましした。(SRI)

みごと赤と緑のLEDがチカチカしていますね。hi hi

Mac上に手軽なPICマイコン開発環境が得られるのはFBだと思います。 Cでのプログラミングですから、他所から・・・Win環境からも・・移植するのは比較的容易だと思います。便利そうですね。

マイコン内蔵式のFBな無線機が登場することでしょう。

cosy さんのコメント...

加藤さん,こんばんは
今日は会社(笑)で科学体験教室実施のため出社していました.先ほど無事に終えて帰ってきたところです.
#お題は「耳に聞こえない超音波を聞いてみよう」でした

これまでのMacのPIC開発環境は一癖も二癖もあるものばかりでしたので,ようやくMacユーザがMacユーザらしく開発できる環境が整ったかな,という感じです.

移植に関しては比較的容易どころか,同じHI-TECH Cならそのまんまですね(爆)
私自身は20年前に一ヶ月ほどCに触っただけなので,K&R第2版を本棚から引っ張り出してもう一度復習しなければなりません(^^;

「マイコン内蔵式のFBな無線機」は果たしていつのことになるやら(^^;

TTT/hiro さんのコメント...

JH5ESM 武藤さん、こんにちは。

コメント有難うございます。
> 「耳に聞こえない超音波を聞いてみよう」でした
面白いテーマですね。 ヘテロダインして可聴域へ落とすのでしょうか・・・。コウモリ検知器の原理かな。

> Macユーザらしく開発できる環境が整った・・・
やはり、Macでやるからには「らしさ」が欲しいです。 大昔はCUIばかりだったので、それでも出来るとは思いますがGUIの方が良いですね。hi hi

> K&R第2版を本棚から引っ張り出して・・・
ずいぶん大昔に読みましたが、あらかた忘れました。でもソースを見れば何となくわかった気分になります。hi

> 果たしていつのことになるやら(^^;
自然に使いたくなりますから、たぶん実現は早いことでしょう・・・とプレッシャーを。(笑)