Илья АФАНАСЬЕВ
Компания Microchip расширила семейство USB-контроллеров, выпустив на рынок 20-выводные микроконтроллеры PIC18F1xK50 (PIC18F13K50 и PIC18F14K50), различающиеся размером памяти программ. Характеристики семейства микроконтроллеров PIC18F1xK50 представлены в таблице 1.
Ядро
Контроллеры семейства K50 имеют расширенную систему команд. Дополнительно к стандартным 75 инструкциям ядра PIC18 новые микроконтроллеры поддерживают команды, расширяющие функциональность ядра. Дополнительные восемь инструкций пополняют операции с косвенной и индексной адресацией, в новом ядре также реализована индексная адресация со смещением для многих стандартных инструкций ядра PIC18. Расширение системы команд по умолчанию запрещено. Для разрешения работы расширенных команд служит специальный бит XINST в битах конфигурации микроконтроллера. Таким образом, реализуется полная программная совместимость со стандартным ядром, если пользователь применяет новые микроконтроллеры со старым программным обеспечением.
Расширенные инструкции предназначены для улучшения оптимизации и возможнос-
Микроконтроллеры Microchip PIC18F1xK50
с модулем USB
Компания Microchip Technology Inc. выпускает широкую номенклатуру PIC-контроллеров с интегрированным модулем USB, поддерживающим спецификацию 2.0. В настоящее время выпускаются 8-, 16- и 32-битные полноскоростные (Full Speed, FS) USB-микроконтроллеры в корпусах с числом выводов от 28 до 100, с поддержкой функций «устройство», «хост» и OTG.
ти создания реентерабельного кода на языках высокого уровня, например на Си. Наряду с прочим, расширенные системы команд позволяют компиляторам языков высокого уровня эффективно выполнять такие операции над данными, как:
• автоматическое размещение и освобождение области программного стека при входе и выходе из подпрограмм;
• вызов функции по указателю;
• манипулирование с указателями на программный стек;
• работа с переменными, расположенными в программном стеке.
Контроллеры серии K50 могут работать
с максимальной тактовой частотой 48 МГц в диапазоне напряжений от 2,7 до 5,5 В и на частоте 20 МГц в диапазоне от 1,8 до 2,7 В.
Интерфейсы
Модуль USB-контроллеров PIC18F1xK50 поддерживает LS (Low Speed — 1,5 Мбит/с) и FS (Full Sped— 15 Мбит/с) спецификации USB 2.0. Контроллеры имеют по 256 байт выделенных для работы с USB двухпортовой ОЗУ, поддерживают 16 конечных точек (по 8 на вход и на выход). Для определения физического подключения микроконтроллера к шине USB-контроллеры имеют возможность формирования прерывания по изменению состояния на выводах D+ и D-. Так же как и старшие контроллеры семейства PIC18, новые 20-выводные контроллеры содержат все необходимое для прямого подключения к USB-хосту (встроенный USB-модуль с тран-
сивером, подтягивающие резисторы на линии D+ и D- для задания скорости шины), но не могут работать с внешним USB-трансивером.
Устройства на базе контроллеров семейства PIC18F1xK50 могут работать с питанием от шины USB, от собственного источника питания или иметь комбинированное питание. При наличии в устройстве собственного источника питания может пригодиться возможность PIC-контроллера определять подключение USB-кабеля с помощью возможности формирования прерывания по изменению состояния на линиях D+ и D-. Хост или хаб USB имеет подтягивающие к «земле» резисторы порядка 15 кОм. При подключении микроконтроллера к шине USB и наличии внешних подтягивающих резисторов к напряжению питания микроконтроллер может определить изменение состояния на выводах D+ и D-, выставить флаг прерывания и включить модуль USB.
Помимо модуля USB-контроллеры имеют модуль последовательного интерфейса EUSART и модуль синхронного последовательного интерфейса MSSP.
Модуль EUSART поддерживает работу с интерфейсами RS-485, RS-232 и LIN 2.0. Наличие внутреннего точного стабилизированного RC-генератора и возможности автоматического определения скорости принимаемых данных позволяет работать без внешнего кварцевого генератора.
Модуль синхронного последовательного интерфейса MSSP дает возможность работать в режимах Master и Slave с интерфейсами SPI и I2C.
Таблица 1. Семейство микроконтроллеров PIC18F1xK50
Контроллер Память АЦП Захват/ сравнение/ ШИМ (ECCP) MSSP EUART Компаратор Таймер 8/16 бит USB
программ ОЗУ EEPROM 10р SPI I2C
PIC18F13K50 PIC18LF13K50 8K 512 256 11 1/3 1
PIC18F14K50 PIC18LF14K50 16K 768 256 11 1/3 1
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 4 '2009
Аналоговая периферия
Микроконтроллеры серии PIC18F1xK50 содержат всю ставшую стандартной аналоговую периферию — 10-разрядный АЦП, два аналоговых компаратора и программируемый источник опорного напряжения. Из нововведений следует отметить наличие встроенного прецизионного источника фиксированного опорного напряжения. Для фиксированного источника опорного напряжения выбираются три значения напряжения 1,024, 2,048 и 4,096 В. Источник фиксированного опорного напряжения может использоваться как база для программируемого источника опорного напряжения (ЦАП) или подключаться на вход АЦП и компараторов.
Выход программируемого источника опорного напряжения может также подключаться к входу АЦП и компараторов и выводиться на вывод микроконтроллера для использования совместно с внешними цепями микроконтроллера.
Микроконтроллеры PIC18F1xK50 имеют два аналоговых компаратора. Компараторы часто интегрируются в микроконтроллеры, так как они предоставляют некоторые полезные функции, независимые от исполняемого программного кода. Встроенные компараторы имеют входной мультиплексор, позволяющий подключать входы компараторов к тому или иному выводу микроконтроллера и источникам опорного напряжения. Выход компаратора может подключаться на выходной порт микроконтроллера, может быть источником прерывания, выводить микроконтроллер из режима энергосбережения Sleep, а также выключать ШИМ-модуль микроконтроллера.
Модуль компараторов может работать совместно с интегрированным RS-триггером. Данная связка позволяет реализовать сенсорные клавиатуры, импульсные преобразователи энергии, управление мощными светодиодами и многое другое.
Микроконтроллеры семейства PIC18F1xK50, как и все контроллеры К-серии, выполнены по технологии 0,35 микрон и имеют максимальное напряжение питания 3,6 В. Однако версии контроллеров PIC18F1xK50 имеют встроенный регулятор напряжения 3,2 В, что позволяет работать от питающих напряжений в диапазоне от 1,8 до 5,5 В, при этом вся периферия также работает во всем диапазоне питающих напряжений, за исключением выводов RA1 и RA2 (D+ и D-), которые могут работать как входы с уровнями напряжений до 3,6 В или как линии интерфейса USB. В версиях контроллера PIC18LF1xK50 нет встроенного регулятора напряжения питания, поэтому LF-контроллеры имеют ограниченный диапазон питания от 1,8 до 3,6 В.
Новые микроконтроллеры совместимы по выводам со всеми 20-выводными контроллерами Microchip, однако один вывод выделен для подключения конденсатора для стабили-
Таблица 2. Электрические параметры контроллеров серии K50
Тип контроллера Встроенный стабилизатор питания Диапазон питающих напряжений, В Ток портов ввода/вывода, мА
PIC18F13K50 PIC18F14K50 3,2 В 1,8-5,5 ±25
PIC18LF13K50 PIC18LF14K50 нет 1,8-3,6 ±25
зации внутреннего регулятора напряжения. Совместимость по выводам как с предыдущими контроллерами, так и с будущим семейством PIC18F1xK22 (аналогичные контроллеры, но без модуля USB) позволит унифицировать печатную плату под различные задачи или с минимальными доработками интегрировать USB-интерфейс в существующую разработку.
Микроконтроллеры PIC18F1xK50 выпускаются в корпусах DIP-20, S0IC-20 и миниатюрном корпусе SS0P-20 и имеют индустриальный температурный диапазон -40.. . + 125 °С.
Новые контроллеры поддерживаются всеми средствами отладки компании Microchip (программаторами-отладчиками PICkit2, PICkit3, ICD-2, ICD-3 и внутрисхемным эмулятором REAL ICE). Однако, как и для всех маловыводных контроллеров, для внутрисхемной отладки необходим специальный отладочный модуль. На плате отладочного модуля установлен специальный микроконтроллер PIC18F14K50-ICD, который содержит модуль теневой отладки и имеет дополнительные выводы, выделенные для внутрисхемной отладки.
В помощь разработчику компания Microchip выпускает демонстрационный комплект Low Pin Count USB Development Kit (номер для заказа DV164126). Демонстрационный комплект Low Pin Count USB Development Kit (рисунок) содержит все необходимое для начала работы и освоения маловыводных микроконтроллеров с USB:
• демонстрационную плату с микроконтроллером PIC18F14K50 и одну плату без установленных компонентов для самостоятельной сборки;
• отладочный модуль для внутрисхемной отладки контроллеров семейства PIC18F1xK50;
• внутрисхемный отладчик-программатор PICkit2;
• компакт-диск с необходимым программным обеспечением, примерами программ и лабораторными работами для освоения USB-микроконтроллеров.
Новые USB-контроллеры поддерживаются готовыми USB-библиотеками Microchip. Пакет программ MCHPFS USB Framework содержит реализации различных классов USB-устройств. Для контроллеров PIC18F14K50 вы найдете примеры реализации коммуникационного CDC класса (виртуальный COM-порт через USB), различных HID-устройств (манипулятор мышь, джойстик, пользовательское устройство), устройство хранения данных — MSD, составное устройство (реализация HID и MSD через одно USB-соединение).
Благодаря низкой цене, малому размеру корпусов, обширной коммуникационной и аналоговой периферии, новые USB-контроллеры семейства PIC18F1xK50 найдут широкое применение в преобразователях интерфейсов, датчиках, периферийных USB-контроллерах. Совместимость кода со старшими семействами и готовые примеры реализации различных классов USB-устройств помогут программистам легко и быстро освоить новое семейство маловыводных USB-контроллеров производства Microchip. ■
Литература
1. PIC18F13K50/14K50 Data Sheet
2. www.microchip.com
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 4 '2009
www.kit-e.ru