MCX의 오차 수정 기능을 통해 안정적이고 안전한 모바일 로봇 설계

진정으로 자율 주행이 가능한 모바일 로봇은 예전에는 공상과학에 나왔지만, 최근 처리, 감지 및 제어 분야의 발전으로 인해 현실에 한 걸음 더 가까워졌습니다. 하지만 이 기술이 직면한 주요 장애물 중 하나는 처리 작업에서 오류가 발생할 경우 로봇이 스스로 이를 수정할 수 있는 능력입니다. 이 문서에서는 NXP의 MCX MCU가 모바일 로봇을 더 안전하고 신뢰할 수 있게 해 주는 고급 오차 수정 기능을 어떻게 갖추고 있는지 알아봅니다.

모바일 로봇은 산업 자동화부터 서비스 로봇에 이르기까지 광범위한 분야에서 점점 더 많이 사용되고 있습니다. 이러한 로봇은 보다 복잡한 작업을 수행하고 통제되지 않은 환경에서 작동하기 때문에 안정적이고 안전한 작동을 보장하는 것이 중요합니다.

NXP의 새로운 MCX 마이크로컨트롤러 포트폴리오는 이러한 과제를 해결하는 데 도움이 됩니다. 고성능 Arm® Cortex®-M33 코어를 기반으로 구축된 MCX MCU는 고급 오류 감지 및 수정 기능을 통합하여 높은 신뢰성과 안전성 수준이 요구되는 모바일 로봇을 개발하는 데 적합합니다.

모바일 로봇의 보편적인 신뢰성 및 안전성 문제

모바일 로봇은 주변 환경을 인식하고 결정을 내리고 행동을 제어하기 위해 탑재된 전자 장치에 크게 의존합니다. 그러나 극한 온도, 진동, 전자기 간섭 등 다양한 요인으로 인해 작동 조건이 까다로울 수 있습니다. 이러한 스트레스 요인은 시간이 지남에 따라 로봇의 메모리에 비트 오류와 손상을 일으킬 수 있습니다. 따라서 모바일 로봇은 긴 작동 수명을 가질 것으로 예상되므로 전자 장치의 장기적인 신뢰성을 고려할 필요가 있습니다.

1024-image-of-industrial-amrs
산업용 AMR

메모리 오류는 모바일 로봇의 신뢰성 및 안전성에 다양한 문제를 일으킬 수 있습니다. 로봇 제어 펌웨어의 비트 플립으로 인해 잘못된 명령이 실행되어 의도치 않은 동작이 발생할 수 있습니다. 손상된 센서 데이터는 잘못 해석될 수 있으며, 로봇이 잘못된 결정을 내릴 수 있습니다. 모터 제어 출력에 오류가 있으면 예상치 못한 동작이 발생하거나 로봇이나 주변 환경이 잠재적으로 손상될 수 있습니다.

사람 근처에서 작동하는 모바일 로봇 등 안전이 중요한 분야에서 이러한 오작동이 발생하면 심각한 결과로 이어질 수 있습니다. 모바일 로봇은 안정적이고 안전한 작동을 보장하기 위해 메모리 오류에 대한 강력한 보호 장치가 필요합니다.

플래시 및 RAM을 위한 MCX 오류 수정 기능

NXP MCX A 마이크로컨트롤러 시리즈는 메모리 오류를 감지하고 교정하기 위한 여러 가지 주요 기능을 통합했습니다. MCX A에는 오차 수정 코딩(ECC) 기능이 있는 최대 128KB 플래시 메모리가 내장되어 있습니다. MCX N 시리즈는 ECC를 특징으로 하는 최대 2MB 플래시 메모리를 가지고 있습니다. 플래시의 128비트 단어에는 추가 9비트의 ECC 데이터가 통합되어 있습니다.

ECC는 각 데이터 단어에 중복 비트를 저장하는 기술입니다. 이러한 중복 비트는 ECC 비트를 재생성하고 모든 읽기 작업에서 저장된 ECC와 비교하여 데이터 무결성을 검사하는 데 도움이 됩니다. 재생성되고 저장된 ECC 비트가 일치하지 않으면 오류가 발생했다는 의미이며, ECC가 이를 교정할 수 있습니다. ECC는 단일 비트 오류가 발생한 경우 어느 비트에 오류가 있는지도 판별할 수 있습니다. 하지만 이 방법은 이중 비트 오류를 감지하는 것만 가능하고 교정할 수는 없습니다.

