エンジン性能を支えるECUの驚異的な演算速度
こんにちは、監督の由元です。
今日は、エンジンの回転速度と、ECUの制御の速さについて考えることでECUの気持ちになってみます。
高回転のエンジンを制御できるECUはどれくらいの速さで動いているのでしょう?
例えばエンジン回転が6000rpmというと、1分間に6000回転している状態ですね。
6000rpmは、1秒に100回転していますから、1回転あたりの時間は0.01秒(10ms)です。 (1msは1000分の1秒)
ECUはこの速さの中で、気筒を判別し、各気筒に決まった量の燃料を噴射するよう、インジェクタの通電、遮断を繰り返し、且つ、決められた点火時期になるよう、イグナイタを通して点火コイルの通電、遮断を繰り返す必要があります。
ここで、時間をわかりやすく表現するために、1秒を10メートルのチャートとして考えます。すると以下のようになります。
時間 チャート 回転数
1秒=1000ms 10m 100回転
0.1秒=100ms 1m 10回転
0.01秒=10ms 10cm 1回転
0.001秒=1ms 1cm 1/10回転(36°CA)※CAはクランクアングルつまり回転角度
0.1ms=100μs 1mm 1/100回転(3.6°CA)
0.01ms=10μs 0.1mm 1/1000回転(0.36°CA)
10μsの速さでECUの出力をコントロールすることで、なんとか0.36°CAの精度で点火時期や噴射時期を調整できそうです。
通常、ECU等の組み込み制御で使われるマイコンの動作周波数(クロック)は20MHz程度です。(最新のECUは400MHz 64ビットというのもあるようですが)
1秒に2000万回のクロックを刻むので、1周期は0.05μs(50ns)と非常に高速です。エンジンが高回転で回っていても、ECU側から見ればスローモーションに感じますね。
普段、車に乗っている最中に意識することはないかもしれませが、エンジンが回っている間、ECUは数μs毎にセンサの入力を読み、演算して出力してくれています。
(※実際はもう少し複雑ですが 簡単にイメージが湧く表現にしています)
とある車種のノーマルECU。
ビートに使っているMoTeC M4。もはや20年前のものですが、マイコンのスペックは33MHz・32bitと、当時としてはかなり高速。