Курсовой проект по учебной дисциплине «Микропроцессорные средства» на тему «Система охранной сигнализации стационарного промышленного объекта»

Вид материалаКурсовой проект
3.8.3 Отличительные особенности микроконтроллера AT89S51
Рисунок 7 - Внешний вид и расположение выводов AT89S51
4 Построение функциональной схемы централизированной охранной системы
Рисунок 8. Подключение кварцевого резонатора на порты микроконтроллера XTAL1, XTAL2
Рисунок 8. Схема подключения кнопки “Reset”, сбрасывающей микроконтроллер
Формула 1. Минимальный коэффициент усиления по току.
Рисунок 10. Сопряжение микроконтроллера с индикаторами
Рисунок 12. Преобразования переменных 220В в постоянные 5В
5.1 Описание среды разработки программного обеспечения
2. IAR 8051 Embedded Workbench.
3. Keil Software.
5.1.2. Описание используемой среды разработки программного обеспечения
Подобный материал:
1   2   3   4   5


Основными требованиями, предъявляемыми к микроконтроллеру в этом проекте, являются[10]:
  • наличие параллельных портов ввода-вывода в количестве, достаточном для подключения всех устройств, входящих в структурную схему системы (32 программируемые линии ввода-вывода);
  • достаточно высокая надёжность и стабильность работы;
  • возможность работы в расширенном температурном диапазоне (-40…+85°С).

Для выполнения поставленной задачи подходят микроконтроллеры с архитектурой MCS-51, поскольку они доступны, относительно просты, и их возможностей вполне достаточно для обеспечения функционирования данного устройства.

Первым двум требованиям удовлетворяют все производимые на данный момент микроконтроллеры с архитектурой MCS-51. Большинство моделей имеют модификации, рассчитанные на расширенный температурный диапазон. Исходя из этого, выбор производился из наиболее дешёвых изделий известных фирм, чтобы минимизировать стоимость системы. В итоге, был выбран микроконтроллер AT89S51 фирмы Atmel.

Корпорация Atmel (США), являясь на сегодняшний день одним из признанных мировых лидеров в производстве изделий современной микроэлектроники, хорошо известна на российском рынке электронных компонентов. Основанная в 1984 году, фирма Atmel определила сферы приложений для своей продукции как телекоммуникации и сети, вычислительную технику и компьютеры, встраиваемые системы контроля и управления, бытовую технику и автомобилестроение[10].

Atmel выпускает широкий спектр микроконтроллеров, основанных на архитектуре MCS-51. Данная линейка микроконтроллеров включает изделия в корпусах стандартных типоразмеров с поддержкой функции внутрисистемного программирования, а также, производные разновидности микроконтроллеров (ROMLESS, ROM, OTP и FLASH) в малогабаритных корпусах с 20-ю выводами. Некоторые из устройств, также, имеют поддержку высокоскоростного (х2) режима работы ядра, который, по- требованию, удваивает внутреннюю тактовую частоту для CPU и периферийных устройств[10].

AT89S51 – экономичный высокопроизводительный КМОП 8-разрядный микроконтроллер с 4 кБ внутрисхемно программируемой флэш-памятью. Устройство производится с использованием технологии Atmel энергонезависимой памяти большой емкости и совместимо по системе команд и расположению выводов со стандартным микроконтроллером 80C51. Встроенная флэш-память может быть запрограммирована внутрисхемно или с помощью обычного программатора энергонезависимой памяти. За счет комбинации 8-разрядного ЦПУ с внутрисхемно программируемой флэш-памятью на одном кристалле AT89S51 от Atmel является мощным микроконтроллером, обеспечивающим высокую гибкость и рентабельность решений для многих задач встроенного управления[10].

