PIC (마이크로컨트롤러)
1. 개요
Microchip Technology社의 마이크로컨트롤러 시리즈이다. 8비트 MCU부터 32비트 MCU까지 다양하게 있으며 16비트 제품군에는 DSP인 dsPIC 시리즈도 있다.
2. 8비트 MCU
PIC1X 로 시작하면 8비트 제품군이다. 넘버링은 명령어 (instruction word) 비트 수에 따라 나뉘며 현재 PIC10, 12, 16, 18이 있고 PIC17은 있었으나 폭망하여 단종, 후에 17을 이은 후속작이 PIC18 시리즈였으며 PIC18 시리즈는 대성공을 거두었다. PIC18은 일반 PIC18, PIC18J, PIC18K 총 세가지로 나뉜다.
2.1. PIC10 시리즈
일반적으로 6핀 (SMD) 또는 8핀 (DIP)으로 나오며 12비트 명령어를 사용한다.
2.2. PIC12 시리즈
칩에 따라 12비트 혹은 14비트 명령어를 사용하며, 일반적으로 8핀으로 나오지만 핀배열은 PIC10 8핀 DIP와는 다른 핀배열을 사용한다.
2.3. PIC16 시리즈
일반적으로 14비트 명령어를 사용하고 보통 14핀 이상으로 나온다.
2.4. PIC18 시리즈
16비트 명령어를 사용하며 핀수도 18핀에서 100핀까지[1] 다양하다. PIC18이 출시된 이후 PIC18-J시리즈와 K시리즈를 추가로 내놓았는데, J시리즈는 성능과 주변기기(USB, 터치 스크린, 이더넷 등) 지원을 가성비면에서 타협한 시리즈이고 K시리즈는 성능에 중점을 두고 내장 EEPROM, 16MIPS, 정격전압 1.8V~5.5V 등을 지원하는 시리즈이다. J시리즈와 K시리즈 모두 12비트 ADC를 갖고있다. 구분법은 모델명 PIC18F다음에 네자리 숫자가 오면 일반 PIC18 시리즈, 두자리 숫자가오면 해당 숫자 뒤에 붙는 알파벳으로 구분한다. 예를들어 PIC18시리즈 중 가장 널리 쓰이는 칩 중 하나인 PIC18F4550은 일반 PIC18 시리즈, PIC18F45J50은 PIC18-J 시리즈, PIC18F45K50은 PIC18-K 시리즈이다.
3. 16비트 MCU/DSP
16비트 MCU/DSP로는 PIC24 시리즈와 dsPIC3X 시리즈가 있다. 앞서 말했듯이 dsPIC 시리즈는 PIC의 DSP버전이다. 24비트 명령어를 사용하고
3.1. PIC24 시리즈
PIC24시리즈는 F, H, E시리즈로 더 나뉘는데, 세부 시리즈와는 관계 없이 모두 동일한 명령어 세트와 핀배열을 갖고있다. PIC24 시리즈 최초 발표 당시엔 F시리즈와 H시리즈만 있었으며 F시리즈는 저전력 모델로 최고 16MIPS까지 지원하고 작동 전압은 3V와 5V 둘 다 지원한다. H시리즈는 고성능용으로 최대 40MIPS까지 지원하고 구동 전압은 3V만 지원한다. 일부 입출력 핀은 5V도 지원하기에 5V를 사용하는 센서 등을 계속 사용할 수는 있다. E시리즈는 나중에 나온 시리즈로 PIC24H 시리즈보다 더 성능에 중점을 두어 70MIPS까지 지원한다.
3.2. dsPIC 시리즈
마이크로칩社의 설명으론 dsPIC 시리즈 칩들은 Digital Signal Controller로, DSP의 성능과 MCU의 간단함을 동시에 제공하는게 목적이라는 듯. 간단히 설명하자면 dsPIC 시리즈는 PIC24 시리즈의 DSP 버전이다. 실제로 데이터시트를 보면 dsPIC33(F)과 PIC24(F), dsPIC33E와 PIC24E가 같은 데이터시트를 이용하는 것을 볼 수 있다.[2] dsPIC 30F, 33F, 33E 총 세가지 시리즈가 있다.
4. 32비트 MCU
마이크로칩은 기반 코어에 따라 두가지 계열의 32비트 MCU 제품군이 있는데 PIC32 계열(MIPS기반)과 SAM 계열(ARM Cortex-M기반)이다. 여기에 추가로 32비트 MPU 제품군도 있는데, 모두 ARM 기반이고 부품명이 AT로 시작하는걸로 봐서 Atmel 인수 후 지속 생산하는 舊 Atmel社의 제품군으로 보인다. 본 문서는 PIC 마이크로컨트롤러에 대한 문서이므로 PIC32 계열 MCU만 서술한다.
4.1. PIC32 시리즈
PIC32 시리즈는 MK, MM, MX, MZ EF, MZ DA총 5개 세부 시리즈로 나뉘고 주된 차이점은 성능이다. 특이점으로는 MZ DA시리즈의 경우 내장 그래픽 컨트롤러와 그래픽 프로세서를 갖고있다는 점이다.
5. 개발 환경
PIC MCU 개발시 여러 IDE를 사용할 수 있지만 대체로 개인이 많이 쓰는 것은 Microchip社에서 무료로 제공하는 MPLAB X IDE이다.[3] 최근에는 MPLAB Xpress라는 클라우드 기반 IDE를 선보였다. 그외에 상용 IDE로는 mikroC 등을 사용한다.
[1] 64핀 이상은 모두 SMD 패키징이다.[2] 다만 dsPIC30F 시리즈의 경우 독자 라인업인듯 하다.[3] 다만 툴만 무료지 툴에 사용되는 컴파일러인 MPLAB XC 컴파일러는 따로 돈받고 판다.