[トップページへ戻る]

28ピンAVR用書き込み台とLMC555利用1MHz発振器

2011年4月
AVRの工作でI/Oピンをフルに使っていたりするとISPで読み書きできません。そんなときのために書き込み用の基板を用意しておくと便利です。
ターゲット(書き込み対象のAVR)が外部発振器で動作する設定だった場合を考慮し、クロックを供給できるようにしておく必要があります。

28ピンAVR用の書き込み台を作ったので紹介します。
クロックの供給源としてタイマーIC 555を利用した1MHzの発振器も作りました。


AVR書き込み台
ATmega8/48/88/168/328など28ピンのAVR専用の書き込み台です。
電源関係VCC,AVCC,GNDと、ISP関係SCK,MISO,MOSI,RESETピンのみを配線した回路です。

緑線は基板ウラ面を通る被服線。赤線はオモテ面を通るジャンパー線。

AVRのXTAL1/XTAL2ピンにはセラロックや発振器が接続できるようにしてあります。L字型のソケット部分です。
セラロックなら横3穴に挿します。縦3穴は上からVCC,GND,clockなので、秋月で売っていた11.776MHzの発振器がそのまま挿せます。もちろん線を引き出して適当な発振器を接続してもよいです。
※(2011/04追記) 現在では販売されていないようです。

何かの作品に使ったAVRを別の作品に使い回そうと、取り外して保管しておくことはよくあります。そのようなAVRはやがて、内蔵発振器で動作していたのか、振動子(セラロック)だったか発振器だったか分からなくなります。
ヒューズビットを読み出してみれば判明しますが、外部クロックで動作する設定だったらそれを接続しなければヒューズビットが読み出せません。このようなとき、このソケットにセラロックや発振器を接続します。
ターゲットのAVRが新品(内蔵発振器で動作)だと分かっている場合は、このソケットには何も接続しません。

なお、AVRは振動子(水晶振動子やセラロック)で動作するようにヒューズビットが設定されていても、発振器を接続して動作させることができます。※逆の組み合わせでは動作しません。


発振器/発振回路
AVRを読み書きするのに外部クロックが必要なとき、クロックは1MHzあれば十分です。
ただしヒューズビットの設定で8分周が有効になっていると、AVRは 1MHz / 8 = 125kHz で動作することになります。
ライター(書き込み器)にウェイト時間の設定があれば低速書き込みの設定にしましょう。
これを忘れるとライターがAVRを認識できなかったり、書き込みエラーが発生します。
※上記動作条件のとき、avrsp.exeのオプション設定は「-d50」で書き込めました。「-d40」ではデバイスを認識できませんでした。

さて、クロック供給源として最低1MHzの発振器が欲しいわけですが、どんな部品/回路を用意すればよいでしょうか。
素直に1MHzないし8MHz程度の発振器を用意すれば済みます。1個150〜300円くらいです。
74HCU04とセラロックで定番の発振回路を組む方法は、実装面積が結構取られます。総額100円くらいです。
8ピンのマイコン(AVRやPIC)を発振器の代わりにすることもできますが、価格と機能面でもったいない使い方です。
※PICは60円やら80円で購入できますが(秋月電子)、当然PICの開発・書き込み環境が必要になります。


他に思い付くのがタイマーIC 555の無安定動作を使った発振回路です。
555は8ピンで小さく、安価です。少量の外付け部品で発振器が作れます。もったいない使い方でもありません。
ですが注意することがあります。LM555やNE555の最大発振周波数は500kHz程度のようなのです。つまり555ならどれでもよいわけではなく、数ある品種の中から1MHz以上で発振できるものを選ぶ必要があります