AT89S51 (Рис. 7) имеет следующие стандартные характеристики: 4 кБ флэш-памяти, 128 байт ОЗУ, 32 линии ввода-вывода, сторожевой таймер, два указателя данных, два 16-разрядных таймера-счетчика, 5-векторная 2-уровневая система прерываний, полнодуплексный последовательный порт, встроенный генератор и схема тактирования[10]. Кроме того, AT89S51 разработан со статической логикой для работы на частоте вплоть до 0 Гц и поддерживает два программно настраиваемых режима снижения энергопотребления:

В режиме холостого хода (Idle) останавливается ЦПУ, но ОЗУ, таймеры-счетчики, последовательный порт и система прерываний продолжают функционировать. В экономичном режиме (Power-down) сохраняется информация в ОЗУ, но остановлен генератор, выключены все остальные функциональные блоки до внешнего запроса на прерывание или аппаратного сброса[10].


3.8.3 Отличительные особенности микроконтроллера AT89S51

- совместимость с серией MCS-51;

- 4 кБ флэш-памяти с внутрисхемным программированием (ISP)
    Износостойкость: 1000 циклов записи/стирания;

- рабочий диапазон питания 5В;

- встроенный генератор;

- полностью статическое функционирование : 0 …33 МГц;

- три уровня защиты памяти программ;

- внутреннее ОЗУ размером 128 x 8;

- 32 программируемые линии ввода-вывода;

- два 16-разрядных таймера-счетчика;

- шесть источников прерываний;

- полнодуплексный канал последовательной связи на УАПП;

- режимы снижения потребления: холостой ход и экономичный;

- восстановление прерываний при выходе из экономичного режима;

- сторожевой таймер;

- двойной указатель данных;

- флаг выключения питания;

- быстрое время программирования;

- гибкое внутрисхемное программирование (побайтный или постраничный режимы).

Структурная схема микроконтроллера представлена на рисунке 7.


Рисунок 7 - Внешний вид и расположение выводов AT89S51



Микроконтроллер выпускается в нескольких вариантах (таблица 1).

Таблица 1 – варианты исполнения микроконтроллера

Частота, МГц

Напряжение питания, В

Код для заказа

Корпус

Температурный диапазон

24

4.0…5.5

AT89S51-24AC

44A

Коммерческий
(0…+70°С)

AT89S51-24JC

44J

AT89S51-24PC

40P6

24

4.5…5.5

AT89S51-24AI

44A

Коммерческий
(-40…+85°С)

AT89S51-24JI

44J

AT89S51-24PI

40P6

33

4.5…5.5

AT89S51-33AC

44A

Коммерческий
(0…+70°С)

AT89S51-33JC

44J

AT89S51-33PC

40P6


Для выполнения поставленной задачи, как было сказано выше, нам нужен микроконтроллер, рассчитанный на коммерческий диапазон температур (-40…+85°С). Тип корпуса в данном случае роли не играет, так как на стационарном промышленном объекте достаточно места для расположения любого из них.


4 Построение функциональной схемы централизированной охранной системы


На функциональной схеме отражены все электрические связи, т.е. датчика с микроконтроллером, микроконтроллера с индикатором, источника питания с датчиком и микроконтроллером, а также их функциональное назначение. Также должна быть отражена кнопка “Reset”, сбрасывающая микроконтроллер.

К выводам XTAL1, XTAL2 подключим кварцевый резонатор, частотой 20 МГц, как это показано на Рис. Х. Где С6=30пФ, С7=30пФ.



Рисунок 8. Подключение кварцевого резонатора на порты микроконтроллера XTAL1, XTAL2

На схеме присутствует кнопка “Reset”, сбрасывающая микроконтроллер (выполнение программы начинается сначала), это необходимо в случае зацикливания программы или какого-нибудь другого сбоя. Схема подключения приведена на Рис. 8. Где С1=10мФ, R5=кОм, VCC=5В.



Рисунок 8. Схема подключения кнопки “Reset”, сбрасывающей микроконтроллер

К выводу напряжения питания VСС подключим 5 В.

Для соединения источника постоянного напряжения питания с микроконтроллером (Рис. 9) необходимо поставить два конденсатора емкостями 1.0мкФ и 0.1мкФ. Где VCC=5В, С2=1мкФ, С3=0.1мкФ, DD3-микроконтроллер Atmel AT89S51.



