
- •2 Разработка электрической схемы принципиальной устройства звонок-домофон
- •Шина адреса
- •Шина данных
- •Шина синхронизации и управления
- •Шина питания
- •Регистровая структура микропроцессора Регистры общего назначения
- •7 0
- •Индексные регистры
- •Счётчик команд
- •Указатель стека
- •Прочие регистры
- •Система прерываний
- •Флаги управления прерываниями
- •Немаскируемые прерывания
- •Маскируемые прерывания
- •Приоритет прерываний
- •Система команд
- •Методы адресации
- •Неявная адресация
- •Регистровая адресация
- •Непосредственная адресация
- •Косвенная адресация
- •Абсолютная адресация
- •Относительная адресация
- •Индексная адресация
- •Битовая адресация
- •Приложение а
1 РАСШИФРОВКА И АНАЛИЗ ЗАДАНИЯ
1.1 Общая структура разрабатываемой микроЭВМ
Система проектируется на базе однокристальной микроЭВМ и включает в себя следующие основные устройства:
- процессорный модуль, в качестве которой используется ОМЭВМ К1816ВЕ51 (МК51);
- память, состоящую из оперативного запоминающего устройства (ОЗУ) и постоянного запоминающего устройства (ПЗУ): МС КР537РУ8 и МС К556РТ6 соответственно;
- устройства параллельного ввода-вывода для связи с ОУ;
- блок последовательного канала для связи с ЭВМ верхнего уровня;
- программируемый системный таймер;
- контроллер прерываний;
- контроллер прямого доступа в память;
- пульт управления.
Процессорный модуль включает в себя микропроцессор, и при необходимости, дополнительные БИС, обеспечивающие реализацию вспомогательных функций.
Устройства ввода для связи с ОУ должны обеспечить ввод в процессорный модуль значений x1, x2, x3 двоичных датчиков, а также 8-разрядных двоичных кодов NU1, NU2, NU3, принимаемых с выходов аналого-цифрового преобразователя (АЦП). Сигнал датчика аварийной ситуации xa воспринимается только подсистемой прерываний.
Устройства вывода на ОУ должны обеспечить выдачу двоичных управляющих воздействий y1, y2, y3 определенной длительности и кода управляющего напряжения Y4 – 8 – разрядного двоичного вектора на вход цифроаналогового преобразователя (ЦАП). В структуру ОУ входит устройство, принимающее массив данных из ПЗУ (ОЗУ) в режиме прямого доступа в память (ПДП). Запрос на ПДП возникает асинхронно по отношению к процедуре управления.
Пульт управления должен обеспечивать ввод в процессорный модуль значения 8 – разрядной двоичной константы К, ввод двоичного значения сигнала «СТОП», формирование сигнала начальной установки системы, вывод на светодиодную индикацию значений x1, x2, x3, y1, y2, y3, NU1, Y4.
Системны таймер должен обеспечить отсчет временных задержек, реализуемых при работе алгоритма управления.
Блок последовательного обмена предназначен для передачи на микроЭВМ верхнего уровня информации о состоянии процесса управления. По запросу со стороны микроЭВМ разрабатываемая управляющая микроЭВМ должна обеспечить выдачу по последовательному каналу кадра (прерывание INT3). Передача информации с верхнего уровня на нижний не предусмотрена.
Контроллер прерываний обеспечивает фиксацию запросов на прерывания от различных источников и дисциплину обслуживания запросов. В подсистеме векторного прерывания контроллер формирует код команды вызова, а при наличии в системе радиального входа запроса на прерывания – код состояния регистра
1.2 Реакция системы на внешние события
В системе необходимо предусмотреть следующие линии запроса на внешние прерывания:
INT0 - отказ источника питания;
INT1 - сигнал ха аварийного датчика ОУ;
INT2 - запрос от пульта управления (прерывание оператора);
INT3 - запрос от микроЭВМ верхнего уровня.
Запросы на прерывания приведены в порядке убывания приоритетов (INT0 - высший приоритет). Система должна реагировать на запросы следующим образом:
INT0 - вырабатывается сигнал установки системы в исходное состояние; выполняется команда СТОП.
INT1 - на пульте управления включается аварийная сигнализация (световая с частотой 2Гц или звуковая с частотой 500Гц); на индикацию пульта выдается состояние двоичных датчиков х1, х2, х3 и цифровой код NU1; выполняется команда СТОП.
INT2 - выдается на индикацию значения следующих булевых переменных: функция fl, результат сравнения NU<=Q, значение выражения xl & х2 & х3, значение выражения xl v x2 v x3; выдается на индикацию значение сохраняемой в ПЗУ константы Q; организуется выход из прерывания на начало цикла управления.
INT3 - выдать в последовательный канал следующую информацию:
- код символа '!' ("Внимание!");
- двухзначный номер абонента (номер студента в списке группы);
- максимальное значение Y4, вычисленное за период от предыдущего сеанса связи до текущего цикла управления;
- минимальное значение Y4 за тот же период;
- код символа '#' ("Конец передачи").
Кроме перечисленных, в системе могут использоваться прерывания от внешних устройств, обеспечивающих связь с ОУ.
2 Разработка электрической схемы принципиальной устройства звонок-домофон
2.1 Анализ схемы электрической принципиальной
Устройство состоит из блока, размещенного в квартире, и терминала. Первый устанавливают внутри помещения и подключают к стандартной проводке дверного звонка и к электросети, второй закрепляют на наружной стороне косяка входной двери (на месте кнопки звонка) и также подключают к проводке звонка. Принципиальная схема терминал приведена на рис 1. Его основа-усилитель сигнала микрофона ВМ1 на микросхеме DA1 (такая схема включения широко применяется в разговорных модулях телефонных аппаратов)
Рисунок 1-Принципиальная схема терминала устройства звонок-домофон
Светодиоды HL1 и HL2 служат для подсветки табло с надписью "Кто там?", расположенного на передней панели терминала. Как видно из схемы, при поданном на контактную колодку ХТ1 напряжении(“+” - на вывод 2, “-” –на вывод 1) зажигаются светодиоды, засвечивая табло, и включается микрофонный усилитель. Кнопочный выключатель SB1 позволяет разрывать цепь терминала. Квартирный блок представленный на рисунке 2 построен на базе микроконтроллера (МК) DD1. Его тактовую частоту (8 МГц) задает резонатор ZQ1. Порт РЗ работает в аналоговом режиме, причем образцовое напряжение на встроенные компараторы (вывод 10 DD1) подается с делителя R1R2. На вход первого компаратора (Р31 — вывод 8 DD1) поступает напряжение с узла опроса состояния кнопки прослушивания квартирного блока (SB1, R3), второго (P32 - вывод 9 DD1)-напряжение с делителя R8R9, определяемое состояниями электронного ключа DD2 и кнопки SB1 терминала.
Рисунок 2 - Схема квартирного блока
Порт Р0 МК настроен на вывод информации. Выход Р00 (вывод 11 DD1) предназначен для вывода музыкального сигнала на вход усилителя DA1 (резисторы R6, R13 задают его коэффициент (вывод 12, DD1) управляет режимом работы (усиление/блокировка). В режиме блокировки (напряжение на выводе 1 — более 2,5 В) DA1 не передает сигнал в нагрузку (ВА1) и практически не потребляет тока от источника питания (он не превышает нескольких десятков микроампер).Выход Р02 (вывод 13 DD1) управляет электронным ключом DD2. Если на нем присутствует сигнал лог. О (<0,8 В), ключ закрыт и не влияет на делитель R8R9, а если лог. 1 (>4,5 В), — открывается и шунтирует этот делитель.
Резистор R7 служит нагрузкой микрофонного усилителя терминала. Резисторы R11—R13 определяют коэффициент усиления микросхемы DA1 для речевого сигнала. Переменный резистор R12— регулятор громкости.
Устройство питается от бестрансформаторного источника напряжения с гасящими конденсаторами СЗ, С4 . Выпрямитель собран на диодах VD1 — VD4 Напряжение +12 В используется для питания терминала, +5 В — для питания МК DD1, +2,2 В - усилителя мощности на микросхеме DA1. Предохранитель FU1 повышает электробезопасность устройства в случае пробоя гасящих конденсаторов СЗ, С4.
Работу звонка-домофона поясняет граф, изображенный на рисунке 3.
Рисунок 3 – Граф поясняющий работу звонка-домофона
Он включает в себя четыре вершины-состояния: WAIT (ожидание) — исходное состояние, РLAY(игра) — проигрывание мелодии, FLASH (вспышка) — засветка табло и LISENT (прослушивание) — прослушивание посетителя, Переходы между состояниями, показанные ребрами графа, вызываются следующими событиями:
Т1 (timer 1 — таймер 1) — срабатывание таймера МК;
b1 (button 1 — кнопка 1) — нажатие на кнопку терминала;
b2 (button 2 — кнопка 2) — нажатие на кнопку квартирного блока;
ер (end play) — окончание проигрывания мелодии;
ef (end flash) окончание засветки табло;
el (end lisent) — окончание прослушивания;
При включении питания происходит автосброс устройства и инициализируется состояние WAIT. При этом микросхемы DD1 и DA1 находятся в режиме пониженного энергопотребления ключ DD2 закрыт, почти все напряжение питания +12 В падает на делителе R8R9,и через него течет ток, недостаточный для включения подсветки и работы микрофонного усилителя терминала. С делителя снимается высокий уровень напряжения (5,5 В) на вход компаратора Р32 МК DD1. В этом состоянии устройство может находиться как угодно долго.
Для предотвращения периодического срабатывания встроенного сторожевого таймера (WDT) в состоянии WAIT (это привело бы к появлению низкочастотного шума в громкоговорителе) использован таймер Т1. Он периодически вызывает прерывание, ведущее к реинициализации WDT (период счета таймера Т1 выбран меньше его периода отсчета). При сбое, сопровождающемся остановкой таймера Т1. или «зависанием» программы, срабатывает WDT, который вызывает аппаратный сброс МК и перезапуск устройства.
Состояние WAIT удерживается до тех пор пока посетитель не нажмет звонковую кнопку терминала. При этом цепь его питания разрывается, напряжение на входе компаратора (вывод Р32 DD2) падает до 0 и он вызывает прерывание IHQO (рисунок 3. событие b1). В результате устройство переходит в состояние PLAY а котором динамическая головка ВА1 квартирного блока воспроизводит запрограммированную мелодию. Формирование частот и длительностей звучания нот мелодии синхронизируется таймером Т1. По окончании мелодии осуществляется переход (рисунок 3. событие ер) в состояние FLASH.
В этом состоянии сигнал лог.1 с вывода 13 DD1 представленный на рисунке 2 трижды открывает ключ DD2, в результате чего столько же раз подсвечивается и гаснет табло с надписью "Кто там?" на передней панели терминала. Усилитель мощности ЗЧ на микросхеме DA1 при этом заблокирован. Формирование длительности импульсов засветки и паузы между ними (0,5 с) синхронизируется таймером Т1, показанный на рисунке 3. По окончании трехкратной засветки табло устройство переходит в режим прослушивания ответа посетителя LISENT
В состоянии LISENT ключ DD2 открыт, табло засвечено, включены микрофонный усилитель терминала и усилитель мощности ЗЧ квартирного блока. Прослушивание длится 15 С. Формирование частот и длительностей звучания нот мелодий формируется таймером Т1. По окончании прослушивании (событие el) устройство возвращается в режим ожидания WAIT. При желании продлить время прослушивания ответа гостя достаточно нажать кнопку прослушивания SB1.Это вызовет прерывание IRQ2 и переход по событию b2, после чего на 15 с вновь установится состояние LISENT.
3 ОБОСНОВАНИЕ ВЫБОРА МИКРОКОНТРОЛЛЕРА Z86
Создание конкурентоспособных технических изделий в настоящее время немыслимо без применения встроенных управляющих процессоров, придающих изделиям "интеллектуальные" свойства. В качестве таких процессоров применяют однокристальные микро-ЭВМ (ОЭВМ) или микроконтроллеры. Их используют для построения устройств безопасности, дистанционного управления объектами, электронных игр, домашней автоматики, в приборах автомобильной электроники, периферийном оборудовании персональных ЭВМ, в автоматическом промышленном оборудовании, медицинских приборах и т. п. В ряде случаев к микроконтроллерам предъявляются серьезные требования в части производительности, ограничения потребляемой мощности, низкого электромагнитного излучения и т. д. Радиолюбителям хорошо знакомы удовлетворяющие этим требованиям ОЭВМ PiC (Periferiai Interface Controller) фирмы Microchip Technoiogy Inc. Однако у них, есть серьезные конкуренты - микроконтроллеры семейства ZS фирмы Zilog Inc. Если PIC относятся к процессорам с так называемой сокращенной системой команд (RISC), то Z8-это процессоры с комплексной системой команд (CISC). Преимущество последних более высокий уровень команд, что делает программный код более эффективным в смысле времени выполнения и объема занимаемой памяти и упрощает программирование на языке АССЕМБЛЕР. Это позволяет рекомендовать микроконтроллеры семейства Z8 для использования в радиолюбительской практике. Тем более, что система их команд построена аналогично системе команд хорошо известного многим радиолюбителям микропроцессора Z80 той же фирмы.
Фирма-изготовитель поставляет специальное недорогое оборудование в виде аппаратно-программных кросс-средств, ориентированных на ПЭВМ IBM PC, для разработки изделий на базе МК, куда входит и программатор для однократно программируемых МК (например, внутрисхемный эмулятор-программатор Z86CCP01ZEM с программным обеспечением ).
Все МК имеют 5 -6-и уровневый контроллер прерываний, один или два таймера/счетчика и два аналоговых компаратора. Последние позволяют решать вопросы сравнения уровней напряжения, детектирования короткозамкнутого состояния датчиков, аналого-цифрового преобразования без использования дополнительных компонентов. Кроме того, модель 06 имеет встроенный последовательный интерфейс.
Линии ввода/вывода МК обеспечивают совместимость с КМОП -уровнями. Выходные усилители под управлением программного обеспечения могут конфигурироваться как двухтактные или с открытым стоком. Кроме того, для исключения резкого возрастания тока, потребляемого входными КМОП ключами при отсутствии источника входного уровня, все цифровые входы снабжены автофиксаторами уровня (Auto Latch). В последних версиях МК автофиксаторы могут отключаться, что повышает совместимость входов (особенно для аналоговых линий).
Разработчики МК предусмотрели в них целый ряд аппаратных функций, обеспечивающих надежность работы в условиях воздействия помех и дестабилизирующих факторов: автоматический сброс при включении питания (Power-On Reset), сторожевой таймер (Watch-Dog Timer), защита от снижения напряжения питания (Low-Voltage Protection), защита ОЗУ (RAM Protect).
Автоматический сброс при включении питания обеспечивается специальным таймером сброса, синхронизируемым от встроенного RC-генератора. Этот таймер обеспечивает удержание процессора в состоянии сброса, пока питающее напряжение не достигнет номинального уровня, а генератор основной синхронизации не выйдет на стабильный режим.
Сторожевой таймер защищает процессор от "зависания". Управляется он программно специальными командами. При "зависании" программы очередная команда перезапуска сторожевого таймера не выполнится, он досчитает до конца и вызовет функцию сброса МК тем самым вычислительный процесс будет восстановлен.
Функция защиты от снижения напряжения питания позволяет обеспечить корректное возобновление вычислительного процесса при "провалах" питающего напряжения.
Сущность защиты ОЗУ заключается в возможности программно управлять доступом к определенной области ОЗУ, содержащей управляющую информацию. Запрещение доступа гарантирует сохранение этой информации и правильное ее использование в случае, например, сбоя программного счетчика, в результате которого может произойти некорректное обращение к этой области ОЗУ и искажение управляющей информации.
МК работают в широком диапазоне питающих напряжений:
3 -5,5В -для масочного исполнения; 4,5 -5,5В -для однократно программируемого и 2 -3,9В -для исполнения с пониженным питающим напряжением. Потребляемая мощность в стандартном режиме на максимальной допустимой частоте составляет 30-60 мВт.
Для целей экономии потребляемой мощности предусмотрено также два резервных режима с микро-потреблением: HALT и STOP. В первом режиме отключается синхронизация процессора, активными остаются лишь таймеры/счетчики и прерывания. Во втором режиме отключается и синхрогенератор, только сторожевой таймер может продолжать свою работу.
Оригинальная схема встроенного генератора синхронизации позволяет использовать в качестве времязадающих элементов кварцевые и керамические резонаторы, LC и RC-цепи. Возможна и синхронизация от внешнего источника. Функционирование МК обеспечивается в широком диапазоне рабочих частот от 10 кГц до максимальной (см. табл.1.1). Причем, чем ниже частота, тем меньше потребляемый ток от источника питания. Например, для версии "C" большинства МК на частоте 32 кГц гарантируется потребляемый ток 8 мкА.
Для применений с высокими требованиями к электромагнитной совместимости МК Z8 могут быть переведены в малошумящий режим (Low Noise). В этом режиме несколько ухудшается нагрузочная способность портов вывода и увеличивается время переходных процессов, однако значительно снижается уровень электромагнитного излучения. Частота внешнего кварцевого резонатора при этом ограничивается величиной 4 МГц.
Изготовитель гарантирует надежную работу МК при температуре окружающей среды от 0 до 70 градусов Цельсия для стандартного исполнения и от -40 до 105 градусов для исполнения с расширенным температурным диапазоном (Extended Temperature). В последнем исполнении поставляются все МК с литерой "C" и модели 02, 04, 08, 30, 31 и 40 с литерой "E".
Для исключения возможности копирования программы МК конкурентами предусмотрен, бит защиты ПЗУ (ROM Protect). В более ранних версиях МК установка бита защиты запрещала команды загрузки из ПЗУ (LDC и LDCI), что одновременно заставляло программиста отказываться от использования весьма эффективных алгоритмов, основанных на просмотре таблиц. В последних версиях МК доступ к ПЗУ блокируется установкой бита защиты без запрета указанных команд и каких-либо алгоритмических ограничений.
Обозначение Микросхемы |
ПЗУ Байт |
ОЗУ байт |
Ввод/Вывод Бит |
Частота МГц(max) |
Кол-во выводов |
Z86x02 |
512 |
61 |
14 |
8 |
18 |
AT89C1051 |
1k |
64 |
15 |
24 |
20 |
AT89C2051 |
2k |
128 |
15 |
24 |
20 |
Таблица 1. Сравнительные характеристики процессоров.
На основании приведенной таблицы можно сделать вывод;
Более низкие показатели по сравнению с микроконтроллерами фирмы Atmel говорят о дешевизне и практичности семейства Z80
4 ОПИСАНИЕ МИКРОКОНТРОЛЛЕРА
4.1. Структурная схема микроконтроллера
Рисунок4 -Структурная схема микроконтроллеров Z80
Согласно структуре МК, операционное устройство представлено арифметико-логическим узлом (АЛУ) и флаговым регистром. Устройство управления МК содержит счетчик команд PC (Program Counter) и узел синхронизации и управления со сторожевым таймером и схемой автосброса. Система памяти МК представлена постоянным запоминающим устройством (ПЗУ) для хранения программ и оперативной памятью для данных и стека, выполненной в виде регистрового файла. Для сокращения размера поля адреса регистрового файла он поделен на рабочие группы. Номер активной группы задается специальным указателем регистров RP (Register Poitner). Модель 40 имеет возможность расширения объема памяти до 64 Кбайт путем подключения внешней памяти программ и данных.
Микроконтроллеры широкого применения Z8 выпускаются в различном конструктивном исполнении. Наиболее дешевым и удобным для большинства применений является корпус типа DIP ( Dual In Line Package ). Схема расположения выводов МК для корпусов этого типа показана на рисунке 5.
Большинство моделей МК имеет также вариант исполнения в корпусе типа SOIC ( Smal Outline Package ), предназначенном для монтажа на поверхность. Модель 40 выпускается также и в квадратных 44 выводных корпусах типа PLCC (Plastic Chip Carrier) и QFP (Quad Flat Pack ). Модели МК 30, 31, и 40 с возможностью многократного перепрограммирования производятся в корпусах типа CerDIP Window Lid, имеющих кварцевое окно для оптического стирания.
Рисунок 5- Расположение выводов микроконтроллеров Z8
Устройство ввода/вывода МК представлено 4 программируемыми портами. Кроме того, на кристалле МК выполнен ряд периферийных устройств: 1- таймера/счетчика, устройство управления прерываниями, 2 аналоговых компаратора и последовательный интерфейс SPI (Serial Peripheral Interface).
XTAL -выводы для подключения кварцевого или керамического резонатора, LC- или RC-цепи; /AS -выход строба адреса (Address Strobe); /DS -выход строба данных (Data Strobe); R//W -сигнал "Чтение/Запись"(Read//Write); /RESET- вход сброса.