MCU Q&A ③ 마이크로컨트롤러(MCU)는 우리 일상생활의 밥솥에서부터 최첨단 자동차까지 그 쓰임새가 다양한 핵심적인 부품이다. 그렇다면 우리는 MCU의 어디까지 알고 있는 것일까. 단지 자신이 쓰고자 하는 시스템에 걸맞는 기본적인 스펙만을 따져 제품을 선택하는가. 또는 EEPROM을 MCU에 어떻게 연결하는지, MCU와 DSP의 차이점은 무엇인지, MCU 주변장치를 선택하는 기준은 무엇인지 궁금하지 않는가. e4ds 뉴스는 4회에 걸쳐 MCU Q&A를 연재한다. 평소에 궁금했던 점이나 간과했던 정보들이 제품 선택에 도움이 됐으면 한다.
마사루 스가이(Masaru Sugai)
ST마이크로일렉트로닉스(www.st.com)
1회: MCU를 선택할 때 어떤 기준을 적용해야 하나요?
2회: EEPROM을 MCU에 어떻게 연결하나요? 3회: MCU와 DSP의 차이점은 무엇입니까?
4회: MCU 주변장치 부품 선택 가이드 전원
: QUESTION
MCU와 DSP(디지털 신호 프로세서)는 모두 계산에 이용됩니다. 이 둘의 차이점은 무엇입니까? 어떻게 적절히 사용할 수 있을까요?
: ANSWER
DSP는 오직 많은 수의 복잡한 계산을 단시간에 처리하기 위한 목적으로 설계된 계산기입니다.
구체적 애플리케이션으로는 음성 처리, 영상 처리, 신호 변/복조, 고속 푸리에 변환 및 디지털 필터 등이 있습니다. 일부 MCU는 고속 처리가 가능하지만, MCU는 기본적으로 범용 목적으로 설계되기 때문에 복잡하고 빠른 처리에는 DSP가 더 우수합니다.
MCU는 (16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) + 64비트 데이터 = 64비트 데이터의 계산과 같은 작업을 처리하는 데 다중 명령을 필요로 하지만, DSP는 이러한 작업을 단일 사이클의 단일 명령으로 실행할 수 있습니다.
이것은 DSP가 모든 MCU보다 우수하다는 것을 의미하는 것은 아닙니다. MCU는 DSP가 제공하는 고속 처리 기능을 필요로 하지 않는 가정용 가전제품에 충분히 우수합니다. MCU는 범용성과 사용성 면에서 DSP보다 뛰어납니다.
그러나 최근 ARM의 Cortex-M4 및 M7과 같은 일부 범용 MCU는 DSP와 같은 동일한 계산을 지원할 수 있습니다.
MCU와 DSP가 지원하는 처리 유형 범위
DSP는 복잡한 계산을 고속으로 처리할 수 있습니다. DSP는 단일 사이클의 단일 명령으로 다음과 같은 계산을 실행할 수 있습니다.
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) = 32비트 데이터
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) + 32비트 데이터 = 32비트 데이터
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) + 64비트 데이터 = 64비트 데이터
이러한 복잡한 계산에 대한 고속 처리는 음성 처리, 영상 처리, 신호 변/복조, 고속 푸리에 변환 및 디지털 필터 등에서 필요로 합니다. MCU가 동일한 처리를 수행하려면, 매우 빠른 속도로 다중 명령을 실행해야 합니다. 그러한 실행은 불가능하지는 않더라도 지극히 빠른 처리 성능을 갖는 MCU를 필요로 하기 때문에, DSP를 사용하는 것이 이러한 목적을 위해서는 더 편리한 선택입니다. 그러나 가정용 가전제품은 복잡한 계산의 고속 처리가 필요하지 않으며, 고속 처리 대신 다양한 종류의 작업을 위한 범용 처리 기능을 필요로 합니다. 시중에는 DSP 종류보다 많은 종류의 MCU가 나와 있으므로 사용자는 의도한 제품에 가장 적합한 MCU를 쉽게 찾을 수 있습니다
그림 1. MCU 및 DSP 적용 예(MCU 적용 예와 DSP 적용 예)
야구 용어를 들어 비유하면 MCU는 어느 포지션이라도 뛸 수 있는 만능 선수라면, DSP는 발빠른 대주자나 홈런 타자, 강속구 투수와 같은 탁월한 전문적인 능력을 가진 선수라고 할 수 있습니다.
그림 1은 MCU와 DSP의 적용 예를 보여줍니다.
MCU의 이점
MCU의 가장 뛰어난 특징은 범용성이 매우 뛰어나고 사용하기 쉽다는 점입니다.
MCU는 처음 포켓 계산기를 위한 IC로 탄생했으며, 그 후 계속 발전하면서 가전제품과 산업용 장비를 위한 제어 IC로 사용되어오고 있으며, 시장은 더욱 성장하고 있습니다. 오늘날 MCU는 가전제품, 산업용 장비, 의료기기, 헬스케어 기기, 스포츠 장비, 게임 기기와 같은 다양한 종류의 애플리케이션에 사용됩니다.
그림 2. Cortex-M4 명령 세트
단순한 유형의 MCU는 TV, 에어컨 리모콘, 가전제품의 내장 시계, 조명의 밝기 제어 등에 사용됩니다. 복잡한 기능을 갖는 MCU는 에어컨 및 냉장고 컴프레서용 모터를 제어하는 데 사용됩니다. 또한 태블릿 PC와 자동차 내비게이션 시스템에 들어가는 터치 검출에도 이용됩니다.
MCU에는 다양한 애플리케이션을 위한 많은 기능들이 포함되어 있으므로 다양한 제품에 이용할 수 있습니다.
뿐만 아니라 MCU 제조업체에서 제공하는 스타터 키트와 무료 통합 개발 툴을 사용하면 초보 사용자도 손쉽게 MCU 사용을 시작할 수 있습니다. MCU는 높은 수준의 전문 지식이 필요 없어 중고등학생들도 사용할 수 있습니다. MCU를 탑재한 로봇 콘테스트와 학생부문 MCU 탑재 미니어처 자동차 랠리는 요즈음 인기를 끌고 있습니다.
DSP의 이점
DSP는 복잡한 계산을 매우 빠르게 수행합니다. MCU가 다음과 같은 계산을 수행하려면 극히 빠른 속도로 계산을 수행할 수 있는 능력이 요구됩니다.
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) = 32비트 데이터
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) + 32비트 데이터 = 32비트 데이터
(16비트 데이터 × 16비트 데이터) ± (16비트 데이터 × 16비트 데이터) + 64비트 데이터 = 64비트 데이터
32비트 데이터 ± (32비트 데이터 × 32비트 데이터) = 32비트 데이터
(32비트 데이터 × 32비트 데이터) + 64비트 데이터 = 64비트 데이터
DSP는 이러한 계산을 단일 사이클의 단일 명령으로 수행할 수 있습니다. DSP는 복잡한 계산의 고속 처리를 필요로 하는 애플리케이션에 대단히 유용합니다.
마지막 장에서는 적용 예를 통해 DSP가 얼마나 빠른지 살펴보겠습니다.
DSP 기능이 포함된 MCU
최근 일부 유형의 MCU는 ARM의 Cortex-M4 및 Cortex-M7을 포함해 DSP의 기능이었던 고속 계산이 가능한 기능을 내장하고 있습니다. Cortex-M 시리즈의 “M”은 마이크로컨트롤러를 나타냅니다. 이 시리즈는 처음 MCU로 시장에 선보였으며, 이후 Cortex-M4 시리즈는 DSP 명령 세트를 지원하기 시작하면서 DSP로도 사용할 수 있게 되었습니다. 그림 3. DSP 명령의 적용 예 (센서리스 모터를 위한 코딩)
DSP 명령 세트가 기존 Cortex-M3의 MCU 명령 세트에 새롭게 추가되었기 때문에 Cortex-M4 및 Cortex-M7은 MCU 또는 DSP로 사용할 수 있습니다. 그림 2는 Cortex-M4 명령 세트를 보여줍니다. DSP 명령 세트는 Cortex-M3 MCU 명령 세트를 포함하도록 추가되었습니다. 참고로 Cortex-M4는 부동 소수점 연산 명령(IEEE 754 준수)을 지원합니다.
Cortex-M3과 DSP 명령을 사용하는 Cortex-M4 간의 속도 차이를 센서리스 모터를 위한 코딩의 예를 이용해 알아 보겠습니다. 그림 3의 표 왼쪽은 Cortex-M3 명령 세트를 사용하는 코딩의 일부입니다. 오른쪽은 왼쪽을 대체한 Cortex-M4 DSP 명령을 사용하는 코딩 부분입니다.
라인 1과 라인 2의 명령은 단일 DSP 명령으로 대체할 수 있으며, 마찬가지로 라인 4와 라인 6의 명령도 대체할 수 있습니다. 각 DSP 명령은 단일 사이클로 실행되므로, 각각 3사이클을 절약할 수 있습니다.
MCU와 DSP 비교 그림 4. MCU와 DSP의 비교
그림 4는 MCU, 일반 DSP, Cortex-M4, 그리고 오디오용 DSP 간의 MP3 오디오 재현 성능을 비교한 것입니다. 수평 축은 MP3 디코딩에 필요한 동작 주파수를 나타냅니다. 주파수 값이 작을수록 더 높은 성능을 나타냅니다. 당연히 오디오 전용 DSP가 최고 성능을 보이며, 다음으로는 Cortex-M4(추정 값)와 보통의 별도 DSP(discrete DSP)순입니다. 범용 MCU는 가장 낮은 성능을 보여주고 있는데, 이는 오디오 재현이 이 MCU의 타겟 애플리케이션이 아니므로 쉽게 이해할 수 있습니다.
일반적인 별도의 DSP도 범용 MCU보다 2배 빠른 성능을 보여주고 있습니다. 이것은 DSP가 복잡한 계산을 빠르게 수행하는 데 얼마나 적합한지를 보여줍니다.
MCU Q&A ① 마이크로컨트롤러(MCU)는 우리 일상생활의 밥솥에서부터 최첨단 자동차까지 그 쓰임새가 다양한 핵심적인 부품이다. 그렇다면 우리는 MCU의 어디까지 알고 있는 것일까. 단지 자신이 쓰고자 하는 시스템에 걸맞는 기본적인 스펙만을 따져 제품을 선택하는가. 또는 EEPROM을 MCU에 어떻게 연결하는지, MCU와 DSP의 차이점은 무엇인지, MCU 주변장치를 선택하는 기준은 무엇인지 궁금하지 않는가. e4ds 뉴스는 오늘부터 4회에 걸쳐 MCU Q&A를 연재한다. 평소에 궁금했던 점이나 간과했던 정보들이 제품 선택에 도움이 됐으면 한다
MCU Q&A ② 마이크로컨트롤러(MCU)는 우리 일상생활의 밥솥에서부터 최첨단 자동차까지 그 쓰임새가 다양한 핵심적인 부품이다. 그렇다면 우리는 MCU의 어디까지 알고 있는 것일까. 단지 자신이 쓰고자 하는 시스템에 걸맞는 기본적인 스펙만을 따져 제품을 선택하는가. 또는 EEPROM을 MCU에 어떻게 연결하는지, MCU와 DSP의 차이점은 무엇인지, MCU 주변장치를 선택하는 기준은 무엇인지 궁금하지 않는가. e4ds 뉴스는 4회에 걸쳐 MCU Q&A를 연재한다. 평소에 궁금했던 점이나 간과했던 정보들이 제품 선택에 도움이 됐으면 한다
혈당 측정은 온도, 습도, 고도 등과 같은 외부 요인의 영향을 받는다. 이는 효소 반응 속도가 이러한 환경 및 다른 요인들에 의존하기 때문이다. 또한 다른 화학 물질로 만들어진 테스트 스트립의 경우, 정해진 회귀방정식을 MATLAB 또는 마이크로소프트 엑셀을 사용해서 바꿔야 한다. 특정 테스트 스트립으로 혈당측정기를 설계할 때는 이러한 요소들을 고려해야 한다. 이에 마이크로칩사의 8비트 MCU를 이용해 유연하고 저렴한 혈당측정기 설계 방법을 소개한다.