1024-image-of-mobile-robot-example
모바일 로봇 예시

마이크로컨트롤러가 ECC 오류를 감지하면 시스템 컨트롤러(SYSCON) 모듈은 버스 오류를 생성하거나 인터럽트를 사용하여 오류를 처리할 수 있습니다. 유연한 오류 처리를 통해 개발자는 자신의 애플리케이션에 가장 적합하도록 처리 방식을 사용자 정의할 수 있습니다.

또한 MCX A는 단일 오차 수정 및 이중 오류 감지를 위한 ECC를 통합한 8KB 블록(RAMA0)과 함께 32KB의 온칩 SRAM을 제공합니다. MCX N 시리즈는 ECC로 구성할 경우 최대 416KB의 RAM을 제공하며, 그 중 32KB는 VBAT 모드에서 보존될 수 있습니다. 이 기능은 센서 입력 및 알고리즘 상태 변수와 같은 중요한 런타임 데이터를 보호합니다. 마이크로컨트롤러는 오류 보고 모듈(ERM)을 구현하여 포괄적인 보고와 오류 제어를 제공합니다. ERM은 ECC 로직에서 오류 이벤트를 캡처하고 기록하여 메모리 하위 시스템의 상태에 대한 가시성을 제공합니다. 개발자는 이 오류 정보를 진단 및 예측 유지 관리에 활용할 수 있습니다.

자체 진단을 위해 오류 주입 모듈(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은 또한 VBAT 모드에서 보존될 수 있는 최대 32KB의 ECC RAM을 제공하므로 저전력 상태에서도 데이터를 보호할 수 있습니다.

MBC는 메모리 보호 정책을 적용하여 안전성을 한층 더 강화합니다. 이는 승인되지 않은 메모리 접근을 차단하여, 오류의 영향을 제한하고 로봇이 제어할 수 없는 동작을 일으키지 않도록 방지할 수 있습니다.

마지막으로, ERM은 로봇 유지관리에 대한 데이터 중심 접근 방식을 제공합니다. ERM은 메모리 오류 이벤트를 기록하여 로봇 전자 장치의 상태를 파악할 수 있도록 해줍니다. 수정된 오류의 증가는 곧 고장이 날 것임을 나타내는 신호일 수 있으며, 이를 통해 로봇을 사전에 정비할 수 있습니다.

예시 사용 사례

산업 환경에서 운영되는 모바일 서비스 로봇을 생각해 보자. 로봇은 작업을 수행하는 동안 장애물과 사람을 피하면서 자율적으로 움직여야 합니다.

1024-image-of-mobile-service-robot
모바일 서비스 로봇

그러나 산업 환경에서는 장비에서 전자파 간섭(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를 고려해야 합니다. 고급 아키텍처와 포괄적인 기능 세트 덕분에 신뢰할 수 있는 자율 로봇을 개발할 수 있는 강력한 플랫폼이 될 수 있습니다.


관련 뉴스 기사

최신 뉴스

Sorry, your filter selection returned no results.

개인정보 보호정책이 업데이트되었습니다. 잠시 시간을 내어 변경사항을 검토하시기 바랍니다. 동의를 클릭하면 Arrow Electronics 개인정보 보호정책 및 이용 조건에 동의하는 것입니다.

당사의 웹사이트에서는 사용자의 경험 향상과 사이트 개선을 위해 사용자의 기기에 쿠키를 저장합니다. 당사에서 사용하는 쿠키 및 쿠키 비활성화 방법에 대해 자세히 알아보십시오. 쿠키와 추적 기술은 마케팅 목적으로 사용될 수 있습니다. '동의'를 클릭하면 기기에 쿠키를 배치하고 추적 기술을 사용하는 데 동의하는 것입니다. 쿠키 및 추적 기술을 해제하는 방법에 대한 자세한 내용과 지침을 알아보려면 아래의 '자세히 알아보기'를 클릭하십시오. 쿠키 및 추적 기술 수락은 사용자의 자발적 선택이지만, 웹사이트가 제대로 작동하지 않을 수 있으며 사용자와 관련이 적은 광고가 표시될 수 있습니다. Arrow는 사용자의 개인정보를 존중합니다. 여기에서 당사의 개인정보 보호정책을 읽을 수 있습니다.