Рисунок 9. Соединение источника постоянного напряжения питания с микроконтроллером


Два семисегментных индикатора потребляют 140мА, а исходящий ток микроконтроллера 14мА, нам необходимо подать ток с коэффициентом усиления β=10.

Для сопряжения микроконтроллера с индикаторами используется схема, представленная на Рис.Х. В ней VCC=5В, R2 и R3 мы рассчитаем ниже.

В приведенной схеме потребовался транзистор, так как ток, протекающий через семисегментный индикатор достаточно велик. Кроме того, такая схема включения позволяет использовать семисегментный индикатор с напряжением питания, отличающимся от напряжения питания цифровых микросхем. То есть на транзисторе собран простейший усилитель цифрового сигнала, преобразующий ТТЛ уровни цифрового устройства в наличие или отсутствие тока через индикаторные сегменты.

В нашем случае цифровой сигнал, поэтому усилитель вырождается в схему электронного ключа. Это означает, что не нужно рассчитывать точное значение коэффициента усиления. При слишком большом коэффициенте усиления транзистор переходит в режим ограничения тока и выходной ток будет определяться сопротивлением нагрузки. Поэтому достаточно определить только минимальный коэффициент усиления по току[8].

Рассчитаем этот коэффициент. Для семисегментного индикатора требуется ток 70 мА, а цифровая микросхема может выдать ток единицы около 20 мА (согласно [8]). Тогда минимальный коэффициент усиления h21э можно определить по формуле 1:



Формула 1. Минимальный коэффициент усиления по току.

В нашем случае ток коллектора равен току через лампу, а ток базы - это максимальный допустимый выходной ток цифровой микросхемы (Iвых1). Делим 140 мА на 20 мА. Получаем минимальный коэффициент усиления по току 7. То есть в данном случае подойдёт практически любой маломощный транзистор, например КТ3107.

В приведенной схеме ток базы транзистора задаёт резистор R1. Рассчитаем его сопротивление. Для этого необходимо определить падение напряжения на этом резисторе. Минимальное напряжение высокого уровня на выходе ТТЛ микросхемы при максимальном допустимом токе единицы равно 2,4 В. Падение напряжения на базовом переходе транзистора можно считать постоянным и для кремниевых транзисторов равным 0,7 В[8]. Тогда падение напряжения на сопротивлении R1 можно определить по формуле 2.

UR1=U1-Uб=2,4В-0,7В=1,7В

Формула 2. Напряжение на резисторе R1.

Так как к цифровому выходу подключен только транзисторный ключ, то зададимся максимально возможным током цифровой микросхемы 4 мА. Тогда по закону Ома можно определить сопротивление резистора R1 как отношение падения напряжения на этом резисторе к току, протекающему через него. Покажем это в формуле 3.

R1 = 1,7В/5мА = 340 Ом

Формула 3. Сопротивление резистора R1.

При выборе резистора из 10% шкалы можно взять резистор 374 Ом (больше чем рассчитали чтобы не превысить допустимый ток цифровой микросхемы). При работе транзисторного ключа при комнатной температуре расчет на этом заканчивается. Если же предполагается работа транзисторного ключа при повышенных температурах, то транзистор может самопроизвольно открываться обратным током коллектора[8].

В этой схеме можно задаться током, протекающим через резистор R2 в режиме выдачи цифровой микросхемой единичного уровня. Пусть этот ток будет в три раза меньше базового тока транзистора. Тогда ток через резистор R2 укажем на формуле 4.

IR2=5 мА/3 =1,67 мА

Формула 4. Ток через резистор R2.

Определим сопротивление резистора R2 в формуле 5. Для этого воспользуемся законом Ома[8]. Напомним, что падение напряжения на базовом переходе транзистора является константой и равно 0,7 В.

R2 = Uб/IR2 = 0,7В/1,67мА = 419,2 Ом

