자동차 인터페이스, 보안 및 계산 집약적인 부하에 대한 FPGA 선택 및 사용
DigiKey 북미 편집자 제공
2022-01-12
일반적으로 자동차에서 계산 작업은 마이크로 컨트롤러 유닛(MCU) 및 응용 프로세서(AP)를 통해 수행되었습니다. MCU/AP는 일반 미드레인지 차량의 경우 25개 ~ 35개를 포함하고, 최고급 차량의 경우 70개 이상을 사용할 수 있습니다. 자동차에서 고급 운전자 지원 시스템(ADAS), 인포테인먼트, 제어, 네트워킹, 보안과 같은 작업을 수행하기 위한 매우 정교하고 계산 집약적인 기능의 필요성이 점차 증가하고 있습니다. 이러한 응용 분야에는 대부분 인공 지능(AI)과 결합된 머신 비전이 이미지 및 동영상 처리 형태로 포함되어 있습니다.
프로세서 아키텍처만으로는 센서, 카메라, 디스플레이와 같은 주변 장치에 필요한 전기 인터페이스와 프로토콜을 모두 처리하는 데 어려움이 있습니다. 또한 대부분의 경우 이러한 프로세서는 머신 비전, AI와 같은 극단적인 계산 작업의 수요를 충족할 수 없습니다.
이러한 어려움을 해결하기 위해 자동차 시스템 설계자는 현장 프로그래밍 가능 게이트 어레이(FPGA)로 전환하고 있습니다. FPGA는 기존 MCU/AP를 대체하는 대신 MCU/AP와 다른 장치 사이의 브리지 역할을 하고, 통신 및 기타 계산 집약적인 작업을 오프로드하여 MCU/AP를 강화합니다.
다양한 전기 인터페이스 및 프로토콜을 지원하도록 FPGA를 프로그래밍할 수 있으므로, FPGA는 MCU/AP와 센서, 카메라, 디스플레이 사이에서 브리지 역할을 할 수 있습니다. 또한 FPGA는 계산 및 작업을 대규모 병렬 방식으로 수행할 수 있으므로, 계산 집약적인 비전 처리와 AI 작업 실행에 사용할 수 있고, 이에 따라 호스트 프로세서는 다른 활동을 할 수 있습니다.
이 기사에서는 최신 자동차의 처리 요구 사항과 FPGA가 처리할 수 있는 일부 자동차 응용 분야에 대해 설명합니다. 그런 다음 Lattice Semiconductor의 일부 FPGA를 소개하고 해당 FPGA를 사용하여 연결, 처리, 보안 문제를 해결하는 방법을 보여줍니다. 또한 설계자가 시작하는 데 도움이 되는 관련 개발 기판을 제공합니다.
FPGA의 대상 자동차 응용 분야
ADAS 기능을 지원하기 위해 오늘날의 자동차는 차량 외부에서 카메라, 레이더, LiDAR, 초음파 감지기를 비롯한 많은 센서를 사용합니다. 대부분의 경우 여러 센서에서 가져온 데이터를 개별적으로 사용할 때보다 결과 정보의 불확실성이 감소되도록 개별 센서에서 데이터를 가져와서 사전 처리하고(잡음 제거, 필요에 따라 서식 지정), 센서 융합을 사용하여 데이터를 결합해야 합니다. 대부분의 경우 데이터를 분석하고 결정을 내리고 적절한 조치를 취하기 위해 AI 응용 제품을 사용합니다.
최근에는 전자(‘디지털’이라고도 함) 백미러를 배치하는 경향이 있습니다. 이 경우 후방 창에 광각 고해상도 카메라를 설치합니다. 이 카메라의 동영상 스트림은 기존 미러를 대체하는 디지털 디스플레이에 표시되므로, 뒷좌석 승객에 의해 가려지지 않는 선명한 후방 뷰가 제공됩니다. 경우에 따라 사이드미러에 실장된 카메라의 동영상 스트림을 후방 창 카메라의 동영상 스트림과 병합할 수 있습니다. 이 세 개의 피드를 ‘결합’하여 초광각 전자 미러에 표시되는 단일 이미지를 제공하므로, 운전자가 차량 주변 상황을 훨씬 정확하게 인식할 수 있습니다.
또한 최근에는 대시보드 또는 스티어링 열에 실장되거나 백미러(일반 또는 전자)에 내장되는 인캐빈 카메라를 배치하는 경향이 있습니다. 운전석 탑승자를 인지하여 미러를 적절히 조정하는 등과 같은 다양한 작업을 위해 AI와 결합된 인캐빈 미러를 사용할 수 있습니다. 운전자를 모니터링하여 운전자가 도로에 집중하고 있고 졸지 않는지 확인하는 것 외에도, 이러한 시스템은 졸음 징후는 물론이고 간질 발작, 심장마비와 같은 의료 문제 또는 조난 상황을 파악하여 적절히 조치할 수 있습니다. 이러한 조치에는 위험 경고등 작동, 브레이크 제동, 도로 측면으로 차량 유도 등이 있습니다. 기타 응용 분야로는 자동차가 잠기지 않고 표시등을 깜박여서 어린이와 애완동물을 실수로 뒷좌석에 남겨두고 떠나지 않도록 하는 기능과, 승객이 휴대폰, 가방, 패키지 등을 뒷좌석에 두고 내릴 경우 운전자에게 알리는 기능이 있습니다.
동영상 기반 응용 분야의 경우 단일 비디오 입력을 여러 스트림으로 분할하거나, 설계 요구 사항에 따라 여러 동영상 스트림을 하나로 집계해야 할 수도 있습니다.
증가하는 전기 차량(EV) 배치로 인해 모터를 모니터링 및 제어하고, 충전 공정을 모니터링하고 관리하여 배터리 수명을 최대화해야 합니다.
이 외에도 오늘날 많은 자동차가 5G 또는 V2X를 지원하기 시작했습니다. V2X(‘Vehicle to Anything’)는 차량과 차량에 영향을 주거나 차량에 의해 영향을 받는 기타 엔터티(노변 인프라, 다른 차량 등) 간의 통신을 말합니다. 이 연결과 함께 차량을 해킹으로부터 보호하는 보안 기능이 필요합니다.
자동차용 장치
모든 FPGA가 자동차 응용 분야에 적합한 것은 아닙니다. 자동차 전자 장치 협회(AEC)는 1990년대에 일반 부품 자격 및 품질 시스템 표준을 설정하기 위한 목적으로 Chrysler, Ford, GM 등이 처음 설립한 조직입니다. 가장 일반적으로 참조되는 AEC 문서 중 하나는 AEC-Q100, "Failure Mechanism Based Stress Test Qualification for Integrated Circuits"입니다.
IATF 16949:2016은 지속적인 향상을 제공하는 품질 관리 시스템을 개발하기 위한 기술 사양으로, 자동차 산업 공급망 및 조립 공정에서 변형 및 폐기물 감소와 결함 방지를 강조합니다. ISO 9001 표준에 따라 IATF(International Automotive Task Force) 및 ISO 기술 위원회에서 IATF 16949:2016을 구성했습니다.
자동차 시장의 전자 시스템 제조업체는 점차적으로 반도체 제조업체에 AEC-Q100 표준을 준수하고 품질 시스템의 ISO/TS-16949 인증을 입증할 수 있는 제품을 공급하도록 요청합니다.
업무에 적합한 FPGA 선택
FPGA는 매우 유연하지만, 여러 장치 제품군에서 특정 작업에 더 적합한 다양한 조합의 기능을 제공합니다. 예를 들어, 내장형 비전 응용 분야의 경우 최신 카메라와 디스플레이에서는 흔히 MIPI 인터페이스를 사용합니다. MIPI CSI-2(카메라/센서) 및 DSI(디스플레이) 프로토콜은 모두 D-PHY라는 통신 물리층(PHY)을 사용합니다. 기존 MCU/AP는 이 인터페이스를 지원하지 않을 수 있지만, Lattice Semiconductor의 CrossLink-NX 내장형 비전 및 처리 FPGA와 같은 일부 FPGA에서는 이 인터페이스를 지원합니다.
PHY당 10Gbits/s를 지원하는 두 강화된 4레인 MIPI D-PHY 트랜시버 외에도 CrossLink-NX 장치는 5Gbits/s PCIe, 1.5Gbits/s 프로그래밍 가능 입/출력(I/O), 1066Mbits/s DDR3를 지원합니다. 또한 이러한 장치는 저전압 차동 신호(LVDS), Sub-LVDS(LVDS의 감압된 버전), OLDI(Open LVDS Display Interface), 직렬 기가비트 미디어 독립 인터페이스(SGMII)와 같은 기존 전기 인터페이스 및 프로토콜을 지원합니다. 따라서 이러한 장치를 사용하여 동영상 스트림을 집계 및 분할하고, AI 응용 제품을 실행하고, 기존 MCU/AP와 최신 센서 및 디스플레이 사이에서 브리지 역할을 수행할 수 있습니다.
CrossLink-NX FPGA를 평가하려는 자동차 시스템 개발자는 LIFCL-VIP-SI-EVN CrossLink-NX VIP 센서 입력 기판(그림 1)과 LF-EVDK1-EVN 모듈식 내장형 비전 키트 조합에 관심이 갈 것입니다(전자가 후자의 입력 기판 역할을 할 수 있음). CrossLink-NX FPGA 이외에 센서 입력 기판에는 4K2K @ 30fps 또는 1080p @ 60fps를 지원하는 4개의 13메가픽셀 Sony IMX258 CMOS MIPI 이미지 센서가 탑재되어 있으며, 세 개의 독립 PMOD 인터페이스를 통한 쉬운 센서 연결을 지원합니다.
그림 1: CrossLink-NX VIP 센서 입력 기판은 내장형 비전 개발 키트에 대한 입력 장치 역할을 할 수 있으며, CrossLink-NX FPGA를 포함하고 네 MIPI Sony IMX258 이미지 센서 집계를 지원합니다. (이미지 출처: Lattice Semiconductor)
높은 I/O 대역폭을 요구하는 계산 집약적인 응용 분야의 경우(예: 제스처 인식 및 제어, 음성 인식 및 제어, 작업자 감지, 탑승자 식별, 운전자 모니터링 등과 같은 작업을 지원하는 AI) Lattice의 ECP5 FPGA는 최대 3.2Gbit/s 직렬 변환기/직병렬 변환기(SERDES), 높은 세분성을 위한 이중 채널 블록의 장치당 최대 4채널, 최대 85K 입력 대조표(LUT), 대칭 필터에 2배 향상된 리소스를 제공하는 향상된 디지털 신호 처리(DSP) 블록, SEU(Single Event Upset) 완화를 지원합니다. 또한 이들 FPGA는 LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL, MIPI D-PHY I/O 인터페이스를 위한 프로그래밍 가능 IO 지원을 제공합니다.
ECP5 장치의 예로는 84,000개 논리 소자, 3.75Mbits RAM 및 259 I/O를 제공하는 LFE5U-85F-6BG554C가 있습니다. LFE5UM-45F-VERSA-EVNG ECP5 Versa 개발 키트(그림 2)도 유용합니다. 이 기판에서는 절반 길이 PCIe(PCI Express) 폼 팩터를 사용하며 설계자가 PCIe, 기가비트 이더넷(GbE), DDR3, 일반 SERDES 성능을 비롯한 ECP5 FPGA의 주요 연결 기능을 평가할 수 있습니다.
그림 2: 절반 길이 PCI Express 폼 팩터로 제공되는 ECPe Versa 개발 키트를 사용하면 설계자가 PCIe, GbE, DDR3, 일반 SERDES 성능을 비롯한 ECP5 FPGA의 주요 연결 기능을 평가할 수 있습니다. (이미지 출처: Lattice Semiconductor)
FPGA를 사용하여 자동차 보안
해킹을 통한 보안 위협이 증가하면서 새로운 위반이 계속해서 발생하고 있습니다. 자동차의 경우 사이버 공격으로 인해 통제력을 상실하면 승객과 보행자의 부상 또는 사망으로 이어지거나, 차량, 다른 차량, 재산에 피해가 발생할 수 있습니다.
자동차 보안 솔루션의 대부분은 신뢰 루트(RoT), 즉 시스템 내에서 항상 신뢰할 수 있는 하드웨어 리소스를 구축하는 것입니다. 한 가지 솔루션은 Lattice의 MachXO3D 장치 제품군에서 제공하는 것과 같은 FPGA 기반 하드웨어 RoT(HRoT)입니다. 상당한 LUT 리소스와 많은 I/O 이외에 이러한 플래시 기반 장치는 즉각 구동되는 핫 소켓 기능을 제공합니다. 범용 응용 분야에는 접착 논리, 버스 브리지, 버스 인터페이스, 모터 제어, 전원 켜기 제어 및 기타 제어 논리 응용 분야가 포함됩니다.
특히, MachXO3D는 강력한 미국 국립표준기술원(NIST) 인증 불변형 보안 엔진이 탑재되고 이중 부팅 기능과 10K 미만 LUT를 모두 지원하는 유일한 FPGA입니다. 따라서 MachXO3D는 시스템의 FOLO(First On, Last-Off) 장치 형태로 자동차의 HRoT 역할을 할 수 있습니다. 시스템이 켜지면 MachXO3D는 먼저 인증된 펌웨어를 실행 중인지 확인합니다. 그런 다음 시스템에 있는 다른 장치의 펌웨어를 확인합니다. 시스템에 공격받거나 손상된 부품이 있는 경우 MachXO3D는 의심스러운 펌웨어를 거부하고 인증된 정상 펌웨어 이미지로 해당 부품을 다시 로드합니다.
MachXO3D 기반 설계를 평가하려는 개발자를 위해 LCMXO3D-9400HC-D-EVN MachXO3D 개발 기판은 확장형 시제품 제작 플랫폼을 제공합니다(그림 3). 이 기판에는 L-ASC10(아날로그 감지 및 제어) 하드웨어 관리 장치, Arduino 및 Raspberry Pi 기판과 함께 사용 가능한 범용 I/O 인터페이스, 두 Hirose FX12-40 헤더 위치(DNI), Aardvark 헤더(DNI), 4중 읽기 기능을 지원하는 128Mbit 직렬 주변 장치 인터페이스(SPI) 플래시가 탑재되어 있습니다.
그림 3: MachXO3D 개발 기판은 MachXO3D FPGA, L-ASC10(아날로그 감지 및 제어) 하드웨어 관리 장치, Arduino 및 Raspberry Pi 기판, 두 Hirose FX12-40 헤더 위치(DNI), Aardvark 헤더, 장치 프로그래밍용 USB-B 연결을 지원합니다. (이미지 출처: Lattice Semiconductor)
이 기판은 4인치 x 6인치 폼 팩터 형태로 제공되며 전력 및 프로그래밍용 USB mini-B 커넥터, Arduino, Aardvark, FX12, Hirose 및 Raspberry Pi를 지원하는 여러 헤더 위치가 탑재되어 있습니다. USB 케이블과 요약 안내서가 포함되어 있습니다.
결론
최신 자동차 전자 장치는 점점 더 많은 센서, 전기 인터페이스 및 프로토콜을 필요로 하며, 그에 상응하여 처리 전력과 대역폭 수요가 증가하고 있습니다. AI 및 머신 비전 처리와 보안 요구 사항으로 인해 일반 MCU 또는 AP 접근 방식으로 솔루션을 구현하려면 복잡합니다.
앞서 살펴본 바와 같이 설계자는 FPGA를 적절하게 응용하여 개별 처리 환경을 연결하고, 센서 집계 및 융합 기능을 수행하고, I/O 대역폭 요구 사항을 해결하고, 대규모 병렬 형식으로 계산 및 작업을 수행할 수 있도록 유연성과 처리 성능을 강화하면서 다른 활동을 위한 호스트 프로세서를 확보할 수 있습니다.
보안을 위해 이중 부팅 기능과 NIST 인증 불변형 보안 엔진을 지원하는 플래시 기반 FPGA는 자동차의 HRoT 역할을 하고 해당 장치와 다른 장치에서 인증된 펌웨어를 실행하고 있는지 확인하여 해커가 자동차 시스템을 암호로 훼손하지 못하도록 차단할 수 있습니다.
추가 자료:
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

