플래시 없는 마이크로 컨트롤러를 통한 시스템 비용 절감 및 성능 향상
DigiKey 북미 편집자 제공
2019-08-22
사물 인터넷(IoT) 네트워크를 호출하여 더 복잡한 작업을 수행하게 되면서 IoT 종단점 특히, 에지에서 더 높은 수준의 컴퓨팅을 수행하는 종단점에 대한 메모리 요구 사항이 증가하고 있습니다. 하지만 온칩 마이크로 컨트롤러 플래시 메모리는 약 1Mbit로 제한되며 대부분의 고급 IoT 종단점의 경우 이보다 몇 배 더 많은 메모리가 필요합니다.
기존 솔루션의 경우 외장형 플래시 칩을 통해 마이크로 컨트롤러의 프로그램 메모리를 확장해야 합니다. 하지만 메모리 요구 사항이 8Mbits 이상일 경우 대부분의 프로그램 메모리가 오프칩 형태로 사용됩니다.
따라서 설계자는 많은 경우 온칩 플래시를 전혀 사용하지 않고 플래시 없는 즉, ROM 없는 마이크로 컨트롤러를 외장형 고속 8진 SPI XiP(eXecute-in-place) 플래시 칩과 함께 사용하는 것이 더 나을 수 있습니다. 그러면 마이크로 컨트롤러 비용을 크게 절감하고 확장성을 강화하여 미래를 대비한 경쟁력 있는 설계가 가능합니다. 고속 8진 메모리 인터페이스의 등장으로 메모리 액세스 시간 관련 문제가 완화되었습니다.
이 기사에서는 대량의 프로그램 메모리가 필요한 IoT 종단점 및 내장형 시스템을 위한 실행 가능한 옵션으로 진화한 ROM 없는 마이크로 컨트롤러와 외장형 메모리에 대해 설명합니다. 그런 다음 NXP Semiconductors의 ROM 없는 마이크로 컨트롤러와 Adesto Technologies의 8진 SPI XiP 플래시 칩을 사용하여 개념을 적용하는 방법을 보여줍니다.
IoT 에지에서 메모리 확장
대부분의 중간 이하 성능 IoT 종단점에서는 마이크로 컨트롤러를 사용하여 종단점을 관리하며 온칩 플래시에 펌웨어를 저장합니다. 응용 분야 코드, 무선 IP 통신 스택 및 고급 버전 CVC 보안 코드를 추가하여 펌웨어를 확장합니다. 개발 중이나 현장 업데이트의 결과로 코드가 확장될 수 있습니다.
현재는 더 많은 컴퓨팅 기능을 수행하기 위해 일부 IoT 종단점을 호출하고 있습니다. 원시 센서 데이터 또는 부분적으로 처리된 센서 데이터를 처리하기 위해 네트워크를 통해 중앙 컴퓨터로 전송하는 대신, IoT 종단점에서는 센서 융합 알고리즘, 데이터 보간, 패턴 또는 이미지 인식, 점점 복잡해지는 인공 지능(AI) 컴퓨팅 등을 포함하는 더 복잡한 작업을 수행합니다.
그러면 중앙 컴퓨터에서는 전체 미가공 센서 데이터 대신 IoT 노드의 로컬 처리 결과만 수신하므로 무선 네트워크의 트래픽을 줄일 수 있습니다. RF 송신기는 IoT 종단점에서 가장 많은 전력을 소비하므로 에지 컴퓨팅에서 배터리 구동 종단점의 배터리 수명이 향상되는 경우가 있습니다.
현장에서 업데이트해야 하는 시스템은 추가적인 메모리 문제가 있습니다. 기존 시스템에서 업데이트를 처리하려면 최소 2배의 예상 프로그램 메모리 공간이 필요합니다. 기존 프로그램 메모리와 OTA(Over-the-Air) 업데이트를 모두 처리해야 하기 때문입니다. 일부 시스템의 경우 읽기 전용 초기 펌웨어 이미지에 할당된 추가 메모리로 인해 3배의 예상 프로그램 메모리 공간이 필요할 수 있습니다. 시스템에서 해킹 감지, 손상된 펌웨어 이미지 등 특정 유형의 장애가 발생한 경우 출하 시 초기 펌웨어 이미지를 로드하여 시스템을 복구할 수 있습니다.
일부 응용 분야에서는 이 메모리 확장이 1Mbit 내장형 플래시 한도를 빠르게 초과하여 외장형 메모리 확장이 필요할 수 있습니다. 지금까지는 이 문제를 해결하기 위해 외장형 병렬 플래시 메모리 칩을 추가하는 것이 일반적이었습니다. 하지만 이렇게 하면 마이크로 컨트롤러에서 응용 분야 I/O에 사용 가능한 약 36개의 외장형 핀을 사용하게 되는 단점이 있습니다. 또한 PC 기판 공간이 낭비되고 기판에서 전자파 장해(EMI)가 발생할 가능성이 높아집니다.
SPI 프로그램 메모리 확장
병렬 버스를 사용하는 이외에 직렬 주변 장치 인터페이스(SPI)를 사용하여 프로그램 메모리를 확장할 수도 있습니다. 기존 SPI에서는 반이중 단일 비트 송신에 데이터 회선을 하나만 사용하지만, 시간이 지나면서 이중 및 쿼드 데이터 회선을 지원하도록 확장되어 데이터 처리량도 그에 상응하여 향상되었습니다. 처리량은 대용량 외부 SPI 플래시 칩에 연결하는 데 실용적인 수준으로 향상되었습니다.
프로그램 메모리 응용 분야의 경우 기존 듀얼 또는 쿼드 SPI는 프로그램 메모리 공간에 매핑되는 내장형 SRAM(Static Random-Access Memory)에 외장형 플래시 데이터 메모리를 복사하는 섀도 플래시 구성을 사용합니다. 이 경우 고속 SRAM에서 실행하여 실행 속도를 높이면서 프로그램 메모리를 쉽게 확장할 수 있는 이점이 있는 반면에 중요한 단점도 있습니다. 내장형 SRAM의 양이 제한적이므로 메모리는 페이징 모드로 액세스됩니다. 이 모드에서는 필요에 따라 플래시 메모리가 내장형 SRAM으로 교체됩니다. 온칩 SRAM을 늘려서 이 병목 현상을 줄일 수 있지만, SRAM은 반도체 중에서 가장 비싼 블록 중 하나이므로 이렇게 하면 마이크로 컨트롤러 비용이 크게 증가하는 단점이 있습니다.
SPI를 혁신한 최신 장치가 XiP입니다. SPI XiP를 사용하면 마이크로 컨트롤러의 CPU를 통해 외장형 SPI 플래시에서 펌웨어 코드를 직접 실행할 수 있습니다. SPI XiP 인터페이스에 캐시를 추가하여 프로그램 실행 속도가 크게 향상될 수 있습니다.
최근에 SPI XiP가 널리 사용되면서 데이터 회선이 8개인 인터페이스가 확장되고 있습니다. 이 8진 SPI XiP 인터페이스는 온칩 플래시 메모리에서 실행할 때보다 훨씬 더 빠른 100Mbits/s 이상으로 처리량을 높였습니다.
SPI 메모리 혁신
이는 30년 전과 비슷한 진기한 진화를 이끌었습니다. 1Mbit의 온칩 플래시와 32Mbits의 외장형 프로그램 메모리 플래시를 8진 SPI XiP 인터페이스에서 액세스하는 시스템을 고려해 보십시오. 온칩 프로그램 메모리를 이 정도로 최소화했다니 한 가지 질문이 떠오르게 합니다. 그렇다면 이 온칩 마이크로 컨트롤러를 제거하고도 비용 효율적인 시스템을 구축할 수 있습니까?
오래전부터 플래시 마이크로 컨트롤러가 탑재된 미드레인지 시스템이 외장형 플래시 칩이 달린 플래시 없는 마이크로 컨트롤러 탑재 시스템에 비해 항상 더 비용 효율적인 것으로 여겨졌습니다. 최근에 이런 생각이 바뀌었습니다.
물론 온칩 플래시 메모리를 제거하면 마이크로 컨트롤러 비용이 절감됩니다. 하지만 세부 조사에 따르면 플래시가 더 이상 필요하지 않을 경우 플래시에만 사용되는 공정 기술 특징을 제거할 수도 있다고 합니다. 그러면 마이크로 컨트롤러 비용이 크게 감소하여 제조 공정 비용을 절감할 수 있습니다. 이로 인해 30년 전 “ROM 없는” 마이크로 컨트롤러로 불렸던 장치가 새롭게 등장하게 되었습니다. 지금은 이 장치를 플래시 없는 마이크로 컨트롤러라고 합니다.
플래시 없는 마이크로 컨트롤러 (재)소개
플래시 메모리의 속도를 활용할 수 있는 고성능 마이크로 컨트롤러로 NXP Semiconductors의 플래시 없는 MIMXRT1052DVL6B(RT1052)가 있습니다. RT1052는 NXP의 i.MX RT1050 프로세서 제품군에 속하며 32Kb 명령어 캐시와 32Kb 데이터 캐시를 탑재한 600MHz Arm® Cortex®-M7을 기반으로 합니다. 플래시를 제거하고 내장형 플래시 메모리에 의해 제한되지 않는 고속 CMOS 공정 기술을 사용하여 600MHz 클록 속도를 실현합니다. RT1052에는 대량의 SRAM(512Kb)이 있으며 프로그램 또는 데이터 메모리용으로 분할할 수 있습니다.
마이크로 컨트롤러에는 LCD 인터페이스, 고급 카메라 지원을 위한 디지털 카메라 센서 인터페이스(CSI) 및 픽셀 처리 파이프라인(PXP), 디지털 오디오용 SPDIF 인터페이스, USB OTG 인터페이스 2개, eMMC/SD 플래시 카드 인터페이스 2개, 20채널 아날로그 디지털 컨버터(ADC) 2개, 암호화 모듈을 비롯한 다양한 고급 주변 장치가 있습니다. 전체 주변 장치 목록은 제품 구성도에서 확인할 수 있습니다(그림 1).
그림 1: NXP의 RT1052에는 SPI XiP 직렬 인터페이스, 데이터 암호화 지원을 비롯한 다양한 고급 주변 장치가 있습니다. (이미지 출처: NXP)
다른 옵션으로는 NXP MIMXRT1051DVL6B(RT1051)가 있습니다. 이 제품은 LCD 인터페이스, CSI, PXP를 제외하고 RT1052와 동일한 특징을 제공합니다.
RT1052에는 듀얼, 쿼드 또는 8진 SPI XiP 플래시 인터페이스를 사용하여 코드를 실행할 수 있는 FlexSPI 인터페이스가 있습니다. 펌웨어 보안을 강화하기 위해 이 마이크로 컨트롤러에서는 SPI XiP를 통해 암호화된 프로그램 메모리를 지원합니다. 예를 들어 Adesto Technologies의 ATXP032-CCUE-T가 있습니다.
최신 XiP 플래시 작업
Adesto의 ATXP032-CCUE-T는 온칩 마이크로 컨트롤러 플래시 메모리보다 훨씬 더 빠른 8진 데이터 전송률(DTR) 모드에서 초당 최대 266Mbytes의 데이터 전송을 지원하는 32Mbits 8진 플래시 칩입니다. 단일 1.8V 공급이 필요하고 35µA의 일반 8진 모드 대기 전류를 포함합니다. 또한 133MHz의 최대 SPI 클록을 지원합니다.
그림 2: Adesto ATXP032-CCUE-T 플래시 메모리는 8진 SPI, I/O0 ~ I/O7을 사용하여 마이크로 컨트롤러에 연결합니다. SRAM 쓰기 데이터 버퍼는 플래시에 쓰기 작업 성능을 개선합니다. (이미지 출처: Adesto Technologies)
활성 플래시 읽기 중에 ATXP32는 142µA/MHz + 1mA 오버헤드(일반) 전류를 소모합니다. 8진 모드에서 133MHz의 최고 SPI 클록 속도에서는 19.9mA만 소모합니다.
또한 ATXP032-CCUE-T는 표준 SPI 모드 0 및 3과 쿼드 SPI 모드를 지원합니다. 256바이트 보안 레지스터에는 128바이트 초기 프로그래밍된 고유 식별자와 장치 정보(예: 이더넷 미디어 액세스 제어(MAC), 보안 키)를 저장하는 데 사용할 수 있는 128바이트의 일회성 프로그래밍 가능(OTP) 메모리가 있습니다.
ATXP032-CCUE-T의 메모리 배열은 주목할 만하며, 각각 8Mbits의 네 뱅크로 분할됩니다. 뱅크를 프로그래밍하거나 지우는 동안 호스트 마이크로 컨트롤러가 다른 뱅크에서 코드를 실행할 수 있도록 내부 논리가 구성되어 있습니다. 작업은 호스트 마이크로 컨트롤러에 투명하게 실행되며 특별한 구성 설정이 필요하지 않습니다.
또한 ATXP032-CCUE-T에는 장치의 작동 파라미터(예: 저전력 모드)를 구성하고, DTR 모드를 활성화하거나 비활성화하고, 표준, 쿼드 또는 8진 SPI 모드(기본값: 표준 SPI)를 설정하기 위한 세 개의 상태 및 제어 레지스터가 있습니다. 상태 레지스터에서 프로그램 또는 지우기 작업 상태, 저전력 상태, 메모리가 쓰기 보호 상태인지 여부 등을 확인할 수 있습니다.
플래시 없는 마이크로 컨트롤러 및 외장형 XiP를 함께 사용
RT1052와 ATXP032-CCUE-T를 함께 사용하는 방법은 간단합니다(그림 3). 전원을 켜면 RT1052가 96Kb 온칩 부트 ROM에서 코드 실행을 시작합니다. 부트 ROM은 많은 RT1052 외장형 메모리 인터페이스 중에서 프로그램 메모리에 사용할 인터페이스를 선택하는 14개 부트 모드 구성 핀의 상태를 읽습니다. 옵션에는 외장형 eMMC 카드, microSD 카드, 기존 외장형 병렬 인터페이스, SPI XiP(이 경우 Adesto의 ATXP032-CCUE-T) 등이 있습니다.
그림 3: NXP RT1052 플래시 없는 마이크로 컨트롤러에는 Adesto ATXP032-CCUE-T에 쉽게 연결할 수 있는 8진 SPI XiP 인터페이스가 있습니다. 8진 SPI XiP 인터페이스는 Arm 코어에 투명하게 작동합니다. (이미지 출처: DigiKey)
또한 RT1052 부트 옵션에는 USB OTG에서 코드 다운로드 또는 SRAM에서 실행할 UART가 있습니다. 부트 모드 구성 핀을 사용하는 대신 RT1052 내에 내장된 퓨즈를 끊어서 제조 중에 부트 모드 옵션을 설정할 수도 있습니다. RT1052의 부트 ROM에서 프로그램 메모리 실행을 위해 8진 SPI XiP 인터페이스를 활성화한 경우 프로그램이 즉시 실행됩니다. 그러면 Arm 코어가 외장형 병렬 플래시 장치 또는 내장형 플래시를 사용할 때와 동일한 방법으로 Adesto ATXP032-CCUE-T에서 펌웨어를 실행합니다.
포함된 고속 데이터 전송으로 인해 PC 기판에서 8진 직렬 플래시를 마이크로 컨트롤러의 8진 SPI XiP 포트에 최대한 가깝게 배치해야 합니다. 전파 방해를 줄이기 위해 pc 트레이스가 120mm를 초과하지 않아야 합니다. 전파 방해를 방지하려면 다른 신호와의 클록 신호 간격이 pc 기판 트레이스 폭의 최소 3배 이상이어야 합니다. 스큐를 방지하려면 모든 I/O[0:7] 양방향 데이터 신호가 서로 10mm 이내에 있어야 합니다.
결론
에지 컴퓨팅을 추구하는 추세와 OTA 업데이트 및 연결된 메모리 확장성에 대한 요구로 인해 IoT 종단점에 대한 메모리 요구 사항이 강화되고 있습니다. 이러한 종단점 장치 설계자가 플래시 없는 마이크로 컨트롤러 사용 옵션을 고려하는 것이 더 나은 경우도 있습니다.
그림과 같이 플래시 없는 마이크로 컨트롤러, 고속 인터페이스 및 8진 SPI XiP 플래시 칩의 발전으로 개발자가 기존의 플래시 기반 마이크로 컨트롤러 접근 방식을 사용하는 대신 비용 효율적인 고성능 IoT 종단점 또는 내장형 시스템을 구축할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.
