あなたが実現したいこと、学びたいこと、可能性を広げたいことに、この記事は役に立ちましたか?
ぜひ感じたことを編集部とシェアしてください。
デンソーのソフトウェア領域における取り組みや技術活用の舞台裏を語る「DENSO Tech Night」。4回目となる今回のテーマは、「0.0001秒の攻防!? 快適な運転を支えるリアルタイム制御と組み込みエンジニアの実践知」。100µsで回す制御、µs級で見守る電池、1msで保証する安全――見えない時間をどう設計するかが、快適さ・寿命・信頼性を決めます。同社の車載ECUソフトウェア開発者がその方法論を実装と検証のリアリティとともに明かしました。
-
株式会社デンソー ソフトウェア統括部 ソフトウェア技術3部 部長浜田 英嗣HIDETSUGU HAMADA
最初に登壇したのは、ソフトウェア統括部の浜田 英嗣です。浜田は、1993年から車載ソフトウェア開発に携わり、2021年にデンソーへ入社。現在はインバーター(MG)ソフトなど電動化ユニットの車載ECU(※)ソフトウェア開発に従事しています。
講演に入る前に、浜田はデンソーのパワートレインECU開発の歴史を振り返りました。
※車載ECU:車両のさまざまなシステムを電子的に制御する電子制御ユニットの総称
この記事の目次
デンソーのパワートレインECU開発の歴史
デンソーはメーター、空調、走行安全など幅広い製品を展開しますが、本セッションの焦点はパワートレイン / 電動化領域です。1997年12月、世界初の量産HEV(ハイブリッド車)「プリウス」を契機に電動車は一気に普及し、PHEV(プラグインハイブリッド車)、BEV(バッテリー式電気自動車)へと拡大していきました。機能安全、サイバーセキュリティ、OTA※など車両に求められる要件は増加の一途で、2000年を1とすると2025年にはMCU※※処理性能で約30倍、メモリで約40倍。高性能化したハードウェアを「どう使い切るか」が、制御実装の核心になっています。
このくらい大きくなってくると、マイクロコンピューターをうまく使いこなす技術が必要になります。
(浜田)
※ Over The Air (無線ネットワークを利用した通信)
※※ マイクロコンピュータユニット (車載ECUの中で特定演算を受け持つ)
制御実現に向けた実装技術 ~リアルタイム性を担保するソフトウェア~
デンソーでは、マイクロコンピューターをどのように使いこなしているのでしょうか。ここから講演は本題へ入ります。まず浜田は、そもそもリアルタイム制御とは何かを解説しました。
「アクセルが踏まれたから動く」のではなく、常に踏み込み量を観測し、その変化に連続的に応じて駆動力を調整する――それがリアルタイム制御です。
(浜田)
人が運転するときの「認知(センサー入力)→判断(演算)→操作(アクチュエーター出力)」のループをECU上に実装し、出力で変わった状態を再び入力します。この循環を安心・安全と両立させつつ、高速に回し続けるのが車載ECUの役割です。
【リアルタイム性①】1sec→100ms→10ms:時間解像度を上げる意味
ドライブレコーダーの映像を例に、1秒ごとの変化は人には十分に見えますが、制御にとっては「長すぎる」と指摘します。アクセルの踏み込みはベタ踏みまで100〜200msほど。もし100ms周期でしか読み取らなければ、入力波形は段差だらけに見え、実挙動を再現できません。10ms周期でサンプリングしてようやく追従し始めます。
雨天時、鉄板やマンホール上で起こるスリップ→グリップはさらに厄介です。人の感覚では1秒前後の出来事でも、制御的には10msの間に200rpm級の急変が起こります。ここで適切な設計を欠くと、制御不能や車両停止に至る可能性があります。
1秒の変化に対応するためにも、車載ECUは0.5〜1msなど、さらに短い周期で回転変動を検出できる設計が重要です。
(浜田)
【リアルタイム性②】モーター制御:100µsの世界へ
さらに時間軸は短くなります。続いて浜田はモーター制御の技術を紹介。
三相交流モーターの制御方法は2つあります。正弦波制御では10kHzのPWM(パルス幅変調)、すなわちFB(フィードバック)周期100µsで滑らかさを重視。一方の高回転域では矩形波(くけいは)制御に切り替え、スイッチングロスを抑えます。
ただしスリップで回転が跳ね上がり、グリップした瞬間に角度が急停止すると、矩形波のままでは角度更新が出来ずスイッチング不可、次の電流を流せず振動や停止に直結します。ゆえに100µs級で角度と電流を捉えつつ切り替えに耐える実装が必要です。
スムーズさを求めても、効率を求めても、100µsの短い周期で制御周回できる設計が要ります。
(浜田)
【リアルタイム性③】高速周回を実現する工夫
では、100µsや500µsという短い周期での制御をどのように実現するのでしょうか。鍵はMCUのハード特性を使い切ることにあります。タイマー割り込みをトリガーにAD変換器やDMAを起動だけ掛けておき、変換完了や転送完了を待ちません。結果に依存しない演算を先行させ、完了タイミングで依存演算を差し込むという、厳密に設計されたノンブロッキング処理となります。
角度データは500µsごとに積算し、回転角度の変化量から回転数を推定します。さらに差分で変動の大きさを捉え、スリップ・グリップに追随できるようにします。
(浜田)
100µsの中の「すき間時間」を資産化する
続いて浜田は、モーター制御の処理時間の工夫について解説しました。
モーター制御では100µsという非常に短い周期のなかで、電流センサーの入力から角度の計算、制御演算、Duty出力までを行う必要があります。この処理に100µsをすべて使い切ってしまうと、他の安全制御や通信処理を挿入する余地がなくなります。
そこで浜田は、メインの制御処理を60µsで終わらせ、残り40µsを「すき間時間」として活用する設計例を紹介しました。この時間に温度センサー入力や他ECUとの通信、自己診断などの優先度の低い処理を組み込むことで、限られた時間内に複数の処理を効率よく共存させることができるといいます。
AD変換や通信には待ち時間が発生します。例えばAD変換が6チャンネルで1回4µsかかると24µs、通信では1Mbpsで100バイト送ると800µsも必要になります。これを素直に待っていると824µs後に演算が始まってしまいます。これを回避するために、AD変換や通信は起動だけ先にして放置し、その間に他の演算処理を進めるんです。通信が終わっていなくてもできる計算は先にやっておく。そうすることで時間を無駄にしません。
(浜田)
このように、逐次的な処理ではなく並列的に演算を進めることで、待ち時間を削減し、全体の処理効率を向上させることが可能になります。40µsというわずかな時間でも、100µs周期を10msの中で100回繰り返すと合計4msになります。さらにそのなかで824µsを短縮できれば、全体の約2割もの処理時間を新たに確保できる計算です。
0.0001秒の積み重ねが「体感品質」を変える
824µsをギュッと縮めることで、他の機能をもっと入れられるようになります。それを成り行きではなく、きちんと設計して実現する。設計がピタッとハマったときは、やはり「うまくいった」と快感を覚えます。スリップ・グリップする瞬間もスムーズにいき、「自分の設計したものがちゃんと制御しているな」と体感できたときにやはり快感を感じます。飛行機や電車は自分で運転しないからなかなか実感できないかもしれませんが、クルマは自分で運転できるので、その「快感」をより身近に感じられるのが醍醐味です。
(浜田)
最後に浜田はこう締めくくりました。
このように、マイクロコンピューターの特徴を把握して、さまざまな設計を工夫し、高精度・高分解能で制御を回すことで、製品の品質や性能向上に貢献できます。そして日常でこのような「快感」を覚えると、もっと得たくなる。車載エンジニアや弊社の設計者は、その快感に囚われた人たちなのかもしれませんね。
(浜田)
※所属組織および取材内容は2025年9月時点の情報です。
COMMENT
「できてない」 を 「できる」に。
知と人が集まる場所。




