回路設計

マイコンのリセット回路と水晶の設計|RCとリセットIC・負荷容量の計算

緑の基板に載った黒いマイコンと銀色の水晶・小さなコンデンサ・押しボタンの写真に、マイコンのリセットと水晶・15pF・CL=C÷2+浮遊容量 の文字

※本記事にはプロモーション(広告)が含まれています。

マイコンのリセット回路は、電源が動ける電圧まで上がりきるまで RESET 端子を Low に保つ回路で、RC だけより電圧を見張るリセット IC のほうが確実です。RC とリセット IC の比べは電源の立ち上がりの節、水晶の2つのコンデンサ C=2×(CL−Cs)は早見表から選べます。

結論|まず30秒でわかる答え

RC だけの回路は「時間」しか見ないので、電源がゆっくり上がると約0.5Vで解除されてしまいます。電圧を見張るリセット IC(例:2.93V で判断し、200ms 待って解除)を使うと確実です。
水晶の2つのコンデンサは C=2×(CL−Cs)で決めます。CL 10pF・Cs 3pF なら 15pF です。

この記事に出てくる言葉

わからない言葉が出てきたら、ここに戻ってきてください。本文でも、初めて出たところで言い換えます。

リセットマイコンを止めて、プログラムの最初の行から動かし直すこと
RESET 端子リセットをかける足。多くは Low(0V 近く)でリセット
RC リセット抵抗(R)とコンデンサ(C)で、RESET を遅れて High にする回路
リセット IC電源の電圧を見張り、足りない間は RESET を Low にする部品。電圧監視 IC とも言う
クロックマイコンが動くテンポ。1秒に何回動くか(Hz)
水晶(水晶発振子)決まった周波数で振れる部品。クリスタルとも言う
負荷容量 CL水晶が決まった周波数で振れるために、外につなぐべき容量
浮遊容量 Cs端子や配線に自然にある、見えない小さな容量
ppm100万分の1。周波数のずれの大きさを表す

マイコンのリセット回路と水晶(クロック)は、プログラムより先に整えておく「土台」です。ここがあいまいだと、電源を入れても動かない、ときどき固まる、時計がずれる、といった見つけにくい不具合になります。

この記事では、実在の部品のデータシートと設計資料を使って、リセット回路の選び方と、水晶のコンデンサの値の決め方を、順に計算していきます。

緑の基板に載った黒いマイコンと銀色の水晶・小さなコンデンサ・押しボタンの写真に、マイコンのリセットと水晶・15pF・CL=C÷2+浮遊容量 の文字

マイコンを動かす3点セット:電源・リセット・クロック

マイコンは、電源・リセット・クロックの3つがそろって初めて動きます。この記事は、そのうちリセットとクロックの回路を扱います。

マイコン(小さなコンピュータの部品)は、プログラムを書き込んだだけでは動きません。次の3つが、プログラムより先に必要です。

名前役目この記事の例
電源安定した電圧を届ける3.3V と、近くのコンデンサ(パスコン)
リセット電源が整うまで「待て」をかけるリセット IC TPS3839K33
クロック動くテンポ(1秒に何回)を決める水晶 12MHz と 15pF ×2

電源とパスコンは別の記事で扱っています。ここでは、残りの2つ、リセットとクロックに絞ります。

マイコンとは?仕組みとできること、CPUとの違いを図解|計算ツール付き
あわせて読みたい
マイコンとは?仕組みとできること、CPUとの違いを図解|計算ツール付き

マイコンが中で何をしているか、CPU との違いから先に知りたい人に

つまり、プログラムが正しくても、リセットとクロックが不安定だとマイコンは正しく動きません。

中央のマイコンに、上から電源(3.3V+パスコン)、左からリセット(リセットIC 2.93Vで見張る)、右からクロック(水晶12MHz+15pF×2)がつながる図

リセットとは:電源が整うまで「待て」をかける号令

リセットは、マイコンを止めて、プログラムの最初の行から動かし直すことです。電源を入れた直後・電圧が下がったとき・ボタンを押したときにかけます。

多くのマイコンは、RESET 端子が Low(0V 近く)の間は止まっていて、High(電源の電圧の近く)になったら、プログラムの最初の行から動き出します。

電源を入れた直後は、電圧がまだ上がりきっていません。そこでマイコンが走り出すと、途中から動いたり、おかしな値を書き込んだりします。だから、電源が整うまで RESET を Low にして待たせます。

たとえると

