Предыдущий уровень изложения текущего раздела   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень:


Микроконтроллеры

Микроконтроллеры семейства PICmicro фирмы Microchip.

Скоро исполнится 10 лет как на мировой рынок 8-битных микроконтроллеров впервые вышла фирма Microchip со своим семейством PICmicro. Перспективы нового семейства оценивались довольно туманно, рынок 8-битных микроконтроллеров был заполнен такими традиционными производителями как Mitsubishi, Motorola, Intel, Philips, Siemens, Zilog и др. Но, как показали последние несколько лет, "новичок" очень удачно вписался в мировую палитру микроконтроллеров и бурно прогрессирует. Ежегодный выпуск микроконтроллеров семейства PICmicro превысил 100 миллионов изделий, и в последние несколько лет Microchip уверенно занимает одно из лидирующих позиций в мировых рейтингах основных производителей 8-битных микроконтроллеров. В данной статье мы попытаемся проанализировать причины столь большой популярности этих микроконтроллеров и сделаем обзор как ныне выпускаемых, так и перспективных изделий.

Архитектурные особенности

Микроконтроллеры PICmicro построены по RISC (reduced instruction set computer) архитектуре. Это предполагает, что все инструкции имеют одну длину и выбираются за один машинный цикл. Набор инструкций этих микроконтроллеров широкий, тщательно подобранный специально для задач управления. Гарвардская архитектура процессора, широкое слово инструкции, очередь команд, RISC набор команд - все это позволило добиться очень высокого быстродействия и получить очень компактный код. Все команды микроконтроллера, за исключением команд перехода, выполняются за один машинный цикл, который составляет 4 периода тактового генератора. Так, например, на тактовой частоте 20 МГц производительность микроконтроллеров достигает 5 MIPS.

Для иллюстрации скоростных возможностей микроконтроллеров PICmicro и компактности их программного кода приведем выдержки из сравнительного анализа, приведенного фирмой Microchip. В качестве тестовых программ использовались типичные для систем управления задачи: тестирование бита с ветвлением по нему, цикл по счетчику, побитный сдвиг байта, программная задержка. Сравнивались PIC16Cxx и микроконтроллеры фирм Motorola, Intel, National, Zilog и SGS-Thomson.

Результаты сравнительного анализа представлены в таблице:

  Microchip PIC16Cxx
20 МГц
National COP800
20 МГц
Motorola MC68HC05
4.2 МГц
Zilog Z86Cxx
12 МГц
Intel 8051 20
МГц
SGS-Thomson ST62
8 МГц
Относительный размер кодов 1.00 1.29 2.24 1.51 1.55 2.1
Скорость выполнения 1.00 0.11 0.14 0.21 0.3 0.05

Все микроконтроллеры PICmicro имеют расположенную на кристалле кодовую память. Большинство микроконтроллеров снабжено дешевой однократно программируемой (OTP) памятью. Большое значение фирма Microchip уделяет именно OTP памяти, расположенной на кристалле микроконтроллера. Применение OTP памяти в сравнение с масочной дает массу преимуществ микроконтроллерам семейства: изделия на базе PICmicro становятся гибкими, легко модифицируется коды программ под требования конечного пользователя, экономически выгодным становится выпуск изделий мелкими сериями, уменьшается время на разработку изделий. Политика фирмы заключается в приближении цены микроконтроллеров с OTP память к микроконтроллерам с масочной памятью. Наряду с OTP кодовой памятью Microchip выпускает и микроконтроллеры с масочной памятью, а также перепрограммируемой памятью с ультрафиолетовым стиранием и FLASH памятью.

Микроконтроллеры PICmicro работают в очень широком диапазоне частот - 0...33 MHz и имеют несколько режимов встроенного тактового генератора, который позволяет работать на частотах от 32 kHz до 33 MHz. Существуют режимы внешнего и внутреннего RC генераторов.

Микроконтроллеры не требуют традиционных внешних цепей для формирования сигнала сброса. Они вырабатывают его автоматически при включении питания или при подаче внешнего сигнала сброса.

