自動車のインターフェース、セキュリティ、および計算負荷に対応したFPGAの選択と使用
DigiKeyの北米担当編集者の提供
2022-01-12
従来、自動車の計算タスクは、マイクロコントローラユニット(MCU)やアプリケーションプロセッサ(AP)によって行われてきました。一般的な中級車には25~35個、高級車には70個以上のMCU/APが搭載されています。自動車には、先進運転支援システム(ADAS)、インフォテイメント、制御、ネットワーク、セキュリティなどのタスクに対し、非常に高度な計算能力がますます求められるようになっています。これらのアプリケーションの多くには、人工知能(AI)を組み合わせた画像・ビデオ処理の形式でマシンビジョンが関係しています。
センサ、カメラ、ディスプレイなどの周辺機器から要求される電気的インターフェースやプロトコルのすべてを処理することは、プロセッサアーキテクチャだけでは困難です。また、これらのプロセッサは多くの場合、マシンビジョンやAIなどのタスクの極端な計算要求を満たすことができません。
車載用システムの設計者はこの複雑さに対処するために、既存のMCU/APを置き換えるのではなく、MCU/APと他のデバイスとの間のブリッジとして機能し、通信や他の計算負荷の高いタスクをオフロードすることによってそれらを増強するために、フィールドプログラマブルゲートアレイ(FPGA)に注目しています。
FPGAはさまざまな電気的インターフェースやプロトコルをサポートするようにプログラムできるため、MCU/APとセンサ、カメラ、ディスプレイ間のブリッジとして機能します。また、FPGAは超並列で計算や演算を行うことができるため、計算負荷の高いビジョン処理やAIタスクを実行することにより、ホストプロセッサを他の活動に解放することができます。
この記事では、最新の自動車の処理要件について説明し、FPGAで対応可能な車載用アプリケーションについて考察します。その後、Lattice SemiconductorのFPGAの例を紹介し、コネクティビティ、処理、セキュリティの問題を解決するための使用方法を示します。また、設計者が開始するのに役立つ関連開発ボードも紹介します。
FPGAの対象となる車載用アプリケーション
現在の自動車には、ADAS機能をサポートするために、カメラ、レーダ、LiDAR、超音波検出器など、多くのセンサが車外に搭載されています。多くの場合、異なるセンサからデータを取得し、そのデータに前処理(必要に応じたノイズ除去やフォーマット)を行い、センサフュージョンを使用してデータを結合する必要があります。これにより、異なるセンサからのデータを個別に使用する場合よりも不確実性の少ない情報が得られます。多くの場合、データを分析し、判断し、適切な行動をとるために、AIアプリケーションが採用されています。
比較的最近の傾向として、電子(または「デジタル」)バックミラーの普及があります。この場合、広角の高解像度カメラをリアウィンドウ内に設置します。このカメラからのビデオストリームは、従来のミラーに代わってデジタルディスプレイに表示され、後部座席の乗員に邪魔されないクリアな後方視界を実現します。場合によっては、サイドミラーに搭載されたカメラからのビデオストリームが、リアウィンドウカメラからのビデオストリームとマージされることもあります。これら3つのフィードをつなぎ合わせて1つの映像を提供し、超広角の電子ミラーに表示することで、ドライバーは車両周辺の状況をより高度に把握することができます。
最近のもう一つの傾向として、ダッシュボードやステアリングコラムに搭載された、またはバックミラー(通常または電子ミラー)に内蔵された車内カメラが普及しています。これをAIと組み合わせることで、運転席に誰が座っているかを認識し、それに合わせて運転席とミラーを調整するなど、車内ミラーをさまざまなタスクに活用することができます。このようなシステムにより、ドライバーが道路に注意を払っているか、居眠りをしていないかを監視するだけでなく、眠気の兆候や、てんかん発作や心臓発作などの医療上の問題や苦痛を察知して、適切なアクションを取ることができます。これらのアクションには、ハザードランプを点灯させる、ブレーキをかける、車を道路脇に誘導することなどが含まれます。さらに、車のロック防止やライトの点滅によって幼い子供やペットが誤って後部座席に取り残されないようにしたり、同乗者が携帯電話、バッグ、荷物などを後部座席に置き忘れた場合にドライバーに警告したりするためのアプリケーションもあります。
ビデオベースのアプリケーションに関しては、1つのビデオ入力を複数のストリームに分割することが要求される場合もあれば、複数のビデオストリームを1つに集約することが設計要件となる場合もあります。
電気自動車(EV)の普及に伴い、モータを監視および制御したり、バッテリ寿命を最大限に延ばすために充電プロセスを監視および管理したりする必要性が生じます。
これらすべてに加えて、現在の自動車の多くは5GまたはV2Xに対応し始めています。このV2X(「vehicle to anything」)とは、道路側のインフラや他の車両など、車両に影響を与える(または車両から影響を受ける)可能性のある他の要素と車両との間の通信を指します。この接続性に加えて、車両がハッキングされないようにするためのセキュリティが必要になります。
車載グレードのデバイス
すべてのFPGAが車載用アプリケーションに適しているわけではないことを覚えておきましょう。車載電子部品評議会(AEC)は、1990年代にクライスラー、フォード、GMの3社によって設立された組織で、共通の部品認定基準や品質システム基準を策定することを目的としています。AECドキュメントの中でも最もよく参照されるのが、AEC-Q100「集積回路の故障メカニズムに基づくストレス試験認定」です。
IATF 16949:2016は、自動車産業のサプライチェーンおよび組立工程において、欠陥の防止、ばらつきや無駄の削減を重視した、継続的な改善を行う品質管理システムの構築を目的とした技術仕様です。ISO 9001規格に基づくIATF 16949:2016は、国際自動車産業特別委員会(IATF)とISOの技術委員会によって作成されました。
自動車市場向けの電子システムサプライヤは、半導体サプライヤがAEC-Q100規格に準拠した製品を提供し、品質システムのISO/TS-16949認証を取得することをますます求めています。
作業に適したFPGAの選択
FPGAは非常に柔軟性に富んでいますが、それぞれのデバイスファミリは機能や性能の組み合わせが異なるため、特定のタスクにより適します。たとえば、組み込みビジョンアプリケーションの場合、最新のカメラやディスプレイにはMIPIインターフェースがしばしば採用されています。MIPI CSI-2(カメラ/センサ)とDSI(ディスプレイ)の両プロトコルには、D-PHYと呼ばれる通信物理層(PHY)が採用されています。従来のMCU/APはこのインターフェースをサポートしていないかもしれませんが、Lattice SemiconductorのCrossLink-NX組み込みビジョンおよび処理FPGAなど、一部のFPGAはサポートしています。
CrossLink-NXデバイスは、PHYごとに10ギガビット/秒(Gbits/s)をサポートする2つのハードウェアMIPI D-PHY(4レーン)トランシーバに加え、5Gbits/sのPCIe、1.5Gbits/sのプログラム可能な入出力(I/O)、1066Mbits/sのDDR3をサポートしています。これらのデバイスは、低電圧差動信号(LVDS)、LVDSの低電圧版であるSub-LVDS、Open LVDS Display Interface(OLDI)、およびシリアルギガビット媒体独立インターフェース(SGMII)など、従来の電気的インターフェースやプロトコルもサポートしています。その結果、これらのデバイスは、ビデオストリームの集約、ビデオストリームの分割、AIアプリケーションの実行に加え、従来のMCU/APと最新のセンサやディスプレイを橋渡しする役割も果たすことができます。
CrossLink-NX FPGAの評価を検討している車載システムの開発者は、LIFCL-VIP-SI-EVN CrossLink-NX VIPセンサ入力ボード(図1)とLF-EVDK1-EVNモジュラー組み込みビジョンキットの組み合わせに興味を持つことでしょう(前者は後者の入力ボードとして機能します)。センサ入力ボードには、CrossLink-NX FPGAに加えて、13メガピクセルのSony IMX258 CMOS MIPIイメージセンサを4個搭載し、30fpsで4K2Kまたは60fpsで1080pに対応します。また、3つの独立したPMODインターフェースにより、簡単にセンサを接続することができます。
図1:CrossLink-NX VIPセンサ入力ボードは、組み込みビジョン開発キットへの入力として機能するもので、CrossLink-NX FPGAを搭載し、4つのMIPI Sony IMX258イメージセンサの集約をサポートします。(画像提供:Lattice Semiconductor)
ジェスチャ認識および制御、音声認識および制御、人の存在検出、乗員識別、ドライバーモニタリングのようなタスク向けのAIのように、高いI/O帯域幅も必要とする計算集約型アプリケーションに向けて、LatticeのECP5 FPGAは、最大3.2 Gbit/sのシリアライザ/デシリアライザ(SERDES)、デバイスあたり最大4チャンネルのデュアルチャネルブロックによる高粒度化、最大85Kのルックアップテーブル(LUT)、対称型フィルタのリソースを2倍に向上させる強化されたデジタル信号処理(DSP)ブロック、シングルイベントアップセット(SEU)軽減サポートなどを備えています。また、これらのFPGAは、LVCMOS 33/25/18/15/12、XGMII、LVTTL、LVDS、Bus-LVDS、7:1 LVDS、LVPECL、およびMIPI D-PHY I/Oインターフェースのプログラム可能なI/Oサポートも提供しています。
ECP5デバイスの例としては、84,000個の論理素子、3.75メガビットのRAM、259個のI/Oを備えたLFE5U-85F-6BG554Cが挙げられます。また、LFE5UM-45F-VERSA-EVNG ECP5 Versa開発キットも注目です(図2)。このボードはハーフレングスPCI Express(PCIe)フォームファクタを採用しており、設計者はPCIe、ギガビットEthernet(GbE)、DDR3、汎用SERDES性能など、ECP5 FPGAの主要なコネクティビティ機能を評価することができます。
図2:ハーフレングスPCI Expressフォームファクタで提供されるECPe Versa開発キットにより、PCIe、GbE、DDR3、汎用SERDES性能など、ECP5 FPGAの主要なコネクティビティ機能を評価することができます。(画像提供:Lattice Semiconductor)
FPGAを用いた自動車の安全性確保
ハッキングによるセキュリティ上の脅威は増加しており、常に新しい侵害が発生しています。自動車の場合は、サイバー攻撃によって制御不能に陥り、乗員や歩行者が負傷または死亡したり、自動車や他の車両、財産に損害を与えたりする可能性があります。
自動車のセキュリティソリューションの大部分は、ルートオブトラスト(RoT)、つまり常に信頼できるシステム内のハードウェアリソースを確立することにあります。1つのソリューションは、LatticeのMachXO3Dファミリのデバイスが提供するような、FPGAベースのハードウェアRoT(HRoT)です。このようなフラッシュベースのデバイスは、充実したLUTリソースと多数のI/Oに加え、インスタントオンやホットソケットの機能も備えています。汎用的なアプリケーションには、グルーロジック、バスブリッジング、バスインターフェース、モータ制御、パワーアップ制御、およびその他の制御ロジックアプリケーションが含まれます。
特に興味深い事実として、MachXO3Dは、デュアルブート機能を持つ10K LUT未満のFPGAとしては唯一、アメリカ国立標準技術研究所(NIST)認定のImmutable Security Engineを搭載しています。これにより、MachXO3Dは自動車のHRoTとして、システムの先着順デバイスの形で機能します。システムの電源を入れると、MachXO3Dはまず、認証されたファームウェアが動作していることを確認します。次に、システム内の他のデバイスのファームウェアを確認します。システム内のいずれかのコンポーネントが攻撃されたり危険にさらされたりした場合、MachXO3Dは疑わしいファームウェアを拒否し、そのコンポーネントに既知の正常な認証済みファームウェアイメージをリロードします。
MachXO3Dベースの設計を評価することに関心のある開発者に向けて、LCMXO3D-9400HC-D-EVN MachXO3D開発ボードは、拡張可能な試作プラットフォームを提供します(図3)。このボードには、ArduinoやRaspberry Piボードで使用するための汎用I/OインターフェースであるL-ASC10(アナログセンスおよび制御)ハードウェア管理デバイス、2個のHirose FX12-40ヘッダポジション(DNI)、Aardvarkヘッダ(DNI)、クアッドリード機能付きの128メガビットシリアルペリフェラルインターフェース(SPI)フラッシュが搭載されています。
図3:MachXO3D開発ボードは、MachXO3D FPGA、L-ASC10(アナログセンスおよび制御)ハードウェア管理デバイス、ArduinoおよびRaspberry Piボードのサポート、2個のHirose FX12-40ヘッダポジション(DNI)、Aardvarkヘッダ、デバイスプログラミング用のUSB-B接続を備えています。(画像提供:Lattice Semiconductor)
このボードは、4×6インチのフォームファクタで提供され、電源とプログラミング用のUSB mini-Bコネクタおよび、Arduino、Aardvark、FX12、Hirose、Raspberry Piをサポートする複数のヘッダポジションを備えています。また、USBケーブルとクイックスタートガイドが付属しています。
まとめ
現代の車載用エレクトロニクスでは、センサ、電気的インターフェース、プロトコルの数が増え続けており、それに伴って処理能力や帯域幅への要求も高まっています。AIやマシンビジョンの処理を追加したり、セキュリティ要件を満たしたりすると、従来のMCUやAPのアプローチを用いたソリューションの実装が複雑になります。
この記事で説明したように、FPGAを適切に活用することで、柔軟性と処理能力を高めることができます。これにより、異なる処理環境の橋渡しや、センサの集約および融合機能の実行、I/O帯域幅の要件への対応、超並列での計算および演算の実行などが可能になり、ホストプロセッサを他の活動のために解放することができます。
セキュリティ面では、デュアルブート機能とNIST認定のImmutable Security Engineを搭載したフラッシュベースのFPGAが自動車のHRoTとして機能し、それ自体や他のデバイスが認証されたファームウェアのみを実行していることを保証することで、ハッカーによる自動車システムの暗号侵害を防ぎます。
参考記事:
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