かけっこの「よーい、ドン」です。全員がスタートラインにそろうまで「よーい」で止め、そろってから「ドン」を出します。リセット回路は、この「ドン」を出す係です。

リセットをかける3つの場面

場面何が起きているリセットの役目
電源を入れた直後電圧がまだ上がりきっていない上がりきるまで待つ
電圧が下がったとき電池の消耗や一瞬の停電(瞬断)いったん止めて、戻るまで待つ
ボタンを押したとき固まったときに人がやり直す最初から動かし直す

つまり、リセット回路の仕事は「電源が動ける電圧にある間だけ、マイコンを動かす」ことです。

電源を入れた直後・電圧が下がったとき・ボタンで押したときの3枚のカードと、RESET端子がLowの間は止まりHighで動き出す説明

RC リセット:コンデンサがたまるまで RESET を Low に保つ

RC リセットは、抵抗とコンデンサで RESET の電圧をゆっくり上げる回路です。10kΩ と 1µF なら τ=10ms で、解除まで数 ms〜20ms ほどかかります。

いちばん簡単なリセット回路は、抵抗(R)とコンデンサ(C)を1つずつ使う RC リセットです。電源を入れると、R を通ってコンデンサに電気がたまり、RESET の電圧がゆっくり上がります。しきい値(ここを超えたら High とみなす電圧)を超えたところで、リセットが解けます。

τ(時定数)
τ = R × C = 10kΩ × 1µF = 10ms

τ(タウ)は「たまり具合が約63%になる時間」です。しきい値まで上がる時間は、次の式で出せます。

解除までの時間
t = −τ × ln(1 − しきい値の割合)

ここで混乱しやすいのですが、しきい値はマイコンごとに決まった幅があります。たとえば ATmega328P(Arduino Uno にも使われているマイコン)のデータシートでは、RESET 端子のしきい値は 0.2〜0.9×VCC です。

しきい値計算解除までの時間
0.2 × VDD−10ms × ln(1 − 0.2)2.2ms
0.5 × VDD−10ms × ln(1 − 0.5)6.9ms
0.9 × VDD−10ms × ln(1 − 0.9)23.0ms

同じ R と C でも、解除までの時間は 2.2ms から 23ms まで、約10倍の幅があります。RC リセットは、時間をきっちり決めたいところには向きません。

回路図のダイオードは、電源を切ったときにコンデンサの電気をすばやく電源側へ逃がす道です。これがないと、電源をすぐ入れ直したときに C がたまったままで、リセットがかかりません。

RC時定数の決め方|フィルタ・遅延・チャタリング除去の部品値を実例で
あわせて読みたい
RC時定数の決め方|フィルタ・遅延・チャタリング除去の部品値を実例で

τ の求め方と、遅延・チャタリング除去での R と C の決め方を実例で

つまり、RC リセットは部品2〜3個で作れますが、解除の時間は「だいたい」しか決まりません。

VDD 3.3Vから10kΩと1µFでRESETへつなぐ回路図(放電用ダイオードつき)と、しきい値0.2・0.5・0.9×VDDで解除まで2.2ms・6.9ms・23.0msの表

電源の立ち上がりで比べる:RC リセットとリセット IC

電源が 1ms で速く上がるときは RC でも問題ありません。100ms かけてゆっくり上がると、RC は VDD がまだ約0.5V のときに解除してしまいます。

RC リセットの弱点は、電源の上がり方で見えてきます。同じ 10kΩ・1µF の RC と、リセット IC(TPS3839K33)を、電源の上がる速さを変えて比べます。解除は「RESET が VDD の半分を超えたとき」と仮定した、イメージの計算です。

電源の上がり方RC リセットの解除リセット IC の解除
速い(1ms で 3.3V)7ms(VDD 3.3V)201ms(VDD 3.3V)
ゆっくり(100ms で 3.3V)16ms(VDD 0.5V)290ms(VDD 3.3V)

ゆっくり上がる電源では、RC の RESET は電源のすぐ後ろを追いかけるだけです。VDD が約0.5V のうちに「VDD の半分」を超えてしまい、マイコンが動けない電圧で「ドン」が出ます。

リセット IC は、VDD そのものが約2.96V を超えるまで待ち、さらに 200ms(typ)待ってから解除します。電源の上がり方に関係なく、同じ電圧の線で判断します。

つまり、RC は「時間」を、リセット IC は「電圧」を見ています。電源がゆっくり上がる回路では、RC では足りません。

電源が1msと100msで上がる2つのグラフ。RCのRESETは100msのとき16ms・VDD0.5Vで解除、リセットICは290msで解除(イメージ)

