ECUとは
さて、今回はECUの中身の話。ECUといっても、その構造はかなり千差万別である。例えばP1とP2は共にECUの基板を見ているが、全然構造が異なるのが分かるだろう。ただこれでは説明ができないので、もう少し一般化してみることにする。
P1:これはGeneral Motorsがプラグインハイブリット車として発売を予定しているシボレー・ボルトの電源供給部に使われるパワーインバータ | P2:これはアメリカの半導体会社Freescaleが試作した、デジタルインスツルメントパネルのサンプル。下側の緑の基板が、上にあるパネルの裏側に収まるという具合 |
図1は、特に「この用途」というわけではないのだが、自動車で利用されることの多いECUの代表例的な構造である。すなわち、センサーあるいはスイッチ類の入力に合わせてモーターを駆動する、という機能を持つECUである。
こうした機能は、例えばドアロック、ウィンドウ、電動シート、ワイパー/ウォッシャーなど数多い。モーターをアクチュエータに読み替えれば、サスペンションなどもこの類だし、燃料ポンプとか燃料噴射機構なども広義にはこの範疇に入る。最近は低価格の車両にも多く使われるようになってきた電動ステアリングアシストも、もちろんこうした構造だ。
図1 |
さて、こうした広い範囲で利用されるこのECUは、何をやっているか?というと、基本的にはさまざまなセンサーからの信号、あるいはスイッチなどの入力を、MCUという回路に入力する。
このMCUというのは後述するが、基本的に入力信号のレンジが0V~3.3Vとか0V~5Vといったケースが多い。これに対し、センサー類は必ずしもこのレンジの電圧が出てくるとは限らないし、スイッチ類の回路もこの範囲から外れた電圧の場合がある。
そこで、入力された信号をMCUに合うように変換する回路が前段で設けられている。ちなみにこの回路はまた、ノイズなどの影響で突発的に高い電圧が掛かった場合、それをMCUに伝えないような保護回路としても働くことがある。
この変換回路を経てMCUに信号が入ったら、MCUはその信号を分析し、それにあわせて出力制御回路に信号を出す。今回はモーターの制御だから、当然モーターの種類によって制御方式は色々あるのだが、比較的よく使われている三相モーターの場合は、CPU内部でPWM(Pulse Width Modulation)という特殊な変調方式を使ってモーターあたり3本の信号で駆動されることになる。
MCUの種類によってもこのあたりは変わるが、一般に1つのMCUで2つのモーターを制御できる、つまり6本のPWM信号の出力が可能な製品が多い。ただMCUそのものは先も書いたとおり3.3Vなり5Vで駆動される製品が多く、一方モーターは12V駆動のものが多い。そこで出力電圧を12Vに持ち上げると共に、モーターの駆動に必要な電流量を確保する仕組みが必要である。この回路をドライバと呼ぶが、これはモーターを駆動する(ドライブする)ところからついている。このドライバは、PWM信号1つ毎に1つずつ用意される。
次に、他のECUと通信するための仕組みである。自動車の車内でECU同士が通信するための方法として、「CAN」(Controller Area Network)あるいは「LIN」(Local Interconnect Network)といったものが広く使われており、最近はより高速・高機能な「FlexRay」というものも限定的に登場してきた。これらを使っての基本的な通信機能はすべてMCUに内蔵されているが、ただこちらもノイズの影響などを防ぐため、簡単な保護回路がMCUに外付けの形で搭載されており、これを経由して接続する仕組みだ。
最後が電源である。車内は基本的に12Vが供給されているが、MCUは何度も繰り返すがもっと低い電圧で動作する。なので、12V電源を3.3Vなり5Vに変換する回路が用意されており、これを経由して繋ぐという仕組みだ。
P3は、Freescaleの自動車関連の簡単なモーター制御用ECUのリファレンスデザイン(自動車メーカーがECUを自分で作るための見本)である(http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDDSCSNSLESSBLDCAW60)。このボードの場合、元々は汎用(つまりECU以外の用途にも利用する)を前提にしたために、色々と必要ない機能も搭載されているのだが、この中でMCUは中央の小さい部分、ドライバーは左の別基板になっていて、残りが電源と入出力関係という形になっている。入出力が図1と比べると無駄に豊富ではあるが、概ね図1とよく似た構造になっているのが判る。ようするに、こうした基板が車のあちこちにバラ撒かれているわけだ。
P3:右が、MC9S08AW60という型番のMCUの汎用開発ボード、左がモーター制御用ボード | P4:右側のボードは、色々な入出力を接続できるように、多数の回路を組み込んでいる関係で、MCUと電源部以外がほぼ全部入出力に割り当てられているため、かなり大きなものになっている。モーター制御だけに専念すれば、左と同じ程度の基板面積に抑えられるだろう |
もちろん実際にはこのボードが剥き出しになっていることはほとんどない。耐衝撃や耐振動、防水などの要求を満たすために、樹脂製とか金属製のケースに収められた形で車体のあちこちにネジ止めなどで固定されている筈だ。先のP1を見ると、アルミニウムのかなり丈夫なケースいの中に収められているのが分かるだろう。
そんなわけで、ECUというものは、MCUの周りにいくつかの部品を組み合わせた形で実装されている、という事をご紹介したわけだが、「んじゃそのMCUって何?」という質問が当然出てくるだろう。MCUはMicro Controller Unitの略で、日本では通常「マイコン」と呼んでいる。「マイコン」という言葉は、1970年台にはパソコンの前身にあたるものを指す言葉として広く使われていたが、このマイコンと昨今のマイコンは、異なるものである。
まず定義からしてしまえば、マイコンとは「一種の」PCである。ただし見かけはPCと大きく異なっている。最大の違いは、周辺回路や必要なものを、ことごとく内蔵しているという点だ。
ちょっとCar WatchというよりはPC Watch的な話になってしまって恐縮だが、図2に一般的なPCの構造を示してみた(ここで言うPCは、単にWindowsやLinuxが動くパソコンのみならず、AppleのMacも含んだ話である)。中核にあるのがMPU(Micro Processing Unit)であるが、主に演算をする「だけ」の機能である。
図2 |
俗に呼ばれるCPUとは、このMCUの中の「演算処理を行う回路そのもの」を指す。入出力は、それに接続されたチップセットと呼ばれるものが担い、ここからHDD/SSDやディスプレイ出力、USB経由でのマウス/キーボードの接続、音声入出力やネットワーク接続などを行っている。またこれとは別に、メモリをモジュールで購入して装着する必要がある。
こうしたメモリやCPU、チップセットなどを搭載した基板をマザーボードと称しており、他に起動用のFlash Memoryとか、RTC(リアルタイムクロック)など、CPUを動かすために必要なパーツがマザーボードの上に山ほど搭載されている。このマザーボードとHDD/SSD(必要なら更にDVDドライブやBDドライブ)、それと電源がケースに収められているというわけだ。
一方MCUはというと、図3の様な構造のワンチップである。
図3 |
CPUコアはもとより、プログラムやデータなどを格納するFlash MemoryやEEPROM、プログラムの実行に必要なSRAMをワンチップ化し、更にRTCや外部との様々な通信I/F、アナログ/デジタル信号の入出力まですべて取り込んでいる。あとはこのMCUに外部から電源だけを供給すれば、そのまま直ぐにでも動き出す仕組みだ。要するに単体では動作せず、いっぱい周辺回路を用意しないと立ち上がりもしないのがMPU、単独で動作するのがMCUという訳だ。現在「マイコン」という言葉を使う場合は、このMCUを指すと考えてほしい。
MPUとMCUの違いは他にもある。例えば
動作周波数:MPUは2~3GHz動作があたりまえ。MCUは1~2MHzあたりから始まり、一番高速なものでも200~300MHz程度
メモリ:MPUは外部にメモリを接続する形で、最近は数GBのメモリを利用できることも珍しくない。一方MCUは、Flash Memoryが数KB~最大でも1MB程度、SRAMは少ないものだと数十バイト、大きくても数百KB程度でしかない
性能:MPUは絶対性能を追い求める方向性がメインで、これを支えるため32bit~64bitのアーキテクチャが主流。一方MCUは一部4bit以下も残るが、メインは8~16bit。最近やっと32bitが次第に増えつつある
消費電力:MPUはCPU単体でフル稼働時に数十W~100W程度、待機時でも数Wのオーダー。対してMCUはフル稼働時でも1~2Wやそれ以下、待機時には一番少ないものだと1μW程度
価格:MPUは安いもので1万円弱、サーバー向けなどの高価なものでは数十万円。対してMCUは高いものでも数百円程度、安いものだと10円未満
生産量:MCUの出荷量は、概ねMPUの100倍近く。例えばMPUのナンバーワンベンダーであるIntelは、2011年におよそ4億個強のMPUの出荷を予定している。一方MCUでかなり有力なベンダーであるARMという会社のアーキテクチャを搭載した製品は、2010年だけで55億個出荷されている。MCUは他のアーキテクチャも多いため、トータルするとMPUを圧倒している
といったあたりだろうか。車でたとえるなら、MPUは3ナンバー以上の、それもかなり豪華かつパワフルな車種。MCUは軽自動車からファミリーカー、一番上が5ナンバーのちょっと豪華目なあたりまで、といった具合に考えてもらえればよい。
当然これらは使い分けをすることになる。パワーウィンドウの操作に5ナンバーグレードのMCUは要らないので、車で言えば軽自動車にあたる8bit MCUで十分だし、逆にEV車のエネルギー管理とかになると、ファミリーカーグレードの16bit MCUか、もう少し上の32bitローエンドクラスでないと間に合わないという訳だ。
ちなみにここまでの議論はカーナビを始めとするインフォテイメント系の話は抜きにしている。次回はこのあたりを少しご紹介したい。
【お詫びと訂正】記事初出時、「Pulse Width Modulation」の綴りを誤っておりました。お詫びして訂正させていただきます。
■カーエレWatch バックナンバー
http://car.watch.impress.co.jp/docs/series/cew/
(大原雄介 )
2011年 9月 7日