Процессоры семейства PICmicro работают в очень широком диапазоне питающих напряжений, у некоторых образцов питание может изменятся в пределах от 2.0 до 6.0 Вольт. Микроконтроллеры характеризуются и очень низкими токами потребления. Так, например, PIC16C5x на частоте 32 kHz потребляет 12 мкА, на частоте 4 MHz - 2 мА, на частоте 20 MHz - 9 мА. В режиме пониженного энергопотребления потребление уменьшается до 0.25 мкА.

Состав семейства.

Семейство PICmicro подразделяется на четыре подсемейства:

Базовое семейство микроконтроллеров PIC16C5x.

Базовое семейство характеризуется 12-битным словом команд и двух уровневой глубиной стека. Максимальная скорость выполнения команд - 5 MIPS на частоте 20 MHz. Система команд включает в себя 33 однословные инструкции. В качестве периферии микроконтроллеры семейства имеют ОЗУ, двунаправленные порты ввода/вывода, один восьми битный и сторожевой таймеры. Это самые простые и дешевые микроконтроллеры семейства PICmicro. Микроконтроллеры этого семейства выполнены в 18, 20 и 28 выводных корпусах, причем предлагаются не только корпуса DIP, но и миниатюрные корпуса SOIC и SSOP. Работа при низком напряжении питания (допускается напряжение до 2.0 В) делает эти микроконтроллеры идеальными для работы в изделиях с питанием от батарей.

Перечень микроконтроллеров семейства представлен в таблице:


  Обозначение Кодовая память OTP (слов) ОЗУ (байт) Макс. частота (МГц) Линии ввода/вывода Таймеры Корпус
PIC16C52 384 25 4 12 1 D18, SO18
PIC16C54A 512 25 20 12 1+WDT D18, SO18, SS20, JW18
PIC16C55 512 24 20 20 1+WDT D28, SP28, SO28, SS28, JW28
PIC16C56 1024 25 20 12 1+WDT D18, SO18, SS20, JW18
PIC16C57 2048 72 20 20 1+WDT D28, SP28, SO28, SS28, JW28
PIC16C58A 2048 73 20 12 1+WDT D18, SO18, SS20, JW18

Условные обозначения:

Среднее семейство микроконтроллеров PIC16Cxx

Среднее семейство PICmicro является развитием базового и характеризуется модифицированным ядром процессора. Это семейство является самым многочисленным представителем PICmicro, ему свойственна самая разнообразная номенклатура корпусов и периферии. Среднее семейство имеет 14-битную ширину инструкции, контроллер прерываний и глубокий 8 уровневый стек. Максимальная скорость выполнения команд - 5 MIPS на частоте 20 MHz. Система команд включает в себя 35 однословных инструкции. В качестве периферии микроконтроллеры этого семейства имеют: ОЗУ (до 384 байт), двунаправленные порты ввода/вывода с током нагрузки до 25 мА, таймеры-счетчики, компараторы, 8-битные АЦП, последовательные каналы (I2C, SPI, USART), устройства выборки и сравнения, ШИМ, контроллер ЖКИ, параллельный порт, программируемые источники опорного напряжения, сторожевой таймер и т.д. Микроконтроллеры семейства выполнены в 18, 20, 28, 40, 44 выводных корпусах, типы корпусов - DIP, SOIC, SSOP, LCC, QFP. Допускается широкий диапазон питающих напряжений с нижней границей напряжения - 2.0 В.