RC リセットの弱点3つ:電圧が足りるかは見張れない

RC リセットは、ゆっくり上がる電源・一瞬の電圧の落ち込み・じわじわ下がる電池の3つに弱い回路です。

1. ゆっくり上がる電源

大きなコンデンサがある電源や、電流を絞った電源は、ゆっくり上がります。前の節のとおり、100ms かけて上がると VDD 約0.5V で解除されます。ATmega328P を 10MHz で動かすのに要る 2.7V(データシートの動作条件)の、ずっと手前です。

2. 一瞬の電圧の落ち込み(瞬断)

電源が 3.3V から 2.0V に 5ms だけ下がったとします。コンデンサの電気はすぐには抜けないので、RESET は約2.79V までしか下がりません。マイコンには電圧が足りないのに、リセットがかからないまま動き続けます。

3. じわじわ下がる電池

電池が少しずつ減って 2.7V を割っても、RC の RESET は電源と一緒に下がるだけで、High のままです。マイコンは足りない電圧で動き続けます。

注意

電圧が足りないまま動くと、書き込み中のデータが壊れる、途中から動いて固まる、といった不具合になります。原因が電源なのかプログラムなのかがわかりにくく、見つけるのに時間がかかります。

つまり、RC は「待つ時間」を作るだけです。電圧そのものを見張るには、リセット IC が要ります。

ゆっくり上がる電源でVDD0.5Vで解除、3.3Vから2.0Vへ5msの瞬断でRESETは2.79Vのまま、2.7Vを割ってもRESETはHighのままの3枚のカード

リセット IC:電圧を見張って、足りない間は RESET を Low にする

リセット IC は、電源の電圧を見張り、決まった電圧を下回っている間は RESET を Low にする部品です。TPS3839K33 は 2.93V で判断し、戻ったら 200ms 待って解除します。

リセット IC(電圧監視 IC、スーパーバイザとも言います)は、3本足の小さな IC です。つなぐのは、電源(VDD)・GND・RESET 出力の3本だけです。例として、TI の TPS3839K33 の数字を見ます。

項目値(typ)意味
見張る電圧(VIT−)2.93V(2.857〜2.974V)これを下回ると RESET を Low
ヒステリシス29mV解除は 2.93+0.029 ≒ 2.96V
解除までの待ち(td)200ms(120〜350ms)電圧が戻ってから待つ時間
下がったときの速さ20µs電圧が割れたら、すぐ Low
出力の形プッシュプルHigh も Low も IC が出す

ヒステリシスは、判断の電圧に小さな幅を持たせる工夫です。2.93V ちょうどの付近で電圧がふらついても、Low と High が細かく切り替わらないようにしています。

データシートは、電源のインピーダンス(電流の流れにくさ)が高いとき、VDD 端子の近くに 0.1µF のコンデンサを置くことを勧めています。

POINT

見張る電圧は、マイコンが動ける最低の電圧より少し上を選びます。この記事の例(動くのに 2.7V 要る)なら、2.93V の K33 が合います。3.3V の電源の下限より下で、2.7V より上、という位置です。

つまり、リセット IC は電源の上がり方に関係なく、「電圧が足りているか」で判断します。

3.3VにTPS3839K33のVDDと0.1µFをつなぎ、RESET出力をマイコンのRESETへつなぐ回路図と、見張る電圧2.93V・解除の電圧約2.96V・待ち200ms・落ちたとき20µs・プッシュプルの表

リセット IC の動き:割れたらすぐ止め、戻ったら待つ

リセット IC は、電源を入れたとき・瞬断・電池の減りの3つを、同じ 2.93V の線で判断します。

前の節の RC の弱点3つを、リセット IC ではどう扱うかを1つの図にまとめました(TPS3839K33 の typ の値で描いたイメージです)。

場面リセット IC の動き
電源を入れたときVDD が約2.96V を超えてから 200ms 待って High
5ms の瞬断(3.3V→2.0V)2.93V を割った時点で Low。戻ってから 200ms 待って High
電池がじわじわ下がる2.93V を割った時点で Low。マイコンを止める

データシートには、VDD が 0.6V 以上あれば出力が決まった値になると書かれています。電源を入れた直後のごく低い電圧でも、RESET が Low に保たれるということです。

つまり、リセット IC を1個足すだけで、RC の弱点3つがまとめて片づきます。

電源VDDとRESETの波形。電源投入から200ms待って解除、5msの瞬断ですぐLowになり200ms後に解除、電池が下がって2.93Vを割るとLow(イメージ)

