• Поймете, в чем разница между статической и динамической рассеиваемой мощностью, и узнаете, что величина последней прямо пропорциональна тактовой частоте микроконтроллера и квадрату напряжения питания.
• Научитесь переключать микроконтроллер в режим пониженного энергопотребления и выводить его из этого режима, а также узнаете, как этот режим влияет на процессор.
• Познакомитесь со встроенным тактовым генератором.
• Узнаете, как можно во время программирования микроконтроллера задавать его конфигурацию.
• Разберетесь в нюансах различных вариантов сброса.
В качестве своеобразной прелюдии к нашему разговору предлагаю взглянуть на Рис. 10.1, где показана структура микроконтроллеров PIC16F874 и PIC16F877, на примере которых мы в основном и будем далее изучать микроконтроллеры PIC. Эти модели полностью идентичны, за исключением большего объема памяти программ, данных и EEPROM в последней. Поэтому основное внимание мы уделим микроконтроллеру PIC16F877. Микроконтроллеры PIC16F873/6 являются 28-выводными вариантами тех же микроконтроллеров и соответственно имеют урезанный набор периферии. В дальнейшем для ссылки на эти четыре модели мы будем использовать обозначение PIC16F87X.
Рис. 10.1.
За исключением объемов различных областей памяти, ядра этих процессоров очень похожи на ядра остальных моделей среднего уровня, поскольку поддерживают набор из 33 команд, описанный в главе 5. Если сравнить структуру микроконтроллера PIC16F84, приведенную на Рис. 4.1 (стр. 89), со структурой микроконтроллеров, изображенной на Рис. 10.1, то можно заметить, что у последних имеется больше периферийных модулей. Разумеется, даже при наличии 40 выводов невозможно предоставить каждому периферийному устройству отдельные линии ввода/вывода для общения с внешним миром. Поэтому большинство выводов является разделяемым ресурсом. Например, вывод RA3 является 3-м битом порта А, но также может использоваться в качестве 3-го аналогового входа AN3 или даже как вход для подключения внешнего источника опорного напряжения Vref+ для модуля аналого-цифрового преобразователя. В более миниатюрных микроконтроллерах, таких как 18-выводной PIC16F627[128] и 8-выводной PIC12F675, цоколевка которых приведена на Рис. 10.2, тоже имеются различные периферийные модули. Только в этом случае один и тот же вывод может использоваться несколькими модулями, что накладывает более серьезные ограничения на одновременное применение различных модулей в конкретном приложении. В моделях с малым числом выводов разработчик обычно может использовать внутренний тактовый генератор, а также исключить вход внешнего сброса для экономии драгоценных ресурсов (см. Табл. 10.2).
Рис. 10.2.
Все микроконтроллеры РIС обычно имеют номинальное напряжение питания VDD = 5 В. Типичный представитель семейства PIC16F87X может работать на частотах до 20 МГц при напряжении питания 5 ±0.5 В. Если тактовая частота не превышает 16 МГц, то напряжение может быть снижено до 4 В. Многие представители семейства также имеют низковольтные исполнения. Например, микроконтроллер PIC16LF87X может работать на частотах до 10 МГц при напряжении 3…5.5 В, а при снижении частоты до 4 МГц напряжение питания может быть уменьшено до 2 В. А вот модели PIC12F629/675[129] даже в обычном исполнении могут работать при напряжении 2…5 В.
С точки зрения элементов схемы микроконтроллеры PIC являются обычными цифровыми микросхемами. Напряжение НИЗКОГО уровня на выводе, сконфигурированном как выход, не превышает значения VDD = 0.6 В при втекающем токе до 8.5 мА в диапазоне температур -40…+85 °C. Вывод, установленный микроконтроллером в состояние ВЫСОКОГО уровня, может отдавать ток до 3 мА, при этом напряжение на нем будет не менее VDD — 0.7 В, т. е. при VDD = 5 В напряжение ВЫСОКОГО уровня VОН = 4.3 В.
Для вывода, сконфигурированного как вход, напряжение величиной, составляющей менее 15 % (для входов с триггером Шмитта — менее 20 %) от напряжения питания, будет восприниматься как напряжение НИЗКОГО уровня. Таким образом, при VDD = 5 В входное напряжение НИЗКОГО уровня FIL составит 0.75 В. За небольшим исключением[130], все выводы, функционирующие как входы, воспринимают напряжение величиной более 25 % (для входов с триггером Шмитта — более 80 %) от напряжения питания плюс 0.8 В как напряжение ВЫСОКОГО уровня, т. е. VIH = 2 В при FDD = 5 В.
В Табл. 10.1 приведены значения тока потребления рассматриваемых моделей микроконтроллеров при различных режимах работы.