Перечень микроконтроллеров среднего семейства представлен в таблице:
Обозначение Кодовая память OTP (слов) ОЗУ (байт) Макс. частота (MГц) Линии ввода/ вывода АЦП входы/разр. Послед. Каналы Таймеры Другие опции Корпус
PIC14C000 4096 192 20 20 8x(до 16 бит) I2 C 2+WDT 2 ЦАП, 2 Comp, TS, intRC SP28, SO28, SS28, JW28
PIC16C554 512 80 20 13     1+WDT   D18, SO18, SS20, JW18
PIC16C556A 1024 80 20 13     1+WDT   D18, SO18, SS20, JW18
PIC16C558 2048 128 20 13     1+WDT   D18, SO18, SS20, JW18
PIC16C62A 2048 128 20 22   I2 C/SPI 3+WDT CCP SP28, SO28, SS28, JW28
PIC16C63 4096 192 20 22   USART/I2 C/SPI 3+WDT 2 CCP SP28, SO28, JW28
PIC16C64A 2048 128 20 33   I2 C/SPI 3+WDT CCP D40, L44, PQ44, PT44, JW40
PIC16C65A 4096 192 20 33   USART/I2 C/SPI 3+WDT 2 CCP, SP D40, L44, PQ44, PT44, JW40
PIC16C66 8192 368 20 22   USART/I2 C/SPI 3+WDT 2 CCP, PSP SP28, SO28, JW28
PIC16C67 8192 368 20 33   USART/I2 C/SPI 3+WDT 2 CCP, PSP D40, L44, PQ44, PT44, JW40
PIC16C620 512 80 20 13     1+WDT Vref, 2 Comp D18, SO18, SS20, JW18
PIC16C621 1024 80 20 13     1+WDT Vref, 2 Comp D18, SO18, SS20, JW18
PIC16C622 2048 128 20 13     1+WDT Vref, 2 Comp D18, SO18, SS20, JW18
PIC16C641 2048 128 20 22     1+WDT Vref, 2 Comp SP28, SO28, JW28
PIC16C642 4096 176 20 22     1+WDT Vref, 2 Comp SP28, SO28, JW28
PIC16C662 4096 176 20 33     1+WDT Vref, 2 Comp, PSP D40, L44, PQ44, PT44, JW40
PIC16C710 512 36 20 13 4x 8   1+WDT   D18, SO18, SS20, JW18
PIC16C711 1024 68 20 13 4x 8   1+WDT   D18, SO18, SS20, JW18
PIC16C715 2048 128 20 13 4x 8   1+WDT   D18, SO18, SS20, JW18
PIC16C72 2048 128 20 22 5x 8 I2C/SPI 3+WDT CCP SP28, SO28, SS28, JW28
PIC16C73A 4096 192 20 22 5x 8 USART/I2 C/SPI 3+WDT 2 CCP SP28, SO28, JW28
PIC16C74A 4096 192 20 33 8x 8 USART/I2 C/SPI 3+WDT 2 CCP, PSP D40, L44, PQ44, PT44, JW40
PIC16C76 8192 368 20 22 5x 8 USART/I2 C/SPI 3+WDT 2 CCP SP28, SO28, JW28
PIC16C77 8192 368 20 33 8x 8 USART/I2 C/SPI 3+WDT 2 CCP, PSP D40, L44, PQ44, PT44, JW40
PIC16F83 512 (Flash) 68 (64EE) 10 13     1+WDT   D18, SO18
PIC16F84 1024 (Flash) 68 (64EE) 10 13     1+WDT   D18, SO18
PIC16C923 4096 176 8 52   I2 C/SPI 3+WDT CCP, LCD SP64, L68, PT64
PIC16C924 4096 176 8 52 5x 8 I2 C/SPI 3+WDT CCP, LCD SP64, CL68, L68, PT64

Старшее семейство микроконтроллеров PIC17Cxx

Старшее семейство PICmicro является самым быстрым семейством PICmicro. Это семейство имеет наиболее развитую архитектуру ядра процессора и характеризуется расширенным словом инструкции (16 бит), расширенным набором команд, мощным контроллером прерываний, 16 уровневой глубиной стека. Тактовая частота старшего семейства достигает 33 MHz, максимальная производительность на этой частоте составляет 8 MIPS. Контроллеры этого семейства снабжены внутренним 8х8 аппаратным умножителем, позволяющим выполнять инструкции байтного умножения всего за один машинный цикл. PIC17Cxx единственные среди номенклатуры PICmicro, способные работать с внешней памятью программ/данных. Объем внешней памяти может достигать 128 кБайт. Количество инструкций старшего семейства достигает 58 и характеризуется большим разнообразием. В качестве периферии микроконтроллеры этого семейства имеют: ОЗУ от 232 до 902 байт, двунаправленные порты ввода/вывода с максимальным током нагрузки до 60 мА, 10-битное многоканальное АЦП, счетчики-таймеры, последовательные каналы (USART, I2 C, SPI), а также устройства выборки, сторожевой таймер. Микроконтроллеры семейства выполнены в 40, 44, 64 и 68 выводных корпусах, типы корпусов - DIP, LCC, QFP. Допускается широкий диапазон питающих напряжений с нижней границей напряжения - 2.5 В.