データシートの推奨回路の読み方:部品1つずつに役目がある

推奨回路の値は「代表的な値」です。部品ごとの役目がわかれば、自分の回路に合わせて直せます。

マイコンのデータシートやアプリケーションノート(メーカーの設計資料)には、RESET 端子の推奨回路が載っています。例として、Microchip の AVR マイコンの設計資料 AN2519 の回路を読みます。

部品値役目
R(プルアップ)4.7kΩRESET を High に引き上げる。中にもあるが、ノイズの多い所では弱い
C100nFひげのようなノイズを GND へ逃がし、ノイズでのリセットを防ぐ
D(ダイオード)VCC へ静電気を VCC へ逃がす。RESET 端子には VCC 側の保護が入っていない

それぞれに、データシートの「ただし書き」があります。

R:4.7kΩ 以上

書き込み器(STK600)を使うなら 4.7kΩ 以上、デバッグ機能(debugWIRE)を使うなら 10kΩ 以上にします。小さすぎると、書き込み器が RESET を Low にできません。ATmega328P の中のプルアップは 30〜60kΩ です。

C:使えないときがある

debugWIRE や PDI という書き込み・デバッグの方式では、RESET 端子で信号をやりとりするので、C を付けられません。

D:なぜ外に付けるのか

AVR は RESET 端子に 12V をかけて書き込む方式があるので、VCC への保護ダイオードを中に入れていません。12V の書き込みを使わないなら、外に付けることが勧められています。

フローティングとは?「浮いている」状態とプルアップ・プルダウンの選び方|計算ツール付き
あわせて読みたい
フローティングとは?「浮いている」状態とプルアップ・プルダウンの選び方|計算ツール付き

RESET を引き上げる理由と、プルアップ抵抗の値の決め方がわかる

つまり、推奨回路は「そのまま写す」より「役目を読んで、自分の条件で直す」ものです。

VCCから4.7kΩでRESETを引き上げ、100nFでGNDへ、ダイオードでVCCへつなぐ回路図(AN2519図3-1を描き直し)と、プルアップ・ノイズ・静電気の3つの役目のカード

データシートのリセットの表で見る4つの数字

リセットの表では VPOT・SRON・VRST・tRST の4つを見ます。特に SRON(電源の上がる速さの条件)を外れると、マイコン内蔵のリセットに頼れません。

多くのマイコンは、中にパワーオンリセット(POR:電源を入れたときのリセット)を持っています。ATmega328P のデータシートの表から、見るべき数字を拾います。

記号値意味
VPOT1.1〜1.6V内蔵のリセットが解ける電圧。動ける電圧より低い
SRON0.01〜10V/ms電源の上がる速さの条件。3.3V なら 0.33ms〜330ms で上がること
VRST0.2〜0.9×VCCRESET 端子のしきい値。RC の時間がばらつく元
tRST2.5µs 以上リセットとみなす Low の幅。これより短いひげは無視される

SRON の計算はこうです。3.3V を 10V/ms で上げると 3.3÷10=0.33ms、0.01V/ms なら 3.3÷0.01=330ms です。電源がこの範囲の速さで上がるなら、内蔵のリセットが働きます。

ただし、内蔵のリセットが解ける電圧(VPOT)は 1.1〜1.6V と、動ける電圧より低めです。足りない電圧で動き出さないように、データシートにはブラウンアウト検出(BOD:電圧が下がったらリセットする機能)が用意されています。ATmega328P は 1.8V・2.7V・4.3V(typ)から選べます。

データシートの読み方|読む順番6ステップとmin・typ・maxの意味
あわせて読みたい
データシートの読み方|読む順番6ステップとmin・typ・maxの意味

データシートの min・typ・max と、表の下の条件の注記の読み方がわかる

POINT

内蔵のリセットと BOD で足りるのは、電源が SRON の範囲で上がり、BOD のレベルが動作条件に合うときです。条件が守れない、または電源の落ち込みを確実に見張りたいなら、リセット IC を足します。

つまり、データシートの表は「内蔵のリセットに任せてよいか」を決めるための材料です。

VPOT 1.1〜1.6V、SRON 0.01〜10V/ms、VRST 0.2〜0.9×VCC、tRST 2.5µs以上の表と、内蔵リセットとBODで足りる条件の説明

クロックの源は3種類:内蔵 RC・セラミック発振子・水晶

時計や通信のように正確さが要るなら水晶を使います。ずれの大きさは、1日あたり何秒ずれるかで考えるとわかりやすくなります。

