マイコン時代の電子回路入門 その1 信号の伝搬

概要

マイコンの外部に電子回路を接続するときに気をつけないといけないことを、かんたんにまとめています。なるべく数式などは使わずに解説をしていきたいと思います。

はじめに

このシリーズではマイコンを使う前提での電子回路の基礎的なものを調べながら書いていきたいと思います。大きめの本屋でいろいろ探したのですが本格的で数式が大量に書いてある本や、ロジック回路などの解説本ばかりで入門向けに実際にどのようにマイコンと電子回路を連携させるかの本はほとんどありませんでした。

たとえば、有名な資料として上記があります。かなりきれいにまとまっているのですが、これは基礎をある程度学んだ人向けの資料となります。数年間勉強をして、そういえばこんなこと勉強したよなと見返すための資料としてはよいのですが、これを全部理解しようとすると非常に大変です。

この記事では数式などは極力使わずに、基本的な概念のみを説明していきたいと思います。この記事だけでは理解することはできないと思いますが、気になったことを調べるための基礎知識として利用してもらえればと思います。

上記の本もかなり実践的で、細かいところまで書いてありますが紙面に限りがあるので原理的なところまでは踏み込めていません。この本の内容を理解するための足がかりになればと思っています。

感想は上記の記事になりますので、気になった人はチェックしてみてください。個人的には購入をおすすめしている本になります。

信号の伝搬とは?

初回は信号の伝播についてです。これは回路を見たときになんでここに抵抗があるんだろうって疑問を考えてみたところ、信号の伝搬自体をイメージできていないためと思ったからになります。すべての電子回路でこの伝播を意識する必要があると思いますので、一番最初の題材としました。

基本の回路

まず信号はINから入った信号がOUTにでていく回路です。ただ、これだと実際の回路ですともう少し余計な成分が入ってきます。まず配線自体に抵抗があります。同じようにキャパシタのように静電容量もあり、コイル成分のインダクタンスもあります。明確な部品ではなく、回路の中にあるのでこれを寄生抵抗、寄生インダクタンス、寄生容量と呼びます。

RLCを追加した回路

かなり乱暴な絵ですが、上記のようにただの配線でも抵抗(R)、コイル(L)、キャパシタ(C)の成分が影響してきます。ただし、上記の図の数値は説明のため、かなり大きくしてありますのでご注意ください。

R=1KΩ, L=10uH, C=10nF

この回路をKiCADのngspiceで分析したのが上記の図です。赤がINの入力で、青がOUTの出力になります。キャパシタ成分によってOUTの信号が少しなまっているのがわかります。このなまりをいかに少なくするかが重要になるはずです。

ここよりLとCは固定で、Rを変化させてどのように波形が変わるかを確認していきます。ただし、わかりやすいようにLとCは実際の回路より非常の大きな値にしています。ここまで大きな変化は実際の回路では起こりにくいとは思います。

R=10KΩ, L=10uH, C=10nF

抵抗成分を10倍の10KΩに増やしてみました。さらに信号がなまりました。これは抵抗により電流が減ったため、キャパシタへの充放電時間がのびたためです。

R=100Ω, L=10uH, C=10nF

逆に抵抗成分を100Ωに減らしてみました。INとOUTにほぼ差がなく、きれいな波形になりました。

R=50Ω, L=10uH, C=10nF

さらに抵抗成分を50Ωに減らしたところ、ひげのような波形が現れました。リンギングと呼ばれる波形で、上に飛び出したものをオーバーシュート、下に飛び出した部分をアンダーシュートと呼びます。これはコイル成分による影響です。高速で状態が変化すると、コイルに溜まったエネルギーがこのように飛び出してきます。

R=5Ω, L=10uH, C=10nF

5Ωに減らしたところ、さらにリンギングがひどくなりました。3.3Vの信号が4.3Vを超えています。このような瞬間的な電圧でICが壊れてしまうことがあるので非常に注意しないといけない現象です。リンギングはコイル成分の量と、状態変化が早いほど影響が大きくなります。比較的低速で動く回路では問題になることがないのですが、高速通信では考慮が必要となります。

このリンギングを抑えるためには抵抗を増やす必要があります。追加する抵抗をダンピング抵抗と呼びます。dumpingの投げ売りではなく、衝撃を抑えるダンバーなどのdampingになります。

また、抵抗を回路に入れることによってノイズの影響を抑えることもできます。ノイズは比較的エネルギーが少ないので抵抗を入れることで、その影響を抑えることが可能になるようです。配線が長くなる場合にはノイズを抑えるための抵抗が信号線についていたりします。

R=20KΩ, L=10uH, C=10nF

さて、次は20KΩに増やしていました。非常に波形が怪しくなってきました。紫と緑のラインを追加していますが、そこが全幅から25%のラインになります。たいていのマイコンはこのラインより大きな振幅であれば問題なく通信ができるはずです。3.3Vの信号が3V強にまで減っています。これはRかCが大きすぎることを表しています。

R=40KΩ, L=10uH, C=10nF

40KΩに増やしていました。最初の山が紫のラインを割り込んでいます。ここまで振幅が減ると伝送が失敗するケースが増えると思います。こんな信号にならないための方法をこのシリーズでは学んでいきたいと思っています。

実験方法

KiCAD6を使って実験しています。上記のような回路を作り、それをシミュレーターでグラフ化しています。

上記の書籍の付録でSPICEの使い方が書いてありました。

調整機能を使うことで、動的に数値を変更できるのでいろいろ変えてみてどのような関係になっているのかのイメージをつかむとよいと思います。

参考資料

リンギングの原理を説明しているページです。とはいっても、すぐみて理解できるものではないと思いますが、なんとなく把握しておくことが重要だと思います。

オシロスコープで測定する行為自体が、プローブのCとL成分が回路に影響を与えてしまうことがあります。同じようにC不足で動いていない回路をオシロスコープで測定したときに、プローブのC成分が追加されてたまたま動作する場合などもあるようです。

ダンピング抵抗の値ってどのように決めるの?(マクニカ)

製品開発でも0Ω抵抗をとりあえずいれつつ、実測しながら抵抗値を変える行為も行われている可能性があるようです。

まとめ

実験はわかりやすいように、かなり大げさな数値を設定しています。趣味の範囲ですと周波数が低いですのであまりL成分を気にすることは無いのですが、原理として身につけておくとなぜその抵抗があるのかや、この波形だからダンピング抵抗が足りていないのかなとかが見えてくるかもしれません。

続編

コメント