PIC (마이크로컨트롤러)

덤프버전 :

1. 개요
2. 8비트 MCU
2.1. PIC10 시리즈
2.2. PIC12 시리즈
2.3. PIC16 시리즈
2.4. PIC18 시리즈
3. 16비트 MCU/DSP
3.1. PIC24 시리즈
3.2. dsPIC 시리즈
4. 32비트 MCU
4.1. PIC32 시리즈
5. 개발 환경


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핀까지 다양하다. 64핀 이상은 모두 SMD 패키징이다. 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가 같은 데이터시트를 이용하는 것을 볼 수 있다. 다만 dsPIC30F 시리즈의 경우 독자 라인업인듯 하다. dsPIC 30F, 33F, 33E 총 세가지 시리즈가 있다.


4. 32비트 MCU[편집]


PIC32 계열은 MIPS 기반 32비트 MCU이다. Atmel 인수 후 Atmel에서 생산했던 Arm Cortex-M 기반 ATSAM 계열 및 기타 32비트 MPU 제품군이 편입되었다. 그러나 본 문서는 PIC 마이크로컨트롤러에 대한 문서이므로 PIC32 계열 MCU만 서술한다.


4.1. PIC32 시리즈[편집]


PIC32 시리즈는 MK, MM, MX, MZ EF, MZ DA총 5개 세부 시리즈로 나뉘고 주된 차이점은 성능이다. 특이점으로는 MZ DA시리즈의 경우 내장 그래픽 컨트롤러와 그래픽 프로세서를 갖고 있다는 점이다.


5. 개발 환경[편집]


PIC MCU 개발시 여러 IDE를 사용할 수 있지만 대체로 개인이 많이 쓰는 것은 Microchip에서 무료로 제공하는 MPLAB과 MPLAB X IDE이다. IDE 자체는 무료지만, 컴파일러인 MPLAB XC 컴파일러는 개인용 무료 라이센스와 개인용 또는 상업용으로 추가 기능을 제공하는 유료 라이센스로 나뉜다. MPLAB 구버전과 MPLAB X를 모두 사용하는 경우 사용하는 둘이 사용하는 컴파일러가 달라 스위칭 기능을 사용해서 사용하고자 하는 IDE에 맞는 컴파일러로 바꿔주는 작업을 해야 한다. 또한 UML과 유사하게 그래픽을 사용해서 핀을 설정할 수 있는 'Harmony'라는 플러그인도 있다.

디버거는 Microchip에서 자체 개발한 ICD 시리즈와 PICKit 시리즈, 그리고 Snap 시리즈가 있으며 대중적으로 ICD 시리즈와 PICKit 시리즈가 주로 사용된다. Snap은 세 종류의 디버거 중 가장 늦게 출시된 대신, Atmel을 인수한 후에 출시된 제품이라 PIC 이외에도 AVR도 디버깅할 수 있다. MPLAB X IDE 5.05 이상에서만 인식한다. 최신 버전은 ICD와 PICKit 모두 4. ICD 시리즈는 조금 비싸지만 기능이 다양하고 접근 속도가 빠르다. 대표적인 것이 프로그램 디버그 중에 중단점을 마음대로 추가하고 On/Off가 가능하다는 점인데, 같은 회사에서 만든 PICKit은 이 기능을 지원하지 않는다. PICKit 시리즈는 저렴하지만 접근 속도가 조금 느리다. MCU에 따라서 호환되는 디버거가 다르고, 특히 최신 디버거가 구형 MCU를 제대로 인식하지 못하거나 망가뜨릴 수 있으니 자신이 주로 사용하고자 하는 MCU의 제품명과 사양에 맞는 디버거를 선택하는 것이 좋다.

최근에는 MPLAB Xpress라는 클라우드 기반 IDE를 선보였다. 그 외에 상용 IDE로는 mikroC 등을 사용한다.


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-01 17:47:22에 나무위키 PIC (마이크로컨트롤러) 문서에서 가져왔습니다.