クロック(マイコンの動くテンポ)を作る方法は、大きく3つあります。

種類周波数の精度1日のずれ特徴
内蔵 RC±10%約2.4時間部品が要らない。正確さは低い
セラミック発振子±0.5%(±5000ppm)約7.2分速く起動する・安い
水晶(クリスタル)±20ppm約1.7秒正確。起動は 1〜10ms

ppm は100万分の1です。1日は 86,400秒なので、20ppm なら 86,400×20÷1,000,000 ≒ 1.7秒ずれます。

表の内蔵 RC は ATmega328P の工場出荷の値(3V・25℃)、セラミックと水晶は AN2519 の比較表の例です。部品ごとに違うので、使う部品のデータシートで確かめます。

たとえると

クロックは、合唱の「メトロノーム」です。テンポがずれると、時計は進んだり遅れたりし、通信では相手と息が合わなくなります。USB や UART(シリアル通信)の速さも、このテンポから作られます。

つまり、正確さが要らない回路は内蔵 RC で足り、時計・USB・正確な通信には水晶を使います。

内蔵RC ±10%で1日約2.4時間、セラミック発振子±0.5%で約7.2分、水晶±20ppmで約1.7秒ずれる比較表

水晶の回路:水晶1個とコンデンサ2個

水晶の回路は、マイコンの XIN と XOUT の間に水晶をつなぎ、両端から GND へコンデンサを1個ずつ入れる形です。

水晶は、決まった周波数で振れる部品です。マイコンの中の増幅回路と組み合わせて、クロックを作ります。例として、Raspberry Pi の設計資料(RP2040 というマイコン)の回路を使います。

部品この例の値役目
水晶12MHz・負荷容量 CL 10pF(Abracon ABM8-272-T3)周波数を決める
C1・C215pF ずつ水晶が決まった周波数で振れるための容量
直列抵抗1kΩ(XOUT 側)水晶に強くかけすぎない(振れすぎで傷めない)
見えない容量 Cs3pF と仮定端子と配線に自然にある容量

ここで大事なのは、C1 と C2 のつながり方です。マイコンから見ると、C1 も C2 も GND へつながっています。でも水晶から見ると、水晶の片方の端 → C1 → GND → C2 → もう片方の端、と C1 と C2 は「直列」につながっています。

直列のコンデンサは、合わせると小さくなります。同じ 15pF が2つなら、合わせて 15÷2=7.5pF です。これに見えない容量 Cs を足したものが、水晶から見た容量になります。

つまり、水晶にとっての容量は「C1 と C2 の直列」+「見えない容量」です。

マイコンのXINとXOUTの間に水晶12MHz(CL10pF)と1kΩ、両端から15pFのC1・C2でGNDへつなぐ回路図と、負荷容量・振れすぎ防止・見えない容量Cs 3pFのカード

水晶の負荷容量の計算:C=2×(CL−Cs)

負荷容量の式は CL=C1×C2÷(C1+C2)+Cs です。C1=C2=C なら C=2×(CL−Cs)で、CL 10pF・Cs 3pF なら 14pF → 15pF を選びます。

負荷容量の式
CL = C1 × C2 ÷(C1 + C2)+ Cs

C1 と C2 を同じ値 C にすると、C1×C2÷(C1+C2)=C×C÷2C=C÷2 になります。式を C について並べ替えると、次の形です。

コンデンサの値
C = 2 ×(CL − Cs)
STEP 1 CL を読む

水晶のデータシートで負荷容量 CL を探します。ABM8-272-T3 は CL=10pF です。

STEP 2 Cs を見積もる

端子と配線の見えない容量です。AN2519 は 2〜5pF を目安にしています。ここでは RP2040 の資料と同じ 3pF と置きます。

STEP 3 C を計算する

C=2×(10−3)=2×7=14pF。売られている値(E12:10・12・15・18・22pF…)で近いのは 15pF です。

STEP 4 確かめる

15÷2+3=7.5+3=10.5pF。ねらいの 10pF に近いので OK です。RP2040 の資料も 15pF を選んでいます。

もう1つ例を見ます。昔からある背の高い HC-49 の水晶(Abracon ABL)は、CL が 18pF のものが標準です。Cs を 5pF とすると、C=2×(18−5)=26pF → 27pF です。

コンデンサは、温度で容量が変わりにくい C0G などの温度補償用のセラミックコンデンサを選びます。容量が温度で動くと、周波数も一緒に動くからです。