Перечень микроконтроллеров старшего семейства представлен в таблице:

Обозначение Кодовая память OTP (слов) ОЗУ (байт) Макс. частота (МГц) Линии ввода/ вывода АЦП входы/разр. Послед. каналы Таймеры Другие опции Корпус
PIC17C42A 2048 232 33 33   USART 4+WDT 2 Capture, 2 PWM D40, L44, PQ44, PT44, JW40
PIC17C43 4096 454 33 33   USART 4+WDT 2 Capture, 2 PWM D40, L44, PQ44, PT44, JW40
PIC17C44 8192 454 33 33   USART 4+WDT 2 Capture, 2 PWM D40, L44, PQ44, PT44, JW40
PIC17C752 8192 454 33 50 12x 10 2 USART, I2 C/SPI 4+WDT 4 Capture, 3 PWM SP64, CL68, L68, PT64
PIC17C756 16384 902 33 50 12x 10 2 USART, I2 C/SPI 4+WDT 4 Capture, 3 PWM SP64, CL68, L68, PT64

Семейство PIC12Cxx

Семейство PIC12Cxx является уникальным 8-битным семейством микроконтроллеров, упакованных в 8 выводные корпуса. Microchip предлагает эти микросхемы в DIP и SOIC корпусах. Микроконтроллеры этого семейства имеют 12- и 14-битную ширину слова инструкции. Максимальная тактовая частота семейства - 10 MHz, производительность на этой частоте достигает 2.5 MIPS. В качестве периферии микроконтроллеры имеют ОЗУ, до шести портов ввода/вывода, 8-битный АЦП. Допускается широкий диапазон питающих напряжений, с понижением питания до 2.5 В. Микросхемы PIC12Cхх являются очень дешевыми изделиями и могут оказывать серьезную конкуренцию 4-битным микроконтроллерам.

Перечень микроконтроллеров семейства PIC12Cxx представлен в таблице:

Обозначение Кодовая память OTP (слов) ОЗУ (байт) Макс. частота (МГц) Линии ввода/вывода АЦП входы/ разр. Таймеры Корпус
PIC12C508 512 25 4 6   1+WDT D8, SM8, JW8
PIC12C509 1024 41 4 6   1+WDT D8, SM8, JW8
PIC12C671 1024 128 10 6 4x 8 1+WDT D8, SM8, JW8
PIC12C672 2048 128 10 6 4x 8 1+WDT D8, SM8, JW8

Перспективы развития семейства

Удивительной особенностью фирмы Microchip является динамика появления новых членов семейства PICmicro. Уже в течение нескольких лет ежегодный прирост семейства составляет более 20 новых микроконтроллеров, причем этот прирост неуклонно увеличивается. Не стал исключением и 1998 год. В августе 1997 Microchip анонсировал список перспективных устройств, которые должны появиться в течении 1998 года. Список этот состоит из 24 новых микроконтроллеров с OTP памятью и 20 микроконтроллеров с FLASH памятью. Основное развитие получают два семейства: среднее PIC16Cxx и PIC12Cxx.

Отладочные средства.

Серьезным признаком, по которому можно судить о популярности микроконтроллеров, является наличие, стоимость и доступность инструментальных средств. Microchip уделяет этим факторам очень серьезное внимание. Фирма предлагает собственный пакет инструментальных средств MPLAB, включающий в себя весь набор инструментальных средств, начиная от компилятора и заканчивая внутрисхемным эмулятором и программатором. Наряду с этим, ежегодно фирмой Microchip публикуется список фирм, осуществляющих инструментальную поддержку PICmicro. Так, в список 1997 года входило более 50 производителей инструментальных средств. Одной из таких фирм является российская фирма Фитон (Phyton), предлагающая полный набор инструментальных средств PROJECT-PIC. В состав пакета PROJECT-PIC входят: интегрированная среда разработки, макроассемблер, программный симулятор, внутрисхемный эмулятор и программатор.