
- •Введение
- •1 Техническое задание
- •2 Анализ схемы электрической принципиальной
- •3 Обоснование выбора микроконтроллера
- •4.2 Структура микроконтроллера pic16f876
- •4.3 Арифметико-логическое устройство (алу) Порты
- •4.4 Организация памяти микроконтроллера pic16f876. Регистры.
- •4.5 Описание связей микроконтроллера в устройстве
- •5 Разработка управляющей программы
- •Список используемых источников
3 Обоснование выбора микроконтроллера
Для выбора микроконтроллера необходимо оценить объем выполняемых функции и требования быстродействия, предъявляемые к их выполнению.
Объем памяти непосредственно связан с количеством программируемых функций. Для устройства синтезатор частоты можно выделить следующие параметры, которые будут определять выполняемые функции:
- работа с двумя шинами I2C;
- опрос кнопок управления;
- режим сканирования;
- вычисление частоты по коду и значению ПЧ;
- запись частоты канала в память;
- запись значения промежуточной частоты в память;
Приведенные выше параметры занимают в памяти микроконтроллера от одного до четырёх байт. Можно прийти к выводу, что для данного устройства нет необходимости выбирать устройство с большим объемом перепрограммируемой постоянной памяти.
Большое значение для выбора микроконтроллера имеет возможность удобного и быстрого программирования. Это обусловлено тем, что в данном устройстве микроконтроллер должен выполнять достаточно сложные вычисления, связанные с коррекцией времени и линеаризацией характеристик терморезистора.
Микроконтроллер должен обеспечивать возможность программирования и отладки в готовом устройстве, это связано с тем, что может возникнуть необходимость изменения настроек устройства в процессе эксплуатации.
Время автономной работы устройства будет зависеть так же и от энергопотребления микроконтроллера. Следовательно, при выборе микроконтроллера следует уделить внимание его энергопотреблению.
Корпус микроконтроллера должен иметь малые размеры и иметь возможность для установки на поверхность печатной платы. Наиболее полно возможности установке на поверхность печатной платы отвечает корпус DIP.
Особенность популярных 8-бит МК PICmicro-семейства фирмы Microchip Technology - RISC-процессорное ядро. В семейство входят более 140 МК - от контроллеров серии PIC12 в восьмивыводных корпусах до последних моделей PIC18F, выполненных по NanoWatt технологии, позволяющей разработчикам полностью управлять потребляемой системой мощностью, и серии rfPIC микроконтроллеров, объединенных с ВЧ - передатчиком на частоту 315/433 МГц.
МК серии PIC12 предоставляют разработчикам широкий выбор изделий - от чисто цифровых до устройств с 8/10-бит АЦП, ЭСРПЗУ, 8/16-бит таймером, ШИМ-генератором, сторожевым таймером с собственным RC-генератором, программируемой защитой кода, модулями USART/SCI-интерфейсов, подчиненным параллельным 8-бит портом, детектором понижения напряжения. Области их применения самые разнообразные - от зубочисток, фенов, пылесосов до промышленного автоматизированного оборудования и медицинской аппаратуры.
Новейшие МК PIC18FXX20 (шесть МК с флэш-памятью), входящие в серию PIC18, совместимы по коду и разводке выводов с МК фирмы в 18-, 28- и 40-выводных корпусах, что позволяет разработчикам аппаратуры использовать программные и аппаратные средства уже имеющихся систем проектирования и, тем самым, снизить общие издержки проектирования и обеспечить своевремнный выход на рынок. МК серии выполнены по усовершенствованной NanoWatt-технологии и содержат: 13-канальный 10-бит АЦП; ШИМ-модуль с одним, двумя и четырьмя выходами, автоматическим остановом и перезапуском; USART-модуль, поддерживающий стандарты RS-485, RS-232; программируемый 16-уровневый модуль детектирования падения напряжения и выхода из режима пониженного потребления. Кроме того, МК серии содержат гибкую схему синхронизации с шестью "программно контролируемыми" режимами управления питанием. Схема обеспечивает выполнение команд в реальном времени, а также управление скоростью их выполнения, уменьшая тем самым уровень потребляемой системой мощности. И еще МК содержит сторожевой таймер на малый ток и блок обнаружения неисправностей внешнего генератора тактовых импульсов. Предусмотрена также возможность двухскоростного выхода из режима сброса или ожидания. Используются МК этой серии в разумных датчиках (дыма, утечки
газа, больничных идентификационных бирках, системах безопасности, устройствах управления напряжением), портативном оборудовании, ВЧ - управляемой аппаратуре, устройствах контроля работы батарей и контроля температуры.
Таблица 1 – Характеристики микроконтроллеров PIC
-
МК
Кол-во выводов /портов
ПП, слов
ОЗУ, байт
FLASH ПД, Байт
Таймеры
Встроенные периферийные модули
PIC16F676
14/12
1К
64
128
TMR0, TMR1
аналоговый компаратор, 10-разр. АЦП
PIC16F684
14/12
2К
128
256
TMR0, TMR1, TMR2
аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ
PIC16F688
14/12
4К
256
256
TMR0, TMR1, TMR2
аналоговый компаратор, 10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART
PIC16F818
18/16
1К
128
128
TMR0, TMR1, TMR2
10-разр. АЦП, SPI(master/slave)/I2C(slave)модуль захвата/сравнения/ШИМ
PIC16F819
18/16
2К
256
256
TMR0, TMR1, TMR2
10-разр. АЦП, SPI(master/slave)/I2C(slave)модуль захвата/сравнения/ШИМ
PIC16F870
28/22
2К
128
64
TMR0, TMR1, TMR2
10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART
PIC16F871
40/33
2К
128
64
TMR0, TMR1, TMR2
10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART, PSP (parallel slave port)
PIC16F874
40/33
4К
192
128
TMR0, TMR1, TMR2
10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART, MSSP SPI(master/slave)/I2C(master/slave), PSP(parallel slave port)
PIC16F876
28/22
8К
368
256
TMR0, TMR1, TMR2
10-разр. АЦП, модуль захвата/сравнения/ШИМ, USART, MSSP SPI(master/slave)/I2C(master/slave)
В таблице 1: USART - асинхронный последовательный интерфейс; POR – сброс по включению питания; BOR – сброс по снижению напряжения питания.
Все МК имеют:
- Диапазон тактовой частоты 0...20МГц.
- Одинаковое ядро.
- 35 простых инструкций.
- Режим энергосбережения SLEEP.
- POR (Power On Reset) - сброс по подаче питания (при достижении Vddmin).
- OST (Oscillator Start-up Timer) - удерживает МК в состоянии сброса на время запуска и стабилизации тактового генератора.
- BOD или BOR (Brown-out Detect или Brown-out Reset) - детектор снижения Vdd с настраиваемым порогом.
- WDT (Watchdog Timer) - сторожевой таймер с настраиваемым периодом.
- Микроконтроллеры PIC16F873…877 могут программировать свою память программ в процессе работы.
- Все 8-ми и 14-ти выводные МК, кроме режимов генератора, типичных для всех PIC16, имеют встроенный стабильный (1%) тактовый RC генератор.
Все микроконтроллеры серии PIC16F87X обладают одинаковым быстродействием, но различны по объему памяти данных и программ. Так как в процессе эксплуатации может возникнуть необходимость увеличения количества выполняемых функций, то из приведенного ряда микроконтроллеров предпочтительнее те у которых больший объем памяти программ. Этому критерию удовлетворяют микроконтроллеры PIC16F876 и PIC16F877. Микроконтроллер PIC16F877 имеет ряд избыточных характеристик не применимых в данном устройстве (8 каналов АЦП, 14 каналов прерываний) и его применение не целесообразно по экономическим соображениям.
Следовательно, по функциональным, экономическим и конструктивным условиям для устройства синтезатор частоты наиболее подходит восьмиразрядный микроконтроллер PIC16F876.
4 ОПИСАНИЕ МИКРОКОНТРОЛЛЕРА
4.1 Цоколевка, наименование и назначение выводов микроконтроллера PIC16F876. Режим питания микроконтроллера.
Рисунок 6 - Цоколевка микроконтроллера PIC16F876. DIP корпус.
Таблица 2 – Назначение выводов микроконтроллера PIC16F876
Обозначение выводов |
№ вывода |
Тип |
Описание выводов |
1 |
2 |
3 |
4 |
OSC1/CLKIN |
9 |
O |
Вход генератора/ выход внешнего тактового сигнала |
OSC2/CLKOUT |
10 |
I/P |
Выход генератора |
MCLR/VPP |
1 |
I/O |
Двунаправленный порт ввода/ вывода PORTA |
RA0/AN0 |
2 |
I/O |
RA0 может быть как аналоговый канал 0 |
RA1/AN1 |
3 |
I/O |
RA1 может быть как аналоговый канал 1 |
Продолжение таблицы 2
1 |
2 |
3 |
4 |
RA3/AN3/VREF |
5 |
I/O |
RA3 может быть настроен как аналоговый канал 3 или вход отрицательного опорного напряжения |
RA4/TOCKI |
6 |
I/O |
RA4 может использоваться в качестве входа внешнего тактового сигнала TMR0. |
RA5/-SS/AN4 |
7 |
I/O |
RA5 может быть настроен как аналоговый канал 5 или вход выбора микросхемы в режиме ведомого SPI. |
RB0/INT |
21 |
I/O |
Двунаправленный порт ввода/вывода PORTB, имеет программно подключаемые резисторы на входах. |
RB1 |
22 |
I/O |
|
RB2 |
23 |
I/O |
|
RB3/PGM |
24 |
I/O |
Может использоваться в качестве входа низковольтного программирования. |
RB4 |
25 |
I/O |
Прерывания по изменению уровня входного сигнала. |
RB5 |
26 |
I/O |
Прерывания по изменению уровня входного сигнала. |
RB6/PGC |
27 |
I/O |
Прерывания по изменению уровня входного сигнала или вывод для режима внутренней отладки ICD. |
RB7/PGD |
28 |
I/O |
Прерывания по изменению уровня входного сигнала или вывод для режима внутренней отладки. |
RC0/T1OSO |
11 |
I/O |
Двунаправленный порт ввод/вывода PORTC. Может использоваться в качестве выхода генератора или входа внешнего тактового сигнала. |
Продолжение таблицы 2
1 |
2 |
3 |
4 |
RC1/T1OSI/CCP2 |
12 |
I/O |
Может использоваться в качестве входа генератора или выводов модуля ССP2. |
RC2/CCP1 |
13 |
I/O |
Может использоваться в качестве вывода модуля ССP1 |
RC3/SCK/SCL |
14 |
I/O |
Может использоваться в качестве вход/выхода тактового сигнала в режиме SPI и I2С |
RC4/SDI/SDA |
15 |
I/O |
Может использоваться в качестве выхода данных в режиме SPI или входа/выхода в режиме I2С. |
RC5/SDO |
16 |
I/O |
Может использоваться в качестве выхода данных в режиме SPI. |
RC6/TX/CK |
17 |
I/O |
Используется в качестве выхода приемника USART в асинхронном режиме или вывода синхронизации USART в синхронном режиме. |
RC7/RX/DT |
18 |
I/O |
Используется в качестве выхода приемника USART в асинхронном режиме или вывода данных USART в синхронном режиме. |
VSS |
19,8 |
P |
Общий вывод для внутренней логики и порта ввода/вывода. |
VDD |
20 |
P |
Положительные напряжения для внутренней логики и порота ввода/вывода. |
Таблица 3 – Режим питания микроконтроллеров PIC16F876
Описание |
min |
типовое |
max |
Напряжение питания Vdd,B |
4,0 |
- |
5,5 |
Напряжение сохранения данных в ОЗУ, Vdr, В |
- |
1,5 |
- |
Скорость нарастания Vdd для формирования BOR, Vbor, В/мс |
0.05 |
- |
- |
Ток потребления IDD, мА |
- |
1,6 |
4 |
Ток потребления в режиме SLEEP, Ipd , мкА |
- |
7,5 |
30 |
Ток потребления BOR, Ibor, мкА |
- |
85 |
200 |