X5R・X7R・C0Gの違いと選び方|セラミックコンデンサの温度特性を回路用途別に完全整理
あわせて読みたい
X5R・X7R・C0Gの違いと選び方|セラミックコンデンサの温度特性を回路用途別に完全整理

水晶の横に C0G を選ぶ理由、X5R・X7R との温度特性の違いがわかる

つまり、水晶の CL から見えない容量を引いて2倍すれば、コンデンサの値が出ます。

STEP1 CL=10pF、STEP2 Cs=3pF、STEP3 2×(10−3)=14pF→15pF、STEP4 15÷2+3=10.5pFの4枚のカードと式

早見表:水晶の CL と見えない容量 Cs から C1・C2 を選ぶ

答えだけ欲しい人向けの表です。値は E12 のいちばん近い値で、( )は実際の CL です。

水晶の CLCs=2pFCs=3pFCs=5pF
8pF12pF(8)10pF(8)5.6pF(7.8)
10pF15pF(9.5)15pF(10.5)10pF(10)
12.5pF22pF(13)18pF(12)15pF(12.5)
18pF33pF(18.5)33pF(19.5)27pF(18.5)
20pF39pF(21.5)33pF(19.5)33pF(21.5)

計算は C=2×(CL−Cs)を E12 の値に丸めたものです。Cs がわからないときは 3pF の列から始め、試作で周波数を測って合わせます。

マイコンのデータシートに C1・C2 の範囲が書かれていることもあります。たとえば ATmega328P は 12〜22pF です。表の値がその範囲に入るかも確かめます。

つまり、迷ったら Cs=3pF の列の値から試し、周波数を測って決めます。

CL 8・10・12.5・18・20pFとCs 2・3・5pFの組み合わせで、C1・C2のE12の値と実際のCLを並べた早見表

コンデンサの値を間違えると:周波数がずれる・起動しない

CL 10pF の水晶に 22pF を付けると、CL が約3.5pF 大きくなり、周波数が約52ppm(目安)遅れます。時計なら1日に約4.5秒です。

よく見る 22pF を、計算せずに流用したとします。

22pF を付けたとき
CL = 22 ÷ 2 + 3 = 14pF(ねらいより +3.5pF)

AN2519 の比較表には、水晶の周波数は容量 1pF あたり ±15ppm ほど動く、という目安があります。これを使うと、3.5×15≒52ppm のずれです。1日なら 86,400×52÷1,000,000 ≒ 4.5秒になります。動く量は水晶ごとに違うので、あくまで目安です。

容量を大きくすると周波数は下がり(遅れ)、小さくすると上がります。

注意

ずれだけでは済まないこともあります。AN2519 は、容量が足りないと安定に振れず、大きすぎると振れはじめないことがある、と書いています。「たまに起動しない」基板は、まずこの値を疑います。

つまり、水晶のコンデンサは「だいたい」で選ばず、計算した値の近くに合わせます。

15pFならCL10.5pF、22pFならCL14pFで約52ppm遅れ1日に約4.5秒(目安)の2枚のカード

水晶の配線の注意:近く・短く・GND で囲む

水晶は、マイコンのすぐ横に置き、配線を短くし、まわりを GND で囲みます。水晶の下や横に、速い信号線を通しません。

水晶の回路は、とても小さな電流で動いています。配線が長いと、見えない容量が増えて周波数がずれ、ノイズも拾いやすくなります。AN2519 も RP2040 の資料も、同じことを勧めています。

近く

水晶とコンデンサは、マイコンの XIN・XOUT 端子のすぐ横に置きます。

短く

配線はできるだけ短く、まっすぐにします。見えない容量 Cs が小さく、計算どおりになります。

GND で囲む

水晶のまわりを GND の銅箔で囲み、コンデンサの GND 側も、すぐそばの GND につなぎます。

下に通さない

水晶の下や近くに、クロックや通信などの速い信号線を通しません。ノイズが水晶に移ります。

【完全図解】デカップリングコンデンサとは?|パスコン・バイパスとの違いと「ICの近くに置く理由」
あわせて読みたい
【完全図解】デカップリングコンデンサとは?|パスコン・バイパスとの違いと「ICの近くに置く理由」

コンデンサを「IC の近くに置く理由」を、パスコンの例から理解できる

つまり、水晶は「マイコンとセット」で、すぐ横にまとめて置きます。

基板を上から見た図。よい配置は水晶がマイコンのすぐ横でGNDに囲まれ、よくない配置は水晶が遠く配線が長く速い信号線がすぐ横を通る(イメージ)

測って確かめる:電源と RESET を同時に見る