Формула 5. Сопротивление резистора R2.

Резистор 419 Ом не выпускается, поэтому мы возьмем резистор емкостью 422 Ом.

В режиме выдачи цифровой микросхемой логического нуля сопротивления R1 и R2 соединяются параллельно и в рассчитанном случае падение напряжения уменьшается вдвое. Схема на входе транзистора очень похожа на делитель напряжения, однако не является им. Если бы это был делитель напряжения, то напряжение на базе транзистора уменьшалось бы в два раза, однако на самом деле напряжение уменьшается значительно больше.



Рисунок 10. Сопряжение микроконтроллера с индикаторами


На Рис. 11 приведу схему сопряжения семисегментных индикаторов с микроконтроллером. Где DD3-микроконтроллер Atmel AT89S51, DD4 и ВВ5 – семисегментные индикаторы DA03 фирмы KingBright. Посчитаем суммарный ток в семисегментных индикаторах по формуле 6.

Iпр=10мА·n

Формула 6. Определение тока Iпр в семисегментных индикаторах

где n – число последовательно включенных индикаторов.

Согласно закону Ома, можно рассчитать Rогр, по формуле 7.



Формула 7. Сопротивление резисторов Rогр.

n=8шт, Uпит=5В, Uпроц=2.4В, Iпр=80мА, и отсюда Rогр=325Ом.



Рисунок 11. Схема сопряжения семисегментных индикаторов с микроконтроллером


При последовательном соединении надо учитывать падение напряжения на каждом диоде, эту сумму сложить и из напряжения питания вычесть вышеозначенную сумму и уже для неё посчитать ток, на который рассчитан один светодиод. При параллельном несколько сложнее, когда ставишь в параллель второй диод, резистор, необходимый для одного, делишь пополам, а когда три - тогда номинал резистора для двух диодов надо умножить на 0.7, когда четыре диода - номинал для трёх умножаешь на 0.69, для пяти - номинал для четырёх умножаешь на 0.68 и т.д. При последовательном соединении мощность резистора как для одного диода, независимо от количества, а при параллельном, при каждом добавлении диода, мощность надо пропорционально увеличивать[13].

Схема представленная на рис. 12 преобразуют переменные 220В в постоянные 5В, при помощи мостовой схемы VD1 - КЦ405Б (максимальный ток 1 ампер), трансформатора Т1 (напряжение вторичной обмотки 12-13 вольт и ток 1 ампер) и стабилизатора напряжения DA1 – KP142EH5A, С4 = С5= 470пФ.



Рисунок 12. Преобразования переменных 220В в постоянные 5В


На функциональной схеме (Рис. 15) и структурной схеме (Рис. 2) показано соединение тридцати двух релейных датчиков с двумя мультиплексорами, где приходилось шестнадцать датчиков на один мультиплексор (Рис.13.).



Рисунок 13. Соединение шестнадцати датчиков и одного мультиплексора.


Схему сопряжения релейных датчиков с мультиплексором приведем на Рис. 14. В блоке Д находится сам релейный датчик, , VCC=5В, SW2- релейный контакт, резистор R6 , MUX – мультиплексор.



Рисунок 14. Схема сопряжения релейных датчиков с мультиплексором.


Функциональная схема имеет вид, представленный на Рис. 15.








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


5.1 Описание среды разработки программного обеспечения

5.1.1 Виды программного обеспечения для разработки и отладки


1. Franclin ProView

State-of-the-art подходит к Windows 3,1, Win95, NT и Windows и совместимым программным средствам.

- Полный набор инструментальных средств включает отладчик / симулятор, менеджер проекта, и он-лайн помощь;

- Конкретные ANSI C компиляторы для 8051 семьи оптимизируют код;

- В ProView есть встроенный менеджер, который обеспечивает плавную интеграцию всех инструментов в комплекте;

- Стандартный WinSim с высоким уровнем отладит специальные символов, есть компилятор и эмулятор;

- Удобный интерфейс;

