글 | 더크 하이넨(Dirk Heinen) 산업용 MCU 제품 마케팅 매니저 인피니언 테크놀로지스
수많은 설계자는 다양한 제품에 최적화할 수 있는 애플리케이션을 찾기 위해 노력하고 있다. 이 글에서는 신속하고 신뢰할 수 있는 설계 구현을 위한 애플리케이션 중심의 솔루션을 실제로 구현하는 방법에 대해 알아본다.
표준 MCU 아키텍처는 CPU 성능과 메모리 크기, 주변기기 기능, 인터페이스와 관련해 넓은 범위에 걸쳐 다양한 파생 제품을 제공한다. 여기에 마이크로컨트롤러 제품군 내에서 제품 또는 시리즈가 특정 시스템 요구사항의 기능 및 주변기기에 이미 최적화되어 있다면 제품의 효율성은 더욱 높아진다.
이같이 애플리케이션에 최적화된 마이크로컨트롤러 제품군 XMC1000은 8비트 가격대로 32비트 성능과 기능을 모두 제공한다. 인피니언의 32비트 MCU XMC1000 제품군은 산업용 애플리케이션에서 현재까지 사용되는 8비트 솔루션을 대체할 수 있다. 이 제품군은 ARM의 Cortex-M0 프로세서와 완벽한 주변기기 기능, 높은 생산성의 툴 및 평가 킷을 결합하고, 300 mm 웨이퍼에 65 nm 임베디드 플래시 생산 기술을 적용한 비용 효율적인 공정으로 생산되어 최적의 대안이 될 수 있다.
인피니언은 최근 출시된 24핀 및 40핀 VQFN 패키지와 함께 XMC1000 산업용 마이크로컨트롤러를 위한 포트폴리오를 제공하고 있다. 여기에는
현재 5가지 패키지 종류의 60가지 이상 제품들이 포함돼 있다(그림 1). VQFN-24 패키지의 XMC1000 마이크로컨트롤러는 단 4 mm x 4 mm의 크기이므로 초소형 설계가 요구되는 센서 및 액추에이터 애플리케이션뿐 아니라 모터 드라이브에도 적합하다. VQFN 패키지 외에도 XMC1000 MCU는 16, 28 및 38핀 TSSOP 패키지로도 제공된다.
다양한 애플리케이션에 맞춤화된 전용 시리즈
3종 시리즈 XMC1100, XMC1200, XMC1300은 메모리 용량과 주변기기 세트의 측면에서 각기 다르다. 이들 시리즈의 플래시 크기는 8 KB ~ 200 KB 사이이다. XMC1000 MCU는 고성능 PWM 타이머, 12비트 A/D 컨버터 및 프로그래머블 직렬 통신 인터페이스를 내장하고 있다.
이들 세 가지 제품 시리즈는 각각 서로 다른 전용 애플리케이션 영역을 지원한다. 예를 들어 XMC1100 엔트리 시리즈는 XMC로의 진입을 쉽게 하도록 기본적인 범위의 기능을 제공한다. 또한 12비트 A/D 컨버터와 16비트 타이머가 내장돼 다양한 PWM 패턴을 발생시킬 수 있다. 모든 XMC1200 파생 제품은 터치 제어 및 LED 디스플레이(LEDTS)를 위한 모듈과 LED 디밍 및 컬러 제어를 위한 주변기기 유닛(BCCU, Brightness and Colour Control Unit)을 내장하고 있다.
XMC1300 시리즈는 특별히 모터 드라이브 제어에 특화된 수치연산 보조프로세서를 탑재한다. 이 밖에 XMC1000 제품군의 마이크로컨트롤러는 XMC4000 제품군과 마찬가지로 유럽에서 판매되는 가정용 가전기기의 안전을 규정하는 표준 IEC60730 클래스 B의 요구사항을 만족한다(그림 2). 예를 들어 XMC MCU는 하드웨어 오류 정정(ECC) 및 대응하는 메모리 테스트를 제공한다. 그 밖에 고유 기능으로 소프트웨어 IP를 더욱 안전하게 보호하는 128비트 AES 가속기가 있는 플래시 로더를 제공한다.
LED 조명 애플리케이션에 최적화
XMC1200 시리즈는 LED 조명 애플리케이션용으로 설계됐다. XMC1300 시리즈와 마찬가지로 XMC1200 시리즈는 BCCU 유닛을 탑재한다. BCCU의 기본 기능은 외부 LED 드라이버를 위한 포트 연결에서 자동으로 디밍 신호를 이용할 수 있다(그림 3). BCCU는 최소 코드 입력으로 다중 채널 LED 램프의 디밍 및 제어를 자동으로 제어하도록 설계됐다.
BCCU의 주요 기능은 12비트 분해능의 PDM을 이용한 자동 고주파 밝기 변조이다. 이것은 전체 9개 채널의 각각에 대해 개별적인 비트 스트림을 생성한다. 고주파는 RGB 애플리케이션에 사용되는 밝기 값 및 컬러 값에 대한 높은 분해능을 생성한다. 이에 따라 깜박임 없는 디스플레이를 생성할 수 있고 넓은 범위에 걸친 다양한 LED 드라이버와 고성능 LED를 지원할 수 있다.
BCCU는 이른바 디밍 엔진 3종을 통합하고 있다. 이들 엔진은 밝기의 급격한 변화를 보장한다. 강도의 급격한 디밍과 선형 변화는 디밍 단계와 컬러 변화를 사람의 눈에 자연스럽게 보이게 한다.
고효율 모터 제어
XMC1300 시리즈는 특별히 모터 드라이브 유닛을 위해 최적화됐다. 타이머 유닛 CCU4/CCU8 및 위치 인터페이스 POSIF는 간단한 방식으로 모터의 위치와 속도를 계산하는 데 사용할 수 있다. 더욱이 수치연산 보조프로세서가 24비트 분해능으로 벡터 회전(PARK 변형)을 수행할 수 있어 FMC(field-oriented motor control)를 위한 강력한 알고리즘을 구현할 수 있다(그림 4).
CCU4(capture/compare unit)는 가령 펄스 생성을 위해 사용하거나 디더 기능을 추가하면 느린 제어 루프 안정화에 이용할 수 있다. 또 프로그래머블 POSIF 블록과 함께 사용하면 증분 인코더를 평가할 수 있다. POSIF는 다양한 애플리케이션에서 대응하는 데이터를 동시에 레코딩할 수 있기 때문에 정확도를 높이고 소프트웨어를 간소화할 수 있다. 또한 저역 통과 필터는 부정확한 위치 및 속도 읽기를 초래할 수 있는 홀 센서나 로터리 인코더에서 발생하는 잡음과 간섭 펄스를 억제한다.
CCU8 및 추가 비교 채널을 사용하면 상승 및 하강 에지의 서로 다른 시간 지연을 정의하고 비대칭 PWM 신호를 발생할 수 있다. 이를 이용할 수 있는 일반적인 애플리케이션은 액추에이터를 위한 3상 컨버터, 태양광 모듈 및 하프 브리지 트랜스포머를 위한 3상 인버터가 있다.
64 MHz 수치연산 보조프로세서는 삼각법 계산을 위한 32비트 나눗셈기와 24비트 코딕(Cordic)으로 구성된다. 나눗셈기와 코딕(Cordic) 유닛은 Cortex-M0-CPU와 병렬로 동작할 수 있다. 수치연산 유닛은 실시간 작업을 위한 처리 성능을 매우 증가시킨다.
효율적 개발 지원
최근 모든 애플리케이션의 공통적인 현상은 소프트웨어가 점점 더 복잡해지고 있다는 점이다. 주변기기를 효율적으로 사용할 수 있도록 종종 복잡한 알고리즘이 요구된다. 달리 말해 효율적인 소프트웨어 개발 환경이 필요하다. 이상적으로는 사전 정의되고 시험된 소프트웨어 구성요소(apps)와 함께 자동 코드 생성기를 지원하는 것이다. 이러한 자동 코드 생성기는 필요한 리소스를 칩에 자동으로 정확하게 할당할 수 있다.
DAVE는 모든 XMC 마이크로컨트롤러에 사용할 수 있는 무료, 통합형 개발 플랫폼이다. DAVE를 사용하면 애플리케이션 라이브러리를 빠르게 개발해 모든 하드웨어 관련 작업을 추출하면서 미들웨어 솔루션을 제공할 수 있다. 현재 170가지 이상의 DAVE 앱이 나와 있으며, 이를 사용해 소프트웨어 구성요소를 결합 및 구성한다.
또한 이를 사용할 수 있는 마이크로컨트롤러 리소스에 자동으로 매핑함은 물론, 애플리케이션 라이브러리를 위한 C 코드를 생성할 수 있다. 이렇게 생성된 C 코드는 추가로 DAVE 내에서 내장된 GNU 컴파일러 및 디버거를 사용해 애플리케이션을 개발하거나 ARM MDK, Atollic TrueStudio, IAR EWARM, TASKING, Rowley와 같은 써드파티 툴에 임포트할 수 있다.
이 밖에도 인피니언은 ARM짋 마이크로컨트롤러 개발 킷(MDK)의 ‘실리콘 벤더 에디션(Silicon Vendor Edition)’을 라이선스했다. 따라서 임베디드 소프트웨어 개발자는 www2.keil.com/infineon/mdk에서 ARM MDK를 무료로 내려받을 수 있다. 무료 라이선스는 최대 128 KB의 코드 크기까지 XMC1000 애플리케이션을 개발할 수 있는 모든 툴을 포함한다. DAVE™로 개발한 애플리케이션 라이브러리는 몇 번의 간단한 클릭으로 CMSIS-PACK 인터페이스를 통해 ARM MDK로 임포트할 수 있다.
맞춤화된 애플리케이션 킷
전용 애플리케이션 킷은 구성요소가 상호 조정되어 특정 애플리케이션에 맞춰 즉시 시작할 수 있기 때문에 사용자에게 핵심적인 이점을 제공한다. XMC1000 제품을 위한 간단한 평가 기능은 이른바 부트 킷에 의해 제공된다. 이 킷은 3개 제품 시리즈(64 KB 플래시 XMC1100, 200 KB 플래시 XMC1200, 200 KB 플래시 XMC1300)에 각각 제공된다.
XMC1000 모터 제어 애플리케이션 킷(그림 5)은 XMC1300이 탑재된 마이크로컨트롤러 보드와 착탈할 수 있는 Segger J-Link 디버그 인터페이스로 구성된다. 여기에는 대응하는 모터 보드(12 ~ 24 V, 최대 3 A)도 포함된다. 모터 보드는 홀 센서가 탑재된 3상 모터(24 V, 15 W)를 포함하며 로터리 인코더 인터페이스는 옵션으로 제공된다.
킷에는 전원(24 V, 1 A)이 포함되어 있다. V/f 오픈 룩(Open Look), 홀 센서를 이용하거나 센서리스(sensorless) 방식의 블록 형성 또는 정현파 형태의 통신, 그리고 홀 센서, 인코더를 이용하거나 센서리스 방식의 FOC(field-oriented control)와 같은 다양한 모터 제어 구조가 지원된다.
LED 애플리케이션 역시 맞춤화된 킷(그림 6)에 의해 지원된다. LED 조명 애플리케이션 킷은 200 KB 플래시 메모리와 Segger J-Link가 내장된 XMC1200 마이크로컨트롤러로 구성된다. 여기에는 컬러 LED 카드 1개, 백색 LED 카드 1개의 2개 LED 보드가 포함된다. 첫 번째 보드에는 주변광 센서 외에도 RGB-LED(10 mA) 3개, DALI, DMX 및 RF 인터페이스가 있다. 두 번째 보드는 4개 스트링(20mA)으로 구성된 20개 백색 LED를 포함하며 DALI 및/또는 RF를 지원하고 주변광 센서 외에도 온도 센서를 제공한다.
소형 EV 킷
XMC1100이 탑재된 XMC 2Go는 세계에서 가장 작으면서 완전한 기능을 갖춘 마이크로컨트롤러 평가 킷이다(그림 7). XMC1100 마이크로컨트롤러가 장착된 XMC 2Go는 32 MHz에서 동작하는 ARM Cortex-M0 CPU, 64 KB 플래시, 16 KB RAM이 내장된 새로운 저가형 평가 보드이다. XMC 2Go는 즉시 코드 개발을 할 수 있는 온보드 디버그를 포함하여 완벽한 세트의 온 보드 디바이스를 갖추고 있다.
설계자는 브레드보드와 완벽하게 맞는 XMC 2Go를 사용해 자신의 애플리케이션과 장치를 제작할 수 있다. 이 킷에는 온 보드 J-Link 라이트 디버거(XMC4200 마이크로컨트롤러에서 실행), Power over USB(Micro USB), ESD 및 역 전류 보호, 2배 사용자 LED 및 브레드보드에 적합한 핀 헤더 2 x 8 핀이 포함되어 있다.
요약
특정 애플리케이션의 목표에 맞춘 주변기기, 자동화된 편리한 개발 환경, 실제적인 평가 킷을 모두 갖춘 마이크로컨트롤러 아키텍처는 최근의 애플리케이션 중심의 MCU 시스템 설계를 구성하는 핵심이다. XMC1000 아키텍처, 개발 환경 DAVE, 그리고 전용 애플리케이션 킷과 결합한 DAVE 앱을 이용하면 신속하고 신뢰할 수 있는 설계 구현을 위한 애플리케이션 중심의 솔루션을 실제로 구현할 수 있다.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>