オシロスコープの2チャンネルで電源と RESET を同時に見て、RESET が High になるのは電源が上がりきってからかを確かめます。

作った基板では、次の順に確かめます。

最低限ここだけ

1. RESET は電源のあと

オシロスコープの1チャンネルに電源(VDD)、2チャンネルに RESET をつなぎ、電源を入れます。RESET が High になるのが、VDD が上がりきってからなら OK です。リセット IC なら約200ms 遅れて High になります。

2. ボタンで Low になる

リセットのボタンを押したとき、RESET が Low になり、離すと High に戻るかを見ます。テスターでも、押したときに 0V 近くになるかは確かめられます。

余裕があれば

電源を何度もすばやく入れ直す、電源をゆっくり上げる、といった厳しい条件でも、毎回同じように動くかを確かめます。

水晶の周波数を測るときは注意が要ります。プローブ(測定器の先)にも容量があるので、XIN や XOUT に直接当てると負荷容量が変わり、周波数がずれたり、振れが止まったりします。マイコンのクロックを外に出す機能があれば、その端子で測ります。

つまり、まず「RESET は電源のあと」の1つを確かめれば、リセット回路の大きな失敗は防げます。

オシロスコープの画面のイメージ。CH1の電源VDDが上がりきってからCH2のRESETがHighになる波形と、最低限ここだけ・余裕があればのカード

よくある失敗4つ:リセットと水晶

RESET を浮かせる・コンデンサの値の流用・水晶を遠くに置く・RESET の押し合い、の4つがよくある失敗です。

1. RESET を浮かせたまま

プルアップなしで中のプルアップだけに頼ると、ノイズの多い所でときどきリセットがかかります。4.7kΩ 以上の抵抗で引き上げます(書き込み器・デバッグ機能の条件も確かめる)。

2. コンデンサの値を流用する

前の基板の 22pF をそのまま使うと、水晶の CL が違えば周波数がずれ、起動しないこともあります。毎回 C=2×(CL−Cs)で計算します。

3. 水晶を遠くに置く

配線が長い、まわりに GND がない、すぐ横を速い信号線が通る。これらは周波数のずれやノイズの元です。近く・短く・GND で囲みます。

4. RESET の押し合い

RESET 端子が入力と出力の両方になる(双方向の)マイコンがあります。そこへ High と Low を自分で出す(プッシュプルの)リセット IC を直結すると、両方が逆の電圧を出したときに電流が流れすぎます。TPS3839 のデータシートは、間に直列抵抗を入れる例(47kΩ)を示しています。

つまり、どれも「動いたり動かなかったり」になる失敗です。作る前に4つを確かめておきます。

RESETを浮かせたまま、Cを大きく流用、水晶を遠くに置く、双方向のRESETにプッシュプルのICを直結の4枚のカード

よくある質問(FAQ)

Q. マイコンのリセット回路は RC だけでいい?

A. 電源が速く上がり、瞬断や電池の減りがない回路なら RC でも動きます。電圧を見張りたいならリセット IC を使います。

Q. リセット IC と RC リセットの違いは?

A. RC は「時間」で解除し、リセット IC は「電圧」を見張って解除します。リセット IC は瞬断や電池の減りにも反応します。

Q. リセット IC の電圧はどう選ぶ?

A. マイコンが動ける最低の電圧より少し上で、電源の下限より下を選びます。3.3V の回路なら 2.9V 前後がよく使われます。

Q. 水晶のコンデンサは何 pF にする?

A. C=2×(CL−Cs)で計算します。CL 10pF・Cs 3pF なら 14pF で、近い値の 15pF を選びます。

Q. 水晶の負荷容量 CL とは?

A. 水晶が決まった周波数で振れるために、外につなぐべき容量です。水晶のデータシートに書かれています。

Q. 水晶とセラミック発振子の違いは?

A. 水晶は ±20ppm ほどと正確で、セラミック発振子は ±0.5% ほどと粗い代わりに、安く速く起動します。

まとめ
  • リセット回路は、電源が動ける電圧まで上がるまで RESET を Low に保つ回路
  • RC リセット(10kΩ・1µF)は時間しか見ない。ゆっくり上がる電源では VDD 約0.5V で解除してしまう
  • リセット IC(TPS3839K33)は 2.93V を見張り、戻ったら 200ms 待つ。瞬断や電池の減りにも反応する
  • 推奨回路は、部品ごとの役目(プルアップ・ノイズ・静電気)を読んで、自分の条件で直す
  • 水晶のコンデンサは C=2×(CL−Cs)。CL 10pF・Cs 3pF なら 15pF。C0G を選ぶ
  • 水晶は近く・短く・GND で囲む。作ったら電源と RESET を2チャンネルで見る