555の品種と発振周波数について検索したところ、こちらが参考になりました。
トランジスタ技術2011年1月号(バックナンバー案内ページ
付録「タイマIC 555 応用回路集」 第1章「タイマIC 555の基礎知識」 ↓サンプルページ
http://toragi.cqpub.co.jp/Portals/0/backnumber/2011/01/furoku/p002.pdf

LMC555が手持ちにありました。データシートの特長欄には「3MHzまでの無安定周波数」と書いてあります。
これで1MHzの発振器を作ることにします。※2MHzでもよいし、1.7MHzのように半端な周波数でも構わない。


LMC555を使った1MHzの発振器
タイマーIC 555で発振器を作る場合、デューティ比(出力のHi時間とLo時間の比率)50%が実現できるかどうかが設計のポイントになります。都合のいいことに、LMC555のデータシートにそのものズバリの回路が載っています。
その通りに組んでAVRの動作クロックに使えることを確認しました。


↑LMC555発振器によるAVR動作例。
ATmega88/LM61温度計が動作している。
※無安定動作の回路としてよく見るこちら↓の回路ではない。


f = 1MHzとなるRとCを決める際、1Ω未満の抵抗では作りにくいのでコンデンサの方を極力小さな値にします。
手持ちに0.01uFのセラミックコンデンサがあったのでこれに合わせて抵抗を決めました。
 f = 1/(1.4 * R * C) → 1MHz = 1/(1.4 * R * 0.01uF) → R = 71.4Ω
 R = 75Ωとすると、f = 1/(1.4 * 75Ω * 0.01uF) = 0.95MHz (950kHz)

ということで図において、Rc = 75Ω,C = 0.01uF としました。
電源電圧Vs = 5V として、Raは数k〜10数kΩで適当に決めます。※ I_disch = Vs / Ra < 100mA(絶対最大定格)

デューティ比はオシロスコープで確認できます。が、自分は持っていません。
OUTPUTの電圧をテスターで測定し、Vsの1/2ならデューティ比50%だろうと予想することにします。
 Vs = 4.79V のとき、OUTPUT = 2.36V (Rc=75Ω,C=0.01uF) → デューティ比 49.2%

良好ではないでしょうか。※オシロで波形を見たら予想外の形かもしれません。でもAVRは動いたから結果オーライってことで!
ALTERNATE OUTPUTにもまたクロックが出力されます。
 Ra = 13kΩ のとき、A点 = 2.40V → デューティ比 50.0%

A点に出力されるクロックのデューティ比はRaの値で調整できるようです。これを狙うならRaは20kΩの半固定抵抗にするとよいでしょう。ただ、正確にデューティ比50%でなくともAVRは動作します。

【参考】LMC555を使った発振器のパラメータと周波数
Rc C f 備考
75Ω 0.01uF 0.95MHz (1MHz) AVRが動作することを確認済み。
33Ω 0.01uF 2.16MHz (2MHz) 計算のみ。動作は未確認。
24Ω 0.01uF 2.98MHz (3MHz) 計算のみ。動作は未確認。


部品について
28ピンAVR用書き込み台
AVRの形に合わせ、ZIFソケットは300mil対応(幅が狭いIC用)のものにします。
aitendoで購入したもの(写真の緑色の)は足が太くてICソケットに刺せず、複数の基板で使い回すことはできません。
秋月で販売しているものはICソケットに抜き差しできるようです。

セラロックは1MHz以上、できれば8MHz程度がよいです。
自分は4MHzを使いましたが、ライターで低速書き込みの設定をすることなく正常に動作しています。

ピンヘッダ、ピンソケットは長いものを目的のピン幅で切って使います。
LEDはパイロットランプです。無駄に明るくする必要はありません。

タイマーIC 555で作る発振器
記事に書いた通り、1MHz以上で発振できる品種を選びます。LMC555が安価で入手しやすいのでお勧めです。

抵抗とコンデンサの値は発振させる周波数によって決めます。計算式と具体例は記事中に書きました。
部品一覧に挙げた75Ωと0.01uFは1MHzで発振させる例です。

555のDischピンからのクロック出力を利用しないなら、そこにつなぐ抵抗(図中のRa)は10kΩ固定でよいです。


28ピンAVR用書き込み台 部品一覧
部品名 部品番号 個数 参考価格/備考
ZIFソケット
(ゼロプレッシャーソケット)
-- 28ピン
300mil対応
1 幅狭IC対応であること
250円(aitendo
セラロック -- 1MHz/4MHz/8MHzなど 1 20〜40円(秋月電子
積層セラミックコンデンサ -- 0.1uF [104] 2 10個100円
ピンヘッダ -- 2列x3ピン幅 1 ISP用のコネクタとして
必要に応じて用意するもの
電源コネクタ -- -- 1 ピンソケットなどで代用も可
LEDと電流制限抵抗 -- 抵抗は470Ω〜1kΩ程度 各1 色と明るさはお好みで

タイマーIC 555で作る発振器 部品一覧
部品名 部品番号 個数 参考価格/備考
タイマーIC 555 -- LMC555
1MHz以上で発振できる品種
1 5個100円(秋月電子
抵抗 -- 75Ω [紫緑黒金]
値は発振周波数による
1 1個5円/100個100円
抵抗 -- 固定抵抗10kΩ
または半固定抵抗20kΩ
1 固定:1個5円/100個100円
半固定:50円
(積層)セラミックコンデンサ -- 0.01uF [103] 1 10個100円


◆ ◆ ◆
AVRを大量生産する用事がないにしても、書き込み台はあると便利です。
今回の記事はどちらかというとタイマーIC 555を利用した発振器作りの方がメインです。
実は、手持ちで余っていた555を何とか利用できないかと調べた結果、できた記事です。
でも結局、11.776MHzの発振器がいくつか余っているのでそれを使うことにします。


(C) 『昼夜逆転』工作室 [トップページへ戻る]
inserted by FC2 system