Arduino PIC18F2550
тел. +7(499)347-04-82
Описание Arduino PIC18F2550
Отличный выбор микроконтроллера! PIC18F2550 от Microchip Technology (ранее Microchip, купивший Atmel) — это один из самых популярных 8-битных МК с интегрированной поддержкой USB, который широко использовался в самодельных проектах на Arduino-подобных платах.
Вот подробное описание, характеристики и совместимые модели.
Краткое описание
PIC18F2550 — это высокопроизводительный 8-битный микроконтроллер семейства PIC18F с флэш-памятью, построенный на усовершенствованной RISC-архитектуре. Его ключевая особенность — наличие полноскоростного (Full-Speed, 12 Мбит/с) контроллера USB 2.0, что позволяет создавать устройства, напрямую подключаемые к компьютеру (HID-устройства, COM-порты, массовая память и т.д.) без дополнительных микросхем. Он идеально подходил для проектов, где требовалась "ардуино-подобная" простота, но с нативной поддержкой USB.
Основные технические характеристики
- Архитектура: 8-бит, RISC (до 16 MIPS при 48 МГц).
- Тактовая частота: Работает от внутреннего или внешнего источника. Максимальная — 48 МГц (для USB требуется точный кварц 20 МГц или 24 МГц с внутренним PLL).
- Память:
- Флэш-память программы: 32 КБ.
- ОЗУ (RAM): 2048 байт.
- EEPROM: 256 байт (для хранения данных без питания).
- Периферия:
- USB 2.0 Full-Speed (12 Мбит/с) — встроенный трансивер, требует только внешние резисторы на линиях D+ и D-.
- АЦП (ADC): 10-битный, до 13 каналов.
- Таймеры: 4 таймера (8/16-битные).
- ШИМ (PWM): 2 модуля CCP (Capture/Compare/PWM).
- Коммуникационные интерфейсы:
- EUSART — для UART (последовательный порт).
- MSSP — поддерживает SPI и I²C (Master/Slave).
- Компараторы: 2 аналоговых компаратора.
- Ввод/Вывод (I/O): До 24 линий ввода-вывода (порты A, B, C).
- Напряжение питания: От 2.0В до 5.5В (USB обычно требует 3.3В или 5В).
- Корпуса: PDIP-28, SOIC-28, QFN-28 (удобен для DIY).
Парт-номера (Part Numbers) и корпуса
Основные варианты корпусов и температурных диапазонов:
- PIC18F2550-I/SP — промышленный температурный диапазон (-40°C до +85°C), корпус PDIP-28 (самый популярный для макеток).
- PIC18F2550-I/SO — промышленный диапазон, корпус SOIC-28.
- PIC18F2550-I/ML — промышленный диапазон, корпус QFN-28 (4x4 мм, для компактных плат).
- PIC18F2550-E/SP — расширенный диапазон (-40°C до +125°C), PDIP-28.
Совместимые модели и аналоги (PIC18Fxx5x Family)
Часто можно найти платы или проекты под другими МК из этой же линейки. Они различаются объемом памяти и набором периферии, но имеют одинаковые выводы (pin-to-pin compatible) и ядро.
-
Прямые аналоги с разным объемом памяти (полная совместимость по выводам):
- PIC18F2455 — 24 КБ флэш, 2 КБ ОЗУ, 256 байт EEPROM. "Младший брат".
- PIC18F4455 — 24 КБ флэш, 2 КБ ОЗУ, 256 байт EEPROM, но с 15 каналами АЦП и дополнительными таймерами.
- PIC18F4550 — 48 КБ флэш, 2 КБ ОЗУ, 256 байт EEPROM. Самый популярный "старший брат" с большей памятью программы.
- PIC18F2550 — золотая середина (32 КБ флэш).
-
Более современные аналоги (рекомендуются для новых проектов): Микросхемы серии PIC18Fxx5x считаются устаревшими. Microchip давно рекомендует переходить на более новые семейства:
- PIC18F47Q10 (и другие из серии PIC18-Q10) — Современные МК с Core Independent Peripherals (CIP), большей памятью, лучше энергопотреблением, но без аппаратного USB. Для USB нужны внешние контроллеры (например, USB-UART).
- PIC32MX (32-битные) — Например, PIC32MX250F128B. Имеют аппаратный USB, большую производительность и память. Используются в официальных платах типа ChipKIT.
- ATSAMD21 (от Atmel, теперь Microchip) — 32-битные Cortex-M0, используются в Arduino Zero, MKR. Имеют USB-контроллер.
Arduino-подобные платы на PIC18F2550/PIC18F4550
Официального Arduino на этом чипе никогда не было. Однако энтузиасты создавали многочисленные клоны и проекты, так как чип был дёшев и имел USB. Самые известные:
- GENERIC USB Board (на макетке) — Самая распространенная DIY-плата.
- JalV2 / Jallib — Платы, программируемые на языке JAL (Pascal-подобный).
- PICUSB — Еще один популярный проект для самостоятельной сборки.
- Многочисленные китайские клоны — Часто встречались под названиями вроде "USB Development Board".
Важное замечание по программированию
В отличие от классических Arduino на AVR (ATmega328p и др.), для программирования PIC18F2550 не используется Arduino IDE "из коробки" и загрузчик Bootloader. Основные способы:
- Специализированные среды и компиляторы: MPLAB X IDE с компилятором XC8 (бесплатный или платный режим). Это "родной" способ от Microchip.
- Программирование через PICKit: Для прошивки требуется программатор (PICKit 3/4, ICD, или более дешевые китайские клоны).
- Экосистемы энтузиастов: Существовали проекты по адаптации Arduino-подобного API (Wiring) для PIC, например, PICDuino или UnoJoy (для создания USB-джойстиков), но они не получили такого распространения, как для AVR.
Итог
PIC18F2550 — это легендарный, хотя и морально устаревший, 8-битный МК с нативным USB. Он был отличным выбором для DIY-проектов 10-15 лет назад, где требовалось прямое подключение к ПК. Для новых проектов лучше рассматривать более современные микроконтроллеры от Microchip (PIC18-Q10, PIC32, ATSAMD) или классические Arduino на AVR/ARM, обладающие большим комьюнити, лучшей документацией и бесплатными инструментами.