РЕФЕРАТ
Цель работы: разработка индикатора автомобиля отображения в режиме реального времени кодов неисправностей системы управления двигателем на базе микроконтроллера. Задание режима работы устройства осуществляется при помощи специальных кнопок. Показания работы двигателя отображаются на светодиодном индикаторе.
Содержание работы: в работе выполнено построение структурной схемы, построение функциональной схемы, сформирован алгоритм работы системы, выбор элементной базы, оптимальной для реализации поставленных задач по диапазону характеристик, разработана программа, разработана принципиальная схема устройства.
СОДЕРЖАНИЕ
Введение
1. Описание объекта и функциональная спецификация
2. Описание структуры системы
3. Описание ресурсов МК PIC16F84А
4. Ассемблирование
5. Разработка алгоритма работы устройства
6. Описание функциональных узлов МПС и алгоритма их взаимодействия
7. Описание выбора элементной базы и работы принципиальной схемы
Заключение
Список литературы
Приложение А
ВВЕДЕНИЕ
Современную микроэлектронику трудно представить без такой важной составляющей, как микроконтроллеры. Микроконтроллеры незаметно завоевали весь мир. Микроконтроллерные технологии очень эффективны. Одно и то же устройство, которое раньше собиралось на традиционных элементах, будучи собрано с применением микроконтроллеров, становится проще, не требует регулировки и меньше по размерам. С применением микроконтроллеров появляются практически безграничные возможности по добавлению новых потребительских функций и возможностей к уже существующим устройствам. Для этого достаточно просто изменить программу.
Однокристальные (однокорпусные) микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя следующие составные части: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой.
Мировая промышленность выпускает огромную номенклатуру микроконтроллеров. По области применения их можно разделить на два класса: специализированные, предназначенные для применения в какой-либо одной конкретной области (контроллер для телефона, контроллер для модема, контроллер автомобиля) и универсальные, которые не имеют конкретной специализации и могут применяться в самых различных областях микроэлектроники, с помощью которых можно создать как любое из перечисленных выше устройств, так и принципиально новое устройство.
Цель курсового проекта – разработать индикатор автомобиля в режиме реального времени кодов неисправностей системы управления двигателем на базе микроконтроллера.
1. Описание объекта и функциональная спецификация
Это устройство предназначено для использования при регулировке холостого хода карбюраторов двигателей внутреннего сгорания. Его можно применять и для контроля частоты вращения вала автомобильных или лодочных двигателей во время движения.
Устройство имеет три разряда индикации с пределом измерения от 60 мин-1 до 7800 мин-1. Погрешность измерения на пределе 1 секунда равна 30 мин-1, а на пределе 3 секунды - 10 мин-1. Нижний предел ограничен погрешностью измерения, а верхний - количеством прерываний между индикацией. Из-за чего индикация разрядов становится прерывистой. Данное устройство напоминает работу тахометра автомобиля, поэтому для простоты введем название «тахометр» (т.е. далее в нашем тексте будет ссылка дана на название «тахометр»).
Поскольку за один оборот коленчатого вала двигателя происходит два искрообразования, то мы подсчитываем за одну секунду 2N импульсов. То есть в два раза большее количество, чем произошло оборотов (N). Чтобы получить значение оборотов в минуту, необходимо умножить значение оборотов за секунду на 60 (Nsх 60 = Nm). Так как мы подсчитываем число импульсов не N, a 2N, то умножать нужно уже не на 60, а на 30. А поскольку аппаратно мы отбрасываем разряд единиц, то фактически делим значение оборотов на 10. Из этого следует расчетная формула: Nm = 2NSх 3 мин-1. Где Nm- значение оборотов в минуту, 2NS- число импульсов с прерывателя за одну секунду. Если подсчитывать число импульсов за 3 секунды, то Nm = 2NS мин-1. Таким образом, подсчитанное число импульсов за секунду достаточно умножить на 3 и перекодировать в двоично-десятичное, чтобы получить значение оборотов в минуту без единиц. А на пределе 3-х секунд просто перекодировать полученное значение. Показания индикатора, равные 100, будут соответствовать значению 1000 мин-1.
Функциональная спецификация
1. Входы
a. С контактов прерывателя или с выхода коммутатора
b. Переключатель диапазонов измерения
2. Выходы
a. Семисегментные светодиодный индикатор
3. Функции
a. Запись частоты вращения двигателя в память
b. Выдача показаний частоты вращения двигателя на семисегментные светодиоды
Хотя данное устройство и выполняет незначительное число функций, но является незаменимым помощником при диагностике двигателей внутреннего сгорания.
2. Описание структуры системы
После определения входов и выходов устройства разработана структурная схема устройства. Структурная схема электронного тахометра.
3. Описание ресурсов МКPIC16F84А
В курсовом проекте был выбран однокристальный 8-разрядный FlashCMOS микроконтроллер PIC16F84А.
PIC16F84А - это 8-pазpядные микpоконтpоллеpы с RISC аpхитектуpой, пpоизводимые фиpмой Microchip Technology. Это семейство микpоконтpоллеpов отличается низкой ценой, низким энеpгопотpеблением и высокой скоpостью. Микpоконтpоллеpы имеют встpоенное ЭППЗУ пpогpаммы, ОЗУ данных и выпускаются в 18 и 28 выводных коpпусах.
Микpоконтpоллеpы семейства PIC имеют очень эффективную систему команд, состоящую всего из 35 инстpукций. Все инстpукции выполняются за один цикл, за исключением условных пеpеходов и команд, изменяющих пpогpаммный счетчик, котоpые выполняются за 2 цикла. Один цикл выполнения инстpукции состоит из 4 пеpиодов тактовой частоты. Таким обpазом, пpи частоте 4 МГц, вpемя выполнения инстpукции составляет 1 мксек. Каждая инстpукция состоит из 14 бит, делящихся на код опеpации и опеpанд (возможна манипуляция с pегистpами, ячейками памяти и непосpедственными данными).
Высокая скоpость выполнения команд в PIC достигается за счет использования двухшинной Гаpваpдской аpхитектуpы вместо тpадиционной одношинной Фон-Hеймановской. Гаpваpдская аpхитектуpа основывается на набоpе pегистpов с pазделенными шинами и адpесным пpостpанством для команд и для данных. Hабоp pегистpов означает, что все пpогpаммные объекты, такие как поpты ввода/вывода, ячейки памяти и таймеp, пpедставляют собой физически pеализоваенные аппаpатные pегистpы. Использование Гаpваpдской аpхитектуpы позволяет достичь высокой скоpости выполнения битовых, байтовых и pегистpовых опеpаций. Кpоме того, Гаpвадская аpхитектуpа допускает конвейеpное выполнение инстpукций, когда одновpеменно выполняется текущая инстpукция и считывается следующая. В тpадиционной же Фон-Hеймановской аpхитектуpе команды и данные пеpедаются чеpез одну pазделяемую или мультиплексиpуемую шину, тем самым огpаничивая возможности конвейеpизации, внутpенние физические и логические компоненты, из котоpых состоит PIC16FXX аналогичны любому дpугому микpоконтpоллеpу Гаpваpдская аpхитектуpа и большая pазpядность команды позволяют сделать код для PIC значительно более компактным, чем для дpугих микpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм.
PIC16F84A имеют встроенные устройства, присущие большинству прикладных систем, что позволяет снизить стоимость, потребляемую мощность и увеличить надежность конечного устройства. Например, встроенная схема сброса и запуска генератора позволяют избавиться от внешних RC схем. Предлагается четыре типа встроенных генераторов на выбор, включая экономичный LP (Low Power) и дешевый RC генераторы. Экономичный режим SLEEP, Watchdog таймер и устройство защиты кода программы снижают стоимость и увеличивают мощность плюс надежность вашей системы.
Микросхемы с ультрафиолетовым стиранием идеальны для процесса отработки программы. Одновременно существуют однократно программируемые (OTP) кристаллы. Здесь разработчик может извлечь полное преимущество из сочетания низкой цены и гибкости OTP версий.
Разработка на базе контроллеров PIC16C5X поддерживается ассемблером, программным симуляторомэмулятором (только фирмы Microchip) и программатором. Существуют все эти средства для IBM, внутрисхемным PC и совместимых компьютеров.
Серия PIC16F84A подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.). Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает серию PIC16F84A привлекательной даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.
Устройства серии PIC16F84A имеют большой выбор ПЗУ и ОЗУ разных размеров, разное количество линий ввода/вывода, различные виды возбуждения генераторов, разную скорость, климатику и типы корпусов. Из четырех кристаллов PIC16F84A можно выбрать устройство с подходящими ПЗУ/ОЗУ и конфигурацией ввода/вывода.
Устройства с ультрафиолетовым стиранием удобно использовать в прототипных и опытных партиях. Конфигурация генератора ("RC", "XT", "HS", "LP") программируется самим пользователем на UF EPROM. При UF стирании или по умолчанию устанавливается тип "RC". В зависимости от выбранного типа генератора и частоты, рабочее напряжение питания должно быть в том же диапазоне, что будет и в будущем устройстве на OTP кристалле (если OTP предполагается использовать).