![]() ![]() ![]() ![]() |
|
|
![]() |
Скоро исполнится 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 подразделяется на четыре подсемейства:
Базовое семейство характеризуется 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 |
Условные обозначения:
Среднее семейство 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 |
Старшее семейство 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 является уникальным 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.
Семейство PIC12Cxx. Это семейство должно обогатиться 8 новыми микроконтроллерами. Все новые микроконтроллеры будут обладать энергонезависимой памятью данных (16 байт EEPROM). Среди новых микроконтроллеров появятся 4 изделия с FLASH памятью, объем которой будет достигать 2048 слов. Два микроконтроллера PIC12C675 и PIC12C676 будут иметь 10 разрядный АЦП.
Среднее семейство PIC16Cxx. Основная масса новых микроконтроллеров должна появиться именно в этом семействе. В новых изделиях Microchip основной акцент сделал на появлении 10 разрядного АЦП. Практически во всех новых изделиях, имеющих АЦП, разрядность последнего увеличена до 10. Предполагается выпустить 16 микроконтроллеров с FLASH памятью, во всех микроконтроллерах с FLASH памятью и в некоторых с OTP появляется энергонезависимая память данных EEPROM с объемом до 128 байт. В среднем семействе появляются и новые корпуса - это 14 и 20 выводные корпуса в DIP, SOIC и SSOP исполнении.
Старшее семейство PIC17Cxx. Старшее семейство предполагается пополнить двумя новыми членами: PIC17C762 и PIC17C766. Эти микросхемы выполнены в 84 выводных корпусах в LCC и QFP исполнении. Тактовая частота - до 33 MHz, 16 канальный 10 разрядный АЦП, 66 портов ввода/вывода. Кодовая память - до 32 Кбайт, оперативная память - до 902 байт.
Серьезным признаком, по которому можно судить о популярности микроконтроллеров, является наличие, стоимость и доступность инструментальных средств. Microchip уделяет этим факторам очень серьезное внимание. Фирма предлагает собственный пакет инструментальных средств MPLAB, включающий в себя весь набор инструментальных средств, начиная от компилятора и заканчивая внутрисхемным эмулятором и программатором. Наряду с этим, ежегодно фирмой Microchip публикуется список фирм, осуществляющих инструментальную поддержку PICmicro. Так, в список 1997 года входило более 50 производителей инструментальных средств. Одной из таких фирм является российская фирма Фитон (Phyton), предлагающая полный набор инструментальных средств PROJECT-PIC. В состав пакета PROJECT-PIC входят: интегрированная среда разработки, макроассемблер, программный симулятор, внутрисхемный эмулятор и программатор.