스테판 야누흐(Stephan Janouch)
자동차 마케팅 수석 매니저, 자일링스(Xilinx)
자율주행 기능을 제공하기 위해서는 SWaP-C 과제를 해결할 수 있는 중앙 프로세싱 모듈을 구현해야 한다. DAPD 및 신경망 가속, 안전 프로세서를 위한 고도의 통합 솔루션인 징크 울트라스케일+ MPSoC는 작고, 가볍고, 전력효율이 뛰어난 솔루션을 개발할 수 있도록 지원한다.
자동차 업계에서 가장 뜨거운 이슈 중 하나는 자율주행이다. 기존 자동차 제조사들을 비롯해 새롭게 자동차 시장에 진출하는 기업들 모두 자율 기능을 갖춘 자동차를 개발하는 데 주력하고 있다. 이러한 자율 기능 개발자는 프로세싱 성능과 센서 기술을 크게 향상시키면서도 비용을 낮출 수 있는 ‘무어의 법칙’으로부터 이득을 얻을 수 있다.
이러한 자율주행은 완전 자율주행에서 운전자와의 제어 공유에 이르기까지 다양한 기능을 포괄해야 하는 매우 복잡한 분야이다. 미국 SAE(Society of Automotive Engineers)는 서로 다른 자율 기능을 분류하기 위해 자율성을 구분할 수 있는 몇 가지 레벨을 정의했다(그림 1).
자율성 레벨이 높을수록 자동차는 환경을 이해하고, 이와 동일한 환경 내에서 안전이 유지될 수 있어야 한다. 자동차가 환경을 이해하고 안전하게 상호작용할 수 있으려면, 관련 프로세싱 성능과 함께 초음파, GPS, 레이다, 카메라, 라이다에 이르기까지 다양한 방식의 센서가 필요하다.
이러한 각기 다른 방식의 센서는 자동차의 전반적인 환경 데이터를 제공한다. 완벽한 그림을 만들기 위해서는 자율주행 차량에 이러한 요소들을 함께 융합해야 한다. 각기 다른 센서의 배치 및 방식은 구현되는 자율성 레벨에 따라 달라진다. 카메라는 차선유지 지원, 사각지대 감지, 교통표지판 인식과 같은 애플리케이션에 사용되며, FMCW(Frequency Modulated Continuous Wave)로 구현되는 레이다는 객체와의 거리를 결정하는 데 사용된다.
반면, 레벨2 이상에서는 자동차 환경에 대한 포괄적인 이해 능력이 중요하다. 이를 통해 자동차는 위치 및 주변 장애물을 식별하여 안전하게 운행할 수 있다. 환경에 대한 이해는 카메라나 레이다, 라이다와 함께 GPS(Global Positioning System) 데이터를 이용해 얻을 수 있다. 하지만 자체 GPS 데이터는 정확도가 달라지기 때문에 의존할 수 없으며, 빌딩이나 인프라에 의해 쉽게 차단될 수 있다.
자동차가 환경을 이해하고 조치를 취하도록 하는 것이 자율 기능을 실현하는 핵심이다. 6개 레벨 모두 의도치 않은 작동이나 조치로 인해 인명이나 주변 환경을 위험에 처하게 할 수 있다. 따라서 자율 기능은 디자인과 해당 모든 요소의 안전성을 보장할 수 있는 프레임워크 내에서 개발되어야 한다. ISO 26262에 따라 개발하는 것은 자율주행 차량을 위한 필수요건이다.
이 표준은 이를 준수할 경우 안전성을 보장하고, 각각의 ASIL(Automotive Safety Integrity Levels)과 함께 허용 가능한 고장률을 정의한 프레임워크를 제공한다. 또한 자율주행 솔루션은 전 세계 시장에 구축된 이후 여러 혹독한 환경에 노출될 수 있다. 이러한 환경에서 시스템이 동작할 수 있도록 자동차 등급의 컴포넌트는 AEC-Q100 이상의 광범위한 품질 보증과 인증이 필요하다.
아키텍처
자율 기능을 구현하는 핵심은 중앙 프로세싱 모듈이다. 자율 기능을 성공적으로 구현하기 위해서는 중앙 프로세싱 모듈에 다음과 같은 기능이 포함되어야 한다:
- DAPD(Data Aggregation, Pre-processing and Distribution) - 이는 프로세싱 장치와 프로세싱 장치 내의 가속기 사이에서 정보의 기본적인 프로세싱 및 라우팅, 스위칭을 수행하는 다양한 센서 방식들과 인터페이스한다.
- 고성능 직렬 프로세싱 - 데이터 추출 및 센서 융합, 그리고 입력을 기반으로 높은 수준의 의사결정을 수행하는 고성능 프로세싱 요소. 일부 애플리케이션에서는 신경망이 고성능 직렬 프로세싱 내에 구현된다.
- 안전 프로세싱 - DAPD 디바이스에서 전처리를 통해 제공되는 감지된 환경과 신경망 가속 및 고성능 직렬 프로세싱 요소들의 결과에 따라 실시간 프로세싱 및 차량 제어를 수행한다.
중앙집중화된 프로세싱 모듈을 구현하여 설계자는 전력 및 열이 제한된 환경에 배치할 때 발생하는 기존 SWaP-C(traditional Size, Weight and Power - Cost) 과제와 함께 여러 인터페이스 및 확장성, 규정 준수, 성능 문제들을 해결할 수 있다. 이러한 SWaP-C 과제는 DAPD 및 안전 프로세서로 처리할 때 특히 명확하게 확인할 수 있다.
과제 해결
이러한 과제를 해결하기 위한 한 가지 솔루션은 동일한 실리콘 내에서 DAPD의 인터페이스, 전처리 및 라우팅 기능뿐만 아니라 안전 프로세싱 및 잠재적인 신경망 가속을 수행할 수 있는 단일 디바이스를 사용하는 것이다. 이러한 고도의 통합 접근방식은 SWaP-C에 상당한 도움이 되는 고집적 솔루션을 구현할 수 있도록 해준다.
자일링스 자동차 등급 징크(Zynq®) 울트라스케일+(UltraScale+™) MPSoC 이기종 SoC(System on Chip)을 사용하면 이러한 고집적 솔루션을 구현할 수 있다. 이 디바이스 제품군은 프로그래머블 로직과 함께 4개의 고성능 ARM A53 코어를 통합해 고집적 프로세싱 소자를 구성하고 있다. 또한 징크 울트라스케일+ MPSoC는 실시간 제어를 위해 최고 ASIL C까지 안전 기능을 구현할 수 있는 록스텝(Lockstep) 듀얼 ARM R5 프로세서로 구성된 RPU(Real-Time Processing Unit)를 제공하며, 안전 우선 애플리케이션에 적합하다.
이 RPU는 필요한 기능안전을 제공하기 위해 하드웨어나 유도된 단일 이벤트에서 모두 우발성 단일 고장을 줄이거나, 감지하고, 완화시킬 수 있도록 설계됐다. 이러한 디바이스는 프로세서 시스템 리소스와 프로그래머블 로직 간의 기능을 효율적으로 분할할 수 있다.
DAPD에 따른 핵심 과제 중 하나는 각기 다른 인터페이스 표준을 따르는 다양한 센서 방식들과 인터페이스할 수 있어야 한다는 것이다. 일반적인 솔루션들은 카메라, 레이다, 라이다 등 고대역폭 인터페이스를 위한 MIPI, JESD204B, LVDS, GigE와 같은 고속 인터페이스를 사용하는 다양한 센서 방식들과 인터페이스한다. 하지만 DAPD는 CAN, SPI, I2C, UART와 같은 저속 인터페이스와도 인터페이스할 수 있어야 한다.
징크 울트라스케일+ MPSoC의 프로세싱 시스템(PS)과 프로그래머블 로직(PL)은 SPI, I2C, UART, GigE를 비롯한 다양한 산업 표준 인터페이스를 지원하며, PL IO의 유연성을 통해 MIPI, LVDS, 기가비트 시리얼 링크와 직접 인터페이스할 수 있어 IP 코어를 사용해 PL 내부에 상위 레벨의 프로토콜을 구현할 수 있다. PL 내에 프로토콜을 구현하면, 개정된 표준을 쉽게 적용할 수 있을 뿐만 아니라 솔루션 내에서 특정 센서 인터페이스 수를 유연하게 제공할 수 있다.
또한 자일링스의 자동차 등급 징크 울트라스케일+ MPSoC가 제공하는 프로그래머블 로직은 신경망 가속을 가능하게 한다. 프로그래머블 로직의 병렬 속성은 스테이지 사이의 전통적인 외부 메모리 병목현상을 제거함으로써 기존 CPU/GPU 기반 접근방식에 비해 반응성 및 결정성이 뛰어난 신경망을 구현할 수 있다. 이러한 신경망은 프로세서 시스템에서 프로그래머블 로직까지 기능을 원활하게 이동시킬 수 있는 SDSoC™ 시스템 최적화 컴파일러를 이용해 C, C++, OpenCL과 같은 하이레벨 언어로 구현할 수 있다.
또 다른 과제는 안전 프로세서를 구현하는 것이다. 이는 DAPD 및 고성능 직렬 프로세싱으로부터 수신된 명령에 따라 동작이 이뤄져야 한다. 이러한 명령은 해당 환경 내에서 차량이 안전하게 운행될 수 있도록 해준다. 안전 프로세서는 조향, 가속, 제동과 같은 차량 제어와 직접 상호 작용해야 한다. 이는 자율주행 차량에서 매우 중요한 부분이다. 여기에서 오류는 인명 피해를 초래할 수 있다. 자일링스의 자동차 등급 징크 울트라스케일+ MPSoC는 안전 프로세싱을 구현하는 데 사용할 수 있는 RPU 내에 록스텝 듀얼 ARM R5코어를 내장하고 있다.
RPU 코어의 록스텝 기능과 함께 몇 가지 추가적인 완화 조치가 구현됐다. RPU와 긴밀하게 결합된 메모리 및 캐시를 위한 ECC(Error Correction Code)가 포함돼 있으며, DDR 메모리는 DEDSEC(Double Error Detection Single Error Correction) 코드로 보호된다. 캐시와 메모리에 ECC가 포함됨으로써 자율주행 차량의 제어를 구현하는데 필요한 데이터 및 애플리케이션 프로그램의 무결성을 보장한다.
작동 전에 하드웨어 결함을 없애기 위해 전원이 켜져 있는 동안 BIST(Built-in Self-Test)도 제공된다. 또한 추가적인 BIST는 필요 시 사용자의 요청에 따라 동작 중에 실행될 수 있다. 징크 울트라스케일+ MPSoC 아키텍처는 디바이스 내의 메모리와 주변장치 기능을 격리하여 구현할 수 있다.
자일링스의 자동차 등급 징크 울트라스케일+ MPSoC에 이러한 기능들이 포함됨으로써 동일한 실리콘 내에 DAPD 및 잠재적인 신경망 가속과 같은 안전 프로세싱을 구현할 수 있다. 업계를 선도하는 디바이스 품질을 보장하기 위해 자일링스는 업계의 요구사항을 수렴하여 내부의 품질 제어 프로그램인 Beyond-AEC-Q100에 통합했다.
자일링스는 이 프레임워크 내의 테스트 요건을 두 배로 늘려 자동차 디바이스의 충분한 안전 마진을 확보하고 있다. 또한 더 높은 집적도는 최종 솔루션에서 요구하는 PCB 설계 및 인터커넥션 복잡성을 줄이는 것은 물론, 낮은 전력소모를 제공한다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>