リセットとクロックが安定すれば、あとはプログラムの問題に集中できます。動かないときは、電源→GND→リセット→信号の順に確かめていきましょう。

参考にした資料

法令・規格・資料は改訂されることがあります。実務で使うときは、発行元の最新版で確かめてください。

この記事の理解を深める本と道具
おすすめの道具

波形を自分の目で確かめるなら、手元にオシロスコープが1台あると便利です。RIGOLのデジタル・オシロスコープ DHO804です。周波数帯域70MHz・4チャンネルで、12ビットの垂直分解能をもちます。

おすすめの道具

コンデンサやコイルの値を、手元の部品で測って確かめたいときに向いています。DER EEのLCRメータ DE-5000です。インダクタンス(L)・静電容量(C)・抵抗(R)を100Hz〜100kHzの5つの周波数で測れ、ESRやD・Qも表示できます。

¥22,000 (2026/10/08 08:09時点 | Amazon調べ)
おすすめの本

「マイコンのリセット回路と水晶の設計」を、実際の基板設計のテクニックとあわせて身につけたい人に向いています。CQ出版『トランジスタ技術SPECIAL』の、プリント基板設計の実用的なテクニックを集めた号です。

S
シラス
電験三種・QC検定1級 / メーカーでパワエレ設計・品質保証 実務10年

メーカーで回路設計と生産技術(品質改善)に携わってきた経験をもとに執筆しています。むずかしい専門用語をできるだけ使わず、はじめて学ぶ人がつまずかないように、図とたとえで説明することを大切にしています。

テーマ別に、もっと深く学ぶ

気になるところから読んでも大丈夫です。どの記事も、はじめて学ぶ人向けにやさしく書いています。

つまずきやすい「違い」を一気に解決
コンデンサの種類と違い|電解・セラミック・フィルムの特徴と見分け方・選び方
違いがわかる
コンデンサの種類と違い|電解・セラミック・フィルムの特徴と見分け方・選び方

水晶の横に使うセラミックと、電解・フィルムの違いを一覧で

違いを確かめる →
FG・SG・LG・PGNDの違い|なぜグランドを分けないと機器が壊れるのか
違いがわかる
FG・SG・LG・PGNDの違い|なぜグランドを分けないと機器が壊れるのか

水晶を囲む GND はどれ?FG・SG・LG・PGND の違いと分ける理由

違いを確かめる →
SMDとDIPとは?表面実装と挿入実装の違いと使い分け|チップ部品のサイズとICパッケージ
違いがわかる
SMDとDIPとは?表面実装と挿入実装の違いと使い分け|チップ部品のサイズとICパッケージ

背の高い HC-49 と小さな表面実装の水晶。のせる部品と差す部品の違い

違いを確かめる →
ASICとFPGAの違いとは?「書き換えできる回路」を超やさしく解説
違いがわかる
ASICとFPGAの違いとは?「書き換えできる回路」を超やさしく解説

マイコンの仲間の ASIC と FPGA。「書き換えできる回路」との違い

違いを確かめる →
計算力アップ・資格対策
時定数τの意味と計算方法|「63.2%ルール」を使って過渡現象を得点源にする
計算力アップ
時定数τの意味と計算方法|「63.2%ルール」を使って過渡現象を得点源にする

RC リセットで使った τ と「63.2%」の意味を、計算で確かめられる

計算してみる →
静電容量とは?公式C=εS/dの意味と求め方をやさしく図解|計算ツール付き
計算力アップ
静電容量とは?公式C=εS/dの意味と求め方をやさしく図解|計算ツール付き

pF・µF の容量が何で決まるか、C=εS/d から練習できる

計算してみる →
抵抗値Ω(オーム)とは?1Ωの意味とkΩ・MΩ、オームの法則の計算例
計算力アップ
抵抗値Ω(オーム)とは?1Ωの意味とkΩ・MΩ、オームの法則の計算例

プルアップの 4.7kΩ・10kΩ の計算に使う、オームの法則の例題

計算してみる →
電力の公式が混乱する人へ|P=VI・I²R・V²/Rの使い分け完全整理
計算力アップ
電力の公式が混乱する人へ|P=VI・I²R・V²/Rの使い分け完全整理

抵抗やリセット IC の消費電力を、P=VI などで出す練習

計算してみる →

-回路設計
-