MCX의 오류 수정 기능을 활용하여 신뢰할 수 있고 안전한 모바일 로봇 설계
자율적인 이동 로봇은 과거에는 공상 과학으로 여겨졌지만, 처리, 감지 및 제어 기술의 최근 진보로 현실에 가까워지고 있습니다. 그러나 이 기술이 직면한 주요 장애물 중 하나는 처리 작업 중 오류가 발생했을 때 로봇이 스스로 수정할 수 있는 능력입니다. 이 기사에서는 NXP의 MCX MCU가 모바일 로봇을 더 안전하고 신뢰할 수 있게 만드는 고급 오류 수정 기능을 어떻게 제공하는지 탐구합니다.
모바일 로봇은 산업 자동화부터 서비스 로봇까지 다양한 응용 분야에서 점점 더 많이 사용되고 있습니다. 이러한 로봇이 더 복잡한 작업을 수행하고 통제되지 않은 환경에서 작동하게 됨에 따라 그들의 신뢰성과 안전한 작동을 보장하는 것이 중요합니다.
NXP의 새로운 MCX 마이크로컨트롤러 포트폴리오는 이러한 과제들을 해결하는 데 도움을 줍니다. 고성능 Arm® Cortex®-M33 코어를 기반으로 구축된 MCX MCU는 고급 오류 감지 및 수정 기능을 통합하여 높은 신뢰성과 안전 수준이 필요한 모바일 로봇 개발에 적합합니다.
모바일 로봇의 일반적인 신뢰성 및 안전성 문제
모바일 로봇은 주변 환경을 인식하고 결정을 내리며 행동을 제어하기 위해 온보드 전자 장치에 크게 의존합니다. 그러나 온도 극단, 진동, 전자기 간섭과 같은 다양한 요인으로 인해 작동 조건이 어려울 수 있습니다. 이러한 스트레스 요인은 시간이 지남에 따라 로봇의 메모리에서 비트 오류와 손상을 초래할 수 있습니다. 따라서 모바일 로봇이 오랜 작동 수명을 가진 것으로 기대되는 만큼 전자 장치의 장기적인 신뢰성을 고려해야 합니다.
산업용 AMRs
그림 1
메모리 오류는 모바일 로봇의 신뢰성과 안전성 문제를 초래할 수 있습니다. 로봇의 제어 펌웨어에서 비트 플립이 발생하면 잘못된 명령을 실행하여 의도하지 않은 동작을 유발할 수 있습니다. 손상된 센서 데이터가 잘못 해석되어 로봇이 올바르지 않은 결정을 내릴 수 있습니다. 잘못된 모터 제어 출력은 예기치 않은 움직임을 일으키거나 로봇 및 주변 환경을 손상시킬 가능성이 있습니다.
사람 근처에서 작동하는 모바일 로봇과 같은 안전이 중요한 애플리케이션에서는 이러한 오작동의 결과가 상당할 수 있습니다. 모바일 로봇은 신뢰할 수 있고 안전한 작동을 보장하기 위해 메모리 오류에 대한 강력한 보호 장치를 필요로 합니다.
플래시 및 RAM을 위한 MCX 오류 수정 기능
NXP MCX A 마이크로컨트롤러 시리즈는 메모리 오류를 감지하고 수정하기 위한 여러 주요 기능을 통합합니다. MCX A는 ECC(오류 수정 코드) 기능을 갖춘 최대 128KB의 플래시 메모리를 포함합니다. MCX N 시리즈는 ECC 기능을 갖춘 최대 2MB의 플래시 메모리를 제공합니다. 플래시의 각 128비트 워드에는 추가적으로 9비트의 ECC 데이터가 포함됩니다.
ECC는 각 데이터 워드와 함께 여분의 비트를 저장하는 기술입니다. 이러한 여분의 비트는 ECC 비트를 재생성하고 매 읽기 작업마다 저장된 ECC와 비교하여 데이터 무결성을 확인하는 데 도움을 줍니다. 재생성된 ECC 비트와 저장된 ECC 비트가 일치하지 않으면 오류가 있다는 것을 의미하며, ECC가 이를 수정할 수 있을 수 있습니다. ECC는 단일 비트 오류의 경우 어떤 비트에 오류가 있는지 확인할 수도 있습니다. 그러나 ECC는 이중 비트 오류를 감지할 수는 있으나 이를 수정할 수는 없습니다.
모바일 로봇 예제
그림 2
마이크로컨트롤러가 ECC 오류를 감지하면, System Controller(SYSCON) 모듈이 버스 오류를 생성하거나 인터럽트를 사용하여 오류를 처리할 수 있습니다. 유연한 오류 처리는 개발자가 자신의 애플리케이션에 가장 적합한 방식으로 오류 처리를 사용자 정의할 수 있도록 합니다.
MCX A는 아울러 32KB의 온칩 SRAM을 제공하며, RAMA0라는 이름의 8KB 블록이 단일 오류 수정 및 이중 오류 검출을 위한 ECC(ECC) 기능을 포함합니다. MCX N 시리즈는 ECC로 구성될 경우 최대 416KB의 RAM을 제공하며, 그 중 32KB는 VBAT 모드에서 유지될 수 있습니다. 이러한 기능은 센서 입력 및 알고리즘 상태 변수와 같은 중요한 런타임 데이터를 보호합니다. 마이크로컨트롤러는 오류에 대한 전반적인 보고 및 제어를 제공하는 오류 보고 모듈(ERM)을 구현합니다. ERM은 ECC 로직에서 발생한 오류 이벤트를 캡처하고 기록하며, 메모리 하위 시스템의 상태를 확인할 수 있는 가시성을 제공합니다. 개발자는 이 오류 정보를 진단 및 예측 유지보수에 사용할 수 있습니다.
For self-diagnostics, the Error Injection Module (EIM) provides capabilities to inject errors when reading ECC RAM. This self-test feature allows developers to implement periodic self-checks to ensure the microcontroller operates reliably.
ECC 외에도, MCX A 시리즈에는 서로 다른 메모리 영역에 대한 읽기, 쓰기 및 실행 권한에 대한 런타임 보안 제어를 제공하는 Memory Block Checker (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은 로봇 전자 장치의 상태에 대한 가시성을 제공합니다. 수정된 오류율이 증가하면 고장이 임박했음을 나타낼 수 있으며, 이를 통해 로봇을 사전에 점검할 수 있습니다.
사용 사례 예
산업 환경에서 작동하는 모바일 서비스 로봇을 생각해 보십시오. 로봇은 장애물과 사람을 피하면서 작업을 수행하는 동안 자율적으로 탐색해야 합니다.
모바일 서비스 로봇
그림 3
그러나 산업 환경은 까다로울 수 있으며, 장비가 전자기 간섭(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와 MCUXpresso for VS Code는 ACH 브라우징 기능이 내장되어 있어, 개발자들이 사용 가능한 데모와 예제를 쉽게 검색하고, 장치, 애플리케이션 기술, 주변기기/기능에 따라 필터링하여 프로젝트를 바로 로드해 사용할 수 있습니다.
확장 보드 허브(EBH)는 개발자가 선택한 평가 보드의 기능을 확장하기 위해 NXP 및 파트너의 다양한 애드온 보드를 찾을 수 있는 NXP의 SDK Builder 사이트의 확장판입니다. 이 허브는 직관적인 필터링을 제공하여 보드를 신속하게 찾고 지원 소프트웨어를 확인할 수 있도록 합니다. 개발자는 보드를 다양한 종류의 실드와 결합하여 특정 사용 사례나 애플리케이션에 대한 평가 및 빠른 프로토타이핑을 수행할 수 있습니다.
NXP는 신뢰할 수 있고 안전한 모바일 로보틱스를 가능하게 합니다
모바일 로봇이 점점 더 자율적으로 변함에 따라, 신뢰할 수 있고 안전한 작동을 보장하는 것이 필수적입니다. 이를 해결하지 않으면 까다로운 작동 환경에서 발생하는 메모리 오류가 예기치 않은 로봇 동작으로 이어질 수 있습니다.
NXP의 MCX 마이크로컨트롤러 포트폴리오는 오류 수정 기능을 통해 신뢰할 수 있는 로봇 공학의 요구를 충족할 수 있습니다. ECC로 보호된 플래시 및 SRAM에서 런타임 메모리 액세스 제어 및 오류 이벤트 로깅에 이르기까지, MCX는 메모리 오류에 대한 여러 보호 계층을 제공합니다.
모바일 로봇 설계자는 신뢰성과 안전성을 최적화하기 위해 NXP MCX를 고려해야 합니다. 고급 아키텍처와 포괄적인 기능 세트는 신뢰할 수 있는 자율 로봇 개발을 위한 강력한 플랫폼을 제공합니다.
디바이스 프로그래밍 서비스
대규모로 고품질 디바이스 프로그래밍 서비스를 제공합니다.
기사 태그