검수요청.png검수요청.png

"마이크로컨트롤러"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(새 문서: '''MCU'''는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 정해진 기능을 수행하는 컴퓨터를 말한다. 마이크로컨트롤러라고도...)
 
잔글
 
(사용자 3명의 중간 판 29개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''MCU'''는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 정해진 기능을 수행하는 컴퓨터를 말한다. 마이크로컨트롤러라고도 한다.
+
'''마이크로컨트롤러'''<!--마이크로 컨트롤러-->(microcontroller)[[마이크로프로세서]]와 [[입출력]] 모듈을 하나의 [[칩]]으로 만들어 정해진 기능을 수행하는 [[컴퓨터]]를 말한다. 흔히 영어 약자인 '''MCU'''(엠씨유)<!--엠시유-->라고 부른다.
 +
{{:자동차 배너|부품}}
 +
 
 +
==개요==
 +
마이크로컨트롤러는 [[자동차]]에서 각종 전장 시스템을 제어하는 역할을 하는 [[반도체]]이다.<ref> 박태준 기자, 박소라 기자, 〈[https://m.etnews.com/20210331000238 "반도체가 동났다"…韓 주력산업 멈춰설 판]〉, 《전자신문》, 2021-03-31 </ref> CPU코어, [[메모리]] 그리고 프로그램 가능한 입·출력을 가지고 있다. 마이크로컨트롤러는 [[임베디드]] 애플리케이션을 위해 디자인되었으며 임베디드 시스템에 널리 사용된다. 개인용 컴퓨터가 다양한 요구에 따라 동작하는 일반적인 일에 사용된다면, 마이크로컨트롤러는 기능을 설정하고 정해진 일을 수행하도록 프로그래밍이 되어 장치 등에 장착되어 동작한다. 따라서 일반적으로 성능이 PC에 비해 낮고 형상도 다르다.<ref>〈[https://terms.naver.com/entry.naver?docId=3479259&cid=58439&categoryId=58439 MCU]〉, 《네이버 지식백과》</ref> 마이크로컨트롤러는 여러 응용 분야에 필요로 하는 주변 기기들을 한 칩 내에서 모두 제공하기 때문에 다양한 분야에서 사용되고 있다.<ref>로츠버거, 〈[https://lotzburger.tistory.com/entry/PIC%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C 마이크로 컨트롤러(MCU)란?]〉, 《티스토리》, 2013-12-19</ref>
 +
 
 +
==역사==
 +
최초의 [[마이크로프로세서]]는 1971년 출시된 4비트 인텔 4004로 인텔 8088 및 그 밖의 기능이 더 많은 마이크로프로세서가 이후 수년에 걸쳐 이용이 가능하게 되었다. 그러나 두 프로세서 모두 작동 시스템을 구현하기 위해 외장 칩이 필요했고, 이는 전체 시스템 비용을 증가시켰다. 스미스소니언협회는 [[텍사스 인스트루먼트]](Texas Instruments)의 엔지니어 [[게리 분]](Gary Boone)과 [[마이클 코치란]](Michael Cochran)을 1971년 최초의 마이크로컨트롤러를 성공적으로 만든 것으로 평가했다. 이들의 노고의 결과물을 TMS 1000으로, 1974년에 상용화되었다. 읽기 전용 메모리, 읽기/쓰기 메모리, 프로세서, 클럭을 한 칩에 합쳤고 [[임베디드]] 시스템에 목표를 두었다.<ref>〈[https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC 마이크로컨트롤러]〉, 《위키백과》</ref>
 +
 
 +
==구성요소==
 +
===타이머===
 +
[[타이머]]는 컴퓨터나 임베디드 시스템에서 주기적으로 반복되는 동작을 하기 위해 디지털 하드웨어 회로에 신호를 만든다. 이 신호에 따라 컴퓨터의 인터럽트 처리 방식을 사용하여 주기적인 작업을 수행하는 것이 일반적인 처리 방법이다. 소프트웨어 기계어 실행 없이 일정 시간을 만들 수 있어서 [[중앙처리장치]]의 부담을 줄일 수 있다. 클럭과 디지털회로를 사용하므로 정확한 시간을 얻을 수 있다. 컴퓨터 시스템의 필수 요소이며, 현실적으로 소프트웨어 일정 시간을 얻는 것이 아주 간단한 시스템 아니면 기계어 코드의 복잡성 때문에 타이머에 의존한다. 실시간 시계와 다르게 중앙처리장치의 클럭 신호를 주로 이용하여 디지털회로에 필요한 클럭을 만든다. 보통 중앙처리장치 클럭이 주파수가 높아 빠르기 때문에 프리 스켈일러 회로에 의해 [[주파수]]를 낮추어 타이머 모듈에 공급한다. 카운터 회로에 의해 일정 시간이 되면 인터럽트 디지털 신호를 발생하고, 중앙처리장치가 접수하면 현재 실행하는 기계어 코드를 종료한 후 해당 인터럽트 처리 루틴을 자동 호출한다. 인터럽트 발생 여부는 레지스터 설정에 의해 선택적으로 처리할 수 있다. 인터럽트를 발생하는 부분과 인터럽트를 수용하는 중앙처리장치가 처리할 것인가는 [[레지스터]] 설정에 의해 별도로 동작시킬 수 있다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%A3%BC%EA%B8%B0%EC%A0%81_%ED%83%80%EC%9D%B4%EB%A8%B8 주기적 타이머]〉, 《위키백과》</ref>
 +
 
 +
===직렬통신===
 +
[[직렬통신]]은 전기 통신과 컴퓨터 과학 분야에서 직렬 통신은 연속적으로 통신 채널이나 컴퓨터 버스를 거쳐 한 번에 하나의 [[비트]] 단위로 데이터를 전송하는 과정을 말한다. 이 용어는 여러 개의 병렬 채널을 갖춘 링크 위에서 동시에 여러 개의 비트를 보내는 병렬 통신과 대조된다. 컴퓨터에서 데이터 처리가 [[병렬]]로 되는데, 통신을 위해 병렬 통신을 하려면 여러 개의 채널이 필요하다. 거리와 비용을 고려하면 많을 경우 병렬 통신은 문제가 될 수 있다. 결국 병렬로 처리되는 데이터를 통신할 때 시간으로 나누어 차례대로 전송함으로써 문제를 해결할 수 있다. 직렬 통신에서 데이터가 계속되어 전송되면, 각 비트를 구별할 방법이 필요하다. 디지털 회로의 입장에서 수신된 데이터의 비트가 시간상으로 어디서부터 시작이고 끝인지를 알 필요가 없다. 이렇게 데이터 비트를 복구하기 위해 데이터의 시간적 위치를 알리기 위해 동기신호를 보내는 경우와 동기 신호 없이 신호 자체에서 데이터 비트를 복원하는 방식으로 나눌 수 있다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%A7%81%EB%A0%AC_%ED%86%B5%EC%8B%A0 직렬 통신]〉, 《위키백과》</ref>
 +
 
 +
===RS-232===
 +
[[RS-232]](Recommended Standard 232)는 1960년에 도입된 표준의 하나로, PC와 음향 커플러, 모뎀 등을 접속하는 직렬 방식의 인터페이스의 하나이다.<ref>〈[https://ko.wikipedia.org/wiki/RS-232 RS-232]〉, 《위키백과》</ref>
 +
 
 +
===아이스퀘어드시===
 +
[[아이스퀘어드시]](I²C, Inter-Integrated Circuit)는 [[필립스]](Philips)에서 개발한 직렬 버스이다. 마더보드, 임베디드 시스템, 휴대 전화 등에 저속의 주변 기기를 연결하기 위해 사용된다.<ref>〈[https://ko.wikipedia.org/wiki/I%C2%B2C I²C]〉, 《위키백과》</ref>
 +
 
 +
===SPI===
 +
[[SPI]](Serial Peripheral Interface)는 버스 아키텍처 전이중 통신 모드로 동작하는 모토로라 아키텍처에 이름을 딴 동기화 직렬 데이터 연결 표준이다. 장치들은 마스터 슬레이브 모드로 통신하여 여기서 마스터 장치는 데이터 프레임을 초기화한다. 여러 [[슬레이브]] 장치들은 개별 슬레이브 셀렉트 라인과 함께 작동할 수 있다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%A7%81%EB%A0%AC_%EC%A3%BC%EB%B3%80%EA%B8%B0%EA%B8%B0_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_%EB%B2%84%EC%8A%A4 직렬 주변기기 인터페이스 버스]〉, 《위키백과》</ref>
 +
 
 +
===ADC===
 +
[[ADC]](Analog-to-digital converter)는 아날로그 전기 신호를 디지털 전기 신호로 변환하는 [[전자회로]]이다. ADC는 저장이나 조작의 편리성이 디지털 신호보다 어렵기 때문에, 초기의 전자공학과는 달리 현재는 디지털화를 많이 한다. 신호전송 시, 일반적으로 아날로그 신호를 디지털 신호로 변환되면 신호의 잡음 등에 유리하다. 아날로그를 디지털화하여 신호를 조작하고 다시 디지털-아날로그 변환회로(DAC)를 통해 아날로그로 변환한다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8-%EB%94%94%EC%A7%80%ED%84%B8_%EB%B3%80%ED%99%98%ED%9A%8C%EB%A1%9C 아날로그-디지털 변환회로]〉, 《위키백과》</ref>
 +
 
 +
=== CAN ===
 +
[[CAN]](Controller Area Network)은은 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신은 메시지 기반 [[프로토콜]]이며 최근에는 차량뿐만 아니라 상업용 자동화기기나 의료용 장비에서도 종종 사용되고 있다. CAN은 각 제어기 간의 통신을 위해 주로 사용되는 non-host 버스 방식의 메시지 기반 네트워크 프로토콜이다.<ref>〈[https://ko.wikipedia.org/wiki/CAN_%EB%B2%84%EC%8A%A4 CAN 버스]〉, 《위키백과》</ref>
 +
 +
==장단점==
 +
; 장점
 +
* [[메인보드]]에 포함된 기능을 하나의 칩으로 구현해 적은 공간에서 제작된다. 그렇게 되면 전체 컴퓨터 시스템의 크기가 줄어든다.
 +
* 마이크로컨트롤러는 [[집적도]]가 낮고 설계가 간단해 가격이 저렴하다.
 +
* 하나의 칩에 대부분의 기능이 내장되어 있기 때문에 고장이 잘 나지 않아 유지보수에 용이하다.
 +
* 제어를 위해 필요한 기능들을 하드웨어로 구현하는 전통적인 방식과 달리, 마이크로컨트롤러는 제어 기능들을 [[소프트웨어]]를 통해 구현하므로 기능의 변경이나 확장에 더욱 유연하게 대응할 수 있다.
 +
 
 +
;단점
 +
* 주변장치를 통합된 형태로 만들었기 때문에 처리 능력이 떨어진다.
 +
* 특정 작업을 위한 하나의 프로그램만 설치하고 실행시킬 수 있다.<ref>〈[https://noel-embedded.tistory.com/261 마이크로컨트롤러와 마이크로프로세서]〉, 《티스토리》, 2019-05-03</ref>
 +
 
 +
==특징==
 +
* '''비트 단위 입출력''': 마이크로컨트롤러 입출력을 비트 단위로 임베디드 시스템을 제어하는 것이 가능하다.
 +
* '''인터럽트 처리''': 각각의 인터럽트 플래그 상태에 따라 현재 수행 중인 메인 프로그램을 중지하고 ISR을 수행한 후 다시 메인 프로그램으로 돌아가는 동작으로 인해 동시에 여러 가지 일을 하는 것처럼 사용할 수 있다.
 +
* '''다양한 기능의 주변장치 내장''': 시스템 제어가 목적인 마이크로컨트롤러이기 때문에 A/D 컨버터, [[카운터]], [[LCD]], [[PMW]], 직렬통신기, 버스 제어기를 내장하여 복수 기능을 사용하거나 입출력으로 사용할 수 있다.
 +
* '''타이머 내장''': 마이크로컨트롤러와 독립적으로 동작하여 인터럽트와 연계되어 타이머가 측정할 수 있는 한계 시간을 넘어서게 되면 타이머 오버플로우를 발생 시켜 이를 인지할 수 있도록 한다.
 +
* '''저전력 구동''': 마이크로컨트롤러는 그 특성상 휴대용 기기에 많이 응용되기 때문에 전력 소모가 작으며 전력 소모를 조절하는 모드를 가지는 경우가 많다.<ref>lee betterwith, 〈[https://nglee.tistory.com/34 마이크로컨트롤러의 개념]〉, 《티스토리》, 2019-09-01</ref>
 +
 
 +
==종류==
 +
===AVR===
 +
[[AVR]]은 1996년 [[아트멜]](Atmel)에서 하버드 구조로 개발·수정한 8비트 RISC 단일 칩 마이크로컨트롤러이다. 출시 당시 AVR은 프로그램을 저장하기 위해 이용한 메모리 방식을 다른 마이크로컨트롤러처럼 [[롬]](ROM), [[이피롬]](EPROM) 또는 [[이이피롬](EEPROM)을 사용하지 않고, 단일 칩 [[플래시메모리]]를 사용한 최초의 마이크로컨트롤러 중 하나로 꼽힌다. 물론 8비트 마이크로컨트롤러인 만큼 연산 능력이나 클럭 속도, 메모리 어드레스 영역은 상당히 제한되기 때문에 고성능을 요구하는 정밀 제어 분야보다 단순 제어 분야에서 활용이 높다. 전기밥솥, 엘리베이터 제어, 자동판매기 등 높은 성능이 전혀 필요 없고 신뢰성이 필요한 제어 장치 부분에서 활용된다. 또 워낙 오랫동안 사용돼 오면서 안정성이 검증됐고, 무엇보다도 32비트급 마이크로컨트롤러에 비해 단가가 매우 싸기 때문에 여전히 널리 사용되고 있다. AVR의 장점은 전기적 특성이 매우 강해 핀이 공급하거나 받을 수 있는 전류 한계치가 다른 마이크로컨트롤러에 비해 높다. 따라서 다른 마이크로컨트롤러라면 불가능한 설계도 어느 정도 가능하다. 그러나 8비트 마이크로컨트롤러인 만큼 연산 능력이나 클럭 속도, 메모리 어드레스 영역은 상당히 제한된다. 8비트 마이크로컨트롤러의 특성상 구조가 간단하다. 32비트급 이상의 MPU에서 주로 볼 수 있는 CPU 코어에 관련된 MMU나 DRAM 컨트롤러 등의 여러 장치들의 특성을 사전에 익힐 필요가 없고 운영체제를 끼고 돌아가는 경우가 적어 그에 관련된 내용도 따로 스터디할 필요가 없다.<ref>〈[https://namu.wiki/w/AVR%20MCU AVR MCU]〉, 《나무위키》</ref>
 +
 
 +
===8051===
 +
[[8051]]은 [[인텔]](Intel)에서 만든 텍사스 인스트루먼트의 TMS 1000 마이크로컨트롤러와 더불어 1975년에 개발된 아주 초창기의 마이크로컨트롤러이다. 범용적인 기능을 가진 중앙처리장치만을 만들어오던 인텔이 더욱 사용하기 쉽고 주변장치 제어용으로 적합한 제품을 구상하다 만들어 낸 제품이기도 하다. 마이크로컨트롤러가 다양한 시스템에 적용해야 하므로, 8501 계열이 발전하면서 부가 하드웨어는 다양한 방식으로 변경 및 추가를 통해 여러 모델의 칩을 여러 제조사에서 제공한다. 때에 따라 ADS, SPI 등의 하드웨어 모듈 등이 존재하는 8051 계열 칩도 존재한다. 이와 더불어 메모리도 EPROM 대신 플래시 방식으로, EEPROM도 추가하는 경우도 있다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%85%94_8051 인텔 8051]〉, 《위키백과》</ref> 8051은 1980년에서 1990년 초까지 모뎀이나 타자기, 게임기 등에 광범위하게 이용됐으며 지금도 [[아트멜]], [[인피니언]](Infineon), [[맥심 인터그레이티드]](Maxim Integrated), [[NXP반도체]](NXP Semiconductor), [[ST마이크로일렉트로닉스]](STMicroelectronics), [[텍사스 인스트루먼트]] 등에서 다기능의 호환제품을 생산하고 있다. 인텔의 오리지널 8051은 NMOS 공정으로 제작됐으나 후에 CMOS 고정으로 바꿔 저전력의 [[배터리]] 전원 기기에 적용할 수 있었다. CMOS 공정의 제품은 C를 붙여 80C51과 같이 표기한다.
 +
 
 +
===PIC===
 +
[[PIC]]는 미국의 [[마이크로칩]](Microchip )에서 1976년 CP1600을 시작으로 출시한 마이크로컨트롤러 시리즈 이름이다.<ref>〈[https://ko.wikipedia.org/wiki/PIC_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC PIC 마이크로컨트롤러]〉, 《위키백과》</ref> AVR이나 8051과 함께 널리 사용되는 마이크로컨트롤러 중 하나이고, 특히 산업용으로 많이 사용되고 있어 주변의 가전제품 속에서 쉽게 볼 수 있다. PIC 마이크로컨트롤러 개발 시 여러 IDE를 사용할 수 있지만 대체로 개인이 많이 쓰는 것은 마이크로칩에서 무료로 제공하는 MPLAB과 MPLAB X IDE이다. IDE 자체는 무료지만, 컴파일러인 MPLAB XC 컴파일러는 개인용 무료 라이센스와 개인용 또는 상업용으로 추가 기능을 제공하는 유료 라이센스로 나뉜다. 또한 UML과 유사하게 그래픽을 사용해서 핀을 설정할 수 있는 하모니라는 플러그인도 있다. 디버거는 마이크로칩에서 자체 개발한 ICD 시리즈와 PICKit 시리즈, 그리고 스냅 시리즈가 있고 대중적으로 ICD 시리즈와 PICKit 시리즈가 주로 사용된다. ICD 시리즈는 비싸지만, 기능이 다양하고 접근 속도가 빠르며, PICKit 시리즈는 저렴하지만, 접근 속도가 조금 느리다. 마이크로컨트롤러에 따라서 호환되는 [[디버거]]가 다르다.<ref>〈[https://namu.wiki/w/PIC%20(%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC) PIC (마이크로컨트롤러)]〉, 《나무위키》</ref> PIC는 8비트 마이크로컨트롤러부터 32비트 마이크로컨트롤러까지 다양하게 있으며 16비트 제품군에는 DSP인 dsPIC 시리즈도 있다. 마이크로칩은 2016년 4월 아트멜을 인수했다.
 +
 
 +
===ARM===
 +
[[ARM]]은 1990년에 [[애플]](Apple)과 [[아콘 컴퓨터]](Acorn Computer) , [[VLSI 테크놀로지]](VLSI Technology)가 공동으로 투자해 만든 회사의 제품 이름이다. 특이하게도 ARM은 마이크로컨트롤러 제품 그 자체가 아닌, 마이크로컨트롤러의 코어를 구성하는 회로를 의미한다. ARM에서는 오직 ARM 코어의 회로를 설계하고 연구할 뿐이며, 직접 생산하지는 않는다. 즉, 실제로 ARM 기반의 마이크로컨트롤러 생산은 다양한 업체에서 수행하고, 회로도 사용에 대한 라이센스 비용을 지불하는 방식으로 운영된다. 이처럼 ARM 기반의 마이크로컨트롤러를 생산하는 주요 업체로는 [[퀄컴]](Qualcomm), [[삼성전자㈜]], [[엔비디아]](nVIDIA), [[텍사스 인스트루먼트]], [[NXP반도체]], [[ST마이크로일렉트로닉스]], 애플 등이 있다. 또 AVR 제작업체인 아트멜 또한 ARM 기반의 마이크로컨트롤러를 생산했다. 그리고 이렇게 만들어진 ARM 제품에 스냅드래곤(퀄컴), 테그라(엔비디아), 엑시노스(삼성전자㈜) 등의 독자적인 이름을 부여해 판매된다. ARM은 앞서 설명한 업체의 마이크로컨트롤러보다 고성능을 자랑하기 때문에 더욱 복잡함을 요구하는 주변장치에 대한 제어를 할 수 있다. 따라서 LCD와 같은 그래픽 장치, 카메라 장치, 공유기와 같은 네트워크 관련 장치, 터치스크린과 같은 사용자와의 상호관계가 필요한 장비에 사용된다. 최근에는 대부분의 스마트폰에 탑재돼 마치 하나의 개인 PC에 버금가는 활용도를 구현한다.<ref name="테크월드">이나리 기자, 〈[http://www.epnc.co.kr/news/articleView.html?idxno=79052 일상 속 모든 가전제품의 핵심 반도체, MCU란 무엇인가?]〉, 《테크월드》, 2018-02-28</ref>
 +
 
 +
==활용 분야==
 +
마이크로컨트롤러는 [[전자기기]]의 [[디스플레이]], [[타이머]], [[컴프레서]], [[냉장고]], [[세탁기]], [[에어컨]] 등과 같은 주요 [[가전제품]]의 [[모터]]를 [[제어]]한다. 예를 들어 [[혈압계]]에 탑재된 마이크로컨트롤러는 모터, 밸브, 디지털 디스플레이를 제어하고, [[온도계]]의 마이크로컨트롤러는 온도 센서의 신호를 측정한다. 마이크로컨트롤러가 많이 사용되는 [[전자제품]]으로 [[리모컨]]이 대표적이다. 오늘날의 리모컨은 단순히 [[텔레비전]](TV), [[에어컨]]뿐 아니라, [[전등]], [[선풍기]]의 동작까지도 제어한다. 또한 [[버튼]]의 누름을 탐지하고 리모컨이 전송하는 적외선 신호를 제어하는 것도 바로 마이크로컨트롤러의 역할이다. 마이크로컨트롤러는 [[카메라]] 장비, [[사이클링]]과 같은 취미생활 도구에도 적용된다. 카메라에서 활용되는 마이크로컨트롤러는 자동 초점 기능, 셔터 스피드, 떨림 방지 기능을 제어하며, [[자전거]]는 [[속도계]]와 [[변속기]] 부문에서 활용된다. 값이 비싼 자전거의 경우는 [[서스펜션]]까지도 마이크로컨트롤러가 제어한다. 사무용 전자제품에서도 마이크로컨트롤러 활용 사례를 쉽게 찾아볼 수 있다. 또 가정용 [[전동드릴]] 역시 마이크로컨트롤러를 사용해 [[모터]] 스피드와 [[배터리]] 전량을 체크한다.
 +
 
 +
===시각적 기능===
 +
시각적 기능은 사용자가 전자 기기의 동작 상태 정보를 확인할 수 있다는 점에서 매우 중요하다. 이 기능은 사용자가 동작 중인 기기의 상태를 확인하고 동작을 하지 않을 때는 시간 확인의 용도로도 사용할 수 있다. 또 액정표시장치([[LCD]])나 발광다이오드(LEDs) 상에 텍스트를 표시할 수 있고, 일부 가전제품에는 마이크로컨트롤러가 단순히 [[LED]] 빛을 켜거나 플래시 용도로 사용되기도 한다.
 +
 
 +
===청각적 기능===
 +
전자레인지, 화재 알람 등 많은 전자제품은 음악이나 알람 소리를 통해 사용자에게 기기의 동작 상태를 알리는 음성 기능을 제공한다. 이런 청각적 기능은 온도계, 혈압계와 같은 건강 기기에서도 흔히 찾아볼 수 있다.
 +
 
 +
===모터, 밸브 통제===
 +
마이크로컨트롤러는 [[모터]]나 [[밸브]]를 제어하는 신호를 출력할 수 있다. 좀 더 구체적으로 말하면, 모터의 방향이나 속도를 변환하거나, 밸브를 여닫는 신호를 출력할 수 있다. TV 리모컨의 적외선 빔 신호 역시 마이크로컨트롤러가 출력하는 것이다.
 +
 
 +
===전자 신호 측정과 출력===
 +
마이크로컨트롤러는 센서 부품의 [[전압]]을 직접 측정하는 기능을 가지고 있다. 예를 들어, 온도계와 같은 온도 센서와 직접 연결되면 마이크로컨트롤러로 [[온도]]를 측정할 수 있다. 이와 마찬가지로, 빛 센서와 연결되는 경우에는 마이크로컨트롤러로 빛의 밝기를 측정할 수 있다. 또 마이크로컨트롤러는 [[배터리]] 전압을 측정해 교체 시기를 알려주고, 특정 전압을 출력할 수 있다. 일정한 전압 출력이 가능하기 때문에, 다른 전자 부품에 기준 전압을 제공하는 레귤레이터 역할을 수행할 수 있다.
 +
 
 +
===통신===
 +
PC 사용이 증가함에 따라 [[USB]]가 [[PC]]와 다른 디바이스를 연결하는 통신 [[인터페이스]]의 표준이 됐다. 이 때문에 마이크로컨트롤러 역시 [[USB]] 연결 기능을 갖고 있고, 마이크로컨트롤러와 다른 마이크로컨트롤러 사이의 간단한 데이터 교환도 구현할 수 있다. 자동차가 좋은 예이다. 오늘날의 자동차는 움직이는 통신 네트워크이다. 자동차 하나에는 수많은 마이크로컨트롤러가 사용되는데, 이 많은 마이크로컨트롤러가 CAN(계측 제어기 통신망), LIN(로컬 상호 연결 네트워크)을 지원해 차량 전체가 하나의 시스템으로 작동하게 한다.
 +
 
 +
===계산===
 +
계산은 마이크로컨트롤러가 만들어지게 된 본래의 목적이다. 특정 작업을 처리하기 위해 마이크로컨트롤러는 앞에 언급한 여러 가지 기능을 통합하고 조율한다. 예를 들어, 온도 센서에 의해 측정된 전압을 온도로 변환해 표시하거나, 모터 사용량을 계산해 해당 모터의 성능을 조절하기도 한다. 하나의 작업을 처리하기 위해 필요한 여러 가지 기능을 통합하는 것이 마이크로컨트롤러의 가장 중요한 기능 중 하나이다.<ref name="테크월드"></ref>
 +
 
 +
== 주요 기업 ==
 +
=== 텔레칩스 ===
 +
[[텔레칩스]](Telechips)는 대한민국의 [[반도체]] 설계전문업체이다. 2021년 독자 개발한 자동차용 마이크로컨트롤러를 시장에 출시했다. 32나노미터(㎚, 10억분의 1m) 공정으로 설계·개발했고, [[삼성전자㈜]]의 위탁생산 시설인 [[파운드리]]를 통해 2021년 4월부터 시범 생산했다. 삼성전자㈜는 경기도 기흥과 화성에서 대규모 파운드리 시설을 운영하고 있다. 자동차용 마이크로컨트롤러는 제한된 범위에서만 작동하는 낮은 수준의 반도체지만, 2021년 공급이 수요를 못 따라가는 상황이 발생했다. 네덜란드 [[NXP반도체]], 독일 [[인피니언]], 일본 [[르네사스]](Renesas) 등 전 세계적으로도 10곳 미만의 기업이 과점 형태로 공급해 왔기 때문이다. [[브레이크]]·[[변속기]] 등 주요 부품에 들어가는 마이크로컨트롤러는 사람의 생명과도 직결되기 때문에 높은 신뢰성이 필요하다. 영하 40도 환경과 같은 까다로운 신뢰성 테스트를 거쳐야 하지만, 시장 공급 가격은 대체로 5만 원 이하에 그치기 때문에 과점 현상이 생겼다. 삼성전자㈜는 진입 장벽이 높은 차량용 반도체를 직접 개발하기보단 중소 팹리스를 통한 우회 지원을 택한 것으로 보인다. 텔레칩스의 경우, 2011년부터 [[현대자동차㈜]] 계열에 자동차 내비게이션용 애플리케이션프로세서(AP)를 납품하는 등 협력 관계를 이어왔다. 또한 [[현대자동차그룹]]의 [[고급차]] 브랜드 [[제네시스]]의 [[GV80]]과 [[GV70]]에 10나노대 고성능 내비게이션용 AP를 공급하기 시작했다.<ref> 김영민 기자, 〈[https://www.joongang.co.kr/article/24050781#home 국산 첫 차량용 MCU 나왔다···삼성전자 파운드리 시범생산]〉, 《중앙일보》, 20121-05-05 </ref>
 +
 
 +
{{각주}}
 +
 
 +
==참고자료==
 +
* 〈[https://terms.naver.com/entry.naver?docId=3479259&cid=58439&categoryId=58439 MCU]〉, 《네이버 지식백과》
 +
* 〈[https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC 마이크로컨트롤러]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%A3%BC%EA%B8%B0%EC%A0%81_%ED%83%80%EC%9D%B4%EB%A8%B8 주기적 타이머]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%A7%81%EB%A0%AC_%ED%86%B5%EC%8B%A0 직렬 통신]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/RS-232 RS-232]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/I%C2%B2C I²C]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%A7%81%EB%A0%AC_%EC%A3%BC%EB%B3%80%EA%B8%B0%EA%B8%B0_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_%EB%B2%84%EC%8A%A4 직렬 주변기기 인터페이스 버스]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8-%EB%94%94%EC%A7%80%ED%84%B8_%EB%B3%80%ED%99%98%ED%9A%8C%EB%A1%9C 아날로그-디지털 변환회로]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/CAN_%EB%B2%84%EC%8A%A4 CAN 버스]〉, 《위키백과》
 +
* 〈[https://namu.wiki/w/AVR%20MCU AVR MCU]〉, 《나무위키》
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%85%94_8051 인텔 8051]〉, 《위키백과》
 +
* 〈[https://ko.wikipedia.org/wiki/PIC_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC PIC 마이크로컨트롤러]〉, 《위키백과》
 +
* 〈[https://namu.wiki/w/PIC%20(%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC) PIC (마이크로컨트롤러)]〉, 《나무위키》
 +
* 〈[https://noel-embedded.tistory.com/261 마이크로컨트롤러와 마이크로프로세서]〉, 《티스토리》, 2019-05-03
 +
* lee betterwith, 〈[https://nglee.tistory.com/34 마이크로컨트롤러의 개념]〉, 《티스토리》, 2019-09-01
 +
* 로츠버거, 〈[https://lotzburger.tistory.com/entry/PIC%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C 마이크로 컨트롤러(MCU)란?]〉, 《티스토리》, 2013-12-19
 +
* 이나리 기자, 〈[http://www.epnc.co.kr/news/articleView.html?idxno=79052 일상 속 모든 가전제품의 핵심 반도체, MCU란 무엇인가?]〉, 《테크월드》, 2018-02-28
 +
* 김영민 기자, 〈[https://www.joongang.co.kr/article/24050781#home 국산 첫 차량용 MCU 나왔다···삼성전자 파운드리 시범생산]〉, 《중앙일보》, 20121-05-05
 +
* 박태준 기자, 박소라 기자, 〈[https://m.etnews.com/20210331000238 "반도체가 동났다"…韓 주력산업 멈춰설 판]〉, 《전자신문》, 2021-03-31
 +
 
 +
==같이 보기==
 +
* [[마이크로프로세서]]
 +
* [[임베디드]]
 +
* [[칩]]
 +
* [[MCU]]
 +
 
 +
{{자동차 전장|검토 필요}}

2022년 9월 27일 (화) 10:32 기준 최신판

마이크로컨트롤러(microcontroller)는 마이크로프로세서입출력 모듈을 하나의 으로 만들어 정해진 기능을 수행하는 컴퓨터를 말한다. 흔히 영어 약자인 MCU(엠씨유)라고 부른다.

타고 월렌트 대형 가로 배너.jpg
이 그림에 대한 정보
[타고] 1개월 단위로 전기차가 필요할 때! 타고 월렌트 서비스

개요[편집]

마이크로컨트롤러는 자동차에서 각종 전장 시스템을 제어하는 역할을 하는 반도체이다.[1] CPU코어, 메모리 그리고 프로그램 가능한 입·출력을 가지고 있다. 마이크로컨트롤러는 임베디드 애플리케이션을 위해 디자인되었으며 임베디드 시스템에 널리 사용된다. 개인용 컴퓨터가 다양한 요구에 따라 동작하는 일반적인 일에 사용된다면, 마이크로컨트롤러는 기능을 설정하고 정해진 일을 수행하도록 프로그래밍이 되어 장치 등에 장착되어 동작한다. 따라서 일반적으로 성능이 PC에 비해 낮고 형상도 다르다.[2] 마이크로컨트롤러는 여러 응용 분야에 필요로 하는 주변 기기들을 한 칩 내에서 모두 제공하기 때문에 다양한 분야에서 사용되고 있다.[3]

역사[편집]

최초의 마이크로프로세서는 1971년 출시된 4비트 인텔 4004로 인텔 8088 및 그 밖의 기능이 더 많은 마이크로프로세서가 이후 수년에 걸쳐 이용이 가능하게 되었다. 그러나 두 프로세서 모두 작동 시스템을 구현하기 위해 외장 칩이 필요했고, 이는 전체 시스템 비용을 증가시켰다. 스미스소니언협회는 텍사스 인스트루먼트(Texas Instruments)의 엔지니어 게리 분(Gary Boone)과 마이클 코치란(Michael Cochran)을 1971년 최초의 마이크로컨트롤러를 성공적으로 만든 것으로 평가했다. 이들의 노고의 결과물을 TMS 1000으로, 1974년에 상용화되었다. 읽기 전용 메모리, 읽기/쓰기 메모리, 프로세서, 클럭을 한 칩에 합쳤고 임베디드 시스템에 목표를 두었다.[4]

구성요소[편집]

타이머[편집]

타이머는 컴퓨터나 임베디드 시스템에서 주기적으로 반복되는 동작을 하기 위해 디지털 하드웨어 회로에 신호를 만든다. 이 신호에 따라 컴퓨터의 인터럽트 처리 방식을 사용하여 주기적인 작업을 수행하는 것이 일반적인 처리 방법이다. 소프트웨어 기계어 실행 없이 일정 시간을 만들 수 있어서 중앙처리장치의 부담을 줄일 수 있다. 클럭과 디지털회로를 사용하므로 정확한 시간을 얻을 수 있다. 컴퓨터 시스템의 필수 요소이며, 현실적으로 소프트웨어 일정 시간을 얻는 것이 아주 간단한 시스템 아니면 기계어 코드의 복잡성 때문에 타이머에 의존한다. 실시간 시계와 다르게 중앙처리장치의 클럭 신호를 주로 이용하여 디지털회로에 필요한 클럭을 만든다. 보통 중앙처리장치 클럭이 주파수가 높아 빠르기 때문에 프리 스켈일러 회로에 의해 주파수를 낮추어 타이머 모듈에 공급한다. 카운터 회로에 의해 일정 시간이 되면 인터럽트 디지털 신호를 발생하고, 중앙처리장치가 접수하면 현재 실행하는 기계어 코드를 종료한 후 해당 인터럽트 처리 루틴을 자동 호출한다. 인터럽트 발생 여부는 레지스터 설정에 의해 선택적으로 처리할 수 있다. 인터럽트를 발생하는 부분과 인터럽트를 수용하는 중앙처리장치가 처리할 것인가는 레지스터 설정에 의해 별도로 동작시킬 수 있다.[5]

직렬통신[편집]

직렬통신은 전기 통신과 컴퓨터 과학 분야에서 직렬 통신은 연속적으로 통신 채널이나 컴퓨터 버스를 거쳐 한 번에 하나의 비트 단위로 데이터를 전송하는 과정을 말한다. 이 용어는 여러 개의 병렬 채널을 갖춘 링크 위에서 동시에 여러 개의 비트를 보내는 병렬 통신과 대조된다. 컴퓨터에서 데이터 처리가 병렬로 되는데, 통신을 위해 병렬 통신을 하려면 여러 개의 채널이 필요하다. 거리와 비용을 고려하면 많을 경우 병렬 통신은 문제가 될 수 있다. 결국 병렬로 처리되는 데이터를 통신할 때 시간으로 나누어 차례대로 전송함으로써 문제를 해결할 수 있다. 직렬 통신에서 데이터가 계속되어 전송되면, 각 비트를 구별할 방법이 필요하다. 디지털 회로의 입장에서 수신된 데이터의 비트가 시간상으로 어디서부터 시작이고 끝인지를 알 필요가 없다. 이렇게 데이터 비트를 복구하기 위해 데이터의 시간적 위치를 알리기 위해 동기신호를 보내는 경우와 동기 신호 없이 신호 자체에서 데이터 비트를 복원하는 방식으로 나눌 수 있다.[6]

RS-232[편집]

RS-232(Recommended Standard 232)는 1960년에 도입된 표준의 하나로, PC와 음향 커플러, 모뎀 등을 접속하는 직렬 방식의 인터페이스의 하나이다.[7]

아이스퀘어드시[편집]

아이스퀘어드시(I²C, Inter-Integrated Circuit)는 필립스(Philips)에서 개발한 직렬 버스이다. 마더보드, 임베디드 시스템, 휴대 전화 등에 저속의 주변 기기를 연결하기 위해 사용된다.[8]

SPI[편집]

SPI(Serial Peripheral Interface)는 버스 아키텍처 전이중 통신 모드로 동작하는 모토로라 아키텍처에 이름을 딴 동기화 직렬 데이터 연결 표준이다. 장치들은 마스터 슬레이브 모드로 통신하여 여기서 마스터 장치는 데이터 프레임을 초기화한다. 여러 슬레이브 장치들은 개별 슬레이브 셀렉트 라인과 함께 작동할 수 있다.[9]

ADC[편집]

ADC(Analog-to-digital converter)는 아날로그 전기 신호를 디지털 전기 신호로 변환하는 전자회로이다. ADC는 저장이나 조작의 편리성이 디지털 신호보다 어렵기 때문에, 초기의 전자공학과는 달리 현재는 디지털화를 많이 한다. 신호전송 시, 일반적으로 아날로그 신호를 디지털 신호로 변환되면 신호의 잡음 등에 유리하다. 아날로그를 디지털화하여 신호를 조작하고 다시 디지털-아날로그 변환회로(DAC)를 통해 아날로그로 변환한다.[10]

CAN[편집]

CAN(Controller Area Network)은은 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신은 메시지 기반 프로토콜이며 최근에는 차량뿐만 아니라 상업용 자동화기기나 의료용 장비에서도 종종 사용되고 있다. CAN은 각 제어기 간의 통신을 위해 주로 사용되는 non-host 버스 방식의 메시지 기반 네트워크 프로토콜이다.[11]

장단점[편집]

장점
  • 메인보드에 포함된 기능을 하나의 칩으로 구현해 적은 공간에서 제작된다. 그렇게 되면 전체 컴퓨터 시스템의 크기가 줄어든다.
  • 마이크로컨트롤러는 집적도가 낮고 설계가 간단해 가격이 저렴하다.
  • 하나의 칩에 대부분의 기능이 내장되어 있기 때문에 고장이 잘 나지 않아 유지보수에 용이하다.
  • 제어를 위해 필요한 기능들을 하드웨어로 구현하는 전통적인 방식과 달리, 마이크로컨트롤러는 제어 기능들을 소프트웨어를 통해 구현하므로 기능의 변경이나 확장에 더욱 유연하게 대응할 수 있다.
단점
  • 주변장치를 통합된 형태로 만들었기 때문에 처리 능력이 떨어진다.
  • 특정 작업을 위한 하나의 프로그램만 설치하고 실행시킬 수 있다.[12]

특징[편집]

  • 비트 단위 입출력: 마이크로컨트롤러 입출력을 비트 단위로 임베디드 시스템을 제어하는 것이 가능하다.
  • 인터럽트 처리: 각각의 인터럽트 플래그 상태에 따라 현재 수행 중인 메인 프로그램을 중지하고 ISR을 수행한 후 다시 메인 프로그램으로 돌아가는 동작으로 인해 동시에 여러 가지 일을 하는 것처럼 사용할 수 있다.
  • 다양한 기능의 주변장치 내장: 시스템 제어가 목적인 마이크로컨트롤러이기 때문에 A/D 컨버터, 카운터, LCD, PMW, 직렬통신기, 버스 제어기를 내장하여 복수 기능을 사용하거나 입출력으로 사용할 수 있다.
  • 타이머 내장: 마이크로컨트롤러와 독립적으로 동작하여 인터럽트와 연계되어 타이머가 측정할 수 있는 한계 시간을 넘어서게 되면 타이머 오버플로우를 발생 시켜 이를 인지할 수 있도록 한다.
  • 저전력 구동: 마이크로컨트롤러는 그 특성상 휴대용 기기에 많이 응용되기 때문에 전력 소모가 작으며 전력 소모를 조절하는 모드를 가지는 경우가 많다.[13]

종류[편집]

AVR[편집]

AVR은 1996년 아트멜(Atmel)에서 하버드 구조로 개발·수정한 8비트 RISC 단일 칩 마이크로컨트롤러이다. 출시 당시 AVR은 프로그램을 저장하기 위해 이용한 메모리 방식을 다른 마이크로컨트롤러처럼 (ROM), 이피롬(EPROM) 또는 [[이이피롬](EEPROM)을 사용하지 않고, 단일 칩 플래시메모리를 사용한 최초의 마이크로컨트롤러 중 하나로 꼽힌다. 물론 8비트 마이크로컨트롤러인 만큼 연산 능력이나 클럭 속도, 메모리 어드레스 영역은 상당히 제한되기 때문에 고성능을 요구하는 정밀 제어 분야보다 단순 제어 분야에서 활용이 높다. 전기밥솥, 엘리베이터 제어, 자동판매기 등 높은 성능이 전혀 필요 없고 신뢰성이 필요한 제어 장치 부분에서 활용된다. 또 워낙 오랫동안 사용돼 오면서 안정성이 검증됐고, 무엇보다도 32비트급 마이크로컨트롤러에 비해 단가가 매우 싸기 때문에 여전히 널리 사용되고 있다. AVR의 장점은 전기적 특성이 매우 강해 핀이 공급하거나 받을 수 있는 전류 한계치가 다른 마이크로컨트롤러에 비해 높다. 따라서 다른 마이크로컨트롤러라면 불가능한 설계도 어느 정도 가능하다. 그러나 8비트 마이크로컨트롤러인 만큼 연산 능력이나 클럭 속도, 메모리 어드레스 영역은 상당히 제한된다. 8비트 마이크로컨트롤러의 특성상 구조가 간단하다. 32비트급 이상의 MPU에서 주로 볼 수 있는 CPU 코어에 관련된 MMU나 DRAM 컨트롤러 등의 여러 장치들의 특성을 사전에 익힐 필요가 없고 운영체제를 끼고 돌아가는 경우가 적어 그에 관련된 내용도 따로 스터디할 필요가 없다.[14]

8051[편집]

8051인텔(Intel)에서 만든 텍사스 인스트루먼트의 TMS 1000 마이크로컨트롤러와 더불어 1975년에 개발된 아주 초창기의 마이크로컨트롤러이다. 범용적인 기능을 가진 중앙처리장치만을 만들어오던 인텔이 더욱 사용하기 쉽고 주변장치 제어용으로 적합한 제품을 구상하다 만들어 낸 제품이기도 하다. 마이크로컨트롤러가 다양한 시스템에 적용해야 하므로, 8501 계열이 발전하면서 부가 하드웨어는 다양한 방식으로 변경 및 추가를 통해 여러 모델의 칩을 여러 제조사에서 제공한다. 때에 따라 ADS, SPI 등의 하드웨어 모듈 등이 존재하는 8051 계열 칩도 존재한다. 이와 더불어 메모리도 EPROM 대신 플래시 방식으로, EEPROM도 추가하는 경우도 있다.[15] 8051은 1980년에서 1990년 초까지 모뎀이나 타자기, 게임기 등에 광범위하게 이용됐으며 지금도 아트멜, 인피니언(Infineon), 맥심 인터그레이티드(Maxim Integrated), NXP반도체(NXP Semiconductor), ST마이크로일렉트로닉스(STMicroelectronics), 텍사스 인스트루먼트 등에서 다기능의 호환제품을 생산하고 있다. 인텔의 오리지널 8051은 NMOS 공정으로 제작됐으나 후에 CMOS 고정으로 바꿔 저전력의 배터리 전원 기기에 적용할 수 있었다. CMOS 공정의 제품은 C를 붙여 80C51과 같이 표기한다.

PIC[편집]

PIC는 미국의 마이크로칩(Microchip )에서 1976년 CP1600을 시작으로 출시한 마이크로컨트롤러 시리즈 이름이다.[16] AVR이나 8051과 함께 널리 사용되는 마이크로컨트롤러 중 하나이고, 특히 산업용으로 많이 사용되고 있어 주변의 가전제품 속에서 쉽게 볼 수 있다. PIC 마이크로컨트롤러 개발 시 여러 IDE를 사용할 수 있지만 대체로 개인이 많이 쓰는 것은 마이크로칩에서 무료로 제공하는 MPLAB과 MPLAB X IDE이다. IDE 자체는 무료지만, 컴파일러인 MPLAB XC 컴파일러는 개인용 무료 라이센스와 개인용 또는 상업용으로 추가 기능을 제공하는 유료 라이센스로 나뉜다. 또한 UML과 유사하게 그래픽을 사용해서 핀을 설정할 수 있는 하모니라는 플러그인도 있다. 디버거는 마이크로칩에서 자체 개발한 ICD 시리즈와 PICKit 시리즈, 그리고 스냅 시리즈가 있고 대중적으로 ICD 시리즈와 PICKit 시리즈가 주로 사용된다. ICD 시리즈는 비싸지만, 기능이 다양하고 접근 속도가 빠르며, PICKit 시리즈는 저렴하지만, 접근 속도가 조금 느리다. 마이크로컨트롤러에 따라서 호환되는 디버거가 다르다.[17] PIC는 8비트 마이크로컨트롤러부터 32비트 마이크로컨트롤러까지 다양하게 있으며 16비트 제품군에는 DSP인 dsPIC 시리즈도 있다. 마이크로칩은 2016년 4월 아트멜을 인수했다.

ARM[편집]

ARM은 1990년에 애플(Apple)과 아콘 컴퓨터(Acorn Computer) , VLSI 테크놀로지(VLSI Technology)가 공동으로 투자해 만든 회사의 제품 이름이다. 특이하게도 ARM은 마이크로컨트롤러 제품 그 자체가 아닌, 마이크로컨트롤러의 코어를 구성하는 회로를 의미한다. ARM에서는 오직 ARM 코어의 회로를 설계하고 연구할 뿐이며, 직접 생산하지는 않는다. 즉, 실제로 ARM 기반의 마이크로컨트롤러 생산은 다양한 업체에서 수행하고, 회로도 사용에 대한 라이센스 비용을 지불하는 방식으로 운영된다. 이처럼 ARM 기반의 마이크로컨트롤러를 생산하는 주요 업체로는 퀄컴(Qualcomm), 삼성전자㈜, 엔비디아(nVIDIA), 텍사스 인스트루먼트, NXP반도체, ST마이크로일렉트로닉스, 애플 등이 있다. 또 AVR 제작업체인 아트멜 또한 ARM 기반의 마이크로컨트롤러를 생산했다. 그리고 이렇게 만들어진 ARM 제품에 스냅드래곤(퀄컴), 테그라(엔비디아), 엑시노스(삼성전자㈜) 등의 독자적인 이름을 부여해 판매된다. ARM은 앞서 설명한 업체의 마이크로컨트롤러보다 고성능을 자랑하기 때문에 더욱 복잡함을 요구하는 주변장치에 대한 제어를 할 수 있다. 따라서 LCD와 같은 그래픽 장치, 카메라 장치, 공유기와 같은 네트워크 관련 장치, 터치스크린과 같은 사용자와의 상호관계가 필요한 장비에 사용된다. 최근에는 대부분의 스마트폰에 탑재돼 마치 하나의 개인 PC에 버금가는 활용도를 구현한다.[18]

활용 분야[편집]

마이크로컨트롤러는 전자기기디스플레이, 타이머, 컴프레서, 냉장고, 세탁기, 에어컨 등과 같은 주요 가전제품모터제어한다. 예를 들어 혈압계에 탑재된 마이크로컨트롤러는 모터, 밸브, 디지털 디스플레이를 제어하고, 온도계의 마이크로컨트롤러는 온도 센서의 신호를 측정한다. 마이크로컨트롤러가 많이 사용되는 전자제품으로 리모컨이 대표적이다. 오늘날의 리모컨은 단순히 텔레비전(TV), 에어컨뿐 아니라, 전등, 선풍기의 동작까지도 제어한다. 또한 버튼의 누름을 탐지하고 리모컨이 전송하는 적외선 신호를 제어하는 것도 바로 마이크로컨트롤러의 역할이다. 마이크로컨트롤러는 카메라 장비, 사이클링과 같은 취미생활 도구에도 적용된다. 카메라에서 활용되는 마이크로컨트롤러는 자동 초점 기능, 셔터 스피드, 떨림 방지 기능을 제어하며, 자전거속도계변속기 부문에서 활용된다. 값이 비싼 자전거의 경우는 서스펜션까지도 마이크로컨트롤러가 제어한다. 사무용 전자제품에서도 마이크로컨트롤러 활용 사례를 쉽게 찾아볼 수 있다. 또 가정용 전동드릴 역시 마이크로컨트롤러를 사용해 모터 스피드와 배터리 전량을 체크한다.

시각적 기능[편집]

시각적 기능은 사용자가 전자 기기의 동작 상태 정보를 확인할 수 있다는 점에서 매우 중요하다. 이 기능은 사용자가 동작 중인 기기의 상태를 확인하고 동작을 하지 않을 때는 시간 확인의 용도로도 사용할 수 있다. 또 액정표시장치(LCD)나 발광다이오드(LEDs) 상에 텍스트를 표시할 수 있고, 일부 가전제품에는 마이크로컨트롤러가 단순히 LED 빛을 켜거나 플래시 용도로 사용되기도 한다.

청각적 기능[편집]

전자레인지, 화재 알람 등 많은 전자제품은 음악이나 알람 소리를 통해 사용자에게 기기의 동작 상태를 알리는 음성 기능을 제공한다. 이런 청각적 기능은 온도계, 혈압계와 같은 건강 기기에서도 흔히 찾아볼 수 있다.

모터, 밸브 통제[편집]

마이크로컨트롤러는 모터밸브를 제어하는 신호를 출력할 수 있다. 좀 더 구체적으로 말하면, 모터의 방향이나 속도를 변환하거나, 밸브를 여닫는 신호를 출력할 수 있다. TV 리모컨의 적외선 빔 신호 역시 마이크로컨트롤러가 출력하는 것이다.

전자 신호 측정과 출력[편집]

마이크로컨트롤러는 센서 부품의 전압을 직접 측정하는 기능을 가지고 있다. 예를 들어, 온도계와 같은 온도 센서와 직접 연결되면 마이크로컨트롤러로 온도를 측정할 수 있다. 이와 마찬가지로, 빛 센서와 연결되는 경우에는 마이크로컨트롤러로 빛의 밝기를 측정할 수 있다. 또 마이크로컨트롤러는 배터리 전압을 측정해 교체 시기를 알려주고, 특정 전압을 출력할 수 있다. 일정한 전압 출력이 가능하기 때문에, 다른 전자 부품에 기준 전압을 제공하는 레귤레이터 역할을 수행할 수 있다.

통신[편집]

PC 사용이 증가함에 따라 USBPC와 다른 디바이스를 연결하는 통신 인터페이스의 표준이 됐다. 이 때문에 마이크로컨트롤러 역시 USB 연결 기능을 갖고 있고, 마이크로컨트롤러와 다른 마이크로컨트롤러 사이의 간단한 데이터 교환도 구현할 수 있다. 자동차가 좋은 예이다. 오늘날의 자동차는 움직이는 통신 네트워크이다. 자동차 하나에는 수많은 마이크로컨트롤러가 사용되는데, 이 많은 마이크로컨트롤러가 CAN(계측 제어기 통신망), LIN(로컬 상호 연결 네트워크)을 지원해 차량 전체가 하나의 시스템으로 작동하게 한다.

계산[편집]

계산은 마이크로컨트롤러가 만들어지게 된 본래의 목적이다. 특정 작업을 처리하기 위해 마이크로컨트롤러는 앞에 언급한 여러 가지 기능을 통합하고 조율한다. 예를 들어, 온도 센서에 의해 측정된 전압을 온도로 변환해 표시하거나, 모터 사용량을 계산해 해당 모터의 성능을 조절하기도 한다. 하나의 작업을 처리하기 위해 필요한 여러 가지 기능을 통합하는 것이 마이크로컨트롤러의 가장 중요한 기능 중 하나이다.[18]

주요 기업[편집]

텔레칩스[편집]

텔레칩스(Telechips)는 대한민국의 반도체 설계전문업체이다. 2021년 독자 개발한 자동차용 마이크로컨트롤러를 시장에 출시했다. 32나노미터(㎚, 10억분의 1m) 공정으로 설계·개발했고, 삼성전자㈜의 위탁생산 시설인 파운드리를 통해 2021년 4월부터 시범 생산했다. 삼성전자㈜는 경기도 기흥과 화성에서 대규모 파운드리 시설을 운영하고 있다. 자동차용 마이크로컨트롤러는 제한된 범위에서만 작동하는 낮은 수준의 반도체지만, 2021년 공급이 수요를 못 따라가는 상황이 발생했다. 네덜란드 NXP반도체, 독일 인피니언, 일본 르네사스(Renesas) 등 전 세계적으로도 10곳 미만의 기업이 과점 형태로 공급해 왔기 때문이다. 브레이크·변속기 등 주요 부품에 들어가는 마이크로컨트롤러는 사람의 생명과도 직결되기 때문에 높은 신뢰성이 필요하다. 영하 40도 환경과 같은 까다로운 신뢰성 테스트를 거쳐야 하지만, 시장 공급 가격은 대체로 5만 원 이하에 그치기 때문에 과점 현상이 생겼다. 삼성전자㈜는 진입 장벽이 높은 차량용 반도체를 직접 개발하기보단 중소 팹리스를 통한 우회 지원을 택한 것으로 보인다. 텔레칩스의 경우, 2011년부터 현대자동차㈜ 계열에 자동차 내비게이션용 애플리케이션프로세서(AP)를 납품하는 등 협력 관계를 이어왔다. 또한 현대자동차그룹고급차 브랜드 제네시스GV80GV70에 10나노대 고성능 내비게이션용 AP를 공급하기 시작했다.[19]

각주[편집]

  1. 박태준 기자, 박소라 기자, 〈"반도체가 동났다"…韓 주력산업 멈춰설 판〉, 《전자신문》, 2021-03-31
  2. MCU〉, 《네이버 지식백과》
  3. 로츠버거, 〈마이크로 컨트롤러(MCU)란?〉, 《티스토리》, 2013-12-19
  4. 마이크로컨트롤러〉, 《위키백과》
  5. 주기적 타이머〉, 《위키백과》
  6. 직렬 통신〉, 《위키백과》
  7. RS-232〉, 《위키백과》
  8. I²C〉, 《위키백과》
  9. 직렬 주변기기 인터페이스 버스〉, 《위키백과》
  10. 아날로그-디지털 변환회로〉, 《위키백과》
  11. CAN 버스〉, 《위키백과》
  12. 마이크로컨트롤러와 마이크로프로세서〉, 《티스토리》, 2019-05-03
  13. lee betterwith, 〈마이크로컨트롤러의 개념〉, 《티스토리》, 2019-09-01
  14. AVR MCU〉, 《나무위키》
  15. 인텔 8051〉, 《위키백과》
  16. PIC 마이크로컨트롤러〉, 《위키백과》
  17. PIC (마이크로컨트롤러)〉, 《나무위키》
  18. 18.0 18.1 이나리 기자, 〈일상 속 모든 가전제품의 핵심 반도체, MCU란 무엇인가?〉, 《테크월드》, 2018-02-28
  19. 김영민 기자, 〈국산 첫 차량용 MCU 나왔다···삼성전자 파운드리 시범생산〉, 《중앙일보》, 20121-05-05

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 마이크로컨트롤러 문서는 자동차 전장에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.