- Полная поддержка популярных эмуляторов от Nohau, Metalink, Хантсвилл и др.;

- Содержит детальную справку, с поиском, индексацией, и примером программ;

- Полная поддержка включает WWW-сайт с бесплатным он-лайн обновлением, FAQ и базой исходных кодов;

-специализируется на разработке программного обеспечения для 8051[12].

2. IAR 8051 Embedded Workbench.

Компания IAR более 20 лет занимается разработкой интегрированных средств программирования. Сегодня IAR является одним из признанных мировых лидеров по поставке C/C++ компиляторов для встраиваемых микропроцессорных устройств и систем. В рамках дистрибьюторского соглашения компания IAR Systems поставляет и обеспечивает техническую поддержку средств разработки программного обеспечения для 8051, ARM, AVR, MSP430, Microchip, Zilog и многих других 8-, 16-, 32-разрядных микропроцессоров. В спектр поставляемой продукции входят: среда разработки Embedded Workbench, C/C++ компилятор, операционная система реального времени IAR Power Pac RTOS, графическая среда программирования visualSTATE. В качестве аппаратного инструментария компания IAR предлагает разработчикам оценочные комплекты (ARM kits, MSP430 kits и R8C/M16C/M32C kits), а также JTAG адаптеры J-Trace и J-Link, полностью интегрированные со средой разработки Embedded Workbench. В состав типового комплекта Embedded Workbench входит аппаратный ключ и CD с лицензионными файлами, включающими ассемблер, линкер, программный симулятор, отладчик и C/C++ компилятор[12].

3. Keil Software.

Инструментальные средства Keil Software включают C, EC (Embedded C) и C++ компиляторы, ассемблеры, отладчики и симуляторы, интегрированные среды разработки, операционные системы реального времени и оценочные платы и эмуляторы. Keil Software разрабатывает и производит средства разработки для:

- ARM7/ARM9 и Cortex-M3;

- на базе микроконтроллеров Analog Devices, Atmel, Freescale, Luminary, OKI, Philips, Samsung, Sharp, STMicroelectronics и TI. 8051 Classic и Extended;

- Infineon C16x/XC16x и ST-Micro ST10/Super10;

- 251 Atmel, Intel и Sanyo;

- Philips LPC;

Keil Software поддерживает все разновидности вышеуказанных микроконтроллеров и все стадии разработки приложения: создание исходного файла на C / EC / C++ или ассемблере, трансляцию, исправление ошибок, линкование объектных файлов, тестирование приложения. На сайте Keil Software www.keil.com присутствуют оценочные версии программ, полезные статьи и примеры приложений.


5.1.2. Описание используемой среды разработки программного обеспечения

При разработке и отладке программного обеспечения для данного проекта использовался пакет ProView. ProView фирмы Franklin Software Inc. – интегрированная среда разработки программного обеспечения для однокристальных микроконтроллеров семейства Intel 8051 и его клонов[12]. Она включает в себя все компоненты, необходимые для создания, редактирования, компиляции, трансляции, компоновки, загрузки и отладки программ:

- стандартный интерфейс Windows;

- полнофункциональный редактор исходных текстов с выделением синтаксических - элементов цветом;

- организатор проекта;

- транслятор с языка C;

- ассемблер;

- отладчик;

- встроенную справочную систему.

Среда разработки подобна Visual C++ Microsoft и Borland C++ для Windows. Пользователи, знакомые с любым из этих изделий, будут комфортно чувствовать себя в ProView. Первый этап разработки программы – запись её исходного текста на каком-либо языке программирования. Затем производится компиляция или трансляция его в коды системы команд микроконтроллера, используя транслятор или ассемблер[12]. Трансляторы и ассемблеры – прикладные программы, которые обрабатывают текстовый файл, содержащий исходный текст программы, и создают объектные файлы, содержащие объектный код. После компоновки объектных модулей наступает этап отладки программы, устранения ошибок, оптимизации и тестирования программы. ProView объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу[12]. Далее описаны основные компоненты ProView.