マイコンの話を始める前に、組み込みシステムっていうのは、どんなものなのかを説明したい。まずは、
身の回りの組み込みシステム ~ エンベデッドシステム(Embedded
system)
そもそも、組み込みって何?
特定の機能を実現するために家電製品や機械等に組み込まれるコンピュータシステムのこと。 by wikipedia |
身の回りにある電気製品の多くは、組み込みシステムが内蔵されている。近年、その傾向はより強くなっている。
たとえば、どのような物があるかというと→
コンピュータというと、パソコンや大型計算機を連想することも多いと思うが、このようなシステムは組み込みシステムとは考えない。(汎用システムと呼ばれることもある。一般に、携帯やスマホは組み込みシステムに分類されるが、最近のものは、能力的に汎用システムといっても過言ではない。)
特徴として→
これ以外に、
などが考えられる。
従来技術(アナログ制御)と組み込みシステム(デジタル制御)の比較
たとえば、ストーブの温度制御(室温を一定に保つ)を考えてみる。従来技術(アナログ制御)では、
温度センサの出力(電気信号)をアンプで増幅し、基準値と比較し、一定の電圧以下(温度が低い)なら、駆動回路を通じてヒータをONし、それ以上ならOFFする。(単純なON/OFFしかできない) 制御回路は、装置ごとに専用の物を設計する必要がある。
組み込みシステムを用いると、温度センサの信号を増幅する部分と駆動回路については従来技術と同様であるが、基準・比較回路が、センサの信号をデジタル値に変換するA/D変換器とマイクロコントローラ(以下、マイコンと呼ぶ。それと、マイコンに書き込まれたソフトウエア)に置き換わっている。マイコンのソフトウエアを変更することによって、ヒータ出力を微調整したり、非常に寒い場合は急加熱などの制御が可能となる。(→
高付加価値化)
また、マイコンや周辺回路をある程度共通化することができるため、部品点数の削減(=コストダウン)が図れる。
アナログ技術を使っても、複雑な温度制御は可能だが、非常に複雑な回路構成となり高度な設計技術が必要になる。また、バグの発生やバージョンアップなどにも対応が難しい。(ソフトウエアなら、ネットからダウンロードなんていう手もある)
※マイコンボードを共通化して、LANとUSBを拡張ボードとし、交換可能な形とした例。マイコンボードの設計コストの低減や、ソフ ト開発の共通化が図れる。アナログ制御でもある程度の共通化は可能であるが、相当な技術が必要となる。
アナログ制御の何が難しいのかと言うと,,,
信号がアナログであるがゆえに、
|
デジタル制御でも、アナログ回路部分はあるので上記の影響を完全に取り除くことはできないが、アナログ回路部分を極力少なくすることで、影響範囲を小さくすることはできる。(また、数値化 ~要するにソフトウエアで処理する段階 してしまえば、基本的に上記の問題は発生しない)
また、ソフトウエアを工夫することで、ノイズ等の影響を取り除くこともできる。
アナログ回路では、電圧レベルそのものが情報であるため、本来の信号にノイズの電圧が加算されることで、仮にノイズが微小であったとしても、情報に誤差が生じてしまう。 |
ところで、
デジタル1年、アナログ3年、高周波10年 |
今でもそう言っているのかどうかは定かではないけれど、電気屋の世界では、技術者の養成にかかる時間を、こんな風にとらえていた。 (筆者の実感としても、この見方は合っていると思う。)
比較や、基準電圧の生成などのアナログ回路の設計は、本気でやろうとすれば、かなり難易度が高い。増幅や駆動回路の設計だってそうである。であるのだが、この部分については設計の共通化が進んでいるので、あまり突っ込まなければ、アナログ回路設計に必要な難易度は比較的低い(..と言い切るのは語弊があるかな..設計者のみなさん、ごめんなさい)と思う。
そもそも、増幅や駆動回路をモジュール化して何の苦もなくマイコンやヒータなどに直結可能な製品(部品)も、数多く出荷されている。
結果として、組み込みシステムによるデジタル制御では、相対的に設計の難易度を下げ、かつ、部品の共通化によるコストダウンと高付加価値化が可能になる。(良い事づくめのように思われるが、そうでもない面もある。)
このような背景があり、また、近年の半導体技術の進歩によって、マイコンの単価が急激に下がった(安いのなら100円未満で買える)などの要因によって、何でもかんでも組み込みシステム(マイコン制御)の様相を帯びるようになってきた。こんなのマイコンで制御する必要ないじゃん...て思えるものでも....である。
このように、組み込みシステムの応用分野は、今後も拡大してゆくものと考えられる。特に、エネルギー分野などでは、スマートxxという名称で、相当、動きがあるという話を最近、良く耳にする。
~以下、余談~
近年の日本のものづくり産業(特に家電などの電機関連業界)の凋落は、組み込みシステムの普及浸透と無縁ではない。技術の汎用化によって、差別的な製品が作れなくなったこと、単純なコスト競争に晒されたことなど、色々影響している。(と思う...)
....
高機能なマイコン、モジュール化されたアナログデバイスの普及によって、以前に比べてシステム開発が格段に容易になった半面、デバイスのブラックボックス化と囲い込みが進んだ結果として、動くからいいじゃん的な設計が増えているのではないかと危惧する。また、筆者が以前に所属していた職場では、開発の現場から技術の蓄積が急速に失われていく現実を数多く目の当たりにした。要因として、雇用形態の変化などの複合的な問題が重たく横たわっていることも、また、事実であるが。
組み込みシステムの構成
前述のように、組み込みシステムは、コンピュータを中心としたデジタルな処理システムである。中核となるのは、一つの半導体チップに様々な機能を集積した部品であるマイクロコントローラ(=マイコン)である。
パソコンなどの汎用システムは、CPU、メモリ(RAM、ROM)、周辺機器(ネットワークやUSB、HDDなど)は、それぞれ単体の部品から構成することが多い。汎用システムは、どのような用途に使われるか事前に想定することが難しいため、高機能かつ高性能なシステム設計が求められがちであり、結果として、それぞれの機能を専用部品で構成する事が必要となる。
対して、組み込みシステムでは、設計段階で必要な機能や性能を決定できるため、パソコンの様なオーバスペック的(?)な設計はしないことが多い。(余計なコストを掛けられないしね。冷蔵庫に内蔵されたCPUの性能を持ちだして、「俺のマシンはバリバリだぜ」なんていう奴は居ないだろう。パソコンの場合なら、そういうマニアックな輩も居なくはないのだが)
組み込みシステムの黎明期は、パソコン用のCPUやメモリを流用してシステムを構成することも多かったが、コストや体積などの問題から、現在では、専用のチップが開発されていて、これを用いてシステム設計を行う事が普通になった。(時代は変わったもんだ...
って、もう20年以上前からそうだったんであるが。)
上図は、組み込みシステムの一般的な構成例を示したものである。
最近のマイクロコントローラは、1チップ上に何でもかんでも詰め込む傾向がある。(そうすることが高付加価値化なんだろう。)...
なので、ちょっと高機能なチップを選択すると、それですべてが間に合ってしまうってことは良くある。
現在のマイコンには、CPUを中心として、様々な機能が集積されている。通常、RAMは数K~数100Kバイト程度、ROMはFlash形式の物が多く、1MB以下のことが多い。クロック周波数は数100MHz以下で、GHzオーダのものは、まだ、製品化されていないようである。(クロックアップが難しいとかではなく、組み込みに特徴的な消費電力に対する制約が足を引っ張っているため。)
構成例を見てもらえばわかるように、センサとA/D変換器(アナログ電圧を数値に変換する装置)の間にはアンプが挿入されている。(不要な場合も多い) これは、A/D変換器の入力電圧範囲と、センサの出力電圧範囲をマッチングさせるためのものである。双方の入出力条件が一致するなら不要である。(デジタル信号で直接やり取りできるデバイスも多い。RS232CやSPIやな響きだの様なシリアル通信やパラレル信号をやり取りできるものもある。)
また、モータやヒータなど、駆動(=
ドライブ)に大電力を必要とするものは、マイコンでは、能力的に直接、ドライブすることができない。(マイコンでドライブ出来る電力は0.1W程度であるが、モータやヒータでは、消費電力が数100kWなんていうものもある。)
このような物は、アンプを用いて電力増幅を行う必要がある。
※I/Oポートとは、マイコンが外部とデータをやり取りする際のデータの出入り口のこと。デジタル信号でやり取りされる。
スイッチや、LEDの様な小電力な素子なら、マイコンで直接ドライブすることが可能である。(D/A変換器はデジタル値をアナログ電圧に変換する)
※写真の例は8bit幅のI/Oポート(2個)とスイッチ及びLEDが接続された基板の例。I/Oポートの各ビット(1ビット幅)が1つのスイッチとLEDに対応(接続)している。
オープンループとフィードバック制御
ストーブを例に、組み込みシステムの具体的な動作を概観すると、
という動作を繰り返し、実行する。このような制御方式をフィードバック制御と呼ぶ。(つまり目標値との誤差を入力に戻す制御方法)
これに対して、オープンループとは、大雑把にいえば、やりっぱなしということ。例えば、部屋の電灯のスイッチなどでは、スイッチを操作(ON/OFF)したことによる結果(電灯が点灯または消灯)は、スイッチの動作に反映されない。(=やりっぱなし)
以上の動作を繰り返し実行する。センサを持つ組み込みシステムは、フィードバック制御系を構成している事が多い。
フィードバック制御系の制御則(つまり制御のアルゴリズム)には、様々な物がある。(古典制御、現代制御、ファジイ、ニューラルネット、GA ...
etc)
制御対象の特性によって、最適な制御則を選ぶ必要がある。
以上を見てもらうと、なんとなく想像がつく(ついて欲しい...)と思うのだが、身の回りにある粗方の電気機器は、組み込みシステムで再構成可能である、ということである。要するに、このようなモデルは、非常に汎用性が高いということだ。
あらためて、マイコンとは何者ぞ.... ということで、
|
以上を表す言葉である。組み込みシステムの分野では、2のマイクロコントローラを指す事が多い。
いずれも、マイクロxxという言い方をしているので、超小型のコンピュータシステムということになる。
ただし、超小型というのは図体だけの問題であって、機能的・構造的には超大型のシステムと大差はない。規模の違いのみというのは言い過ぎか。
※1メインフレーム時代を知らない現代っ子には、超小型と言ってもピンと来ないかもしれないが。
※2
マイクロコントローラの場合、一つのICチップで構成されている事が多い。つまり、1つのICチップに電源などの簡単な回路を接続 すれば、立派なコンピュータシステムが出来上がる。
この様なマイコンを使って、色々な機器を制御する事を「マイコン制御」と言ったりする。
世の中にマイクロコントローラを開発・製造販売しているメーカ(ベンダという)は複数ある。最近は、ファブレス(製造設備を持たない設計専業メーカ。対して製造ばっかりやっているメーカをEMSという)が開発したCPUを搭載したチップがシェアを伸ばしている。聞いたことがあるかもしれないが、英国のARM社の製品である。スマホやタブレットはARMのCPUを搭載したものが多い。
また、比較的小規模なシステム(冷蔵庫とか、洗濯機の様な、複雑な制御を必要としないもの)には、Microchip
Technology社のPICやATMEL社ののAVRのようなマイコンもある。
対して、純国産のチップでは、ルネサスエレクトロニクス(日立製作所、三菱電機、NECの半導体部門が合併してできた会社)が製造するRXやSHなどがある。
どのチップを選択するかは、高度に政治的かつ未来予測的で、素人には手を出しづらい。単価や機能だけでは判断できない要素が多々あるためである。せっかく多額の投資をして開発環境を整備し、技術者のトレーニングが終わったと思ったら、ディスコン(製造中止)の憂き目には合わないまでも、怪しい雰囲気を醸し出す情報を入手した...うげっ..という経験のある技術者は少なくない。と思う...
(筆者も経験している。...かように、部品選択は常に悩ましい問題を孕む。)