電子回路の再入門

最近、組込み開発の学習ために、電子回路の勉強をしています。

きっかけは複雑で簡単には説明できないのですが、要は最低限の回路の知識を身に着けるためです。

組込みソフト開発は、回路基板の上で動くソフトウェアを書きます。回路にはマイコンが搭載されており、ソフトウェアはマイコンのCPUによって実行されます。PIC、AVR(Arduino)、ESP32, STM32といったマイコンの製品群・ファミリに聞き覚えはないでしょうか。

マイコンの中にはCPU以外にも様々な回路・素子がパッケージ化されています。例えば、記憶媒体として利用できるROM、センサーのアナログ値を二進数に変換するADC、その逆のDAC、外部デバイスと通信(I2C, SPI, USB ...)を行うためのモジュールなどが小さな素子の中にぎゅっと詰まっています。

そのマイコンの機能を引き出し方を決めているのが回路です。マイコン周辺の回路は電圧のHiLoだけで理解できることも多いのですが、それでもノイズ対策、インピーダンスのこと、信号増幅のことと知らないといけないことがいっぱいあります。これに制御が加わると電源回路やスイッチングの問題が出てきて急にややこしくなるのですが・・・。何がともあれ、マイコンは電子回路の知識なしには完全には理解できません(そりゃそうだ)。

マイコンの力を最大限引き出す[1]ためには、ソフトウェアのことまで見越した回路設計が必要不可欠です。だから自力である程度までやってみようと思ったのが電子回路の勉強をはじめた動機です。

自身の大学での稚拙な専門からすると半導体物質の性質などに馴染みがある方のですが、回路というマクロな世界においても不思議なことが起こるので、ダイオードすら難しい~って思っています。1週間くらい勉強してある程度割り切れるようになってきたかな?ってところ。

電子工作は機材が無いと始められないのがソフトウェア開発との大きな違いですが、最近けちけちと機材を買い揃えました。なんとかしてアウトプットに繋げたいと思います。このブログで公開できる話ができるように頑張ってみるつもりです。


  1. ハードウェアとして優れた性能を発揮することだけでなく、効率的なソフト開発を可能とする使い方をすることで魅力的なソリューションにつなげることが重要だと、ソフト志向の組込み屋としては強く感じます。そんな考えの回路設計者はいない?>_< ↩︎