Смекни!
smekni.com

Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля (стр. 2 из 3)

Тип генератора кристаллах OTP устанавливается на заводе и они тестируются только для этой специальной конфигурации, включая напряжение, частоту и ток потребления, см. Маркировка. Устройства выпускаются с чистым EPROM, что позволяет пользователю самому программировать их. Кроме того, можно отключить Watchdog таймер и/или защитy кода путем программирования битов в специальном EPROM. Также доступны 16 бит для записи кода идентификации (ID).

Обзор характеристик.

- только 33 простых команды;

- все команды выполняются за один цикл(200ns), кроме команд перехода- 2 цикла;

- рабочая частота 0 Гц... 20 МГц(200 нс цикл команды)

- 12- битовые команды;

- 8- битовые данные;

- 512... 2К х 12 программной памяти на кристалле EPROM;

- 25... 72 х 8 регистров общего использования;

- 7 специальных аппаратных регистров SFR;

- двухуровневый аппаратный стек;

- прямая, косвенная и относительная адресация данных и команд;

Периферия и Ввод/Вывод

- 12... 20 линий ввода-вывода с индивидуальной настройкой;

- 8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;

- автоматический сброс при включении;

- таймер запуска генератора;

- Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;

- EPROM бит секретности для защиты кода;

- экономичный режим SLEEP;

- программируемые EPROM биты для установки режима возбуждения встроенного генератора:

- RC генератор: RC

- обычный кварцевый резонатор: XT

- высокочастотный кварцевый резонатор: HS

- экономичный низкочастотный кристалл: LP

КМОП технология

- экономичная высокоскоростная КМОП EPROM технология;

- статический принцип в архитектуре;

- широкий диапазон напряжений питания:

- коммерческий: 2.5... 6.25 В

- промышленный: 2.5... 6.25 В

- автомобильный: 2.5... 6.0 В

- низкое потребление 20 mA типично для 6В, 20МГц

2 мА типично для 5В, 4МГц

15 мкА типично для 3В, 32КГц

3 мкА типично для SLEEP режима при 3В, 0... 70 С

Структурная схема микроконтроллера

Структурная схема микроконтроллера РIС16F84A изображена на рис. 1.


Рис. 1 - Структурная схема микроконтроллера РIС16F84A

Расположение выводов

Расположение выводов микроконтроллера РIС16F84Aизображено на рис. 2.

Рис. 2 - Расположение выводов микроконтроллера РIС16F84A


Исполнение микроконтроллера

Микроконтроллер выпускается в двух видах корпусов.

Расположение выводов и конструктивные размеры различных корпусов приведены на Рис. 3 и Рис. 4.

Рис. 3 - Конструктивные размеры микроконтроллера РIС16F84A(исполнение 1)


Рис. 4 - Конструктивные размеры микроконтроллера РIС16F84A(исполнение 2)

4. Ассемблирование

Для ассемблирования используется макpоассемблеp MPASM, он содержит все необходимые нам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы Microchip Technology.

В pезультате pаботы ассемблеpа создаются файлы со следующими pасшиpениями:* HEX - объектный файл* LST - файл листинга* ERR - файл ошибок и пpедупpеждений* COD Объектный файл создается в 16-pичном фоpмате и содеpжит код, котоpый должен быть записан в микpосхему. Файл листинга содеpжит полный листинг пpогpаммы вместе с загpузочным кодом. В файл ошибок и пpедупpеждений записываются все ошибки и пpедупpеждения, возникающие в пpоцессе ассемблиpования. Они также пpисутствуют и в файле листинга.После обpаботки нашей пpогpаммы ассемблеp должен был выдать сообщение "Assembly Successful", означающее, что ошибок обнаpужено не было. Файл ошибок не должен был создаться.

Листинг программы приведен в Приложении А.

5. Разработка алгоритма работы устройства

Алгоритм программы тахометра представлен на рис. 6. После включения питания происходит начальная инициализация всех регистров с последующей индикацией. После инициализации вступает в работу таймер TMR0. Таймер имеет коэффициент деления, равный 256, что вместе с предделителем, имеющим коэффициент деления, равный 32, и циклом процессора, равным 4, дает прерывания каждую секунду (4 х 32 х 256 = 32768).

При замыкании контактов прерывателя с входа RB0 также происходит прерывание. При прерывании сохраняются значения регистров, задействованных на момент прерывания, и определяется происхождение прерывания. Если прерывание с входа RB0, то двоичный 16-разрядный счетчик увеличивается на единицу. Таким образом, подсчитывается количество прерываний с входа RB0 между прерываниями от переполнения таймера, то есть за 1 секунду. Каждое прерывание заканчивается восстановлением ранее сохраненных значений регистров, и процессор переключается на работу с индикацией.

Если прерывание произошло по переполнению таймера, то определяется состояние переключателя предела измерения и, если переключатель на пределе одной секунды, двоичное значение 16-разрядного счетчика умножается на 3 (2Nх 3). 16-разрядный счетчик обнуляется, готовясь к новому циклу измерения. Полученное двоичное значение перекодируется в трехразрядное двоично-десятичное число и переписывается в регистры индикации. После восстановления значений регистров индикация происходит с новыми данными. То есть индикация обновляется каждую секунду. Если установлен предел измерения, равный 3 секундам, то при переполнении таймера значение счетчика секунд увеличивается на единицу.

Если значение счетчика секунд еще не равно трем, прерывание завершается без обнуления 16-разрядного счетчика. В противном случае в 16-разрядном счетчике накапливается количество прерываний с входа RB0 за три секунды. Это значение перекодируется в двоично-десятичное число и переписывается в регистры индикации. Двоичный счетчик обнуляется и цикл повторяется. В данном случае индикация обновляется каждые три секунды.

Рис. 5 - Алгоритм программы тахометра

6. Описание функциональных узлов МПС и алгоритма их взаимодействия

В проектируемом устройстве можно выделить следующие функциональные блоки: контакт управления; микроконтроллер, пульт управления, позволяющий изменить режимы измерений; стабилизатор напряжения; кварцевый резонатор; семисегментные светодиоды - индикатор. Функциональная схема тахометра приведена на рис. 6.



Рис. 6 - Функциональная схема тахометра

7. Описание выбора элементной базы и работы принципиальной схемы

Схема тахометра показана на рис. 8. Входной сигнал с контактов прерывателя стабилизируется стабилитроном VD1 на уровень ТТЛ и подается на вход RB0. При бесконтактной системе зажигания сигнал снимается с выхода коммутатора, выдающего перепад напряжения 3 В. Этого напряжения достаточно для срабатывания микроконтроллера.

Входы RA0-RA2 коммутируют аноды светодиодов, реализуя динамическую индикацию. Вход RA3 нагружен переключателем предела измерения «ls-3s». Внутренние подтягивающие резисторы программно отключены, но ими снабжены только входы «В» микроконтроллера, поэтому возникла необходимость в установке резистора R2. Входы RBI-RB7 использованы для вывода значений сегментов. Поскольку микроконтроллер работает при верхнем питающем напряжении 6 В, то микросхему стабилизатора напряжения КР142ЕН5 можно взять с любой буквой, обеспечивающей это напряжение. Потребляемый тахометром ток около 25 мА, поэтому микросхема стабилизатора напряжения не нуждается в радиаторе. Диод VD2 защищает прибор от переполюсовки. Если тахометр будет использоваться при регулировке карбюраторов, то светодиоды АЛ304Г нежелательно заменять индикаторами с большими размерами цифр.