MCX의 오류 수정 기능을 활용하여 신뢰성 있고 안전한 모바일 로봇 설계
진정한 자율 모바일 로봇은 한때 공상과학 소설 속에나 존재하던 것이었지만, 최근의 처리, 센싱, 제어 기술의 발전으로 현실에 더 가까워졌습니다. 그러나 이 기술이 직면한 주요 과제 중 하나는 로봇이 처리 작업 중 오류가 발생했을 때 이를 스스로 수정할 수 있는 능력입니다. 이 글에서는 NXP의 MCX MCU가 모바일 로봇을 보다 안전하고 신뢰할 수 있게 만드는 고급 오류 수정 기능을 어떻게 제공하는지 탐구합니다.
모바일 로봇은 산업 자동화부터 서비스 로봇까지 다양한 응용 분야에서 점점 더 많이 사용되고 있습니다. 이 로봇들이 더 복잡한 작업을 수행하고 통제되지 않은 환경에서 작동함에 따라, 이들의 신뢰성과 안전한 운용을 보장하는 것은 매우 중요합니다.
NXP의 새로운 MCX 마이크로컨트롤러 포트폴리오는 이러한 과제를 해결하는 데 도움을 줍니다. 높은 성능을 제공하는 Arm® Cortex®-M33 코어를 기반으로 제작된 MCX MCU는 고급 오류 감지 및 수정 기능을 통합하여 높은 신뢰성과 안전성을 요구하는 모바일 로봇 개발에 적합합니다.
이동 로봇의 일반적인 신뢰성 및 안전 문제
모바일 로봇은 주변 환경을 인식하고, 결정을 내리며, 행동을 제어하기 위해 온보드 전자 장치에 크게 의존합니다. 하지만 온도 극한, 진동, 전자기 간섭과 같은 여러 요인으로 인해 작동 조건이 까다로울 수 있습니다. 이러한 스트레스 요인은 시간이 지남에 따라 로봇의 메모리에 비트 오류와 손상을 일으킬 수 있습니다. 따라서 모바일 로봇이 장기간의 작동 수명을 기대하는 만큼 전자 장치의 장기적인 신뢰성을 고려할 필요가 있습니다.
산업용 AMR
그림 1
메모리 오류는 모바일 로봇에서 다양한 신뢰성과 안전 문제를 초래할 수 있습니다. 로봇의 제어 펌웨어에서 발생하는 비트 전환(bit-flip)은 로봇이 잘못된 명령을 실행하도록 하여 의도하지 않은 행동을 유발할 수 있습니다. 손상된 센서 데이터가 잘못 해석되어 로봇이 올바르지 않은 결정을 내리게 할 수도 있습니다. 오류가 있는 모터 제어 출력은 예기치 않은 움직임을 초래하거나 로봇 또는 주변 환경에 손상을 줄 가능성도 있습니다.
사람 가까이에서 작동하는 이동 로봇과 같은 안전 필수 응용 분야에서 이러한 오작동의 결과는 상당할 수 있습니다. 이동 로봇은 신뢰할 수 있고 안전한 작동을 보장하기 위해 메모리 오류에 대한 강력한 보호 장치를 필요로 합니다.
플래시 및 RAM을 위한 MCX 오류 수정 기능
NXP MCX A 마이크로컨트롤러 시리즈는 메모리 오류를 탐지 및 수정하기 위한 여러 주요 기능을 포함하고 있습니다. MCX A는 오류 수정 코드(ECC) 기능이 있는 최대 128KB의 플래시 메모리를 내장하고 있습니다. MCX N 시리즈는 ECC가 적용된 최대 2MB의 플래시 메모리를 특징으로 합니다. 플래시의 각 128비트 워드는 추가적으로 9비트의 ECC 데이터를 포함합니다.
ECC는 각 데이터 워드와 함께 여분의 비트를 저장하는 기술입니다. 이러한 여분의 비트는 ECC 비트를 재생성하고 매 읽기 작업 시 저장된 ECC와 비교하여 데이터 무결성을 확인하는 데 도움을 줍니다. 재생성된 ECC 비트와 저장된 ECC 비트가 일치하지 않으면 오류가 있음을 의미하며, ECC가 이를 수정할 수 있을 수도 있습니다. ECC는 단일 비트 오류의 경우 어떤 비트가 잘못됐는지도 식별할 수 있습니다. 그러나 ECC는 이중 비트 오류를 감지할 수는 있지만 이를 수정할 수는 없습니다.
모바일 로봇 예제
그림 1
마이크로컨트롤러가 ECC 오류를 감지하면 시스템 컨트롤러(SYSCON) 모듈이 버스 오류를 생성하거나 인터럽트를 사용하여 오류를 처리할 수 있습니다. 유연한 오류 처리 기능을 통해 개발자는 애플리케이션에 가장 적합한 방식으로 오류를 처리하도록 맞춤화할 수 있습니다.
The MCX A also provides 32KB of on-chip SRAM, with an 8KB block (RAMA0) incorporating ECC for single-error correction and double-error detection. The MCX N series provides up to 416KB of RAM when configured as ECC, of which 32KB can be retained in VBAT mode. This feature protects critical runtime data, such as sensor inputs and algorithm state variables. The microcontroller implements an Error Reporting Module (ERM) to provide comprehensive reporting and control over errors. The ERM captures and logs error events from the ECC logic, providing visibility into the health of the memory subsystem. Developers can utilize this error information for diagnostics and predictive maintenance.
자체 진단을 위해 에러 주입 모듈(EIM)은 ECC RAM을 읽을 때 오류를 주입할 수 있는 기능을 제공합니다. 이 자체 테스트 기능은 개발자가 마이크로컨트롤러가 안정적으로 작동하도록 주기적인 자체 점검을 구현할 수 있도록 합니다.
ECC 외에도 MCX A 시리즈에는 다양한 메모리 영역에 대한 읽기, 쓰기 및 실행 권한에 대한 런타임 보안 제어를 제공하는 메모리 블록 검사기(MBC)가 포함되어 있습니다. 메모리 액세스 정책을 정의함으로써 MBC는 무단 메모리 액세스를 방지할 수 있습니다.
MCX 오류 수정이 신뢰할 수 있는 로보틱스를 가능하게 하는 방법
MCX의 오류 수정 기능은 모바일 로봇의 신뢰성과 안전성을 개선하기 위해 함께 작동합니다. 플래시 메모리에서 단일 비트 오류를 자동으로 수정함으로써, MCX는 로봇 제어 펌웨어의 무결성을 유지합니다. 이 무결성은 로봇이 의도하지 않은 행동을 유발할 수 있는 잘못된 제어 논리를 실행하지 않도록 방지합니다.
MCX는 이중 비트 오류를 감지할 수 있도록 설계되어 있으며, 이는 작동의 안정성과 신뢰성을 보장하는 데 매우 중요한 요소입니다. 이중 비트 오류를 수정하는 것은 불가능하지만, 이를 감지함으로써 손상된 명령어 또는 데이터를 사용하는 것을 방지할 수 있습니다. 이중 비트 오류가 감지되면 로봇을 안전한 상태로 부드럽게 전환하여 잠재적인 위험이나 오작동을 효과적으로 피할 수 있습니다.
MCX의 ECC는 플래시 메모리를 넘어 SRAM까지 메모리 보호 기능을 확장합니다. MCX A의 8KB RAMA0 SRAM 블록은 ECC를 포함하며, MCX N은 RAMG와 RAMH를 ECC 보정용으로 재사용하여 최대 416KB의 ECC RAM을 제공합니다. ECC RAM은 실행 중 데이터에 대해 단일 비트 오류 수정 및 이중 비트 오류 감지를 가능하게 합니다. 이 기능은 센서 읽기, 제어 출력 및 중간 알고리즘 변수와 같은 중요한 데이터를 단일 비트 오류 축적으로부터 보호하며, 그로 인해 로봇의 인식, 계획 및 제어 로직에서 불일치가 발생할 수 있는 상황을 방지합니다. 실행 중 데이터의 무결성을 유지함으로써 MCX의 SRAM ECC는 로봇의 상황 인식과 의사 결정이 정확하고 신뢰할 수 있도록 보장합니다. 또한, MCX N은 최대 32KB의 ECC RAM을 제공하며, VBAT 모드로 유지될 수 있어 저전력 상태에서도 데이터를 보호할 수 있습니다.
MBC는 메모리 보호 정책을 시행하여 추가적인 안전층을 제공합니다. 이는 비인가 메모리 접근을 차단할 수 있으며, 결함을 억제하고 이를 통해 로봇의 통제 불가능한 행동을 방지하는 데 도움을 줄 수 있습니다.
마지막으로, ERM은 로봇 유지보수에 데이터 기반 접근 방식을 가능하게 합니다. 메모리 오류 이벤트를 기록함으로써, ERM은 로봇 전자 장치의 상태에 대한 가시성을 제공합니다. 수정된 오류 비율이 증가한다면, 이는 임박한 고장을 나타낼 수 있으며, 이를 통해 로봇을 사전적으로 점검 및 유지보수할 수 있게 됩니다.
사용 사례 예시
산업 환경에서 작동하는 모바일 서비스 로봇을 고려해보세요. 로봇은 자율적으로 이동하며 장애물과 사람을 피하면서 작업을 수행해야 합니다.
모바일 서비스 로봇
그림 1
그러나 산업 환경은 까다로울 수 있으며, 장비가 전자기 간섭(EMI)을 생성할 수 있습니다. 시간이 지나면 EMI가 로봇 메모리에서 비트 오류를 유발할 수 있습니다.
MCX의 ECC는 EMI로 인해 발생한 단일 비트 오류를 감지하고 수정하여 로봇이 제어 논리를 올바르게 실행하도록 합니다. 보다 심각한 이중 비트 오류가 발생할 경우, MCX는 이를 감지하고 손상된 데이터를 사용하는 것을 방지합니다. 그런 다음 로봇은 안전한 셧다운을 시작할 수 있습니다.
이러한 이벤트 동안 MCX의 ERM은 오류 발생을 기록합니다. 유지보수 직원은 이러한 로그를 모니터링하며 잠재적인 고장을 나타내는 경향을 확인할 수 있습니다. 로봇을 사전 예방적으로 정비함으로써 다운타임을 최소화하고 안전을 유지할 수 있습니다.
MCUXpresso 개발자 경험
빠른 프로토타이핑을 위해 MCX와 함께 NXP는 저비용 FRDM 개발 플랫폼을 제공합니다. FRDM 개발 보드는 표준 폼팩터와 헤더, MCU I/O에 대한 쉬운 접근, 온보드 MCU-Link 디버거 및 USB-C 케이블을 제공합니다.
NXP의 GitHub은 또한 Application Code Hub 포털(ACH)을 통해 액세스할 수 있는 애플리케이션 예제를 제공합니다. MCUXpresso IDE와 VS Code용 MCUXpresso에는 ACH 브라우징 기능이 내장되어 있어, 개발자가 사용 가능한 데모와 예제를 쉽게 검색하고, 장치, 애플리케이션 기술 또는 주변 장치/기능별로 필터링한 뒤, 프로젝트를 직접 불러와 사용할 수 있습니다.
확장 보드 허브(EBH)는 NXP의 SDK Builder 사이트의 확장 기능으로, 개발자가 NXP 및 파트너사에서 제공하는 다양한 애드온 보드를 찾아 선택한 평가 보드의 기능을 확장할 수 있도록 지원하는 플랫폼입니다. 이 허브는 직관적인 필터링 기능을 제공하여 보드를 빠르게 찾아보고 지원 소프트웨어를 확실히 확인할 수 있게 합니다. 개발자는 특정 사용 사례나 애플리케이션을 평가하고 빠르게 프로토타입을 제작할 수 있도록 다양한 종류의 실드를 보드와 연결하여 사용할 수 있습니다.
NXP는 신뢰성과 안전성을 갖춘 모바일 로봇 공학을 구현합니다
모바일 로봇이 점점 더 자율적으로 발전함에 따라, 신뢰성과 안전한 작동을 보장하는 것이 중요합니다. 만약 이러한 문제가 해결되지 않으면, 까다로운 작동 환경에서 발생하는 메모리 오류가 로봇의 예상치 못한 행동을 초래할 수 있습니다.
NXP의 MCX 마이크로컨트롤러 포트폴리오는 오류 수정 기능을 통해 신뢰할 수 있는 로봇 요구를 충족시키기에 적합합니다. ECC로 보호된 플래시와 SRAM부터 런타임 메모리 액세스 제어 및 오류 이벤트 로그 기능에 이르기까지, MCX는 메모리 오류에 대비한 다중 보호 계층을 제공합니다.
신뢰성과 안전성을 최적화하려는 모바일 로봇 설계자는 NXP MCX를 고려해야 합니다. 고급 아키텍처와 포괄적인 기능 세트는 신뢰할 수 있는 자율 로봇을 개발하기 위한 강력한 플랫폼을 제공합니다.
기사 태그