• RU
  • icon На проверке: 3
Меню

Программируемый генератор звуковой последовательности

  • Добавлен: 26.04.2026
  • Размер: 14 MB
  • Закачек: 0

Описание

Программируемый генератор звуковой последовательности

Состав проекта

icon
icon текст (7).doc
icon Текст (22).doc
icon Схема.pdf
icon Схема (4).pdf
icon Текст (19).doc
icon текст (20).doc
icon текст (8).doc
icon Текст (14).doc
icon текст (10).doc
icon текст (21).doc
icon текст (13).doc
icon текст (15).doc
icon SX1.dwg
icon текст (18).doc
icon текст (23).doc
icon А21.dwg
icon А31.dwg
icon Текст (9).doc
icon Вар. 1.2.dwg
icon А21 (2).dwg
icon Текст.doc
icon Текст (17).doc
icon текст (11).doc
icon Схема (3).pdf
icon текст (16).doc
icon Текст (12).doc
icon Схема (2).pdf
icon текст (3).doc
icon Текст (6).doc
icon текст (2).doc
icon Текст (4).doc
icon текст (5).doc
Материал представляет собой zip архив с файлами, которые открываются в программах:
  • Microsoft Word
  • Adobe Acrobat Reader
  • AutoCAD или DWG TrueView

Дополнительная информация

Контент чертежей

icon текст (7).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА КОНТРОЛЯ СРАБАТЫВАНИЯ АВАРИЙНЫХ ДАТЧИКОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ 6
Принципиальная схема периферийного устройства 6
Микропроцессор КР580ВМ80А 6
Генератор тактовых импульсов КР580ГФ24 7
4 Шинный формирователь КР580ВА86 8
5. Системный контроллер КР580ВКЗ8 8
Контроллер параллельного интерфейса КР580ВВ55 9
8. Программируемый контроллер прерываний КР580ВН59 13
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX . 15
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА 16
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ 17
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА 19
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА 19
1.Периферийное устройство 28
2.Центральное устройство 36
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 40
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к внешним устройствам. Комплекс
предназначен для обнаружения срабатывания хотя бы одного аварийного датчика
(замыкание контактов). Датчики располагаются 4 группами по 18 штук. Номера
датчиков подлежащих опросу задаются программой выполняемой в центральном
процессорном устройстве и передаются периферийной стороне. Процедура
периодического опроса датчиков полностью организуется периферийным
процессором. Период опроса любого датчика T остается постоянным на все
время опроса датчиков в данной конфигурации. Передаваемые значения T лежат
в пределах 1.6-11.2 сек с точностью 0.1. Опрос датчиков в данной
конфигурации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 10 минут. Если
срабатывание конкретного датчика продолжается более 12 периодов опроса
управление должно быть передано некоторой подпрограмме центрального
процессорного устройства соответствующей номеру группы (т.е. периферийное
устройство должно сообщать центральному о каждом факте срабатывания
датчиков более 12 периодов). В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к ячейке памяти
лежащей в поле адресов периферийного процессора.
На практике часто возникает необходимость в устройстве обнаружения
срабатывания объединенных в группы датчиков. Для этого предназначено данное
устройство (структурная схема приведена на рис. 1 функциональная схема
приведена на рис. 2). Комплекс представляет собой центральное и
периферийное устройства соединенных интерфейсом CENTRONIX. Периферийное
устройство предназначено для опроса датчиков и первичной обработки данных
от датчиков (определение групп в которых существуют датчики сработавшие
более Р периодов опроса). Центральное устройство предназначено для
дальнейшей обработки данных о датчиках поступающих от периферийного
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ
1. Принципиальная схема периферийного устройства
Комплекс состоит из центрального и периферийного устройств на основе
микропроцессорного комплекта К580 связанных интерфейсом CENTRONIX. В
состав периферийного устройства входят микропроцессор КР580ВМ80А БИС
параллельного интерфейса КР580ВВ55 программируемого таймера КР580ВИ53
программируемого контроллера прерываний КР580ВН59 генератора тактовых
импульсов КР580ГФ24 системного контроллера КР580ВК38 3 буфера данных
КР580ВА86 постоянного запоминающего устройства КР588РР2 оперативного
запоминающего устройства КР533РУ10 3 дешифратора К155ИДЗ дешифратор
К155ИД14 инверторы К155ЛН1 антиконьюнктор К155ЛЕ1.
Датчики представляют собой матрицу 27*3 элементов. Сканирование
датчиков производится выдачей кода столбца в канал В КР580ВВ55 код столбца
дешифрируется и подается на матрицу. Сигналы сработавших датчиков поступают
в буфер данных КР580ВА86 затем через шину данных и системный контроллер
поступают в периферийный процессор.
2. Микропроцессор КР580ВМ80А
Микросхема КР580ВМ80А - функционально-законченный однокристальный
параллельный 8-разрядный микропроцессор с фиксированной системой команд
применяется в качестве центрально процессора в устройствах обработки данных
и управления. Микропроцессор имеет разделенные 16-разрядный канал адреса и
-разрядный канал данных. Канал адреса обеспечивает прямую адресацию
внешней памяти объемом до 65536 байт 256 устройств вводавывода.
Назначение выводов микропроцессора КР580ВМ80А
Вывод Обозначение Тип вывода Функциональное назначение
25-27 А10 А0-А2 Выходы Канал адреса
-10 D4-D7 D3-D0 Входывыходы Канал данных
UIO Напряжения источника смещения
Reset Вход Установка в исходное
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
UCC1 -- Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 -- Напряжение питания +12В
3. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2
предназначен для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния 8ТВ;
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения
Назначение выводов микросхемы КР580ГФ24.
ВыводОбозначение Тип вывода Функциональное назначение выводов
Reset Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
C Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucc2 Вход Напряжение питания +12В
C2 Выход Тактовые сигналы - фаза С2
C1 Выход Тактовые сигналы- фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Ucc1 Вход Напряжение питания +5В
4 Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный
формирователь предназначенный для обмена данными между микропроцессором
и системной шиной; обладают повышенной нагрузочной способностью имеет
третье состояние на выходе.
Назначение выводов микросхемы КР580ВА86.
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ц* - Напряжение питание 5В±5%
5. Системный контроллер КР580ВКЗ8
Микросхема КР580ВК38 - системный контроллер и буферный регистр
данных применяемых в микропроцессорных системах на базе микропроцессора
КР580ВМ80А для формирования управляющих сигналов и как буферный регистр
данных. Системный контроллер формирует управляющие сигналы RD WR RDIO
WRIO INTA по сигналам состояния микропроцессора а также обеспечивает
прием и передачу 8-разрядной информации между каналом данных
микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0.
Назначение выводов микросхемы КР580ВК38
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DВ4 DВ7 DВЗ Выход вход Канал данных системы
10 D4 D7 D3 D2Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
UCC Вход Напряжение питания +5В
6. Контроллер параллельного интерфейса КР580ВВ55
Микросхема КР580ВВ55 программируемое устройство вводавывода
параллельной информации применяется в качестве элемента
вводавывода общего назначения сопрягающего различные типы
периферийных устройств с магистралью данных систем обработки информации.
Обмен данными между магистралью данных систем и микросхемой КР580ВВ55
осуществляется через 8-разрядный двунаправленный трехстабильный канал
данных (D). Для связи с периферийными устройствами используется 24 линии
вводавывода сгруппированные в три 8-разрядных канала ВА ВВ ВС
направление передачи информации и режимы работы которых определяются
программным способом. В данном устройстве микросхема КР580ВВ55
программируется в режим 2 в котором обеспечивается двунаправленная
передача информации по каналу А между периферийным и центральным
процессорами. При этом линии канала С используются для приема и выдачи
сигналов управления обменом. Линии канала В программируются в режим 0
синхронный обмен используемый для опроса датчиков.
Назначение выводов микросхемы КР580ВВ55
-4 ВАЗ-ВАО Входывыходы Информационный канал А
RD Вход Чтение информации
CS - Выбор микросхемы
А1АО Вход Младшие разряды адреса
-17 ВС7-ВС4 Входывыходы Информационный канал С
-25 ВВО-ВВ7 Входывыходы Информационный канал В
Ucc - Напряжение питания 5В±5%
-34 D7-DO Входывыходы Канал данных
Reset Вход Установка в исходное состояние
WR Вход Запись информации
Рис. 3. Схема подключения двух КР580ВВ55 для обмена в режиме 2
Слово-состояние канала С в режиме 2
Рис. 4. Временная диаграмма работы КР580ВВ55 в режиме
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-
разрядных каналов с общей системой управления. Каждый из трех каналов
может быть независимо настроен на работу в одном из шести режимов. В
данном устройстве каналы 0 и 1 программируется в режим 2. Канал 0
генерирует периодический сигнал с частотой 1D (D-точность периода опроса
датчика) который подается на вход синхронизации канала 1 настраиваемый
генерацию периодического сигнала соответствующего периоду опроса датчика.
Обмен информацией с микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных.
Максимальное значение счета в двоичном коде 216.
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO Входывыходы Канал данных
518 СО Cl C2 Входы Синхронизация каналов 0-2
13 OUTO ОЩ1 OUT2Выходы Сигналы каналов 0 1 2
14 CEO CE1 СЕ2 Входы Сигналы каналов 0 1 2
20 А0А1 Входы Сигналы выбора каналов 0 1 2
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
Рис. 5. Временная диаграмма таймера в режиме 2
Расчет для канала 0 таймера. Реализация периодического сигнала
точности опроса датчика В=10000мкС соответствует 0010 0111 0001 0000
состояния 0 канала - 27 младший -10
Расчет для канала 1 таймера. Реализация периодического сигнала с в N раз
периодом чем сигнал канала 0 таймера. Нижняя граница - 1100*D => 0000
Верхняя граница - 10400*D => 0010 1000 1010 0000 => 28АО
8. Программируемый контроллер прерываний КР580ВН59
Устройство реализующее до восьми уровней запросов на прерывание с
возможностями программного маскирования и изменения дисциплины
обслуживания прерываний. За счет каскадного включения число уровней
прерывания может быть расширено до 64.
В данном устройстве применяется режим с фиксированными приоритетами
Назначение выводов микросхемы КР580ВН59
Обозначение выводаНомер контакта Назначение вывода
D(7-0) 4; 5; 6; 7; 8; 9; Входвыход данных
RD 3 Вход строба чтения
WR 2 Вход строба записи
загрузки команд и считывания
CS 1 Вход выбора микросхемы
CASO-CAS2 12 13 15 Входывыходы каскадирования
SP 16 Признак подчинения (1
-ведущий 0-ведомый)
INTA 26 Подтверждение прерывания (1
-выдача CALL на шину данных)
INT 17 Прерывание (1 -запрос на обсл.
IRQO-IRQ7 18; 19; 20; 21; 22;Входы запросов
; 25 (положительный фронт)
Ucc 28 Напряжение питания +5В
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX
Интерфейс Centronics обеспечивает радиальное подключение (посредством
кабеля) устройств с параллельной передачей информации с микропроцессорным
управлением. Отечественным аналогом интерфейса Centronics является
интерфейс ИРПР-М. Передача данных осуществляется между одним источником (И)
и одним приемником (П). Устройства или контроллеры совмещающие функции И и
П должны содержать два набора линий интерфейса Centronics.
Набор обязательных линий (сигналов) сопряжения разделенных на три
группы (заземление и питание управления информационные) приведен в табл.
Набор обязательных линий (сигналов) сопряжения
Наименование Обозначение Направление
Готовность приемника SLCT отПкИ
Строб - STROBE от И кП
Подтверждение - ACKWLG отП к И
Автоматический перевод- AVTOFD отИкП
Информационные линии
Данные (1 8) DO D7 —
Линии заземления и питания
«Строб»: при лог. 01 - данные действительнынедействительны.
Длительность импульса с лог. 0 - не менее 05 мкс.
«Данные»: высокомунизкому уровню соответствует лог. 10. Комбинации
сигналов на линии данных соответствует код графического символа или код
функции и на них не накладываются ограничения. Для конкретных устройств
допускается использование меньшего числа разрядов.
«Подтверждение»: лог. 10 означает что приемник готовне готов к
приему данных но принял предыдущие данные.
«Готовность приемника»: лог. 10 означает что приемник
неработоспособенработоспособен и не готовготов принимать данные.
«Автоматический перевод строки»: лог. 10 означает что приемник не
выполняетвыполняет самостоятельный перевод бумаги на одну строку по
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА
Распределение адресного пространства
Начальный Конечный Устройство Тип адресации
00 07FF PROM (ПЗУ) Устройство памяти
00 OFFF RAM (ОЗУ) Устройство памяти
17 СТ (таймер) Внешнее устройство
IF BD (буфер сработавших датчиков) Внешнее устройство
00 1FFF ЮР (контр паралл. Интерфейса) Устройство памяти
При распределении адресного пространства использован метод частичной
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ
Символические адреса используемые в программе
Двоичный адрес Шестнадцатиричн Обозначение Примечание
xхх01000 0800 CountSensor Начало таблицы счетчиков
000000 срабатывания датчиков
xхх01001 0900 QuestSensor Начало таблицы подлежащих
000000 опросу датчиков
xxx0lll 11100000OFEO IRQO Адреса перехода по
xxx0lll 11100100OFE8 IRQ1
Для сообщения от ЦПУ
xхх01010 ОАОО Counter Счетчик байт
xхх01010 ОА01 Addrl Адреса для приема байт
000001 сообщения ЦПУ
ххх01010 *ОА02 Addr2
ххх01001 0980 ToCentre Слово посылаемое в ЦПУ
ххх00ххх 00 Lamp Светодиод неисправности
обмена данными между ЦПУ
ххх 10x00 10 PortA Порт А ЮР
xxxl0x0l 11 PortB Порт В ЮР
ххх10х10 12 PortC Порт С ЮР
xxxl0xll 13 lOPControl Управляющее слово ЮР
XXX 11 XXX 18 AddrBD Адрес буфера сработавших
xxx0lxx0 08 PICO Адреса PIC
ххх11x00хххххххх1800 TimerO Адрес канала 0 СТ
xxxllxOlхххххххх1900 Timer 1 Адрес канала 1 СТ
xxxl1x11хххххххх1ВОО TimerControl Регистр управляющего
Описание констант используемых в программе
Двоичное Шестнадцатиричное ОбозначениеПримечание
100111 27 DOld Точность (соответствует F 10000
F-тактовая частота) для режима 2
101110 2Е N Число столбцов (46)
010001 11 Р Число периодов срабатывания датчика
111111 FF Mistake Ошибка
000011 03 ForSensor Сообщение о датчиках
000001 81 ForTimer Сообщение для Таймера
Для контроллера параллельного интерфейса
000001 01 LampOn Включить светодиод
000000 00 LampOff Выключить светодиод
0хх000 СО ContrlOP Управляющее слово для ЮР (D6D5-
канал А - режим 2 В2-канал В -
режим 0 D1 -вывод канала В DO
-оставшиеся линии С на вывод)
Для таймера (В7В6-канал D5D4-6aUTD3-Dl -режим DO-система исчисления)
11x100 24 СТО СТО два байта реж2 двоими.
11x100 74 СТ1 СТ1 два байта реж2 двоими.
Команды инициализации для программируемого контроллера прерываний
110110 F6 ICW1 О7-О5-адрес В2-число байт
хххОПП 07 ICW2 Старший байт адреса
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА
После включения питания ППУ и ЦПУ в них происходит инициализация
контроллера параллельного интерфейса БИС КР580ВВ55 (порт А - режим 2 порт
В - режим 0) инициализация таймера БИС КР580ВИ53 (каналы 0 и 1 - в режим
деления частоты канал О настраивается на генерацию периодического сигнала
с периодом равным точности D) инициализация контроллера прерываний.
Начинается опрос датчиков с периодом по умолчанию (максимальный период). По
умолчанию считается что датчики опросу не подлежат поэтому информация о
сработавших датчиках не поступает в ЦПУ.
ЦПУ может сообщать ППУ о периоде опроса датчика и о датчиках
подлежащих опросу. Формат сообщения трехбайтный представлен в таблице 11.
(в таблице приведены границы для старшего байта состояния канала 1 таймера
которые соответствуют границам периода опроса датчика). Длина сообщения из
ППУ в ЦПУ 1 байт (таблица 12).
П. Формат сообщения из ЦПУ в ППУ
Управляющее слово 1 байт 2 байт
000001 для таймера (х0000100-х0101000) Младший байт для 1 канала
старший байт для 1 каналатаймера
таймера х - контрольный
000011 (х0000000-х0101110) 0000хс2с1с0
для подлежащих опросу код номера столбца х - cN=l - датчик N подлежит
датчиков столбца контрольный бит опросу 0 - не подлежит
х - контрольный бит
Формат сообщения из ЦПУ в ППУ
Номер байта Формат Значение
11111111 Сообщение ЦПУ об ошибке передачи
0хс5с4сЗс2с1сО с5-сО-код столбца х - контрольный
0000хс2с1сО cN=l - датчик N сработал > Р раз 0 -
сработал х - контрольный бит
Циклический опрос датчиков происходит по прерываниям от таймера и
представляет собой последовательное сканирование столбцов матрицы датчиков
(столбец сканируется 2 раза для устранения дребезга контактов) определение
сработавших датчиков столбца определение какие из датчиков столбца
подлежащих опросу сработали более Р периодов опроса. После сканирования
всех столбцов происходит итоговое определение групп в которых были
срабатывания и если есть необходимость производится сообщение для ЦПУ.
ЦПУ определяет является ли информация из ППУ сообщением об ошибке есть ли
ошибки в самом сообщении в каких группах были срабатывания датчиков > Р
периодов и вызывает соответствующие подпрограммы обработки.
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА
Рис. 6.1 Схема основной программы ППУ
Рис. 6.2 Схема подпрограммы формирования счетчика срабатывания датчика
Рис. 6.3 Схема подпрограмма обработки счетчика срабатывания датчика в
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть 1)
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть2)
Рис. 6.5 Схема подпрограммы передачи сообщения из ЦПУ в ППУ
Рис. 6.6. Подпрограмма обработки сообщения из ППУ в ЦПУ
[pic]Рис. 6.7. Посылка байта из ЦПУ в ППУ или из ППУ в ЦПУ
MVI A ContrlOP OUT lOPControl MVI А СТО STA TimerControl MVI A DOld STA
TimerO MVI A DYoung STA TimerO MVI A CT1 STA TimerControl MVI A 28 STA
1. Периферийное устройство
;3апретить прерывания ..
;3адать режим работы ЮР
;3агрузить управляющее слово для канала 0 таймера ;3аписать старший
байт в канал 0 таймера ;3аписать младший байт в канал 0 таймера
;3агрузить управляющее слово для канала 1 таймера
;3аписать старший байт в канал 1 таймера ;(Период опроса по умолчанию)
;3аписать младший байт в канал 1 таймера
;3агрузить первое слово инициализации в программируемый ;контроллер
прерываний ;3агрузить второе слово инициализации в программируемый
;контроллер прерываний разрешить прерывания ;Бесконечный цикл
;Цикл опроса датчиков ;3апретить прерывания
;Сохранение регистровых пар и слова состояния в стеке
;В Н начало таблицы счетчиков срабатывания датчиков ;В D начало таблицы
датчиков подлежащих опросу ;В - число столбцов (N=46) ;Первое сканирование
;Номер столбца в А ;В порт В номер столбца
;Прием из буфера данных байта сработавших в столбце датчиков
;Сохранение в С байта сработавших датчиков ;Временная задержка
;3адержка на 12 тактов
;Повторное сканирование столбца датчиков ;Номер столбца в А
;В порт В номера датчиков в столбце подлежащих
;Прием из буфера данных байта сработавших в столбце
;Определение сработавших датчиков в столбце
;Критерий срабатывания - 0 за два сканирования
Инвертирование разрядов аккумулятора
;Подлежащие опросу датчики столбца в аккумулятор ;Конъюнкция кода
датчиков подлежащих опросу и кода срабатывания датчиков - код
столбца ;Сохранить код столбца в С
;Обработка первого датчика в столбце
;Код столбца умножить на код первого датчика
;Если датчик сработал перейти на LABI
;Обнулить содержимое счетчика срабатывания датчика
;Перейти к обработке следующего датчика в столбце ;Увеличить счетчик
срабатывания датчика на 1 ;Перейти к адресу счетчика срабатывания
;Считать код столбца в А ;Обработка второго датчика в столбце
ANI02 JNZLAB17 MVIM О
ANI04 JNZLAB19 MVIM 0
JMPLAB20 INRM MVIC 0
; Код столбца умножить на код второго датчика ; Если датчик
сработал перейти».на LAB 17 ; Обнулить содержимое счетчика
срабатывания датчика
; Перейти к обработке следующего датчика в столбце ; Увеличить
счетчик срабатывания датчика на 1 ; Перейти к адресу счетчика
срабатывания третьего датчика
;Считать код столбца в А ;Обработка третьего датчика в столбце
; Код столбца умножить на код третьего датчика ; Если датчик
сработал перейти на LAB 19
; Обнулить содержимое счетчика срабатывания
; Перейти к обработке следующего датчика в столбце
; Увеличить счетчик срабатывания датчика на 1
;Обнулить содержимое С
;Обработка счетчика срабатывания третьего датчика в столбце
MOV A M ;Считать счетчик третьего датчика в А
JNZ LAB21 ;Если срабатывание датчика не равно 17 периодов то
MOV А С ;Считать содержимое С в A k
ADI 04 ;Сложить А с кодом третьего датчика
MOV С А ;Сохранить в С
MVIМ 0 ;Обнулить счетчик срабатывания датчика
LAB21: DCX Н ;Перейти к адресу счетчика второго датчика
;Обработка счетчика срабатывания второго датчика в столбце
MOV А М ;Считать счетчик второго датчика в А
SUIР ; Сравнить с Р=17
JNZ LAB22 ; Если срабатывание датчика не равно 17 периодов то
MOV А С ; Считать содержимое С в А
ADI 02 ; Сложить А с кодом второго датчика
MOV С А ; Сохранить в С
MVIM О DCXH MOV A M SUIP JNZ LAB23
MOV А С ADI 01 MVIM 0
; Обнулить счетчик срабатывания датчика ; Перейти к адресу
счетчика первого датчика ; Считать счетчик второго датчика
в А ; Сравнить с Р= 17
; Если срабатывание датчика не равно 17 периодов то
; Считать содержимое С в А ; Сложить А с кодом первого
датчика ; Обнулить счетчик срабатывания датчика Переход к
; Считать в Н адрес слова посылаемого в ЦПУ ;Сравнить
слово посылаемое в ЦПУ с О ;Если 0 перейти к LAB25
;Сохранить результат ;HL из стека
;Перейти к следующему адресу в таблице датчиков ;подлежащих опросу
формирование сообщения о сработавших датчиках посылаемого в ЦПУ
ORI08 OUT PortA INPortC
;Если четное слово в МП сформировано перейти к
;Контрольный бит - 1
;Проверка подтверждения приема данных ЦПУ ;ЦПУ не принял сообщение ;3ажечь
;Проверка подтверждения приема данных ЦПУ
;Цикл пока ЦПУ не примет сообщение ;Погасить светодиод
OUT PortC LAB27: PUSHH
OUT PortC LAB25: DCRB
PUSH PSW PUSHH PUSH В
;B HL адрес слова посылаемого в ЦПУ
;обнулить слово посылаемое в ЦПУ
формирование контрольного бита в коде столбца
;Передача кода столбца в ЦПУ
;Уменьшить счетчик столбцов
;Если не все столбцы проверены перейти к LAB24
;Восстановление регистровых пар и слова состояния из ;стека
разрешить прерывания ;Выход из подпрограммы
;0бработка сообщения из ЦПУ в 1111У ;3апретить прерывания ;Сохранить
регистровые пары в стеке
PUSHD INPortA MOV В А LDA Counter ANIO JNZ LAB32 INRA STA Counter MOV А В
STA Addrl JMPLAB35 ANI1
JNZ LAB34 INRA STA Counter MOV А В STA Addr2 JMPLAB35 MVIA0 STA Counter
MOV D A LDA Addrl MOV В А LDA Addr2 MOV С А
;Принять байт от ЦПУ
;3агрузить счетчик байт
;Сравнить счетчик с О
;Если не нулевой байт перейти к LAB32
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addrl
;Сравнить счетчик с 1
;Если не первый байт перейти к LAB34
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addr2
;Обнулить счетчик байт ;Сохранить принятый байт в D
;Предыдущие байты разместить в В и С
;Обработка управляющего слова ;3агрузка управляющего слова в А
;Слово нечетно - обработка ошибки ;Если не 0 переход к LAB30 Сообщение -
код датчиков подлежащих опросу ;3агрузка кода столбца в А ;Сравнить с О
;Проверка на четность
LXIH QuestSensor ;B паре HL - начало таблицы подлежащих опросу
ANI 6F ;Обнуление не информационных битов
;Код столбца прибавить к младшему байту адреса
;Вычисление адреса для столбца в таблице подлежащих опросу датчиков ADDL
;Перенос в старший байт адреса
;3апись кода датчиков столбца подлежащих опросу
JPE LAB29 CALL Mistake РОРН JMPLAB35 ANI 07 MOV M A РОРН JMPLAB35
SUI ForTimer JNZ LAB29
;Проверка кода датчиков столбца на четность
;Вызов процедуры сообщения ЦПУ об ошибке ;HL из стека
;Обнулить неинформационные биты
;3аписать код датчиков ; HL из стека
;Сообщение для таймера ;Если сообщение не для таймера перейти к LAB30?
;Обработка первого байта ;3агрузить первый байт в аккумулятор
;Байт нечетный - ошибка
;0бработка первого байта сообщения LXI H
TB HL - адрес управляющего слова таймера
LXI H Timerl ANI6F MOV M A
;3апись управляющего слова в таймер (запись ;старшего байта счетчика
первого канала) ;В HL - адрес первого канала таймера ;0бнулить не
информационные биты первого байта ;3аписать старший байт счетчика
;Обработка второго байта сообщения
LXI H TB HL - адрес управляющего слова таймера MVI M CT1
Young ;3апись управляющего слова в таймер (запись
;младшего байта счетчика первого канала) ;В HL - адрес
первого канала таймера ;3аписать младший байт счетчика ;
H Timerl MOV M D POPH JMPLAB35
POP В POPH POP PSW El RET
Mistake: MVI A Mistake
OUT PortA INPortC ANI08 JNZ LABS7 MVI A LampOn OUT PortC
ANI08 JZ LABS6 MVI A LampOff OUT PortC
;Вызов процедуры сообщения ЦПУ об ошибке восстановить регистровые пары
;Разрешить прерывания ;Конец подпрограммы Подпрограмма сообщения в ЦПУ об
;Сообщение ЦПУ об ошибке
;ЦПУ не принял сообщение
;Проверка подтверждения приема данных ЦПУ ;Цикл пока ЦПУ не примет
сообщение ;По гасить светодиод
;Восстановить регистровые пары
;Разрешить прерывания
;Выход из подпрограммы
Переход на подпрограммы обработки прерываний
JMP CIRCLE ;Цикл опроса датчиков
JMP MESSAGE ;Сообщение от ЦПУ
2.Центральное устройство
Сообщение из ППУ ;3апретить прерывания
;Сохранить регистровые пары в стеке
;Считать слово из ППУ
;Сравнить с кодом ошибки (ППУ не понял сообщение
;Переход на подпрограмму обработки ошибки
;Сохранить слово в D ;Счетчик байт в аккумулятор ;Сравнить счетчик с О
;Если 0 перейти к LAB9 ;Счетчик = 1 ;Сохранить код группы в В
;Сохранить код столбца в С
; Считать счетчик байт в А
;Контроль по четности
;Сработала неизвестная группа переход к LAB2
;Вызов подпрограммы обработки неизвестной группы
;Сработала первая группа?
; Вызов подпрограммы обработки первой группы
; Считать слово из ППУ в А
;Сработала вторая группа?
; Вызов подпрограммы обработки второй группы ; Считать слово из ППУ в А
;Сработала третья группа?
; Вызов подпрограммы обработки третьей группы
; Вызов подпрограммы обработки неизвестной группы
восстановить регистровые пары из стека
; Разрешить прерывания ;Выход из подпрограммы
;Сообщение из ЦПУ в ППУ ;Послать первый байт
;Послать второй байт
;Послать третий байт
;Посылка байта в ППУ ;Сообщение в ППУ ;Проверка подтверждения приема
;ППУ не принял сообщение?
;Проверка подтверждения приема данных ППУ ;Цикл пока ППУ не примет
В курсовом проекте спроектировано устройство обнаружения срабатывания
объединенных в группы датчиков. Комплекс представляет собой центральное и
устройство предназначено для опроса датчиков и первичной обработки данных о
срабатывании датчиков (определение групп в которых существуют датчики
сработавшие более Р периодов опроса). Центральное устройство предназначено
для дальнейшей обработки данных о датчиках поступающих от периферийного
устройства. Центральное устройство сообщает периферийному о датчиках
подлежащих опросу и период опроса датчиков что делает спроектированное
устройство довольно универсальным и позволяет применять его в разнообразных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Хвощ С. Т. Варлинский Н. Н. Попов Е. А. Микропроцессоры и микро-ЭВМ в
системах автоматического управления: Справочник под ред. С. Т. Хвоща.
Л.: Машиностроение. Ленингр. отд-ление!987. 640 с.
Микропроцессоры В 3 кн. Кн. 1. Архитектура и проектирование ЭВМ.
Организация вычислительных процессов: Учебник для ВТУЗов П. В. Нестеров
В. Ф. Шаньгин В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая
Микропроцессоры В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учебник для ВТУЗов
В. Д. Вернер Н. В. Воробьев А. В. Горячев и др.; Под ред. Л.Н.
Преснухина. М.: Высшая школа 1986. 383 с.
Микропроцессоры В 3 кн. Кн. 3. Средства отладки: лабораторный практикум
и задачник. Учебник для ВТУЗов Н. В. Воробьев В. Л. Горбунов А. В.
Горячев и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа 1986. 351 с.
Интегральные микросхемы: Справочник Б. В. Тарабрин Л. Ф. Лунин Ю. Н.
Смирнов и др.; Под ред. Б. В. Тарабрина. - М.: Радио и связь 1984 -528

icon Текст (22).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА ФОРМИРОВАНИЯ АНАЛОГОВЫХ СИГНАЛОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: Т.О. Фоминых
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ 6
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ. 8
1 Микропроцессор К580ВМ80 8
2. Генератор тактовых импульсов КР580ГФ24 9
3. Шинный формирователь КР580ВА86 9
4. Системный контроллер КР580ВК28 10
5. Таймер КР580ВИ53 10
6. Универсальный приёмопередатчик К580ВВ51А 12
7. D-регистр защелка КР580ИР82. 14
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232. 16
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ 17
ОПИСАНИЕ РАБОТЫ ППУ 19
Блок-схемы алгоритмов работы устройства 19
1. Основная программа выполняемая в ППУ 23
2. Подпрограмма инициализации УСАПП 24
3. Подпрограмма инициализации таймеров 24
4. Подпрограмма принятия 2-го и последующих байт командной посылки 25
5. Подпрограмма сброса признаков ошибки и отправки запроса на повторную
6. Подпрограмма инициализации ЦАП 25
7. Подпрограмма инициализации таймера 26
8. Подпрограмма отправки посылки с масштабным коэффициентом 27
9. Подпрограмма переинициализации таймеров 28
10. Подпрограмма обновления масштабных коэффициентов ЦАП 29
11. Подпрограмма предназначенная для обмена с ППУ (выполняется на ЦПУ)
12. Подпрограмма отправки байта в ППУ 30
13. Подпрограмма получения байта от ППУ 30
14. Подпрограмма инициализации УСАПП в ЦПУ 30
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 33
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве контроллеров интерфейса использовать БИС КР580ВВ55
с адресацией к ним как к внешним устройствам. Комплекс предназначен для
формирования аналоговых напряжений и содержит 5 ЦАП К572ПА2 с адресацией к
ним как к ячейкам памяти лежащим в поле адресов периферийного процессора.
Значения напряжений и номера ЦАП подлежащих инициализации а также время
в течение которого аналоговое напряжение должно присутствовать на выходе
данного канала (период инициализации Т) определяются программой
выполняемой в центральном процессорном устройстве и передаются
периферийной стороне в виде единого блока. Период инициализации любого ЦАП
составляет Т секунд и может быть различным для всех ЦАП. Численные значения
Т лежат в пределах 15-83 сек. с точностью 05 с. После завершения
инициализации любого ЦАП напряжение на его выходе должно равняться нулю.
Масштаб выходного напряжения любого ЦАП К=1 и остается постоянным в
течение всего периода инициализации Т но может изменяться от периода к
периоду. Его конкретное значение зависит от программы выполняемой
периферийным процессором при этом значения всех масштабных коэффициентов в
каждый период инициализации передаются в фиксированные ячейки ОЗУ
центрального процессорного устройства. Процедура инициализации всех ЦАП
полностью организуется периферийным процессором. Наличие в блоке данных Т=0
для каких-либо ЦАП означает что период инициализации продолжается до
поступления новых данных от центрального процессорного устройства.
Периодичность обращения центрального процессорного устройства к
периферийному не менее 2-х минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
Сигнал определяется как напряжение или ток который может быть
передан как сообщение или как информация. По своей природе все сигналы
являются аналоговыми будь то сигнал постоянного или переменного тока
цифровой или импульсный. Тем не менее принято делать различие между
аналоговыми и цифровыми сигналами. Цифровым сигналом называется сигнал
определённым образом обработанный и преобразованный в цифры. Обычно эти
цифровые сигналы связаны с реальными аналоговыми сигналами но иногда между
ними и нет связи. В качестве примера можно привести передачу данных в
локальных вычислительных сетях (LAN) или в других высокоскоростных сетях .В
случае цифровой обработки сигнала (ЦОС) аналоговый сигнал преобразуется в
двоичную форму устройством которое называется аналого-цифровым
преобразователем (АЦП). На выходе АЦП получается двоичное представление
аналогового сигнала которое затем обрабатывается арифметическим цифровым
сигнальным процессором (DSP). После обработки содержащаяся в сигнале
информация может быть преобразована обратно в аналоговую форму с
использованием цифро-аналогового преобразователя (ЦАП). Другой ключевой
концепцией в определении сигнала является тот факт что сигнал всегда
несет некоторую информацию. Это ведет нас к ключевой проблеме обработки
физических аналоговых сигналов – проблеме извлечения информации.
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ
Комплекс состоит из центрального и периферийного процессорных устройств
соединённых интерфейсом RS-232. На следующих двух страницах приведены
структурные схемы центрального и периферийного процессорных устройств.
В ППУ используются следующие БИС:
К580ВМ80 - однокристальный центральный процессор.
К580ГФ24 - генератор тактовых последовательностей с кварцевой
стабилизацией частоты.
К580ВК28 -системный контроллер.
К580ВВ51 - контроллер последовательного интерфейса совместимого с RS-
К580ВА86 - шинные формирователи. Введены для повышения нагрузочной
К580ВИ53 -трёхканальные программируемые таймеры.
К580ИР82 - регистры-защёлки введённые для фиксации данных на входах ЦАП.
К572ПА1 - 10-разрядные ЦАП.
К573РФ41 - ИМС ПЗУ 64кбит с организацией 4к*8
К565РУ2 - ИМС статического ОЗУ.
Также в ППУ использовано несколько ИМС малой степени интеграции - К155ЛАЗ
(4 двухвходовых элемента И-НЕ) ОУ К153УДЗ дешифратор К155ИД10.
Функциональная схема ППУ приведена на рис.3. Принципиальная схема
устройства прилагается.
Центральное процессорное устройство может быть реализовано аналогично
его отличие состоит в отсутствии дешифратора адреса т.к. достаточно
использовать 4 старших линии ША для идентификации ИМС к которой требуется
обратиться а также отсутствием двух таймеров задающих интервалы времени
для блоков ЦАП и самих блоков ЦАП.
Рис. 1. Структурная схема ППУ
Рис. 2. Простейшая структурная схема ППУ
Рис. 3. Функциональная схема ППУ
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ.
1 Микропроцессор К580ВМ80
ИМС КР580ВМ80А - функционально-законченный однокристальный параллельный 8-
разрядный микропроцессор с фиксированной системой команд применяется в
качестве центрально процессора в устройствах обработки данных и управления.
Микропроцессор имеет разделенные 16-разрядный канал адреса и 8-разрядный
канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти
объемом до 65536 байт 256 устройств вводавывода.
Таблица 1 Назначение выводов микропроцессора
Вывод Обозначение Тип вывода Функциональное назначение
25-27А10 АО-А2 Выходы Канал адреса
-10 D4-D7 D3-DO Входывыходы Шина данных
Uo Напряжения источника смещения
Reset Вход Устан. в исходное состояние
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
Ucci - Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 - Напряжение питания +12В.
2. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2 предназначен
для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения уровня
Таблица 2 Назначение выводов микросхемы
Вывод Обозначение Тип выводаФункциональное назначение выводов
SR Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
С Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucft Вход Напряжение питания +12В
С2 Выход Тактовые сигналя - фаза С2
С1 Выход Тактовые сигналя - фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Use Вход Напряжение питания +5В
3. Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный формирователь
предназначенный для обмена данными между микропроцессором и системной
шиной; обладают повышенной нагрузочной способностью имеет третье состояние
Таблица 3 Назначение выводов микросхемы
Вывод Обозначение Тип вывода Функциональное назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ucc - Напряжение питания 5В±5%
4. Системный контроллер КР580ВК28
Микросхема КР580ВК28 - системный контроллер и буферный регистр данных
применяемых в микропроцессорных системах на базе микропроцессора КР580ВМ80А
для формирования управляющих сигналов и как буферный регистр данных.
Системный контроллер формирует управляющие сигналы RD WR RDIO WRIO INTA
по сигналам состояния микропроцессора а также обеспечивает прием и
передачу 8-разрядной информации между каналом данных микропроцессора по
выводам D7-DO и системным каналом по выводам DB7-DBO.
Таблица 4 Назначение выводов микросхемы
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DB4 DB7 Выход вход Канал данных системы
101D4 D7 Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и выдачей
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
Ucc Вход Напряжение питания +5В
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей системой управления. Каждый из трех каналов может быть
независимо настроен на работу в одном из шести режимов. Обмен информацией с
микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных. Максимальное значение счета в
В данном устройстве используется 3 ИМС таймеров - две (DD17 DD21) для
управления шестью каналами ЦАП и одна (DD26) для формирования тактовых
последовательностей для контроллера последовательного интерфейса К580ВВ51А
и также для формирования тактовых последовательностей для всех каналов
Каналы 0 и 1 микросхемы DD26 работают в режиме 2 (временная диаграмма
работы приведена на рис.4.) Коэффициент деления при тактовой частоте
системы 2МГц (кварцевый резонатор 18МГц) для канала О N=6667 (для скорости
передачи по последовательному интерфейсу. ЗООбод) Для канала 1: получить
коэффициент деления достаточный для получения на выходе частоты 5Гц (=10)
с помощью данного таймера невозможно однако можно получить частоту 40 Гц
(коэффициент деления N=200000040=50000) после чего и записывать в
регистры таймеров DD17 DD21 значения побитно сдвинутые влево на 3 бита
(что равноценно увеличению записываемого числе в 8 раз) и умноженные на 5
(это возлагается на программное обеспечение ЦПУ и не описывается т.к.
такая реализация несколько повышает универсальность устройства). При этом
возможности таймеров DD17 DD21 используются не полностью (максимальное
значение записываемое в регистры составит Nmax=98*40=3290 что почти в 20
раз меньше максимально возможного). Минимальное значение записываемое в
регистры составит Nmin=10*40=400
Все каналы таймеров DD17 DD21 работают в режиме 0. Временная диаграмма
работы таймера в этом режиме приведена на рис.5
Рис.4 Временная диаграмма работы таймера в режиме 2
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO ВходывыходыКанал данных
518 СОС1С2 Входы Синхронизация каналов 0-2
13 17 OUTO OUT1 OUT2 Выходы Сигналы каналов 0 1 2
14 16 CEO CE1.CE2 Входы Сигналы каналов 0 1 2
20 АО.А1 Входы Сигналы выбора каналов 0 1
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
6. Универсальный приёмопередатчик К580ВВ51А
Микросхема КР580ВВ51 - универсальный синхронно-асинхронный
приёмопередатчик (УСАПП) предназначен для аппаратной реализации
последовательного протокола обмена между микропроцессором К580ВМ80А и или
другим устройством способным запрограммировать данную микросхему на
требуемый режим работы и каналами передачи последовательной дискретной
ИМС преобразует параллельный код получаемый через ШД от центрального
процессора в последовательный поток символов со служебными битами и выдаёт
этот поток в последовательный канал связи с различной скоростью а также
выполняет обратное преобразование: последовательный поток символов - в
параллельное 8-разрядное слово. Передаваемая и получаемая информация при
необходимости может контролироваться на чётностьнечётность.
ИМС УСАПП может быть применена для реализации различных
последовательных интерфейсов (в т.ч. RS-232). Возможна работа ИМС в режимах
синхронного или асинхронного приёмапередачи.
Максимальная скорость передачиприёма информации 64Кбод минимальная не
В описываемом устройстве ИМС работает в режиме асинхронного
приёмапередачи на скорости ЗООбод (внутренний делитель частоты
синхронизации равен единице). Временные диаграммы работы УСАПП в названных
режимах приведены на рис.6 и рис.7. Для того чтобы запрограммировать ИМС
для работы в асинхронном режиме необходимо после сброса (сигналом SR или
программного) занести в ИМС инструкцию режима работы. В описываемом
устройстве это код 11111101 b=FDh (соответствует работе с двумя стоп-
битами с контролем по чётности длиной слова 8 бит в асинхронном режиме с
Асинхронный режим избран т.к. при обмене данными между ЦПУ и ППУ
пакеты имеют малую длину а также потому что это позволяет уменьшить
количество линий связывающих устройства (не требуется отдельная линия для
сигнала синхронизации). Два стоп-бита и контроль чётности используются для
повышения надёжности обмена. Длина слова в 8 бит выбрана потому что это
совпадает с разрядностью ШД процессора К580ВМ80.
После инициализации УСАПП управление работой ИМС осуществляется записью
командных инструкций и чтением слова состояния.
Рис.5 Временная диаграмма работы таймера в режиме 0
Рис.6 Временная диаграмма работы УСАПП К580ВВ51А в режиме асинхронной
Рис.7 Временная диаграмма работы УСАПП К580ВВ51А в режиме
асинхронного приёма.
7. D-регистр защелка КР580ИР82.
Микросхема КР580ИР82 - 8-разрядный адресный D-регистр-защёлка без
инверсии с тремя состояниями на выходе предназначен для связи
микропроцессора с системной шиной; обладает повышенной нагрузочной
ИМС состоит из восьми функционально одинаковых блоков и схемы
управления. Блок содержит D-триггер - «защёлку» и мощный выходной вентиль.
При помощи схемы управления производится опробирование записываемой
информации и управление третьим состоянием выходных вентилей. В зависимости
от состояния стробирующего сигнала STB ИМС может работать в двух режимах: в
режиме шинного формирователя и в режиме хранения (при высоком уровне
сигнала STB ИМС работает в режиме формирователя при низком - в режиме
Назначение выводов ИМС КР580ИР82
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 DO-D7 Вход Информационная шина
ОЕ Вход Разрешение передачи (управление
STB Вход Стробирующий сигнал
-19 Q7-QO Выходвход Информационная шина
Микросхема К572ПА1 - умножающий 10-разрядный ЦАП. Предназначен для
преобразования входного кода в выходной ток пропорциональный значению
входного кода и опорному напряжению подаваемому на вывод 15. В описываемом
устройстве применяется в типовом включении.
Назначение выводов ИМС К572ПА1
li Выход Аналоговый выход (прямой)
2 Выход Аналоговый выход (инверсный)
-13 DO-D9 Вход Цифровые входы
Uo6p Вход Образцовое напряжение
Ucc - Напряжение питания (+15В)
Roc Вход Вход для резистора обратной связи
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232.
Интерфейс RS232 - последовательный интерфейс предназначенный для
обмена информацией между различными цифровыми устройствами на скоростях от
до 9600 бод. В простейшей реализации интерфейса устройства соединяются
трёхжильным кабелем («Земля» «Входящие данные» «Исходящие
данные»).Возможно использование 4-й жилы -«Подтверждение готовности».
Логические уровни представляются напряжением ±12В.
К устройствам кабель подключается с использованием стандартного 25-
контактного разъёма. Используются контакты 0 («Земля») 2 («Исходящие
данные») 3 («Входящие данные»)
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ
Карта адресов памяти (в скобках приведены условные обозначения
которые применены на
блок-схемах алгоритмов и в программах):
00h-23FFh Диапазон адресов для вывода на ЦАПО (DACO)
00h-27FFh Диапазон адресов для задания масштабного
коэффициента ЦАПО (DACOC)
00h-33FFh Диапазон адресов для вывода на ЦАП1 (DAC1)
00h-37FFh Диапазон адресов для задания масштабного
коэффициента ЦАП1 (DAC1C)
00h-43FFh Диапазон адресов для вывода на ЦАП2 (DAC2)
00h-47FFh Диапазон адресов для задания масштабного
коэффициента ЦАП2 (DAC2C)
00h-53FFh Диапазон адресов для вывода на ЦАПЗ (DAC3)
00h-57FFh Диапазон адресов для задания масштабного
коэффициента ЦАПЗ (DAC3C)
00h-63FFh Диапазон адресов для вывода на ЦАП4 (DAC4)
00h-67FFh Диапазон адресов для задания масштабного
коэффициента ЦАП4 (DAC4C)
00h-73FFh Диапазон адресов для вывода на ЦАП5 (DAC5)
00h-77FFh Диапазон адресов для задания масштабного
коэффициента ЦАП5 (DAC5C)
00h Регистр данных 0-го канала таймера DD17
(соответствует ЦАПО) (TIMODO)
10h Регистр данных 1-го канала таймера DD17
(соответствует ЦАП1) (TIMOD1)
20h Регистр данных 2-го канала таймера DD17
(соответствует ЦАП2) (TIMOD2)
30h Регистр управляющего слова таймера DD17
00h Регистр данных 0-го канала таймера DD21
(соответствует ЦАПЗ) (TIM1 DO)
08h Регистр данных 1-го канала таймера DD21
(соответствует ЦАП4) (TIM1D1)
10h Регистр данных 2-го канала таймера DD2
(соответствует ЦАП5) (TIM 1D2)
18h Регистр управляющего слова таймера DD21 (TIM1CW)
Карта адресов устройств вводавывода:
C0h Регистр данных УСАПП. (COMD)
h Регистр управления УСАПП. (СОМС)
h Регистр данных 0-го канала таймера DD26 (TIM2DO)
h Регистр данных 1-го канала таймера DD26 (программирование
частота для таймеров DD17.DD21) (TIM2D1)
h Регистр данных 2-го канала таймера DD26
З0h Регистр управляющего слова таймера DD26 (TIM2CW)
При распределении адресного пространства использован метод
частичной дешифрации.
После включения ЦПУ и ППУ в ППУ происходит инициализация таймеров
затем сброс всех ЦАП и в последнюю очередь инициализация контроллера
последовательного интерфейса (К580ВВ51А) .После этого ППУ готово к работе и
воспринимает посылки от ЦПУ.
Посылки из ЦПУ в ППУ могут быть двух типов - командные или сообщения об
ошибке передачи. Сообщения об ошибке передачи имеют длину 1 байт (его
значение FFh) командные посылки имеют длину 4 байта:
Команда инициализации ЦАП:
-й байт: ООп - признак команды нициализации. 2-й байт: номер
-й байт: младший байт кода для ЦАП
-й байт: старший байт кода для ЦАП
-й байт: младший байт кода периода инициализации.
-й байт: старший байт кода периода инициализации.
Подпрограмма передачи управляющей посылки из ЦПУ считывает данные из
массива (в нём по порядку должны быть записаны 2-6 байты командной
посылки) который должен быть заполнен программой выполняющейся на ЦПУ.
Сообщения об ошибке передачи передаются когда при передаче информации
от ППУ в ЦПУ или обратно происходят ошибки передачи данных: ошибка формата
ошибка чётности или ошибка переполнения. Такие сообщения состоят из
единственного байта FFh. Более надёжные (и сложные) способы контроля
передачи данных не используются т.к. появление ошибок при передаче на
скорости 300 бод маловероятно вероятность же ошибок не корректируемых
применёнными средствами исчезающе мала.
После успешного получения командной посылки ППУ выполняет команду
(происходит фиктивное обращение к ячейке из области адресов одного из ЦАП
затем запускается соответствующий канал таймера) после чего отправляет в
ЦПУ пакет состоящий из четырёх байт. Формат пакета следующий:
-й байт: 00h- признак пакета с масштабным коэффициентом
-й байт: младший байт кода масштабного коэффициента.
-й байт: старший байт кода масштабного коэффициента.
Принятые данные записываются в массив в порядке поступления.
Блок-схемы алгоритмов работы устройства
В блок-схемах алгоритмов работы ППУ и в программах используются
следующие обозначения:
FlagAddr - начальный адрес области памяти из 6 байт в которой хранятся
флаги постоянной инициализации таймеров.
AppDataAddr - начальный адрес массива из пяти байт в который
записываются принимаемые от ЦПУ данные.
CoeffsAddr - начальный адрес области памяти из 12 байт В которой
подряд записаны двухбайтные коды масштабных коэффициентов ЦАП в порядке
возрастания номера ЦАП (запись в этот массив должна выполняться
подпрограммой обновления масштабных коэффициентов)
StackPtr -адрес вершины стека
В подпрограмме обновления масштабных коэффициентов ЦАП может быть
использован канал 2 таймера DD26 - для отслеживания временных интервалов
т.к. использованные ИМС таймеров позволяют программно считывать значения
счётчиков во время работы.
Рис. 9 Алгоритм отправки байта в ППУ
Рис. 10 Алгоритм принятия байта из ППУ
Рис. 8. Алгоритм программы выполняющейся в ППУ
Рис. 9. Алгоритм программы отправки байта в ППУ
Рис. 10. Алгоритм программы принятия байта из ППУ
1. Основная программа выполняемая в ППУ
Метка Команда Комментарий
MainBeginCALL Timerlnit Вызов подпрограммы инициализации таймеров
CALL COMInit Вызов подпрограммы инициализации УСАПП
CALL Вызов подпрограммы обновления масштабных
TimersRefresh коэффициентов ЦАП
MainLoop CALL DACReinit Вызов подпрограммы обновления масштабных
IN COMC Считывание слова состояния УСАПП
MOV BA Сохранение слова состояния в per. В
ANI 02h Выделение бита D1
JNZ Mainl Если байт поступил переход к обработке.
JMP MainLoop Возврат на начало
ANI 38h Выделение из слова состояния бит признаков
JZ Main2 Если флаги ошибок не взведены продолжается
CALL Retry Вызов подпрограммы сброса признака ошибки и
отправления запроса повторной передачи
Main2 IN COMD Считывание принятого байта
JZ MainS Если принятый байт - начало командной
посылки программа продолжается
CALL Send Иначе вызов подпрограммы передачи посылки с
масштабным коэффициентом
MainS CALL ReceiveAII Вызов подпрограммы получения остальных байт
JZ Main4 Если не было ошибок продолжение
CALL SendErReq Вызов подпрограммы передачи запроса о
повторной передаче команды
Main4 CALL DACReinit Вызов подпрограммы обновления масштабных
CALL DACInit Инициализация нужного ЦАП
CALL Timerlnit Инициализация соответствующего таймера
CALL Send Вызов подпрограммы повторной передачи
посылки с масштабным коэффициентом
JMP MainLoop Вызов подпрограммы передачи посылки с
2. Подпрограмма инициализации УСАПП
COM Init MVI A FDh Запись в аккумулятор байта FDh
OUT СОМС Вывод управляющего слова в регистр команд
LHLD StackPtr Загрузка в HL адреса вершины стека
SPHL Копирование его в SP
RET Возврат из подпрограммы
3. Подпрограмма инициализации таймеров
TimerlnitMVI A 34h Занесение в аккумулятор байта 34h
OUT TIM2CW Занесение управляющего слова в управляющий
OUT TIM2DO Занесение в РД 0-го канала таймера младшего
OUT TIM2DO Занесение в РД 0-го канала таймера старшего
MVI A74h Начало инициализации 1-го канала таймера
MVIA30h Начало инициализации 0-х каналов таймеров
MVI A70h Начало инициализации 1-х каналов таймеров
MVI ABOh Начало инициализации 1-х каналов таймеров
STA FlagAddr Обнуление флагов
4. Подпрограмма принятия 2-го и последующих байт командной посылки
ReceiveAIMVI B0 Обнуление счётчика полученных байт
LHLD AppDataAddr Загрузка в HL начального адреса области
памяти в которой будут сохраняться принятые
RecLoop IN COMC Считывание слова состояния УСАПП
AMI 02h Выделение признака поступления нового байта
JNZ Red Если байт поступил программа переход к
CALL Вызов подпрограммы переинициализации
TimersRefresh таймеров
JMP RecLoop Переход на начало цикла
Red IN COMD Считывание поступившего байта
STAXHL Сохранение принятого байта в ячейке памяти
INXHL Инкремент адреса по которому будет
записываться следующий байт
INRB Увеличение счётчика полученных байт
MVI A 05h Занесение в аккумулятор числа для сравнения
JNZ RecLoop Если В не равен 5 продолжение цикла
5. Подпрограмма сброса признаков ошибки и отправки запроса на
SendErReq IN COMD Считывание принятого байта из регистра
MVIA 15h Занесение управляющего слова для
сброса признаков ошибки в аккумулятор.
OUT COMC Занесение управляющего слова в упр. регистр
SndLoop IN COMC Считывание состояния УСАПП
ANIOIh Выделение признака готовности к передаче
JNZ Snd1 Если УСАПП готов продолжение
JMP SndLoop Переход на начало цикла
OUT COMD Занесение в РД УСАПП байта
сигнализирующего о необходимости повторной
6. Подпрограмма инициализации ЦАП
DACInit LHLD DACO Загрузка в HL адреса начала диапазона
адресов относящихся к ЦАПО
LXI DE 1000И Занесение в РП ВС числа 1000h
LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
CMP В Сравнить содержимое аккумулятора с номером
JZ DACI1 Если они равны закончить цикл
DADDE Сложение DE и HL
INRB Инкремент регистра В
DACI1 LDA AppDataAddr+1Загрузка в аккумулятор младшего байта кода
MOV EA Занесение его в Рг. Е
LDA AppDataAddr+2Загрузка в аккумулятор старшего байта кода
MOV DA Занесение его в Рг. D
DADDE Сложение DE и HL (рез-т помещается в HL)
MVI M OOh Фиктивное обращение к ячейке памяти
7. Подпрограмма инициализации таймера
TimerlnitIDA AppDataAddr+4Считывание младшего байта кода периода
инициализации в аккумулятор
JNZ Timlni Если байт был ненулевым продолжается
LDA AppDataAddr+5Считывание младшего байта кода периода
JNC Timlni Если байт был ненулевым продолжается
LHLD FlagAddr Загрузка в HL адреса начала массива флагов
ADDH А складывается с Н рез-т записывается в А
MOV HA Рез-т копируется в Н
MVI M1 Запись флага
Timlni LHLD TIMODO Загрузка в HL адреса РД 0-го канала ЦАПО
JC Timlni2 Переход если номер ЦАП больше 2
Timlni2 MVI B8h Mult=8h
SUI3 Уменьшить содержимое аккумулятора на 3
MOV DA Копирование аккумулятора в D
RLC Циклический сдвиг содержимого аккумулятора
ADI 30h Добавление 30h к содержимому аккумулятора
MOV LC В L копируется младшая часть адреса регистра
MOV M A Запись в регистр управления таймера
MVI L.OOh Обнуление L
DCRD Цикл в котором Addr=Mult*Num
LDA AppDataAddr+4Загрузка в аккумулятор младшего байта кода
периода инициализации
MOV MA Запись младшего байта кода периода
инициализации в РД таймера
LDA AppDataAddr+5Загрузка в аккумулятор старшего байта кода
MOV M A Запись старшего байта кода периода
ADDL Сложение L с аккумулятором
MOV LA Запись результата в L
MVI M 0 Сброс флага постоянной инициализации
8. Подпрограмма отправки посылки с масштабным коэффициентом
Send IN COMC Считывание слова состояния УСАПП
AMI 01 h Выделение признака готовности передатчика
JNZ Sendl Если передатчик готов - выход из цикла
CALL Переинициализация таймеров
JMP Send Переход на начало цикла
Sendl OUT COMD Запись в РД УСАПП байта признака начала передачи
JNZ SendS Цикл ожидания готовности передатчика
SendS LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
SendS LHLD CoeffsAddr Загрузка в HL начального адреса массива
ADDA.L Сложение аккумулятора и L
ADDA.L Сложение аккумулятора и L (Требовалось умножить на
MOV LA Копирование результата в L
MOVA.M Загрузка в аккумулятор младшего байта коэффициента
OUT COMD Передача младшего байта коэффициента
JNZ Send? Цикл ожидания готовности передатчика
Send? INX HL Увеличение адреса из которого будет читаться
i старший байт масштабного коэффициента
MOVA.M Загрузка в аккумулятор старшего байта масштабного
OUT COMD Передача старшего байта коэффициента
JNZ Send9 Цикл ожидания готовности передатчика
9. Подпрограмма переинициализации таймеров
TimersRefresLHLD FlagAddr Загрузка в HL адреса массива флагов
MVI E.OOh Сброс счётчика
TimRefd MOVA.M Загрузка очередного аккумулятор
JZ TimeRefrS Если флаг не установлен переход к концу цикла
PUSH HL Сохранить адрес в стеке
LHLD TIMODO Загрузка в HL адреса РД канала таймера DD17
CPI2 Сравнение счётчика с 2
RLC Сдвиг А влево на 6 бит
ADI 30h Увеличение аккумулятора ЗОН
MVI B.OOh Подготовка к записи Byte в РУ таймера
MOV MA Запись управляющего в РУ таймера
ADDL Цикл умножения
TimeRefrS MVI MFFh Запись максимальных значений в РД таймера
JNZ TimeRefrl Возврат на начало цикла
10. Подпрограмма обновления масштабных коэффициентов ЦАП
DACReinit MVI C5 Обнуление счётчика
LHLD DACOC Загрузка в HL адреса начала области адресов
отведённых для задания масштабного коэффициента
DACRel CALL GetNewCoeff Вызов подпрограммы определения нового
масштабного коэффициента для ЦАП номер
которого занесён в С (код этой подпрограммы на
приводится т.к. не задан алгоритм по которому
определяются масштабные коэффициенты.
Подпрограмма не должна модифицировать HL
возвращаемое значение должно находиться в
регистровой паре DE
PUSH HL Сохранение в стеке пары HL
DADDE Сложение DE и HL (Рез-т в HL)
MVI M.OOh Фиктивное обращение к ячейке
ADDH Увеличение HL на ЮООп
JNZ DACRel Если счётчик не нуль продолжение цикла
Обозначения применённые в тексте подпрограммы:
СОМС - адрес УВВ соответствующего РД УСАПП (предполагается что УСАПП
COMD - адрес УВВ соответствующего РУ УСАПП (предполагается что УСАПП
Предполагается также что прерывания от УСАПП не используются.
Data - адрес начала массива в котором по порядку находятся следующие
данные: номер ЦАП подлежащего инициализации младший байт кода выходного
напряжения ЦАП старший байт кода выходного напряжения ЦАП (его старшие 4
бита должны быть нулевыми)младший и старший байты кода периода
инициализации умноженного на 40 (т.к. за секунду таймером отсчитывается 40
InData - адрес начала массива в который будут помещены (по
порядку):номер ЦАП младший байт масштабного коэффициента старший байт
масштабного коэффициента
BeginExchangeMVI A00h Занесение в аккумулятор байта который
CALL SendByte Вызов подпрограммы отправки байта в ППУ
(в аккумуляторе находится сам байт)
MVI E.OOh Обнуление счётчика
ЕхсМ LHLD Data Загрузка в HL адреса по которому
находятся данные которые надо послать
DADDE HL=HL+C4eT4HK
MOV AM Загрузка в аккумулятор очередного
байта который надо отправить
INRE Инкремент счётчика
MOVA.E Счётчик копируется в аккумулятор
CPI5 Сравнение с количеством байт которые
JNZ ExcM Возврат на начало цикла если не все
MVI E00h Обнуление счётчика
Ехсп2 CALL ReceiveByte Вызов подпрограммы получения байта из
ППУ (полученный байт находится в
AMI 38h Выделение из слова состояния признаков
JZ Exch3 Если ошибок не было переход дальше
IN COMD Считывание байта принятого с ошибкой
MVI A.FFh Занесение в аккумулятор кода признака
JMP Exch2 Переход к повторному приёму
JNZ BeginExchangeЕсли принят признак запроса на
повторную передачу переход
LHLD InData Загрузка в HL адреса начиная с
которого будут размещены получаемые
MVI E3h Обнуление счётчика
Exch4 CALL ReceiveByte Получение очередного байта
MOV MA Сохранение его в ячейке памяти
INXHL Инкремент адреса
DCRE Декремент счётчика
JNZ Exch4 Продолжение цикла если не все байты
ANI 38h Выделение признаков ошибок
OUT COMC Сброс признаков ошибок
CALL SendByte Отправка запроса на повторную передачу
12. Подпрограмма отправки байта в ППУ
ANI 01h Цикл ожидания передатчика
OUT COMD Запись байта в РД УСАПП
13. Подпрограмма получения байта от ППУ
ReceiveByte IN COMC
ANI 02h Цикл ожидания готовности приёмника
IN COMD Считывание принятого байта в
14. Подпрограмма инициализации УСАПП в ЦПУ
OUT СОМС Сброс УСАПП
OUT СОМС Запись в РУ УСАПП слова режима
В этом курсовом проекте было разработано устройство которое может быть
использовано для формирования аналоговых сигналов с достаточно точным
уровнем и заданной длительностью по некоторой программе. Одно из применений
такого устройства - формирование управляющих сигналов для различных
устройств (например управление включением и мощностью электродвигателей
при подключении выходов устройства к достаточно мощным усилителям).
Возможны также другие применения.
В ходе проектирования был более детально изучен микропроцессорный
комплект К580 возможные схемотехнические решения на его основе а также
программирование на языке Ассемблер для процессора К580ВМ80.
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
УСАПП - универсальный синхронно-асинхронный приёмопередатчик
РД - регистр данных.
РУ - регистр управления
ИМС - интегральная микросхема
ЦАП - цифроаналоговый преобразователь
ОУ - операционный усилитель
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Мокрецов В.П. «Микропроцессоры и МПС». Учебное пособие. Часть 1.
Екатеринбург: УГТУ-УПИ 1999. 125с.
«Микропроцессоры и микропроцессорные комплекты интегральных микросхем» в
Справочник в 2 т В.-Б.Б. Абрайтис Н.Н. Аверьянов А.И. Белоус и др. Под
Шахнова. - М:Радио и связь 19*88 Т.1 -386с. ил.
Майоров В.Г.Гаврилов А.И. «Практический курс программирования
сорных систем» -М.Машиностроение. 1989. -272с.:ил.

icon Текст (19).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ 5
АЛГОРИТМЫ РАБОТЫ ЦПУ 6
1. Алгоритм инициализации адаптеров параллельного интерфейса 6
2. Алгоритм передачи блока из пяти байт 6
2. Алгоритм приема блока из пяти байт 9
4. Алгоритм работы ЦПУ 11
АЛГОРИТМЫ РАБОТЫ ППУ 14
1. Алгоритм инициализации адаптеров параллельного интерфейса 14
2. Алгоритм работы ППУ 14
3. Алгоритм определения коэффициентов для звуковой индикации 18
4. Алгоритм воспроизведения звуковой последовательности 18
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ 20
1. Функциональная схема центрального процессорного устройства 20
2. Функциональная схема периферийного процессорного устройства 22
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА 26
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ 27
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ 28
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 29
ТЕКСТЫ ПОДПРОГРАММ 30
1. Подпрограммы ЦПУ 30
2. Подпрограммы ППУ 34
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 41
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
включения и индикации включения одного из 5 устройств автоматики.
Устройства автоматики включаются по сигналам периферийного устройства
формируемым на основании информации поступившей от центрального
устройства. Индикация осуществляется подачей конкретного звукового сигнала
с одновременным отображением номера устройства на 7 сегментном индикаторе.
Звуковой сигнал соответствующий включаемому устройству представляет собой
непрерывную звуковую последовательность с параметрами: частоты звучания
0 2.0 2.2 кГц; длительности звучания любого тона 1.0 0.5 1.6. Их
численные значения не известны периферийной стороне и подлежат загрузке из
центрального процессорного устройства. В качестве времязадающего устройства
и формирователя звукового сигнала использовать БИС таймера КР580ВИ53 с
адресацией к ней как к ячейке памяти лежащей (лежащему) в поле адресов
периферийного процессора. Номера включаемых устройств автоматики и
соответствующие им конкретные виды звуковых последовательностей
(длительность и последовательность звучания каждого тона) определяются
программой выполняемой в центральном процессорном устройстве и передаются
периферийному процессору. Длительность звуковой индикации около 30 секунд.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 50 с. После генерации звуковой последовательности
в центральное процессорное устройство выдается сигнал (код включенного
устройства) по которому принимается решение о правильности выполненной
операции. При положительном решении управление передается подпрограмме
центрального процессорного устройства соответствующей номеру включенного
устройства автоматики после чего индикатор должен погаснуть.
Микропроцессор – это построенное на одной или нескольких БИССБИС
программно-управляемое устройство осуществляющее процесс обработки
информации и управление им. Этот термин по видимому самый модный в
современной микроэлектронике и вычислительной технике. Необычайная
популярность микропроцессоров объясняется тем что их появление привело к
внедрению вычислительной техники в самые разнообразные сферы жизни.
Универсальность микропроцессоров ведет к большей тиражности их производства
и следовательно к снижению их стоимости а это в свою очередь расширяет
круг потребителей и способствует увеличению числа задач решаемых с помощью
Микро-ЭВМ – это законченная вычислительная система построенная на
базе микропроцессора и размещенная в одной БИС (однокристальная микро-ЭВМ)
или нескольких БИС установленных на одной плате (одноплатная микро-ЭВМ).
Причем под законченной вычислительной системой следует понимать любое
устройство переработки цифровой информации включающее процессор память и
подсистему вводавывода информации независимо от его целевого назначения
конструктивного исполнения и способов программирования.
В микро-ЭВМ организуется процесс выполнения заданно программы и
самые разные задачи решаются путем выполнения последовательности команд
свойственных данному МП (входящих в его систему команд). Вычислительные
контрольно-измерительные или управляющие системы обрабатывающим элементом
которых служит микропроцессор относятся к числу микро-ЭВМ.
В последнее время никакие сложные технологические процессы немыслимы
без систем автоматического управления построенных на основе
микропроцессорной техники. Целью данного курсового проекта как раз и
является проектирование простейшей микропроцессорной системы которая
предназначалась бы для включения и индикации включения одного из нескольких
устройств автоматики.
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ
Система состоит из двух основных частей: центрального и периферийного
устройства которые связаны между собой двумя однонаправленными каналами
параллельного интерфейса Centronix. Оба устройства построены на основе 580-
го микропроцессорного комплекта и состоят из собственно самого
микропроцессора двух контроллеров параллельного интерфейса постоянного и
оперативного запоминающих устройств. Кроме того в составе ПУ есть блок для
включения и индикации включения одного из устройств автоматики. Блок
индикации включения состоит из устройства генерирующего звуковую
последовательность и устройства для индикации информации. Структурная схема
системы приведена на рис. 1.1.
Рис. 1.1 Структурная схема системы
АЛГОРИТМЫ РАБОТЫ ЦПУ
1. Алгоритм инициализации адаптеров параллельного интерфейса
Инициализация адаптеров заключается в установке портов А и С на ввод
либо на вывод в соответствии с интерфейсом (блоки 1 и 3). А также
установкой управляющих сигналов в 1 или в 0 (блоки 2 и 3).
Структурная схема алгоритма приведена на рисунке 2.1.
Рис. 2.1.Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса ЦПУ
2. Алгоритм передачи блока из пяти байт
В блоке 1 происходит инициализация начальных значений переменных N и K
(число переданных байт). В соответствии с протоколом обмена ЦПУ проверяет
наличие сигнала SLCT (блок 2) в случае его отсутствия переменной А (код
ошибки) присваивается значение 1 (блок 3) и происходит обработка ошибки
(блок 4) и переход к концу алгоритма. Если же сигнал SLCT присутствует то
проверяется наличие сигнала BUSY (блок 5) если сигнал BUSY равен 1 то
переменная N увеличивается на 1 (блок 18) и сравнивается с 255 (блок 19)
если они равны (приемник по каким то причинам не снимает сигнал BUSY в
течение длительного времени) то переменной А присваивается значение 2
(блок 20) происходит обработка ошибки (блок 21) и переход к концу
алгоритма. В противном случае снова проверяется наличие сигнала BUSY. В
случае если сигнал BUSY=0 то переменной N присваивается значение 0 (блок
). После чего нужный байт подготавливается и передается в линию (блок 7) и
формируется сигнал –STB=0 (блок 8) который говорит приемнику о том что
данные находятся в линии. После этого приемник проверяет наличие сигнала
ACKWLG (блок 9). Если он равен 0 то происходит увеличение переменной N на
(блок 14) и она сравнивается с 255 (блок 15). Если они не равны то снова
проверяется сигнал ACKWLG иначе переменной A присваивается значение 3
(блок 16) происходит обработка ошибки (блок 17) и переход к концу
алгоритма. В случае если сигнал -ACKWLG равен единице то устанавливается
сигнал –STB=1 (блок 10) переменная K увеличивается на 1 (блок 11) и
сравнивается с 5 (блок 12). Если они не равны (не все пять байт были
переданы) то переменной N присваивается значение 0 (блок13) и снова
проверяется сигнал SCLT приемника (блок 2). В случае если все пять байт
были переданы то происходит переход к концу алгоритма. Этот же алгоритм
используется периферийным устройством для передачи данных центральному
процессорному устройству.
Структурная схема алгоритма приведена на рисунке 2.2.
Рис 2.2. Структурная схема алгоритма передачи блока из пяти байт
3. Алгоритм приема блока из пяти байт
В блоке 1 происходит установка начальных значений переменных N=0 и K=0
(K – число полученных байт). В соответствии с протоколом обмена приемное
устройство проверяет наличие сигнала –STB (блок 2). В случае его отсутствия
переменная N увеличивается на 1 (блок 3) и сравнивается с255 (блок 4) если
они равны то переменной А присваивается значение 4 (блок 5) происходит
обработка ошибки и переход к концу алгоритма. Иначе снова проверяется
наличие сигнала –STB. Если –STB=0 то происходит прием байта из линии (блок
). Затем сигнал BUSY устанавливается равным 1 (блок 8) и полученный байт
запоминается (блок 9) после чего происходит установление сигнала ACKWLG=1
(блок 10). Далее происходит приостанов работы приемника чтобы сигнал
ACKWLG смог дойти до приемника (блок 11) затем сигнал ACKWLG
устанавливается равным 0 (блок 12) переменная K увеличивается на 1 (блок
) и сравнивается с 5 (блок 14). Если они не равны то устанавливается
сигнал BUSY=0 (блок 16) и снова проверяется сигнал –STB от передатчика
(блок 2) в противном случае устанавливается сигнал BUSY=0 (блок 15) и
происходит переход к концу алгоритма. Этот же алгоритм используется
периферийным процессорным устройством для приема данных от ЦПУ.
Структурная схема алгоритма приведена на рисунке 2.3.
Рис. 2.3. Структурная схема алгоритма приема блока из пяти байт
4. Алгоритм работы ЦПУ
В блоке 1 происходит инициализация адаптеров параллельного интерфейса.
В блоке 2 происходит установка начального значения переменной M=0. В блоке
происходит установка сигналов AUTOFD INIT SELIN в ноль. В блоке 4
центральное процессорное устройство подготавливает данные и передает их
периферийному (блок 5) далее ЦПУ получает эти данные от периферийного
(блок 6) и сравнивает переданные данные с полученными (блок 7). Если они не
совпадают то переменная М увеличивается на 1 (блок 9) и сравнивается с 8
(блок 10). Если они равны то переменной A присваивается значение 5 (блок
) происходит обработка ошибки (блок 14) и переход к концу алгоритма.
Если М не равно 5 то устанавливаются сигналы SELIN=1 и INIT=1 (блок 11)
которые говорят ППУ о том что блок данных содержит ошибку. Далее
происходит задержка (блок 12) и переход к блоку 3. Если же переданный и
полученный блоки равны то устанавливаются сигналы AUTOFD=1 и SELIN=1 (блок
) которые говорят ППУ что блок данных не содержит ошибки. Далее
происходит задержка (блок 16) и установка сигналов AUTOFD=0 SELIN=0.
Далее проверяется наличие сигнала SLCT от ППУ (блок 18). В случае его
отсутствия переменной А присваивается значение 6 (блок 19) происходит
обработка ошибки и переход к концу алгоритма. Иначе проверяется наличие
сигнала –STB (блок 21) если он отсутствует то управление переходит к
блоку 18. В случае если сигнал –STB пришел то данные принимаются из канала
связи (блок 22) и устанавливается сигнал BUSY (блок 23). Далее
устанавливаются сигналы ACKWLG=1 BUSY=0 (блок 24)и происходит задержка
(блок 25). После чего устанавливается сигнал ACKWLG=0 (блок 26). Далее
сравнивается полученный номер устройства и переданный (блок 27) в случае
если они равны то выполняются действия соответствующие номеру включенного
устройства (блок 28) и происходит переход к концу алгоритма. Если же они не
совпали то переменной А присваивается значение 7 (блок 29) происходит
обработка ошибки (блок 30) и переход к концу алгоритма.
Данные о номере включаемого устройства длительности и частоте
звучания передаются центральным процессорным устройством к периферийному в
виде блока из пяти байт:
байт: номер включаемого устройства;
3 байты: целая и дробная часть частоты звучания (кГц);
5 байты: целая и дробная часть длительности звучания (с);
Структурная схема алгоритма приведена на рисунке 2.4.
Рис. 2.4. Структурная схема алгоритма работы ЦПУ
АЛГОРИТМЫ РАБОТЫ ППУ
Структурная схема алгоритма приведена на рисунке 3.1.
Рис. 3.1. Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса
2. Алгоритм работы ППУ
В блоке 2 устанавливается начальное значение переменной N=0. Затем
происходит прием блока данных от ЦПУ (блок 3) и их ретрансляция обратно
(блок 4). Далее проверяется сигнал SELIN от ЦПУ (блок 5). Если он
отсутствует то переменная N увеличивается на 1 (блок 6) и сравнивается с
5 (блок 7). Если они равны то переменной А присваивается значение 8
(блок 8) происходит обработка ошибки (блок 9) и переход к концу алгоритма.
В противном случае происходит переход к блоку 5. Если же сигнал SELIN равен
то переменная N приравнивается нулю (блок 10) и происходит проверка
сигналов INIT и AUTOFD (блок 11). Если INIT=1 и AUTOFD=0 то данные были
приняты неверно в этом случае происходит переход к блоку 3. Если оба
сигнала равны нулю или единице то переменной А присваивается значение 9
(блок 12) происходит обработка ошибки (блок 13) и переход к концу
алгоритма. Если INIT=0 и AUTOFD=1 то происходит вычисление коэффициентов
для таймера-счетчика на основании информации поступившей от ЦПУ (блок 14)
включается устройство автоматики (блок 15) происходит отображение номера
устройства на семисегментном индикаторе (блок 16) и генерация звуковой
последовательности (блок 17).
После генерации звуковой последовательности происходит проверка
сигнала SLCT от ЦПУ (блок 18). Если он равен нулю то переменной А
присваивается значение 10 (блок 19) происходит обработка ошибки (блок 20)
и переход к концу алгоритма. Если сигнал SLCT=1 то в линию передается
номер включенного устройства (блок 21) посылается сигнал –STB=0 (блок 22)
и проверяется сигнал ACKWLG от ЦПУ (блок 23). Если сигнал ACKWLG=0 то
переменная N увеличивается на 1 (блок 26) и сравнивается с 255 (блок 27).
Если они равны то переменной А присваивается значение 11 (блок 28)
происходит обработка ошибки (блок 29)и переход к концу алгоритма. Иначе
происходит переход к блоку 23. Если сигнал ACKWLG равен 1 то происходит
выключение индикатора (блок 24). Далее устанавливается сигнал –STB=1 (блок
) и переход к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.2.
Рис. 3.2. Структурная схема алгоритма работы ППУ
3. Алгоритм определения коэффициентов для звуковой индикации
В блоке 1 происходит преобразование значений длительности из
двухбайтового формата в котором в старшем байте хранится целая часть числа
а в младшем – дробная в однобайтовый в котором значение хранится в виде
одного числа равного исходному умноженному на десять.
В блоках 2 и 3 происходит вычисление констант необходимых для
воспроизведения звуковой последовательности.
В блоке 4 определяется число звуков длительности T для обеспечения
звуковой индикации в течение времени L=25с.
Структурная схема алгоритма приведена на рисунке 3.3.
Рис. 3.3. Структурная схема алгоритма определения коэффициентов для
4. Алгоритм воспроизведения звуковой последовательности
В блоке происходит установка начального значения переменной k=0 (k –
число воспроизведенных звуков). В блоке 2 происходит инициализация таймера.
В блоке 3 в канал 0 таймера загружается значение N0 а в блоке 4 в канал 1
таймера загружается значение N1. В блоке 5 проверяется равно ли содержимое
канала 0 нулю. Если не равно то управление переходит к блоку 5 а если
равно то переменная k увеличивается на 1 (блок 6) и сравнивается с числом
звуков которое надо воспроизвести (блок 7) если они не равны то
управление переходит к блоку 3 иначе - к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.4.
Рис. 3.4. Структурная схема алгоритма воспроизведения звуковой
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ
1. Функциональная схема центрального процессорного устройства
Рис. 4.1. Функциональная схема центрального процессорного устройства
Система состоит из микропроцессора генератора тактовых импульсов
системного контроллера двух адаптеров параллельного интерфейса
оперативного и постоянного запоминающих устройств а также дешифраторов.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то что ШД
находится в режиме приема информации в МП) –WR (указывает на то что
процессор выдает информацию на шину данных) и SYNC (синхронизация
используется генератором тактовых импульсов для формирования строба STB).
Генератор тактовых импульсов формирует тактовые сигналы F1 и F2
сигнал STB который поступая на системный контроллер фиксирует состояние
шины данных микропроцессора сигнал сброса RESET.
Системный контроллер на основе информации получаемой из
микропроцессора формирует сигналы управления чтением и записью информации
в память –MR и -MW а также во внешние устройства –IOR и –IOW.
Адаптеры параллельного интерфейса используются для связи ЦПУ и ППУ.
Первый адаптер используется для передачи данных к ЦПУ а второй для приема
данных от него. Адаптеры параллельного интерфейса адресуются как внешние
устройства. Для их выбора используется дешифратор DC1 который на основе
сигналов -IOR -IOW и информации из линий A6 7 формирует сигнал выбора
одного из адаптеров если в этом есть необходимость. В соответствии с этим
будут использоваться следующие адреса внешних устройств:
h – порт А первого адаптера;
h – порт B первого адаптера;
h – порт С первого адаптера;
h – управляющее слово первого адаптера;
h - порт B второго адаптера;
h – порт С второго адаптера;
h – управляющее слово второго адаптера.
Микросхемы RAM и ROM адресуются как устройства памяти. Для их выбора
используется дешифратор DC2 который на основе сигналов –MR -MW и
информации из линий A1211 формирует сигнал выбора микросхемы RAM или ROM
если в этом есть необходимость. В соответствии с этим будут использоваться
следующие адреса памяти:
00h-07FFh – адреса ПЗУ;
00h-0FFFh – адреса ОЗУ.
Дешифратор DC1 предназначен для формирования сигналов выбора кристалла
для запоминающих устройств адресуемых как внешние устройства а DC2 – для
запоминающих устройств адресуемых как ячейки памяти.
2. Функциональная схема периферийного процессорного устройства
Функциональная схема периферийного процессорного устройства приведена
Рис. 4.2. Функциональная схема периферийного процессорного устройства
оперативного и постоянного запоминающих устройств а также из ряда
логических схем для включения устройства автоматики звуковой сигнализации
индикации включения одного из устройств автоматики и селекции адресов
памяти и внешних устройств.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то
что ШД находится в режиме приема информации в МП) –WR (указывает на то
что процессор выдает информацию на шину данных) и SYNC (синхронизация
Адаптеры параллельного интерфейса адресуются как внешние устройства.
Для их выбора используется дешифратор DC1 который на основе сигналов -IOR
-IOW и информации из линий A6 7 формирует сигнал выбора одного из
адаптеров если в этом есть необходимость. Дешифратор DC1 также
вырабатывает управляющие сигналы для включения одного из устройств
автоматики и для включения и выключения семисегментного индикатора. На
этапе инициализации происходит вырабатывание сигнала -S2 вследствие чего
сигналы CS для дешифратора DC3 и STB для регистра RG будут равны 1 и они
будут оставаться равными единицами после прекращения подачи сигнала –S2.
Для включения устройства автоматики и индикации его включения на шину
данных помещается номер требуемого устройства и вырабатывается сигнал –S1.
Вследствие этого сигналы CS для дешифратора DC3 и STB для регистра RG будут
равны нулю. Сигнал СS низкого уровня разрешит работу дешифратора который
преобразует номер устройства в двоичном виде в код для семисегментного
индикатора и произойдет индикация включения. Сигнал STB низкого уровня
вызовет запоминание текущего состояния шины данных. При подаче сигнала –S1
также произойдет выбор дешифратора DC4 в результате чего дешифратор
преобразует номер устройства с шины данных и подаст сигнал на одно из
устройств автоматики. Индикация включения будет происходит даже после
прекращения подачи сигнала –S1. При подаче сигнала –S2 сигналы CS и STB
установятся в единицу что вызовет прекращение индикации включения.
В ЦПУ будут использоваться следующие адреса внешних устройств:
h – порт А второго адаптера;
h – управляющее слово второго адаптера;
h – используется для включения устройства автоматики и индикации
C0h – используется для прекращения индикации включения.
если в этом есть необходимость.
Таймер используется для формирования звукового сигнала. Обращение к
таймеру будет происходить как к ячейке памяти.
В ППУ будут использоваться следующие адреса памяти:
00h-0FFFh – адреса ОЗУ;
00h – счетчик 0 таймера;
01h – счетчик 1 таймера;
02h – счетчик 2 таймера;
03h – управляющее слово таймера;
И под ПЗУ и под ОЗУ выделено по два килобайта памяти.
запоминающих устройств адресуемых как ячейки памяти. Дешифратор DC3
предназначен для преобразования двоичного кода в код для семисегментного
индикатора. Дешифратор DC4 предназначен для формирования сигнала который
включал бы одно из устройств автоматики.
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА
Для обмена информацией между центральным и периферийным процессорными
устройствами используется интерфейс построенный на основе интерфейса
Centronix. Так как Centronix является односторонним интерфейсом то для
обеспечения двунаправленной передачи данных используется два канала
которые функционируют по стандартам этого интерфейса. Функциональная схема
канала передатчика ЦПУ – приемник ППУ приведена на рис. 2.1.
Рис 5.1. Схема канала передатчик ЦПУ – приемник ППУ
При наличии сигнала SLCT источник проверяет состояние сигнала BUSY и
если он сброшен выставляет данные на линии данных и выдает сигнал -STB.
Приемник по сигналу -STB считывает данные и устанавливает сигнал BUSY.
После окончания обработки данных приемник выдает сигнал ACKWLG и снимает
сигнал BUSY. Так как при обмене в линии связи могут происходить ошибки то
после получения информации приемником он отправляет ее обратно
передатчику. Передатчик сравнивает ее с переданной информацией и по
результатам сравнения устанавливает либо сигналы AUTOFD=1 INIT=0 SELIN=1
в случае если информация была получена приемником без ошибок либо сигналы
AUTOFD=0 INIT=1 SELIN=1 в противном случае.
Схема канала приемник ЦПУ- передатчик ППУ не отличается от приведенной
выше за исключением того что сигналы AUTOFD INIT и SELIN отсутствуют.
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ
В соответствии с техническим заданием комплекс был построен на базе
микропроцессорного комплекта КР580. Поэтому были использованы следующие БИС
этого комплекта: микропроцессор - КР580ВМ80А генератор тактовых импульсов
– КР580ГФ24 системный контроллер – КР580ВК28 адаптеры параллельного
интерфейса – КР580ВВ55 таймер – КР580ВИ53 шинные формирователи для шины
В качестве оперативного и постоянного запоминающих устройств были
использованы микросхемы КР537РУ10 и КР573РФ2. Они обе выполнены по ТТЛ-
технологии и имеют емкость 16Кбит (2К*8).
Для выбора устройств микропроцессорного комплекта применяются
логические микросхемы серии К155 выполненные по ТТЛ технологии. Для
построения комплекса были использованы следующие логические микросхемы:
К155ЛИ1 (4-2И) К155ЛЛ1 (4-2ИЛИ) К155ЛН1 (6 НЕ) К155ИД4 (дешифратор
который использовался в схемах селекции адреса) К155ИД12 (дешифратор
который используется для включения одного из устройств автоматики).
Для индикации включения используется семисегментный индикатор АЛС-
3А а для преобразования номера устройства из двоичного кода в код для
семисегментного индикатора применяется дешифратор К514ПР1 (серия К514
разработана для управления индикаторами и поэтому никаких дополнительных
согласующих микросхем не требуется).
Для звуковой сигнализации используется пьезоэлектрический излучатель
ЗП1 который может подключаться прямо к одному из выходов таймера.
Для подавления высокочастотных помех по цепям питания применяются
конденсаторы емкостью 002мкФ которые включаются между выводом +5V
микросхем и шиной GND в непосредственной близости от микросхемы.
Для ограничения входных токов микросхем при формировании на их входах
состояний логической единицы применяются резисторы с сопротивлением 1 кОм.
Для подстройки кварцевого резонатора используется конденсатор емкостью
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ
ЦПУ Адаптер 1 Интерфейс ППУ Адаптер 2
(передатчик) Номер контакта Сигнал (приемник)
PA7-0 2-9 D0 D7 PA7-0
Рис. 7.1 Схема соединения первого адаптера ЦПУ и второго адаптера ППУ
ЦПУ Адаптер 2 Интерфейс ППУ Адаптер 1
(приемник) Номер контакта Сигнал (передатчик)
Рис. 7.2 Схема соединения второго адаптера ЦПУ и первого адаптера ППУ
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Для воспроизведения одиночного звука заданной длительности и частоты
используется два канала таймера: канал 0 использован для генерации
прямоугольных импульсов заданной частоты а канал 1 – для задания
необходимой длительности.
Канал 0 программируется в режим 3 – генерация прямоугольных сигналов
со скважностью 2 (меандр). Выход имеет высокий уровень в течение NT2 если
N четное или (N+1)T2 если N нечетное (здесь N – число записанное в
счетчике 0 T – период импульсов синхронизации канала 0). В качестве
импульсов синхронизации используется синхропоследовательность с выхода С
генератора тактовых импульсов с частотой F=2 Мгц. Таким образом для
генерации звука частотой F необходимо загрузить счетчик 0 двоичным числом
Канал 1 программируется в режим 0 – прерывание по окончании счета. В
этом режиме по окончании отсчета N1 тактов синхронизации на входе
генерируется сигнал высокого уровня тогда как в процессе счета выходной
сигнал – низкоуровневый. Этот сигнал вместе с сигналом с выхода канала 0
поступают на элемент 2-ИЛИ-НЕ который разрешает генерацию звука лишь при
низкоуровневом сигнале с выхода первого канала. В качестве импульсов
синхронизации используется последовательность импульсов с выхода канала 0.
Поэтому период импульсов с выхода канала 1 будет определяться как:
где N1 – число загружаемое в канал1 F0 – требуемая частота звучания
(частота сигнала с выхода канала 0).
Тогда для обеспечения заданной длительности T необходимо загрузить в
По окончании отсчета числа в счетчике 1 на выходе канала 1
установится сигнал высокого уровня после чего звучание автоматически
После занесения в таймер значений N0 и N1 необходимо в цикле проверять
содержимое счетчика 1 как только его содержимое станет равным нулю
допустимо воспроизведение следующего звука.
Подпрограмма инициализации адаптеров параллельного интерфейса ЦПУ
MVI управляяющее слово: режим0 порт А – вывод порт
С7-4 -ввод порт PC3-0 – ввод
OUT 03h ;03h – адрес управляющего слова первого адаптера
MVI управляющее слово: режим0 порт А – ввод порт
С7-4 -вывод порт PC3-0 – вывод
OUT 43h ;43h – адрес управляющего слова второго адаптера
OUT 03h ; установка сигнала STB=1
OUT 03h ; установка сигнала INIT=0
OUT 03h ; установка сигнала AUTOFD=0
OUT 03h ; установка сигнала SELIN=0
OUT 43h ; установка сигнала SLCT=1
OUT 43h ; установка сигнала BUSY=0
OUT 43h ;установка сигнала ACKWLG=0
Подпрограмма передачи блока из пяти байт
В регистре B будет хранится значение переменной N а в регистре С
будет храниться значение переменной K.
Значение errcode – указывает на адрес в памяти по которому хранится
номер ошибки. Значение data1 – указывает на адрес в памяти начиная с
которого хранится блок данных которые надо передать.
IN 02h ;поместить в А содержимое порта С первого адаптера
ANI 00010000b ;анализ четвертого бита содержимого А
JNZ Labeпереход если SLCT=1
LXI Herrcode ;загрузка в пару HL адреса по которому хранится код
MVI M1 ;установка номера ошибки
CALL error ;обработка ошибки
ANI 00100000b ;анализ пятого бита содержимого А
JZ Labeпереход если BUSY=0
JNZ Labeпереход если N!=255
MOV AM ;поместить байт который надо передать в аккумулятор
OUT 00h ;поместить данные в порт А
OUT 03h ;установка сигнала STB=0
IN 02h ; поместить в А содержимое порта С первого адаптера
ANI анализ шестого бита аккумулятора
JNZ Labeпереход если сигнал ACKWLG!=0
OUT 03h ;установить сигнал STB=1
INR C ;увеличить число переданных байт
INX H ;сформировать адрес следующего байта который будет передан
CPI 5d ;сравнить число переданных байт с пятью
JZ Labeесли передано пять байт то переход
Подпрограмма приема блока из пяти байт
номер ошибки. Значение data2 – указывает на адрес в памяти начиная с
которого хранится блок данных который получает приемное устройство.
ANI 00000001b ;проанализировать значение нулевого бита аккумулятора
JZ Labeпереход если STB=0
MVI M4 ;запись по адресу errcode номера ошибки
IN 00h ;поместить данные из порта А первого адаптера в аккумулятор
MOV MA ;записать полученный байт в память
OUT 03h ;установить сигнал BUSY=1
OUT 03h ;установить сигнал ACKWLG=1
Labeорганизация задержки на 41мкс (82 такта)
OUT 03h ;установить сигнал ACKWLG=0
INR C ;увеличение числа принятых байт
INX H ;сформировать адрес следующего принятого байта
CPI 5d ;сравнить число полученных байт с пятью
JZ Labeпереход если были приняты все пять байт
OUT 03h ;установить сигнал BUSY=0
Подпрограмма работы ЦПУ
Значение data1 указывает на адрес начиная с которого будут храниться
данные для передачи data2 – указывает на адрес начиная с которого будут
храниться принимаемые данные errcode – адрес по которому хранится номер
ошибки nomer – адрес по которому хранится номер включаемого устройства.
OUT 03h ;Установить сигнал AUTOFD=0
OUT 03h ;Установить сигнал SELIN=0
OUT 03h ;Установить сигнал INIT=0
CALL Pered ;передать блок данных
CALL Prпринять блок данных
MOV AM ;поместить в аккумулятор содержимое ячейки памяти на которую
CMP M ;сравнить переданный и полученный байты
JNZ Labeпереход если байты не равны
INX H ;инкремент адреса Data2
INX H ;инкремент адреса Data1
INR B ;инкремент числа правильных байт
CPI 5d ;сравнение числа правильных байт с пятью
JZ Labeпереход если блоки данных совпадают
JMP Labeпереход на проверку следующего байта в блоке
INR C ;инкремент числа ошибок
CPI 8d ;сравнение числа ошибок с 8
JZ Labeпереход если совершено 8 неудачных попыток передать
OUT 03h ;установить сигнал SELIN=1
OUT 03h ;установить сигнал INIT=1
JMP Labeпереход на новый прием блока данных
CALL error ;вызов подпрограммы обработки ошибок
OUT 03h ;установить сигнал AUTOFD=1
OUT 03h ;установить сигнал AUTOFD=0
OUT 03h ;установить сигнал SELIN=0
ANI 00010000b ;анализ 4 бита аккумулятора
ANI 00000001b ;анализ первого бита аккумулятора
JNZ Labeпереход если STB=1
OUT 42h ;установить сигнал BUSY=1
OUT 42h ;установить сигнал ACKWLG=1
OUT 42h ;установить сигнал ACKWLG=0
OUT 42h ;установить сигнал BUSY=0
CMPM ;сравнить присланный номер устройства и номер хранящийся в
JZ Labeпереход если они равны
CALL avtomat ;вызов подпрограммы выполняющей действия в
соответствии с номером устройства
Подпрограмма инициализации адаптеров параллельного интерфейса ППУ
OUT 43h ; 43h – адрес управляющего слова второго адаптера
Подпрограмма работы ППУ
Значение data2 указывает на адрес начиная с которого будут храниться
принимаемые данные для передачи errcode – адрес по которому хранится
номер ошибки. В регистре B будет храниться значение переменной N.
CALL PИнициализация адаптеров параллельного интерфейса
CALL PrПрием блока данных
CALL Pered ;Отправка блока данных
ANI 00001000b ;Анализ третьего бита аккумулятора
JNZ LabeПереход если сигнал SELIN=1
JZ Labeпереход если N=255 (сигнал SELIN долгое время не
ANI 00000100b ;Анализ второго бита аккумулятора (сигнал AUTOFD)
JNZ Labeпереход если AUTOFD=1
ANI 00000010b ;Анализ первого бита аккумулятора (сигнал INIT)
JNZ Labeпереход если INIT=1 и AUTOFD=0
CALL eror ;вызов подпрограммы обработки ошибок
ANI 00000010b ;Анализ второго бита аккумулятора (сигнал INIT)
JZ LabeПереход если AUTOFD=1 и INIT=0
JMP Переход если AUTOFD=1 и INIT=1
CALL coef ;вычисление коэффициентов для звуковой индикации
OUT C0h ;инициализация блока индикации
OUT 80h ;включение индикатора и устройства автоматики
CALL sound ;проиграть звуковую последовательность
ANI 00010000b ;анализ четвертого бита аккумулятора (сигнал SEL)
JNZ Labeпереход если SEL=1
OUT 00h ;отправить номер устройства
OUT 03h ;установить сигнал STB=0
ANI 01000000b ;анализ шестого бита аккумулятора (сигнал ACKWLG)
JZ Labeпереход если ACKWLG=0
OUT C0h ;выключить индикатор
CPI FFh ;сравнить N и 255
Подпрограмма определения коэффициентов для таймера:
Значения Fn и Tn указывают на адреса в памяти по которым хранятся
значения F’ и T’. Значения N01 N02 – на адреса в памяти по которым
хранится старший и младший байт коэффициента N0. Значения N11 N12 – на
адреса в памяти по которым хранятся старший и младший байт коэффициента
N1. Значение number – на адрес по которому хранится число звуков которое
надо воспроизвести для обеспечения заданной длительности. Значение Data2 –
на адрес по которому хранится принятый блок данных.
Labeв регистре C теперь находится целая часть от деления 200 на
MOV CA ;в регистре С теперь хранится целая часть от деления 200 на
MOV MD ;в регистре D находится старший байт значения N0
MOV ME ;в регистре E находится младший байт значения N0
MOC CA ;в регистре С теперь хранится T’*10
MOV MD ;в регистре D хранится старший байт значения N1
MOV ME ;в регистре E хранится младший байт значения N2
;определение количества звуков
Подпрограмма воспроизведения звуковой последовательности
Значения N01 N02 – на адреса в памяти по которым хранится старший и
младший байт коэффициента N0. Значения N11 N12 – на адреса в памяти по
которым хранятся старший и младший байт коэффициента N1. Значение number –
на адрес по которому хранится число звуков которое надо воспроизвести для
обеспечения заданной длительности. В регистре B будет храниться число
воспроизведенных звуков.
OUT 1003h ;инициализация нулевого канала таймера (двоичный счет
режим 3 обращение к младшему а затем к
OUT 1000h ;загрузка в канал 0 значения N0
OUT 1003h ; инициализация первого канала таймера (двоичный счет
режим 1 обращение к младшему а затем к
OUT 1001h ;загрузка в канал 1 начального значения N1
;проверка содержимого канала 1
CPI 0d ;сравнить содержимое младшего байта канала 1 с нулем
JNZ Labeпереход если содержимое не равно нулю
CMP B ;сравнить число воспроизведенных звуков с требуемым
JNZ Labeпереход если они не равны
В ходе курсового проектирования было спроектировано микропроцессорное
устройство состоящее из центрального и периферийного процессорных
устройств. Устройство предназначено для включения и индикации включения
одного из семи устройств автоматики. При этом центральное процессорное
устройство подготавливает номер устройства и параметры звуковой
последовательности а затем передает их периферийному процессорному
устройству которое включает устройство автоматики и осуществляет индикацию
включения путем отображения номера устройства на семисегментном индикаторе
и проигрыванием звуковой последовательности. Центральное и периферийное
процессорные устройства связаны между собой интерфейсом Centronix.
Спроектированная система вряд ли найдет какое-либо практическое
применение из-за использования устаревшего микропроцессорного комплекта. К
тому же для выполнения поставленной задачи можно было бы разработать более
простую систему (например использовать только один адаптер параллельного
интерфейса или вообще отказаться от периферийного процессорного
Но в ходе выполнения этого курсового проекта были получены навыки по
проектированию простейших микропроцессорных устройств которые могут
пригодиться в будущем при разработке сложных микро-ЭВМ построенных на базе
более современных микропроцессорных комплектов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и мини-ЭВМ. Л.:
Энергоатомиздат 1984. 376 с.
Иванов В.И. Аксенов А.И. Юшин А.М. Полупроводниковые оптоэлектронные
приборы: справочник. М.: Энергоатомиздат 1984. 184 с.
Майоров В.Г. Гаврилов А.И. Практический курс программирования
микропроцессорных систем. М.: Машиностроение 1989. 272 с.
Мячев А.А. Интерфейсы систем обработки данных. М.: Радио и связь 1984.
Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги: справочник
т.4. М.: КубК-а 1997. 576 с.
т.2. М.: КубК-а 1997. 640 с.
Рахимов Т.М. Справочник по микросхемам серии К155. Новосибирск 1991.
Угрюмов Е. П. Цифровая схемотехника. СПб.: БХВ-Петербург 2001. 528 с.
Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматического
управления. Л 1987. 640с.
Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных
схем: справочник т.1. М.: Высш. шк. 1988. 159с.
ПРИЛОЖЕНИЕ 1. ПЕРИФЕРИЙНОЕ ПРОЦЕсСОРНОЕ УСТРОЙСТВО. ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
Адаптер параллельного интерфейса
Блок включения устройств автоматики
Устройства автоматики
Семисегментный индикатор
Устройство для воспроизведения звуков
Установка управляющих сигналов первого адаптера: STB=1 AUTOFD=0 INIT=0
Инициализация первого адаптера:
группа А – вывод C7-4 – ввод С3-0 -вывод
Инициализация второго адаптера:
Группа А – ввод C7-4 – вывод C3-0 -ввод
Установка управляющих сигналов второго адаптера: SLCT=1 BUSY=0 ACKWLG=0
Включить устройство автоматики
Вычисление коэффициентов для звуковой индикации
Обработка ошибки ошибкуиошибку
Проверить сигналы INIT AUTOFD
Установка управляющих сигналов первого адаптера: -STB=1
Сравнить число воспроизведенных звуков с необходимым
Проверить содержимое канало0
Загрузить в канал 1 значение N1
Загрузить в канал 0 значение N0
Инициализация таймера: канал0- режим3 канал1 – режим 0
Вычисление необходимого числа звуков для обеспечения заданной длительности
сигнализации (целая часть от деления 250 на T’)
Вычисление значения N1=10*F’T’
Вычисление значения N0=(200F’)*100
Преобразование значений длительности и частоты из двухбайтового формата в
однобайтовый (вычисление F’ и T’)
Установить сигнал –STB=0
Установка управляющих сигналов второго адаптера SLCT=1 BUSY=0 ACKWLG=0
Проверить сигнал –STB передатчика
Получить байт из линии
Установить сигналы AUTOFD=1 SELIN=1
Установить сигналы INIT=1 SELIN=1
Сравнить переданный и полученный блоки
Получить блок данных
Передать блок данных
Подготовить блок данных
Установить сигналы AUTOFD=0 INIT=0 SELIN=0
Инициализация переменных
Инициализация адаптеров параллельного интерфейса
Выполнение действий соответствующих номеру включенного устройства
Сравнить номера включенного устройства и устройства которое требовалось
Установить сигнал BUSY=1
Получить код включенного устройства
Проверить сигнал STB
Проверить сигнал SLCT от ППУ
Установить сигнал ACKWLG=1
Установить сигнал BUSY=0
Установить сигнал ACKWLG=0
Установить сигнал –STB=1
Проверить сигнал ACKWLG от ЦПУ
Поместить в линию номер устройства
Проверить сигнал SEL от ЦПУ
Проверить сигнал SELIN от ЦПУ
Проверить сигнал ASKWLG приемника
Подготовить и поместить байт в линию
Проверить сигнал BUSY приемника
Проверить сигнал SLCT от приемника

icon текст (20).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА КОНТРОЛЯ СРАБАТЫВАНИЯ АВАРИЙНЫХ ДАТЧИКОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ 6
Принципиальная схема периферийного устройства 6
Микропроцессор КР580ВМ80А 6
Генератор тактовых импульсов КР580ГФ24 7
4 Шинный формирователь КР580ВА86 8
5. Системный контроллер КР580ВКЗ8 8
Контроллер параллельного интерфейса КР580ВВ55 9
8. Программируемый контроллер прерываний КР580ВН59 13
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX . 15
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА 16
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ 17
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА 19
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА 19
1.Периферийное устройство 28
2.Центральное устройство 36
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 40
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
обнаружения срабатывания хотя бы одного аварийного датчика (замыкание
контактов). Датчики располагаются 4 группами по 18 штук. Номера датчиков
подлежащих опросу задаются программой выполняемой в центральном
процессорном устройстве и передаются периферийной стороне. Процедура
периодического опроса датчиков полностью организуется периферийным
процессором. Период опроса любого датчика T остается постоянным на все
время опроса датчиков в данной конфигурации. Передаваемые значения T лежат
в пределах 1.6-11.2 сек с точностью 0.1. Опрос датчиков в данной
конфигурации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 10 минут. Если
срабатывание конкретного датчика продолжается более 12 периодов опроса
управление должно быть передано некоторой подпрограмме центрального
процессорного устройства соответствующей номеру группы (т.е. периферийное
устройство должно сообщать центральному о каждом факте срабатывания
датчиков более 12 периодов). В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к ячейке памяти
лежащей в поле адресов периферийного процессора.
На практике часто возникает необходимость в устройстве обнаружения
срабатывания объединенных в группы датчиков. Для этого предназначено данное
устройство (структурная схема приведена на рис. 1 функциональная схема
приведена на рис. 2). Комплекс представляет собой центральное и
периферийное устройства соединенных интерфейсом CENTRONIX. Периферийное
устройство предназначено для опроса датчиков и первичной обработки данных
от датчиков (определение групп в которых существуют датчики сработавшие
более Р периодов опроса). Центральное устройство предназначено для
дальнейшей обработки данных о датчиках поступающих от периферийного
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ
1. Принципиальная схема периферийного устройства
Комплекс состоит из центрального и периферийного устройств на основе
микропроцессорного комплекта К580 связанных интерфейсом CENTRONIX. В
состав периферийного устройства входят микропроцессор КР580ВМ80А БИС
параллельного интерфейса КР580ВВ55 программируемого таймера КР580ВИ53
программируемого контроллера прерываний КР580ВН59 генератора тактовых
импульсов КР580ГФ24 системного контроллера КР580ВК38 3 буфера данных
КР580ВА86 постоянного запоминающего устройства КР588РР2 оперативного
запоминающего устройства КР533РУ10 3 дешифратора К155ИДЗ дешифратор
К155ИД14 инверторы К155ЛН1 антиконьюнктор К155ЛЕ1.
Датчики представляют собой матрицу 27*3 элементов. Сканирование
датчиков производится выдачей кода столбца в канал В КР580ВВ55 код столбца
дешифрируется и подается на матрицу. Сигналы сработавших датчиков поступают
в буфер данных КР580ВА86 затем через шину данных и системный контроллер
поступают в периферийный процессор.
2. Микропроцессор КР580ВМ80А
Микросхема КР580ВМ80А - функционально-законченный однокристальный
параллельный 8-разрядный микропроцессор с фиксированной системой команд
применяется в качестве центрально процессора в устройствах обработки данных
и управления. Микропроцессор имеет разделенные 16-разрядный канал адреса и
-разрядный канал данных. Канал адреса обеспечивает прямую адресацию
внешней памяти объемом до 65536 байт 256 устройств вводавывода.
Назначение выводов микропроцессора КР580ВМ80А
Вывод Обозначение Тип вывода Функциональное назначение
25-27 А10 А0-А2 Выходы Канал адреса
-10 D4-D7 D3-D0 Входывыходы Канал данных
UIO Напряжения источника смещения
Reset Вход Установка в исходное
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
UCC1 -- Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 -- Напряжение питания +12В
3. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2
предназначен для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния 8ТВ;
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения
Назначение выводов микросхемы КР580ГФ24.
ВыводОбозначение Тип вывода Функциональное назначение выводов
Reset Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
C Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucc2 Вход Напряжение питания +12В
C2 Выход Тактовые сигналы - фаза С2
C1 Выход Тактовые сигналы- фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Ucc1 Вход Напряжение питания +5В
4 Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный
формирователь предназначенный для обмена данными между микропроцессором
и системной шиной; обладают повышенной нагрузочной способностью имеет
третье состояние на выходе.
Назначение выводов микросхемы КР580ВА86.
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ц* - Напряжение питание 5В±5%
5. Системный контроллер КР580ВКЗ8
Микросхема КР580ВК38 - системный контроллер и буферный регистр
данных применяемых в микропроцессорных системах на базе микропроцессора
КР580ВМ80А для формирования управляющих сигналов и как буферный регистр
данных. Системный контроллер формирует управляющие сигналы RD WR RDIO
WRIO INTA по сигналам состояния микропроцессора а также обеспечивает
прием и передачу 8-разрядной информации между каналом данных
микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0.
Назначение выводов микросхемы КР580ВК38
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DВ4 DВ7 DВЗ Выход вход Канал данных системы
10 D4 D7 D3 D2Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
UCC Вход Напряжение питания +5В
6. Контроллер параллельного интерфейса КР580ВВ55
Микросхема КР580ВВ55 программируемое устройство вводавывода
параллельной информации применяется в качестве элемента
вводавывода общего назначения сопрягающего различные типы
периферийных устройств с магистралью данных систем обработки информации.
Обмен данными между магистралью данных систем и микросхемой КР580ВВ55
осуществляется через 8-разрядный двунаправленный трехстабильный канал
данных (D). Для связи с периферийными устройствами используется 24 линии
вводавывода сгруппированные в три 8-разрядных канала ВА ВВ ВС
направление передачи информации и режимы работы которых определяются
программным способом. В данном устройстве микросхема КР580ВВ55
программируется в режим 2 в котором обеспечивается двунаправленная
передача информации по каналу А между периферийным и центральным
процессорами. При этом линии канала С используются для приема и выдачи
сигналов управления обменом. Линии канала В программируются в режим 0
синхронный обмен используемый для опроса датчиков.
Назначение выводов микросхемы КР580ВВ55
-4 ВАЗ-ВАО Входывыходы Информационный канал А
RD Вход Чтение информации
CS - Выбор микросхемы
А1АО Вход Младшие разряды адреса
-17 ВС7-ВС4 Входывыходы Информационный канал С
-25 ВВО-ВВ7 Входывыходы Информационный канал В
Ucc - Напряжение питания 5В±5%
-34 D7-DO Входывыходы Канал данных
Reset Вход Установка в исходное состояние
WR Вход Запись информации
Рис. 3. Схема подключения двух КР580ВВ55 для обмена в режиме 2
Слово-состояние канала С в режиме 2
Рис. 4. Временная диаграмма работы КР580ВВ55 в режиме
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-
разрядных каналов с общей системой управления. Каждый из трех каналов
может быть независимо настроен на работу в одном из шести режимов. В
данном устройстве каналы 0 и 1 программируется в режим 2. Канал 0
генерирует периодический сигнал с частотой 1D (D-точность периода опроса
датчика) который подается на вход синхронизации канала 1 настраиваемый
генерацию периодического сигнала соответствующего периоду опроса датчика.
Обмен информацией с микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных.
Максимальное значение счета в двоичном коде 216.
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO Входывыходы Канал данных
518 СО Cl C2 Входы Синхронизация каналов 0-2
13 OUTO ОЩ1 OUT2Выходы Сигналы каналов 0 1 2
14 CEO CE1 СЕ2 Входы Сигналы каналов 0 1 2
20 А0А1 Входы Сигналы выбора каналов 0 1 2
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
Рис. 5. Временная диаграмма таймера в режиме 2
Расчет для канала 0 таймера. Реализация периодического сигнала
точности опроса датчика В=10000мкС соответствует 0010 0111 0001 0000
состояния 0 канала - 27 младший -10
Расчет для канала 1 таймера. Реализация периодического сигнала с в N раз
периодом чем сигнал канала 0 таймера. Нижняя граница - 1100*D => 0000
Верхняя граница - 10400*D => 0010 1000 1010 0000 => 28АО
8. Программируемый контроллер прерываний КР580ВН59
Устройство реализующее до восьми уровней запросов на прерывание с
возможностями программного маскирования и изменения дисциплины
обслуживания прерываний. За счет каскадного включения число уровней
прерывания может быть расширено до 64.
В данном устройстве применяется режим с фиксированными приоритетами
Назначение выводов микросхемы КР580ВН59
Обозначение выводаНомер контакта Назначение вывода
D(7-0) 4; 5; 6; 7; 8; 9; Входвыход данных
RD 3 Вход строба чтения
WR 2 Вход строба записи
загрузки команд и считывания
CS 1 Вход выбора микросхемы
CASO-CAS2 12 13 15 Входывыходы каскадирования
SP 16 Признак подчинения (1
-ведущий 0-ведомый)
INTA 26 Подтверждение прерывания (1
-выдача CALL на шину данных)
INT 17 Прерывание (1 -запрос на обсл.
IRQO-IRQ7 18; 19; 20; 21; 22;Входы запросов
; 25 (положительный фронт)
Ucc 28 Напряжение питания +5В
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX
Интерфейс Centronics обеспечивает радиальное подключение (посредством
кабеля) устройств с параллельной передачей информации с микропроцессорным
управлением. Отечественным аналогом интерфейса Centronics является
интерфейс ИРПР-М. Передача данных осуществляется между одним источником (И)
и одним приемником (П). Устройства или контроллеры совмещающие функции И и
П должны содержать два набора линий интерфейса Centronics.
Набор обязательных линий (сигналов) сопряжения разделенных на три
группы (заземление и питание управления информационные) приведен в табл.
Набор обязательных линий (сигналов) сопряжения
Наименование Обозначение Направление
Готовность приемника SLCT отПкИ
Строб - STROBE от И кП
Подтверждение - ACKWLG отП к И
Автоматический перевод- AVTOFD отИкП
Информационные линии
Данные (1 8) DO D7 —
Линии заземления и питания
«Строб»: при лог. 01 - данные действительнынедействительны.
Длительность импульса с лог. 0 - не менее 05 мкс.
«Данные»: высокомунизкому уровню соответствует лог. 10. Комбинации
сигналов на линии данных соответствует код графического символа или код
функции и на них не накладываются ограничения. Для конкретных устройств
допускается использование меньшего числа разрядов.
«Подтверждение»: лог. 10 означает что приемник готовне готов к
приему данных но принял предыдущие данные.
«Готовность приемника»: лог. 10 означает что приемник
неработоспособенработоспособен и не готовготов принимать данные.
«Автоматический перевод строки»: лог. 10 означает что приемник не
выполняетвыполняет самостоятельный перевод бумаги на одну строку по
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА
Распределение адресного пространства
Начальный Конечный Устройство Тип адресации
00 07FF PROM (ПЗУ) Устройство памяти
00 OFFF RAM (ОЗУ) Устройство памяти
17 СТ (таймер) Внешнее устройство
IF BD (буфер сработавших датчиков) Внешнее устройство
00 1FFF ЮР (контр паралл. Интерфейса) Устройство памяти
При распределении адресного пространства использован метод частичной
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ
Символические адреса используемые в программе
Двоичный адрес Шестнадцатиричн Обозначение Примечание
xхх01000 0800 CountSensor Начало таблицы счетчиков
000000 срабатывания датчиков
xхх01001 0900 QuestSensor Начало таблицы подлежащих
000000 опросу датчиков
xxx0lll 11100000OFEO IRQO Адреса перехода по
xxx0lll 11100100OFE8 IRQ1
Для сообщения от ЦПУ
xхх01010 ОАОО Counter Счетчик байт
xхх01010 ОА01 Addrl Адреса для приема байт
000001 сообщения ЦПУ
ххх01010 *ОА02 Addr2
ххх01001 0980 ToCentre Слово посылаемое в ЦПУ
ххх00ххх 00 Lamp Светодиод неисправности
обмена данными между ЦПУ
ххх 10x00 10 PortA Порт А ЮР
xxxl0x0l 11 PortB Порт В ЮР
ххх10х10 12 PortC Порт С ЮР
xxxl0xll 13 lOPControl Управляющее слово ЮР
XXX 11 XXX 18 AddrBD Адрес буфера сработавших
xxx0lxx0 08 PICO Адреса PIC
ххх11x00хххххххх1800 TimerO Адрес канала 0 СТ
xxxllxOlхххххххх1900 Timer 1 Адрес канала 1 СТ
xxxl1x11хххххххх1ВОО TimerControl Регистр управляющего
Описание констант используемых в программе
Двоичное Шестнадцатиричное ОбозначениеПримечание
100111 27 DOld Точность (соответствует F 10000
F-тактовая частота) для режима 2
101110 2Е N Число столбцов (46)
010001 11 Р Число периодов срабатывания датчика
111111 FF Mistake Ошибка
000011 03 ForSensor Сообщение о датчиках
000001 81 ForTimer Сообщение для Таймера
Для контроллера параллельного интерфейса
000001 01 LampOn Включить светодиод
000000 00 LampOff Выключить светодиод
0хх000 СО ContrlOP Управляющее слово для ЮР (D6D5-
канал А - режим 2 В2-канал В -
режим 0 D1 -вывод канала В DO
-оставшиеся линии С на вывод)
Для таймера (В7В6-канал D5D4-6aUTD3-Dl -режим DO-система исчисления)
11x100 24 СТО СТО два байта реж2 двоими.
11x100 74 СТ1 СТ1 два байта реж2 двоими.
Команды инициализации для программируемого контроллера прерываний
110110 F6 ICW1 О7-О5-адрес В2-число байт
хххОПП 07 ICW2 Старший байт адреса
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА
После включения питания ППУ и ЦПУ в них происходит инициализация
контроллера параллельного интерфейса БИС КР580ВВ55 (порт А - режим 2 порт
В - режим 0) инициализация таймера БИС КР580ВИ53 (каналы 0 и 1 - в режим
деления частоты канал О настраивается на генерацию периодического сигнала
с периодом равным точности D) инициализация контроллера прерываний.
Начинается опрос датчиков с периодом по умолчанию (максимальный период). По
умолчанию считается что датчики опросу не подлежат поэтому информация о
сработавших датчиках не поступает в ЦПУ.
ЦПУ может сообщать ППУ о периоде опроса датчика и о датчиках
подлежащих опросу. Формат сообщения трехбайтный представлен в таблице 11.
(в таблице приведены границы для старшего байта состояния канала 1 таймера
которые соответствуют границам периода опроса датчика). Длина сообщения из
ППУ в ЦПУ 1 байт (таблица 12).
П. Формат сообщения из ЦПУ в ППУ
Управляющее слово 1 байт 2 байт
000001 для таймера (х0000100-х0101000) Младший байт для 1 канала
старший байт для 1 каналатаймера
таймера х - контрольный
000011 (х0000000-х0101110) 0000хс2с1с0
для подлежащих опросу код номера столбца х - cN=l - датчик N подлежит
датчиков столбца контрольный бит опросу 0 - не подлежит
х - контрольный бит
Формат сообщения из ЦПУ в ППУ
Номер байта Формат Значение
11111111 Сообщение ЦПУ об ошибке передачи
0хс5с4сЗс2с1сО с5-сО-код столбца х - контрольный
0000хс2с1сО cN=l - датчик N сработал > Р раз 0 -
сработал х - контрольный бит
Циклический опрос датчиков происходит по прерываниям от таймера и
представляет собой последовательное сканирование столбцов матрицы датчиков
(столбец сканируется 2 раза для устранения дребезга контактов) определение
сработавших датчиков столбца определение какие из датчиков столбца
подлежащих опросу сработали более Р периодов опроса. После сканирования
всех столбцов происходит итоговое определение групп в которых были
срабатывания и если есть необходимость производится сообщение для ЦПУ.
ЦПУ определяет является ли информация из ППУ сообщением об ошибке есть ли
ошибки в самом сообщении в каких группах были срабатывания датчиков > Р
периодов и вызывает соответствующие подпрограммы обработки.
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА
Рис. 6.1 Схема основной программы ППУ
Рис. 6.2 Схема подпрограммы формирования счетчика срабатывания датчика
Рис. 6.3 Схема подпрограмма обработки счетчика срабатывания датчика в
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть 1)
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть2)
Рис. 6.5 Схема подпрограммы передачи сообщения из ЦПУ в ППУ
Рис. 6.6. Подпрограмма обработки сообщения из ППУ в ЦПУ
[pic]Рис. 6.7. Посылка байта из ЦПУ в ППУ или из ППУ в ЦПУ
MVI A ContrlOP OUT lOPControl MVI А СТО STA TimerControl MVI A DOld STA
TimerO MVI A DYoung STA TimerO MVI A CT1 STA TimerControl MVI A 28 STA
1. Периферийное устройство
;3апретить прерывания ..
;3адать режим работы ЮР
;3агрузить управляющее слово для канала 0 таймера ;3аписать старший
байт в канал 0 таймера ;3аписать младший байт в канал 0 таймера
;3агрузить управляющее слово для канала 1 таймера
;3аписать старший байт в канал 1 таймера ;(Период опроса по умолчанию)
;3аписать младший байт в канал 1 таймера
;3агрузить первое слово инициализации в программируемый ;контроллер
прерываний ;3агрузить второе слово инициализации в программируемый
;контроллер прерываний разрешить прерывания ;Бесконечный цикл
;Цикл опроса датчиков ;3апретить прерывания
;Сохранение регистровых пар и слова состояния в стеке
;В Н начало таблицы счетчиков срабатывания датчиков ;В D начало таблицы
датчиков подлежащих опросу ;В - число столбцов (N=46) ;Первое сканирование
;Номер столбца в А ;В порт В номер столбца
;Прием из буфера данных байта сработавших в столбце датчиков
;Сохранение в С байта сработавших датчиков ;Временная задержка
;3адержка на 12 тактов
;Повторное сканирование столбца датчиков ;Номер столбца в А
;В порт В номера датчиков в столбце подлежащих
;Прием из буфера данных байта сработавших в столбце
;Определение сработавших датчиков в столбце
;Критерий срабатывания - 0 за два сканирования
Инвертирование разрядов аккумулятора
;Подлежащие опросу датчики столбца в аккумулятор ;Конъюнкция кода
датчиков подлежащих опросу и кода срабатывания датчиков - код
столбца ;Сохранить код столбца в С
;Обработка первого датчика в столбце
;Код столбца умножить на код первого датчика
;Если датчик сработал перейти на LABI
;Обнулить содержимое счетчика срабатывания датчика
;Перейти к обработке следующего датчика в столбце ;Увеличить счетчик
срабатывания датчика на 1 ;Перейти к адресу счетчика срабатывания
;Считать код столбца в А ;Обработка второго датчика в столбце
ANI02 JNZLAB17 MVIM О
ANI04 JNZLAB19 MVIM 0
JMPLAB20 INRM MVIC 0
; Код столбца умножить на код второго датчика ; Если датчик
сработал перейти».на LAB 17 ; Обнулить содержимое счетчика
срабатывания датчика
; Перейти к обработке следующего датчика в столбце ; Увеличить
счетчик срабатывания датчика на 1 ; Перейти к адресу счетчика
срабатывания третьего датчика
;Считать код столбца в А ;Обработка третьего датчика в столбце
; Код столбца умножить на код третьего датчика ; Если датчик
сработал перейти на LAB 19
; Обнулить содержимое счетчика срабатывания
; Перейти к обработке следующего датчика в столбце
; Увеличить счетчик срабатывания датчика на 1
;Обнулить содержимое С
;Обработка счетчика срабатывания третьего датчика в столбце
MOV A M ;Считать счетчик третьего датчика в А
JNZ LAB21 ;Если срабатывание датчика не равно 17 периодов то
MOV А С ;Считать содержимое С в A k
ADI 04 ;Сложить А с кодом третьего датчика
MOV С А ;Сохранить в С
MVIМ 0 ;Обнулить счетчик срабатывания датчика
LAB21: DCX Н ;Перейти к адресу счетчика второго датчика
;Обработка счетчика срабатывания второго датчика в столбце
MOV А М ;Считать счетчик второго датчика в А
SUIР ; Сравнить с Р=17
JNZ LAB22 ; Если срабатывание датчика не равно 17 периодов то
MOV А С ; Считать содержимое С в А
ADI 02 ; Сложить А с кодом второго датчика
MOV С А ; Сохранить в С
MVIM О DCXH MOV A M SUIP JNZ LAB23
MOV А С ADI 01 MVIM 0
; Обнулить счетчик срабатывания датчика ; Перейти к адресу
счетчика первого датчика ; Считать счетчик второго датчика
в А ; Сравнить с Р= 17
; Если срабатывание датчика не равно 17 периодов то
; Считать содержимое С в А ; Сложить А с кодом первого
датчика ; Обнулить счетчик срабатывания датчика Переход к
; Считать в Н адрес слова посылаемого в ЦПУ ;Сравнить
слово посылаемое в ЦПУ с О ;Если 0 перейти к LAB25
;Сохранить результат ;HL из стека
;Перейти к следующему адресу в таблице датчиков ;подлежащих опросу
формирование сообщения о сработавших датчиках посылаемого в ЦПУ
ORI08 OUT PortA INPortC
;Если четное слово в МП сформировано перейти к
;Контрольный бит - 1
;Проверка подтверждения приема данных ЦПУ ;ЦПУ не принял сообщение ;3ажечь
;Проверка подтверждения приема данных ЦПУ
;Цикл пока ЦПУ не примет сообщение ;Погасить светодиод
OUT PortC LAB27: PUSHH
OUT PortC LAB25: DCRB
PUSH PSW PUSHH PUSH В
;B HL адрес слова посылаемого в ЦПУ
;обнулить слово посылаемое в ЦПУ
формирование контрольного бита в коде столбца
;Передача кода столбца в ЦПУ
;Уменьшить счетчик столбцов
;Если не все столбцы проверены перейти к LAB24
;Восстановление регистровых пар и слова состояния из ;стека
разрешить прерывания ;Выход из подпрограммы
;0бработка сообщения из ЦПУ в 1111У ;3апретить прерывания ;Сохранить
регистровые пары в стеке
PUSHD INPortA MOV В А LDA Counter ANIO JNZ LAB32 INRA STA Counter MOV А В
STA Addrl JMPLAB35 ANI1
JNZ LAB34 INRA STA Counter MOV А В STA Addr2 JMPLAB35 MVIA0 STA Counter
MOV D A LDA Addrl MOV В А LDA Addr2 MOV С А
;Принять байт от ЦПУ
;3агрузить счетчик байт
;Сравнить счетчик с О
;Если не нулевой байт перейти к LAB32
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addrl
;Сравнить счетчик с 1
;Если не первый байт перейти к LAB34
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addr2
;Обнулить счетчик байт ;Сохранить принятый байт в D
;Предыдущие байты разместить в В и С
;Обработка управляющего слова ;3агрузка управляющего слова в А
;Слово нечетно - обработка ошибки ;Если не 0 переход к LAB30 Сообщение -
код датчиков подлежащих опросу ;3агрузка кода столбца в А ;Сравнить с О
;Проверка на четность
LXIH QuestSensor ;B паре HL - начало таблицы подлежащих опросу
ANI 6F ;Обнуление не информационных битов
;Код столбца прибавить к младшему байту адреса
;Вычисление адреса для столбца в таблице подлежащих опросу датчиков ADDL
;Перенос в старший байт адреса
;3апись кода датчиков столбца подлежащих опросу
JPE LAB29 CALL Mistake РОРН JMPLAB35 ANI 07 MOV M A РОРН JMPLAB35
SUI ForTimer JNZ LAB29
;Проверка кода датчиков столбца на четность
;Вызов процедуры сообщения ЦПУ об ошибке ;HL из стека
;Обнулить неинформационные биты
;3аписать код датчиков ; HL из стека
;Сообщение для таймера ;Если сообщение не для таймера перейти к LAB30?
;Обработка первого байта ;3агрузить первый байт в аккумулятор
;Байт нечетный - ошибка
;0бработка первого байта сообщения LXI H
TB HL - адрес управляющего слова таймера
LXI H Timerl ANI6F MOV M A
;3апись управляющего слова в таймер (запись ;старшего байта счетчика
первого канала) ;В HL - адрес первого канала таймера ;0бнулить не
информационные биты первого байта ;3аписать старший байт счетчика
;Обработка второго байта сообщения
LXI H TB HL - адрес управляющего слова таймера MVI M CT1
Young ;3апись управляющего слова в таймер (запись
;младшего байта счетчика первого канала) ;В HL - адрес
первого канала таймера ;3аписать младший байт счетчика ;
H Timerl MOV M D POPH JMPLAB35
POP В POPH POP PSW El RET
Mistake: MVI A Mistake
OUT PortA INPortC ANI08 JNZ LABS7 MVI A LampOn OUT PortC
ANI08 JZ LABS6 MVI A LampOff OUT PortC
;Вызов процедуры сообщения ЦПУ об ошибке восстановить регистровые пары
;Разрешить прерывания ;Конец подпрограммы Подпрограмма сообщения в ЦПУ об
;Сообщение ЦПУ об ошибке
;ЦПУ не принял сообщение
;Проверка подтверждения приема данных ЦПУ ;Цикл пока ЦПУ не примет
сообщение ;По гасить светодиод
;Восстановить регистровые пары
;Разрешить прерывания
;Выход из подпрограммы
Переход на подпрограммы обработки прерываний
JMP CIRCLE ;Цикл опроса датчиков
JMP MESSAGE ;Сообщение от ЦПУ
2.Центральное устройство
Сообщение из ППУ ;3апретить прерывания
;Сохранить регистровые пары в стеке
;Считать слово из ППУ
;Сравнить с кодом ошибки (ППУ не понял сообщение
;Переход на подпрограмму обработки ошибки
;Сохранить слово в D ;Счетчик байт в аккумулятор ;Сравнить счетчик с О
;Если 0 перейти к LAB9 ;Счетчик = 1 ;Сохранить код группы в В
;Сохранить код столбца в С
; Считать счетчик байт в А
;Контроль по четности
;Сработала неизвестная группа переход к LAB2
;Вызов подпрограммы обработки неизвестной группы
;Сработала первая группа?
; Вызов подпрограммы обработки первой группы
; Считать слово из ППУ в А
;Сработала вторая группа?
; Вызов подпрограммы обработки второй группы ; Считать слово из ППУ в А
;Сработала третья группа?
; Вызов подпрограммы обработки третьей группы
; Вызов подпрограммы обработки неизвестной группы
восстановить регистровые пары из стека
; Разрешить прерывания ;Выход из подпрограммы
;Сообщение из ЦПУ в ППУ ;Послать первый байт
;Послать второй байт
;Послать третий байт
;Посылка байта в ППУ ;Сообщение в ППУ ;Проверка подтверждения приема
;ППУ не принял сообщение?
;Проверка подтверждения приема данных ППУ ;Цикл пока ППУ не примет
В курсовом проекте спроектировано устройство обнаружения срабатывания
объединенных в группы датчиков. Комплекс представляет собой центральное и
устройство предназначено для опроса датчиков и первичной обработки данных о
срабатывании датчиков (определение групп в которых существуют датчики
сработавшие более Р периодов опроса). Центральное устройство предназначено
для дальнейшей обработки данных о датчиках поступающих от периферийного
устройства. Центральное устройство сообщает периферийному о датчиках
подлежащих опросу и период опроса датчиков что делает спроектированное
устройство довольно универсальным и позволяет применять его в разнообразных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Хвощ С. Т. Варлинский Н. Н. Попов Е. А. Микропроцессоры и микро-ЭВМ в
системах автоматического управления: Справочник под ред. С. Т. Хвоща.
Л.: Машиностроение. Ленингр. отд-ление!987. 640 с.
Микропроцессоры В 3 кн. Кн. 1. Архитектура и проектирование ЭВМ.
Организация вычислительных процессов: Учебник для ВТУЗов П. В. Нестеров
В. Ф. Шаньгин В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая
Микропроцессоры В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учебник для ВТУЗов
В. Д. Вернер Н. В. Воробьев А. В. Горячев и др.; Под ред. Л.Н.
Преснухина. М.: Высшая школа 1986. 383 с.
Микропроцессоры В 3 кн. Кн. 3. Средства отладки: лабораторный практикум
и задачник. Учебник для ВТУЗов Н. В. Воробьев В. Л. Горбунов А. В.
Горячев и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа 1986. 351 с.
Интегральные микросхемы: Справочник Б. В. Тарабрин Л. Ф. Лунин Ю. Н.
Смирнов и др.; Под ред. Б. В. Тарабрина. - М.: Радио и связь 1984 -528

icon текст (8).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА 5
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА 6
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА 8
ВРЕМЕННЫЕ ДИАГРАММЫ 9
1 Временная диаграмма считывания из АЦП 9
2 Временные диаграммы работы КР580ВВ51 10
2.1 Работа КР580ВВ51 в режиме асинхронной передачи 10
2.2 Работа КР580ВВ51 в режиме асинхронного приема 11
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ 12
1 Описание алгоритма работы ППУ 12
2 Описание алгоритма работы ЦПУ 15
2 Выбор интервалов ожидания 17
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА 18
1 Структура адресного пространства ППУ 18
2 Структура адресного пространства ЦПУ 19
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 20
1 Блок-схемы программы для ППУ (рис.10) и подпрограммы для ЦПУ(рис.11)
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 25
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к внешним устройствам. Комплекс
предназначен для считывания и запоминания информации в фиксированные ячейки
ОЗУ центрального процессорного устройства с блока измерителя напряжений
содержащего 5 АЦП К1113ПВ1 с адресацией к ним как к ячейкам памяти
лежащим в поле адресов периферийного процессора. Номера АЦП подлежащие
опросу в данный период времени определяются программой выполняемой в
центральном процессорном устройстве и передаются периферийной стороне.
Период опроса любого АЦП составляет Т секунд и передается в блок измерителя
из центрального процессорного устройства. Период опроса Т остается
постоянным на все время опроса АЦП в данной конфигурации. Передаваемые
значения Т лежат в пределах 1.7 - 12.3 сек. с точностью 0.1 сек. Процедура
периодического опроса АЦП полностью организуется периферийным процессором.
Опрос АЦП в данной конфигурации с периодом Т продолжается до поступления
новых данных от центрального процессорного устройства. Периодичность
обращения центрального процессорного устройства к периферийному – не менее
минут. В качестве времязадающего устройства использовать БИС таймера
КР580ВИ53 с адресацией к ней как к ячейке памяти лежащей в поле адресов
периферийного процессора.
Канал сбора аналоговых данных представляет собой устройство
обеспечивающее преобразование аналогового сигнала в цифровой код. При этом
в канале осуществляется усиление фильтрация и нормирование сигнала
подавление синфазной помехи; производится нелинейная обработка сигнала с
целью линеаризации характеристики датчика и приведение аналогового сигнала
к виду пригодному для ввода в аналого-цифровой преобразователь (АЦП) путем
запоминания его мгновенных значений и хранения в течение определенного
В состав канала сбора аналоговых данных входит также ряд импульсных узлов
которые синхронизируют работу его составных частей и управляют работой АЦП.
АЦП является оконечным узлом проектируемого устройства и все другие
составные функциональные единицы прямо или косвенно обеспечивают его
нормальное функционирование.
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА
Система сбора аналоговой информации состоит из параллельно работающих
центрального процессорного устройства (ЦПУ) и периферийного процессорного
устройства (ППУ). Структурная схема системы приведена на рис.1.
Рис.1. Структурная схема устройства
Блок ЦПУ на структурной схеме содержит в своем составе микропроцессор
память и контроллер последовательного интерфейса. Блок ППУ содержит те же
самые элементы плюс блок измерителя напряжений. Сбор аналоговой информации
происходит непосредственно в блоке измерителя напряжений под управлением
ППУ затем информация передается в ячейки ОЗУ ППУ после чего по линии
связи поступает в фиксированные ячейки ОЗУ ЦПУ. Передача информации по
линии связи осуществляется под управлением контроллеров последовательного
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА
Функциональная схема отличается от структурной большей степенью
детализации и описанием используемых сигналов. В состав системы сбора
аналоговой информации входят два микропроцессорных устройства на базе
микропроцессора КР580ВМ80А связанные между собой интерфейсом RS-232.
Функциональная схема ЦПУ изображена на рис.2 а функциональная схема ППУ на
Рис.2. Функциональная схема ЦПУ
В состав ЦПУ и ППУ входят стандартные БИС МП комплекта КР580 кроме того
ППУ содержит 7 АЦП типа К572ПВ1 и 6 устройств выборки и хранения аналоговых
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА
Для связи ЦПУ и ППУ используется интерфейс RS-232 отечественным аналогом
которого является СТЫК-С2. Схема интерфейса приведена на рис.4.
Рис. 4. Структурная схема интерфейса.
Передача и прием данных осуществляется по двум однонаправленным линиям
(по одной передача по другой - прием). Один конец линии связи подсоединен
к выходу передатчика УСАПП TxD другой ко входу данных приемника другого
УСАПП RxD. Сигнал DTR означает физическое подключение модема к линии связи.
При этом несущая еще не выдается. После получения подтверждения
используется сигнал DSR (DTE для ЭВМ). После этого выдается сигнал RTS (ОСЕ
для модема) он выставляет несущую в линию связи и отвечает ЭВМ сигналом
CTS. Затем начинается передача.
1 Временная диаграмма считывания из АЦП
Временная диаграмма считывания из АЦП приведена на рис. 5.
Рис. 5. Временная диаграмма считывания из АЦП.
АЦП К572ПВЗ восьмиразрядный и данные из АЦП считываются не сразу в ОЗУ а
сначала записываются в регистр из которого потом считываются.
Преобразование начинается во всех АЦП одновременно обращением к
соответствующему адресу в поле адресов памяти ППУ. При выставлении адреса
на ША дешифратор подает сигнал на вход "ГашениеПреобразование" АЦП и на
управляющий вход устройства выборки и хранения (УВХ). УВХ через 04 08
мкс (машинный такт равен 1 мкс) подаст на аналоговый вход АЦП постоянное
напряжение. АЦП начнет преобразование и не более чем через 30 мкс выдаст
двоичный код который запомнится в регистрах и одновременно сигнал
READY говорящий об окончании преобразования. Сигналы готовности от разных
АЦП поступают на схему & . Когда все АЦП завершат преобразование сигнал со
схемы & поступит на вход READY МП. Адрес будет снят вследствие чего будет
снят сигнал Гаш.Преобр. По положительному фронту сигнала Гаш.Преобр. АЦП
снимет разрядные данные и сигнал READY. Одновременно с этим (т.к. адрес
будет снят с ША) данные от АЦП защелкнутся в регистрах откуда их потом
можно будет считать.
2 Временные диаграммы работы КР580ВВ51
Рис 6. Работа КР580ВВ51 в режиме асинхронной передачи
В данной системе КР580ВВ51 работает в асинхронном режиме поэтому
временные диаграммы приведены именно для этого режима. Временная диаграмма
работы КР580ВВ51 в режиме асинхронной передачи приведена на рис. 6 а в
режиме асинхронного приема на рис. 7. Скорость передачи данных 1200 битс.
2.1 Работа КР580ВВ51 в режиме асинхронной передачи
Данные записываются в микросхему в параллельном байтовом формате. При
помещении слова данных в регистр сдвига происходит автоматическое
присоединение к слову старт-бита бита контроля по четности 2-х стоп-бит
(итого получается 12 бит). Т.к. в управляющем слове в разряде DO стоит 1-
ца то на входе CTS устанавливается напряжение низкого уровня. Информация в
виде последовательного потока данных подается на вывод TxD (на рис.6 2
Сначала записывается управляющее слово "Передача". В этот момент CD
высокого уровня (т.к. записываем команду). Пока слово не поступило в
регистр передатчика выходы TxRDY и TxEND высокого уровня. При записи байта
данных в регистр передатчика на выходе TxEND и TxRDY устанавливается L
уровень далее байт переправляется в регистр сдвига и начинает выдвигаться
в линию TxD при этом TxRDY становится Н уровня. Узнав об этом путем
программного опроса слова состояния УСАПП МП отправляет в регистр
передатчика новый байт что приводит к установке L уровня на TxRDY (TxEND
остается в том же состоянии). Сигналу TxRDY соответствует триггер TxRDY в
слове состояния УСАПП поэтому МП может программно узнать когда отсылать
2.2 Работа КР580ВВ51 в режиме асинхронного приема
Когда в асинхронном режиме не передается информация на линии RxD
держится высокий уровень. Появление на входе напряжения низкого уровня
свидетельствует о приходе старт-бита. Истинность этого бита проверяется
вторично стробированием его в середине. Если наличие напряжения низкого
уровня подтверждается то запускается счетчик битов который позволяет
определить конец передачи символа.
Сначала происходит запись команды в регистр команд УСАПП. Сигналы CD и
WR аналогичны передаче. По линии RxD выставленные биты постепенно попадают
регистр сдвига приемника УСАПП и когда весь байт войдет в регистр
сдвига происходит перемещение его в регистр приемника УСАПП. После этого
МП может считать символ проследив эту ситуацию по разряду RxRDY в- слове
состоянии УСАПП. Этот триггер дублирует состояние выхода RxRDY. После
считывания напряжение на выходе RxRDY снова становится низкого уровня.
Рис 7. Работа КР580ВВ51 в режиме асинхронного приема
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
1 Описание алгоритма работы ППУ
После включения ППУ или после сигнала сброса (RESET) прежде всего
происходит выключение индикатора сигнализирующего об ошибке. Это
необходимо чтобы избежать ложной сигнализации об ошибке. После этого
происходит инициализация таймера для подачи сигналов ТхС и RxC к УСАППу.
Для этого канал 2 таймера программируется в режиме делителя частоты (на
). С выхода OUT2 таймера сигнал поступает на вх. ТхС и RxC KP580BB51.
Затем происходит инициализация КР580ВВ51. УСАПП программируется в режиме
асинхронных передачи и приема. Управляющее слово режима работы задает
асинхронный режим с 2-мя стоп-битами четным паритетом длиной символа - 8
бит и со скоростью передачи и приема 116 от ТхС. Это достигается загрузкой
УСРР 1111111 Ob (FEh). Затем в УСАПП записывается управляющее слово приказа
(одновременные передача и прием сброс битов ошибок) 00110111b (37h).
После инициализации УСАППа устройство переходит в режим ожидания данных
от ЦПУ. Это реализуется путем программного опроса регистра слова состояния
УСАПП. При наличии в слове состояния УСАПП взведенного байта RxRDY (бит 01
= 1) МП читает слово из регистра приемника и записывает его по
определенному адресу в ОЗУ. От ЦПУ приходят значение периода Т и маска АЦП
подлежащих опросу в данный период времени. Младшие 6 байт маски
соответствуют шести АЦП. Байт DO соотв. АЦП 1 D5 - АЦП 6. Опросу
подлежат АЦП отмеченные единицей в соответствующем разряде маски. Приняв
от ЦПУ оба байта МП анализирует биты ошибок в регистре слова состояния
УСАПП (FE РЕ ОЕ). Если ошибок при приеме не было ППУ отправляет к ЦПУ
байт подтверждения правильного приема и на этом инициализация ППУ
заканчивается. Если же были ошибки то ППУ ничего не передает ЦПУ а
сбрасывает биты ошибок в УСАПП и переходит к ожиданию повторной передачи
данных от ЦПУ. В то же время ЦПУ не получив в течении определенного
времени ответа от ППУ включает индикатор сигнализирующий о неисправности
в системе и повторно передает данные ППУ.
Получив все необходимые данные ППУ переходит к циклу опроса АЦП. Прежде
всего программируется таймер. Одного счетчика не хватает чтобы обеспечить
задержку на максимальное значение Т поэтому канал 0 программируется в
режиме делителя частоты выход счетчика 0 подключен ко входу счетчика 1 а
счетчик 1 программируется в режиме задержки. Новое значение в счетчик 1
заносится в начале каждого цикла опроса АЦП.
МП подает сигнал преобразования одновременно для всех АЦП (IDA 200п).
После того как все АЦП завершат преобразование сигнал снимается и МП
переходит к следующему действию. Происходит последовательный опрос битов
маски. Байт маски циклически сдвигается вправо после чего проверяется флаг
CY. Если CY=1 то из регистра - защелки считывается байт кода от данного
АЦП в фиксированную ячейку ОЗУ. Если же CY=0 то данный АЦП не
опрашивается и МП переходит к следующему АЦП.
Опросив все АЦП ППУ посылает ЦПУ запрос на передачу блока данных и
включает цикл ожидания ответа. Внутри этого цикла периодически
анализируется бит слова состояния УСАПП RxRDY. Если в течение этого
интервала времени ответ от ЦПУ не приходит то декрементируется счетчик
количества попыток связаться с ЦПУ. Если сделано 5 попыток а ЦПУ не
отвечает то включается индикатор и происходит останов МП. Если же попытки
еще остались то ППУ снова посылает запрос на передачу данных. При наличии
ответа от ЦПУ ППУ передает блок данных. Передача данных аналогична опросу
регистров АЦП по маске. Если данный АЦП помечен в маске единицей то
происходит передача ЦПУ байта информации от данного АЦП. Готовность
передатчика также проверяется в слове состояния yCAnn(TxRDY = DO). После
передачи данных ППУ переходит в ожидание подтверждения от ЦПУ правильности
приема. Если ответ от ЦПУ не приходит в течение времени достаточного для
этого то ППУ проверяет количество попыток связи. Если попытки вышли
включается индикатор затем происходит останов МП. Если еще остались
попытки то ППУ снова посылает ЦПУ зарос на передачу данных. Получив от ЦПУ
подтверждение правильного приема ППУ переходит в ожидание окончания
периода Т для чего периодически производит считывание из таймера "на
лету" не прекращая его работы. При обнулении счетчика 1 таймера МП
переходит в начало цикла опроса АЦП (загрузка в таймер значения Т и т.д.).
Блок-схема алгоритма работы ППУ приведена на рис. 8.
Рис. 8. Структура алгоритма работы ППУ
2 Описание алгоритма работы ЦПУ
При вызове подпрограммы "RECEIVE" ЦПУ совершает следующие действия.
Выключается индикатор сигнализирующий об ошибках. Затем происходит
программирование КР580ВВ51 аналогично тому как это делается в ППУ (тот же
режим). После этого ППУ передаются значение Т и маска АЦП. Все общение с
УСАПП как и в ППУ происходит через программный опрос регистра слова
состояния. ЦПУ переходит в ожидание ответа от ППУ. Если через определенное
время ответ от ППУ не приходит это означает обрыв линии связи1 или что
ППУ выключено или же что при приеме данных в ППУ были ошибки. В любом
случае включается индикатор сигнализирующий об ошибках и происходит
повторная передача данных для ППУ и т.д. после получения от ЦПУ
подтверждения о правильном приеме данных индикатор выключается и ЦПУ
переходит к ожиданию от запроса на передачу данных от ППУ. Таким образом
ППУ и ЦПУ можно включать в любой последовательности. Если подпрограмма
RECEIVE" в ЦПУ будет вызвана а ППУ не будет включено то у ППУ загорится
индикатор. После включения ППУ работа продолжится и индикатор выключится.
После получения от ППУ ответа в ЦПУ запускается счетчик периода времени
продолжительностью больше Т. Если в течение этого времени от ППУ не будет
получено запроса на передачу данных то включится индикатор и произойдет
выход из данной подпрограммы. Если придет запрос от ППУ то ППУ будет
послано разрешение на передачу данных и ЦПУ приготовится к приему блока
данных с информацией от АЦП.
Прием блока данных от ППУ происходит по маске АЦП. Если данный АЦП
отмечен единицей в соответствующем разряде маски то в ячейки памяти
соответствующие этому АЦП записывается из регистра приемника УСАПП байт
значения. Если же данный АЦП не подлежит опросу то поступающие в регистр
приемника данные будут передаваться в ячейки памяти соответствующие
ближайшему АЦП подлежащему опросу. Таким образом информация от каждого
АЦП всегда поступает в фиксированные ячейки памяти. После окончания приема
проверяются биты ошибок в слове состояния УСАПП. Если ошибок не было то
ЦПУ посылает ППУ подтверждение и переходит к ожиданию следующего запроса на
передачу (снова запускается счетчик времени). Если были ошибки то
подтверждение ППУ не посылается и происходит ЦПУ ожидает повторного запроса
Блок - схема алгоритма работы ЦПУ приведена на рис. 9.
Нулевой и первый каналы таймера программируются с целью обеспечить период
Т опроса АЦП. Канал 0 программируется в режиме 2 (делитель частоты). Т.к.
МП работает на частоте 99=1 МГц то загрузка в канал 0 значения 10000 (271
Oh) обеспечит выдачу сигнала OUTO с периодом 0.01 с. Точность периода Т
составляет 0.01 с поэтому пересылаемое от ППУ значение Т показывает
количество составляющих по 0.01 с в периоде. Следовательно в байте Т могут
содержаться значения от 100 до 1020 (Т может принимать значения от 1с до
2 с). Выход OUTO подключен ко входу CLK1. Значение Т загружается в канал
в начале каждого цикла опроса АЦП т.к. канал 1 программируется в режиме
Канал 2 программируется для сигналов ТхС и RxC УСАПП. Он программируется
в режиме 2. В него загружается значение 52 (34h) следовательно частота CLK
УСАПП подаваемая с F2 более чем в 50 раз превосходит частоту ТхС и RxC.
В сочетании с тем что скорость передачи УСАПП составляет 116 от ТхС это
обеспечивает скорость передачи данных в линии связи 1200 битс.
2 Выбор интервалов ожидания
При передаче данных между ППУ и ЦПУ используются временные задержки
ожидания ответа. Если через некоторое время ответ не приходит включается
индикатор. Основная временная задержка происходит при передаче данных в
последовательном коде. Время передачи одного символа (12 бит) при скорости
00 битс составляет 10 000 тактов или 0.01 с. Для передачи в обратную
сторону добавим еще 10 000 тактов и еще 10000 тактов с запасом хватит на
выполнение других участков программы. Итого мы организовываем цикл ожидания
000 тактов путем выполнения двух вложенных циклов. Такой цикл
используется в нескольких местах программы в частности при начальной
передаче исходных данных от ЦПУ к ППУ (при ожидании ЦПУ ответа от ППУ) при
ожидании разрешения на передачу данных (ППУ) при ожидании подтверждения
безошибочного приема (ППУ). Также используется еще один цикл ожидания. ППУ
должно посылать ЦПУ информацию от АЦП через интервал времени Т. Если ЦПУ не
получает вовремя этой информации то включается индикатор. Для организации
этого цикла в ЦПУ используется счетчик в который загружается значение
байта Т. Вложенные циклы обеспечивают задержку на время большее 0.01 с.
Следовательно общее время ожидания данных от ППУ больше времени Т.
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА
1 Структура адресного пространства ППУ
Структура адресного пространства памяти ППУ приведена в табл.1.
Адрес начальный Наименование элемента (устройства) (его
-адрес конечный функция)
OOOOh -01FFh Память программ (ПЗУ)
00h -040Fh Память данных (ОЗУ)
8 0 0 h 0805h Регистры АЦП АЦП 1
OCOOh OC01h OC02h Таймер: Сч. 0 Сч. 1 Сч. 2 РУС
0h Сигнал "пуск преобразования" АЦП
00h 1401h Выключить индикатор Включить
Структура адресного пространства внешних устройств ППУ приведена в табл.
h УСАПП : данные управляющие слова
2 Структура адресного пространства ЦПУ
Структура адресного пространства памяти ЦПУ приведена в табл.3.
OOOOh -OBFFh Монитор служебные программы
OCOOh-OCCOh Подпрограмма осуществляющая обмен с ЦПУ
00h Яч. памяти для хранения маски АЦП
01h-1006h Ячейки памяти для хранения данных ППУ
07h Адрес для хранения Т
FFFOh FFF1h Индикатор : выключить включить
Структура адресного пространства внешних устройств ЦПУ приведена в табл.
ООh 01h УСАПП : данные Управляющие слова
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ
В состав ППУ входят следующие микросхемы: микропроцессор КР580ВМ80А ГТИ
КР580ГФ24 таймер КР580ВИ53 контроллер последовательного интерфейса
КР580ВВ А системный контроллер КР580ВК38 микросхема ПЗУ 556РТ5 ОЗУ
К155РУ2 АЦП К572ПВЗ микросхемы выборки и хранения аналоговых сигналов
КР1100СК2 а также другие микросхемы обеспечивающие работу устройства.
Неиспользуемые выводы микросхем заземляем чтобы уменьшить электромагнитные
ГТИ служит для формирования тактовых импульсов которые поступают на МП
таймер и контроллер поел интерфейса. Также через ГТИ подается сигнал
сброса от внешней кнопки и сигнал READY.
Таймер является основным времязадающим устройством в ППУ. Для организации
продолжительных временных задержек выход OUTO подан на вход CLK1. Канал 2
обеспечивает сигналы ТхС RxC поэтому выход OUT2 подан на входы RxC TxC
КР580ВВ51А. Счетчики таймера всегда выбраны поэтому на его входы GATED
GATE1 GATE2 подается постоянное напряжение +5 В через резистор 1кОм.
Контроллер поел интерфейса является единственным внешним устройством
поэтому его вывод CS заземлен но в выбранном состоянии в выбранном
состоянии он находится только при обращении к ВУ т.е. когда системный
контроллер выдает сигналы IOR или IOW.
Вход CS микросхем К155РУ2 подключен к дешифратору поэтому эти микросхемы
не будут выбираться при адресах меньше 1 Кбайта в частности при обращении
Для обеспечения необходимой временной задержки при выдаче с дешифратора
сигнала преобразования для АЦП выходы READY всех дешифраторов поданы на
вход микросхемы &. Когда все АЦП завершат преобразование на вход READY МП
через ГТИ пойдет сигнал и МП перейдет к следующему такту. Данные с цифровых
выходов АЦП защелкнутся в регистрах откуда потом могут быть прочитаны. При
обращении к др. устройствам сигнал READY подается сразу т.к. он подключен
к выходам дешифратора (также через схему 1).
Перечень элементов приведен в приложении 1.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Микропроцессоры. В 3-х кн. Под ред. Преснухина Л.Н. М.:Высш. шк.
Федорков Б.Г. Телец В.А. Микросхемы ЦАП и АЦП: функционирование
применение. М.: Энергоатомиздат 1990. 320с.
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и
Энергоатомиздат 1989. 376с.
Кузнецова Г.В. Хмелевский И.В. Требованию к оформлению
Методические указания к курсовому проектированию по курсам "ЭМСТ" и
Калабеков В.А. Микропроцессоры и их применение в системах передачи и
сигналов. М: Радио и связь 1988. 368с.
Микропроцессоры и микропроцессорные комплекты интегральных
Справочник. Под ред. Шахнова В.А. Том 1. Л.: Радио и связь 1988. 368с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Машиностроение 1993. 256с.
Фор Поз Обозначение
Изм № документа Периферийное процессорное устройство
Разрабо Валиев М. Ф.
тал лист листов листов
ПровериХмелевский И. В.

icon Текст (14).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ 5
АЛГОРИТМЫ РАБОТЫ ЦПУ 6
1. Алгоритм инициализации адаптеров параллельного интерфейса 6
2. Алгоритм передачи блока из пяти байт 6
2. Алгоритм приема блока из пяти байт 9
4. Алгоритм работы ЦПУ 11
АЛГОРИТМЫ РАБОТЫ ППУ 14
1. Алгоритм инициализации адаптеров параллельного интерфейса 14
2. Алгоритм работы ППУ 14
3. Алгоритм определения коэффициентов для звуковой индикации 18
4. Алгоритм воспроизведения звуковой последовательности 18
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ 20
1. Функциональная схема центрального процессорного устройства 20
2. Функциональная схема периферийного процессорного устройства 22
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА 26
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ 27
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ 28
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 29
ТЕКСТЫ ПОДПРОГРАММ 30
1. Подпрограммы ЦПУ 30
2. Подпрограммы ППУ 34
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 41
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к ячейкам памяти. Комплекс
предназначен для включения и индикации включения одного из 4 устройств
автоматики. Устройства автоматики включаются по сигналам периферийного
устройства формируемым на основании информации поступившей от
центрального устройства. Индикация осуществляется подачей конкретного
звукового сигнала с одновременным отображением номера устройства на 7
сегментном индикаторе. Звуковой сигнал соответствующий включаемому
устройству представляет собой непрерывную звуковую последовательность с
параметрами: частоты звучания 1.4 2.7 0.0 кГц; длительности звучания
любого тона 1.8 1.3 0.0. Их численные значения не известны периферийной
стороне и подлежат загрузке из центрального процессорного устройства. В
качестве времязадающего устройства и формирователя звукового сигнала
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора. Номера
включаемых устройств автоматики и соответствующие им конкретные виды
звуковых последовательностей (длительность и последовательность звучания
каждого тона) определяются программой выполняемой в центральном
процессорном устройстве и передаются периферийному процессору.
Длительность звуковой индикации около 33 секунд. Периодичность обращения
центрального процессорного устройства к периферийному – не менее 50 с.
После генерации звуковой последовательности в центральное процессорное
устройство выдается сигнал (код включенного устройства) по которому
принимается решение о правильности выполненной операции. При положительном
решении управление передается подпрограмме центрального процессорного
устройства соответствующей номеру включенного устройства автоматики после
чего индикатор должен погаснуть.
Микропроцессор – это построенное на одной или нескольких БИССБИС
программно-управляемое устройство осуществляющее процесс обработки
информации и управление им. Этот термин по видимому самый модный в
современной микроэлектронике и вычислительной технике. Необычайная
популярность микропроцессоров объясняется тем что их появление привело к
внедрению вычислительной техники в самые разнообразные сферы жизни.
Универсальность микропроцессоров ведет к большей тиражности их производства
и следовательно к снижению их стоимости а это в свою очередь расширяет
круг потребителей и способствует увеличению числа задач решаемых с помощью
Микро-ЭВМ – это законченная вычислительная система построенная на
базе микропроцессора и размещенная в одной БИС (однокристальная микро-ЭВМ)
или нескольких БИС установленных на одной плате (одноплатная микро-ЭВМ).
Причем под законченной вычислительной системой следует понимать любое
устройство переработки цифровой информации включающее процессор память и
подсистему вводавывода информации независимо от его целевого назначения
конструктивного исполнения и способов программирования.
В микро-ЭВМ организуется процесс выполнения заданно программы и
самые разные задачи решаются путем выполнения последовательности команд
свойственных данному МП (входящих в его систему команд). Вычислительные
контрольно-измерительные или управляющие системы обрабатывающим элементом
которых служит микропроцессор относятся к числу микро-ЭВМ.
В последнее время никакие сложные технологические процессы немыслимы
без систем автоматического управления построенных на основе
микропроцессорной техники. Целью данного курсового проекта как раз и
является проектирование простейшей микропроцессорной системы которая
предназначалась бы для включения и индикации включения одного из нескольких
устройств автоматики.
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ
Система состоит из двух основных частей: центрального и периферийного
устройства которые связаны между собой двумя однонаправленными каналами
параллельного интерфейса Centronix. Оба устройства построены на основе 580-
го микропроцессорного комплекта и состоят из собственно самого
микропроцессора двух контроллеров параллельного интерфейса постоянного и
оперативного запоминающих устройств. Кроме того в составе ПУ есть блок для
включения и индикации включения одного из устройств автоматики. Блок
индикации включения состоит из устройства генерирующего звуковую
последовательность и устройства для индикации информации. Структурная схема
системы приведена на рис. 1.1.
Рис. 1.1 Структурная схема системы
АЛГОРИТМЫ РАБОТЫ ЦПУ
1. Алгоритм инициализации адаптеров параллельного интерфейса
Инициализация адаптеров заключается в установке портов А и С на ввод
либо на вывод в соответствии с интерфейсом (блоки 1 и 3). А также
установкой управляющих сигналов в 1 или в 0 (блоки 2 и 3).
Структурная схема алгоритма приведена на рисунке 2.1.
Рис. 2.1.Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса ЦПУ
2. Алгоритм передачи блока из пяти байт
В блоке 1 происходит инициализация начальных значений переменных N и K
(число переданных байт). В соответствии с протоколом обмена ЦПУ проверяет
наличие сигнала SLCT (блок 2) в случае его отсутствия переменной А (код
ошибки) присваивается значение 1 (блок 3) и происходит обработка ошибки
(блок 4) и переход к концу алгоритма. Если же сигнал SLCT присутствует то
проверяется наличие сигнала BUSY (блок 5) если сигнал BUSY равен 1 то
переменная N увеличивается на 1 (блок 18) и сравнивается с 255 (блок 19)
если они равны (приемник по каким то причинам не снимает сигнал BUSY в
течение длительного времени) то переменной А присваивается значение 2
(блок 20) происходит обработка ошибки (блок 21) и переход к концу
алгоритма. В противном случае снова проверяется наличие сигнала BUSY. В
случае если сигнал BUSY=0 то переменной N присваивается значение 0 (блок
). После чего нужный байт подготавливается и передается в линию (блок 7) и
формируется сигнал –STB=0 (блок 8) который говорит приемнику о том что
данные находятся в линии. После этого приемник проверяет наличие сигнала
ACKWLG (блок 9). Если он равен 0 то происходит увеличение переменной N на
(блок 14) и она сравнивается с 255 (блок 15). Если они не равны то снова
проверяется сигнал ACKWLG иначе переменной A присваивается значение 3
(блок 16) происходит обработка ошибки (блок 17) и переход к концу
алгоритма. В случае если сигнал -ACKWLG равен единице то устанавливается
сигнал –STB=1 (блок 10) переменная K увеличивается на 1 (блок 11) и
сравнивается с 5 (блок 12). Если они не равны (не все пять байт были
переданы) то переменной N присваивается значение 0 (блок13) и снова
проверяется сигнал SCLT приемника (блок 2). В случае если все пять байт
были переданы то происходит переход к концу алгоритма. Этот же алгоритм
используется периферийным устройством для передачи данных центральному
процессорному устройству.
Структурная схема алгоритма приведена на рисунке 2.2.
Рис 2.2. Структурная схема алгоритма передачи блока из пяти байт
3. Алгоритм приема блока из пяти байт
В блоке 1 происходит установка начальных значений переменных N=0 и K=0
(K – число полученных байт). В соответствии с протоколом обмена приемное
устройство проверяет наличие сигнала –STB (блок 2). В случае его отсутствия
переменная N увеличивается на 1 (блок 3) и сравнивается с255 (блок 4) если
они равны то переменной А присваивается значение 4 (блок 5) происходит
обработка ошибки и переход к концу алгоритма. Иначе снова проверяется
наличие сигнала –STB. Если –STB=0 то происходит прием байта из линии (блок
). Затем сигнал BUSY устанавливается равным 1 (блок 8) и полученный байт
запоминается (блок 9) после чего происходит установление сигнала ACKWLG=1
(блок 10). Далее происходит приостанов работы приемника чтобы сигнал
ACKWLG смог дойти до приемника (блок 11) затем сигнал ACKWLG
устанавливается равным 0 (блок 12) переменная K увеличивается на 1 (блок
) и сравнивается с 5 (блок 14). Если они не равны то устанавливается
сигнал BUSY=0 (блок 16) и снова проверяется сигнал –STB от передатчика
(блок 2) в противном случае устанавливается сигнал BUSY=0 (блок 15) и
происходит переход к концу алгоритма. Этот же алгоритм используется
периферийным процессорным устройством для приема данных от ЦПУ.
Структурная схема алгоритма приведена на рисунке 2.3.
Рис. 2.3. Структурная схема алгоритма приема блока из пяти байт
4. Алгоритм работы ЦПУ
В блоке 1 происходит инициализация адаптеров параллельного интерфейса.
В блоке 2 происходит установка начального значения переменной M=0. В блоке
происходит установка сигналов AUTOFD INIT SELIN в ноль. В блоке 4
центральное процессорное устройство подготавливает данные и передает их
периферийному (блок 5) далее ЦПУ получает эти данные от периферийного
(блок 6) и сравнивает переданные данные с полученными (блок 7). Если они не
совпадают то переменная М увеличивается на 1 (блок 9) и сравнивается с 8
(блок 10). Если они равны то переменной A присваивается значение 5 (блок
) происходит обработка ошибки (блок 14) и переход к концу алгоритма.
Если М не равно 5 то устанавливаются сигналы SELIN=1 и INIT=1 (блок 11)
которые говорят ППУ о том что блок данных содержит ошибку. Далее
происходит задержка (блок 12) и переход к блоку 3. Если же переданный и
полученный блоки равны то устанавливаются сигналы AUTOFD=1 и SELIN=1 (блок
) которые говорят ППУ что блок данных не содержит ошибки. Далее
происходит задержка (блок 16) и установка сигналов AUTOFD=0 SELIN=0.
Далее проверяется наличие сигнала SLCT от ППУ (блок 18). В случае его
отсутствия переменной А присваивается значение 6 (блок 19) происходит
обработка ошибки и переход к концу алгоритма. Иначе проверяется наличие
сигнала –STB (блок 21) если он отсутствует то управление переходит к
блоку 18. В случае если сигнал –STB пришел то данные принимаются из канала
связи (блок 22) и устанавливается сигнал BUSY (блок 23). Далее
устанавливаются сигналы ACKWLG=1 BUSY=0 (блок 24)и происходит задержка
(блок 25). После чего устанавливается сигнал ACKWLG=0 (блок 26). Далее
сравнивается полученный номер устройства и переданный (блок 27) в случае
если они равны то выполняются действия соответствующие номеру включенного
устройства (блок 28) и происходит переход к концу алгоритма. Если же они не
совпали то переменной А присваивается значение 7 (блок 29) происходит
обработка ошибки (блок 30) и переход к концу алгоритма.
Данные о номере включаемого устройства длительности и частоте
звучания передаются центральным процессорным устройством к периферийному в
виде блока из пяти байт:
байт: номер включаемого устройства;
3 байты: целая и дробная часть частоты звучания (кГц);
5 байты: целая и дробная часть длительности звучания (с);
Структурная схема алгоритма приведена на рисунке 2.4.
Рис. 2.4. Структурная схема алгоритма работы ЦПУ
АЛГОРИТМЫ РАБОТЫ ППУ
Структурная схема алгоритма приведена на рисунке 3.1.
Рис. 3.1. Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса
2. Алгоритм работы ППУ
В блоке 2 устанавливается начальное значение переменной N=0. Затем
происходит прием блока данных от ЦПУ (блок 3) и их ретрансляция обратно
(блок 4). Далее проверяется сигнал SELIN от ЦПУ (блок 5). Если он
отсутствует то переменная N увеличивается на 1 (блок 6) и сравнивается с
5 (блок 7). Если они равны то переменной А присваивается значение 8
(блок 8) происходит обработка ошибки (блок 9) и переход к концу алгоритма.
В противном случае происходит переход к блоку 5. Если же сигнал SELIN равен
то переменная N приравнивается нулю (блок 10) и происходит проверка
сигналов INIT и AUTOFD (блок 11). Если INIT=1 и AUTOFD=0 то данные были
приняты неверно в этом случае происходит переход к блоку 3. Если оба
сигнала равны нулю или единице то переменной А присваивается значение 9
(блок 12) происходит обработка ошибки (блок 13) и переход к концу
алгоритма. Если INIT=0 и AUTOFD=1 то происходит вычисление коэффициентов
для таймера-счетчика на основании информации поступившей от ЦПУ (блок 14)
включается устройство автоматики (блок 15) происходит отображение номера
устройства на семисегментном индикаторе (блок 16) и генерация звуковой
последовательности (блок 17).
После генерации звуковой последовательности происходит проверка
сигнала SLCT от ЦПУ (блок 18). Если он равен нулю то переменной А
присваивается значение 10 (блок 19) происходит обработка ошибки (блок 20)
и переход к концу алгоритма. Если сигнал SLCT=1 то в линию передается
номер включенного устройства (блок 21) посылается сигнал –STB=0 (блок 22)
и проверяется сигнал ACKWLG от ЦПУ (блок 23). Если сигнал ACKWLG=0 то
переменная N увеличивается на 1 (блок 26) и сравнивается с 255 (блок 27).
Если они равны то переменной А присваивается значение 11 (блок 28)
происходит обработка ошибки (блок 29)и переход к концу алгоритма. Иначе
происходит переход к блоку 23. Если сигнал ACKWLG равен 1 то происходит
выключение индикатора (блок 24). Далее устанавливается сигнал –STB=1 (блок
) и переход к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.2.
Рис. 3.2. Структурная схема алгоритма работы ППУ
3. Алгоритм определения коэффициентов для звуковой индикации
В блоке 1 происходит преобразование значений длительности из
двухбайтового формата в котором в старшем байте хранится целая часть числа
а в младшем – дробная в однобайтовый в котором значение хранится в виде
одного числа равного исходному умноженному на десять.
В блоках 2 и 3 происходит вычисление констант необходимых для
воспроизведения звуковой последовательности.
В блоке 4 определяется число звуков длительности T для обеспечения
звуковой индикации в течение времени L=25с.
Структурная схема алгоритма приведена на рисунке 3.3.
Рис. 3.3. Структурная схема алгоритма определения коэффициентов для
4. Алгоритм воспроизведения звуковой последовательности
В блоке происходит установка начального значения переменной k=0 (k –
число воспроизведенных звуков). В блоке 2 происходит инициализация таймера.
В блоке 3 в канал 0 таймера загружается значение N0 а в блоке 4 в канал 1
таймера загружается значение N1. В блоке 5 проверяется равно ли содержимое
канала 0 нулю. Если не равно то управление переходит к блоку 5 а если
равно то переменная k увеличивается на 1 (блок 6) и сравнивается с числом
звуков которое надо воспроизвести (блок 7) если они не равны то
управление переходит к блоку 3 иначе - к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.4.
Рис. 3.4. Структурная схема алгоритма воспроизведения звуковой
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ
1. Функциональная схема центрального процессорного устройства
Рис. 4.1. Функциональная схема центрального процессорного устройства
Система состоит из микропроцессора генератора тактовых импульсов
системного контроллера двух адаптеров параллельного интерфейса
оперативного и постоянного запоминающих устройств а также дешифраторов.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то что ШД
находится в режиме приема информации в МП) –WR (указывает на то что
процессор выдает информацию на шину данных) и SYNC (синхронизация
используется генератором тактовых импульсов для формирования строба STB).
Генератор тактовых импульсов формирует тактовые сигналы F1 и F2
сигнал STB который поступая на системный контроллер фиксирует состояние
шины данных микропроцессора сигнал сброса RESET.
Системный контроллер на основе информации получаемой из
микропроцессора формирует сигналы управления чтением и записью информации
в память –MR и -MW а также во внешние устройства –IOR и –IOW.
Адаптеры параллельного интерфейса используются для связи ЦПУ и ППУ.
Первый адаптер используется для передачи данных к ЦПУ а второй для приема
данных от него. Адаптеры параллельного интерфейса адресуются как внешние
устройства. Для их выбора используется дешифратор DC1 который на основе
сигналов -IOR -IOW и информации из линий A6 7 формирует сигнал выбора
одного из адаптеров если в этом есть необходимость. В соответствии с этим
будут использоваться следующие адреса внешних устройств:
h – порт А первого адаптера;
h – порт B первого адаптера;
h – порт С первого адаптера;
h – управляющее слово первого адаптера;
h - порт B второго адаптера;
h – порт С второго адаптера;
h – управляющее слово второго адаптера.
Микросхемы RAM и ROM адресуются как устройства памяти. Для их выбора
используется дешифратор DC2 который на основе сигналов –MR -MW и
информации из линий A1211 формирует сигнал выбора микросхемы RAM или ROM
если в этом есть необходимость. В соответствии с этим будут использоваться
следующие адреса памяти:
00h-07FFh – адреса ПЗУ;
00h-0FFFh – адреса ОЗУ.
Дешифратор DC1 предназначен для формирования сигналов выбора кристалла
для запоминающих устройств адресуемых как внешние устройства а DC2 – для
запоминающих устройств адресуемых как ячейки памяти.
2. Функциональная схема периферийного процессорного устройства
Функциональная схема периферийного процессорного устройства приведена
Рис. 4.2. Функциональная схема периферийного процессорного устройства
оперативного и постоянного запоминающих устройств а также из ряда
логических схем для включения устройства автоматики звуковой сигнализации
индикации включения одного из устройств автоматики и селекции адресов
памяти и внешних устройств.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то
что ШД находится в режиме приема информации в МП) –WR (указывает на то
что процессор выдает информацию на шину данных) и SYNC (синхронизация
Адаптеры параллельного интерфейса адресуются как внешние устройства.
Для их выбора используется дешифратор DC1 который на основе сигналов -IOR
-IOW и информации из линий A6 7 формирует сигнал выбора одного из
адаптеров если в этом есть необходимость. Дешифратор DC1 также
вырабатывает управляющие сигналы для включения одного из устройств
автоматики и для включения и выключения семисегментного индикатора. На
этапе инициализации происходит вырабатывание сигнала -S2 вследствие чего
сигналы CS для дешифратора DC3 и STB для регистра RG будут равны 1 и они
будут оставаться равными единицами после прекращения подачи сигнала –S2.
Для включения устройства автоматики и индикации его включения на шину
данных помещается номер требуемого устройства и вырабатывается сигнал –S1.
Вследствие этого сигналы CS для дешифратора DC3 и STB для регистра RG будут
равны нулю. Сигнал СS низкого уровня разрешит работу дешифратора который
преобразует номер устройства в двоичном виде в код для семисегментного
индикатора и произойдет индикация включения. Сигнал STB низкого уровня
вызовет запоминание текущего состояния шины данных. При подаче сигнала –S1
также произойдет выбор дешифратора DC4 в результате чего дешифратор
преобразует номер устройства с шины данных и подаст сигнал на одно из
устройств автоматики. Индикация включения будет происходит даже после
прекращения подачи сигнала –S1. При подаче сигнала –S2 сигналы CS и STB
установятся в единицу что вызовет прекращение индикации включения.
В ЦПУ будут использоваться следующие адреса внешних устройств:
h – порт А второго адаптера;
h – управляющее слово второго адаптера;
h – используется для включения устройства автоматики и индикации
C0h – используется для прекращения индикации включения.
если в этом есть необходимость.
Таймер используется для формирования звукового сигнала. Обращение к
таймеру будет происходить как к ячейке памяти.
В ППУ будут использоваться следующие адреса памяти:
00h-0FFFh – адреса ОЗУ;
00h – счетчик 0 таймера;
01h – счетчик 1 таймера;
02h – счетчик 2 таймера;
03h – управляющее слово таймера;
И под ПЗУ и под ОЗУ выделено по два килобайта памяти.
запоминающих устройств адресуемых как ячейки памяти. Дешифратор DC3
предназначен для преобразования двоичного кода в код для семисегментного
индикатора. Дешифратор DC4 предназначен для формирования сигнала который
включал бы одно из устройств автоматики.
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА
Для обмена информацией между центральным и периферийным процессорными
устройствами используется интерфейс построенный на основе интерфейса
Centronix. Так как Centronix является односторонним интерфейсом то для
обеспечения двунаправленной передачи данных используется два канала
которые функционируют по стандартам этого интерфейса. Функциональная схема
канала передатчика ЦПУ – приемник ППУ приведена на рис. 2.1.
Рис 5.1. Схема канала передатчик ЦПУ – приемник ППУ
При наличии сигнала SLCT источник проверяет состояние сигнала BUSY и
если он сброшен выставляет данные на линии данных и выдает сигнал -STB.
Приемник по сигналу -STB считывает данные и устанавливает сигнал BUSY.
После окончания обработки данных приемник выдает сигнал ACKWLG и снимает
сигнал BUSY. Так как при обмене в линии связи могут происходить ошибки то
после получения информации приемником он отправляет ее обратно
передатчику. Передатчик сравнивает ее с переданной информацией и по
результатам сравнения устанавливает либо сигналы AUTOFD=1 INIT=0 SELIN=1
в случае если информация была получена приемником без ошибок либо сигналы
AUTOFD=0 INIT=1 SELIN=1 в противном случае.
Схема канала приемник ЦПУ- передатчик ППУ не отличается от приведенной
выше за исключением того что сигналы AUTOFD INIT и SELIN отсутствуют.
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ
В соответствии с техническим заданием комплекс был построен на базе
микропроцессорного комплекта КР580. Поэтому были использованы следующие БИС
этого комплекта: микропроцессор - КР580ВМ80А генератор тактовых импульсов
– КР580ГФ24 системный контроллер – КР580ВК28 адаптеры параллельного
интерфейса – КР580ВВ55 таймер – КР580ВИ53 шинные формирователи для шины
В качестве оперативного и постоянного запоминающих устройств были
использованы микросхемы КР537РУ10 и КР573РФ2. Они обе выполнены по ТТЛ-
технологии и имеют емкость 16Кбит (2К*8).
Для выбора устройств микропроцессорного комплекта применяются
логические микросхемы серии К155 выполненные по ТТЛ технологии. Для
построения комплекса были использованы следующие логические микросхемы:
К155ЛИ1 (4-2И) К155ЛЛ1 (4-2ИЛИ) К155ЛН1 (6 НЕ) К155ИД4 (дешифратор
который использовался в схемах селекции адреса) К155ИД12 (дешифратор
который используется для включения одного из устройств автоматики).
Для индикации включения используется семисегментный индикатор АЛС-
3А а для преобразования номера устройства из двоичного кода в код для
семисегментного индикатора применяется дешифратор К514ПР1 (серия К514
разработана для управления индикаторами и поэтому никаких дополнительных
согласующих микросхем не требуется).
Для звуковой сигнализации используется пьезоэлектрический излучатель
ЗП1 который может подключаться прямо к одному из выходов таймера.
Для подавления высокочастотных помех по цепям питания применяются
конденсаторы емкостью 002мкФ которые включаются между выводом +5V
микросхем и шиной GND в непосредственной близости от микросхемы.
Для ограничения входных токов микросхем при формировании на их входах
состояний логической единицы применяются резисторы с сопротивлением 1 кОм.
Для подстройки кварцевого резонатора используется конденсатор емкостью
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ
ЦПУ Адаптер 1 Интерфейс ППУ Адаптер 2
(передатчик) Номер контакта Сигнал (приемник)
PA7-0 2-9 D0 D7 PA7-0
Рис. 7.1 Схема соединения первого адаптера ЦПУ и второго адаптера ППУ
ЦПУ Адаптер 2 Интерфейс ППУ Адаптер 1
(приемник) Номер контакта Сигнал (передатчик)
Рис. 7.2 Схема соединения второго адаптера ЦПУ и первого адаптера ППУ
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Для воспроизведения одиночного звука заданной длительности и частоты
используется два канала таймера: канал 0 использован для генерации
прямоугольных импульсов заданной частоты а канал 1 – для задания
необходимой длительности.
Канал 0 программируется в режим 3 – генерация прямоугольных сигналов
со скважностью 2 (меандр). Выход имеет высокий уровень в течение NT2 если
N четное или (N+1)T2 если N нечетное (здесь N – число записанное в
счетчике 0 T – период импульсов синхронизации канала 0). В качестве
импульсов синхронизации используется синхропоследовательность с выхода С
генератора тактовых импульсов с частотой F=2 Мгц. Таким образом для
генерации звука частотой F необходимо загрузить счетчик 0 двоичным числом
Канал 1 программируется в режим 0 – прерывание по окончании счета. В
этом режиме по окончании отсчета N1 тактов синхронизации на входе
генерируется сигнал высокого уровня тогда как в процессе счета выходной
сигнал – низкоуровневый. Этот сигнал вместе с сигналом с выхода канала 0
поступают на элемент 2-ИЛИ-НЕ который разрешает генерацию звука лишь при
низкоуровневом сигнале с выхода первого канала. В качестве импульсов
синхронизации используется последовательность импульсов с выхода канала 0.
Поэтому период импульсов с выхода канала 1 будет определяться как:
где N1 – число загружаемое в канал1 F0 – требуемая частота звучания
(частота сигнала с выхода канала 0).
Тогда для обеспечения заданной длительности T необходимо загрузить в
По окончании отсчета числа в счетчике 1 на выходе канала 1
установится сигнал высокого уровня после чего звучание автоматически
После занесения в таймер значений N0 и N1 необходимо в цикле проверять
содержимое счетчика 1 как только его содержимое станет равным нулю
допустимо воспроизведение следующего звука.
Подпрограмма инициализации адаптеров параллельного интерфейса ЦПУ
MVI управляяющее слово: режим0 порт А – вывод порт
С7-4 -ввод порт PC3-0 – ввод
OUT 03h ;03h – адрес управляющего слова первого адаптера
MVI управляющее слово: режим0 порт А – ввод порт
С7-4 -вывод порт PC3-0 – вывод
OUT 43h ;43h – адрес управляющего слова второго адаптера
OUT 03h ; установка сигнала STB=1
OUT 03h ; установка сигнала INIT=0
OUT 03h ; установка сигнала AUTOFD=0
OUT 03h ; установка сигнала SELIN=0
OUT 43h ; установка сигнала SLCT=1
OUT 43h ; установка сигнала BUSY=0
OUT 43h ;установка сигнала ACKWLG=0
Подпрограмма передачи блока из пяти байт
В регистре B будет хранится значение переменной N а в регистре С
будет храниться значение переменной K.
Значение errcode – указывает на адрес в памяти по которому хранится
номер ошибки. Значение data1 – указывает на адрес в памяти начиная с
которого хранится блок данных которые надо передать.
IN 02h ;поместить в А содержимое порта С первого адаптера
ANI 00010000b ;анализ четвертого бита содержимого А
JNZ Labeпереход если SLCT=1
LXI Herrcode ;загрузка в пару HL адреса по которому хранится код
MVI M1 ;установка номера ошибки
CALL error ;обработка ошибки
ANI 00100000b ;анализ пятого бита содержимого А
JZ Labeпереход если BUSY=0
JNZ Labeпереход если N!=255
MOV AM ;поместить байт который надо передать в аккумулятор
OUT 00h ;поместить данные в порт А
OUT 03h ;установка сигнала STB=0
IN 02h ; поместить в А содержимое порта С первого адаптера
ANI анализ шестого бита аккумулятора
JNZ Labeпереход если сигнал ACKWLG!=0
OUT 03h ;установить сигнал STB=1
INR C ;увеличить число переданных байт
INX H ;сформировать адрес следующего байта который будет передан
CPI 5d ;сравнить число переданных байт с пятью
JZ Labeесли передано пять байт то переход
Подпрограмма приема блока из пяти байт
номер ошибки. Значение data2 – указывает на адрес в памяти начиная с
которого хранится блок данных который получает приемное устройство.
ANI 00000001b ;проанализировать значение нулевого бита аккумулятора
JZ Labeпереход если STB=0
MVI M4 ;запись по адресу errcode номера ошибки
IN 00h ;поместить данные из порта А первого адаптера в аккумулятор
MOV MA ;записать полученный байт в память
OUT 03h ;установить сигнал BUSY=1
OUT 03h ;установить сигнал ACKWLG=1
Labeорганизация задержки на 41мкс (82 такта)
OUT 03h ;установить сигнал ACKWLG=0
INR C ;увеличение числа принятых байт
INX H ;сформировать адрес следующего принятого байта
CPI 5d ;сравнить число полученных байт с пятью
JZ Labeпереход если были приняты все пять байт
OUT 03h ;установить сигнал BUSY=0
Подпрограмма работы ЦПУ
Значение data1 указывает на адрес начиная с которого будут храниться
данные для передачи data2 – указывает на адрес начиная с которого будут
храниться принимаемые данные errcode – адрес по которому хранится номер
ошибки nomer – адрес по которому хранится номер включаемого устройства.
OUT 03h ;Установить сигнал AUTOFD=0
OUT 03h ;Установить сигнал SELIN=0
OUT 03h ;Установить сигнал INIT=0
CALL Pered ;передать блок данных
CALL Prпринять блок данных
MOV AM ;поместить в аккумулятор содержимое ячейки памяти на которую
CMP M ;сравнить переданный и полученный байты
JNZ Labeпереход если байты не равны
INX H ;инкремент адреса Data2
INX H ;инкремент адреса Data1
INR B ;инкремент числа правильных байт
CPI 5d ;сравнение числа правильных байт с пятью
JZ Labeпереход если блоки данных совпадают
JMP Labeпереход на проверку следующего байта в блоке
INR C ;инкремент числа ошибок
CPI 8d ;сравнение числа ошибок с 8
JZ Labeпереход если совершено 8 неудачных попыток передать
OUT 03h ;установить сигнал SELIN=1
OUT 03h ;установить сигнал INIT=1
JMP Labeпереход на новый прием блока данных
CALL error ;вызов подпрограммы обработки ошибок
OUT 03h ;установить сигнал AUTOFD=1
OUT 03h ;установить сигнал AUTOFD=0
OUT 03h ;установить сигнал SELIN=0
ANI 00010000b ;анализ 4 бита аккумулятора
ANI 00000001b ;анализ первого бита аккумулятора
JNZ Labeпереход если STB=1
OUT 42h ;установить сигнал BUSY=1
OUT 42h ;установить сигнал ACKWLG=1
OUT 42h ;установить сигнал ACKWLG=0
OUT 42h ;установить сигнал BUSY=0
CMPM ;сравнить присланный номер устройства и номер хранящийся в
JZ Labeпереход если они равны
CALL avtomat ;вызов подпрограммы выполняющей действия в
соответствии с номером устройства
Подпрограмма инициализации адаптеров параллельного интерфейса ППУ
OUT 43h ; 43h – адрес управляющего слова второго адаптера
Подпрограмма работы ППУ
Значение data2 указывает на адрес начиная с которого будут храниться
принимаемые данные для передачи errcode – адрес по которому хранится
номер ошибки. В регистре B будет храниться значение переменной N.
CALL PИнициализация адаптеров параллельного интерфейса
CALL PrПрием блока данных
CALL Pered ;Отправка блока данных
ANI 00001000b ;Анализ третьего бита аккумулятора
JNZ LabeПереход если сигнал SELIN=1
JZ Labeпереход если N=255 (сигнал SELIN долгое время не
ANI 00000100b ;Анализ второго бита аккумулятора (сигнал AUTOFD)
JNZ Labeпереход если AUTOFD=1
ANI 00000010b ;Анализ первого бита аккумулятора (сигнал INIT)
JNZ Labeпереход если INIT=1 и AUTOFD=0
CALL eror ;вызов подпрограммы обработки ошибок
ANI 00000010b ;Анализ второго бита аккумулятора (сигнал INIT)
JZ LabeПереход если AUTOFD=1 и INIT=0
JMP Переход если AUTOFD=1 и INIT=1
CALL coef ;вычисление коэффициентов для звуковой индикации
OUT C0h ;инициализация блока индикации
OUT 80h ;включение индикатора и устройства автоматики
CALL sound ;проиграть звуковую последовательность
ANI 00010000b ;анализ четвертого бита аккумулятора (сигнал SEL)
JNZ Labeпереход если SEL=1
OUT 00h ;отправить номер устройства
OUT 03h ;установить сигнал STB=0
ANI 01000000b ;анализ шестого бита аккумулятора (сигнал ACKWLG)
JZ Labeпереход если ACKWLG=0
OUT C0h ;выключить индикатор
CPI FFh ;сравнить N и 255
Подпрограмма определения коэффициентов для таймера:
Значения Fn и Tn указывают на адреса в памяти по которым хранятся
значения F’ и T’. Значения N01 N02 – на адреса в памяти по которым
хранится старший и младший байт коэффициента N0. Значения N11 N12 – на
адреса в памяти по которым хранятся старший и младший байт коэффициента
N1. Значение number – на адрес по которому хранится число звуков которое
надо воспроизвести для обеспечения заданной длительности. Значение Data2 –
на адрес по которому хранится принятый блок данных.
Labeв регистре C теперь находится целая часть от деления 200 на
MOV CA ;в регистре С теперь хранится целая часть от деления 200 на
MOV MD ;в регистре D находится старший байт значения N0
MOV ME ;в регистре E находится младший байт значения N0
MOC CA ;в регистре С теперь хранится T’*10
MOV MD ;в регистре D хранится старший байт значения N1
MOV ME ;в регистре E хранится младший байт значения N2
;определение количества звуков
Подпрограмма воспроизведения звуковой последовательности
Значения N01 N02 – на адреса в памяти по которым хранится старший и
младший байт коэффициента N0. Значения N11 N12 – на адреса в памяти по
которым хранятся старший и младший байт коэффициента N1. Значение number –
на адрес по которому хранится число звуков которое надо воспроизвести для
обеспечения заданной длительности. В регистре B будет храниться число
воспроизведенных звуков.
OUT 1003h ;инициализация нулевого канала таймера (двоичный счет
режим 3 обращение к младшему а затем к
OUT 1000h ;загрузка в канал 0 значения N0
OUT 1003h ; инициализация первого канала таймера (двоичный счет
режим 1 обращение к младшему а затем к
OUT 1001h ;загрузка в канал 1 начального значения N1
;проверка содержимого канала 1
CPI 0d ;сравнить содержимое младшего байта канала 1 с нулем
JNZ Labeпереход если содержимое не равно нулю
CMP B ;сравнить число воспроизведенных звуков с требуемым
JNZ Labeпереход если они не равны
В ходе курсового проектирования было спроектировано микропроцессорное
устройство состоящее из центрального и периферийного процессорных
устройств. Устройство предназначено для включения и индикации включения
одного из семи устройств автоматики. При этом центральное процессорное
устройство подготавливает номер устройства и параметры звуковой
последовательности а затем передает их периферийному процессорному
устройству которое включает устройство автоматики и осуществляет индикацию
включения путем отображения номера устройства на семисегментном индикаторе
и проигрыванием звуковой последовательности. Центральное и периферийное
процессорные устройства связаны между собой интерфейсом Centronix.
Спроектированная система вряд ли найдет какое-либо практическое
применение из-за использования устаревшего микропроцессорного комплекта. К
тому же для выполнения поставленной задачи можно было бы разработать более
простую систему (например использовать только один адаптер параллельного
интерфейса или вообще отказаться от периферийного процессорного
Но в ходе выполнения этого курсового проекта были получены навыки по
проектированию простейших микропроцессорных устройств которые могут
пригодиться в будущем при разработке сложных микро-ЭВМ построенных на базе
более современных микропроцессорных комплектов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и мини-ЭВМ. Л.:
Энергоатомиздат 1984. 376 с.
Иванов В.И. Аксенов А.И. Юшин А.М. Полупроводниковые оптоэлектронные
приборы: справочник. М.: Энергоатомиздат 1984. 184 с.
Майоров В.Г. Гаврилов А.И. Практический курс программирования
микропроцессорных систем. М.: Машиностроение 1989. 272 с.
Мячев А.А. Интерфейсы систем обработки данных. М.: Радио и связь 1984.
Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги: справочник
т.4. М.: КубК-а 1997. 576 с.
т.2. М.: КубК-а 1997. 640 с.
Рахимов Т.М. Справочник по микросхемам серии К155. Новосибирск 1991.
Угрюмов Е. П. Цифровая схемотехника. СПб.: БХВ-Петербург 2001. 528 с.
Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматического
управления. Л 1987. 640с.
Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных
схем: справочник т.1. М.: Высш. шк. 1988. 159с.
ПРИЛОЖЕНИЕ 1. ПЕРИФЕРИЙНОЕ ПРОЦЕсСОРНОЕ УСТРОЙСТВО. ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
Адаптер параллельного интерфейса
Блок включения устройств автоматики
Устройства автоматики
Семисегментный индикатор
Устройство для воспроизведения звуков
Установка управляющих сигналов первого адаптера: STB=1 AUTOFD=0 INIT=0
Инициализация первого адаптера:
группа А – вывод C7-4 – ввод С3-0 -вывод
Инициализация второго адаптера:
Группа А – ввод C7-4 – вывод C3-0 -ввод
Установка управляющих сигналов второго адаптера: SLCT=1 BUSY=0 ACKWLG=0
Включить устройство автоматики
Вычисление коэффициентов для звуковой индикации
Обработка ошибки ошибкуиошибку
Проверить сигналы INIT AUTOFD
Установка управляющих сигналов первого адаптера: -STB=1
Сравнить число воспроизведенных звуков с необходимым
Проверить содержимое канало0
Загрузить в канал 1 значение N1
Загрузить в канал 0 значение N0
Инициализация таймера: канал0- режим3 канал1 – режим 0
Вычисление необходимого числа звуков для обеспечения заданной длительности
сигнализации (целая часть от деления 250 на T’)
Вычисление значения N1=10*F’T’
Вычисление значения N0=(200F’)*100
Преобразование значений длительности и частоты из двухбайтового формата в
однобайтовый (вычисление F’ и T’)
Установить сигнал –STB=0
Установка управляющих сигналов второго адаптера SLCT=1 BUSY=0 ACKWLG=0
Проверить сигнал –STB передатчика
Получить байт из линии
Установить сигналы AUTOFD=1 SELIN=1
Установить сигналы INIT=1 SELIN=1
Сравнить переданный и полученный блоки
Получить блок данных
Передать блок данных
Подготовить блок данных
Установить сигналы AUTOFD=0 INIT=0 SELIN=0
Инициализация переменных
Инициализация адаптеров параллельного интерфейса
Выполнение действий соответствующих номеру включенного устройства
Сравнить номера включенного устройства и устройства которое требовалось
Установить сигнал BUSY=1
Получить код включенного устройства
Проверить сигнал STB
Проверить сигнал SLCT от ППУ
Установить сигнал ACKWLG=1
Установить сигнал BUSY=0
Установить сигнал ACKWLG=0
Установить сигнал –STB=1
Проверить сигнал ACKWLG от ЦПУ
Поместить в линию номер устройства
Проверить сигнал SEL от ЦПУ
Проверить сигнал SELIN от ЦПУ
Проверить сигнал ASKWLG приемника
Подготовить и поместить байт в линию
Проверить сигнал BUSY приемника
Проверить сигнал SLCT от приемника

icon текст (10).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ ТИПА "БЕГУЩАЯ СТРОКА
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА 7
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ 13
ИНТЕРФЕЙС CENTRONICS 14
1. Описание интерфейса 14
2. Функциональная схема интерфейса 16
1. Подпрограмма обмена функционирующая в ПУ 18
2. Подпрограмма функционирующая в ПУ 19
3. Подпрограмма вывода информации на индикаторы 20
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 22
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к внешним устройствам. Комплекс
предназначен для реализации вывода знаковой информации (десятичных цифр) в
режиме динамической индикации на одну из 4 панелей отображения типа
бегущая строка" построенных на 25 7 сегментных индикаторах. Адресация к
устройствам управления панелями отображения должна осуществляться как к
ячейкам памяти лежащим в поле адресов периферийного процессора. Информация
хранится в ОЗУ центрального процессорного устройства откуда передается
периферийному устройству единым массивом который сопровождается
информацией о номере панели отображения. Максимальный размер массива
составляет 50 символов. Время нахождения одного знака на любой панели
отображения составляет 10 секунд. Контроль правильности отображаемой
информации осуществляется путем обратной передачи копии массива символов из
периферийного устройства и сравнении ее (копии) с исходным массивом знаков
в центральном процессорном устройстве.
По результатам сравнения осуществляется либо передача сигнала
разрешающего вывод информации на панель отображения либо повторная
передача несовпадающих символов с последующим сравнением копии и оригинала.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 3 минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
ячейке памяти лежащей в поле адресов периферийного процессора.
В курсовой работе предложено решение поставленной в техническом задании
На рис.1 представлена структурная схема разрабатываемого комплекса
состоящего из центрального и периферийного устройств. В центральном
устройстве находятся программы организующие алгоритмы функционирования
системы и осуществляющие формирование подготовку и передачу данных в
периферийное устройство. Передача осуществляется посредством периферийного
адаптера КР580ВВ55 и интерфейса CENTRONICS.
Периферийное устройство принимает данные анализирует состояние линии
связи и сразу отправляет их обратно в центральное устройство для проверки
на предмет ошибок передачи. В зависимости от наличия или отсутствия ошибок
центральное устройство либо разрешает индикацию данных либо осуществляет
повторную передачу данных. Периферийное устройство обрабатывает и
осуществляет выдачу принятых данных на блок индикаторов правильную работу
которого обеспечивает блок управления динамической индикацией. После
окончания индикации в бегущей строке всех принятых данных периферийное
устройство переходит в первоначальное состояние и ожидает следующего сеанса
связи с центральным устройством.
Комплекс состоит из двух частей (рис. 1): центрального устройства (ЦУ)
и периферийного устройства (ПУ) которые связаны между собой посредством
параллельного интерфейса CENTRONICS. Оба устройства (ЦУ и ПУ) построены на
базе 580-го комплекта с центральным процессором КР580ВМ80 и имеют в своем
составе параллельный периферийный адаптер КР580ВВ55 при помощи которого и
организуется интерфейс CENTRONICS.
В центральном устройстве располагается блок индикации неисправности
системы в котором происходит отображение возникающих ошибок в частности.
В периферийном устройстве находится блок индикаторных панелей
осуществляющих индикацию информационного массива принятого от центрального
устройства в виде бегущей строки. Организация режима динамической
индикации и выбор панели на которую будет осуществлен вывод информации
выполняется блоком управления индикаторами. В периферийном устройстве также
имеется блок для индикации ошибок связанных с передачей информации.
Передаваемый в периферийное устройство массив данных имеет всегда
фиксированную длину - 75 байт. Наряду с данными требующими отображения в
виде бегущей строки он содержит информацию о номере панели отображения на
которой должна происходить индикация: в первом байте находится двоичное
число первые пять разрядов которого определяют состояние соответствующих
панелей т.е. будет ли на них выводиться информация.
Остальные 74 информационных байта имеют формат изображенный на рис.2.[pic]
Состояние битов D6 D5 D4 значения не имеет и может быть произвольным.
Байт все биты которого нулевые производит обнуление регистровой памяти
индикаторов и подготовит их к приему отображаемой информации. Такой формат
позволяет не просто отображать сплошной ряд чисел но и отделять
последовательности чисел друг от друга пробелом что достигается установкой
в ноль старшего бита D7 или всего байта.
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА
Рис. 3.1. Алгоритм работы центрального устройства
Рис. 3.2. Алгоритм работы периферийного устройства
Рис. 3.3 Алгоритм работы подпрограммы вывода информации на индикаторы
Подпрограмма обмена функционирующая в ЦУ
В задачи подпрограммы центрального устройства алгоритм работы которой
представлен на рисунке входит организация обмена данными между центральным
и периферийным процессорами контроль правильности передачи информации и
индикация неисправности в случае нарушения связи между устройствами.
В вершине 2 контроллер параллельного интерфейса программируется в режим
Затем счетчику байтов передаваемых в ПУ присваивается значение 75 в
соответствие с размером информационного массива.
В вершине 4 задается адрес по которому находится первый элемент
передаваемого массива расположение массива может быть произвольным и
определяется в центральной программе которая вызывает подпрограмму обмена.
Предполагается что информационный массив полностью подготавливается
центральной программой и данные в массиве имеют требуемый формат.
В вершинах 5 и 6 обнуляются счетчик ошибок используемый для
организации циклов ожидания ответных сигналов от ПУ и счетчик повторений.
В вершине 7 происходит установка внешнего сигнала ERROR в 1 т.е.
снимается подтверждение безошибочной передачи данных.
В вершине 8 происходит непосредственно передача байта находящегося по
адресу ADR после чего организуется цикл ожидания передачи копии байта от
ПУ. Ожидание происходит пока значение счетчика ERR не превысит 200 после
чего ЦУ производит повторную передачу байта увеличивая при этом счетчик
Если копия поступила (сигнал INT=1) то производится чтение поступивших
данных из порта и сравнение их с переданными.
Если данные не совпали то есть произошла ошибка при передаче то не
выставляется сигнал ERROR=0 что информирует периферийное устройство о том
что произошла ошибка и будет произведена повторная передача счетчик
повторных передач увеличивается на единицу и если его значение не
превышает трех происходит переход к вершине 6.
Если данные переданы без ошибок выставляется сигнал подтверждения
совпадения данных ERROR=0 что информирует ПУ о безошибочной передаче. В
вершине 18 происходит обнуление счетчика повторных передач затем
модифицируется адрес передаваемого байта (осуществляется переход к
следующему байту массива) уменьшается счетчик переданных байт. Если
передан не весь массив (N>0) то происходит переход к вершине 6. Если
счетчик равен нулю подпрограмма обмена завершает свою работу и передает
управление основной программе в вершине 23.
Программа функционирующая в ПУ
Работа программы периферийного устройства алгоритм которой представлен
на рисунке начинается с включением питания. Алгоритм не имеет блока
завершения программы т.е. программа выполняется пока устройство не будет
выключено. Основной режим функционирования ПУ -режим ожидания информации от
центрального устройства и в случае ее появления прием в буфер и индикация
в виде бегущей строки на указанной панели отображения.
Счетчику принятых байтов N присваивается значение 75 (аналогично
центральному устройству).
В вершине 4 задается адрес начала буфера обмена BUFFER туда будет
осуществлен прием информации из ЦУ. Счетчик ошибок ERR обнуляется.
В вершинах 6 и 7 организуется цикл ожидания передачи данных путем
опроса сигнала INTR и если таковые имеются происходит считывание из порта
(вершина 8) и запись их в память по адресу BUF (буфер обмена).
В вершине 9 принятые данные отправляются обратно в ЦУ для проверки на
наличие ошибок. Вершины 10-13 организуют цикл ожидания сигнала
подтверждения отсутствия ошибок от ЦУ увеличивая значение счетчика ошибок
на каждом шаге. Если сигнала нет (ERROR=1) то увеличивается число
повторных передач и ПУ переходит к повторной передаче (вершина 5). Если
данные совпали т.е. ERROR=0 то ПУ готовится к приему следующего байта
При переходе к следующему байту увеличивается адрес по которому
записывается принятый байт и уменьшается счетчик байт. Если этот счетчик
не равен нулю (передан не весь массив) переходим к вершине 4 иначе
вызываем подпрограмму вывода принятой информации на выбранную панель
индикации. Отобразив информацию переходим на исходную позицию то есть к
Подпрограмма вывода информации на индикаторы
Подпрограмма вывода информации на индикаторные панели вызывается
программой ПУ в случае удачного приема всего информационного массива. В
задачи этой подпрограммы входит физический выбор панели отображения в
соответствии с первым байтом принятого информационного массива то есть
запись номера панели в триггер состояние которого и определяет: выбрана
данная панель или нет. Программа также должна организовать непосредственно
бегущую строку предварительно запустив программируемый таймер при помощи
которого осуществляется режим динамической индикации и подготовить
регистровую память индикаторных элементов (обнуление служебным нулем -
индикаторы погашены).
Чтобы организовать автоматическое "убегание" конца строки с
индикаторной панели (все элементы информационного массива должны
отображаться в течение Т=20с) обнуляется 40 байт ячеек памяти
расположенных сразу за буфером обмена в котором находится принятый массив.
Выбрав нужную панель отображения запускаем счетчик по показаниям
которого происходит обращение к индикаторным элементам. Далее следует сам
алгоритм формирования бегущей строки.
Счетчик N показывает количество отображенных байтов информации.
Переменная L содержит количество не обслуженных индикаторных элементов.
Переменная К предназначена для последовательной адресации к байтам
информационного массива показывает текущий обрабатываемый элемент
В блоке 10 байт информационного массива с номером К из буфера
передается в ячейку регистровой памяти индикаторов с номером L.
Если отображаемых символов меньше 40 (начало строки) то обновление
регистровой памяти завершится с окончанием потока данных (К окажется равным
раньше L). Если уже отобразили более 40 байт то выход из цикла
обновления произойдет при обновлении информации во всех индикаторных
элементах панели (L=0). Далее проверяется отображен весь массив или нет.
Информативная часть массива составляет 74 байта но для того чтобы конец
строки "проехал" до конца надо после информационных байт отобразить 40
пробелов поэтому выводим на индикаторы дополнительные 40 байт служебных
нулей всего 114 байт.
Временная задержка Тзад в вершине 15 осуществляется программно в
соответствии с временем прохождения информационного символа по индикаторной
панели указанного в техническом задании (Т = 20 сек.) и составляет 0.5
сек (Тзад=ТМ=2040=0.5 сек.).
Задержка организуется с помощью двух вложенных циклов начальные
значения счетчиков которых выбраны таким образом чтобы суммарная задержка
выполнения внешнего цикла была равна 0.5с. Подбором удалось найти такие
значения (k1=234 - внутренний цикл k2=224 - внешний) при которых задержка
составит 0.5004245с т.е. погрешность равна 424.5мкс. Задержка
рассчитывалась по формуле 0.5*((19*k1+22)*k2) где 0.5.мкс - время одного
такта 19 - время выполнения команд внутри вложенного цикла (в тактах) 22
- время выполнения команд внешнего цикла.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ
В начальных адресах (0000h - 0FFFh) располагается ПЗУ (две физически
раздельных микросхемы емкостью по 2К каждая из которых занимает свое
адресное пространство) в которых находятся программы инициализации ПУ
служебные программы программы обмена информацией с ЦУ и программа
индикации полученного от ЦУ массива данных.
Для адресации к контроллеру интерфейса КР580ВВ55 выделено адресное
пространство 3000h-3004h.
Адресация к регистровой памяти индикаторных панелей осуществляется как
к ВУ. Номер регистра памяти записывается в буферную микросхему для которой
выделен адрес 40h. Затем можно произвести запись в регистр индикаторных
панелей обращаясь к нему по адресу 80h.
Для устройства выбора панели зарезервирован адрес 20h.
Для адресации к таймеру КР580ВИ53 выделен адрес ВУ 10h.
ИНТЕРФЕЙС CENTRONICS
1. Описание интерфейса
Периферийное и центральное устройства связаны посредством параллельного
интерфейса CENTRONICS реализованного с использованием параллельных
периферийных адаптеров КР580ВВ55. Обмен данными производится по линиям DO -
D7 подключенным к порту А как в ЦУ так и в ПУ. Адаптеры параллельного
интерфейса функционируют в режиме 2 (двунаправленная передача информации по
каналу А). Процесс обмена сопровождается служебными сигналами по линиям
В режиме 2 линии А7-А0 выполняют роль двунаправленной трехстабильной
шины управляемой сигналами STB IBF OBF АСК и INT. Сигналы IBF и OBF
информируют ВУ о готовности принять или предать данные соответственно. В
соответствии с ними внешнее ПУ либо генерирует очередные данные
сопровождая их стробом STB либо формирует сигнал подтверждения приема АСК
готовясь к приему данных. Низкий уровень АСК открывает выходные буферы
порта А разрешая выдачу данных на шину. В остальных случаях шина порта А
находится в Z-состоянии.При передаче информации от ЦУ к ПУ для квитирования
используются сигналы STROBE (OBF центрального устройства [С7] ( STB
периферийного [С4]) - сигнал готовности к ЦУ передаче информации ACKWLG
(АСК центрального [С6] ( инвертированный IBF периферийного [С5]) - сигнал
готовности ПУ к приему информации.
При передаче в обратном направлении сигналы квитирования передаются по
линиям SLCT и SLCTIN (сигнал OBF периферийного устройства [С7] ( STB
центрального [С4] передается по линии SLCT a сигнал подтверждения АСК - по
Для оповещения ПУ о результатах проверки переданной информации на
наличие ошибок задействуется линия С2 по которой происходит передача
сигнала ERROR. Периферийное устройство на основании состояния линии С2 либо
переходит к приему следующего байта массива либо повторяет прием.
Временная диаграмма интерфейса
2. Функциональная схема интерфейса
Рис. 6. Функциональная схема интерфейса
На функциональной схеме показаны процессор периферийного устройства
вспомогательные схемы для нормальной работы самого процессора - генератор
тактовых сигналов а также внешних по отношению к нему устройств - шинный
формирователь и системный контроллер кроме этого есть постоянная и
оперативная память (блоки ПЗУ и ОЗУ) со схемами селекции адреса а также
блок индикаторов размещенных по 40 элементов в панели и схемы необходимые
для функционирования блока индикаторов в динамическом режиме - это двоичный
счетчик дешифратор для выбора элемента в панели регистровая память для
хранения информации подлежащей отображению на выбранной индикаторной
панели схема выбора панели которая состоит из триггера и дешифратора на
восемь выходов (используется только 5 - по числу панелей) схемы
обеспечивающей выбор соответствующих устройств при обращении к адресам
закрепленными за этими устройствами.
Генератор тактовых сигналов обеспечивает процессор сигналами READY -
готовность устройств RESET - установка системы в исходное состояние
требуемая например после возникновения глобальной ошибки связи с ЦУ а
также тактирующие последовательности CLK1 CLK2.
Системный контроллер и шинный формирователь предназначен для фиксации
слова-состояния МП выработки системных управляющих сигналов буферизации
шины данных МП и управления направлением передачи данных кроме этого он
содержит шинный формирователь-усилитель обеспечивающий увеличение
нагрузочной способности системной информационной шины.
Блоки ОЗУ и ПЗУ подключены стандартным способом. При обращении в
область адресов ОЗУ или ПЗУ селектор адреса ОЗУ и ПЗУ организует выбор
соответствующей микросхемы памяти.
Селектор регистров видео памяти запоминает номер выбранного регистра и
при подаче соответствующей команды производит запись байта в выбранный
Схема выбора панели состоит одного 6-разрядного регистра пять разрядов
используются для выбора панелей с помощью блока из пяти транзисторов К973А
которые коммутируют питание индикаторных панелей.
Запуск программируемого таймера происходит сразу после программирования
его в режим деления частоты сигналы таймера используются для поочередного
обращения к индикаторам панели (режим динамической индикации).
Если панель выбрана то на ней начинает отображаться содержимое
регистровой видео памяти Обращение к индикаторам панели происходит
поочередно каждый индикатор загорается с частотой 50Гц которая задается
программируемым таймером (таймер работает в режиме делителя исходной
частоты 2МГц на 250). Сигнал от таймера поступает на двоичный счетчик
который считает до 40. Первые два выхода счетчика не используются
поэтому счетчик делит частоту еще на 4 (в результате получаем частоту
свечения индикатора г=2000000(250*4*40)=50Гц). Остальные выходы счетчика
соединены с 3 дешифраторами которые осуществляют выбор конкретного
индикаторного элемента с помощью транзисторного ключа. Выбранный элемент
начинает отображать содержимое "своего" регистра видео памяти. В любой
момент времени светится только один индикаторный элемент (принцип
динамической индикации). В последствии частота свечения индикаторов может
быть скорректирована путем программного изменения коэффициента деления у
Организация бегущей строки происходит программно путем обновления ячеек
регистровой видеопамяти. Начиная с крайнего правого 40-го индикатора новые
значения последовательно записываются в соответствующие ячейки регистровой
памяти. Сначала первый байт информационного массива записывается в регистр
отображающий свою информацию в 40-й индикатор затем (после программно
реализуемой задержки) происходит сдвиг строки на один символ влево т.е.
новый символ отображается в 40-м индикаторе а все отображенные ранее
Обращение к микросхеме программируемого параллельного интерфейса
происходит как к ячейке памяти и осуществляется селектором адреса ячеек
Работа с параллельным интерфейсом осуществляется программно путем
опроса соответствующих бит слова состояния. Это позволяет избежать
использования программируемого контроллера прерываний.
1. Подпрограмма обмена функционирующая в ПУ
START:MVI A 11000000B ; установка контр. парал.
OUT PORT+3 ; интерфейса в режим 2
MVI C75 ; размер передаваемого массива
LXI HLADR ; запись в HL адреса первого эл. маc
MVI B00 ; обнуление счетчика повторных передач
M обнуление счетчика ошибок
MVI A0000 0101b ; управляющее слово (уст. ERROR=1)
OUT PORT+3 ; запись его в порт
MOV AM ; читаем байт инф. маc. для передачи
OUT PORT ; передаем его в порт
M2: IN PORT+2 ; читаем порт С
AND 0000 1000b ; проверяем INT
JNZ M3 ; переход если есть данные
INR D ; увеличить счетчик ошибок
MVI A200 ; предельное время ожидания
CMP D ; если оно не превышено
JNZ M2 ; ждем дальше
OUT ERR ; иначе индикация ошибки
M3: IN PORT ; читаем копию данных из порта
CMP M ; сравнение с оригиналом
JZ M4 ; переход к след. байту если совп.
INR В ; увеличить счетчик повторных передач
MVI A 4 ; макс. кол. повт. передач
CMP В ; если не превышено
JNZ M повторить еще раз
M4: MVI A0000 0100b ; управляющее слово (уст. ERROR^O)
OUT PORT+3 ; запись упр. слова в порт
MVI B 00 ; обнулить счетчик повторных передач
INX H ; указать на следующий элемент массива
DCR С ; уменьшить счетчик оставшихся байт
JNZ M1 ; если не все передано передать след.
RET ; возврат в основную программу
Примечание: PORT - адрес закрепленный за контроллером параллельного
интерфейса; ERR - адрес ВУ индикации ошибки (устройство индицирует ошибку
при обращении к нему содержимое передаваемого байта не учитывается); ADR -
адрес начала информационного массива.
2. Подпрограмма функционирующая в ПУ
START: MVI A 11000001B ; установка контр. парал.
STA 2002h ; интерфейса в режим 2
M начальный адрес буфера BUFFER
MVI B 75 ; счетчик принятых байт
M2: MVI C 0 ; счетчик ошибок
MVI D 0 ; счетчик повторений
M3: LDA 2002h ; чтение слова состояния
AN I 8h ; опрос сигнала INT
JZ M3 ; ожидание сигнала
LDA 2000h ; чтение данных из порта
MOV M A ; запись данных в буфер обмена
STA 3000h ' ; передача принятого обратно
M4: LDA 2002h ; чтение слова состояния
AN I 4h ; опрос сигнала ошибки ERROR
JNZ M5 ; если нет ошибок след. байт
INR С ; увеличение счетчика ошибок
MOV А С ; проверка превышения
CPI 200 ; заданного времени ожидания
JNZ M4 ; цикл ожидания
INR D ; увеличение счетчика повторений
MOV AD ; проверка превышения
CPI 4 ; количества повторений
JNZ M3 ; если не превышено еще раз
CALL ERROR ; индикация неисправности
JMP START ; переход на начало алгоритма
M5: INX H ; увеличение адреса BUFFER
DCR В ; уменьшение счетчика байт N
JNZ M2 ; если не все принято след. байт
CALL DISPLAY ; вызов подпрограммы вывода
; информации на индикаторы
JMP M переход на начало алгоритма
Замечание: ERROR - адрес служебной подпрограмма индикации
неисправности; DISPLAY - адрес подпрограммы вывода информации на
3. Подпрограмма вывода информации на индикаторы
DISPLAY: MVI A 00010100 ;программирование таймера:
;канал 0 только младший байт
;режим 2 двоичный счет
MVI A 250 ;деление частоты на 2 50
MVI B 40 ;обнуление регистровой памяти
MVI B 40 ;обнуление массива памяти 4 0 байт
LXI H 1128h ;за буфером обмена
LDA H00h ;запись номера панели
M3: MVI D 40h ' ;задание индекса L=4 0
MOV E С ;задание индекса K=N
M4: MVI A D ;выбрать регистр
MVI L E ;считать из буфера
OUT 80h ;записать в регистр
JZ M5 ;проверка условия К>0
JNZ M4 ;проверка условия L=0
CMP 114 ;проверка условия N=114
RZ ;возврат если конец -
MVI D 224 ;циклы задержки на 05 секунды
Мб: MVI E 234 ;для движения строки с заданной
JMP МЗ ;переход на очередной сдвиг строки
В курсовой работе разработан на базе микропроцессорного комплекта
КР580 комплекс для реализации вывода знаковой информации на панели
отображения типа "бегущая строка". При этом выполнены все требования
указанные в техническом задании.
Несколько замечаний по поводу разработанного комплекса. Обращение к
сегментным индикаторам (регистровой видео памяти) как к ВУ не
целесообразно. Такой подход требует введения буфера для хранения номера
выбранного регистра и усложняет схему и алгоритмы работы. Далека от идеала
и предложенная схемотехническая реализация устройства. Можно значительно
сократить число применяемых элементов оптимизировать соединения между
ними. Эти цели при разработке схем просто не преследовались. Приоритет
отдавался облегчению понимания функционирования устройства.
Реальное применение предложенного устройства в указанном составе
является весьма сомнительным. Для организации бегущей строки на современном
уровне развития микроэлектроники целесообразно было бы использовать
персональный компьютер в качестве центрального устройства а в периферийном
устройстве использовать вместо 580-го комплекта какой-либо из современных
микроконтроллеров. Однако это не означает что предложенное устройство либо
его части не могут быть использованы для решения своих функциональных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Б.М. Каган. Электронные вычислительные машины и системы. - М.:
Энергоатомиздат 1991. - 592 с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Справочник. М.: Машиностроение 1993.-256с: ил.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник. В 2 т.; под ред. В. А. Шахнова.- М.: Радио и связь 1988.-
Мячев А.А. и др. Интерфейсы систем обработки данных: Справочник. М.:
Радио и связь 1989.-416 с: ил.
Полупроводниковые приборы: Диоды тиристоры оптоэлектронные приборы:
Справочник; под ред. Н. Н. Горюнова.- М.: Энергоатомиздат 1985.- 744
Обозначение Наименование Кол. Примечание
DD1 КР580ВМ80А 1 процессор
DD2 КР580ВИ53 1 програм. таймер
DD3 КР580ВВ55А 1 параллел.порт
DD4 КР537РУ10 1 ОЗУ 16К(2байта)
DD6 КР580ГФ24 1 генератор такт.сигн
DD7 КР580ВК28 1 сист. контроллер
DD8 DD9 К573РФ2 2 ППЗУ 16К(2Кбайта)
DD5 DD10-DD14 КР580ВА86 6 8-разрядные шинные
DD15 DD16 К555ЛЛ1 2 четыре 2ИЛИ
DD17 DD18 К555ЛАЗ 2 четыре И-НЕ
DD19 DD20 К555ЛН1 2 шесть НЕ
DD21 DD22 К555ТМ9 2 сшестеренный D-триггер
DD23 К555ИЕ19 1 два четырехразрядных
DD24-DD29 К155ИДЗ 6 дешифратор 4->16
DD30-DD69 КР514ПР1 40 Преобразователь
двоично-десятичного
кода в семисегментный
С1 К50-35-6313-10мкФ 1
С2 К10-17-16-ПЗЗ-3.3 пФ + 10% 1
СЗ-С23С27-С29 К10-17-2б-Н90-068 мкФ 54
С24 С25 С26 К50-35-16В-220мкФ 3
R1-R4 1 кОм±10%-А-В-В 5
R5 100кОм±10%-А-В-В 1
VD1 КД5226 ДРЗ.362.029 ТУ 1
VT1 КТ973А АА0.336.453 ТУ 200
VT2 КТ973А АА0.336.453 ТУ 5
HG1 АЛС324А 200 семисегментный
ZQ1 Резонатор кварцевый 18МГц 1
SB1 Кнопка малогабаритная 1
КМД1-1-НА3.604.006ТУ

icon текст (21).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА 5
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА 6
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА 8
ВРЕМЕННЫЕ ДИАГРАММЫ 9
1 Временная диаграмма считывания из АЦП 9
2 Временные диаграммы работы КР580ВВ51 10
2.1 Работа КР580ВВ51 в режиме асинхронной передачи 10
2.2 Работа КР580ВВ51 в режиме асинхронного приема 11
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ 12
1 Описание алгоритма работы ППУ 12
2 Описание алгоритма работы ЦПУ 15
2 Выбор интервалов ожидания 17
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА 18
1 Структура адресного пространства ППУ 18
2 Структура адресного пространства ЦПУ 19
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 20
1 Блок-схемы программы для ППУ (рис.10) и подпрограммы для ЦПУ(рис.11)
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 25
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
считывания и запоминания информации в фиксированные ячейки ОЗУ центрального
процессорного устройства с блока измерителя напряжений содержащего 5 АЦП
К1113ПВ1 с адресацией к ним как к ячейкам памяти лежащим в поле адресов
периферийного процессора. Номера АЦП подлежащие опросу в данный период
времени определяются программой выполняемой в центральном процессорном
устройстве и передаются периферийной стороне. Период опроса любого АЦП
составляет Т секунд и передается в блок измерителя из центрального
процессорного устройства. Период опроса Т остается постоянным на все время
опроса АЦП в данной конфигурации. Передаваемые значения Т лежат в пределах
7 - 12.3 сек. с точностью 0.1 сек. Процедура периодического опроса АЦП
полностью организуется периферийным процессором. Опрос АЦП в данной
конфигурации с периодом Т продолжается до поступления новых данных от
центрального процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 2 минут. В качестве
времязадающего устройства использовать БИС таймера КР580ВИ53 с адресацией к
ней как к внешнему устройству лежащему в поле адресов периферийного
Канал сбора аналоговых данных представляет собой устройство
обеспечивающее преобразование аналогового сигнала в цифровой код. При этом
в канале осуществляется усиление фильтрация и нормирование сигнала
подавление синфазной помехи; производится нелинейная обработка сигнала с
целью линеаризации характеристики датчика и приведение аналогового сигнала
к виду пригодному для ввода в аналого-цифровой преобразователь (АЦП) путем
запоминания его мгновенных значений и хранения в течение определенного
В состав канала сбора аналоговых данных входит также ряд импульсных узлов
которые синхронизируют работу его составных частей и управляют работой АЦП.
АЦП является оконечным узлом проектируемого устройства и все другие
составные функциональные единицы прямо или косвенно обеспечивают его
нормальное функционирование.
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА
Система сбора аналоговой информации состоит из параллельно работающих
центрального процессорного устройства (ЦПУ) и периферийного процессорного
устройства (ППУ). Структурная схема системы приведена на рис.1.
Рис.1. Структурная схема устройства
Блок ЦПУ на структурной схеме содержит в своем составе микропроцессор
память и контроллер последовательного интерфейса. Блок ППУ содержит те же
самые элементы плюс блок измерителя напряжений. Сбор аналоговой информации
происходит непосредственно в блоке измерителя напряжений под управлением
ППУ затем информация передается в ячейки ОЗУ ППУ после чего по линии
связи поступает в фиксированные ячейки ОЗУ ЦПУ. Передача информации по
линии связи осуществляется под управлением контроллеров последовательного
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА
Функциональная схема отличается от структурной большей степенью
детализации и описанием используемых сигналов. В состав системы сбора
аналоговой информации входят два микропроцессорных устройства на базе
микропроцессора КР580ВМ80А связанные между собой интерфейсом RS-232.
Функциональная схема ЦПУ изображена на рис.2 а функциональная схема ППУ на
Рис.2. Функциональная схема ЦПУ
В состав ЦПУ и ППУ входят стандартные БИС МП комплекта КР580 кроме того
ППУ содержит 7 АЦП типа К572ПВ1 и 6 устройств выборки и хранения аналоговых
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА
Для связи ЦПУ и ППУ используется интерфейс RS-232 отечественным аналогом
которого является СТЫК-С2. Схема интерфейса приведена на рис.4.
Рис. 4. Структурная схема интерфейса.
Передача и прием данных осуществляется по двум однонаправленным линиям
(по одной передача по другой - прием). Один конец линии связи подсоединен
к выходу передатчика УСАПП TxD другой ко входу данных приемника другого
УСАПП RxD. Сигнал DTR означает физическое подключение модема к линии связи.
При этом несущая еще не выдается. После получения подтверждения
используется сигнал DSR (DTE для ЭВМ). После этого выдается сигнал RTS (ОСЕ
для модема) он выставляет несущую в линию связи и отвечает ЭВМ сигналом
CTS. Затем начинается передача.
1 Временная диаграмма считывания из АЦП
Временная диаграмма считывания из АЦП приведена на рис. 5.
Рис. 5. Временная диаграмма считывания из АЦП.
АЦП К572ПВЗ восьмиразрядный и данные из АЦП считываются не сразу в ОЗУ а
сначала записываются в регистр из которого потом считываются.
Преобразование начинается во всех АЦП одновременно обращением к
соответствующему адресу в поле адресов памяти ППУ. При выставлении адреса
на ША дешифратор подает сигнал на вход "ГашениеПреобразование" АЦП и на
управляющий вход устройства выборки и хранения (УВХ). УВХ через 04 08
мкс (машинный такт равен 1 мкс) подаст на аналоговый вход АЦП постоянное
напряжение. АЦП начнет преобразование и не более чем через 30 мкс выдаст
двоичный код который запомнится в регистрах и одновременно сигнал
READY говорящий об окончании преобразования. Сигналы готовности от разных
АЦП поступают на схему & . Когда все АЦП завершат преобразование сигнал со
схемы & поступит на вход READY МП. Адрес будет снят вследствие чего будет
снят сигнал Гаш.Преобр. По положительному фронту сигнала Гаш.Преобр. АЦП
снимет разрядные данные и сигнал READY. Одновременно с этим (т.к. адрес
будет снят с ША) данные от АЦП защелкнутся в регистрах откуда их потом
можно будет считать.
2 Временные диаграммы работы КР580ВВ51
Рис 6. Работа КР580ВВ51 в режиме асинхронной передачи
В данной системе КР580ВВ51 работает в асинхронном режиме поэтому
временные диаграммы приведены именно для этого режима. Временная диаграмма
работы КР580ВВ51 в режиме асинхронной передачи приведена на рис. 6 а в
режиме асинхронного приема на рис. 7. Скорость передачи данных 1200 битс.
2.1 Работа КР580ВВ51 в режиме асинхронной передачи
Данные записываются в микросхему в параллельном байтовом формате. При
помещении слова данных в регистр сдвига происходит автоматическое
присоединение к слову старт-бита бита контроля по четности 2-х стоп-бит
(итого получается 12 бит). Т.к. в управляющем слове в разряде DO стоит 1-
ца то на входе CTS устанавливается напряжение низкого уровня. Информация в
виде последовательного потока данных подается на вывод TxD (на рис.6 2
Сначала записывается управляющее слово "Передача". В этот момент CD
высокого уровня (т.к. записываем команду). Пока слово не поступило в
регистр передатчика выходы TxRDY и TxEND высокого уровня. При записи байта
данных в регистр передатчика на выходе TxEND и TxRDY устанавливается L
уровень далее байт переправляется в регистр сдвига и начинает выдвигаться
в линию TxD при этом TxRDY становится Н уровня. Узнав об этом путем
программного опроса слова состояния УСАПП МП отправляет в регистр
передатчика новый байт что приводит к установке L уровня на TxRDY (TxEND
остается в том же состоянии). Сигналу TxRDY соответствует триггер TxRDY в
слове состояния УСАПП поэтому МП может программно узнать когда отсылать
2.2 Работа КР580ВВ51 в режиме асинхронного приема
Когда в асинхронном режиме не передается информация на линии RxD
держится высокий уровень. Появление на входе напряжения низкого уровня
свидетельствует о приходе старт-бита. Истинность этого бита проверяется
вторично стробированием его в середине. Если наличие напряжения низкого
уровня подтверждается то запускается счетчик битов который позволяет
определить конец передачи символа.
Сначала происходит запись команды в регистр команд УСАПП. Сигналы CD и
WR аналогичны передаче. По линии RxD выставленные биты постепенно попадают
регистр сдвига приемника УСАПП и когда весь байт войдет в регистр
сдвига происходит перемещение его в регистр приемника УСАПП. После этого
МП может считать символ проследив эту ситуацию по разряду RxRDY в- слове
состоянии УСАПП. Этот триггер дублирует состояние выхода RxRDY. После
считывания напряжение на выходе RxRDY снова становится низкого уровня.
Рис 7. Работа КР580ВВ51 в режиме асинхронного приема
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
1 Описание алгоритма работы ППУ
После включения ППУ или после сигнала сброса (RESET) прежде всего
происходит выключение индикатора сигнализирующего об ошибке. Это
необходимо чтобы избежать ложной сигнализации об ошибке. После этого
происходит инициализация таймера для подачи сигналов ТхС и RxC к УСАППу.
Для этого канал 2 таймера программируется в режиме делителя частоты (на
). С выхода OUT2 таймера сигнал поступает на вх. ТхС и RxC KP580BB51.
Затем происходит инициализация КР580ВВ51. УСАПП программируется в режиме
асинхронных передачи и приема. Управляющее слово режима работы задает
асинхронный режим с 2-мя стоп-битами четным паритетом длиной символа - 8
бит и со скоростью передачи и приема 116 от ТхС. Это достигается загрузкой
УСРР 1111111 Ob (FEh). Затем в УСАПП записывается управляющее слово приказа
(одновременные передача и прием сброс битов ошибок) 00110111b (37h).
После инициализации УСАППа устройство переходит в режим ожидания данных
от ЦПУ. Это реализуется путем программного опроса регистра слова состояния
УСАПП. При наличии в слове состояния УСАПП взведенного байта RxRDY (бит 01
= 1) МП читает слово из регистра приемника и записывает его по
определенному адресу в ОЗУ. От ЦПУ приходят значение периода Т и маска АЦП
подлежащих опросу в данный период времени. Младшие 6 байт маски
соответствуют шести АЦП. Байт DO соотв. АЦП 1 D5 - АЦП 6. Опросу
подлежат АЦП отмеченные единицей в соответствующем разряде маски. Приняв
от ЦПУ оба байта МП анализирует биты ошибок в регистре слова состояния
УСАПП (FE РЕ ОЕ). Если ошибок при приеме не было ППУ отправляет к ЦПУ
байт подтверждения правильного приема и на этом инициализация ППУ
заканчивается. Если же были ошибки то ППУ ничего не передает ЦПУ а
сбрасывает биты ошибок в УСАПП и переходит к ожиданию повторной передачи
данных от ЦПУ. В то же время ЦПУ не получив в течении определенного
времени ответа от ППУ включает индикатор сигнализирующий о неисправности
в системе и повторно передает данные ППУ.
Получив все необходимые данные ППУ переходит к циклу опроса АЦП. Прежде
всего программируется таймер. Одного счетчика не хватает чтобы обеспечить
задержку на максимальное значение Т поэтому канал 0 программируется в
режиме делителя частоты выход счетчика 0 подключен ко входу счетчика 1 а
счетчик 1 программируется в режиме задержки. Новое значение в счетчик 1
заносится в начале каждого цикла опроса АЦП.
МП подает сигнал преобразования одновременно для всех АЦП (IDA 200п).
После того как все АЦП завершат преобразование сигнал снимается и МП
переходит к следующему действию. Происходит последовательный опрос битов
маски. Байт маски циклически сдвигается вправо после чего проверяется флаг
CY. Если CY=1 то из регистра - защелки считывается байт кода от данного
АЦП в фиксированную ячейку ОЗУ. Если же CY=0 то данный АЦП не
опрашивается и МП переходит к следующему АЦП.
Опросив все АЦП ППУ посылает ЦПУ запрос на передачу блока данных и
включает цикл ожидания ответа. Внутри этого цикла периодически
анализируется бит слова состояния УСАПП RxRDY. Если в течение этого
интервала времени ответ от ЦПУ не приходит то декрементируется счетчик
количества попыток связаться с ЦПУ. Если сделано 5 попыток а ЦПУ не
отвечает то включается индикатор и происходит останов МП. Если же попытки
еще остались то ППУ снова посылает запрос на передачу данных. При наличии
ответа от ЦПУ ППУ передает блок данных. Передача данных аналогична опросу
регистров АЦП по маске. Если данный АЦП помечен в маске единицей то
происходит передача ЦПУ байта информации от данного АЦП. Готовность
передатчика также проверяется в слове состояния yCAnn(TxRDY = DO). После
передачи данных ППУ переходит в ожидание подтверждения от ЦПУ правильности
приема. Если ответ от ЦПУ не приходит в течение времени достаточного для
этого то ППУ проверяет количество попыток связи. Если попытки вышли
включается индикатор затем происходит останов МП. Если еще остались
попытки то ППУ снова посылает ЦПУ зарос на передачу данных. Получив от ЦПУ
подтверждение правильного приема ППУ переходит в ожидание окончания
периода Т для чего периодически производит считывание из таймера "на
лету" не прекращая его работы. При обнулении счетчика 1 таймера МП
переходит в начало цикла опроса АЦП (загрузка в таймер значения Т и т.д.).
Блок-схема алгоритма работы ППУ приведена на рис. 8.
Рис. 8. Структура алгоритма работы ППУ
2 Описание алгоритма работы ЦПУ
При вызове подпрограммы "RECEIVE" ЦПУ совершает следующие действия.
Выключается индикатор сигнализирующий об ошибках. Затем происходит
программирование КР580ВВ51 аналогично тому как это делается в ППУ (тот же
режим). После этого ППУ передаются значение Т и маска АЦП. Все общение с
УСАПП как и в ППУ происходит через программный опрос регистра слова
состояния. ЦПУ переходит в ожидание ответа от ППУ. Если через определенное
время ответ от ППУ не приходит это означает обрыв линии связи1 или что
ППУ выключено или же что при приеме данных в ППУ были ошибки. В любом
случае включается индикатор сигнализирующий об ошибках и происходит
повторная передача данных для ППУ и т.д. после получения от ЦПУ
подтверждения о правильном приеме данных индикатор выключается и ЦПУ
переходит к ожиданию от запроса на передачу данных от ППУ. Таким образом
ППУ и ЦПУ можно включать в любой последовательности. Если подпрограмма
RECEIVE" в ЦПУ будет вызвана а ППУ не будет включено то у ППУ загорится
индикатор. После включения ППУ работа продолжится и индикатор выключится.
После получения от ППУ ответа в ЦПУ запускается счетчик периода времени
продолжительностью больше Т. Если в течение этого времени от ППУ не будет
получено запроса на передачу данных то включится индикатор и произойдет
выход из данной подпрограммы. Если придет запрос от ППУ то ППУ будет
послано разрешение на передачу данных и ЦПУ приготовится к приему блока
данных с информацией от АЦП.
Прием блока данных от ППУ происходит по маске АЦП. Если данный АЦП
отмечен единицей в соответствующем разряде маски то в ячейки памяти
соответствующие этому АЦП записывается из регистра приемника УСАПП байт
значения. Если же данный АЦП не подлежит опросу то поступающие в регистр
приемника данные будут передаваться в ячейки памяти соответствующие
ближайшему АЦП подлежащему опросу. Таким образом информация от каждого
АЦП всегда поступает в фиксированные ячейки памяти. После окончания приема
проверяются биты ошибок в слове состояния УСАПП. Если ошибок не было то
ЦПУ посылает ППУ подтверждение и переходит к ожиданию следующего запроса на
передачу (снова запускается счетчик времени). Если были ошибки то
подтверждение ППУ не посылается и происходит ЦПУ ожидает повторного запроса
Блок - схема алгоритма работы ЦПУ приведена на рис. 9.
Нулевой и первый каналы таймера программируются с целью обеспечить период
Т опроса АЦП. Канал 0 программируется в режиме 2 (делитель частоты). Т.к.
МП работает на частоте 99=1 МГц то загрузка в канал 0 значения 10000 (271
Oh) обеспечит выдачу сигнала OUTO с периодом 0.01 с. Точность периода Т
составляет 0.01 с поэтому пересылаемое от ППУ значение Т показывает
количество составляющих по 0.01 с в периоде. Следовательно в байте Т могут
содержаться значения от 100 до 1020 (Т может принимать значения от 1с до
2 с). Выход OUTO подключен ко входу CLK1. Значение Т загружается в канал
в начале каждого цикла опроса АЦП т.к. канал 1 программируется в режиме
Канал 2 программируется для сигналов ТхС и RxC УСАПП. Он программируется
в режиме 2. В него загружается значение 52 (34h) следовательно частота CLK
УСАПП подаваемая с F2 более чем в 50 раз превосходит частоту ТхС и RxC.
В сочетании с тем что скорость передачи УСАПП составляет 116 от ТхС это
обеспечивает скорость передачи данных в линии связи 1200 битс.
2 Выбор интервалов ожидания
При передаче данных между ППУ и ЦПУ используются временные задержки
ожидания ответа. Если через некоторое время ответ не приходит включается
индикатор. Основная временная задержка происходит при передаче данных в
последовательном коде. Время передачи одного символа (12 бит) при скорости
00 битс составляет 10 000 тактов или 0.01 с. Для передачи в обратную
сторону добавим еще 10 000 тактов и еще 10000 тактов с запасом хватит на
выполнение других участков программы. Итого мы организовываем цикл ожидания
000 тактов путем выполнения двух вложенных циклов. Такой цикл
используется в нескольких местах программы в частности при начальной
передаче исходных данных от ЦПУ к ППУ (при ожидании ЦПУ ответа от ППУ) при
ожидании разрешения на передачу данных (ППУ) при ожидании подтверждения
безошибочного приема (ППУ). Также используется еще один цикл ожидания. ППУ
должно посылать ЦПУ информацию от АЦП через интервал времени Т. Если ЦПУ не
получает вовремя этой информации то включается индикатор. Для организации
этого цикла в ЦПУ используется счетчик в который загружается значение
байта Т. Вложенные циклы обеспечивают задержку на время большее 0.01 с.
Следовательно общее время ожидания данных от ППУ больше времени Т.
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА
1 Структура адресного пространства ППУ
Структура адресного пространства памяти ППУ приведена в табл.1.
Адрес начальный Наименование элемента (устройства) (его
-адрес конечный функция)
OOOOh -01FFh Память программ (ПЗУ)
00h -040Fh Память данных (ОЗУ)
8 0 0 h 0805h Регистры АЦП АЦП 1
OCOOh OC01h OC02h Таймер: Сч. 0 Сч. 1 Сч. 2 РУС
0h Сигнал "пуск преобразования" АЦП
00h 1401h Выключить индикатор Включить
Структура адресного пространства внешних устройств ППУ приведена в табл.
h УСАПП : данные управляющие слова
2 Структура адресного пространства ЦПУ
Структура адресного пространства памяти ЦПУ приведена в табл.3.
OOOOh -OBFFh Монитор служебные программы
OCOOh-OCCOh Подпрограмма осуществляющая обмен с ЦПУ
00h Яч. памяти для хранения маски АЦП
01h-1006h Ячейки памяти для хранения данных ППУ
07h Адрес для хранения Т
FFFOh FFF1h Индикатор : выключить включить
Структура адресного пространства внешних устройств ЦПУ приведена в табл.
ООh 01h УСАПП : данные Управляющие слова
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ
В состав ППУ входят следующие микросхемы: микропроцессор КР580ВМ80А ГТИ
КР580ГФ24 таймер КР580ВИ53 контроллер последовательного интерфейса
КР580ВВ А системный контроллер КР580ВК38 микросхема ПЗУ 556РТ5 ОЗУ
К155РУ2 АЦП К572ПВЗ микросхемы выборки и хранения аналоговых сигналов
КР1100СК2 а также другие микросхемы обеспечивающие работу устройства.
Неиспользуемые выводы микросхем заземляем чтобы уменьшить электромагнитные
ГТИ служит для формирования тактовых импульсов которые поступают на МП
таймер и контроллер поел интерфейса. Также через ГТИ подается сигнал
сброса от внешней кнопки и сигнал READY.
Таймер является основным времязадающим устройством в ППУ. Для организации
продолжительных временных задержек выход OUTO подан на вход CLK1. Канал 2
обеспечивает сигналы ТхС RxC поэтому выход OUT2 подан на входы RxC TxC
КР580ВВ51А. Счетчики таймера всегда выбраны поэтому на его входы GATED
GATE1 GATE2 подается постоянное напряжение +5 В через резистор 1кОм.
Контроллер поел интерфейса является единственным внешним устройством
поэтому его вывод CS заземлен но в выбранном состоянии в выбранном
состоянии он находится только при обращении к ВУ т.е. когда системный
контроллер выдает сигналы IOR или IOW.
Вход CS микросхем К155РУ2 подключен к дешифратору поэтому эти микросхемы
не будут выбираться при адресах меньше 1 Кбайта в частности при обращении
Для обеспечения необходимой временной задержки при выдаче с дешифратора
сигнала преобразования для АЦП выходы READY всех дешифраторов поданы на
вход микросхемы &. Когда все АЦП завершат преобразование на вход READY МП
через ГТИ пойдет сигнал и МП перейдет к следующему такту. Данные с цифровых
выходов АЦП защелкнутся в регистрах откуда потом могут быть прочитаны. При
обращении к др. устройствам сигнал READY подается сразу т.к. он подключен
к выходам дешифратора (также через схему 1).
Перечень элементов приведен в приложении 1.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Микропроцессоры. В 3-х кн. Под ред. Преснухина Л.Н. М.:Высш. шк.
Федорков Б.Г. Телец В.А. Микросхемы ЦАП и АЦП: функционирование
применение. М.: Энергоатомиздат 1990. 320с.
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и
Энергоатомиздат 1989. 376с.
Кузнецова Г.В. Хмелевский И.В. Требованию к оформлению
Методические указания к курсовому проектированию по курсам "ЭМСТ" и
Калабеков В.А. Микропроцессоры и их применение в системах передачи и
сигналов. М: Радио и связь 1988. 368с.
Микропроцессоры и микропроцессорные комплекты интегральных
Справочник. Под ред. Шахнова В.А. Том 1. Л.: Радио и связь 1988. 368с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Машиностроение 1993. 256с.
Фор Поз Обозначение
Изм № документа Периферийное процессорное устройство
Разрабо Валиев М. Ф.
тал лист листов листов
ПровериХмелевский И. В.

icon текст (13).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ ТИПА "БЕГУЩАЯ СТРОКА
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: И.А. Миронов
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА 7
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ 13
ИНТЕРФЕЙС CENTRONICS 14
1. Описание интерфейса 14
2. Функциональная схема интерфейса 16
1. Подпрограмма обмена функционирующая в ПУ 18
2. Подпрограмма функционирующая в ПУ 19
3. Подпрограмма вывода информации на индикаторы 20
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 22
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к ячейкам памяти. Комплекс предназначен для
реализации вывода знаковой информации (десятичных цифр) в режиме
динамической индикации на одну из 6 панелей отображения типа "бегущая
строка" построенных на 28 7 сегментных индикаторах. Адресация к
устройствам управления панелями отображения должна осуществляться как к
внешним устройствам лежащим в поле адресов периферийного процессора.
Информация хранится в ОЗУ центрального процессорного устройства откуда
передается периферийному устройству единым массивом который сопровождается
информацией о номере панели отображения. Максимальный размер массива
составляет 55 символов. Время нахождения одного знака на любой панели
отображения составляет 12 секунд. Контроль правильности отображаемой
информации осуществляется путем обратной передачи копии массива символов из
периферийного устройства и сравнении ее (копии) с исходным массивом знаков
в центральном процессорном устройстве.
По результатам сравнения осуществляется либо передача сигнала
разрешающего вывод информации на панель отображения либо повторная
передача несовпадающих символов с последующим сравнением копии и оригинала.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 3 минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
В курсовой работе предложено решение поставленной в техническом задании
На рис.1 представлена структурная схема разрабатываемого комплекса
состоящего из центрального и периферийного устройств. В центральном
устройстве находятся программы организующие алгоритмы функционирования
системы и осуществляющие формирование подготовку и передачу данных в
периферийное устройство. Передача осуществляется посредством периферийного
адаптера КР580ВВ55 и интерфейса CENTRONICS.
Периферийное устройство принимает данные анализирует состояние линии
связи и сразу отправляет их обратно в центральное устройство для проверки
на предмет ошибок передачи. В зависимости от наличия или отсутствия ошибок
центральное устройство либо разрешает индикацию данных либо осуществляет
повторную передачу данных. Периферийное устройство обрабатывает и
осуществляет выдачу принятых данных на блок индикаторов правильную работу
которого обеспечивает блок управления динамической индикацией. После
окончания индикации в бегущей строке всех принятых данных периферийное
устройство переходит в первоначальное состояние и ожидает следующего сеанса
связи с центральным устройством.
Комплекс состоит из двух частей (рис. 1): центрального устройства (ЦУ)
и периферийного устройства (ПУ) которые связаны между собой посредством
параллельного интерфейса CENTRONICS. Оба устройства (ЦУ и ПУ) построены на
базе 580-го комплекта с центральным процессором КР580ВМ80 и имеют в своем
составе параллельный периферийный адаптер КР580ВВ55 при помощи которого и
организуется интерфейс CENTRONICS.
В центральном устройстве располагается блок индикации неисправности
системы в котором происходит отображение возникающих ошибок в частности.
В периферийном устройстве находится блок индикаторных панелей
осуществляющих индикацию информационного массива принятого от центрального
устройства в виде бегущей строки. Организация режима динамической
индикации и выбор панели на которую будет осуществлен вывод информации
выполняется блоком управления индикаторами. В периферийном устройстве также
имеется блок для индикации ошибок связанных с передачей информации.
Передаваемый в периферийное устройство массив данных имеет всегда
фиксированную длину - 75 байт. Наряду с данными требующими отображения в
виде бегущей строки он содержит информацию о номере панели отображения на
которой должна происходить индикация: в первом байте находится двоичное
число первые пять разрядов которого определяют состояние соответствующих
панелей т.е. будет ли на них выводиться информация.
Остальные 74 информационных байта имеют формат изображенный на рис.2.[pic]
Состояние битов D6 D5 D4 значения не имеет и может быть произвольным.
Байт все биты которого нулевые производит обнуление регистровой памяти
индикаторов и подготовит их к приему отображаемой информации. Такой формат
позволяет не просто отображать сплошной ряд чисел но и отделять
последовательности чисел друг от друга пробелом что достигается установкой
в ноль старшего бита D7 или всего байта.
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА
Рис. 3.1. Алгоритм работы центрального устройства
Рис. 3.2. Алгоритм работы периферийного устройства
Рис. 3.3 Алгоритм работы подпрограммы вывода информации на индикаторы
Подпрограмма обмена функционирующая в ЦУ
В задачи подпрограммы центрального устройства алгоритм работы которой
представлен на рисунке входит организация обмена данными между центральным
и периферийным процессорами контроль правильности передачи информации и
индикация неисправности в случае нарушения связи между устройствами.
В вершине 2 контроллер параллельного интерфейса программируется в режим
Затем счетчику байтов передаваемых в ПУ присваивается значение 75 в
соответствие с размером информационного массива.
В вершине 4 задается адрес по которому находится первый элемент
передаваемого массива расположение массива может быть произвольным и
определяется в центральной программе которая вызывает подпрограмму обмена.
Предполагается что информационный массив полностью подготавливается
центральной программой и данные в массиве имеют требуемый формат.
В вершинах 5 и 6 обнуляются счетчик ошибок используемый для
организации циклов ожидания ответных сигналов от ПУ и счетчик повторений.
В вершине 7 происходит установка внешнего сигнала ERROR в 1 т.е.
снимается подтверждение безошибочной передачи данных.
В вершине 8 происходит непосредственно передача байта находящегося по
адресу ADR после чего организуется цикл ожидания передачи копии байта от
ПУ. Ожидание происходит пока значение счетчика ERR не превысит 200 после
чего ЦУ производит повторную передачу байта увеличивая при этом счетчик
Если копия поступила (сигнал INT=1) то производится чтение поступивших
данных из порта и сравнение их с переданными.
Если данные не совпали то есть произошла ошибка при передаче то не
выставляется сигнал ERROR=0 что информирует периферийное устройство о том
что произошла ошибка и будет произведена повторная передача счетчик
повторных передач увеличивается на единицу и если его значение не
превышает трех происходит переход к вершине 6.
Если данные переданы без ошибок выставляется сигнал подтверждения
совпадения данных ERROR=0 что информирует ПУ о безошибочной передаче. В
вершине 18 происходит обнуление счетчика повторных передач затем
модифицируется адрес передаваемого байта (осуществляется переход к
следующему байту массива) уменьшается счетчик переданных байт. Если
передан не весь массив (N>0) то происходит переход к вершине 6. Если
счетчик равен нулю подпрограмма обмена завершает свою работу и передает
управление основной программе в вершине 23.
Программа функционирующая в ПУ
Работа программы периферийного устройства алгоритм которой представлен
на рисунке начинается с включением питания. Алгоритм не имеет блока
завершения программы т.е. программа выполняется пока устройство не будет
выключено. Основной режим функционирования ПУ -режим ожидания информации от
центрального устройства и в случае ее появления прием в буфер и индикация
в виде бегущей строки на указанной панели отображения.
Счетчику принятых байтов N присваивается значение 75 (аналогично
центральному устройству).
В вершине 4 задается адрес начала буфера обмена BUFFER туда будет
осуществлен прием информации из ЦУ. Счетчик ошибок ERR обнуляется.
В вершинах 6 и 7 организуется цикл ожидания передачи данных путем
опроса сигнала INTR и если таковые имеются происходит считывание из порта
(вершина 8) и запись их в память по адресу BUF (буфер обмена).
В вершине 9 принятые данные отправляются обратно в ЦУ для проверки на
наличие ошибок. Вершины 10-13 организуют цикл ожидания сигнала
подтверждения отсутствия ошибок от ЦУ увеличивая значение счетчика ошибок
на каждом шаге. Если сигнала нет (ERROR=1) то увеличивается число
повторных передач и ПУ переходит к повторной передаче (вершина 5). Если
данные совпали т.е. ERROR=0 то ПУ готовится к приему следующего байта
При переходе к следующему байту увеличивается адрес по которому
записывается принятый байт и уменьшается счетчик байт. Если этот счетчик
не равен нулю (передан не весь массив) переходим к вершине 4 иначе
вызываем подпрограмму вывода принятой информации на выбранную панель
индикации. Отобразив информацию переходим на исходную позицию то есть к
Подпрограмма вывода информации на индикаторы
Подпрограмма вывода информации на индикаторные панели вызывается
программой ПУ в случае удачного приема всего информационного массива. В
задачи этой подпрограммы входит физический выбор панели отображения в
соответствии с первым байтом принятого информационного массива то есть
запись номера панели в триггер состояние которого и определяет: выбрана
данная панель или нет. Программа также должна организовать непосредственно
бегущую строку предварительно запустив программируемый таймер при помощи
которого осуществляется режим динамической индикации и подготовить
регистровую память индикаторных элементов (обнуление служебным нулем -
индикаторы погашены).
Чтобы организовать автоматическое "убегание" конца строки с
индикаторной панели (все элементы информационного массива должны
отображаться в течение Т=20с) обнуляется 40 байт ячеек памяти
расположенных сразу за буфером обмена в котором находится принятый массив.
Выбрав нужную панель отображения запускаем счетчик по показаниям
которого происходит обращение к индикаторным элементам. Далее следует сам
алгоритм формирования бегущей строки.
Счетчик N показывает количество отображенных байтов информации.
Переменная L содержит количество не обслуженных индикаторных элементов.
Переменная К предназначена для последовательной адресации к байтам
информационного массива показывает текущий обрабатываемый элемент
В блоке 10 байт информационного массива с номером К из буфера
передается в ячейку регистровой памяти индикаторов с номером L.
Если отображаемых символов меньше 40 (начало строки) то обновление
регистровой памяти завершится с окончанием потока данных (К окажется равным
раньше L). Если уже отобразили более 40 байт то выход из цикла
обновления произойдет при обновлении информации во всех индикаторных
элементах панели (L=0). Далее проверяется отображен весь массив или нет.
Информативная часть массива составляет 74 байта но для того чтобы конец
строки "проехал" до конца надо после информационных байт отобразить 40
пробелов поэтому выводим на индикаторы дополнительные 40 байт служебных
нулей всего 114 байт.
Временная задержка Тзад в вершине 15 осуществляется программно в
соответствии с временем прохождения информационного символа по индикаторной
панели указанного в техническом задании (Т = 20 сек.) и составляет 0.5
сек (Тзад=ТМ=2040=0.5 сек.).
Задержка организуется с помощью двух вложенных циклов начальные
значения счетчиков которых выбраны таким образом чтобы суммарная задержка
выполнения внешнего цикла была равна 0.5с. Подбором удалось найти такие
значения (k1=234 - внутренний цикл k2=224 - внешний) при которых задержка
составит 0.5004245с т.е. погрешность равна 424.5мкс. Задержка
рассчитывалась по формуле 0.5*((19*k1+22)*k2) где 0.5.мкс - время одного
такта 19 - время выполнения команд внутри вложенного цикла (в тактах) 22
- время выполнения команд внешнего цикла.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ
В начальных адресах (0000h - 0FFFh) располагается ПЗУ (две физически
раздельных микросхемы емкостью по 2К каждая из которых занимает свое
адресное пространство) в которых находятся программы инициализации ПУ
служебные программы программы обмена информацией с ЦУ и программа
индикации полученного от ЦУ массива данных.
Для адресации к контроллеру интерфейса КР580ВВ55 выделено адресное
пространство 3000h-3004h.
Адресация к регистровой памяти индикаторных панелей осуществляется как
к ВУ. Номер регистра памяти записывается в буферную микросхему для которой
выделен адрес 40h. Затем можно произвести запись в регистр индикаторных
панелей обращаясь к нему по адресу 80h.
Для устройства выбора панели зарезервирован адрес 20h.
Для адресации к таймеру КР580ВИ53 выделен адрес ВУ 10h.
ИНТЕРФЕЙС CENTRONICS
1. Описание интерфейса
Периферийное и центральное устройства связаны посредством параллельного
интерфейса CENTRONICS реализованного с использованием параллельных
периферийных адаптеров КР580ВВ55. Обмен данными производится по линиям DO -
D7 подключенным к порту А как в ЦУ так и в ПУ. Адаптеры параллельного
интерфейса функционируют в режиме 2 (двунаправленная передача информации по
каналу А). Процесс обмена сопровождается служебными сигналами по линиям
В режиме 2 линии А7-А0 выполняют роль двунаправленной трехстабильной
шины управляемой сигналами STB IBF OBF АСК и INT. Сигналы IBF и OBF
информируют ВУ о готовности принять или предать данные соответственно. В
соответствии с ними внешнее ПУ либо генерирует очередные данные
сопровождая их стробом STB либо формирует сигнал подтверждения приема АСК
готовясь к приему данных. Низкий уровень АСК открывает выходные буферы
порта А разрешая выдачу данных на шину. В остальных случаях шина порта А
находится в Z-состоянии.При передаче информации от ЦУ к ПУ для квитирования
используются сигналы STROBE (OBF центрального устройства [С7] ( STB
периферийного [С4]) - сигнал готовности к ЦУ передаче информации ACKWLG
(АСК центрального [С6] ( инвертированный IBF периферийного [С5]) - сигнал
готовности ПУ к приему информации.
При передаче в обратном направлении сигналы квитирования передаются по
линиям SLCT и SLCTIN (сигнал OBF периферийного устройства [С7] ( STB
центрального [С4] передается по линии SLCT a сигнал подтверждения АСК - по
Для оповещения ПУ о результатах проверки переданной информации на
наличие ошибок задействуется линия С2 по которой происходит передача
сигнала ERROR. Периферийное устройство на основании состояния линии С2 либо
переходит к приему следующего байта массива либо повторяет прием.
Временная диаграмма интерфейса
2. Функциональная схема интерфейса
Рис. 6. Функциональная схема интерфейса
На функциональной схеме показаны процессор периферийного устройства
вспомогательные схемы для нормальной работы самого процессора - генератор
тактовых сигналов а также внешних по отношению к нему устройств - шинный
формирователь и системный контроллер кроме этого есть постоянная и
оперативная память (блоки ПЗУ и ОЗУ) со схемами селекции адреса а также
блок индикаторов размещенных по 40 элементов в панели и схемы необходимые
для функционирования блока индикаторов в динамическом режиме - это двоичный
счетчик дешифратор для выбора элемента в панели регистровая память для
хранения информации подлежащей отображению на выбранной индикаторной
панели схема выбора панели которая состоит из триггера и дешифратора на
восемь выходов (используется только 5 - по числу панелей) схемы
обеспечивающей выбор соответствующих устройств при обращении к адресам
закрепленными за этими устройствами.
Генератор тактовых сигналов обеспечивает процессор сигналами READY -
готовность устройств RESET - установка системы в исходное состояние
требуемая например после возникновения глобальной ошибки связи с ЦУ а
также тактирующие последовательности CLK1 CLK2.
Системный контроллер и шинный формирователь предназначен для фиксации
слова-состояния МП выработки системных управляющих сигналов буферизации
шины данных МП и управления направлением передачи данных кроме этого он
содержит шинный формирователь-усилитель обеспечивающий увеличение
нагрузочной способности системной информационной шины.
Блоки ОЗУ и ПЗУ подключены стандартным способом. При обращении в
область адресов ОЗУ или ПЗУ селектор адреса ОЗУ и ПЗУ организует выбор
соответствующей микросхемы памяти.
Селектор регистров видео памяти запоминает номер выбранного регистра и
при подаче соответствующей команды производит запись байта в выбранный
Схема выбора панели состоит одного 6-разрядного регистра пять разрядов
используются для выбора панелей с помощью блока из пяти транзисторов К973А
которые коммутируют питание индикаторных панелей.
Запуск программируемого таймера происходит сразу после программирования
его в режим деления частоты сигналы таймера используются для поочередного
обращения к индикаторам панели (режим динамической индикации).
Если панель выбрана то на ней начинает отображаться содержимое
регистровой видео памяти Обращение к индикаторам панели происходит
поочередно каждый индикатор загорается с частотой 50Гц которая задается
программируемым таймером (таймер работает в режиме делителя исходной
частоты 2МГц на 250). Сигнал от таймера поступает на двоичный счетчик
который считает до 40. Первые два выхода счетчика не используются
поэтому счетчик делит частоту еще на 4 (в результате получаем частоту
свечения индикатора г=2000000(250*4*40)=50Гц). Остальные выходы счетчика
соединены с 3 дешифраторами которые осуществляют выбор конкретного
индикаторного элемента с помощью транзисторного ключа. Выбранный элемент
начинает отображать содержимое "своего" регистра видео памяти. В любой
момент времени светится только один индикаторный элемент (принцип
динамической индикации). В последствии частота свечения индикаторов может
быть скорректирована путем программного изменения коэффициента деления у
Организация бегущей строки происходит программно путем обновления ячеек
регистровой видеопамяти. Начиная с крайнего правого 40-го индикатора новые
значения последовательно записываются в соответствующие ячейки регистровой
памяти. Сначала первый байт информационного массива записывается в регистр
отображающий свою информацию в 40-й индикатор затем (после программно
реализуемой задержки) происходит сдвиг строки на один символ влево т.е.
новый символ отображается в 40-м индикаторе а все отображенные ранее
Обращение к микросхеме программируемого параллельного интерфейса
происходит как к ячейке памяти и осуществляется селектором адреса ячеек
Работа с параллельным интерфейсом осуществляется программно путем
опроса соответствующих бит слова состояния. Это позволяет избежать
использования программируемого контроллера прерываний.
1. Подпрограмма обмена функционирующая в ПУ
START:MVI A 11000000B ; установка контр. парал.
OUT PORT+3 ; интерфейса в режим 2
MVI C75 ; размер передаваемого массива
LXI HLADR ; запись в HL адреса первого эл. маc
MVI B00 ; обнуление счетчика повторных передач
M обнуление счетчика ошибок
MVI A0000 0101b ; управляющее слово (уст. ERROR=1)
OUT PORT+3 ; запись его в порт
MOV AM ; читаем байт инф. маc. для передачи
OUT PORT ; передаем его в порт
M2: IN PORT+2 ; читаем порт С
AND 0000 1000b ; проверяем INT
JNZ M3 ; переход если есть данные
INR D ; увеличить счетчик ошибок
MVI A200 ; предельное время ожидания
CMP D ; если оно не превышено
JNZ M2 ; ждем дальше
OUT ERR ; иначе индикация ошибки
M3: IN PORT ; читаем копию данных из порта
CMP M ; сравнение с оригиналом
JZ M4 ; переход к след. байту если совп.
INR В ; увеличить счетчик повторных передач
MVI A 4 ; макс. кол. повт. передач
CMP В ; если не превышено
JNZ M повторить еще раз
M4: MVI A0000 0100b ; управляющее слово (уст. ERROR^O)
OUT PORT+3 ; запись упр. слова в порт
MVI B 00 ; обнулить счетчик повторных передач
INX H ; указать на следующий элемент массива
DCR С ; уменьшить счетчик оставшихся байт
JNZ M1 ; если не все передано передать след.
RET ; возврат в основную программу
Примечание: PORT - адрес закрепленный за контроллером параллельного
интерфейса; ERR - адрес ВУ индикации ошибки (устройство индицирует ошибку
при обращении к нему содержимое передаваемого байта не учитывается); ADR -
адрес начала информационного массива.
2. Подпрограмма функционирующая в ПУ
START: MVI A 11000001B ; установка контр. парал.
STA 2002h ; интерфейса в режим 2
M начальный адрес буфера BUFFER
MVI B 75 ; счетчик принятых байт
M2: MVI C 0 ; счетчик ошибок
MVI D 0 ; счетчик повторений
M3: LDA 2002h ; чтение слова состояния
AN I 8h ; опрос сигнала INT
JZ M3 ; ожидание сигнала
LDA 2000h ; чтение данных из порта
MOV M A ; запись данных в буфер обмена
STA 3000h ' ; передача принятого обратно
M4: LDA 2002h ; чтение слова состояния
AN I 4h ; опрос сигнала ошибки ERROR
JNZ M5 ; если нет ошибок след. байт
INR С ; увеличение счетчика ошибок
MOV А С ; проверка превышения
CPI 200 ; заданного времени ожидания
JNZ M4 ; цикл ожидания
INR D ; увеличение счетчика повторений
MOV AD ; проверка превышения
CPI 4 ; количества повторений
JNZ M3 ; если не превышено еще раз
CALL ERROR ; индикация неисправности
JMP START ; переход на начало алгоритма
M5: INX H ; увеличение адреса BUFFER
DCR В ; уменьшение счетчика байт N
JNZ M2 ; если не все принято след. байт
CALL DISPLAY ; вызов подпрограммы вывода
; информации на индикаторы
JMP M переход на начало алгоритма
Замечание: ERROR - адрес служебной подпрограмма индикации
неисправности; DISPLAY - адрес подпрограммы вывода информации на
3. Подпрограмма вывода информации на индикаторы
DISPLAY: MVI A 00010100 ;программирование таймера:
;канал 0 только младший байт
;режим 2 двоичный счет
MVI A 250 ;деление частоты на 2 50
MVI B 40 ;обнуление регистровой памяти
MVI B 40 ;обнуление массива памяти 4 0 байт
LXI H 1128h ;за буфером обмена
LDA H00h ;запись номера панели
M3: MVI D 40h ' ;задание индекса L=4 0
MOV E С ;задание индекса K=N
M4: MVI A D ;выбрать регистр
MVI L E ;считать из буфера
OUT 80h ;записать в регистр
JZ M5 ;проверка условия К>0
JNZ M4 ;проверка условия L=0
CMP 114 ;проверка условия N=114
RZ ;возврат если конец -
MVI D 224 ;циклы задержки на 05 секунды
Мб: MVI E 234 ;для движения строки с заданной
JMP МЗ ;переход на очередной сдвиг строки
В курсовой работе разработан на базе микропроцессорного комплекта
КР580 комплекс для реализации вывода знаковой информации на панели
отображения типа "бегущая строка". При этом выполнены все требования
указанные в техническом задании.
Несколько замечаний по поводу разработанного комплекса. Обращение к
сегментным индикаторам (регистровой видео памяти) как к ВУ не
целесообразно. Такой подход требует введения буфера для хранения номера
выбранного регистра и усложняет схему и алгоритмы работы. Далека от идеала
и предложенная схемотехническая реализация устройства. Можно значительно
сократить число применяемых элементов оптимизировать соединения между
ними. Эти цели при разработке схем просто не преследовались. Приоритет
отдавался облегчению понимания функционирования устройства.
Реальное применение предложенного устройства в указанном составе
является весьма сомнительным. Для организации бегущей строки на современном
уровне развития микроэлектроники целесообразно было бы использовать
персональный компьютер в качестве центрального устройства а в периферийном
устройстве использовать вместо 580-го комплекта какой-либо из современных
микроконтроллеров. Однако это не означает что предложенное устройство либо
его части не могут быть использованы для решения своих функциональных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Б.М. Каган. Электронные вычислительные машины и системы. - М.:
Энергоатомиздат 1991. - 592 с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Справочник. М.: Машиностроение 1993.-256с: ил.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник. В 2 т.; под ред. В. А. Шахнова.- М.: Радио и связь 1988.-
Мячев А.А. и др. Интерфейсы систем обработки данных: Справочник. М.:
Радио и связь 1989.-416 с: ил.
Полупроводниковые приборы: Диоды тиристоры оптоэлектронные приборы:
Справочник; под ред. Н. Н. Горюнова.- М.: Энергоатомиздат 1985.- 744
Обозначение Наименование Кол. Примечание
DD1 КР580ВМ80А 1 процессор
DD2 КР580ВИ53 1 програм. таймер
DD3 КР580ВВ55А 1 параллел.порт
DD4 КР537РУ10 1 ОЗУ 16К(2байта)
DD6 КР580ГФ24 1 генератор такт.сигн
DD7 КР580ВК28 1 сист. контроллер
DD8 DD9 К573РФ2 2 ППЗУ 16К(2Кбайта)
DD5 DD10-DD14 КР580ВА86 6 8-разрядные шинные
DD15 DD16 К555ЛЛ1 2 четыре 2ИЛИ
DD17 DD18 К555ЛАЗ 2 четыре И-НЕ
DD19 DD20 К555ЛН1 2 шесть НЕ
DD21 DD22 К555ТМ9 2 сшестеренный D-триггер
DD23 К555ИЕ19 1 два четырехразрядных
DD24-DD29 К155ИДЗ 6 дешифратор 4->16
DD30-DD69 КР514ПР1 40 Преобразователь
двоично-десятичного
кода в семисегментный
С1 К50-35-6313-10мкФ 1
С2 К10-17-16-ПЗЗ-3.3 пФ + 10% 1
СЗ-С23С27-С29 К10-17-2б-Н90-068 мкФ 54
С24 С25 С26 К50-35-16В-220мкФ 3
R1-R4 1 кОм±10%-А-В-В 5
R5 100кОм±10%-А-В-В 1
VD1 КД5226 ДРЗ.362.029 ТУ 1
VT1 КТ973А АА0.336.453 ТУ 200
VT2 КТ973А АА0.336.453 ТУ 5
HG1 АЛС324А 200 семисегментный
ZQ1 Резонатор кварцевый 18МГц 1
SB1 Кнопка малогабаритная 1
КМД1-1-НА3.604.006ТУ

icon текст (15).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА КОНТРОЛЯ СРАБАТЫВАНИЯ АВАРИЙНЫХ ДАТЧИКОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ 6
Принципиальная схема периферийного устройства 6
Микропроцессор КР580ВМ80А 6
Генератор тактовых импульсов КР580ГФ24 7
4 Шинный формирователь КР580ВА86 8
5. Системный контроллер КР580ВКЗ8 8
Контроллер параллельного интерфейса КР580ВВ55 9
8. Программируемый контроллер прерываний КР580ВН59 13
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX . 15
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА 16
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ 17
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА 19
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА 19
1.Периферийное устройство 28
2.Центральное устройство 36
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 40
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к ячейкам памяти. Комплекс
предназначен для обнаружения срабатывания хотя бы одного аварийного датчика
(замыкание контактов). Датчики располагаются 5 группами по 19 штук. Номера
датчиков подлежащих опросу задаются программой выполняемой в центральном
процессорном устройстве и передаются периферийной стороне. Процедура
периодического опроса датчиков полностью организуется периферийным
процессором. Период опроса любого датчика T остается постоянным на все
время опроса датчиков в данной конфигурации. Передаваемые значения T лежат
в пределах 1.0-12.4 сек с точностью 0.1. Опрос датчиков в данной
конфигурации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 10 минут. Если
срабатывание конкретного датчика продолжается более 10 периодов опроса
управление должно быть передано некоторой подпрограмме центрального
процессорного устройства соответствующей номеру группы (т.е. периферийное
устройство должно сообщать центральному о каждом факте срабатывания
датчиков более 10 периодов). В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
На практике часто возникает необходимость в устройстве обнаружения
срабатывания объединенных в группы датчиков. Для этого предназначено данное
устройство (структурная схема приведена на рис. 1 функциональная схема
приведена на рис. 2). Комплекс представляет собой центральное и
периферийное устройства соединенных интерфейсом CENTRONIX. Периферийное
устройство предназначено для опроса датчиков и первичной обработки данных
от датчиков (определение групп в которых существуют датчики сработавшие
более Р периодов опроса). Центральное устройство предназначено для
дальнейшей обработки данных о датчиках поступающих от периферийного
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ
1. Принципиальная схема периферийного устройства
Комплекс состоит из центрального и периферийного устройств на основе
микропроцессорного комплекта К580 связанных интерфейсом CENTRONIX. В
состав периферийного устройства входят микропроцессор КР580ВМ80А БИС
параллельного интерфейса КР580ВВ55 программируемого таймера КР580ВИ53
программируемого контроллера прерываний КР580ВН59 генератора тактовых
импульсов КР580ГФ24 системного контроллера КР580ВК38 3 буфера данных
КР580ВА86 постоянного запоминающего устройства КР588РР2 оперативного
запоминающего устройства КР533РУ10 3 дешифратора К155ИДЗ дешифратор
К155ИД14 инверторы К155ЛН1 антиконьюнктор К155ЛЕ1.
Датчики представляют собой матрицу 27*3 элементов. Сканирование
датчиков производится выдачей кода столбца в канал В КР580ВВ55 код столбца
дешифрируется и подается на матрицу. Сигналы сработавших датчиков поступают
в буфер данных КР580ВА86 затем через шину данных и системный контроллер
поступают в периферийный процессор.
2. Микропроцессор КР580ВМ80А
Микросхема КР580ВМ80А - функционально-законченный однокристальный
параллельный 8-разрядный микропроцессор с фиксированной системой команд
применяется в качестве центрально процессора в устройствах обработки данных
и управления. Микропроцессор имеет разделенные 16-разрядный канал адреса и
-разрядный канал данных. Канал адреса обеспечивает прямую адресацию
внешней памяти объемом до 65536 байт 256 устройств вводавывода.
Назначение выводов микропроцессора КР580ВМ80А
Вывод Обозначение Тип вывода Функциональное назначение
25-27 А10 А0-А2 Выходы Канал адреса
-10 D4-D7 D3-D0 Входывыходы Канал данных
UIO Напряжения источника смещения
Reset Вход Установка в исходное
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
UCC1 -- Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 -- Напряжение питания +12В
3. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2
предназначен для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния 8ТВ;
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения
Назначение выводов микросхемы КР580ГФ24.
ВыводОбозначение Тип вывода Функциональное назначение выводов
Reset Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
C Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucc2 Вход Напряжение питания +12В
C2 Выход Тактовые сигналы - фаза С2
C1 Выход Тактовые сигналы- фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Ucc1 Вход Напряжение питания +5В
4 Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный
формирователь предназначенный для обмена данными между микропроцессором
и системной шиной; обладают повышенной нагрузочной способностью имеет
третье состояние на выходе.
Назначение выводов микросхемы КР580ВА86.
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ц* - Напряжение питание 5В±5%
5. Системный контроллер КР580ВКЗ8
Микросхема КР580ВК38 - системный контроллер и буферный регистр
данных применяемых в микропроцессорных системах на базе микропроцессора
КР580ВМ80А для формирования управляющих сигналов и как буферный регистр
данных. Системный контроллер формирует управляющие сигналы RD WR RDIO
WRIO INTA по сигналам состояния микропроцессора а также обеспечивает
прием и передачу 8-разрядной информации между каналом данных
микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0.
Назначение выводов микросхемы КР580ВК38
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DВ4 DВ7 DВЗ Выход вход Канал данных системы
10 D4 D7 D3 D2Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
UCC Вход Напряжение питания +5В
6. Контроллер параллельного интерфейса КР580ВВ55
Микросхема КР580ВВ55 программируемое устройство вводавывода
параллельной информации применяется в качестве элемента
вводавывода общего назначения сопрягающего различные типы
периферийных устройств с магистралью данных систем обработки информации.
Обмен данными между магистралью данных систем и микросхемой КР580ВВ55
осуществляется через 8-разрядный двунаправленный трехстабильный канал
данных (D). Для связи с периферийными устройствами используется 24 линии
вводавывода сгруппированные в три 8-разрядных канала ВА ВВ ВС
направление передачи информации и режимы работы которых определяются
программным способом. В данном устройстве микросхема КР580ВВ55
программируется в режим 2 в котором обеспечивается двунаправленная
передача информации по каналу А между периферийным и центральным
процессорами. При этом линии канала С используются для приема и выдачи
сигналов управления обменом. Линии канала В программируются в режим 0
синхронный обмен используемый для опроса датчиков.
Назначение выводов микросхемы КР580ВВ55
-4 ВАЗ-ВАО Входывыходы Информационный канал А
RD Вход Чтение информации
CS - Выбор микросхемы
А1АО Вход Младшие разряды адреса
-17 ВС7-ВС4 Входывыходы Информационный канал С
-25 ВВО-ВВ7 Входывыходы Информационный канал В
Ucc - Напряжение питания 5В±5%
-34 D7-DO Входывыходы Канал данных
Reset Вход Установка в исходное состояние
WR Вход Запись информации
Рис. 3. Схема подключения двух КР580ВВ55 для обмена в режиме 2
Слово-состояние канала С в режиме 2
Рис. 4. Временная диаграмма работы КР580ВВ55 в режиме
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-
разрядных каналов с общей системой управления. Каждый из трех каналов
может быть независимо настроен на работу в одном из шести режимов. В
данном устройстве каналы 0 и 1 программируется в режим 2. Канал 0
генерирует периодический сигнал с частотой 1D (D-точность периода опроса
датчика) который подается на вход синхронизации канала 1 настраиваемый
генерацию периодического сигнала соответствующего периоду опроса датчика.
Обмен информацией с микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных.
Максимальное значение счета в двоичном коде 216.
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO Входывыходы Канал данных
518 СО Cl C2 Входы Синхронизация каналов 0-2
13 OUTO ОЩ1 OUT2Выходы Сигналы каналов 0 1 2
14 CEO CE1 СЕ2 Входы Сигналы каналов 0 1 2
20 А0А1 Входы Сигналы выбора каналов 0 1 2
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
Рис. 5. Временная диаграмма таймера в режиме 2
Расчет для канала 0 таймера. Реализация периодического сигнала
точности опроса датчика В=10000мкС соответствует 0010 0111 0001 0000
состояния 0 канала - 27 младший -10
Расчет для канала 1 таймера. Реализация периодического сигнала с в N раз
периодом чем сигнал канала 0 таймера. Нижняя граница - 1100*D => 0000
Верхняя граница - 10400*D => 0010 1000 1010 0000 => 28АО
8. Программируемый контроллер прерываний КР580ВН59
Устройство реализующее до восьми уровней запросов на прерывание с
возможностями программного маскирования и изменения дисциплины
обслуживания прерываний. За счет каскадного включения число уровней
прерывания может быть расширено до 64.
В данном устройстве применяется режим с фиксированными приоритетами
Назначение выводов микросхемы КР580ВН59
Обозначение выводаНомер контакта Назначение вывода
D(7-0) 4; 5; 6; 7; 8; 9; Входвыход данных
RD 3 Вход строба чтения
WR 2 Вход строба записи
загрузки команд и считывания
CS 1 Вход выбора микросхемы
CASO-CAS2 12 13 15 Входывыходы каскадирования
SP 16 Признак подчинения (1
-ведущий 0-ведомый)
INTA 26 Подтверждение прерывания (1
-выдача CALL на шину данных)
INT 17 Прерывание (1 -запрос на обсл.
IRQO-IRQ7 18; 19; 20; 21; 22;Входы запросов
; 25 (положительный фронт)
Ucc 28 Напряжение питания +5В
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX
Интерфейс Centronics обеспечивает радиальное подключение (посредством
кабеля) устройств с параллельной передачей информации с микропроцессорным
управлением. Отечественным аналогом интерфейса Centronics является
интерфейс ИРПР-М. Передача данных осуществляется между одним источником (И)
и одним приемником (П). Устройства или контроллеры совмещающие функции И и
П должны содержать два набора линий интерфейса Centronics.
Набор обязательных линий (сигналов) сопряжения разделенных на три
группы (заземление и питание управления информационные) приведен в табл.
Набор обязательных линий (сигналов) сопряжения
Наименование Обозначение Направление
Готовность приемника SLCT отПкИ
Строб - STROBE от И кП
Подтверждение - ACKWLG отП к И
Автоматический перевод- AVTOFD отИкП
Информационные линии
Данные (1 8) DO D7 —
Линии заземления и питания
«Строб»: при лог. 01 - данные действительнынедействительны.
Длительность импульса с лог. 0 - не менее 05 мкс.
«Данные»: высокомунизкому уровню соответствует лог. 10. Комбинации
сигналов на линии данных соответствует код графического символа или код
функции и на них не накладываются ограничения. Для конкретных устройств
допускается использование меньшего числа разрядов.
«Подтверждение»: лог. 10 означает что приемник готовне готов к
приему данных но принял предыдущие данные.
«Готовность приемника»: лог. 10 означает что приемник
неработоспособенработоспособен и не готовготов принимать данные.
«Автоматический перевод строки»: лог. 10 означает что приемник не
выполняетвыполняет самостоятельный перевод бумаги на одну строку по
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА
Распределение адресного пространства
Начальный Конечный Устройство Тип адресации
00 07FF PROM (ПЗУ) Устройство памяти
00 OFFF RAM (ОЗУ) Устройство памяти
17 СТ (таймер) Внешнее устройство
IF BD (буфер сработавших датчиков) Внешнее устройство
00 1FFF ЮР (контр паралл. Интерфейса) Устройство памяти
При распределении адресного пространства использован метод частичной
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ
Символические адреса используемые в программе
Двоичный адрес Шестнадцатиричн Обозначение Примечание
xхх01000 0800 CountSensor Начало таблицы счетчиков
000000 срабатывания датчиков
xхх01001 0900 QuestSensor Начало таблицы подлежащих
000000 опросу датчиков
xxx0lll 11100000OFEO IRQO Адреса перехода по
xxx0lll 11100100OFE8 IRQ1
Для сообщения от ЦПУ
xхх01010 ОАОО Counter Счетчик байт
xхх01010 ОА01 Addrl Адреса для приема байт
000001 сообщения ЦПУ
ххх01010 *ОА02 Addr2
ххх01001 0980 ToCentre Слово посылаемое в ЦПУ
ххх00ххх 00 Lamp Светодиод неисправности
обмена данными между ЦПУ
ххх 10x00 10 PortA Порт А ЮР
xxxl0x0l 11 PortB Порт В ЮР
ххх10х10 12 PortC Порт С ЮР
xxxl0xll 13 lOPControl Управляющее слово ЮР
XXX 11 XXX 18 AddrBD Адрес буфера сработавших
xxx0lxx0 08 PICO Адреса PIC
ххх11x00хххххххх1800 TimerO Адрес канала 0 СТ
xxxllxOlхххххххх1900 Timer 1 Адрес канала 1 СТ
xxxl1x11хххххххх1ВОО TimerControl Регистр управляющего
Описание констант используемых в программе
Двоичное Шестнадцатиричное ОбозначениеПримечание
100111 27 DOld Точность (соответствует F 10000
F-тактовая частота) для режима 2
101110 2Е N Число столбцов (46)
010001 11 Р Число периодов срабатывания датчика
111111 FF Mistake Ошибка
000011 03 ForSensor Сообщение о датчиках
000001 81 ForTimer Сообщение для Таймера
Для контроллера параллельного интерфейса
000001 01 LampOn Включить светодиод
000000 00 LampOff Выключить светодиод
0хх000 СО ContrlOP Управляющее слово для ЮР (D6D5-
канал А - режим 2 В2-канал В -
режим 0 D1 -вывод канала В DO
-оставшиеся линии С на вывод)
Для таймера (В7В6-канал D5D4-6aUTD3-Dl -режим DO-система исчисления)
11x100 24 СТО СТО два байта реж2 двоими.
11x100 74 СТ1 СТ1 два байта реж2 двоими.
Команды инициализации для программируемого контроллера прерываний
110110 F6 ICW1 О7-О5-адрес В2-число байт
хххОПП 07 ICW2 Старший байт адреса
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА
После включения питания ППУ и ЦПУ в них происходит инициализация
контроллера параллельного интерфейса БИС КР580ВВ55 (порт А - режим 2 порт
В - режим 0) инициализация таймера БИС КР580ВИ53 (каналы 0 и 1 - в режим
деления частоты канал О настраивается на генерацию периодического сигнала
с периодом равным точности D) инициализация контроллера прерываний.
Начинается опрос датчиков с периодом по умолчанию (максимальный период). По
умолчанию считается что датчики опросу не подлежат поэтому информация о
сработавших датчиках не поступает в ЦПУ.
ЦПУ может сообщать ППУ о периоде опроса датчика и о датчиках
подлежащих опросу. Формат сообщения трехбайтный представлен в таблице 11.
(в таблице приведены границы для старшего байта состояния канала 1 таймера
которые соответствуют границам периода опроса датчика). Длина сообщения из
ППУ в ЦПУ 1 байт (таблица 12).
П. Формат сообщения из ЦПУ в ППУ
Управляющее слово 1 байт 2 байт
000001 для таймера (х0000100-х0101000) Младший байт для 1 канала
старший байт для 1 каналатаймера
таймера х - контрольный
000011 (х0000000-х0101110) 0000хс2с1с0
для подлежащих опросу код номера столбца х - cN=l - датчик N подлежит
датчиков столбца контрольный бит опросу 0 - не подлежит
х - контрольный бит
Формат сообщения из ЦПУ в ППУ
Номер байта Формат Значение
11111111 Сообщение ЦПУ об ошибке передачи
0хс5с4сЗс2с1сО с5-сО-код столбца х - контрольный
0000хс2с1сО cN=l - датчик N сработал > Р раз 0 -
сработал х - контрольный бит
Циклический опрос датчиков происходит по прерываниям от таймера и
представляет собой последовательное сканирование столбцов матрицы датчиков
(столбец сканируется 2 раза для устранения дребезга контактов) определение
сработавших датчиков столбца определение какие из датчиков столбца
подлежащих опросу сработали более Р периодов опроса. После сканирования
всех столбцов происходит итоговое определение групп в которых были
срабатывания и если есть необходимость производится сообщение для ЦПУ.
ЦПУ определяет является ли информация из ППУ сообщением об ошибке есть ли
ошибки в самом сообщении в каких группах были срабатывания датчиков > Р
периодов и вызывает соответствующие подпрограммы обработки.
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА
Рис. 6.1 Схема основной программы ППУ
Рис. 6.2 Схема подпрограммы формирования счетчика срабатывания датчика
Рис. 6.3 Схема подпрограмма обработки счетчика срабатывания датчика в
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть 1)
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть2)
Рис. 6.5 Схема подпрограммы передачи сообщения из ЦПУ в ППУ
Рис. 6.6. Подпрограмма обработки сообщения из ППУ в ЦПУ
[pic]Рис. 6.7. Посылка байта из ЦПУ в ППУ или из ППУ в ЦПУ
MVI A ContrlOP OUT lOPControl MVI А СТО STA TimerControl MVI A DOld STA
TimerO MVI A DYoung STA TimerO MVI A CT1 STA TimerControl MVI A 28 STA
1. Периферийное устройство
;3апретить прерывания ..
;3адать режим работы ЮР
;3агрузить управляющее слово для канала 0 таймера ;3аписать старший
байт в канал 0 таймера ;3аписать младший байт в канал 0 таймера
;3агрузить управляющее слово для канала 1 таймера
;3аписать старший байт в канал 1 таймера ;(Период опроса по умолчанию)
;3аписать младший байт в канал 1 таймера
;3агрузить первое слово инициализации в программируемый ;контроллер
прерываний ;3агрузить второе слово инициализации в программируемый
;контроллер прерываний разрешить прерывания ;Бесконечный цикл
;Цикл опроса датчиков ;3апретить прерывания
;Сохранение регистровых пар и слова состояния в стеке
;В Н начало таблицы счетчиков срабатывания датчиков ;В D начало таблицы
датчиков подлежащих опросу ;В - число столбцов (N=46) ;Первое сканирование
;Номер столбца в А ;В порт В номер столбца
;Прием из буфера данных байта сработавших в столбце датчиков
;Сохранение в С байта сработавших датчиков ;Временная задержка
;3адержка на 12 тактов
;Повторное сканирование столбца датчиков ;Номер столбца в А
;В порт В номера датчиков в столбце подлежащих
;Прием из буфера данных байта сработавших в столбце
;Определение сработавших датчиков в столбце
;Критерий срабатывания - 0 за два сканирования
Инвертирование разрядов аккумулятора
;Подлежащие опросу датчики столбца в аккумулятор ;Конъюнкция кода
датчиков подлежащих опросу и кода срабатывания датчиков - код
столбца ;Сохранить код столбца в С
;Обработка первого датчика в столбце
;Код столбца умножить на код первого датчика
;Если датчик сработал перейти на LABI
;Обнулить содержимое счетчика срабатывания датчика
;Перейти к обработке следующего датчика в столбце ;Увеличить счетчик
срабатывания датчика на 1 ;Перейти к адресу счетчика срабатывания
;Считать код столбца в А ;Обработка второго датчика в столбце
ANI02 JNZLAB17 MVIM О
ANI04 JNZLAB19 MVIM 0
JMPLAB20 INRM MVIC 0
; Код столбца умножить на код второго датчика ; Если датчик
сработал перейти».на LAB 17 ; Обнулить содержимое счетчика
срабатывания датчика
; Перейти к обработке следующего датчика в столбце ; Увеличить
счетчик срабатывания датчика на 1 ; Перейти к адресу счетчика
срабатывания третьего датчика
;Считать код столбца в А ;Обработка третьего датчика в столбце
; Код столбца умножить на код третьего датчика ; Если датчик
сработал перейти на LAB 19
; Обнулить содержимое счетчика срабатывания
; Перейти к обработке следующего датчика в столбце
; Увеличить счетчик срабатывания датчика на 1
;Обнулить содержимое С
;Обработка счетчика срабатывания третьего датчика в столбце
MOV A M ;Считать счетчик третьего датчика в А
JNZ LAB21 ;Если срабатывание датчика не равно 17 периодов то
MOV А С ;Считать содержимое С в A k
ADI 04 ;Сложить А с кодом третьего датчика
MOV С А ;Сохранить в С
MVIМ 0 ;Обнулить счетчик срабатывания датчика
LAB21: DCX Н ;Перейти к адресу счетчика второго датчика
;Обработка счетчика срабатывания второго датчика в столбце
MOV А М ;Считать счетчик второго датчика в А
SUIР ; Сравнить с Р=17
JNZ LAB22 ; Если срабатывание датчика не равно 17 периодов то
MOV А С ; Считать содержимое С в А
ADI 02 ; Сложить А с кодом второго датчика
MOV С А ; Сохранить в С
MVIM О DCXH MOV A M SUIP JNZ LAB23
MOV А С ADI 01 MVIM 0
; Обнулить счетчик срабатывания датчика ; Перейти к адресу
счетчика первого датчика ; Считать счетчик второго датчика
в А ; Сравнить с Р= 17
; Если срабатывание датчика не равно 17 периодов то
; Считать содержимое С в А ; Сложить А с кодом первого
датчика ; Обнулить счетчик срабатывания датчика Переход к
; Считать в Н адрес слова посылаемого в ЦПУ ;Сравнить
слово посылаемое в ЦПУ с О ;Если 0 перейти к LAB25
;Сохранить результат ;HL из стека
;Перейти к следующему адресу в таблице датчиков ;подлежащих опросу
формирование сообщения о сработавших датчиках посылаемого в ЦПУ
ORI08 OUT PortA INPortC
;Если четное слово в МП сформировано перейти к
;Контрольный бит - 1
;Проверка подтверждения приема данных ЦПУ ;ЦПУ не принял сообщение ;3ажечь
;Проверка подтверждения приема данных ЦПУ
;Цикл пока ЦПУ не примет сообщение ;Погасить светодиод
OUT PortC LAB27: PUSHH
OUT PortC LAB25: DCRB
PUSH PSW PUSHH PUSH В
;B HL адрес слова посылаемого в ЦПУ
;обнулить слово посылаемое в ЦПУ
формирование контрольного бита в коде столбца
;Передача кода столбца в ЦПУ
;Уменьшить счетчик столбцов
;Если не все столбцы проверены перейти к LAB24
;Восстановление регистровых пар и слова состояния из ;стека
разрешить прерывания ;Выход из подпрограммы
;0бработка сообщения из ЦПУ в 1111У ;3апретить прерывания ;Сохранить
регистровые пары в стеке
PUSHD INPortA MOV В А LDA Counter ANIO JNZ LAB32 INRA STA Counter MOV А В
STA Addrl JMPLAB35 ANI1
JNZ LAB34 INRA STA Counter MOV А В STA Addr2 JMPLAB35 MVIA0 STA Counter
MOV D A LDA Addrl MOV В А LDA Addr2 MOV С А
;Принять байт от ЦПУ
;3агрузить счетчик байт
;Сравнить счетчик с О
;Если не нулевой байт перейти к LAB32
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addrl
;Сравнить счетчик с 1
;Если не первый байт перейти к LAB34
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addr2
;Обнулить счетчик байт ;Сохранить принятый байт в D
;Предыдущие байты разместить в В и С
;Обработка управляющего слова ;3агрузка управляющего слова в А
;Слово нечетно - обработка ошибки ;Если не 0 переход к LAB30 Сообщение -
код датчиков подлежащих опросу ;3агрузка кода столбца в А ;Сравнить с О
;Проверка на четность
LXIH QuestSensor ;B паре HL - начало таблицы подлежащих опросу
ANI 6F ;Обнуление не информационных битов
;Код столбца прибавить к младшему байту адреса
;Вычисление адреса для столбца в таблице подлежащих опросу датчиков ADDL
;Перенос в старший байт адреса
;3апись кода датчиков столбца подлежащих опросу
JPE LAB29 CALL Mistake РОРН JMPLAB35 ANI 07 MOV M A РОРН JMPLAB35
SUI ForTimer JNZ LAB29
;Проверка кода датчиков столбца на четность
;Вызов процедуры сообщения ЦПУ об ошибке ;HL из стека
;Обнулить неинформационные биты
;3аписать код датчиков ; HL из стека
;Сообщение для таймера ;Если сообщение не для таймера перейти к LAB30?
;Обработка первого байта ;3агрузить первый байт в аккумулятор
;Байт нечетный - ошибка
;0бработка первого байта сообщения LXI H
TB HL - адрес управляющего слова таймера
LXI H Timerl ANI6F MOV M A
;3апись управляющего слова в таймер (запись ;старшего байта счетчика
первого канала) ;В HL - адрес первого канала таймера ;0бнулить не
информационные биты первого байта ;3аписать старший байт счетчика
;Обработка второго байта сообщения
LXI H TB HL - адрес управляющего слова таймера MVI M CT1
Young ;3апись управляющего слова в таймер (запись
;младшего байта счетчика первого канала) ;В HL - адрес
первого канала таймера ;3аписать младший байт счетчика ;
H Timerl MOV M D POPH JMPLAB35
POP В POPH POP PSW El RET
Mistake: MVI A Mistake
OUT PortA INPortC ANI08 JNZ LABS7 MVI A LampOn OUT PortC
ANI08 JZ LABS6 MVI A LampOff OUT PortC
;Вызов процедуры сообщения ЦПУ об ошибке восстановить регистровые пары
;Разрешить прерывания ;Конец подпрограммы Подпрограмма сообщения в ЦПУ об
;Сообщение ЦПУ об ошибке
;ЦПУ не принял сообщение
;Проверка подтверждения приема данных ЦПУ ;Цикл пока ЦПУ не примет
сообщение ;По гасить светодиод
;Восстановить регистровые пары
;Разрешить прерывания
;Выход из подпрограммы
Переход на подпрограммы обработки прерываний
JMP CIRCLE ;Цикл опроса датчиков
JMP MESSAGE ;Сообщение от ЦПУ
2.Центральное устройство
Сообщение из ППУ ;3апретить прерывания
;Сохранить регистровые пары в стеке
;Считать слово из ППУ
;Сравнить с кодом ошибки (ППУ не понял сообщение
;Переход на подпрограмму обработки ошибки
;Сохранить слово в D ;Счетчик байт в аккумулятор ;Сравнить счетчик с О
;Если 0 перейти к LAB9 ;Счетчик = 1 ;Сохранить код группы в В
;Сохранить код столбца в С
; Считать счетчик байт в А
;Контроль по четности
;Сработала неизвестная группа переход к LAB2
;Вызов подпрограммы обработки неизвестной группы
;Сработала первая группа?
; Вызов подпрограммы обработки первой группы
; Считать слово из ППУ в А
;Сработала вторая группа?
; Вызов подпрограммы обработки второй группы ; Считать слово из ППУ в А
;Сработала третья группа?
; Вызов подпрограммы обработки третьей группы
; Вызов подпрограммы обработки неизвестной группы
восстановить регистровые пары из стека
; Разрешить прерывания ;Выход из подпрограммы
;Сообщение из ЦПУ в ППУ ;Послать первый байт
;Послать второй байт
;Послать третий байт
;Посылка байта в ППУ ;Сообщение в ППУ ;Проверка подтверждения приема
;ППУ не принял сообщение?
;Проверка подтверждения приема данных ППУ ;Цикл пока ППУ не примет
В курсовом проекте спроектировано устройство обнаружения срабатывания
объединенных в группы датчиков. Комплекс представляет собой центральное и
устройство предназначено для опроса датчиков и первичной обработки данных о
срабатывании датчиков (определение групп в которых существуют датчики
сработавшие более Р периодов опроса). Центральное устройство предназначено
для дальнейшей обработки данных о датчиках поступающих от периферийного
устройства. Центральное устройство сообщает периферийному о датчиках
подлежащих опросу и период опроса датчиков что делает спроектированное
устройство довольно универсальным и позволяет применять его в разнообразных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Хвощ С. Т. Варлинский Н. Н. Попов Е. А. Микропроцессоры и микро-ЭВМ в
системах автоматического управления: Справочник под ред. С. Т. Хвоща.
Л.: Машиностроение. Ленингр. отд-ление!987. 640 с.
Микропроцессоры В 3 кн. Кн. 1. Архитектура и проектирование ЭВМ.
Организация вычислительных процессов: Учебник для ВТУЗов П. В. Нестеров
В. Ф. Шаньгин В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая
Микропроцессоры В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учебник для ВТУЗов
В. Д. Вернер Н. В. Воробьев А. В. Горячев и др.; Под ред. Л.Н.
Преснухина. М.: Высшая школа 1986. 383 с.
Микропроцессоры В 3 кн. Кн. 3. Средства отладки: лабораторный практикум
и задачник. Учебник для ВТУЗов Н. В. Воробьев В. Л. Горбунов А. В.
Горячев и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа 1986. 351 с.
Интегральные микросхемы: Справочник Б. В. Тарабрин Л. Ф. Лунин Ю. Н.
Смирнов и др.; Под ред. Б. В. Тарабрина. - М.: Радио и связь 1984 -528

icon SX1.dwg

SX1.dwg
Схема принципиальная переферийного устройства
Тема: "Бегущая строка
УрФУ им. первого Президента России Б.Н. ЕльцинаnКафедра ИТnгруппа РИВ-500212С

icon текст (18).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ ТИПА "БЕГУЩАЯ СТРОКА
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: Д.С. Рубцов
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА 7
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ 13
ИНТЕРФЕЙС CENTRONICS 14
1. Описание интерфейса 14
2. Функциональная схема интерфейса 16
1. Подпрограмма обмена функционирующая в ПУ 18
2. Подпрограмма функционирующая в ПУ 19
3. Подпрограмма вывода информации на индикаторы 20
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 22
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к ячейкам памяти. Комплекс
предназначен для реализации вывода знаковой информации (десятичных цифр) в
режиме динамической индикации на одну из 6 панелей отображения типа
бегущая строка" построенных на 28 7 сегментных индикаторах. Адресация к
устройствам управления панелями отображения должна осуществляться как к
внешним устройствам лежащим в поле адресов периферийного процессора.
Информация хранится в ОЗУ центрального процессорного устройства откуда
передается периферийному устройству единым массивом который сопровождается
информацией о номере панели отображения. Максимальный размер массива
составляет 55 символов. Время нахождения одного знака на любой панели
отображения составляет 12 секунд. Контроль правильности отображаемой
информации осуществляется путем обратной передачи копии массива символов из
периферийного устройства и сравнении ее (копии) с исходным массивом знаков
в центральном процессорном устройстве.
По результатам сравнения осуществляется либо передача сигнала
разрешающего вывод информации на панель отображения либо повторная
передача несовпадающих символов с последующим сравнением копии и оригинала.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 3 минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к ячейкам
памяти лежащим в поле адресов периферийного процессора.
В курсовой работе предложено решение поставленной в техническом задании
На рис.1 представлена структурная схема разрабатываемого комплекса
состоящего из центрального и периферийного устройств. В центральном
устройстве находятся программы организующие алгоритмы функционирования
системы и осуществляющие формирование подготовку и передачу данных в
периферийное устройство. Передача осуществляется посредством периферийного
адаптера КР580ВВ55 и интерфейса CENTRONICS.
Периферийное устройство принимает данные анализирует состояние линии
связи и сразу отправляет их обратно в центральное устройство для проверки
на предмет ошибок передачи. В зависимости от наличия или отсутствия ошибок
центральное устройство либо разрешает индикацию данных либо осуществляет
повторную передачу данных. Периферийное устройство обрабатывает и
осуществляет выдачу принятых данных на блок индикаторов правильную работу
которого обеспечивает блок управления динамической индикацией. После
окончания индикации в бегущей строке всех принятых данных периферийное
устройство переходит в первоначальное состояние и ожидает следующего сеанса
связи с центральным устройством.
Комплекс состоит из двух частей (рис. 1): центрального устройства (ЦУ)
и периферийного устройства (ПУ) которые связаны между собой посредством
параллельного интерфейса CENTRONICS. Оба устройства (ЦУ и ПУ) построены на
базе 580-го комплекта с центральным процессором КР580ВМ80 и имеют в своем
составе параллельный периферийный адаптер КР580ВВ55 при помощи которого и
организуется интерфейс CENTRONICS.
В центральном устройстве располагается блок индикации неисправности
системы в котором происходит отображение возникающих ошибок в частности.
В периферийном устройстве находится блок индикаторных панелей
осуществляющих индикацию информационного массива принятого от центрального
устройства в виде бегущей строки. Организация режима динамической
индикации и выбор панели на которую будет осуществлен вывод информации
выполняется блоком управления индикаторами. В периферийном устройстве также
имеется блок для индикации ошибок связанных с передачей информации.
Передаваемый в периферийное устройство массив данных имеет всегда
фиксированную длину - 75 байт. Наряду с данными требующими отображения в
виде бегущей строки он содержит информацию о номере панели отображения на
которой должна происходить индикация: в первом байте находится двоичное
число первые пять разрядов которого определяют состояние соответствующих
панелей т.е. будет ли на них выводиться информация.
Остальные 74 информационных байта имеют формат изображенный на рис.2.[pic]
Состояние битов D6 D5 D4 значения не имеет и может быть произвольным.
Байт все биты которого нулевые производит обнуление регистровой памяти
индикаторов и подготовит их к приему отображаемой информации. Такой формат
позволяет не просто отображать сплошной ряд чисел но и отделять
последовательности чисел друг от друга пробелом что достигается установкой
в ноль старшего бита D7 или всего байта.
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА
Рис. 3.1. Алгоритм работы центрального устройства
Рис. 3.2. Алгоритм работы периферийного устройства
Рис. 3.3 Алгоритм работы подпрограммы вывода информации на индикаторы
Подпрограмма обмена функционирующая в ЦУ
В задачи подпрограммы центрального устройства алгоритм работы которой
представлен на рисунке входит организация обмена данными между центральным
и периферийным процессорами контроль правильности передачи информации и
индикация неисправности в случае нарушения связи между устройствами.
В вершине 2 контроллер параллельного интерфейса программируется в режим
Затем счетчику байтов передаваемых в ПУ присваивается значение 75 в
соответствие с размером информационного массива.
В вершине 4 задается адрес по которому находится первый элемент
передаваемого массива расположение массива может быть произвольным и
определяется в центральной программе которая вызывает подпрограмму обмена.
Предполагается что информационный массив полностью подготавливается
центральной программой и данные в массиве имеют требуемый формат.
В вершинах 5 и 6 обнуляются счетчик ошибок используемый для
организации циклов ожидания ответных сигналов от ПУ и счетчик повторений.
В вершине 7 происходит установка внешнего сигнала ERROR в 1 т.е.
снимается подтверждение безошибочной передачи данных.
В вершине 8 происходит непосредственно передача байта находящегося по
адресу ADR после чего организуется цикл ожидания передачи копии байта от
ПУ. Ожидание происходит пока значение счетчика ERR не превысит 200 после
чего ЦУ производит повторную передачу байта увеличивая при этом счетчик
Если копия поступила (сигнал INT=1) то производится чтение поступивших
данных из порта и сравнение их с переданными.
Если данные не совпали то есть произошла ошибка при передаче то не
выставляется сигнал ERROR=0 что информирует периферийное устройство о том
что произошла ошибка и будет произведена повторная передача счетчик
повторных передач увеличивается на единицу и если его значение не
превышает трех происходит переход к вершине 6.
Если данные переданы без ошибок выставляется сигнал подтверждения
совпадения данных ERROR=0 что информирует ПУ о безошибочной передаче. В
вершине 18 происходит обнуление счетчика повторных передач затем
модифицируется адрес передаваемого байта (осуществляется переход к
следующему байту массива) уменьшается счетчик переданных байт. Если
передан не весь массив (N>0) то происходит переход к вершине 6. Если
счетчик равен нулю подпрограмма обмена завершает свою работу и передает
управление основной программе в вершине 23.
Программа функционирующая в ПУ
Работа программы периферийного устройства алгоритм которой представлен
на рисунке начинается с включением питания. Алгоритм не имеет блока
завершения программы т.е. программа выполняется пока устройство не будет
выключено. Основной режим функционирования ПУ -режим ожидания информации от
центрального устройства и в случае ее появления прием в буфер и индикация
в виде бегущей строки на указанной панели отображения.
Счетчику принятых байтов N присваивается значение 75 (аналогично
центральному устройству).
В вершине 4 задается адрес начала буфера обмена BUFFER туда будет
осуществлен прием информации из ЦУ. Счетчик ошибок ERR обнуляется.
В вершинах 6 и 7 организуется цикл ожидания передачи данных путем
опроса сигнала INTR и если таковые имеются происходит считывание из порта
(вершина 8) и запись их в память по адресу BUF (буфер обмена).
В вершине 9 принятые данные отправляются обратно в ЦУ для проверки на
наличие ошибок. Вершины 10-13 организуют цикл ожидания сигнала
подтверждения отсутствия ошибок от ЦУ увеличивая значение счетчика ошибок
на каждом шаге. Если сигнала нет (ERROR=1) то увеличивается число
повторных передач и ПУ переходит к повторной передаче (вершина 5). Если
данные совпали т.е. ERROR=0 то ПУ готовится к приему следующего байта
При переходе к следующему байту увеличивается адрес по которому
записывается принятый байт и уменьшается счетчик байт. Если этот счетчик
не равен нулю (передан не весь массив) переходим к вершине 4 иначе
вызываем подпрограмму вывода принятой информации на выбранную панель
индикации. Отобразив информацию переходим на исходную позицию то есть к
Подпрограмма вывода информации на индикаторы
Подпрограмма вывода информации на индикаторные панели вызывается
программой ПУ в случае удачного приема всего информационного массива. В
задачи этой подпрограммы входит физический выбор панели отображения в
соответствии с первым байтом принятого информационного массива то есть
запись номера панели в триггер состояние которого и определяет: выбрана
данная панель или нет. Программа также должна организовать непосредственно
бегущую строку предварительно запустив программируемый таймер при помощи
которого осуществляется режим динамической индикации и подготовить
регистровую память индикаторных элементов (обнуление служебным нулем -
индикаторы погашены).
Чтобы организовать автоматическое "убегание" конца строки с
индикаторной панели (все элементы информационного массива должны
отображаться в течение Т=20с) обнуляется 40 байт ячеек памяти
расположенных сразу за буфером обмена в котором находится принятый массив.
Выбрав нужную панель отображения запускаем счетчик по показаниям
которого происходит обращение к индикаторным элементам. Далее следует сам
алгоритм формирования бегущей строки.
Счетчик N показывает количество отображенных байтов информации.
Переменная L содержит количество не обслуженных индикаторных элементов.
Переменная К предназначена для последовательной адресации к байтам
информационного массива показывает текущий обрабатываемый элемент
В блоке 10 байт информационного массива с номером К из буфера
передается в ячейку регистровой памяти индикаторов с номером L.
Если отображаемых символов меньше 40 (начало строки) то обновление
регистровой памяти завершится с окончанием потока данных (К окажется равным
раньше L). Если уже отобразили более 40 байт то выход из цикла
обновления произойдет при обновлении информации во всех индикаторных
элементах панели (L=0). Далее проверяется отображен весь массив или нет.
Информативная часть массива составляет 74 байта но для того чтобы конец
строки "проехал" до конца надо после информационных байт отобразить 40
пробелов поэтому выводим на индикаторы дополнительные 40 байт служебных
нулей всего 114 байт.
Временная задержка Тзад в вершине 15 осуществляется программно в
соответствии с временем прохождения информационного символа по индикаторной
панели указанного в техническом задании (Т = 20 сек.) и составляет 0.5
сек (Тзад=ТМ=2040=0.5 сек.).
Задержка организуется с помощью двух вложенных циклов начальные
значения счетчиков которых выбраны таким образом чтобы суммарная задержка
выполнения внешнего цикла была равна 0.5с. Подбором удалось найти такие
значения (k1=234 - внутренний цикл k2=224 - внешний) при которых задержка
составит 0.5004245с т.е. погрешность равна 424.5мкс. Задержка
рассчитывалась по формуле 0.5*((19*k1+22)*k2) где 0.5.мкс - время одного
такта 19 - время выполнения команд внутри вложенного цикла (в тактах) 22
- время выполнения команд внешнего цикла.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ
В начальных адресах (0000h - 0FFFh) располагается ПЗУ (две физически
раздельных микросхемы емкостью по 2К каждая из которых занимает свое
адресное пространство) в которых находятся программы инициализации ПУ
служебные программы программы обмена информацией с ЦУ и программа
индикации полученного от ЦУ массива данных.
Для адресации к контроллеру интерфейса КР580ВВ55 выделено адресное
пространство 3000h-3004h.
Адресация к регистровой памяти индикаторных панелей осуществляется как
к ВУ. Номер регистра памяти записывается в буферную микросхему для которой
выделен адрес 40h. Затем можно произвести запись в регистр индикаторных
панелей обращаясь к нему по адресу 80h.
Для устройства выбора панели зарезервирован адрес 20h.
Для адресации к таймеру КР580ВИ53 выделен адрес ВУ 10h.
ИНТЕРФЕЙС CENTRONICS
1. Описание интерфейса
Периферийное и центральное устройства связаны посредством параллельного
интерфейса CENTRONICS реализованного с использованием параллельных
периферийных адаптеров КР580ВВ55. Обмен данными производится по линиям DO -
D7 подключенным к порту А как в ЦУ так и в ПУ. Адаптеры параллельного
интерфейса функционируют в режиме 2 (двунаправленная передача информации по
каналу А). Процесс обмена сопровождается служебными сигналами по линиям
В режиме 2 линии А7-А0 выполняют роль двунаправленной трехстабильной
шины управляемой сигналами STB IBF OBF АСК и INT. Сигналы IBF и OBF
информируют ВУ о готовности принять или предать данные соответственно. В
соответствии с ними внешнее ПУ либо генерирует очередные данные
сопровождая их стробом STB либо формирует сигнал подтверждения приема АСК
готовясь к приему данных. Низкий уровень АСК открывает выходные буферы
порта А разрешая выдачу данных на шину. В остальных случаях шина порта А
находится в Z-состоянии.При передаче информации от ЦУ к ПУ для квитирования
используются сигналы STROBE (OBF центрального устройства [С7] ( STB
периферийного [С4]) - сигнал готовности к ЦУ передаче информации ACKWLG
(АСК центрального [С6] ( инвертированный IBF периферийного [С5]) - сигнал
готовности ПУ к приему информации.
При передаче в обратном направлении сигналы квитирования передаются по
линиям SLCT и SLCTIN (сигнал OBF периферийного устройства [С7] ( STB
центрального [С4] передается по линии SLCT a сигнал подтверждения АСК - по
Для оповещения ПУ о результатах проверки переданной информации на
наличие ошибок задействуется линия С2 по которой происходит передача
сигнала ERROR. Периферийное устройство на основании состояния линии С2 либо
переходит к приему следующего байта массива либо повторяет прием.
Временная диаграмма интерфейса
2. Функциональная схема интерфейса
Рис. 6. Функциональная схема интерфейса
На функциональной схеме показаны процессор периферийного устройства
вспомогательные схемы для нормальной работы самого процессора - генератор
тактовых сигналов а также внешних по отношению к нему устройств - шинный
формирователь и системный контроллер кроме этого есть постоянная и
оперативная память (блоки ПЗУ и ОЗУ) со схемами селекции адреса а также
блок индикаторов размещенных по 40 элементов в панели и схемы необходимые
для функционирования блока индикаторов в динамическом режиме - это двоичный
счетчик дешифратор для выбора элемента в панели регистровая память для
хранения информации подлежащей отображению на выбранной индикаторной
панели схема выбора панели которая состоит из триггера и дешифратора на
восемь выходов (используется только 5 - по числу панелей) схемы
обеспечивающей выбор соответствующих устройств при обращении к адресам
закрепленными за этими устройствами.
Генератор тактовых сигналов обеспечивает процессор сигналами READY -
готовность устройств RESET - установка системы в исходное состояние
требуемая например после возникновения глобальной ошибки связи с ЦУ а
также тактирующие последовательности CLK1 CLK2.
Системный контроллер и шинный формирователь предназначен для фиксации
слова-состояния МП выработки системных управляющих сигналов буферизации
шины данных МП и управления направлением передачи данных кроме этого он
содержит шинный формирователь-усилитель обеспечивающий увеличение
нагрузочной способности системной информационной шины.
Блоки ОЗУ и ПЗУ подключены стандартным способом. При обращении в
область адресов ОЗУ или ПЗУ селектор адреса ОЗУ и ПЗУ организует выбор
соответствующей микросхемы памяти.
Селектор регистров видео памяти запоминает номер выбранного регистра и
при подаче соответствующей команды производит запись байта в выбранный
Схема выбора панели состоит одного 6-разрядного регистра пять разрядов
используются для выбора панелей с помощью блока из пяти транзисторов К973А
которые коммутируют питание индикаторных панелей.
Запуск программируемого таймера происходит сразу после программирования
его в режим деления частоты сигналы таймера используются для поочередного
обращения к индикаторам панели (режим динамической индикации).
Если панель выбрана то на ней начинает отображаться содержимое
регистровой видео памяти Обращение к индикаторам панели происходит
поочередно каждый индикатор загорается с частотой 50Гц которая задается
программируемым таймером (таймер работает в режиме делителя исходной
частоты 2МГц на 250). Сигнал от таймера поступает на двоичный счетчик
который считает до 40. Первые два выхода счетчика не используются
поэтому счетчик делит частоту еще на 4 (в результате получаем частоту
свечения индикатора г=2000000(250*4*40)=50Гц). Остальные выходы счетчика
соединены с 3 дешифраторами которые осуществляют выбор конкретного
индикаторного элемента с помощью транзисторного ключа. Выбранный элемент
начинает отображать содержимое "своего" регистра видео памяти. В любой
момент времени светится только один индикаторный элемент (принцип
динамической индикации). В последствии частота свечения индикаторов может
быть скорректирована путем программного изменения коэффициента деления у
Организация бегущей строки происходит программно путем обновления ячеек
регистровой видеопамяти. Начиная с крайнего правого 40-го индикатора новые
значения последовательно записываются в соответствующие ячейки регистровой
памяти. Сначала первый байт информационного массива записывается в регистр
отображающий свою информацию в 40-й индикатор затем (после программно
реализуемой задержки) происходит сдвиг строки на один символ влево т.е.
новый символ отображается в 40-м индикаторе а все отображенные ранее
Обращение к микросхеме программируемого параллельного интерфейса
происходит как к ячейке памяти и осуществляется селектором адреса ячеек
Работа с параллельным интерфейсом осуществляется программно путем
опроса соответствующих бит слова состояния. Это позволяет избежать
использования программируемого контроллера прерываний.
1. Подпрограмма обмена функционирующая в ПУ
START:MVI A 11000000B ; установка контр. парал.
OUT PORT+3 ; интерфейса в режим 2
MVI C75 ; размер передаваемого массива
LXI HLADR ; запись в HL адреса первого эл. маc
MVI B00 ; обнуление счетчика повторных передач
M обнуление счетчика ошибок
MVI A0000 0101b ; управляющее слово (уст. ERROR=1)
OUT PORT+3 ; запись его в порт
MOV AM ; читаем байт инф. маc. для передачи
OUT PORT ; передаем его в порт
M2: IN PORT+2 ; читаем порт С
AND 0000 1000b ; проверяем INT
JNZ M3 ; переход если есть данные
INR D ; увеличить счетчик ошибок
MVI A200 ; предельное время ожидания
CMP D ; если оно не превышено
JNZ M2 ; ждем дальше
OUT ERR ; иначе индикация ошибки
M3: IN PORT ; читаем копию данных из порта
CMP M ; сравнение с оригиналом
JZ M4 ; переход к след. байту если совп.
INR В ; увеличить счетчик повторных передач
MVI A 4 ; макс. кол. повт. передач
CMP В ; если не превышено
JNZ M повторить еще раз
M4: MVI A0000 0100b ; управляющее слово (уст. ERROR^O)
OUT PORT+3 ; запись упр. слова в порт
MVI B 00 ; обнулить счетчик повторных передач
INX H ; указать на следующий элемент массива
DCR С ; уменьшить счетчик оставшихся байт
JNZ M1 ; если не все передано передать след.
RET ; возврат в основную программу
Примечание: PORT - адрес закрепленный за контроллером параллельного
интерфейса; ERR - адрес ВУ индикации ошибки (устройство индицирует ошибку
при обращении к нему содержимое передаваемого байта не учитывается); ADR -
адрес начала информационного массива.
2. Подпрограмма функционирующая в ПУ
START: MVI A 11000001B ; установка контр. парал.
STA 2002h ; интерфейса в режим 2
M начальный адрес буфера BUFFER
MVI B 75 ; счетчик принятых байт
M2: MVI C 0 ; счетчик ошибок
MVI D 0 ; счетчик повторений
M3: LDA 2002h ; чтение слова состояния
AN I 8h ; опрос сигнала INT
JZ M3 ; ожидание сигнала
LDA 2000h ; чтение данных из порта
MOV M A ; запись данных в буфер обмена
STA 3000h ' ; передача принятого обратно
M4: LDA 2002h ; чтение слова состояния
AN I 4h ; опрос сигнала ошибки ERROR
JNZ M5 ; если нет ошибок след. байт
INR С ; увеличение счетчика ошибок
MOV А С ; проверка превышения
CPI 200 ; заданного времени ожидания
JNZ M4 ; цикл ожидания
INR D ; увеличение счетчика повторений
MOV AD ; проверка превышения
CPI 4 ; количества повторений
JNZ M3 ; если не превышено еще раз
CALL ERROR ; индикация неисправности
JMP START ; переход на начало алгоритма
M5: INX H ; увеличение адреса BUFFER
DCR В ; уменьшение счетчика байт N
JNZ M2 ; если не все принято след. байт
CALL DISPLAY ; вызов подпрограммы вывода
; информации на индикаторы
JMP M переход на начало алгоритма
Замечание: ERROR - адрес служебной подпрограмма индикации
неисправности; DISPLAY - адрес подпрограммы вывода информации на
3. Подпрограмма вывода информации на индикаторы
DISPLAY: MVI A 00010100 ;программирование таймера:
;канал 0 только младший байт
;режим 2 двоичный счет
MVI A 250 ;деление частоты на 2 50
MVI B 40 ;обнуление регистровой памяти
MVI B 40 ;обнуление массива памяти 4 0 байт
LXI H 1128h ;за буфером обмена
LDA H00h ;запись номера панели
M3: MVI D 40h ' ;задание индекса L=4 0
MOV E С ;задание индекса K=N
M4: MVI A D ;выбрать регистр
MVI L E ;считать из буфера
OUT 80h ;записать в регистр
JZ M5 ;проверка условия К>0
JNZ M4 ;проверка условия L=0
CMP 114 ;проверка условия N=114
RZ ;возврат если конец -
MVI D 224 ;циклы задержки на 05 секунды
Мб: MVI E 234 ;для движения строки с заданной
JMP МЗ ;переход на очередной сдвиг строки
В курсовой работе разработан на базе микропроцессорного комплекта
КР580 комплекс для реализации вывода знаковой информации на панели
отображения типа "бегущая строка". При этом выполнены все требования
указанные в техническом задании.
Несколько замечаний по поводу разработанного комплекса. Обращение к
сегментным индикаторам (регистровой видео памяти) как к ВУ не
целесообразно. Такой подход требует введения буфера для хранения номера
выбранного регистра и усложняет схему и алгоритмы работы. Далека от идеала
и предложенная схемотехническая реализация устройства. Можно значительно
сократить число применяемых элементов оптимизировать соединения между
ними. Эти цели при разработке схем просто не преследовались. Приоритет
отдавался облегчению понимания функционирования устройства.
Реальное применение предложенного устройства в указанном составе
является весьма сомнительным. Для организации бегущей строки на современном
уровне развития микроэлектроники целесообразно было бы использовать
персональный компьютер в качестве центрального устройства а в периферийном
устройстве использовать вместо 580-го комплекта какой-либо из современных
микроконтроллеров. Однако это не означает что предложенное устройство либо
его части не могут быть использованы для решения своих функциональных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Б.М. Каган. Электронные вычислительные машины и системы. - М.:
Энергоатомиздат 1991. - 592 с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Справочник. М.: Машиностроение 1993.-256с: ил.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник. В 2 т.; под ред. В. А. Шахнова.- М.: Радио и связь 1988.-
Мячев А.А. и др. Интерфейсы систем обработки данных: Справочник. М.:
Радио и связь 1989.-416 с: ил.
Полупроводниковые приборы: Диоды тиристоры оптоэлектронные приборы:
Справочник; под ред. Н. Н. Горюнова.- М.: Энергоатомиздат 1985.- 744
Обозначение Наименование Кол. Примечание
DD1 КР580ВМ80А 1 процессор
DD2 КР580ВИ53 1 програм. таймер
DD3 КР580ВВ55А 1 параллел.порт
DD4 КР537РУ10 1 ОЗУ 16К(2байта)
DD6 КР580ГФ24 1 генератор такт.сигн
DD7 КР580ВК28 1 сист. контроллер
DD8 DD9 К573РФ2 2 ППЗУ 16К(2Кбайта)
DD5 DD10-DD14 КР580ВА86 6 8-разрядные шинные
DD15 DD16 К555ЛЛ1 2 четыре 2ИЛИ
DD17 DD18 К555ЛАЗ 2 четыре И-НЕ
DD19 DD20 К555ЛН1 2 шесть НЕ
DD21 DD22 К555ТМ9 2 сшестеренный D-триггер
DD23 К555ИЕ19 1 два четырехразрядных
DD24-DD29 К155ИДЗ 6 дешифратор 4->16
DD30-DD69 КР514ПР1 40 Преобразователь
двоично-десятичного
кода в семисегментный
С1 К50-35-6313-10мкФ 1
С2 К10-17-16-ПЗЗ-3.3 пФ + 10% 1
СЗ-С23С27-С29 К10-17-2б-Н90-068 мкФ 54
С24 С25 С26 К50-35-16В-220мкФ 3
R1-R4 1 кОм±10%-А-В-В 5
R5 100кОм±10%-А-В-В 1
VD1 КД5226 ДРЗ.362.029 ТУ 1
VT1 КТ973А АА0.336.453 ТУ 200
VT2 КТ973А АА0.336.453 ТУ 5
HG1 АЛС324А 200 семисегментный
ZQ1 Резонатор кварцевый 18МГц 1
SB1 Кнопка малогабаритная 1
КМД1-1-НА3.604.006ТУ

icon текст (23).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ ТИПА "БЕГУЩАЯ СТРОКА
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА 7
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ 13
ИНТЕРФЕЙС CENTRONICS 14
1. Описание интерфейса 14
2. Функциональная схема интерфейса 16
1. Подпрограмма обмена функционирующая в ПУ 18
2. Подпрограмма функционирующая в ПУ 19
3. Подпрограмма вывода информации на индикаторы 20
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 22
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к внешним устройствам. Комплекс
предназначен для реализации вывода знаковой информации (десятичных цифр) в
режиме динамической индикации на одну из 4 панелей отображения типа
бегущая строка" построенных на 25 7 сегментных индикаторах. Адресация к
устройствам управления панелями отображения должна осуществляться как к
ячейкам памяти лежащим в поле адресов периферийного процессора. Информация
хранится в ОЗУ центрального процессорного устройства откуда передается
периферийному устройству единым массивом который сопровождается
информацией о номере панели отображения. Максимальный размер массива
составляет 50 символов. Время нахождения одного знака на любой панели
отображения составляет 10 секунд. Контроль правильности отображаемой
информации осуществляется путем обратной передачи копии массива символов из
периферийного устройства и сравнении ее (копии) с исходным массивом знаков
в центральном процессорном устройстве.
По результатам сравнения осуществляется либо передача сигнала
разрешающего вывод информации на панель отображения либо повторная
передача несовпадающих символов с последующим сравнением копии и оригинала.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 3 минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
ячейке памяти лежащей в поле адресов периферийного процессора.
В курсовой работе предложено решение поставленной в техническом задании
На рис.1 представлена структурная схема разрабатываемого комплекса
состоящего из центрального и периферийного устройств. В центральном
устройстве находятся программы организующие алгоритмы функционирования
системы и осуществляющие формирование подготовку и передачу данных в
периферийное устройство. Передача осуществляется посредством периферийного
адаптера КР580ВВ55 и интерфейса CENTRONICS.
Периферийное устройство принимает данные анализирует состояние линии
связи и сразу отправляет их обратно в центральное устройство для проверки
на предмет ошибок передачи. В зависимости от наличия или отсутствия ошибок
центральное устройство либо разрешает индикацию данных либо осуществляет
повторную передачу данных. Периферийное устройство обрабатывает и
осуществляет выдачу принятых данных на блок индикаторов правильную работу
которого обеспечивает блок управления динамической индикацией. После
окончания индикации в бегущей строке всех принятых данных периферийное
устройство переходит в первоначальное состояние и ожидает следующего сеанса
связи с центральным устройством.
Комплекс состоит из двух частей (рис. 1): центрального устройства (ЦУ)
и периферийного устройства (ПУ) которые связаны между собой посредством
параллельного интерфейса CENTRONICS. Оба устройства (ЦУ и ПУ) построены на
базе 580-го комплекта с центральным процессором КР580ВМ80 и имеют в своем
составе параллельный периферийный адаптер КР580ВВ55 при помощи которого и
организуется интерфейс CENTRONICS.
В центральном устройстве располагается блок индикации неисправности
системы в котором происходит отображение возникающих ошибок в частности.
В периферийном устройстве находится блок индикаторных панелей
осуществляющих индикацию информационного массива принятого от центрального
устройства в виде бегущей строки. Организация режима динамической
индикации и выбор панели на которую будет осуществлен вывод информации
выполняется блоком управления индикаторами. В периферийном устройстве также
имеется блок для индикации ошибок связанных с передачей информации.
Передаваемый в периферийное устройство массив данных имеет всегда
фиксированную длину - 75 байт. Наряду с данными требующими отображения в
виде бегущей строки он содержит информацию о номере панели отображения на
которой должна происходить индикация: в первом байте находится двоичное
число первые пять разрядов которого определяют состояние соответствующих
панелей т.е. будет ли на них выводиться информация.
Остальные 74 информационных байта имеют формат изображенный на рис.2.[pic]
Состояние битов D6 D5 D4 значения не имеет и может быть произвольным.
Байт все биты которого нулевые производит обнуление регистровой памяти
индикаторов и подготовит их к приему отображаемой информации. Такой формат
позволяет не просто отображать сплошной ряд чисел но и отделять
последовательности чисел друг от друга пробелом что достигается установкой
в ноль старшего бита D7 или всего байта.
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА
Рис. 3.1. Алгоритм работы центрального устройства
Рис. 3.2. Алгоритм работы периферийного устройства
Рис. 3.3 Алгоритм работы подпрограммы вывода информации на индикаторы
Подпрограмма обмена функционирующая в ЦУ
В задачи подпрограммы центрального устройства алгоритм работы которой
представлен на рисунке входит организация обмена данными между центральным
и периферийным процессорами контроль правильности передачи информации и
индикация неисправности в случае нарушения связи между устройствами.
В вершине 2 контроллер параллельного интерфейса программируется в режим
Затем счетчику байтов передаваемых в ПУ присваивается значение 75 в
соответствие с размером информационного массива.
В вершине 4 задается адрес по которому находится первый элемент
передаваемого массива расположение массива может быть произвольным и
определяется в центральной программе которая вызывает подпрограмму обмена.
Предполагается что информационный массив полностью подготавливается
центральной программой и данные в массиве имеют требуемый формат.
В вершинах 5 и 6 обнуляются счетчик ошибок используемый для
организации циклов ожидания ответных сигналов от ПУ и счетчик повторений.
В вершине 7 происходит установка внешнего сигнала ERROR в 1 т.е.
снимается подтверждение безошибочной передачи данных.
В вершине 8 происходит непосредственно передача байта находящегося по
адресу ADR после чего организуется цикл ожидания передачи копии байта от
ПУ. Ожидание происходит пока значение счетчика ERR не превысит 200 после
чего ЦУ производит повторную передачу байта увеличивая при этом счетчик
Если копия поступила (сигнал INT=1) то производится чтение поступивших
данных из порта и сравнение их с переданными.
Если данные не совпали то есть произошла ошибка при передаче то не
выставляется сигнал ERROR=0 что информирует периферийное устройство о том
что произошла ошибка и будет произведена повторная передача счетчик
повторных передач увеличивается на единицу и если его значение не
превышает трех происходит переход к вершине 6.
Если данные переданы без ошибок выставляется сигнал подтверждения
совпадения данных ERROR=0 что информирует ПУ о безошибочной передаче. В
вершине 18 происходит обнуление счетчика повторных передач затем
модифицируется адрес передаваемого байта (осуществляется переход к
следующему байту массива) уменьшается счетчик переданных байт. Если
передан не весь массив (N>0) то происходит переход к вершине 6. Если
счетчик равен нулю подпрограмма обмена завершает свою работу и передает
управление основной программе в вершине 23.
Программа функционирующая в ПУ
Работа программы периферийного устройства алгоритм которой представлен
на рисунке начинается с включением питания. Алгоритм не имеет блока
завершения программы т.е. программа выполняется пока устройство не будет
выключено. Основной режим функционирования ПУ -режим ожидания информации от
центрального устройства и в случае ее появления прием в буфер и индикация
в виде бегущей строки на указанной панели отображения.
Счетчику принятых байтов N присваивается значение 75 (аналогично
центральному устройству).
В вершине 4 задается адрес начала буфера обмена BUFFER туда будет
осуществлен прием информации из ЦУ. Счетчик ошибок ERR обнуляется.
В вершинах 6 и 7 организуется цикл ожидания передачи данных путем
опроса сигнала INTR и если таковые имеются происходит считывание из порта
(вершина 8) и запись их в память по адресу BUF (буфер обмена).
В вершине 9 принятые данные отправляются обратно в ЦУ для проверки на
наличие ошибок. Вершины 10-13 организуют цикл ожидания сигнала
подтверждения отсутствия ошибок от ЦУ увеличивая значение счетчика ошибок
на каждом шаге. Если сигнала нет (ERROR=1) то увеличивается число
повторных передач и ПУ переходит к повторной передаче (вершина 5). Если
данные совпали т.е. ERROR=0 то ПУ готовится к приему следующего байта
При переходе к следующему байту увеличивается адрес по которому
записывается принятый байт и уменьшается счетчик байт. Если этот счетчик
не равен нулю (передан не весь массив) переходим к вершине 4 иначе
вызываем подпрограмму вывода принятой информации на выбранную панель
индикации. Отобразив информацию переходим на исходную позицию то есть к
Подпрограмма вывода информации на индикаторы
Подпрограмма вывода информации на индикаторные панели вызывается
программой ПУ в случае удачного приема всего информационного массива. В
задачи этой подпрограммы входит физический выбор панели отображения в
соответствии с первым байтом принятого информационного массива то есть
запись номера панели в триггер состояние которого и определяет: выбрана
данная панель или нет. Программа также должна организовать непосредственно
бегущую строку предварительно запустив программируемый таймер при помощи
которого осуществляется режим динамической индикации и подготовить
регистровую память индикаторных элементов (обнуление служебным нулем -
индикаторы погашены).
Чтобы организовать автоматическое "убегание" конца строки с
индикаторной панели (все элементы информационного массива должны
отображаться в течение Т=20с) обнуляется 40 байт ячеек памяти
расположенных сразу за буфером обмена в котором находится принятый массив.
Выбрав нужную панель отображения запускаем счетчик по показаниям
которого происходит обращение к индикаторным элементам. Далее следует сам
алгоритм формирования бегущей строки.
Счетчик N показывает количество отображенных байтов информации.
Переменная L содержит количество не обслуженных индикаторных элементов.
Переменная К предназначена для последовательной адресации к байтам
информационного массива показывает текущий обрабатываемый элемент
В блоке 10 байт информационного массива с номером К из буфера
передается в ячейку регистровой памяти индикаторов с номером L.
Если отображаемых символов меньше 40 (начало строки) то обновление
регистровой памяти завершится с окончанием потока данных (К окажется равным
раньше L). Если уже отобразили более 40 байт то выход из цикла
обновления произойдет при обновлении информации во всех индикаторных
элементах панели (L=0). Далее проверяется отображен весь массив или нет.
Информативная часть массива составляет 74 байта но для того чтобы конец
строки "проехал" до конца надо после информационных байт отобразить 40
пробелов поэтому выводим на индикаторы дополнительные 40 байт служебных
нулей всего 114 байт.
Временная задержка Тзад в вершине 15 осуществляется программно в
соответствии с временем прохождения информационного символа по индикаторной
панели указанного в техническом задании (Т = 20 сек.) и составляет 0.5
сек (Тзад=ТМ=2040=0.5 сек.).
Задержка организуется с помощью двух вложенных циклов начальные
значения счетчиков которых выбраны таким образом чтобы суммарная задержка
выполнения внешнего цикла была равна 0.5с. Подбором удалось найти такие
значения (k1=234 - внутренний цикл k2=224 - внешний) при которых задержка
составит 0.5004245с т.е. погрешность равна 424.5мкс. Задержка
рассчитывалась по формуле 0.5*((19*k1+22)*k2) где 0.5.мкс - время одного
такта 19 - время выполнения команд внутри вложенного цикла (в тактах) 22
- время выполнения команд внешнего цикла.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ
В начальных адресах (0000h - 0FFFh) располагается ПЗУ (две физически
раздельных микросхемы емкостью по 2К каждая из которых занимает свое
адресное пространство) в которых находятся программы инициализации ПУ
служебные программы программы обмена информацией с ЦУ и программа
индикации полученного от ЦУ массива данных.
Для адресации к контроллеру интерфейса КР580ВВ55 выделено адресное
пространство 3000h-3004h.
Адресация к регистровой памяти индикаторных панелей осуществляется как
к ВУ. Номер регистра памяти записывается в буферную микросхему для которой
выделен адрес 40h. Затем можно произвести запись в регистр индикаторных
панелей обращаясь к нему по адресу 80h.
Для устройства выбора панели зарезервирован адрес 20h.
Для адресации к таймеру КР580ВИ53 выделен адрес ВУ 10h.
ИНТЕРФЕЙС CENTRONICS
1. Описание интерфейса
Периферийное и центральное устройства связаны посредством параллельного
интерфейса CENTRONICS реализованного с использованием параллельных
периферийных адаптеров КР580ВВ55. Обмен данными производится по линиям DO -
D7 подключенным к порту А как в ЦУ так и в ПУ. Адаптеры параллельного
интерфейса функционируют в режиме 2 (двунаправленная передача информации по
каналу А). Процесс обмена сопровождается служебными сигналами по линиям
В режиме 2 линии А7-А0 выполняют роль двунаправленной трехстабильной
шины управляемой сигналами STB IBF OBF АСК и INT. Сигналы IBF и OBF
информируют ВУ о готовности принять или предать данные соответственно. В
соответствии с ними внешнее ПУ либо генерирует очередные данные
сопровождая их стробом STB либо формирует сигнал подтверждения приема АСК
готовясь к приему данных. Низкий уровень АСК открывает выходные буферы
порта А разрешая выдачу данных на шину. В остальных случаях шина порта А
находится в Z-состоянии.При передаче информации от ЦУ к ПУ для квитирования
используются сигналы STROBE (OBF центрального устройства [С7] ( STB
периферийного [С4]) - сигнал готовности к ЦУ передаче информации ACKWLG
(АСК центрального [С6] ( инвертированный IBF периферийного [С5]) - сигнал
готовности ПУ к приему информации.
При передаче в обратном направлении сигналы квитирования передаются по
линиям SLCT и SLCTIN (сигнал OBF периферийного устройства [С7] ( STB
центрального [С4] передается по линии SLCT a сигнал подтверждения АСК - по
Для оповещения ПУ о результатах проверки переданной информации на
наличие ошибок задействуется линия С2 по которой происходит передача
сигнала ERROR. Периферийное устройство на основании состояния линии С2 либо
переходит к приему следующего байта массива либо повторяет прием.
Временная диаграмма интерфейса
2. Функциональная схема интерфейса
Рис. 6. Функциональная схема интерфейса
На функциональной схеме показаны процессор периферийного устройства
вспомогательные схемы для нормальной работы самого процессора - генератор
тактовых сигналов а также внешних по отношению к нему устройств - шинный
формирователь и системный контроллер кроме этого есть постоянная и
оперативная память (блоки ПЗУ и ОЗУ) со схемами селекции адреса а также
блок индикаторов размещенных по 40 элементов в панели и схемы необходимые
для функционирования блока индикаторов в динамическом режиме - это двоичный
счетчик дешифратор для выбора элемента в панели регистровая память для
хранения информации подлежащей отображению на выбранной индикаторной
панели схема выбора панели которая состоит из триггера и дешифратора на
восемь выходов (используется только 5 - по числу панелей) схемы
обеспечивающей выбор соответствующих устройств при обращении к адресам
закрепленными за этими устройствами.
Генератор тактовых сигналов обеспечивает процессор сигналами READY -
готовность устройств RESET - установка системы в исходное состояние
требуемая например после возникновения глобальной ошибки связи с ЦУ а
также тактирующие последовательности CLK1 CLK2.
Системный контроллер и шинный формирователь предназначен для фиксации
слова-состояния МП выработки системных управляющих сигналов буферизации
шины данных МП и управления направлением передачи данных кроме этого он
содержит шинный формирователь-усилитель обеспечивающий увеличение
нагрузочной способности системной информационной шины.
Блоки ОЗУ и ПЗУ подключены стандартным способом. При обращении в
область адресов ОЗУ или ПЗУ селектор адреса ОЗУ и ПЗУ организует выбор
соответствующей микросхемы памяти.
Селектор регистров видео памяти запоминает номер выбранного регистра и
при подаче соответствующей команды производит запись байта в выбранный
Схема выбора панели состоит одного 6-разрядного регистра пять разрядов
используются для выбора панелей с помощью блока из пяти транзисторов К973А
которые коммутируют питание индикаторных панелей.
Запуск программируемого таймера происходит сразу после программирования
его в режим деления частоты сигналы таймера используются для поочередного
обращения к индикаторам панели (режим динамической индикации).
Если панель выбрана то на ней начинает отображаться содержимое
регистровой видео памяти Обращение к индикаторам панели происходит
поочередно каждый индикатор загорается с частотой 50Гц которая задается
программируемым таймером (таймер работает в режиме делителя исходной
частоты 2МГц на 250). Сигнал от таймера поступает на двоичный счетчик
который считает до 40. Первые два выхода счетчика не используются
поэтому счетчик делит частоту еще на 4 (в результате получаем частоту
свечения индикатора г=2000000(250*4*40)=50Гц). Остальные выходы счетчика
соединены с 3 дешифраторами которые осуществляют выбор конкретного
индикаторного элемента с помощью транзисторного ключа. Выбранный элемент
начинает отображать содержимое "своего" регистра видео памяти. В любой
момент времени светится только один индикаторный элемент (принцип
динамической индикации). В последствии частота свечения индикаторов может
быть скорректирована путем программного изменения коэффициента деления у
Организация бегущей строки происходит программно путем обновления ячеек
регистровой видеопамяти. Начиная с крайнего правого 40-го индикатора новые
значения последовательно записываются в соответствующие ячейки регистровой
памяти. Сначала первый байт информационного массива записывается в регистр
отображающий свою информацию в 40-й индикатор затем (после программно
реализуемой задержки) происходит сдвиг строки на один символ влево т.е.
новый символ отображается в 40-м индикаторе а все отображенные ранее
Обращение к микросхеме программируемого параллельного интерфейса
происходит как к ячейке памяти и осуществляется селектором адреса ячеек
Работа с параллельным интерфейсом осуществляется программно путем
опроса соответствующих бит слова состояния. Это позволяет избежать
использования программируемого контроллера прерываний.
1. Подпрограмма обмена функционирующая в ПУ
START:MVI A 11000000B ; установка контр. парал.
OUT PORT+3 ; интерфейса в режим 2
MVI C75 ; размер передаваемого массива
LXI HLADR ; запись в HL адреса первого эл. маc
MVI B00 ; обнуление счетчика повторных передач
M обнуление счетчика ошибок
MVI A0000 0101b ; управляющее слово (уст. ERROR=1)
OUT PORT+3 ; запись его в порт
MOV AM ; читаем байт инф. маc. для передачи
OUT PORT ; передаем его в порт
M2: IN PORT+2 ; читаем порт С
AND 0000 1000b ; проверяем INT
JNZ M3 ; переход если есть данные
INR D ; увеличить счетчик ошибок
MVI A200 ; предельное время ожидания
CMP D ; если оно не превышено
JNZ M2 ; ждем дальше
OUT ERR ; иначе индикация ошибки
M3: IN PORT ; читаем копию данных из порта
CMP M ; сравнение с оригиналом
JZ M4 ; переход к след. байту если совп.
INR В ; увеличить счетчик повторных передач
MVI A 4 ; макс. кол. повт. передач
CMP В ; если не превышено
JNZ M повторить еще раз
M4: MVI A0000 0100b ; управляющее слово (уст. ERROR^O)
OUT PORT+3 ; запись упр. слова в порт
MVI B 00 ; обнулить счетчик повторных передач
INX H ; указать на следующий элемент массива
DCR С ; уменьшить счетчик оставшихся байт
JNZ M1 ; если не все передано передать след.
RET ; возврат в основную программу
Примечание: PORT - адрес закрепленный за контроллером параллельного
интерфейса; ERR - адрес ВУ индикации ошибки (устройство индицирует ошибку
при обращении к нему содержимое передаваемого байта не учитывается); ADR -
адрес начала информационного массива.
2. Подпрограмма функционирующая в ПУ
START: MVI A 11000001B ; установка контр. парал.
STA 2002h ; интерфейса в режим 2
M начальный адрес буфера BUFFER
MVI B 75 ; счетчик принятых байт
M2: MVI C 0 ; счетчик ошибок
MVI D 0 ; счетчик повторений
M3: LDA 2002h ; чтение слова состояния
AN I 8h ; опрос сигнала INT
JZ M3 ; ожидание сигнала
LDA 2000h ; чтение данных из порта
MOV M A ; запись данных в буфер обмена
STA 3000h ' ; передача принятого обратно
M4: LDA 2002h ; чтение слова состояния
AN I 4h ; опрос сигнала ошибки ERROR
JNZ M5 ; если нет ошибок след. байт
INR С ; увеличение счетчика ошибок
MOV А С ; проверка превышения
CPI 200 ; заданного времени ожидания
JNZ M4 ; цикл ожидания
INR D ; увеличение счетчика повторений
MOV AD ; проверка превышения
CPI 4 ; количества повторений
JNZ M3 ; если не превышено еще раз
CALL ERROR ; индикация неисправности
JMP START ; переход на начало алгоритма
M5: INX H ; увеличение адреса BUFFER
DCR В ; уменьшение счетчика байт N
JNZ M2 ; если не все принято след. байт
CALL DISPLAY ; вызов подпрограммы вывода
; информации на индикаторы
JMP M переход на начало алгоритма
Замечание: ERROR - адрес служебной подпрограмма индикации
неисправности; DISPLAY - адрес подпрограммы вывода информации на
3. Подпрограмма вывода информации на индикаторы
DISPLAY: MVI A 00010100 ;программирование таймера:
;канал 0 только младший байт
;режим 2 двоичный счет
MVI A 250 ;деление частоты на 2 50
MVI B 40 ;обнуление регистровой памяти
MVI B 40 ;обнуление массива памяти 4 0 байт
LXI H 1128h ;за буфером обмена
LDA H00h ;запись номера панели
M3: MVI D 40h ' ;задание индекса L=4 0
MOV E С ;задание индекса K=N
M4: MVI A D ;выбрать регистр
MVI L E ;считать из буфера
OUT 80h ;записать в регистр
JZ M5 ;проверка условия К>0
JNZ M4 ;проверка условия L=0
CMP 114 ;проверка условия N=114
RZ ;возврат если конец -
MVI D 224 ;циклы задержки на 05 секунды
Мб: MVI E 234 ;для движения строки с заданной
JMP МЗ ;переход на очередной сдвиг строки
В курсовой работе разработан на базе микропроцессорного комплекта
КР580 комплекс для реализации вывода знаковой информации на панели
отображения типа "бегущая строка". При этом выполнены все требования
указанные в техническом задании.
Несколько замечаний по поводу разработанного комплекса. Обращение к
сегментным индикаторам (регистровой видео памяти) как к ВУ не
целесообразно. Такой подход требует введения буфера для хранения номера
выбранного регистра и усложняет схему и алгоритмы работы. Далека от идеала
и предложенная схемотехническая реализация устройства. Можно значительно
сократить число применяемых элементов оптимизировать соединения между
ними. Эти цели при разработке схем просто не преследовались. Приоритет
отдавался облегчению понимания функционирования устройства.
Реальное применение предложенного устройства в указанном составе
является весьма сомнительным. Для организации бегущей строки на современном
уровне развития микроэлектроники целесообразно было бы использовать
персональный компьютер в качестве центрального устройства а в периферийном
устройстве использовать вместо 580-го комплекта какой-либо из современных
микроконтроллеров. Однако это не означает что предложенное устройство либо
его части не могут быть использованы для решения своих функциональных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Б.М. Каган. Электронные вычислительные машины и системы. - М.:
Энергоатомиздат 1991. - 592 с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Справочник. М.: Машиностроение 1993.-256с: ил.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник. В 2 т.; под ред. В. А. Шахнова.- М.: Радио и связь 1988.-
Мячев А.А. и др. Интерфейсы систем обработки данных: Справочник. М.:
Радио и связь 1989.-416 с: ил.
Полупроводниковые приборы: Диоды тиристоры оптоэлектронные приборы:
Справочник; под ред. Н. Н. Горюнова.- М.: Энергоатомиздат 1985.- 744
Обозначение Наименование Кол. Примечание
DD1 КР580ВМ80А 1 процессор
DD2 КР580ВИ53 1 програм. таймер
DD3 КР580ВВ55А 1 параллел.порт
DD4 КР537РУ10 1 ОЗУ 16К(2байта)
DD6 КР580ГФ24 1 генератор такт.сигн
DD7 КР580ВК28 1 сист. контроллер
DD8 DD9 К573РФ2 2 ППЗУ 16К(2Кбайта)
DD5 DD10-DD14 КР580ВА86 6 8-разрядные шинные
DD15 DD16 К555ЛЛ1 2 четыре 2ИЛИ
DD17 DD18 К555ЛАЗ 2 четыре И-НЕ
DD19 DD20 К555ЛН1 2 шесть НЕ
DD21 DD22 К555ТМ9 2 сшестеренный D-триггер
DD23 К555ИЕ19 1 два четырехразрядных
DD24-DD29 К155ИДЗ 6 дешифратор 4->16
DD30-DD69 КР514ПР1 40 Преобразователь
двоично-десятичного
кода в семисегментный
С1 К50-35-6313-10мкФ 1
С2 К10-17-16-ПЗЗ-3.3 пФ + 10% 1
СЗ-С23С27-С29 К10-17-2б-Н90-068 мкФ 54
С24 С25 С26 К50-35-16В-220мкФ 3
R1-R4 1 кОм±10%-А-В-В 5
R5 100кОм±10%-А-В-В 1
VD1 КД5226 ДРЗ.362.029 ТУ 1
VT1 КТ973А АА0.336.453 ТУ 200
VT2 КТ973А АА0.336.453 ТУ 5
HG1 АЛС324А 200 семисегментный
ZQ1 Резонатор кварцевый 18МГц 1
SB1 Кнопка малогабаритная 1
КМД1-1-НА3.604.006ТУ

icon А21.dwg

А21.dwg
Чертеж установки пломб на
ЕКМН.466453.017-17 СА
Электротехническая часть
ПС 11010 кВ "Пашковская
блоке клеммных колодок
- Проволоку (начало) продеть сверху вниз через отв.№1 на защитной этикетке
На DIN-рейке просверлить отверстия на вертикальных и горизонтальных полочках
клеммных колодок. На защитной этикетке (на карточке
как можно ближе к блоку
этикеток) просверлить отверстия в углах. Диаметры отверстий определяются
в зависимости от диаметра гибкой проволоки.
(карточке этикеток) оставив конец длиной 20-25 см далее продеть сквозь:
вертикальная полочка
горизонтальная полочка
- отв.№1d на вертикальной полочке DIN-рейки;
- отв.№2d на горизонтальной полочке DIN-рейки;
- отв.№4d на горизонтальной полочке DIN-рейки;
- отв.№3d на вертикальной полочке DIN-рейки;
- отв.№2 на защитной этикетке (карточке этикеток);
- отв.№5d на вертикальной полочке DIN-рейки;
- отв.№4 на защитной этикетке (карточке этикеток);
- отв.№6d на горизонтальной полочке DIN-рейки;
- отв.№8d на горизонтальной полочке DIN-рейки;
- отв.№7d на вертикальной полочке DIN-рейки;
- отв.№3 на защитной этикетке (карточке этикеток);
- отв.№1 на защитной этикетке (карточке этикеток).
- Один из концов проволоки например "начало" продеть сквозь петлю гибкой проволоки
- Другой конец проволоки продеть через петлю гибкой проволоки в отв.№4.
- Оба конца проволоки продеть в пломбу и запломбировать.
Очередность продевания проволоки через отверстия и пломбирование:
Описание I способа пломбирования блока клеммных колодок.
I способ пломбирования
блока клеммных колодок
На вертикальных полочках DIN-рейки: отв.№1d отв.№3d отв.№5d отв.№7d.
На горизонтальных полочках DIN-рейки: отв.№2d отв.№4d отв.№6d отв.№8d.
На защитной этикетке (карточке этикеток): отв.№1 отв.№2 отв.№3 отв.№4.
- Гибкая проволока должна быть натянута чтобы не было возможности её сместить.
Описание II способа пломбирования блока клеммных колодок.
Просверлить отверстия в стенках торцевых фиксаторов как показано на рисунке.
в отв.№3 и сквозь петлю гибкой проволоки в отв.№2.
На защитной этикетке (карточке этикеток) просверлить отверстия в углах.
Диаметры отверстий определяются в зависимости от диаметра гибкой проволоки.
Гибкую проволоку продеть сверху вниз сквозь отверстие в защитной этикетке (карточке этикеток) продеть
сквозь отверстие в торцевом фиксаторе затем продеть сквозь отверстие в вертикальной полочке DIN-рейки.
II способ пломбирования блока клеммных колодок
Условные обозначения
На торцевых фиксаторах: отв.№1ф отв.№2ф отв.№3ф отв.№4ф.
На вертикальной полочке DIN-рейки: отв.№1d отв.№2d отв.№3d отв.№4d.
На вертикальных полочках DIN-рейки просверлить отверстия как можно ближе к блоку клеммных колодок.
Для предотвращения смещения гибкой проволоки
рекомендуется выполнить гибкой проволокой
петли в отверстиях. Гибкую проволоку необходимо
- На защитной этикетке (карточке этикеток) рекомендуется переплести гибкую проволоку
рекомендуется гибкую проволоку
Оба конца проволоки продеть в пломбу
ЕКМН.466453.022-7 ВД
Туапсинские городские электрические сети
Автоматизированная информационно-измерительная система
выделено утолщёнными линиями.
Оборудование для АИИС КУЭ на чертеже
Направление отдачи электроэнергии.
ЕКМН.466453.017-28 Э1
ПС 356 кВ "Центральная
Направление приема электроэнергии.
Граница балансовой принадлежности между
- Счетчики электроэнергии СЭТ-4ТМ.03.01
- Счетчики электроэнергии СЭТ-4ТМ.03.09
срабатывания аварийных
электрическая принципиальная
Микросхемы: DD1 - КР580ВМ80А DD2 - КР580ГФ24 DD3 - КР580ВК38 DD4 - КР580ВВ55А DD5 - КР580ВН59 DD6 - КР580ВИ53 DD7 DD8 - КР537РУ10 DD9 DD11 - КР580ВА86
DD12 - К155ИД14 DD13 - К155ИД3 DD14 - К155ЛЕ1 DD15 - К155ЛН1.
Выводы 2 микросхемы 7 микросхем DD4 DD14 8 микросхем DD2 12 микросхем DD6 DD8 10 микросхем DD9 14 микросхем DD3 DD5 подключить к цепи 0В.
Выводы 14 микросхемы DD14 16 микросхем DD2 20 микросхем DD1 DD9 24 микросхемы DD6 DD8 26 микросхем DD3 DD5 подключить к цепи +5В.
Вывод 28 микросхемы DD1 подключить к цепи +12В.
Вывод 11 микросхемы DD1 подключить к цепи -5В.
Тема: "Опрос аварийных датчиков
УрФУ им. первого Президента России Б.Н. ЕльцинаnКафедра ИТnгруппа РИВ-500212С

icon А31.dwg

А31.dwg
Чертеж установки пломб на
ЕКМН.466453.017-17 СА
Электротехническая часть
ПС 11010 кВ "Пашковская
блоке клеммных колодок
- Проволоку (начало) продеть сверху вниз через отв.№1 на защитной этикетке
На DIN-рейке просверлить отверстия на вертикальных и горизонтальных полочках
клеммных колодок. На защитной этикетке (на карточке
как можно ближе к блоку
этикеток) просверлить отверстия в углах. Диаметры отверстий определяются
в зависимости от диаметра гибкой проволоки.
(карточке этикеток) оставив конец длиной 20-25 см далее продеть сквозь:
вертикальная полочка
горизонтальная полочка
- отв.№1d на вертикальной полочке DIN-рейки;
- отв.№2d на горизонтальной полочке DIN-рейки;
- отв.№4d на горизонтальной полочке DIN-рейки;
- отв.№3d на вертикальной полочке DIN-рейки;
- отв.№2 на защитной этикетке (карточке этикеток);
- отв.№5d на вертикальной полочке DIN-рейки;
- отв.№4 на защитной этикетке (карточке этикеток);
- отв.№6d на горизонтальной полочке DIN-рейки;
- отв.№8d на горизонтальной полочке DIN-рейки;
- отв.№7d на вертикальной полочке DIN-рейки;
- отв.№3 на защитной этикетке (карточке этикеток);
- отв.№1 на защитной этикетке (карточке этикеток).
- Один из концов проволоки например "начало" продеть сквозь петлю гибкой проволоки
- Другой конец проволоки продеть через петлю гибкой проволоки в отв.№4.
- Оба конца проволоки продеть в пломбу и запломбировать.
Очередность продевания проволоки через отверстия и пломбирование:
Описание I способа пломбирования блока клеммных колодок.
I способ пломбирования
блока клеммных колодок
На вертикальных полочках DIN-рейки: отв.№1d отв.№3d отв.№5d отв.№7d.
На горизонтальных полочках DIN-рейки: отв.№2d отв.№4d отв.№6d отв.№8d.
На защитной этикетке (карточке этикеток): отв.№1 отв.№2 отв.№3 отв.№4.
- Гибкая проволока должна быть натянута чтобы не было возможности её сместить.
Описание II способа пломбирования блока клеммных колодок.
Просверлить отверстия в стенках торцевых фиксаторов как показано на рисунке.
в отв.№3 и сквозь петлю гибкой проволоки в отв.№2.
На защитной этикетке (карточке этикеток) просверлить отверстия в углах.
Диаметры отверстий определяются в зависимости от диаметра гибкой проволоки.
Гибкую проволоку продеть сверху вниз сквозь отверстие в защитной этикетке (карточке этикеток) продеть
сквозь отверстие в торцевом фиксаторе затем продеть сквозь отверстие в вертикальной полочке DIN-рейки.
II способ пломбирования блока клеммных колодок
Условные обозначения
На торцевых фиксаторах: отв.№1ф отв.№2ф отв.№3ф отв.№4ф.
На вертикальной полочке DIN-рейки: отв.№1d отв.№2d отв.№3d отв.№4d.
На вертикальных полочках DIN-рейки просверлить отверстия как можно ближе к блоку клеммных колодок.
Для предотвращения смещения гибкой проволоки
рекомендуется выполнить гибкой проволокой
петли в отверстиях. Гибкую проволоку необходимо
- На защитной этикетке (карточке этикеток) рекомендуется переплести гибкую проволоку
рекомендуется гибкую проволоку
Оба конца проволоки продеть в пломбу
ЕКМН.466453.022-7 ВД
Туапсинские городские электрические сети
Автоматизированная информационно-измерительная система
выделено утолщёнными линиями.
Оборудование для АИИС КУЭ на чертеже
Направление отдачи электроэнергии.
ЕКМН.466453.017-28 Э1
ПС 356 кВ "Центральная
Направление приема электроэнергии.
Граница балансовой принадлежности между
- Счетчики электроэнергии СЭТ-4ТМ.03.01
- Счетчики электроэнергии СЭТ-4ТМ.03.09
Переферийное процессорное
электрическая принципиальная
Тема: "Формирование аналоговой информации
УрФУ им. первого Президента России Б.Н. ЕльцинаnКафедра ИТnгруппа РИВ-500212С

icon Текст (9).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА ФОРМИРОВАНИЯ АНАЛОГОВЫХ СИГНАЛОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: В.Г. Карпусь
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ 6
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ. 8
1 Микропроцессор К580ВМ80 8
2. Генератор тактовых импульсов КР580ГФ24 9
3. Шинный формирователь КР580ВА86 9
4. Системный контроллер КР580ВК28 10
5. Таймер КР580ВИ53 10
6. Универсальный приёмопередатчик К580ВВ51А 12
7. D-регистр защелка КР580ИР82. 14
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232. 16
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ 17
ОПИСАНИЕ РАБОТЫ ППУ 19
Блок-схемы алгоритмов работы устройства 19
1. Основная программа выполняемая в ППУ 23
2. Подпрограмма инициализации УСАПП 24
3. Подпрограмма инициализации таймеров 24
4. Подпрограмма принятия 2-го и последующих байт командной посылки 25
5. Подпрограмма сброса признаков ошибки и отправки запроса на повторную
6. Подпрограмма инициализации ЦАП 25
7. Подпрограмма инициализации таймера 26
8. Подпрограмма отправки посылки с масштабным коэффициентом 27
9. Подпрограмма переинициализации таймеров 28
10. Подпрограмма обновления масштабных коэффициентов ЦАП 29
11. Подпрограмма предназначенная для обмена с ППУ (выполняется на ЦПУ)
12. Подпрограмма отправки байта в ППУ 30
13. Подпрограмма получения байта от ППУ 30
14. Подпрограмма инициализации УСАПП в ЦПУ 30
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 33
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве контроллеров интерфейса
использовать БИС КР580ВВ51 с адресацией к ним как к внешним устройствам.
Комплекс предназначен для формирования аналоговых напряжений и содержит 5
ЦАП К572ПА2с адресацией к ним как к ячейкам памяти лежащим в поле адресов
периферийного процессора. Значения напряжений и номера ЦАП подлежащих
инициализации а также время в течение которого аналоговое напряжение
должно присутствовать на выходе данного канала (период инициализации Т)
определяются программой выполняемой в центральном процессорном устройстве
и передаются периферийной стороне в виде единого блока. Период
инициализации любого ЦАП составляет Т секунд и может быть различным для
всех ЦАП. Численные значения Т лежат в пределах 15-83 сек. с точностью 05
с. После завершения инициализации любого ЦАП напряжение на его выходе
должно равняться нулю. выходного напряжения любого ЦАП К=1 и
остается постоянным в течение всего периода инициализации Т но может
изменяться от периода к периоду. Его конкретное значение зависит от
программы выполняемой периферийным процессором при этом значения всех
масштабных коэффициентов в каждый период инициализации передаются в
фиксированные ячейки ОЗУ центрального процессорного устройства. Процедура
инициализации всех ЦАП полностью организуется периферийным процессором.
Наличие в блоке данных Т=0 для каких-либо ЦАП означает что период
инициализации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному не менее 2-х минут. В качестве
времязадающего устройства использовать БИС таймера КР580ВИ53 с адресацией к
ней как к ячейке памяти лежащей в поле адресов периферийного процессора.
Сигнал определяется как напряжение или ток который может быть
передан как сообщение или как информация. По своей природе все сигналы
являются аналоговыми будь то сигнал постоянного или переменного тока
цифровой или импульсный. Тем не менее принято делать различие между
аналоговыми и цифровыми сигналами. Цифровым сигналом называется сигнал
определённым образом обработанный и преобразованный в цифры. Обычно эти
цифровые сигналы связаны с реальными аналоговыми сигналами но иногда между
ними и нет связи. В качестве примера можно привести передачу данных в
локальных вычислительных сетях (LAN) или в других высокоскоростных сетях .В
случае цифровой обработки сигнала (ЦОС) аналоговый сигнал преобразуется в
двоичную форму устройством которое называется аналого-цифровым
преобразователем (АЦП). На выходе АЦП получается двоичное представление
аналогового сигнала которое затем обрабатывается арифметическим цифровым
сигнальным процессором (DSP). После обработки содержащаяся в сигнале
информация может быть преобразована обратно в аналоговую форму с
использованием цифро-аналогового преобразователя (ЦАП). Другой ключевой
концепцией в определении сигнала является тот факт что сигнал всегда
несет некоторую информацию. Это ведет нас к ключевой проблеме обработки
физических аналоговых сигналов – проблеме извлечения информации.
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ
Комплекс состоит из центрального и периферийного процессорных устройств
соединённых интерфейсом RS-232. На следующих двух страницах приведены
структурные схемы центрального и периферийного процессорных устройств.
В ППУ используются следующие БИС:
К580ВМ80 - однокристальный центральный процессор.
К580ГФ24 - генератор тактовых последовательностей с кварцевой
стабилизацией частоты.
К580ВК28 -системный контроллер.
К580ВВ51 - контроллер последовательного интерфейса совместимого с RS-
К580ВА86 - шинные формирователи. Введены для повышения нагрузочной
К580ВИ53 -трёхканальные программируемые таймеры.
К580ИР82 - регистры-защёлки введённые для фиксации данных на входах ЦАП.
К572ПА1 - 10-разрядные ЦАП.
К573РФ41 - ИМС ПЗУ 64кбит с организацией 4к*8
К565РУ2 - ИМС статического ОЗУ.
Также в ППУ использовано несколько ИМС малой степени интеграции - К155ЛАЗ
(4 двухвходовых элемента И-НЕ) ОУ К153УДЗ дешифратор К155ИД10.
Функциональная схема ППУ приведена на рис.3. Принципиальная схема
устройства прилагается.
Центральное процессорное устройство может быть реализовано аналогично
его отличие состоит в отсутствии дешифратора адреса т.к. достаточно
использовать 4 старших линии ША для идентификации ИМС к которой требуется
обратиться а также отсутствием двух таймеров задающих интервалы времени
для блоков ЦАП и самих блоков ЦАП.
Рис. 1. Структурная схема ППУ
Рис. 2. Простейшая структурная схема ППУ
Рис. 3. Функциональная схема ППУ
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ.
1 Микропроцессор К580ВМ80
ИМС КР580ВМ80А - функционально-законченный однокристальный параллельный 8-
разрядный микропроцессор с фиксированной системой команд применяется в
качестве центрально процессора в устройствах обработки данных и управления.
Микропроцессор имеет разделенные 16-разрядный канал адреса и 8-разрядный
канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти
объемом до 65536 байт 256 устройств вводавывода.
Таблица 1 Назначение выводов микропроцессора
Вывод Обозначение Тип вывода Функциональное назначение
25-27А10 АО-А2 Выходы Канал адреса
-10 D4-D7 D3-DO Входывыходы Шина данных
Uo Напряжения источника смещения
Reset Вход Устан. в исходное состояние
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
Ucci - Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 - Напряжение питания +12В.
2. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2 предназначен
для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения уровня
Таблица 2 Назначение выводов микросхемы
Вывод Обозначение Тип выводаФункциональное назначение выводов
SR Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
С Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucft Вход Напряжение питания +12В
С2 Выход Тактовые сигналя - фаза С2
С1 Выход Тактовые сигналя - фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Use Вход Напряжение питания +5В
3. Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный формирователь
предназначенный для обмена данными между микропроцессором и системной
шиной; обладают повышенной нагрузочной способностью имеет третье состояние
Таблица 3 Назначение выводов микросхемы
Вывод Обозначение Тип вывода Функциональное назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ucc - Напряжение питания 5В±5%
4. Системный контроллер КР580ВК28
Микросхема КР580ВК28 - системный контроллер и буферный регистр данных
применяемых в микропроцессорных системах на базе микропроцессора КР580ВМ80А
для формирования управляющих сигналов и как буферный регистр данных.
Системный контроллер формирует управляющие сигналы RD WR RDIO WRIO INTA
по сигналам состояния микропроцессора а также обеспечивает прием и
передачу 8-разрядной информации между каналом данных микропроцессора по
выводам D7-DO и системным каналом по выводам DB7-DBO.
Таблица 4 Назначение выводов микросхемы
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DB4 DB7 Выход вход Канал данных системы
101D4 D7 Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и выдачей
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
Ucc Вход Напряжение питания +5В
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей системой управления. Каждый из трех каналов может быть
независимо настроен на работу в одном из шести режимов. Обмен информацией с
микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных. Максимальное значение счета в
В данном устройстве используется 3 ИМС таймеров - две (DD17 DD21) для
управления шестью каналами ЦАП и одна (DD26) для формирования тактовых
последовательностей для контроллера последовательного интерфейса К580ВВ51А
и также для формирования тактовых последовательностей для всех каналов
Каналы 0 и 1 микросхемы DD26 работают в режиме 2 (временная диаграмма
работы приведена на рис.4.) Коэффициент деления при тактовой частоте
системы 2МГц (кварцевый резонатор 18МГц) для канала О N=6667 (для скорости
передачи по последовательному интерфейсу. ЗООбод) Для канала 1: получить
коэффициент деления достаточный для получения на выходе частоты 5Гц (=10)
с помощью данного таймера невозможно однако можно получить частоту 40 Гц
(коэффициент деления N=200000040=50000) после чего и записывать в
регистры таймеров DD17 DD21 значения побитно сдвинутые влево на 3 бита
(что равноценно увеличению записываемого числе в 8 раз) и умноженные на 5
(это возлагается на программное обеспечение ЦПУ и не описывается т.к.
такая реализация несколько повышает универсальность устройства). При этом
возможности таймеров DD17 DD21 используются не полностью (максимальное
значение записываемое в регистры составит Nmax=98*40=3290 что почти в 20
раз меньше максимально возможного). Минимальное значение записываемое в
регистры составит Nmin=10*40=400
Все каналы таймеров DD17 DD21 работают в режиме 0. Временная диаграмма
работы таймера в этом режиме приведена на рис.5
Рис.4 Временная диаграмма работы таймера в режиме 2
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO ВходывыходыКанал данных
518 СОС1С2 Входы Синхронизация каналов 0-2
13 17 OUTO OUT1 OUT2 Выходы Сигналы каналов 0 1 2
14 16 CEO CE1.CE2 Входы Сигналы каналов 0 1 2
20 АО.А1 Входы Сигналы выбора каналов 0 1
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
6. Универсальный приёмопередатчик К580ВВ51А
Микросхема КР580ВВ51 - универсальный синхронно-асинхронный
приёмопередатчик (УСАПП) предназначен для аппаратной реализации
последовательного протокола обмена между микропроцессором К580ВМ80А и или
другим устройством способным запрограммировать данную микросхему на
требуемый режим работы и каналами передачи последовательной дискретной
ИМС преобразует параллельный код получаемый через ШД от центрального
процессора в последовательный поток символов со служебными битами и выдаёт
этот поток в последовательный канал связи с различной скоростью а также
выполняет обратное преобразование: последовательный поток символов - в
параллельное 8-разрядное слово. Передаваемая и получаемая информация при
необходимости может контролироваться на чётностьнечётность.
ИМС УСАПП может быть применена для реализации различных
последовательных интерфейсов (в т.ч. RS-232). Возможна работа ИМС в режимах
синхронного или асинхронного приёмапередачи.
Максимальная скорость передачиприёма информации 64Кбод минимальная не
В описываемом устройстве ИМС работает в режиме асинхронного
приёмапередачи на скорости ЗООбод (внутренний делитель частоты
синхронизации равен единице). Временные диаграммы работы УСАПП в названных
режимах приведены на рис.6 и рис.7. Для того чтобы запрограммировать ИМС
для работы в асинхронном режиме необходимо после сброса (сигналом SR или
программного) занести в ИМС инструкцию режима работы. В описываемом
устройстве это код 11111101 b=FDh (соответствует работе с двумя стоп-
битами с контролем по чётности длиной слова 8 бит в асинхронном режиме с
Асинхронный режим избран т.к. при обмене данными между ЦПУ и ППУ
пакеты имеют малую длину а также потому что это позволяет уменьшить
количество линий связывающих устройства (не требуется отдельная линия для
сигнала синхронизации). Два стоп-бита и контроль чётности используются для
повышения надёжности обмена. Длина слова в 8 бит выбрана потому что это
совпадает с разрядностью ШД процессора К580ВМ80.
После инициализации УСАПП управление работой ИМС осуществляется записью
командных инструкций и чтением слова состояния.
Рис.5 Временная диаграмма работы таймера в режиме 0
Рис.6 Временная диаграмма работы УСАПП К580ВВ51А в режиме асинхронной
Рис.7 Временная диаграмма работы УСАПП К580ВВ51А в режиме
асинхронного приёма.
7. D-регистр защелка КР580ИР82.
Микросхема КР580ИР82 - 8-разрядный адресный D-регистр-защёлка без
инверсии с тремя состояниями на выходе предназначен для связи
микропроцессора с системной шиной; обладает повышенной нагрузочной
ИМС состоит из восьми функционально одинаковых блоков и схемы
управления. Блок содержит D-триггер - «защёлку» и мощный выходной вентиль.
При помощи схемы управления производится опробирование записываемой
информации и управление третьим состоянием выходных вентилей. В зависимости
от состояния стробирующего сигнала STB ИМС может работать в двух режимах: в
режиме шинного формирователя и в режиме хранения (при высоком уровне
сигнала STB ИМС работает в режиме формирователя при низком - в режиме
Назначение выводов ИМС КР580ИР82
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 DO-D7 Вход Информационная шина
ОЕ Вход Разрешение передачи (управление
STB Вход Стробирующий сигнал
-19 Q7-QO Выходвход Информационная шина
Микросхема К572ПА1 - умножающий 10-разрядный ЦАП. Предназначен для
преобразования входного кода в выходной ток пропорциональный значению
входного кода и опорному напряжению подаваемому на вывод 15. В описываемом
устройстве применяется в типовом включении.
Назначение выводов ИМС К572ПА1
li Выход Аналоговый выход (прямой)
2 Выход Аналоговый выход (инверсный)
-13 DO-D9 Вход Цифровые входы
Uo6p Вход Образцовое напряжение
Ucc - Напряжение питания (+15В)
Roc Вход Вход для резистора обратной связи
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232.
Интерфейс RS232 - последовательный интерфейс предназначенный для
обмена информацией между различными цифровыми устройствами на скоростях от
до 9600 бод. В простейшей реализации интерфейса устройства соединяются
трёхжильным кабелем («Земля» «Входящие данные» «Исходящие
данные»).Возможно использование 4-й жилы -«Подтверждение готовности».
Логические уровни представляются напряжением ±12В.
К устройствам кабель подключается с использованием стандартного 25-
контактного разъёма. Используются контакты 0 («Земля») 2 («Исходящие
данные») 3 («Входящие данные»)
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ
Карта адресов памяти (в скобках приведены условные обозначения
которые применены на
блок-схемах алгоритмов и в программах):
00h-23FFh Диапазон адресов для вывода на ЦАПО (DACO)
00h-27FFh Диапазон адресов для задания масштабного
коэффициента ЦАПО (DACOC)
00h-33FFh Диапазон адресов для вывода на ЦАП1 (DAC1)
00h-37FFh Диапазон адресов для задания масштабного
коэффициента ЦАП1 (DAC1C)
00h-43FFh Диапазон адресов для вывода на ЦАП2 (DAC2)
00h-47FFh Диапазон адресов для задания масштабного
коэффициента ЦАП2 (DAC2C)
00h-53FFh Диапазон адресов для вывода на ЦАПЗ (DAC3)
00h-57FFh Диапазон адресов для задания масштабного
коэффициента ЦАПЗ (DAC3C)
00h-63FFh Диапазон адресов для вывода на ЦАП4 (DAC4)
00h-67FFh Диапазон адресов для задания масштабного
коэффициента ЦАП4 (DAC4C)
00h-73FFh Диапазон адресов для вывода на ЦАП5 (DAC5)
00h-77FFh Диапазон адресов для задания масштабного
коэффициента ЦАП5 (DAC5C)
00h Регистр данных 0-го канала таймера DD17
(соответствует ЦАПО) (TIMODO)
10h Регистр данных 1-го канала таймера DD17
(соответствует ЦАП1) (TIMOD1)
20h Регистр данных 2-го канала таймера DD17
(соответствует ЦАП2) (TIMOD2)
30h Регистр управляющего слова таймера DD17
00h Регистр данных 0-го канала таймера DD21
(соответствует ЦАПЗ) (TIM1 DO)
08h Регистр данных 1-го канала таймера DD21
(соответствует ЦАП4) (TIM1D1)
10h Регистр данных 2-го канала таймера DD2
(соответствует ЦАП5) (TIM 1D2)
18h Регистр управляющего слова таймера DD21 (TIM1CW)
Карта адресов устройств вводавывода:
C0h Регистр данных УСАПП. (COMD)
h Регистр управления УСАПП. (СОМС)
h Регистр данных 0-го канала таймера DD26 (TIM2DO)
h Регистр данных 1-го канала таймера DD26 (программирование
частота для таймеров DD17.DD21) (TIM2D1)
h Регистр данных 2-го канала таймера DD26
З0h Регистр управляющего слова таймера DD26 (TIM2CW)
При распределении адресного пространства использован метод
частичной дешифрации.
После включения ЦПУ и ППУ в ППУ происходит инициализация таймеров
затем сброс всех ЦАП и в последнюю очередь инициализация контроллера
последовательного интерфейса (К580ВВ51А) .После этого ППУ готово к работе и
воспринимает посылки от ЦПУ.
Посылки из ЦПУ в ППУ могут быть двух типов - командные или сообщения об
ошибке передачи. Сообщения об ошибке передачи имеют длину 1 байт (его
значение FFh) командные посылки имеют длину 4 байта:
Команда инициализации ЦАП:
-й байт: ООп - признак команды нициализации. 2-й байт: номер
-й байт: младший байт кода для ЦАП
-й байт: старший байт кода для ЦАП
-й байт: младший байт кода периода инициализации.
-й байт: старший байт кода периода инициализации.
Подпрограмма передачи управляющей посылки из ЦПУ считывает данные из
массива (в нём по порядку должны быть записаны 2-6 байты командной
посылки) который должен быть заполнен программой выполняющейся на ЦПУ.
Сообщения об ошибке передачи передаются когда при передаче информации
от ППУ в ЦПУ или обратно происходят ошибки передачи данных: ошибка формата
ошибка чётности или ошибка переполнения. Такие сообщения состоят из
единственного байта FFh. Более надёжные (и сложные) способы контроля
передачи данных не используются т.к. появление ошибок при передаче на
скорости 300 бод маловероятно вероятность же ошибок не корректируемых
применёнными средствами исчезающе мала.
После успешного получения командной посылки ППУ выполняет команду
(происходит фиктивное обращение к ячейке из области адресов одного из ЦАП
затем запускается соответствующий канал таймера) после чего отправляет в
ЦПУ пакет состоящий из четырёх байт. Формат пакета следующий:
-й байт: 00h- признак пакета с масштабным коэффициентом
-й байт: младший байт кода масштабного коэффициента.
-й байт: старший байт кода масштабного коэффициента.
Принятые данные записываются в массив в порядке поступления.
Блок-схемы алгоритмов работы устройства
В блок-схемах алгоритмов работы ППУ и в программах используются
следующие обозначения:
FlagAddr - начальный адрес области памяти из 6 байт в которой хранятся
флаги постоянной инициализации таймеров.
AppDataAddr - начальный адрес массива из пяти байт в который
записываются принимаемые от ЦПУ данные.
CoeffsAddr - начальный адрес области памяти из 12 байт В которой
подряд записаны двухбайтные коды масштабных коэффициентов ЦАП в порядке
возрастания номера ЦАП (запись в этот массив должна выполняться
подпрограммой обновления масштабных коэффициентов)
StackPtr -адрес вершины стека
В подпрограмме обновления масштабных коэффициентов ЦАП может быть
использован канал 2 таймера DD26 - для отслеживания временных интервалов
т.к. использованные ИМС таймеров позволяют программно считывать значения
счётчиков во время работы.
Рис. 9 Алгоритм отправки байта в ППУ
Рис. 10 Алгоритм принятия байта из ППУ
Рис. 8. Алгоритм программы выполняющейся в ППУ
Рис. 9. Алгоритм программы отправки байта в ППУ
Рис. 10. Алгоритм программы принятия байта из ППУ
1. Основная программа выполняемая в ППУ
Метка Команда Комментарий
MainBeginCALL Timerlnit Вызов подпрограммы инициализации таймеров
CALL COMInit Вызов подпрограммы инициализации УСАПП
CALL Вызов подпрограммы обновления масштабных
TimersRefresh коэффициентов ЦАП
MainLoop CALL DACReinit Вызов подпрограммы обновления масштабных
IN COMC Считывание слова состояния УСАПП
MOV BA Сохранение слова состояния в per. В
ANI 02h Выделение бита D1
JNZ Mainl Если байт поступил переход к обработке.
JMP MainLoop Возврат на начало
ANI 38h Выделение из слова состояния бит признаков
JZ Main2 Если флаги ошибок не взведены продолжается
CALL Retry Вызов подпрограммы сброса признака ошибки и
отправления запроса повторной передачи
Main2 IN COMD Считывание принятого байта
JZ MainS Если принятый байт - начало командной
посылки программа продолжается
CALL Send Иначе вызов подпрограммы передачи посылки с
масштабным коэффициентом
MainS CALL ReceiveAII Вызов подпрограммы получения остальных байт
JZ Main4 Если не было ошибок продолжение
CALL SendErReq Вызов подпрограммы передачи запроса о
повторной передаче команды
Main4 CALL DACReinit Вызов подпрограммы обновления масштабных
CALL DACInit Инициализация нужного ЦАП
CALL Timerlnit Инициализация соответствующего таймера
CALL Send Вызов подпрограммы повторной передачи
посылки с масштабным коэффициентом
JMP MainLoop Вызов подпрограммы передачи посылки с
2. Подпрограмма инициализации УСАПП
COM Init MVI A FDh Запись в аккумулятор байта FDh
OUT СОМС Вывод управляющего слова в регистр команд
LHLD StackPtr Загрузка в HL адреса вершины стека
SPHL Копирование его в SP
RET Возврат из подпрограммы
3. Подпрограмма инициализации таймеров
TimerlnitMVI A 34h Занесение в аккумулятор байта 34h
OUT TIM2CW Занесение управляющего слова в управляющий
OUT TIM2DO Занесение в РД 0-го канала таймера младшего
OUT TIM2DO Занесение в РД 0-го канала таймера старшего
MVI A74h Начало инициализации 1-го канала таймера
MVIA30h Начало инициализации 0-х каналов таймеров
MVI A70h Начало инициализации 1-х каналов таймеров
MVI ABOh Начало инициализации 1-х каналов таймеров
STA FlagAddr Обнуление флагов
4. Подпрограмма принятия 2-го и последующих байт командной посылки
ReceiveAIMVI B0 Обнуление счётчика полученных байт
LHLD AppDataAddr Загрузка в HL начального адреса области
памяти в которой будут сохраняться принятые
RecLoop IN COMC Считывание слова состояния УСАПП
AMI 02h Выделение признака поступления нового байта
JNZ Red Если байт поступил программа переход к
CALL Вызов подпрограммы переинициализации
TimersRefresh таймеров
JMP RecLoop Переход на начало цикла
Red IN COMD Считывание поступившего байта
STAXHL Сохранение принятого байта в ячейке памяти
INXHL Инкремент адреса по которому будет
записываться следующий байт
INRB Увеличение счётчика полученных байт
MVI A 05h Занесение в аккумулятор числа для сравнения
JNZ RecLoop Если В не равен 5 продолжение цикла
5. Подпрограмма сброса признаков ошибки и отправки запроса на
SendErReq IN COMD Считывание принятого байта из регистра
MVIA 15h Занесение управляющего слова для
сброса признаков ошибки в аккумулятор.
OUT COMC Занесение управляющего слова в упр. регистр
SndLoop IN COMC Считывание состояния УСАПП
ANIOIh Выделение признака готовности к передаче
JNZ Snd1 Если УСАПП готов продолжение
JMP SndLoop Переход на начало цикла
OUT COMD Занесение в РД УСАПП байта
сигнализирующего о необходимости повторной
6. Подпрограмма инициализации ЦАП
DACInit LHLD DACO Загрузка в HL адреса начала диапазона
адресов относящихся к ЦАПО
LXI DE 1000И Занесение в РП ВС числа 1000h
LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
CMP В Сравнить содержимое аккумулятора с номером
JZ DACI1 Если они равны закончить цикл
DADDE Сложение DE и HL
INRB Инкремент регистра В
DACI1 LDA AppDataAddr+1Загрузка в аккумулятор младшего байта кода
MOV EA Занесение его в Рг. Е
LDA AppDataAddr+2Загрузка в аккумулятор старшего байта кода
MOV DA Занесение его в Рг. D
DADDE Сложение DE и HL (рез-т помещается в HL)
MVI M OOh Фиктивное обращение к ячейке памяти
7. Подпрограмма инициализации таймера
TimerlnitIDA AppDataAddr+4Считывание младшего байта кода периода
инициализации в аккумулятор
JNZ Timlni Если байт был ненулевым продолжается
LDA AppDataAddr+5Считывание младшего байта кода периода
JNC Timlni Если байт был ненулевым продолжается
LHLD FlagAddr Загрузка в HL адреса начала массива флагов
ADDH А складывается с Н рез-т записывается в А
MOV HA Рез-т копируется в Н
MVI M1 Запись флага
Timlni LHLD TIMODO Загрузка в HL адреса РД 0-го канала ЦАПО
JC Timlni2 Переход если номер ЦАП больше 2
Timlni2 MVI B8h Mult=8h
SUI3 Уменьшить содержимое аккумулятора на 3
MOV DA Копирование аккумулятора в D
RLC Циклический сдвиг содержимого аккумулятора
ADI 30h Добавление 30h к содержимому аккумулятора
MOV LC В L копируется младшая часть адреса регистра
MOV M A Запись в регистр управления таймера
MVI L.OOh Обнуление L
DCRD Цикл в котором Addr=Mult*Num
LDA AppDataAddr+4Загрузка в аккумулятор младшего байта кода
периода инициализации
MOV MA Запись младшего байта кода периода
инициализации в РД таймера
LDA AppDataAddr+5Загрузка в аккумулятор старшего байта кода
MOV M A Запись старшего байта кода периода
ADDL Сложение L с аккумулятором
MOV LA Запись результата в L
MVI M 0 Сброс флага постоянной инициализации
8. Подпрограмма отправки посылки с масштабным коэффициентом
Send IN COMC Считывание слова состояния УСАПП
AMI 01 h Выделение признака готовности передатчика
JNZ Sendl Если передатчик готов - выход из цикла
CALL Переинициализация таймеров
JMP Send Переход на начало цикла
Sendl OUT COMD Запись в РД УСАПП байта признака начала передачи
JNZ SendS Цикл ожидания готовности передатчика
SendS LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
SendS LHLD CoeffsAddr Загрузка в HL начального адреса массива
ADDA.L Сложение аккумулятора и L
ADDA.L Сложение аккумулятора и L (Требовалось умножить на
MOV LA Копирование результата в L
MOVA.M Загрузка в аккумулятор младшего байта коэффициента
OUT COMD Передача младшего байта коэффициента
JNZ Send? Цикл ожидания готовности передатчика
Send? INX HL Увеличение адреса из которого будет читаться
i старший байт масштабного коэффициента
MOVA.M Загрузка в аккумулятор старшего байта масштабного
OUT COMD Передача старшего байта коэффициента
JNZ Send9 Цикл ожидания готовности передатчика
9. Подпрограмма переинициализации таймеров
TimersRefresLHLD FlagAddr Загрузка в HL адреса массива флагов
MVI E.OOh Сброс счётчика
TimRefd MOVA.M Загрузка очередного аккумулятор
JZ TimeRefrS Если флаг не установлен переход к концу цикла
PUSH HL Сохранить адрес в стеке
LHLD TIMODO Загрузка в HL адреса РД канала таймера DD17
CPI2 Сравнение счётчика с 2
RLC Сдвиг А влево на 6 бит
ADI 30h Увеличение аккумулятора ЗОН
MVI B.OOh Подготовка к записи Byte в РУ таймера
MOV MA Запись управляющего в РУ таймера
ADDL Цикл умножения
TimeRefrS MVI MFFh Запись максимальных значений в РД таймера
JNZ TimeRefrl Возврат на начало цикла
10. Подпрограмма обновления масштабных коэффициентов ЦАП
DACReinit MVI C5 Обнуление счётчика
LHLD DACOC Загрузка в HL адреса начала области адресов
отведённых для задания масштабного коэффициента
DACRel CALL GetNewCoeff Вызов подпрограммы определения нового
масштабного коэффициента для ЦАП номер
которого занесён в С (код этой подпрограммы на
приводится т.к. не задан алгоритм по которому
определяются масштабные коэффициенты.
Подпрограмма не должна модифицировать HL
возвращаемое значение должно находиться в
регистровой паре DE
PUSH HL Сохранение в стеке пары HL
DADDE Сложение DE и HL (Рез-т в HL)
MVI M.OOh Фиктивное обращение к ячейке
ADDH Увеличение HL на ЮООп
JNZ DACRel Если счётчик не нуль продолжение цикла
Обозначения применённые в тексте подпрограммы:
СОМС - адрес УВВ соответствующего РД УСАПП (предполагается что УСАПП
COMD - адрес УВВ соответствующего РУ УСАПП (предполагается что УСАПП
Предполагается также что прерывания от УСАПП не используются.
Data - адрес начала массива в котором по порядку находятся следующие
данные: номер ЦАП подлежащего инициализации младший байт кода выходного
напряжения ЦАП старший байт кода выходного напряжения ЦАП (его старшие 4
бита должны быть нулевыми)младший и старший байты кода периода
инициализации умноженного на 40 (т.к. за секунду таймером отсчитывается 40
InData - адрес начала массива в который будут помещены (по
порядку):номер ЦАП младший байт масштабного коэффициента старший байт
масштабного коэффициента
BeginExchangeMVI A00h Занесение в аккумулятор байта который
CALL SendByte Вызов подпрограммы отправки байта в ППУ
(в аккумуляторе находится сам байт)
MVI E.OOh Обнуление счётчика
ЕхсМ LHLD Data Загрузка в HL адреса по которому
находятся данные которые надо послать
DADDE HL=HL+C4eT4HK
MOV AM Загрузка в аккумулятор очередного
байта который надо отправить
INRE Инкремент счётчика
MOVA.E Счётчик копируется в аккумулятор
CPI5 Сравнение с количеством байт которые
JNZ ExcM Возврат на начало цикла если не все
MVI E00h Обнуление счётчика
Ехсп2 CALL ReceiveByte Вызов подпрограммы получения байта из
ППУ (полученный байт находится в
AMI 38h Выделение из слова состояния признаков
JZ Exch3 Если ошибок не было переход дальше
IN COMD Считывание байта принятого с ошибкой
MVI A.FFh Занесение в аккумулятор кода признака
JMP Exch2 Переход к повторному приёму
JNZ BeginExchangeЕсли принят признак запроса на
повторную передачу переход
LHLD InData Загрузка в HL адреса начиная с
которого будут размещены получаемые
MVI E3h Обнуление счётчика
Exch4 CALL ReceiveByte Получение очередного байта
MOV MA Сохранение его в ячейке памяти
INXHL Инкремент адреса
DCRE Декремент счётчика
JNZ Exch4 Продолжение цикла если не все байты
ANI 38h Выделение признаков ошибок
OUT COMC Сброс признаков ошибок
CALL SendByte Отправка запроса на повторную передачу
12. Подпрограмма отправки байта в ППУ
ANI 01h Цикл ожидания передатчика
OUT COMD Запись байта в РД УСАПП
13. Подпрограмма получения байта от ППУ
ReceiveByte IN COMC
ANI 02h Цикл ожидания готовности приёмника
IN COMD Считывание принятого байта в
14. Подпрограмма инициализации УСАПП в ЦПУ
OUT СОМС Сброс УСАПП
OUT СОМС Запись в РУ УСАПП слова режима
В этом курсовом проекте было разработано устройство которое может быть
использовано для формирования аналоговых сигналов с достаточно точным
уровнем и заданной длительностью по некоторой программе. Одно из применений
такого устройства - формирование управляющих сигналов для различных
устройств (например управление включением и мощностью электродвигателей
при подключении выходов устройства к достаточно мощным усилителям).
Возможны также другие применения.
В ходе проектирования был более детально изучен микропроцессорный
комплект К580 возможные схемотехнические решения на его основе а также
программирование на языке Ассемблер для процессора К580ВМ80.
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
УСАПП - универсальный синхронно-асинхронный приёмопередатчик
РД - регистр данных.
РУ - регистр управления
ИМС - интегральная микросхема
ЦАП - цифроаналоговый преобразователь
ОУ - операционный усилитель
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Мокрецов В.П. «Микропроцессоры и МПС». Учебное пособие. Часть 1.
Екатеринбург: УГТУ-УПИ 1999. 125с.
«Микропроцессоры и микропроцессорные комплекты интегральных микросхем» в
Справочник в 2 т В.-Б.Б. Абрайтис Н.Н. Аверьянов А.И. Белоус и др. Под
Шахнова. - М:Радио и связь 19*88 Т.1 -386с. ил.
Майоров В.Г.Гаврилов А.И. «Практический курс программирования
сорных систем» -М.Машиностроение. 1989. -272с.:ил.

icon Вар. 1.2.dwg

Вар. 1.2.dwg
Выводы 7111213 микросхемы DD6 подключить к цепи GNDn2. Выводы 78910111213 микросхемы DD13 подключить к цепи GNDn3. Выводы 5678910111213 микросхемы DD13 подключить к цепи GNDn4. Выводы 14 микросхем DD6 DD13 DD14 подключить к цепи +5V
Периферийное процессорное устройство.nСхема электрическая приципиальная
Тема: "Генератор звуковой последовательности
УрФУ им. первого Президента России Б.Н. ЕльцинаnКафедра ИТnгруппа РИВ-500212С

icon А21 (2).dwg

А21 (2).dwg

icon Текст.doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ 5
АЛГОРИТМЫ РАБОТЫ ЦПУ 6
1. Алгоритм инициализации адаптеров параллельного интерфейса 6
2. Алгоритм передачи блока из пяти байт 6
2. Алгоритм приема блока из пяти байт 9
4. Алгоритм работы ЦПУ 11
АЛГОРИТМЫ РАБОТЫ ППУ 14
1. Алгоритм инициализации адаптеров параллельного интерфейса 14
2. Алгоритм работы ППУ 14
3. Алгоритм определения коэффициентов для звуковой индикации 18
4. Алгоритм воспроизведения звуковой последовательности 18
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ 20
1. Функциональная схема центрального процессорного устройства 20
2. Функциональная схема периферийного процессорного устройства 22
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА 26
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ 27
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ 28
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 29
ТЕКСТЫ ПОДПРОГРАММ 30
1. Подпрограммы ЦПУ 30
2. Подпрограммы ППУ 34
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 41
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
включения и индикации включения одного из 5 устройств автоматики.
Устройства автоматики включаются по сигналам периферийного устройства
формируемым на основании информации поступившей от центрального
устройства. Индикация осуществляется подачей конкретного звукового сигнала
с одновременным отображением номера устройства на 7 сегментном индикаторе.
Звуковой сигнал соответствующий включаемому устройству представляет собой
непрерывную звуковую последовательность с параметрами: частоты звучания
0 2.0 2.2 кГц; длительности звучания любого тона 1.0 0.5 1.6. Их
численные значения не известны периферийной стороне и подлежат загрузке из
центрального процессорного устройства. В качестве времязадающего устройства
и формирователя звукового сигнала использовать БИС таймера КР580ВИ53 с
адресацией к ней как к ячейке памяти лежащей (лежащему) в поле адресов
периферийного процессора. Номера включаемых устройств автоматики и
соответствующие им конкретные виды звуковых последовательностей
(длительность и последовательность звучания каждого тона) определяются
программой выполняемой в центральном процессорном устройстве и передаются
периферийному процессору. Длительность звуковой индикации около 30 секунд.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 50 с. После генерации звуковой последовательности
в центральное процессорное устройство выдается сигнал (код включенного
устройства) по которому принимается решение о правильности выполненной
операции. При положительном решении управление передается подпрограмме
центрального процессорного устройства соответствующей номеру включенного
устройства автоматики после чего индикатор должен погаснуть.
Микропроцессор – это построенное на одной или нескольких БИССБИС
программно-управляемое устройство осуществляющее процесс обработки
информации и управление им. Этот термин по видимому самый модный в
современной микроэлектронике и вычислительной технике. Необычайная
популярность микропроцессоров объясняется тем что их появление привело к
внедрению вычислительной техники в самые разнообразные сферы жизни.
Универсальность микропроцессоров ведет к большей тиражности их производства
и следовательно к снижению их стоимости а это в свою очередь расширяет
круг потребителей и способствует увеличению числа задач решаемых с помощью
Микро-ЭВМ – это законченная вычислительная система построенная на
базе микропроцессора и размещенная в одной БИС (однокристальная микро-ЭВМ)
или нескольких БИС установленных на одной плате (одноплатная микро-ЭВМ).
Причем под законченной вычислительной системой следует понимать любое
устройство переработки цифровой информации включающее процессор память и
подсистему вводавывода информации независимо от его целевого назначения
конструктивного исполнения и способов программирования.
В микро-ЭВМ организуется процесс выполнения заданно программы и
самые разные задачи решаются путем выполнения последовательности команд
свойственных данному МП (входящих в его систему команд). Вычислительные
контрольно-измерительные или управляющие системы обрабатывающим элементом
которых служит микропроцессор относятся к числу микро-ЭВМ.
В последнее время никакие сложные технологические процессы немыслимы
без систем автоматического управления построенных на основе
микропроцессорной техники. Целью данного курсового проекта как раз и
является проектирование простейшей микропроцессорной системы которая
предназначалась бы для включения и индикации включения одного из нескольких
устройств автоматики.
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ
Система состоит из двух основных частей: центрального и периферийного
устройства которые связаны между собой двумя однонаправленными каналами
параллельного интерфейса Centronix. Оба устройства построены на основе 580-
го микропроцессорного комплекта и состоят из собственно самого
микропроцессора двух контроллеров параллельного интерфейса постоянного и
оперативного запоминающих устройств. Кроме того в составе ПУ есть блок для
включения и индикации включения одного из устройств автоматики. Блок
индикации включения состоит из устройства генерирующего звуковую
последовательность и устройства для индикации информации. Структурная схема
системы приведена на рис. 1.1.
Рис. 1.1 Структурная схема системы
АЛГОРИТМЫ РАБОТЫ ЦПУ
1. Алгоритм инициализации адаптеров параллельного интерфейса
Инициализация адаптеров заключается в установке портов А и С на ввод
либо на вывод в соответствии с интерфейсом (блоки 1 и 3). А также
установкой управляющих сигналов в 1 или в 0 (блоки 2 и 3).
Структурная схема алгоритма приведена на рисунке 2.1.
Рис. 2.1.Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса ЦПУ
2. Алгоритм передачи блока из пяти байт
В блоке 1 происходит инициализация начальных значений переменных N и K
(число переданных байт). В соответствии с протоколом обмена ЦПУ проверяет
наличие сигнала SLCT (блок 2) в случае его отсутствия переменной А (код
ошибки) присваивается значение 1 (блок 3) и происходит обработка ошибки
(блок 4) и переход к концу алгоритма. Если же сигнал SLCT присутствует то
проверяется наличие сигнала BUSY (блок 5) если сигнал BUSY равен 1 то
переменная N увеличивается на 1 (блок 18) и сравнивается с 255 (блок 19)
если они равны (приемник по каким то причинам не снимает сигнал BUSY в
течение длительного времени) то переменной А присваивается значение 2
(блок 20) происходит обработка ошибки (блок 21) и переход к концу
алгоритма. В противном случае снова проверяется наличие сигнала BUSY. В
случае если сигнал BUSY=0 то переменной N присваивается значение 0 (блок
). После чего нужный байт подготавливается и передается в линию (блок 7) и
формируется сигнал –STB=0 (блок 8) который говорит приемнику о том что
данные находятся в линии. После этого приемник проверяет наличие сигнала
ACKWLG (блок 9). Если он равен 0 то происходит увеличение переменной N на
(блок 14) и она сравнивается с 255 (блок 15). Если они не равны то снова
проверяется сигнал ACKWLG иначе переменной A присваивается значение 3
(блок 16) происходит обработка ошибки (блок 17) и переход к концу
алгоритма. В случае если сигнал -ACKWLG равен единице то устанавливается
сигнал –STB=1 (блок 10) переменная K увеличивается на 1 (блок 11) и
сравнивается с 5 (блок 12). Если они не равны (не все пять байт были
переданы) то переменной N присваивается значение 0 (блок13) и снова
проверяется сигнал SCLT приемника (блок 2). В случае если все пять байт
были переданы то происходит переход к концу алгоритма. Этот же алгоритм
используется периферийным устройством для передачи данных центральному
процессорному устройству.
Структурная схема алгоритма приведена на рисунке 2.2.
Рис 2.2. Структурная схема алгоритма передачи блока из пяти байт
3. Алгоритм приема блока из пяти байт
В блоке 1 происходит установка начальных значений переменных N=0 и K=0
(K – число полученных байт). В соответствии с протоколом обмена приемное
устройство проверяет наличие сигнала –STB (блок 2). В случае его отсутствия
переменная N увеличивается на 1 (блок 3) и сравнивается с255 (блок 4) если
они равны то переменной А присваивается значение 4 (блок 5) происходит
обработка ошибки и переход к концу алгоритма. Иначе снова проверяется
наличие сигнала –STB. Если –STB=0 то происходит прием байта из линии (блок
). Затем сигнал BUSY устанавливается равным 1 (блок 8) и полученный байт
запоминается (блок 9) после чего происходит установление сигнала ACKWLG=1
(блок 10). Далее происходит приостанов работы приемника чтобы сигнал
ACKWLG смог дойти до приемника (блок 11) затем сигнал ACKWLG
устанавливается равным 0 (блок 12) переменная K увеличивается на 1 (блок
) и сравнивается с 5 (блок 14). Если они не равны то устанавливается
сигнал BUSY=0 (блок 16) и снова проверяется сигнал –STB от передатчика
(блок 2) в противном случае устанавливается сигнал BUSY=0 (блок 15) и
происходит переход к концу алгоритма. Этот же алгоритм используется
периферийным процессорным устройством для приема данных от ЦПУ.
Структурная схема алгоритма приведена на рисунке 2.3.
Рис. 2.3. Структурная схема алгоритма приема блока из пяти байт
4. Алгоритм работы ЦПУ
В блоке 1 происходит инициализация адаптеров параллельного интерфейса.
В блоке 2 происходит установка начального значения переменной M=0. В блоке
происходит установка сигналов AUTOFD INIT SELIN в ноль. В блоке 4
центральное процессорное устройство подготавливает данные и передает их
периферийному (блок 5) далее ЦПУ получает эти данные от периферийного
(блок 6) и сравнивает переданные данные с полученными (блок 7). Если они не
совпадают то переменная М увеличивается на 1 (блок 9) и сравнивается с 8
(блок 10). Если они равны то переменной A присваивается значение 5 (блок
) происходит обработка ошибки (блок 14) и переход к концу алгоритма.
Если М не равно 5 то устанавливаются сигналы SELIN=1 и INIT=1 (блок 11)
которые говорят ППУ о том что блок данных содержит ошибку. Далее
происходит задержка (блок 12) и переход к блоку 3. Если же переданный и
полученный блоки равны то устанавливаются сигналы AUTOFD=1 и SELIN=1 (блок
) которые говорят ППУ что блок данных не содержит ошибки. Далее
происходит задержка (блок 16) и установка сигналов AUTOFD=0 SELIN=0.
Далее проверяется наличие сигнала SLCT от ППУ (блок 18). В случае его
отсутствия переменной А присваивается значение 6 (блок 19) происходит
обработка ошибки и переход к концу алгоритма. Иначе проверяется наличие
сигнала –STB (блок 21) если он отсутствует то управление переходит к
блоку 18. В случае если сигнал –STB пришел то данные принимаются из канала
связи (блок 22) и устанавливается сигнал BUSY (блок 23). Далее
устанавливаются сигналы ACKWLG=1 BUSY=0 (блок 24)и происходит задержка
(блок 25). После чего устанавливается сигнал ACKWLG=0 (блок 26). Далее
сравнивается полученный номер устройства и переданный (блок 27) в случае
если они равны то выполняются действия соответствующие номеру включенного
устройства (блок 28) и происходит переход к концу алгоритма. Если же они не
совпали то переменной А присваивается значение 7 (блок 29) происходит
обработка ошибки (блок 30) и переход к концу алгоритма.
Данные о номере включаемого устройства длительности и частоте
звучания передаются центральным процессорным устройством к периферийному в
виде блока из пяти байт:
байт: номер включаемого устройства;
3 байты: целая и дробная часть частоты звучания (кГц);
5 байты: целая и дробная часть длительности звучания (с);
Структурная схема алгоритма приведена на рисунке 2.4.
Рис. 2.4. Структурная схема алгоритма работы ЦПУ
АЛГОРИТМЫ РАБОТЫ ППУ
Структурная схема алгоритма приведена на рисунке 3.1.
Рис. 3.1. Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса
2. Алгоритм работы ППУ
В блоке 2 устанавливается начальное значение переменной N=0. Затем
происходит прием блока данных от ЦПУ (блок 3) и их ретрансляция обратно
(блок 4). Далее проверяется сигнал SELIN от ЦПУ (блок 5). Если он
отсутствует то переменная N увеличивается на 1 (блок 6) и сравнивается с
5 (блок 7). Если они равны то переменной А присваивается значение 8
(блок 8) происходит обработка ошибки (блок 9) и переход к концу алгоритма.
В противном случае происходит переход к блоку 5. Если же сигнал SELIN равен
то переменная N приравнивается нулю (блок 10) и происходит проверка
сигналов INIT и AUTOFD (блок 11). Если INIT=1 и AUTOFD=0 то данные были
приняты неверно в этом случае происходит переход к блоку 3. Если оба
сигнала равны нулю или единице то переменной А присваивается значение 9
(блок 12) происходит обработка ошибки (блок 13) и переход к концу
алгоритма. Если INIT=0 и AUTOFD=1 то происходит вычисление коэффициентов
для таймера-счетчика на основании информации поступившей от ЦПУ (блок 14)
включается устройство автоматики (блок 15) происходит отображение номера
устройства на семисегментном индикаторе (блок 16) и генерация звуковой
последовательности (блок 17).
После генерации звуковой последовательности происходит проверка
сигнала SLCT от ЦПУ (блок 18). Если он равен нулю то переменной А
присваивается значение 10 (блок 19) происходит обработка ошибки (блок 20)
и переход к концу алгоритма. Если сигнал SLCT=1 то в линию передается
номер включенного устройства (блок 21) посылается сигнал –STB=0 (блок 22)
и проверяется сигнал ACKWLG от ЦПУ (блок 23). Если сигнал ACKWLG=0 то
переменная N увеличивается на 1 (блок 26) и сравнивается с 255 (блок 27).
Если они равны то переменной А присваивается значение 11 (блок 28)
происходит обработка ошибки (блок 29)и переход к концу алгоритма. Иначе
происходит переход к блоку 23. Если сигнал ACKWLG равен 1 то происходит
выключение индикатора (блок 24). Далее устанавливается сигнал –STB=1 (блок
) и переход к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.2.
Рис. 3.2. Структурная схема алгоритма работы ППУ
3. Алгоритм определения коэффициентов для звуковой индикации
В блоке 1 происходит преобразование значений длительности из
двухбайтового формата в котором в старшем байте хранится целая часть числа
а в младшем – дробная в однобайтовый в котором значение хранится в виде
одного числа равного исходному умноженному на десять.
В блоках 2 и 3 происходит вычисление констант необходимых для
воспроизведения звуковой последовательности.
В блоке 4 определяется число звуков длительности T для обеспечения
звуковой индикации в течение времени L=25с.
Структурная схема алгоритма приведена на рисунке 3.3.
Рис. 3.3. Структурная схема алгоритма определения коэффициентов для
4. Алгоритм воспроизведения звуковой последовательности
В блоке происходит установка начального значения переменной k=0 (k –
число воспроизведенных звуков). В блоке 2 происходит инициализация таймера.
В блоке 3 в канал 0 таймера загружается значение N0 а в блоке 4 в канал 1
таймера загружается значение N1. В блоке 5 проверяется равно ли содержимое
канала 0 нулю. Если не равно то управление переходит к блоку 5 а если
равно то переменная k увеличивается на 1 (блок 6) и сравнивается с числом
звуков которое надо воспроизвести (блок 7) если они не равны то
управление переходит к блоку 3 иначе - к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.4.
Рис. 3.4. Структурная схема алгоритма воспроизведения звуковой
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ
1. Функциональная схема центрального процессорного устройства
Рис. 4.1. Функциональная схема центрального процессорного устройства
Система состоит из микропроцессора генератора тактовых импульсов
системного контроллера двух адаптеров параллельного интерфейса
оперативного и постоянного запоминающих устройств а также дешифраторов.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то что ШД
находится в режиме приема информации в МП) –WR (указывает на то что
процессор выдает информацию на шину данных) и SYNC (синхронизация
используется генератором тактовых импульсов для формирования строба STB).
Генератор тактовых импульсов формирует тактовые сигналы F1 и F2
сигнал STB который поступая на системный контроллер фиксирует состояние
шины данных микропроцессора сигнал сброса RESET.
Системный контроллер на основе информации получаемой из
микропроцессора формирует сигналы управления чтением и записью информации
в память –MR и -MW а также во внешние устройства –IOR и –IOW.
Адаптеры параллельного интерфейса используются для связи ЦПУ и ППУ.
Первый адаптер используется для передачи данных к ЦПУ а второй для приема
данных от него. Адаптеры параллельного интерфейса адресуются как внешние
устройства. Для их выбора используется дешифратор DC1 который на основе
сигналов -IOR -IOW и информации из линий A6 7 формирует сигнал выбора
одного из адаптеров если в этом есть необходимость. В соответствии с этим
будут использоваться следующие адреса внешних устройств:
h – порт А первого адаптера;
h – порт B первого адаптера;
h – порт С первого адаптера;
h – управляющее слово первого адаптера;
h - порт B второго адаптера;
h – порт С второго адаптера;
h – управляющее слово второго адаптера.
Микросхемы RAM и ROM адресуются как устройства памяти. Для их выбора
используется дешифратор DC2 который на основе сигналов –MR -MW и
информации из линий A1211 формирует сигнал выбора микросхемы RAM или ROM
если в этом есть необходимость. В соответствии с этим будут использоваться
следующие адреса памяти:
00h-07FFh – адреса ПЗУ;
00h-0FFFh – адреса ОЗУ.
Дешифратор DC1 предназначен для формирования сигналов выбора кристалла
для запоминающих устройств адресуемых как внешние устройства а DC2 – для
запоминающих устройств адресуемых как ячейки памяти.
2. Функциональная схема периферийного процессорного устройства
Функциональная схема периферийного процессорного устройства приведена
Рис. 4.2. Функциональная схема периферийного процессорного устройства
оперативного и постоянного запоминающих устройств а также из ряда
логических схем для включения устройства автоматики звуковой сигнализации
индикации включения одного из устройств автоматики и селекции адресов
памяти и внешних устройств.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то
что ШД находится в режиме приема информации в МП) –WR (указывает на то
что процессор выдает информацию на шину данных) и SYNC (синхронизация
Адаптеры параллельного интерфейса адресуются как внешние устройства.
Для их выбора используется дешифратор DC1 который на основе сигналов -IOR
-IOW и информации из линий A6 7 формирует сигнал выбора одного из
адаптеров если в этом есть необходимость. Дешифратор DC1 также
вырабатывает управляющие сигналы для включения одного из устройств
автоматики и для включения и выключения семисегментного индикатора. На
этапе инициализации происходит вырабатывание сигнала -S2 вследствие чего
сигналы CS для дешифратора DC3 и STB для регистра RG будут равны 1 и они
будут оставаться равными единицами после прекращения подачи сигнала –S2.
Для включения устройства автоматики и индикации его включения на шину
данных помещается номер требуемого устройства и вырабатывается сигнал –S1.
Вследствие этого сигналы CS для дешифратора DC3 и STB для регистра RG будут
равны нулю. Сигнал СS низкого уровня разрешит работу дешифратора который
преобразует номер устройства в двоичном виде в код для семисегментного
индикатора и произойдет индикация включения. Сигнал STB низкого уровня
вызовет запоминание текущего состояния шины данных. При подаче сигнала –S1
также произойдет выбор дешифратора DC4 в результате чего дешифратор
преобразует номер устройства с шины данных и подаст сигнал на одно из
устройств автоматики. Индикация включения будет происходит даже после
прекращения подачи сигнала –S1. При подаче сигнала –S2 сигналы CS и STB
установятся в единицу что вызовет прекращение индикации включения.
В ЦПУ будут использоваться следующие адреса внешних устройств:
h – порт А второго адаптера;
h – управляющее слово второго адаптера;
h – используется для включения устройства автоматики и индикации
C0h – используется для прекращения индикации включения.
если в этом есть необходимость.
Таймер используется для формирования звукового сигнала. Обращение к
таймеру будет происходить как к ячейке памяти.
В ППУ будут использоваться следующие адреса памяти:
00h-0FFFh – адреса ОЗУ;
00h – счетчик 0 таймера;
01h – счетчик 1 таймера;
02h – счетчик 2 таймера;
03h – управляющее слово таймера;
И под ПЗУ и под ОЗУ выделено по два килобайта памяти.
запоминающих устройств адресуемых как ячейки памяти. Дешифратор DC3
предназначен для преобразования двоичного кода в код для семисегментного
индикатора. Дешифратор DC4 предназначен для формирования сигнала который
включал бы одно из устройств автоматики.
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА
Для обмена информацией между центральным и периферийным процессорными
устройствами используется интерфейс построенный на основе интерфейса
Centronix. Так как Centronix является односторонним интерфейсом то для
обеспечения двунаправленной передачи данных используется два канала
которые функционируют по стандартам этого интерфейса. Функциональная схема
канала передатчика ЦПУ – приемник ППУ приведена на рис. 2.1.
Рис 5.1. Схема канала передатчик ЦПУ – приемник ППУ
При наличии сигнала SLCT источник проверяет состояние сигнала BUSY и
если он сброшен выставляет данные на линии данных и выдает сигнал -STB.
Приемник по сигналу -STB считывает данные и устанавливает сигнал BUSY.
После окончания обработки данных приемник выдает сигнал ACKWLG и снимает
сигнал BUSY. Так как при обмене в линии связи могут происходить ошибки то
после получения информации приемником он отправляет ее обратно
передатчику. Передатчик сравнивает ее с переданной информацией и по
результатам сравнения устанавливает либо сигналы AUTOFD=1 INIT=0 SELIN=1
в случае если информация была получена приемником без ошибок либо сигналы
AUTOFD=0 INIT=1 SELIN=1 в противном случае.
Схема канала приемник ЦПУ- передатчик ППУ не отличается от приведенной
выше за исключением того что сигналы AUTOFD INIT и SELIN отсутствуют.
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ
В соответствии с техническим заданием комплекс был построен на базе
микропроцессорного комплекта КР580. Поэтому были использованы следующие БИС
этого комплекта: микропроцессор - КР580ВМ80А генератор тактовых импульсов
– КР580ГФ24 системный контроллер – КР580ВК28 адаптеры параллельного
интерфейса – КР580ВВ55 таймер – КР580ВИ53 шинные формирователи для шины
В качестве оперативного и постоянного запоминающих устройств были
использованы микросхемы КР537РУ10 и КР573РФ2. Они обе выполнены по ТТЛ-
технологии и имеют емкость 16Кбит (2К*8).
Для выбора устройств микропроцессорного комплекта применяются
логические микросхемы серии К155 выполненные по ТТЛ технологии. Для
построения комплекса были использованы следующие логические микросхемы:
К155ЛИ1 (4-2И) К155ЛЛ1 (4-2ИЛИ) К155ЛН1 (6 НЕ) К155ИД4 (дешифратор
который использовался в схемах селекции адреса) К155ИД12 (дешифратор
который используется для включения одного из устройств автоматики).
Для индикации включения используется семисегментный индикатор АЛС-
3А а для преобразования номера устройства из двоичного кода в код для
семисегментного индикатора применяется дешифратор К514ПР1 (серия К514
разработана для управления индикаторами и поэтому никаких дополнительных
согласующих микросхем не требуется).
Для звуковой сигнализации используется пьезоэлектрический излучатель
ЗП1 который может подключаться прямо к одному из выходов таймера.
Для подавления высокочастотных помех по цепям питания применяются
конденсаторы емкостью 002мкФ которые включаются между выводом +5V
микросхем и шиной GND в непосредственной близости от микросхемы.
Для ограничения входных токов микросхем при формировании на их входах
состояний логической единицы применяются резисторы с сопротивлением 1 кОм.
Для подстройки кварцевого резонатора используется конденсатор емкостью
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ
ЦПУ Адаптер 1 Интерфейс ППУ Адаптер 2
(передатчик) Номер контакта Сигнал (приемник)
PA7-0 2-9 D0 D7 PA7-0
Рис. 7.1 Схема соединения первого адаптера ЦПУ и второго адаптера ППУ
ЦПУ Адаптер 2 Интерфейс ППУ Адаптер 1
(приемник) Номер контакта Сигнал (передатчик)
Рис. 7.2 Схема соединения второго адаптера ЦПУ и первого адаптера ППУ
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Для воспроизведения одиночного звука заданной длительности и частоты
используется два канала таймера: канал 0 использован для генерации
прямоугольных импульсов заданной частоты а канал 1 – для задания
необходимой длительности.
Канал 0 программируется в режим 3 – генерация прямоугольных сигналов
со скважностью 2 (меандр). Выход имеет высокий уровень в течение NT2 если
N четное или (N+1)T2 если N нечетное (здесь N – число записанное в
счетчике 0 T – период импульсов синхронизации канала 0). В качестве
импульсов синхронизации используется синхропоследовательность с выхода С
генератора тактовых импульсов с частотой F=2 Мгц. Таким образом для
генерации звука частотой F необходимо загрузить счетчик 0 двоичным числом
Канал 1 программируется в режим 0 – прерывание по окончании счета. В
этом режиме по окончании отсчета N1 тактов синхронизации на входе
генерируется сигнал высокого уровня тогда как в процессе счета выходной
сигнал – низкоуровневый. Этот сигнал вместе с сигналом с выхода канала 0
поступают на элемент 2-ИЛИ-НЕ который разрешает генерацию звука лишь при
низкоуровневом сигнале с выхода первого канала. В качестве импульсов
синхронизации используется последовательность импульсов с выхода канала 0.
Поэтому период импульсов с выхода канала 1 будет определяться как:
где N1 – число загружаемое в канал1 F0 – требуемая частота звучания
(частота сигнала с выхода канала 0).
Тогда для обеспечения заданной длительности T необходимо загрузить в
По окончании отсчета числа в счетчике 1 на выходе канала 1
установится сигнал высокого уровня после чего звучание автоматически
После занесения в таймер значений N0 и N1 необходимо в цикле проверять
содержимое счетчика 1 как только его содержимое станет равным нулю
допустимо воспроизведение следующего звука.
Подпрограмма инициализации адаптеров параллельного интерфейса ЦПУ
MVI управляяющее слово: режим0 порт А – вывод порт
С7-4 -ввод порт PC3-0 – ввод
OUT 03h ;03h – адрес управляющего слова первого адаптера
MVI управляющее слово: режим0 порт А – ввод порт
С7-4 -вывод порт PC3-0 – вывод
OUT 43h ;43h – адрес управляющего слова второго адаптера
OUT 03h ; установка сигнала STB=1
OUT 03h ; установка сигнала INIT=0
OUT 03h ; установка сигнала AUTOFD=0
OUT 03h ; установка сигнала SELIN=0
OUT 43h ; установка сигнала SLCT=1
OUT 43h ; установка сигнала BUSY=0
OUT 43h ;установка сигнала ACKWLG=0
Подпрограмма передачи блока из пяти байт
В регистре B будет хранится значение переменной N а в регистре С
будет храниться значение переменной K.
Значение errcode – указывает на адрес в памяти по которому хранится
номер ошибки. Значение data1 – указывает на адрес в памяти начиная с
которого хранится блок данных которые надо передать.
IN 02h ;поместить в А содержимое порта С первого адаптера
ANI 00010000b ;анализ четвертого бита содержимого А
JNZ Labeпереход если SLCT=1
LXI Herrcode ;загрузка в пару HL адреса по которому хранится код
MVI M1 ;установка номера ошибки
CALL error ;обработка ошибки
ANI 00100000b ;анализ пятого бита содержимого А
JZ Labeпереход если BUSY=0
JNZ Labeпереход если N!=255
MOV AM ;поместить байт который надо передать в аккумулятор
OUT 00h ;поместить данные в порт А
OUT 03h ;установка сигнала STB=0
IN 02h ; поместить в А содержимое порта С первого адаптера
ANI анализ шестого бита аккумулятора
JNZ Labeпереход если сигнал ACKWLG!=0
OUT 03h ;установить сигнал STB=1
INR C ;увеличить число переданных байт
INX H ;сформировать адрес следующего байта который будет передан
CPI 5d ;сравнить число переданных байт с пятью
JZ Labeесли передано пять байт то переход
Подпрограмма приема блока из пяти байт
номер ошибки. Значение data2 – указывает на адрес в памяти начиная с
которого хранится блок данных который получает приемное устройство.
ANI 00000001b ;проанализировать значение нулевого бита аккумулятора
JZ Labeпереход если STB=0
MVI M4 ;запись по адресу errcode номера ошибки
IN 00h ;поместить данные из порта А первого адаптера в аккумулятор
MOV MA ;записать полученный байт в память
OUT 03h ;установить сигнал BUSY=1
OUT 03h ;установить сигнал ACKWLG=1
Labeорганизация задержки на 41мкс (82 такта)
OUT 03h ;установить сигнал ACKWLG=0
INR C ;увеличение числа принятых байт
INX H ;сформировать адрес следующего принятого байта
CPI 5d ;сравнить число полученных байт с пятью
JZ Labeпереход если были приняты все пять байт
OUT 03h ;установить сигнал BUSY=0
Подпрограмма работы ЦПУ
Значение data1 указывает на адрес начиная с которого будут храниться
данные для передачи data2 – указывает на адрес начиная с которого будут
храниться принимаемые данные errcode – адрес по которому хранится номер
ошибки nomer – адрес по которому хранится номер включаемого устройства.
OUT 03h ;Установить сигнал AUTOFD=0
OUT 03h ;Установить сигнал SELIN=0
OUT 03h ;Установить сигнал INIT=0
CALL Pered ;передать блок данных
CALL Prпринять блок данных
MOV AM ;поместить в аккумулятор содержимое ячейки памяти на которую
CMP M ;сравнить переданный и полученный байты
JNZ Labeпереход если байты не равны
INX H ;инкремент адреса Data2
INX H ;инкремент адреса Data1
INR B ;инкремент числа правильных байт
CPI 5d ;сравнение числа правильных байт с пятью
JZ Labeпереход если блоки данных совпадают
JMP Labeпереход на проверку следующего байта в блоке
INR C ;инкремент числа ошибок
CPI 8d ;сравнение числа ошибок с 8
JZ Labeпереход если совершено 8 неудачных попыток передать
OUT 03h ;установить сигнал SELIN=1
OUT 03h ;установить сигнал INIT=1
JMP Labeпереход на новый прием блока данных
CALL error ;вызов подпрограммы обработки ошибок
OUT 03h ;установить сигнал AUTOFD=1
OUT 03h ;установить сигнал AUTOFD=0
OUT 03h ;установить сигнал SELIN=0
ANI 00010000b ;анализ 4 бита аккумулятора
ANI 00000001b ;анализ первого бита аккумулятора
JNZ Labeпереход если STB=1
OUT 42h ;установить сигнал BUSY=1
OUT 42h ;установить сигнал ACKWLG=1
OUT 42h ;установить сигнал ACKWLG=0
OUT 42h ;установить сигнал BUSY=0
CMPM ;сравнить присланный номер устройства и номер хранящийся в
JZ Labeпереход если они равны
CALL avtomat ;вызов подпрограммы выполняющей действия в
соответствии с номером устройства
Подпрограмма инициализации адаптеров параллельного интерфейса ППУ
OUT 43h ; 43h – адрес управляющего слова второго адаптера
Подпрограмма работы ППУ
Значение data2 указывает на адрес начиная с которого будут храниться
принимаемые данные для передачи errcode – адрес по которому хранится
номер ошибки. В регистре B будет храниться значение переменной N.
CALL PИнициализация адаптеров параллельного интерфейса
CALL PrПрием блока данных
CALL Pered ;Отправка блока данных
ANI 00001000b ;Анализ третьего бита аккумулятора
JNZ LabeПереход если сигнал SELIN=1
JZ Labeпереход если N=255 (сигнал SELIN долгое время не
ANI 00000100b ;Анализ второго бита аккумулятора (сигнал AUTOFD)
JNZ Labeпереход если AUTOFD=1
ANI 00000010b ;Анализ первого бита аккумулятора (сигнал INIT)
JNZ Labeпереход если INIT=1 и AUTOFD=0
CALL eror ;вызов подпрограммы обработки ошибок
ANI 00000010b ;Анализ второго бита аккумулятора (сигнал INIT)
JZ LabeПереход если AUTOFD=1 и INIT=0
JMP Переход если AUTOFD=1 и INIT=1
CALL coef ;вычисление коэффициентов для звуковой индикации
OUT C0h ;инициализация блока индикации
OUT 80h ;включение индикатора и устройства автоматики
CALL sound ;проиграть звуковую последовательность
ANI 00010000b ;анализ четвертого бита аккумулятора (сигнал SEL)
JNZ Labeпереход если SEL=1
OUT 00h ;отправить номер устройства
OUT 03h ;установить сигнал STB=0
ANI 01000000b ;анализ шестого бита аккумулятора (сигнал ACKWLG)
JZ Labeпереход если ACKWLG=0
OUT C0h ;выключить индикатор
CPI FFh ;сравнить N и 255
Подпрограмма определения коэффициентов для таймера:
Значения Fn и Tn указывают на адреса в памяти по которым хранятся
значения F’ и T’. Значения N01 N02 – на адреса в памяти по которым
хранится старший и младший байт коэффициента N0. Значения N11 N12 – на
адреса в памяти по которым хранятся старший и младший байт коэффициента
N1. Значение number – на адрес по которому хранится число звуков которое
надо воспроизвести для обеспечения заданной длительности. Значение Data2 –
на адрес по которому хранится принятый блок данных.
Labeв регистре C теперь находится целая часть от деления 200 на
MOV CA ;в регистре С теперь хранится целая часть от деления 200 на
MOV MD ;в регистре D находится старший байт значения N0
MOV ME ;в регистре E находится младший байт значения N0
MOC CA ;в регистре С теперь хранится T’*10
MOV MD ;в регистре D хранится старший байт значения N1
MOV ME ;в регистре E хранится младший байт значения N2
;определение количества звуков
Подпрограмма воспроизведения звуковой последовательности
Значения N01 N02 – на адреса в памяти по которым хранится старший и
младший байт коэффициента N0. Значения N11 N12 – на адреса в памяти по
которым хранятся старший и младший байт коэффициента N1. Значение number –
на адрес по которому хранится число звуков которое надо воспроизвести для
обеспечения заданной длительности. В регистре B будет храниться число
воспроизведенных звуков.
OUT 1003h ;инициализация нулевого канала таймера (двоичный счет
режим 3 обращение к младшему а затем к
OUT 1000h ;загрузка в канал 0 значения N0
OUT 1003h ; инициализация первого канала таймера (двоичный счет
режим 1 обращение к младшему а затем к
OUT 1001h ;загрузка в канал 1 начального значения N1
;проверка содержимого канала 1
CPI 0d ;сравнить содержимое младшего байта канала 1 с нулем
JNZ Labeпереход если содержимое не равно нулю
CMP B ;сравнить число воспроизведенных звуков с требуемым
JNZ Labeпереход если они не равны
В ходе курсового проектирования было спроектировано микропроцессорное
устройство состоящее из центрального и периферийного процессорных
устройств. Устройство предназначено для включения и индикации включения
одного из семи устройств автоматики. При этом центральное процессорное
устройство подготавливает номер устройства и параметры звуковой
последовательности а затем передает их периферийному процессорному
устройству которое включает устройство автоматики и осуществляет индикацию
включения путем отображения номера устройства на семисегментном индикаторе
и проигрыванием звуковой последовательности. Центральное и периферийное
процессорные устройства связаны между собой интерфейсом Centronix.
Спроектированная система вряд ли найдет какое-либо практическое
применение из-за использования устаревшего микропроцессорного комплекта. К
тому же для выполнения поставленной задачи можно было бы разработать более
простую систему (например использовать только один адаптер параллельного
интерфейса или вообще отказаться от периферийного процессорного
Но в ходе выполнения этого курсового проекта были получены навыки по
проектированию простейших микропроцессорных устройств которые могут
пригодиться в будущем при разработке сложных микро-ЭВМ построенных на базе
более современных микропроцессорных комплектов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и мини-ЭВМ. Л.:
Энергоатомиздат 1984. 376 с.
Иванов В.И. Аксенов А.И. Юшин А.М. Полупроводниковые оптоэлектронные
приборы: справочник. М.: Энергоатомиздат 1984. 184 с.
Майоров В.Г. Гаврилов А.И. Практический курс программирования
микропроцессорных систем. М.: Машиностроение 1989. 272 с.
Мячев А.А. Интерфейсы систем обработки данных. М.: Радио и связь 1984.
Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги: справочник
т.4. М.: КубК-а 1997. 576 с.
т.2. М.: КубК-а 1997. 640 с.
Рахимов Т.М. Справочник по микросхемам серии К155. Новосибирск 1991.
Угрюмов Е. П. Цифровая схемотехника. СПб.: БХВ-Петербург 2001. 528 с.
Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматического
управления. Л 1987. 640с.
Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных
схем: справочник т.1. М.: Высш. шк. 1988. 159с.
ПРИЛОЖЕНИЕ 1. ПЕРИФЕРИЙНОЕ ПРОЦЕсСОРНОЕ УСТРОЙСТВО. ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
Адаптер параллельного интерфейса
Блок включения устройств автоматики
Устройства автоматики
Семисегментный индикатор
Устройство для воспроизведения звуков
Установка управляющих сигналов первого адаптера: STB=1 AUTOFD=0 INIT=0
Инициализация первого адаптера:
группа А – вывод C7-4 – ввод С3-0 -вывод
Инициализация второго адаптера:
Группа А – ввод C7-4 – вывод C3-0 -ввод
Установка управляющих сигналов второго адаптера: SLCT=1 BUSY=0 ACKWLG=0
Включить устройство автоматики
Вычисление коэффициентов для звуковой индикации
Обработка ошибки ошибкуиошибку
Проверить сигналы INIT AUTOFD
Установка управляющих сигналов первого адаптера: -STB=1
Сравнить число воспроизведенных звуков с необходимым
Проверить содержимое канало0
Загрузить в канал 1 значение N1
Загрузить в канал 0 значение N0
Инициализация таймера: канал0- режим3 канал1 – режим 0
Вычисление необходимого числа звуков для обеспечения заданной длительности
сигнализации (целая часть от деления 250 на T’)
Вычисление значения N1=10*F’T’
Вычисление значения N0=(200F’)*100
Преобразование значений длительности и частоты из двухбайтового формата в
однобайтовый (вычисление F’ и T’)
Установить сигнал –STB=0
Установка управляющих сигналов второго адаптера SLCT=1 BUSY=0 ACKWLG=0
Проверить сигнал –STB передатчика
Получить байт из линии
Установить сигналы AUTOFD=1 SELIN=1
Установить сигналы INIT=1 SELIN=1
Сравнить переданный и полученный блоки
Получить блок данных
Передать блок данных
Подготовить блок данных
Установить сигналы AUTOFD=0 INIT=0 SELIN=0
Инициализация переменных
Инициализация адаптеров параллельного интерфейса
Выполнение действий соответствующих номеру включенного устройства
Сравнить номера включенного устройства и устройства которое требовалось
Установить сигнал BUSY=1
Получить код включенного устройства
Проверить сигнал STB
Проверить сигнал SLCT от ППУ
Установить сигнал ACKWLG=1
Установить сигнал BUSY=0
Установить сигнал ACKWLG=0
Установить сигнал –STB=1
Проверить сигнал ACKWLG от ЦПУ
Поместить в линию номер устройства
Проверить сигнал SEL от ЦПУ
Проверить сигнал SELIN от ЦПУ
Проверить сигнал ASKWLG приемника
Подготовить и поместить байт в линию
Проверить сигнал BUSY приемника
Проверить сигнал SLCT от приемника

icon Текст (17).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА ФОРМИРОВАНИЯ АНАЛОГОВЫХ СИГНАЛОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ 6
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ. 8
1 Микропроцессор К580ВМ80 8
2. Генератор тактовых импульсов КР580ГФ24 9
3. Шинный формирователь КР580ВА86 9
4. Системный контроллер КР580ВК28 10
5. Таймер КР580ВИ53 10
6. Универсальный приёмопередатчик К580ВВ51А 12
7. D-регистр защелка КР580ИР82. 14
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232. 16
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ 17
ОПИСАНИЕ РАБОТЫ ППУ 19
Блок-схемы алгоритмов работы устройства 19
1. Основная программа выполняемая в ППУ 23
2. Подпрограмма инициализации УСАПП 24
3. Подпрограмма инициализации таймеров 24
4. Подпрограмма принятия 2-го и последующих байт командной посылки 25
5. Подпрограмма сброса признаков ошибки и отправки запроса на повторную
6. Подпрограмма инициализации ЦАП 25
7. Подпрограмма инициализации таймера 26
8. Подпрограмма отправки посылки с масштабным коэффициентом 27
9. Подпрограмма переинициализации таймеров 28
10. Подпрограмма обновления масштабных коэффициентов ЦАП 29
11. Подпрограмма предназначенная для обмена с ППУ (выполняется на ЦПУ)
12. Подпрограмма отправки байта в ППУ 30
13. Подпрограмма получения байта от ППУ 30
14. Подпрограмма инициализации УСАПП в ЦПУ 30
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 33
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных интерфейсом
RS-232. В качестве контроллеров интерфейса использовать БИС КР580ВВ51 с
адресацией к ним как к ячейкам памяти. Комплекс предназначен для
формирования аналоговых напряжений и содержит 7 ЦАП с адресацией к ним как
к внешним устройствам лежащим в поле адресов периферийного процессора.
Значения напряжений и номера ЦАП подлежащих инициализации а также время
в течение которого аналоговое напряжение должно присутствовать на выходе
данного канала (период инициализации Т) определяются программой
выполняемой в центральном процессорном устройстве и передаются
периферийной стороне в виде единого блока. Период инициализации любого ЦАП
составляет Т секунд и может быть различным для всех ЦАП. Численные значения
Т лежат в пределах 21-95 с точностью 05 с. После завершения инициализации
любого ЦАП напряжение на его выходе должно равняться нулю. Масштаб
выходного напряжения любого ЦАП К=1 и остается постоянным в течение всего
периода инициализации Т но может изменяться от периода к периоду. Его
конкретное значение зависит от программы выполняемой периферийным
процессором при этом значения всех масштабных коэффициентов в каждый
период инициализации передаются в фиксированные ячейки ОЗУ центрального
процессорного устройства. Процедура инициализации всех ЦАП полностью
организуется периферийным процессором. Наличие в блоке данных Т=0 для каких-
либо ЦАП означает что период инициализации продолжается до поступления
новых данных от центрального процессорного устройства. Периодичность
обращения центрального процессорного устройства к периферийному не менее 2-
х минут. В качестве времязадающего устройства использовать БИС таймера
КР580ВИ53 с адресацией к ней как к ячейке памяти лежащей в поле адресов
периферийного процессора.
Сигнал определяется как напряжение или ток который может быть
передан как сообщение или как информация. По своей природе все сигналы
являются аналоговыми будь то сигнал постоянного или переменного тока
цифровой или импульсный. Тем не менее принято делать различие между
аналоговыми и цифровыми сигналами. Цифровым сигналом называется сигнал
определённым образом обработанный и преобразованный в цифры. Обычно эти
цифровые сигналы связаны с реальными аналоговыми сигналами но иногда между
ними и нет связи. В качестве примера можно привести передачу данных в
локальных вычислительных сетях (LAN) или в других высокоскоростных сетях .В
случае цифровой обработки сигнала (ЦОС) аналоговый сигнал преобразуется в
двоичную форму устройством которое называется аналого-цифровым
преобразователем (АЦП). На выходе АЦП получается двоичное представление
аналогового сигнала которое затем обрабатывается арифметическим цифровым
сигнальным процессором (DSP). После обработки содержащаяся в сигнале
информация может быть преобразована обратно в аналоговую форму с
использованием цифро-аналогового преобразователя (ЦАП). Другой ключевой
концепцией в определении сигнала является тот факт что сигнал всегда
несет некоторую информацию. Это ведет нас к ключевой проблеме обработки
физических аналоговых сигналов – проблеме извлечения информации.
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ
Комплекс состоит из центрального и периферийного процессорных устройств
соединённых интерфейсом RS-232. На следующих двух страницах приведены
структурные схемы центрального и периферийного процессорных устройств.
В ППУ используются следующие БИС:
К580ВМ80 - однокристальный центральный процессор.
К580ГФ24 - генератор тактовых последовательностей с кварцевой
стабилизацией частоты.
К580ВК28 -системный контроллер.
К580ВВ51 - контроллер последовательного интерфейса совместимого с RS-
К580ВА86 - шинные формирователи. Введены для повышения нагрузочной
К580ВИ53 -трёхканальные программируемые таймеры.
К580ИР82 - регистры-защёлки введённые для фиксации данных на входах ЦАП.
К572ПА1 - 10-разрядные ЦАП.
К573РФ41 - ИМС ПЗУ 64кбит с организацией 4к*8
К565РУ2 - ИМС статического ОЗУ.
Также в ППУ использовано несколько ИМС малой степени интеграции - К155ЛАЗ
(4 двухвходовых элемента И-НЕ) ОУ К153УДЗ дешифратор К155ИД10.
Функциональная схема ППУ приведена на рис.3. Принципиальная схема
устройства прилагается.
Центральное процессорное устройство может быть реализовано аналогично
его отличие состоит в отсутствии дешифратора адреса т.к. достаточно
использовать 4 старших линии ША для идентификации ИМС к которой требуется
обратиться а также отсутствием двух таймеров задающих интервалы времени
для блоков ЦАП и самих блоков ЦАП.
Рис. 1. Структурная схема ППУ
Рис. 2. Простейшая структурная схема ППУ
Рис. 3. Функциональная схема ППУ
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ.
1 Микропроцессор К580ВМ80
ИМС КР580ВМ80А - функционально-законченный однокристальный параллельный 8-
разрядный микропроцессор с фиксированной системой команд применяется в
качестве центрально процессора в устройствах обработки данных и управления.
Микропроцессор имеет разделенные 16-разрядный канал адреса и 8-разрядный
канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти
объемом до 65536 байт 256 устройств вводавывода.
Таблица 1 Назначение выводов микропроцессора
Вывод Обозначение Тип вывода Функциональное назначение
25-27А10 АО-А2 Выходы Канал адреса
-10 D4-D7 D3-DO Входывыходы Шина данных
Uo Напряжения источника смещения
Reset Вход Устан. в исходное состояние
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
Ucci - Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 - Напряжение питания +12В.
2. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2 предназначен
для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения уровня
Таблица 2 Назначение выводов микросхемы
Вывод Обозначение Тип выводаФункциональное назначение выводов
SR Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
С Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucft Вход Напряжение питания +12В
С2 Выход Тактовые сигналя - фаза С2
С1 Выход Тактовые сигналя - фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Use Вход Напряжение питания +5В
3. Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный формирователь
предназначенный для обмена данными между микропроцессором и системной
шиной; обладают повышенной нагрузочной способностью имеет третье состояние
Таблица 3 Назначение выводов микросхемы
Вывод Обозначение Тип вывода Функциональное назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ucc - Напряжение питания 5В±5%
4. Системный контроллер КР580ВК28
Микросхема КР580ВК28 - системный контроллер и буферный регистр данных
применяемых в микропроцессорных системах на базе микропроцессора КР580ВМ80А
для формирования управляющих сигналов и как буферный регистр данных.
Системный контроллер формирует управляющие сигналы RD WR RDIO WRIO INTA
по сигналам состояния микропроцессора а также обеспечивает прием и
передачу 8-разрядной информации между каналом данных микропроцессора по
выводам D7-DO и системным каналом по выводам DB7-DBO.
Таблица 4 Назначение выводов микросхемы
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DB4 DB7 Выход вход Канал данных системы
101D4 D7 Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и выдачей
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
Ucc Вход Напряжение питания +5В
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей системой управления. Каждый из трех каналов может быть
независимо настроен на работу в одном из шести режимов. Обмен информацией с
микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных. Максимальное значение счета в
В данном устройстве используется 3 ИМС таймеров - две (DD17 DD21) для
управления шестью каналами ЦАП и одна (DD26) для формирования тактовых
последовательностей для контроллера последовательного интерфейса К580ВВ51А
и также для формирования тактовых последовательностей для всех каналов
Каналы 0 и 1 микросхемы DD26 работают в режиме 2 (временная диаграмма
работы приведена на рис.4.) Коэффициент деления при тактовой частоте
системы 2МГц (кварцевый резонатор 18МГц) для канала О N=6667 (для скорости
передачи по последовательному интерфейсу. ЗООбод) Для канала 1: получить
коэффициент деления достаточный для получения на выходе частоты 5Гц (=10)
с помощью данного таймера невозможно однако можно получить частоту 40 Гц
(коэффициент деления N=200000040=50000) после чего и записывать в
регистры таймеров DD17 DD21 значения побитно сдвинутые влево на 3 бита
(что равноценно увеличению записываемого числе в 8 раз) и умноженные на 5
(это возлагается на программное обеспечение ЦПУ и не описывается т.к.
такая реализация несколько повышает универсальность устройства). При этом
возможности таймеров DD17 DD21 используются не полностью (максимальное
значение записываемое в регистры составит Nmax=98*40=3290 что почти в 20
раз меньше максимально возможного). Минимальное значение записываемое в
регистры составит Nmin=10*40=400
Все каналы таймеров DD17 DD21 работают в режиме 0. Временная диаграмма
работы таймера в этом режиме приведена на рис.5
Рис.4 Временная диаграмма работы таймера в режиме 2
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO ВходывыходыКанал данных
518 СОС1С2 Входы Синхронизация каналов 0-2
13 17 OUTO OUT1 OUT2 Выходы Сигналы каналов 0 1 2
14 16 CEO CE1.CE2 Входы Сигналы каналов 0 1 2
20 АО.А1 Входы Сигналы выбора каналов 0 1
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
6. Универсальный приёмопередатчик К580ВВ51А
Микросхема КР580ВВ51 - универсальный синхронно-асинхронный
приёмопередатчик (УСАПП) предназначен для аппаратной реализации
последовательного протокола обмена между микропроцессором К580ВМ80А и или
другим устройством способным запрограммировать данную микросхему на
требуемый режим работы и каналами передачи последовательной дискретной
ИМС преобразует параллельный код получаемый через ШД от центрального
процессора в последовательный поток символов со служебными битами и выдаёт
этот поток в последовательный канал связи с различной скоростью а также
выполняет обратное преобразование: последовательный поток символов - в
параллельное 8-разрядное слово. Передаваемая и получаемая информация при
необходимости может контролироваться на чётностьнечётность.
ИМС УСАПП может быть применена для реализации различных
последовательных интерфейсов (в т.ч. RS-232). Возможна работа ИМС в режимах
синхронного или асинхронного приёмапередачи.
Максимальная скорость передачиприёма информации 64Кбод минимальная не
В описываемом устройстве ИМС работает в режиме асинхронного
приёмапередачи на скорости ЗООбод (внутренний делитель частоты
синхронизации равен единице). Временные диаграммы работы УСАПП в названных
режимах приведены на рис.6 и рис.7. Для того чтобы запрограммировать ИМС
для работы в асинхронном режиме необходимо после сброса (сигналом SR или
программного) занести в ИМС инструкцию режима работы. В описываемом
устройстве это код 11111101 b=FDh (соответствует работе с двумя стоп-
битами с контролем по чётности длиной слова 8 бит в асинхронном режиме с
Асинхронный режим избран т.к. при обмене данными между ЦПУ и ППУ
пакеты имеют малую длину а также потому что это позволяет уменьшить
количество линий связывающих устройства (не требуется отдельная линия для
сигнала синхронизации). Два стоп-бита и контроль чётности используются для
повышения надёжности обмена. Длина слова в 8 бит выбрана потому что это
совпадает с разрядностью ШД процессора К580ВМ80.
После инициализации УСАПП управление работой ИМС осуществляется записью
командных инструкций и чтением слова состояния.
Рис.5 Временная диаграмма работы таймера в режиме 0
Рис.6 Временная диаграмма работы УСАПП К580ВВ51А в режиме асинхронной
Рис.7 Временная диаграмма работы УСАПП К580ВВ51А в режиме
асинхронного приёма.
7. D-регистр защелка КР580ИР82.
Микросхема КР580ИР82 - 8-разрядный адресный D-регистр-защёлка без
инверсии с тремя состояниями на выходе предназначен для связи
микропроцессора с системной шиной; обладает повышенной нагрузочной
ИМС состоит из восьми функционально одинаковых блоков и схемы
управления. Блок содержит D-триггер - «защёлку» и мощный выходной вентиль.
При помощи схемы управления производится опробирование записываемой
информации и управление третьим состоянием выходных вентилей. В зависимости
от состояния стробирующего сигнала STB ИМС может работать в двух режимах: в
режиме шинного формирователя и в режиме хранения (при высоком уровне
сигнала STB ИМС работает в режиме формирователя при низком - в режиме
Назначение выводов ИМС КР580ИР82
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 DO-D7 Вход Информационная шина
ОЕ Вход Разрешение передачи (управление
STB Вход Стробирующий сигнал
-19 Q7-QO Выходвход Информационная шина
Микросхема К572ПА1 - умножающий 10-разрядный ЦАП. Предназначен для
преобразования входного кода в выходной ток пропорциональный значению
входного кода и опорному напряжению подаваемому на вывод 15. В описываемом
устройстве применяется в типовом включении.
Назначение выводов ИМС К572ПА1
li Выход Аналоговый выход (прямой)
2 Выход Аналоговый выход (инверсный)
-13 DO-D9 Вход Цифровые входы
Uo6p Вход Образцовое напряжение
Ucc - Напряжение питания (+15В)
Roc Вход Вход для резистора обратной связи
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232.
Интерфейс RS232 - последовательный интерфейс предназначенный для
обмена информацией между различными цифровыми устройствами на скоростях от
до 9600 бод. В простейшей реализации интерфейса устройства соединяются
трёхжильным кабелем («Земля» «Входящие данные» «Исходящие
данные»).Возможно использование 4-й жилы -«Подтверждение готовности».
Логические уровни представляются напряжением ±12В.
К устройствам кабель подключается с использованием стандартного 25-
контактного разъёма. Используются контакты 0 («Земля») 2 («Исходящие
данные») 3 («Входящие данные»)
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ
Карта адресов памяти (в скобках приведены условные обозначения
которые применены на
блок-схемах алгоритмов и в программах):
00h-23FFh Диапазон адресов для вывода на ЦАПО (DACO)
00h-27FFh Диапазон адресов для задания масштабного
коэффициента ЦАПО (DACOC)
00h-33FFh Диапазон адресов для вывода на ЦАП1 (DAC1)
00h-37FFh Диапазон адресов для задания масштабного
коэффициента ЦАП1 (DAC1C)
00h-43FFh Диапазон адресов для вывода на ЦАП2 (DAC2)
00h-47FFh Диапазон адресов для задания масштабного
коэффициента ЦАП2 (DAC2C)
00h-53FFh Диапазон адресов для вывода на ЦАПЗ (DAC3)
00h-57FFh Диапазон адресов для задания масштабного
коэффициента ЦАПЗ (DAC3C)
00h-63FFh Диапазон адресов для вывода на ЦАП4 (DAC4)
00h-67FFh Диапазон адресов для задания масштабного
коэффициента ЦАП4 (DAC4C)
00h-73FFh Диапазон адресов для вывода на ЦАП5 (DAC5)
00h-77FFh Диапазон адресов для задания масштабного
коэффициента ЦАП5 (DAC5C)
00h Регистр данных 0-го канала таймера DD17
(соответствует ЦАПО) (TIMODO)
10h Регистр данных 1-го канала таймера DD17
(соответствует ЦАП1) (TIMOD1)
20h Регистр данных 2-го канала таймера DD17
(соответствует ЦАП2) (TIMOD2)
30h Регистр управляющего слова таймера DD17
00h Регистр данных 0-го канала таймера DD21
(соответствует ЦАПЗ) (TIM1 DO)
08h Регистр данных 1-го канала таймера DD21
(соответствует ЦАП4) (TIM1D1)
10h Регистр данных 2-го канала таймера DD2
(соответствует ЦАП5) (TIM 1D2)
18h Регистр управляющего слова таймера DD21 (TIM1CW)
Карта адресов устройств вводавывода:
C0h Регистр данных УСАПП. (COMD)
h Регистр управления УСАПП. (СОМС)
h Регистр данных 0-го канала таймера DD26 (TIM2DO)
h Регистр данных 1-го канала таймера DD26 (программирование
частота для таймеров DD17.DD21) (TIM2D1)
h Регистр данных 2-го канала таймера DD26
З0h Регистр управляющего слова таймера DD26 (TIM2CW)
При распределении адресного пространства использован метод
частичной дешифрации.
После включения ЦПУ и ППУ в ППУ происходит инициализация таймеров
затем сброс всех ЦАП и в последнюю очередь инициализация контроллера
последовательного интерфейса (К580ВВ51А) .После этого ППУ готово к работе и
воспринимает посылки от ЦПУ.
Посылки из ЦПУ в ППУ могут быть двух типов - командные или сообщения об
ошибке передачи. Сообщения об ошибке передачи имеют длину 1 байт (его
значение FFh) командные посылки имеют длину 4 байта:
Команда инициализации ЦАП:
-й байт: ООп - признак команды нициализации. 2-й байт: номер
-й байт: младший байт кода для ЦАП
-й байт: старший байт кода для ЦАП
-й байт: младший байт кода периода инициализации.
-й байт: старший байт кода периода инициализации.
Подпрограмма передачи управляющей посылки из ЦПУ считывает данные из
массива (в нём по порядку должны быть записаны 2-6 байты командной
посылки) который должен быть заполнен программой выполняющейся на ЦПУ.
Сообщения об ошибке передачи передаются когда при передаче информации
от ППУ в ЦПУ или обратно происходят ошибки передачи данных: ошибка формата
ошибка чётности или ошибка переполнения. Такие сообщения состоят из
единственного байта FFh. Более надёжные (и сложные) способы контроля
передачи данных не используются т.к. появление ошибок при передаче на
скорости 300 бод маловероятно вероятность же ошибок не корректируемых
применёнными средствами исчезающе мала.
После успешного получения командной посылки ППУ выполняет команду
(происходит фиктивное обращение к ячейке из области адресов одного из ЦАП
затем запускается соответствующий канал таймера) после чего отправляет в
ЦПУ пакет состоящий из четырёх байт. Формат пакета следующий:
-й байт: 00h- признак пакета с масштабным коэффициентом
-й байт: младший байт кода масштабного коэффициента.
-й байт: старший байт кода масштабного коэффициента.
Принятые данные записываются в массив в порядке поступления.
Блок-схемы алгоритмов работы устройства
В блок-схемах алгоритмов работы ППУ и в программах используются
следующие обозначения:
FlagAddr - начальный адрес области памяти из 6 байт в которой хранятся
флаги постоянной инициализации таймеров.
AppDataAddr - начальный адрес массива из пяти байт в который
записываются принимаемые от ЦПУ данные.
CoeffsAddr - начальный адрес области памяти из 12 байт В которой
подряд записаны двухбайтные коды масштабных коэффициентов ЦАП в порядке
возрастания номера ЦАП (запись в этот массив должна выполняться
подпрограммой обновления масштабных коэффициентов)
StackPtr -адрес вершины стека
В подпрограмме обновления масштабных коэффициентов ЦАП может быть
использован канал 2 таймера DD26 - для отслеживания временных интервалов
т.к. использованные ИМС таймеров позволяют программно считывать значения
счётчиков во время работы.
Рис. 9 Алгоритм отправки байта в ППУ
Рис. 10 Алгоритм принятия байта из ППУ
Рис. 8. Алгоритм программы выполняющейся в ППУ
Рис. 9. Алгоритм программы отправки байта в ППУ
Рис. 10. Алгоритм программы принятия байта из ППУ
1. Основная программа выполняемая в ППУ
Метка Команда Комментарий
MainBeginCALL Timerlnit Вызов подпрограммы инициализации таймеров
CALL COMInit Вызов подпрограммы инициализации УСАПП
CALL Вызов подпрограммы обновления масштабных
TimersRefresh коэффициентов ЦАП
MainLoop CALL DACReinit Вызов подпрограммы обновления масштабных
IN COMC Считывание слова состояния УСАПП
MOV BA Сохранение слова состояния в per. В
ANI 02h Выделение бита D1
JNZ Mainl Если байт поступил переход к обработке.
JMP MainLoop Возврат на начало
ANI 38h Выделение из слова состояния бит признаков
JZ Main2 Если флаги ошибок не взведены продолжается
CALL Retry Вызов подпрограммы сброса признака ошибки и
отправления запроса повторной передачи
Main2 IN COMD Считывание принятого байта
JZ MainS Если принятый байт - начало командной
посылки программа продолжается
CALL Send Иначе вызов подпрограммы передачи посылки с
масштабным коэффициентом
MainS CALL ReceiveAII Вызов подпрограммы получения остальных байт
JZ Main4 Если не было ошибок продолжение
CALL SendErReq Вызов подпрограммы передачи запроса о
повторной передаче команды
Main4 CALL DACReinit Вызов подпрограммы обновления масштабных
CALL DACInit Инициализация нужного ЦАП
CALL Timerlnit Инициализация соответствующего таймера
CALL Send Вызов подпрограммы повторной передачи
посылки с масштабным коэффициентом
JMP MainLoop Вызов подпрограммы передачи посылки с
2. Подпрограмма инициализации УСАПП
COM Init MVI A FDh Запись в аккумулятор байта FDh
OUT СОМС Вывод управляющего слова в регистр команд
LHLD StackPtr Загрузка в HL адреса вершины стека
SPHL Копирование его в SP
RET Возврат из подпрограммы
3. Подпрограмма инициализации таймеров
TimerlnitMVI A 34h Занесение в аккумулятор байта 34h
OUT TIM2CW Занесение управляющего слова в управляющий
OUT TIM2DO Занесение в РД 0-го канала таймера младшего
OUT TIM2DO Занесение в РД 0-го канала таймера старшего
MVI A74h Начало инициализации 1-го канала таймера
MVIA30h Начало инициализации 0-х каналов таймеров
MVI A70h Начало инициализации 1-х каналов таймеров
MVI ABOh Начало инициализации 1-х каналов таймеров
STA FlagAddr Обнуление флагов
4. Подпрограмма принятия 2-го и последующих байт командной посылки
ReceiveAIMVI B0 Обнуление счётчика полученных байт
LHLD AppDataAddr Загрузка в HL начального адреса области
памяти в которой будут сохраняться принятые
RecLoop IN COMC Считывание слова состояния УСАПП
AMI 02h Выделение признака поступления нового байта
JNZ Red Если байт поступил программа переход к
CALL Вызов подпрограммы переинициализации
TimersRefresh таймеров
JMP RecLoop Переход на начало цикла
Red IN COMD Считывание поступившего байта
STAXHL Сохранение принятого байта в ячейке памяти
INXHL Инкремент адреса по которому будет
записываться следующий байт
INRB Увеличение счётчика полученных байт
MVI A 05h Занесение в аккумулятор числа для сравнения
JNZ RecLoop Если В не равен 5 продолжение цикла
5. Подпрограмма сброса признаков ошибки и отправки запроса на
SendErReq IN COMD Считывание принятого байта из регистра
MVIA 15h Занесение управляющего слова для
сброса признаков ошибки в аккумулятор.
OUT COMC Занесение управляющего слова в упр. регистр
SndLoop IN COMC Считывание состояния УСАПП
ANIOIh Выделение признака готовности к передаче
JNZ Snd1 Если УСАПП готов продолжение
JMP SndLoop Переход на начало цикла
OUT COMD Занесение в РД УСАПП байта
сигнализирующего о необходимости повторной
6. Подпрограмма инициализации ЦАП
DACInit LHLD DACO Загрузка в HL адреса начала диапазона
адресов относящихся к ЦАПО
LXI DE 1000И Занесение в РП ВС числа 1000h
LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
CMP В Сравнить содержимое аккумулятора с номером
JZ DACI1 Если они равны закончить цикл
DADDE Сложение DE и HL
INRB Инкремент регистра В
DACI1 LDA AppDataAddr+1Загрузка в аккумулятор младшего байта кода
MOV EA Занесение его в Рг. Е
LDA AppDataAddr+2Загрузка в аккумулятор старшего байта кода
MOV DA Занесение его в Рг. D
DADDE Сложение DE и HL (рез-т помещается в HL)
MVI M OOh Фиктивное обращение к ячейке памяти
7. Подпрограмма инициализации таймера
TimerlnitIDA AppDataAddr+4Считывание младшего байта кода периода
инициализации в аккумулятор
JNZ Timlni Если байт был ненулевым продолжается
LDA AppDataAddr+5Считывание младшего байта кода периода
JNC Timlni Если байт был ненулевым продолжается
LHLD FlagAddr Загрузка в HL адреса начала массива флагов
ADDH А складывается с Н рез-т записывается в А
MOV HA Рез-т копируется в Н
MVI M1 Запись флага
Timlni LHLD TIMODO Загрузка в HL адреса РД 0-го канала ЦАПО
JC Timlni2 Переход если номер ЦАП больше 2
Timlni2 MVI B8h Mult=8h
SUI3 Уменьшить содержимое аккумулятора на 3
MOV DA Копирование аккумулятора в D
RLC Циклический сдвиг содержимого аккумулятора
ADI 30h Добавление 30h к содержимому аккумулятора
MOV LC В L копируется младшая часть адреса регистра
MOV M A Запись в регистр управления таймера
MVI L.OOh Обнуление L
DCRD Цикл в котором Addr=Mult*Num
LDA AppDataAddr+4Загрузка в аккумулятор младшего байта кода
периода инициализации
MOV MA Запись младшего байта кода периода
инициализации в РД таймера
LDA AppDataAddr+5Загрузка в аккумулятор старшего байта кода
MOV M A Запись старшего байта кода периода
ADDL Сложение L с аккумулятором
MOV LA Запись результата в L
MVI M 0 Сброс флага постоянной инициализации
8. Подпрограмма отправки посылки с масштабным коэффициентом
Send IN COMC Считывание слова состояния УСАПП
AMI 01 h Выделение признака готовности передатчика
JNZ Sendl Если передатчик готов - выход из цикла
CALL Переинициализация таймеров
JMP Send Переход на начало цикла
Sendl OUT COMD Запись в РД УСАПП байта признака начала передачи
JNZ SendS Цикл ожидания готовности передатчика
SendS LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
SendS LHLD CoeffsAddr Загрузка в HL начального адреса массива
ADDA.L Сложение аккумулятора и L
ADDA.L Сложение аккумулятора и L (Требовалось умножить на
MOV LA Копирование результата в L
MOVA.M Загрузка в аккумулятор младшего байта коэффициента
OUT COMD Передача младшего байта коэффициента
JNZ Send? Цикл ожидания готовности передатчика
Send? INX HL Увеличение адреса из которого будет читаться
i старший байт масштабного коэффициента
MOVA.M Загрузка в аккумулятор старшего байта масштабного
OUT COMD Передача старшего байта коэффициента
JNZ Send9 Цикл ожидания готовности передатчика
9. Подпрограмма переинициализации таймеров
TimersRefresLHLD FlagAddr Загрузка в HL адреса массива флагов
MVI E.OOh Сброс счётчика
TimRefd MOVA.M Загрузка очередного аккумулятор
JZ TimeRefrS Если флаг не установлен переход к концу цикла
PUSH HL Сохранить адрес в стеке
LHLD TIMODO Загрузка в HL адреса РД канала таймера DD17
CPI2 Сравнение счётчика с 2
RLC Сдвиг А влево на 6 бит
ADI 30h Увеличение аккумулятора ЗОН
MVI B.OOh Подготовка к записи Byte в РУ таймера
MOV MA Запись управляющего в РУ таймера
ADDL Цикл умножения
TimeRefrS MVI MFFh Запись максимальных значений в РД таймера
JNZ TimeRefrl Возврат на начало цикла
10. Подпрограмма обновления масштабных коэффициентов ЦАП
DACReinit MVI C5 Обнуление счётчика
LHLD DACOC Загрузка в HL адреса начала области адресов
отведённых для задания масштабного коэффициента
DACRel CALL GetNewCoeff Вызов подпрограммы определения нового
масштабного коэффициента для ЦАП номер
которого занесён в С (код этой подпрограммы на
приводится т.к. не задан алгоритм по которому
определяются масштабные коэффициенты.
Подпрограмма не должна модифицировать HL
возвращаемое значение должно находиться в
регистровой паре DE
PUSH HL Сохранение в стеке пары HL
DADDE Сложение DE и HL (Рез-т в HL)
MVI M.OOh Фиктивное обращение к ячейке
ADDH Увеличение HL на ЮООп
JNZ DACRel Если счётчик не нуль продолжение цикла
Обозначения применённые в тексте подпрограммы:
СОМС - адрес УВВ соответствующего РД УСАПП (предполагается что УСАПП
COMD - адрес УВВ соответствующего РУ УСАПП (предполагается что УСАПП
Предполагается также что прерывания от УСАПП не используются.
Data - адрес начала массива в котором по порядку находятся следующие
данные: номер ЦАП подлежащего инициализации младший байт кода выходного
напряжения ЦАП старший байт кода выходного напряжения ЦАП (его старшие 4
бита должны быть нулевыми)младший и старший байты кода периода
инициализации умноженного на 40 (т.к. за секунду таймером отсчитывается 40
InData - адрес начала массива в который будут помещены (по
порядку):номер ЦАП младший байт масштабного коэффициента старший байт
масштабного коэффициента
BeginExchangeMVI A00h Занесение в аккумулятор байта который
CALL SendByte Вызов подпрограммы отправки байта в ППУ
(в аккумуляторе находится сам байт)
MVI E.OOh Обнуление счётчика
ЕхсМ LHLD Data Загрузка в HL адреса по которому
находятся данные которые надо послать
DADDE HL=HL+C4eT4HK
MOV AM Загрузка в аккумулятор очередного
байта который надо отправить
INRE Инкремент счётчика
MOVA.E Счётчик копируется в аккумулятор
CPI5 Сравнение с количеством байт которые
JNZ ExcM Возврат на начало цикла если не все
MVI E00h Обнуление счётчика
Ехсп2 CALL ReceiveByte Вызов подпрограммы получения байта из
ППУ (полученный байт находится в
AMI 38h Выделение из слова состояния признаков
JZ Exch3 Если ошибок не было переход дальше
IN COMD Считывание байта принятого с ошибкой
MVI A.FFh Занесение в аккумулятор кода признака
JMP Exch2 Переход к повторному приёму
JNZ BeginExchangeЕсли принят признак запроса на
повторную передачу переход
LHLD InData Загрузка в HL адреса начиная с
которого будут размещены получаемые
MVI E3h Обнуление счётчика
Exch4 CALL ReceiveByte Получение очередного байта
MOV MA Сохранение его в ячейке памяти
INXHL Инкремент адреса
DCRE Декремент счётчика
JNZ Exch4 Продолжение цикла если не все байты
ANI 38h Выделение признаков ошибок
OUT COMC Сброс признаков ошибок
CALL SendByte Отправка запроса на повторную передачу
12. Подпрограмма отправки байта в ППУ
ANI 01h Цикл ожидания передатчика
OUT COMD Запись байта в РД УСАПП
13. Подпрограмма получения байта от ППУ
ReceiveByte IN COMC
ANI 02h Цикл ожидания готовности приёмника
IN COMD Считывание принятого байта в
14. Подпрограмма инициализации УСАПП в ЦПУ
OUT СОМС Сброс УСАПП
OUT СОМС Запись в РУ УСАПП слова режима
В этом курсовом проекте было разработано устройство которое может быть
использовано для формирования аналоговых сигналов с достаточно точным
уровнем и заданной длительностью по некоторой программе. Одно из применений
такого устройства - формирование управляющих сигналов для различных
устройств (например управление включением и мощностью электродвигателей
при подключении выходов устройства к достаточно мощным усилителям).
Возможны также другие применения.
В ходе проектирования был более детально изучен микропроцессорный
комплект К580 возможные схемотехнические решения на его основе а также
программирование на языке Ассемблер для процессора К580ВМ80.
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
УСАПП - универсальный синхронно-асинхронный приёмопередатчик
РД - регистр данных.
РУ - регистр управления
ИМС - интегральная микросхема
ЦАП - цифроаналоговый преобразователь
ОУ - операционный усилитель
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Мокрецов В.П. «Микропроцессоры и МПС». Учебное пособие. Часть 1.
Екатеринбург: УГТУ-УПИ 1999. 125с.
«Микропроцессоры и микропроцессорные комплекты интегральных микросхем» в
Справочник в 2 т В.-Б.Б. Абрайтис Н.Н. Аверьянов А.И. Белоус и др. Под
Шахнова. - М:Радио и связь 19*88 Т.1 -386с. ил.
Майоров В.Г.Гаврилов А.И. «Практический курс программирования
сорных систем» -М.Машиностроение. 1989. -272с.:ил.

icon текст (11).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА КОНТРОЛЯ СРАБАТЫВАНИЯ АВАРИЙНЫХ ДАТЧИКОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ 6
Принципиальная схема периферийного устройства 6
Микропроцессор КР580ВМ80А 6
Генератор тактовых импульсов КР580ГФ24 7
4 Шинный формирователь КР580ВА86 8
5. Системный контроллер КР580ВКЗ8 8
Контроллер параллельного интерфейса КР580ВВ55 9
8. Программируемый контроллер прерываний КР580ВН59 13
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX . 15
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА 16
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ 17
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА 19
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА 19
1.Периферийное устройство 28
2.Центральное устройство 36
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 40
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к ячейкам памяти. Комплекс предназначен для
обнаружения срабатывания хотя бы одного аварийного датчика (замыкание
контактов). Датчики располагаются 5 группами по 19 штук. Номера датчиков
подлежащих опросу задаются программой выполняемой в центральном
процессорном устройстве и передаются периферийной стороне. Процедура
периодического опроса датчиков полностью организуется периферийным
процессором. Период опроса любого датчика T остается постоянным на все
время опроса датчиков в данной конфигурации. Передаваемые значения T лежат
в пределах 1.0-12.4 сек с точностью 0.1. Опрос датчиков в данной
конфигурации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 10 минут. Если
срабатывание конкретного датчика продолжается более 10 периодов опроса
управление должно быть передано некоторой подпрограмме центрального
процессорного устройства соответствующей номеру группы (т.е. периферийное
устройство должно сообщать центральному о каждом факте срабатывания
датчиков более 10 периодов). В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
На практике часто возникает необходимость в устройстве обнаружения
срабатывания объединенных в группы датчиков. Для этого предназначено данное
устройство (структурная схема приведена на рис. 1 функциональная схема
приведена на рис. 2). Комплекс представляет собой центральное и
периферийное устройства соединенных интерфейсом CENTRONIX. Периферийное
устройство предназначено для опроса датчиков и первичной обработки данных
от датчиков (определение групп в которых существуют датчики сработавшие
более Р периодов опроса). Центральное устройство предназначено для
дальнейшей обработки данных о датчиках поступающих от периферийного
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ
1. Принципиальная схема периферийного устройства
Комплекс состоит из центрального и периферийного устройств на основе
микропроцессорного комплекта К580 связанных интерфейсом CENTRONIX. В
состав периферийного устройства входят микропроцессор КР580ВМ80А БИС
параллельного интерфейса КР580ВВ55 программируемого таймера КР580ВИ53
программируемого контроллера прерываний КР580ВН59 генератора тактовых
импульсов КР580ГФ24 системного контроллера КР580ВК38 3 буфера данных
КР580ВА86 постоянного запоминающего устройства КР588РР2 оперативного
запоминающего устройства КР533РУ10 3 дешифратора К155ИДЗ дешифратор
К155ИД14 инверторы К155ЛН1 антиконьюнктор К155ЛЕ1.
Датчики представляют собой матрицу 27*3 элементов. Сканирование
датчиков производится выдачей кода столбца в канал В КР580ВВ55 код столбца
дешифрируется и подается на матрицу. Сигналы сработавших датчиков поступают
в буфер данных КР580ВА86 затем через шину данных и системный контроллер
поступают в периферийный процессор.
2. Микропроцессор КР580ВМ80А
Микросхема КР580ВМ80А - функционально-законченный однокристальный
параллельный 8-разрядный микропроцессор с фиксированной системой команд
применяется в качестве центрально процессора в устройствах обработки данных
и управления. Микропроцессор имеет разделенные 16-разрядный канал адреса и
-разрядный канал данных. Канал адреса обеспечивает прямую адресацию
внешней памяти объемом до 65536 байт 256 устройств вводавывода.
Назначение выводов микропроцессора КР580ВМ80А
Вывод Обозначение Тип вывода Функциональное назначение
25-27 А10 А0-А2 Выходы Канал адреса
-10 D4-D7 D3-D0 Входывыходы Канал данных
UIO Напряжения источника смещения
Reset Вход Установка в исходное
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
UCC1 -- Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 -- Напряжение питания +12В
3. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2
предназначен для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния 8ТВ;
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения
Назначение выводов микросхемы КР580ГФ24.
ВыводОбозначение Тип вывода Функциональное назначение выводов
Reset Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
C Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucc2 Вход Напряжение питания +12В
C2 Выход Тактовые сигналы - фаза С2
C1 Выход Тактовые сигналы- фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Ucc1 Вход Напряжение питания +5В
4 Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный
формирователь предназначенный для обмена данными между микропроцессором
и системной шиной; обладают повышенной нагрузочной способностью имеет
третье состояние на выходе.
Назначение выводов микросхемы КР580ВА86.
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ц* - Напряжение питание 5В±5%
5. Системный контроллер КР580ВКЗ8
Микросхема КР580ВК38 - системный контроллер и буферный регистр
данных применяемых в микропроцессорных системах на базе микропроцессора
КР580ВМ80А для формирования управляющих сигналов и как буферный регистр
данных. Системный контроллер формирует управляющие сигналы RD WR RDIO
WRIO INTA по сигналам состояния микропроцессора а также обеспечивает
прием и передачу 8-разрядной информации между каналом данных
микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0.
Назначение выводов микросхемы КР580ВК38
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DВ4 DВ7 DВЗ Выход вход Канал данных системы
10 D4 D7 D3 D2Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
UCC Вход Напряжение питания +5В
6. Контроллер параллельного интерфейса КР580ВВ55
Микросхема КР580ВВ55 программируемое устройство вводавывода
параллельной информации применяется в качестве элемента
вводавывода общего назначения сопрягающего различные типы
периферийных устройств с магистралью данных систем обработки информации.
Обмен данными между магистралью данных систем и микросхемой КР580ВВ55
осуществляется через 8-разрядный двунаправленный трехстабильный канал
данных (D). Для связи с периферийными устройствами используется 24 линии
вводавывода сгруппированные в три 8-разрядных канала ВА ВВ ВС
направление передачи информации и режимы работы которых определяются
программным способом. В данном устройстве микросхема КР580ВВ55
программируется в режим 2 в котором обеспечивается двунаправленная
передача информации по каналу А между периферийным и центральным
процессорами. При этом линии канала С используются для приема и выдачи
сигналов управления обменом. Линии канала В программируются в режим 0
синхронный обмен используемый для опроса датчиков.
Назначение выводов микросхемы КР580ВВ55
-4 ВАЗ-ВАО Входывыходы Информационный канал А
RD Вход Чтение информации
CS - Выбор микросхемы
А1АО Вход Младшие разряды адреса
-17 ВС7-ВС4 Входывыходы Информационный канал С
-25 ВВО-ВВ7 Входывыходы Информационный канал В
Ucc - Напряжение питания 5В±5%
-34 D7-DO Входывыходы Канал данных
Reset Вход Установка в исходное состояние
WR Вход Запись информации
Рис. 3. Схема подключения двух КР580ВВ55 для обмена в режиме 2
Слово-состояние канала С в режиме 2
Рис. 4. Временная диаграмма работы КР580ВВ55 в режиме
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-
разрядных каналов с общей системой управления. Каждый из трех каналов
может быть независимо настроен на работу в одном из шести режимов. В
данном устройстве каналы 0 и 1 программируется в режим 2. Канал 0
генерирует периодический сигнал с частотой 1D (D-точность периода опроса
датчика) который подается на вход синхронизации канала 1 настраиваемый
генерацию периодического сигнала соответствующего периоду опроса датчика.
Обмен информацией с микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных.
Максимальное значение счета в двоичном коде 216.
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO Входывыходы Канал данных
518 СО Cl C2 Входы Синхронизация каналов 0-2
13 OUTO ОЩ1 OUT2Выходы Сигналы каналов 0 1 2
14 CEO CE1 СЕ2 Входы Сигналы каналов 0 1 2
20 А0А1 Входы Сигналы выбора каналов 0 1 2
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
Рис. 5. Временная диаграмма таймера в режиме 2
Расчет для канала 0 таймера. Реализация периодического сигнала
точности опроса датчика В=10000мкС соответствует 0010 0111 0001 0000
состояния 0 канала - 27 младший -10
Расчет для канала 1 таймера. Реализация периодического сигнала с в N раз
периодом чем сигнал канала 0 таймера. Нижняя граница - 1100*D => 0000
Верхняя граница - 10400*D => 0010 1000 1010 0000 => 28АО
8. Программируемый контроллер прерываний КР580ВН59
Устройство реализующее до восьми уровней запросов на прерывание с
возможностями программного маскирования и изменения дисциплины
обслуживания прерываний. За счет каскадного включения число уровней
прерывания может быть расширено до 64.
В данном устройстве применяется режим с фиксированными приоритетами
Назначение выводов микросхемы КР580ВН59
Обозначение выводаНомер контакта Назначение вывода
D(7-0) 4; 5; 6; 7; 8; 9; Входвыход данных
RD 3 Вход строба чтения
WR 2 Вход строба записи
загрузки команд и считывания
CS 1 Вход выбора микросхемы
CASO-CAS2 12 13 15 Входывыходы каскадирования
SP 16 Признак подчинения (1
-ведущий 0-ведомый)
INTA 26 Подтверждение прерывания (1
-выдача CALL на шину данных)
INT 17 Прерывание (1 -запрос на обсл.
IRQO-IRQ7 18; 19; 20; 21; 22;Входы запросов
; 25 (положительный фронт)
Ucc 28 Напряжение питания +5В
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX
Интерфейс Centronics обеспечивает радиальное подключение (посредством
кабеля) устройств с параллельной передачей информации с микропроцессорным
управлением. Отечественным аналогом интерфейса Centronics является
интерфейс ИРПР-М. Передача данных осуществляется между одним источником (И)
и одним приемником (П). Устройства или контроллеры совмещающие функции И и
П должны содержать два набора линий интерфейса Centronics.
Набор обязательных линий (сигналов) сопряжения разделенных на три
группы (заземление и питание управления информационные) приведен в табл.
Набор обязательных линий (сигналов) сопряжения
Наименование Обозначение Направление
Готовность приемника SLCT отПкИ
Строб - STROBE от И кП
Подтверждение - ACKWLG отП к И
Автоматический перевод- AVTOFD отИкП
Информационные линии
Данные (1 8) DO D7 —
Линии заземления и питания
«Строб»: при лог. 01 - данные действительнынедействительны.
Длительность импульса с лог. 0 - не менее 05 мкс.
«Данные»: высокомунизкому уровню соответствует лог. 10. Комбинации
сигналов на линии данных соответствует код графического символа или код
функции и на них не накладываются ограничения. Для конкретных устройств
допускается использование меньшего числа разрядов.
«Подтверждение»: лог. 10 означает что приемник готовне готов к
приему данных но принял предыдущие данные.
«Готовность приемника»: лог. 10 означает что приемник
неработоспособенработоспособен и не готовготов принимать данные.
«Автоматический перевод строки»: лог. 10 означает что приемник не
выполняетвыполняет самостоятельный перевод бумаги на одну строку по
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА
Распределение адресного пространства
Начальный Конечный Устройство Тип адресации
00 07FF PROM (ПЗУ) Устройство памяти
00 OFFF RAM (ОЗУ) Устройство памяти
17 СТ (таймер) Внешнее устройство
IF BD (буфер сработавших датчиков) Внешнее устройство
00 1FFF ЮР (контр паралл. Интерфейса) Устройство памяти
При распределении адресного пространства использован метод частичной
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ
Символические адреса используемые в программе
Двоичный адрес Шестнадцатиричн Обозначение Примечание
xхх01000 0800 CountSensor Начало таблицы счетчиков
000000 срабатывания датчиков
xхх01001 0900 QuestSensor Начало таблицы подлежащих
000000 опросу датчиков
xxx0lll 11100000OFEO IRQO Адреса перехода по
xxx0lll 11100100OFE8 IRQ1
Для сообщения от ЦПУ
xхх01010 ОАОО Counter Счетчик байт
xхх01010 ОА01 Addrl Адреса для приема байт
000001 сообщения ЦПУ
ххх01010 *ОА02 Addr2
ххх01001 0980 ToCentre Слово посылаемое в ЦПУ
ххх00ххх 00 Lamp Светодиод неисправности
обмена данными между ЦПУ
ххх 10x00 10 PortA Порт А ЮР
xxxl0x0l 11 PortB Порт В ЮР
ххх10х10 12 PortC Порт С ЮР
xxxl0xll 13 lOPControl Управляющее слово ЮР
XXX 11 XXX 18 AddrBD Адрес буфера сработавших
xxx0lxx0 08 PICO Адреса PIC
ххх11x00хххххххх1800 TimerO Адрес канала 0 СТ
xxxllxOlхххххххх1900 Timer 1 Адрес канала 1 СТ
xxxl1x11хххххххх1ВОО TimerControl Регистр управляющего
Описание констант используемых в программе
Двоичное Шестнадцатиричное ОбозначениеПримечание
100111 27 DOld Точность (соответствует F 10000
F-тактовая частота) для режима 2
101110 2Е N Число столбцов (46)
010001 11 Р Число периодов срабатывания датчика
111111 FF Mistake Ошибка
000011 03 ForSensor Сообщение о датчиках
000001 81 ForTimer Сообщение для Таймера
Для контроллера параллельного интерфейса
000001 01 LampOn Включить светодиод
000000 00 LampOff Выключить светодиод
0хх000 СО ContrlOP Управляющее слово для ЮР (D6D5-
канал А - режим 2 В2-канал В -
режим 0 D1 -вывод канала В DO
-оставшиеся линии С на вывод)
Для таймера (В7В6-канал D5D4-6aUTD3-Dl -режим DO-система исчисления)
11x100 24 СТО СТО два байта реж2 двоими.
11x100 74 СТ1 СТ1 два байта реж2 двоими.
Команды инициализации для программируемого контроллера прерываний
110110 F6 ICW1 О7-О5-адрес В2-число байт
хххОПП 07 ICW2 Старший байт адреса
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА
После включения питания ППУ и ЦПУ в них происходит инициализация
контроллера параллельного интерфейса БИС КР580ВВ55 (порт А - режим 2 порт
В - режим 0) инициализация таймера БИС КР580ВИ53 (каналы 0 и 1 - в режим
деления частоты канал О настраивается на генерацию периодического сигнала
с периодом равным точности D) инициализация контроллера прерываний.
Начинается опрос датчиков с периодом по умолчанию (максимальный период). По
умолчанию считается что датчики опросу не подлежат поэтому информация о
сработавших датчиках не поступает в ЦПУ.
ЦПУ может сообщать ППУ о периоде опроса датчика и о датчиках
подлежащих опросу. Формат сообщения трехбайтный представлен в таблице 11.
(в таблице приведены границы для старшего байта состояния канала 1 таймера
которые соответствуют границам периода опроса датчика). Длина сообщения из
ППУ в ЦПУ 1 байт (таблица 12).
П. Формат сообщения из ЦПУ в ППУ
Управляющее слово 1 байт 2 байт
000001 для таймера (х0000100-х0101000) Младший байт для 1 канала
старший байт для 1 каналатаймера
таймера х - контрольный
000011 (х0000000-х0101110) 0000хс2с1с0
для подлежащих опросу код номера столбца х - cN=l - датчик N подлежит
датчиков столбца контрольный бит опросу 0 - не подлежит
х - контрольный бит
Формат сообщения из ЦПУ в ППУ
Номер байта Формат Значение
11111111 Сообщение ЦПУ об ошибке передачи
0хс5с4сЗс2с1сО с5-сО-код столбца х - контрольный
0000хс2с1сО cN=l - датчик N сработал > Р раз 0 -
сработал х - контрольный бит
Циклический опрос датчиков происходит по прерываниям от таймера и
представляет собой последовательное сканирование столбцов матрицы датчиков
(столбец сканируется 2 раза для устранения дребезга контактов) определение
сработавших датчиков столбца определение какие из датчиков столбца
подлежащих опросу сработали более Р периодов опроса. После сканирования
всех столбцов происходит итоговое определение групп в которых были
срабатывания и если есть необходимость производится сообщение для ЦПУ.
ЦПУ определяет является ли информация из ППУ сообщением об ошибке есть ли
ошибки в самом сообщении в каких группах были срабатывания датчиков > Р
периодов и вызывает соответствующие подпрограммы обработки.
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА
Рис. 6.1 Схема основной программы ППУ
Рис. 6.2 Схема подпрограммы формирования счетчика срабатывания датчика
Рис. 6.3 Схема подпрограмма обработки счетчика срабатывания датчика в
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть 1)
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть2)
Рис. 6.5 Схема подпрограммы передачи сообщения из ЦПУ в ППУ
Рис. 6.6. Подпрограмма обработки сообщения из ППУ в ЦПУ
[pic]Рис. 6.7. Посылка байта из ЦПУ в ППУ или из ППУ в ЦПУ
MVI A ContrlOP OUT lOPControl MVI А СТО STA TimerControl MVI A DOld STA
TimerO MVI A DYoung STA TimerO MVI A CT1 STA TimerControl MVI A 28 STA
1. Периферийное устройство
;3апретить прерывания ..
;3адать режим работы ЮР
;3агрузить управляющее слово для канала 0 таймера ;3аписать старший
байт в канал 0 таймера ;3аписать младший байт в канал 0 таймера
;3агрузить управляющее слово для канала 1 таймера
;3аписать старший байт в канал 1 таймера ;(Период опроса по умолчанию)
;3аписать младший байт в канал 1 таймера
;3агрузить первое слово инициализации в программируемый ;контроллер
прерываний ;3агрузить второе слово инициализации в программируемый
;контроллер прерываний разрешить прерывания ;Бесконечный цикл
;Цикл опроса датчиков ;3апретить прерывания
;Сохранение регистровых пар и слова состояния в стеке
;В Н начало таблицы счетчиков срабатывания датчиков ;В D начало таблицы
датчиков подлежащих опросу ;В - число столбцов (N=46) ;Первое сканирование
;Номер столбца в А ;В порт В номер столбца
;Прием из буфера данных байта сработавших в столбце датчиков
;Сохранение в С байта сработавших датчиков ;Временная задержка
;3адержка на 12 тактов
;Повторное сканирование столбца датчиков ;Номер столбца в А
;В порт В номера датчиков в столбце подлежащих
;Прием из буфера данных байта сработавших в столбце
;Определение сработавших датчиков в столбце
;Критерий срабатывания - 0 за два сканирования
Инвертирование разрядов аккумулятора
;Подлежащие опросу датчики столбца в аккумулятор ;Конъюнкция кода
датчиков подлежащих опросу и кода срабатывания датчиков - код
столбца ;Сохранить код столбца в С
;Обработка первого датчика в столбце
;Код столбца умножить на код первого датчика
;Если датчик сработал перейти на LABI
;Обнулить содержимое счетчика срабатывания датчика
;Перейти к обработке следующего датчика в столбце ;Увеличить счетчик
срабатывания датчика на 1 ;Перейти к адресу счетчика срабатывания
;Считать код столбца в А ;Обработка второго датчика в столбце
ANI02 JNZLAB17 MVIM О
ANI04 JNZLAB19 MVIM 0
JMPLAB20 INRM MVIC 0
; Код столбца умножить на код второго датчика ; Если датчик
сработал перейти».на LAB 17 ; Обнулить содержимое счетчика
срабатывания датчика
; Перейти к обработке следующего датчика в столбце ; Увеличить
счетчик срабатывания датчика на 1 ; Перейти к адресу счетчика
срабатывания третьего датчика
;Считать код столбца в А ;Обработка третьего датчика в столбце
; Код столбца умножить на код третьего датчика ; Если датчик
сработал перейти на LAB 19
; Обнулить содержимое счетчика срабатывания
; Перейти к обработке следующего датчика в столбце
; Увеличить счетчик срабатывания датчика на 1
;Обнулить содержимое С
;Обработка счетчика срабатывания третьего датчика в столбце
MOV A M ;Считать счетчик третьего датчика в А
JNZ LAB21 ;Если срабатывание датчика не равно 17 периодов то
MOV А С ;Считать содержимое С в A k
ADI 04 ;Сложить А с кодом третьего датчика
MOV С А ;Сохранить в С
MVIМ 0 ;Обнулить счетчик срабатывания датчика
LAB21: DCX Н ;Перейти к адресу счетчика второго датчика
;Обработка счетчика срабатывания второго датчика в столбце
MOV А М ;Считать счетчик второго датчика в А
SUIР ; Сравнить с Р=17
JNZ LAB22 ; Если срабатывание датчика не равно 17 периодов то
MOV А С ; Считать содержимое С в А
ADI 02 ; Сложить А с кодом второго датчика
MOV С А ; Сохранить в С
MVIM О DCXH MOV A M SUIP JNZ LAB23
MOV А С ADI 01 MVIM 0
; Обнулить счетчик срабатывания датчика ; Перейти к адресу
счетчика первого датчика ; Считать счетчик второго датчика
в А ; Сравнить с Р= 17
; Если срабатывание датчика не равно 17 периодов то
; Считать содержимое С в А ; Сложить А с кодом первого
датчика ; Обнулить счетчик срабатывания датчика Переход к
; Считать в Н адрес слова посылаемого в ЦПУ ;Сравнить
слово посылаемое в ЦПУ с О ;Если 0 перейти к LAB25
;Сохранить результат ;HL из стека
;Перейти к следующему адресу в таблице датчиков ;подлежащих опросу
формирование сообщения о сработавших датчиках посылаемого в ЦПУ
ORI08 OUT PortA INPortC
;Если четное слово в МП сформировано перейти к
;Контрольный бит - 1
;Проверка подтверждения приема данных ЦПУ ;ЦПУ не принял сообщение ;3ажечь
;Проверка подтверждения приема данных ЦПУ
;Цикл пока ЦПУ не примет сообщение ;Погасить светодиод
OUT PortC LAB27: PUSHH
OUT PortC LAB25: DCRB
PUSH PSW PUSHH PUSH В
;B HL адрес слова посылаемого в ЦПУ
;обнулить слово посылаемое в ЦПУ
формирование контрольного бита в коде столбца
;Передача кода столбца в ЦПУ
;Уменьшить счетчик столбцов
;Если не все столбцы проверены перейти к LAB24
;Восстановление регистровых пар и слова состояния из ;стека
разрешить прерывания ;Выход из подпрограммы
;0бработка сообщения из ЦПУ в 1111У ;3апретить прерывания ;Сохранить
регистровые пары в стеке
PUSHD INPortA MOV В А LDA Counter ANIO JNZ LAB32 INRA STA Counter MOV А В
STA Addrl JMPLAB35 ANI1
JNZ LAB34 INRA STA Counter MOV А В STA Addr2 JMPLAB35 MVIA0 STA Counter
MOV D A LDA Addrl MOV В А LDA Addr2 MOV С А
;Принять байт от ЦПУ
;3агрузить счетчик байт
;Сравнить счетчик с О
;Если не нулевой байт перейти к LAB32
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addrl
;Сравнить счетчик с 1
;Если не первый байт перейти к LAB34
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addr2
;Обнулить счетчик байт ;Сохранить принятый байт в D
;Предыдущие байты разместить в В и С
;Обработка управляющего слова ;3агрузка управляющего слова в А
;Слово нечетно - обработка ошибки ;Если не 0 переход к LAB30 Сообщение -
код датчиков подлежащих опросу ;3агрузка кода столбца в А ;Сравнить с О
;Проверка на четность
LXIH QuestSensor ;B паре HL - начало таблицы подлежащих опросу
ANI 6F ;Обнуление не информационных битов
;Код столбца прибавить к младшему байту адреса
;Вычисление адреса для столбца в таблице подлежащих опросу датчиков ADDL
;Перенос в старший байт адреса
;3апись кода датчиков столбца подлежащих опросу
JPE LAB29 CALL Mistake РОРН JMPLAB35 ANI 07 MOV M A РОРН JMPLAB35
SUI ForTimer JNZ LAB29
;Проверка кода датчиков столбца на четность
;Вызов процедуры сообщения ЦПУ об ошибке ;HL из стека
;Обнулить неинформационные биты
;3аписать код датчиков ; HL из стека
;Сообщение для таймера ;Если сообщение не для таймера перейти к LAB30?
;Обработка первого байта ;3агрузить первый байт в аккумулятор
;Байт нечетный - ошибка
;0бработка первого байта сообщения LXI H
TB HL - адрес управляющего слова таймера
LXI H Timerl ANI6F MOV M A
;3апись управляющего слова в таймер (запись ;старшего байта счетчика
первого канала) ;В HL - адрес первого канала таймера ;0бнулить не
информационные биты первого байта ;3аписать старший байт счетчика
;Обработка второго байта сообщения
LXI H TB HL - адрес управляющего слова таймера MVI M CT1
Young ;3апись управляющего слова в таймер (запись
;младшего байта счетчика первого канала) ;В HL - адрес
первого канала таймера ;3аписать младший байт счетчика ;
H Timerl MOV M D POPH JMPLAB35
POP В POPH POP PSW El RET
Mistake: MVI A Mistake
OUT PortA INPortC ANI08 JNZ LABS7 MVI A LampOn OUT PortC
ANI08 JZ LABS6 MVI A LampOff OUT PortC
;Вызов процедуры сообщения ЦПУ об ошибке восстановить регистровые пары
;Разрешить прерывания ;Конец подпрограммы Подпрограмма сообщения в ЦПУ об
;Сообщение ЦПУ об ошибке
;ЦПУ не принял сообщение
;Проверка подтверждения приема данных ЦПУ ;Цикл пока ЦПУ не примет
сообщение ;По гасить светодиод
;Восстановить регистровые пары
;Разрешить прерывания
;Выход из подпрограммы
Переход на подпрограммы обработки прерываний
JMP CIRCLE ;Цикл опроса датчиков
JMP MESSAGE ;Сообщение от ЦПУ
2.Центральное устройство
Сообщение из ППУ ;3апретить прерывания
;Сохранить регистровые пары в стеке
;Считать слово из ППУ
;Сравнить с кодом ошибки (ППУ не понял сообщение
;Переход на подпрограмму обработки ошибки
;Сохранить слово в D ;Счетчик байт в аккумулятор ;Сравнить счетчик с О
;Если 0 перейти к LAB9 ;Счетчик = 1 ;Сохранить код группы в В
;Сохранить код столбца в С
; Считать счетчик байт в А
;Контроль по четности
;Сработала неизвестная группа переход к LAB2
;Вызов подпрограммы обработки неизвестной группы
;Сработала первая группа?
; Вызов подпрограммы обработки первой группы
; Считать слово из ППУ в А
;Сработала вторая группа?
; Вызов подпрограммы обработки второй группы ; Считать слово из ППУ в А
;Сработала третья группа?
; Вызов подпрограммы обработки третьей группы
; Вызов подпрограммы обработки неизвестной группы
восстановить регистровые пары из стека
; Разрешить прерывания ;Выход из подпрограммы
;Сообщение из ЦПУ в ППУ ;Послать первый байт
;Послать второй байт
;Послать третий байт
;Посылка байта в ППУ ;Сообщение в ППУ ;Проверка подтверждения приема
;ППУ не принял сообщение?
;Проверка подтверждения приема данных ППУ ;Цикл пока ППУ не примет
В курсовом проекте спроектировано устройство обнаружения срабатывания
объединенных в группы датчиков. Комплекс представляет собой центральное и
устройство предназначено для опроса датчиков и первичной обработки данных о
срабатывании датчиков (определение групп в которых существуют датчики
сработавшие более Р периодов опроса). Центральное устройство предназначено
для дальнейшей обработки данных о датчиках поступающих от периферийного
устройства. Центральное устройство сообщает периферийному о датчиках
подлежащих опросу и период опроса датчиков что делает спроектированное
устройство довольно универсальным и позволяет применять его в разнообразных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Хвощ С. Т. Варлинский Н. Н. Попов Е. А. Микропроцессоры и микро-ЭВМ в
системах автоматического управления: Справочник под ред. С. Т. Хвоща.
Л.: Машиностроение. Ленингр. отд-ление!987. 640 с.
Микропроцессоры В 3 кн. Кн. 1. Архитектура и проектирование ЭВМ.
Организация вычислительных процессов: Учебник для ВТУЗов П. В. Нестеров
В. Ф. Шаньгин В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая
Микропроцессоры В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учебник для ВТУЗов
В. Д. Вернер Н. В. Воробьев А. В. Горячев и др.; Под ред. Л.Н.
Преснухина. М.: Высшая школа 1986. 383 с.
Микропроцессоры В 3 кн. Кн. 3. Средства отладки: лабораторный практикум
и задачник. Учебник для ВТУЗов Н. В. Воробьев В. Л. Горбунов А. В.
Горячев и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа 1986. 351 с.
Интегральные микросхемы: Справочник Б. В. Тарабрин Л. Ф. Лунин Ю. Н.
Смирнов и др.; Под ред. Б. В. Тарабрина. - М.: Радио и связь 1984 -528

icon текст (16).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА 5
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА 6
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА 8
ВРЕМЕННЫЕ ДИАГРАММЫ 9
1 Временная диаграмма считывания из АЦП 9
2 Временные диаграммы работы КР580ВВ51 10
2.1 Работа КР580ВВ51 в режиме асинхронной передачи 10
2.2 Работа КР580ВВ51 в режиме асинхронного приема 11
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ 12
1 Описание алгоритма работы ППУ 12
2 Описание алгоритма работы ЦПУ 15
2 Выбор интервалов ожидания 17
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА 18
1 Структура адресного пространства ППУ 18
2 Структура адресного пространства ЦПУ 19
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 20
1 Блок-схемы программы для ППУ (рис.10) и подпрограммы для ЦПУ(рис.11)
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 25
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к ячейкам памяти. Комплекс
предназначен для считывания и запоминания информации в фиксированные ячейки
ОЗУ центрального процессорного устройства с блока измерителя напряжений
содержащего 7 АЦП К1113ПВ1 с адресацией к ним как к внешним устройствам
лежащим в поле адресов периферийного процессора. Номера АЦП подлежащие
опросу в данный период времени определяются программой выполняемой в
центральном процессорном устройстве и передаются периферийной стороне.
Период опроса любого АЦП составляет Т секунд и передается в блок измерителя
из центрального процессорного устройства. Период опроса Т остается
постоянным на все время опроса АЦП в данной конфигурации. Передаваемые
значения Т лежат в пределах 1.4 - 13.7 сек. с точностью 0.1 сек. Процедура
периодического опроса АЦП полностью организуется периферийным процессором.
Опрос АЦП в данной конфигурации с периодом Т продолжается до поступления
новых данных от центрального процессорного устройства. Периодичность
обращения центрального процессорного устройства к периферийному – не менее
минут. В качестве времязадающего устройства использовать БИС таймера
КР580ВИ53 с адресацией к ней как к ячейке памяти лежащей в поле адресов
периферийного процессора.
Канал сбора аналоговых данных представляет собой устройство
обеспечивающее преобразование аналогового сигнала в цифровой код. При этом
в канале осуществляется усиление фильтрация и нормирование сигнала
подавление синфазной помехи; производится нелинейная обработка сигнала с
целью линеаризации характеристики датчика и приведение аналогового сигнала
к виду пригодному для ввода в аналого-цифровой преобразователь (АЦП) путем
запоминания его мгновенных значений и хранения в течение определенного
В состав канала сбора аналоговых данных входит также ряд импульсных узлов
которые синхронизируют работу его составных частей и управляют работой АЦП.
АЦП является оконечным узлом проектируемого устройства и все другие
составные функциональные единицы прямо или косвенно обеспечивают его
нормальное функционирование.
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА
Система сбора аналоговой информации состоит из параллельно работающих
центрального процессорного устройства (ЦПУ) и периферийного процессорного
устройства (ППУ). Структурная схема системы приведена на рис.1.
Рис.1. Структурная схема устройства
Блок ЦПУ на структурной схеме содержит в своем составе микропроцессор
память и контроллер последовательного интерфейса. Блок ППУ содержит те же
самые элементы плюс блок измерителя напряжений. Сбор аналоговой информации
происходит непосредственно в блоке измерителя напряжений под управлением
ППУ затем информация передается в ячейки ОЗУ ППУ после чего по линии
связи поступает в фиксированные ячейки ОЗУ ЦПУ. Передача информации по
линии связи осуществляется под управлением контроллеров последовательного
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА
Функциональная схема отличается от структурной большей степенью
детализации и описанием используемых сигналов. В состав системы сбора
аналоговой информации входят два микропроцессорных устройства на базе
микропроцессора КР580ВМ80А связанные между собой интерфейсом RS-232.
Функциональная схема ЦПУ изображена на рис.2 а функциональная схема ППУ на
Рис.2. Функциональная схема ЦПУ
В состав ЦПУ и ППУ входят стандартные БИС МП комплекта КР580 кроме того
ППУ содержит 7 АЦП типа К572ПВ1 и 6 устройств выборки и хранения аналоговых
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА
Для связи ЦПУ и ППУ используется интерфейс RS-232 отечественным аналогом
которого является СТЫК-С2. Схема интерфейса приведена на рис.4.
Рис. 4. Структурная схема интерфейса.
Передача и прием данных осуществляется по двум однонаправленным линиям
(по одной передача по другой - прием). Один конец линии связи подсоединен
к выходу передатчика УСАПП TxD другой ко входу данных приемника другого
УСАПП RxD. Сигнал DTR означает физическое подключение модема к линии связи.
При этом несущая еще не выдается. После получения подтверждения
используется сигнал DSR (DTE для ЭВМ). После этого выдается сигнал RTS (ОСЕ
для модема) он выставляет несущую в линию связи и отвечает ЭВМ сигналом
CTS. Затем начинается передача.
1 Временная диаграмма считывания из АЦП
Временная диаграмма считывания из АЦП приведена на рис. 5.
Рис. 5. Временная диаграмма считывания из АЦП.
АЦП К572ПВЗ восьмиразрядный и данные из АЦП считываются не сразу в ОЗУ а
сначала записываются в регистр из которого потом считываются.
Преобразование начинается во всех АЦП одновременно обращением к
соответствующему адресу в поле адресов памяти ППУ. При выставлении адреса
на ША дешифратор подает сигнал на вход "ГашениеПреобразование" АЦП и на
управляющий вход устройства выборки и хранения (УВХ). УВХ через 04 08
мкс (машинный такт равен 1 мкс) подаст на аналоговый вход АЦП постоянное
напряжение. АЦП начнет преобразование и не более чем через 30 мкс выдаст
двоичный код который запомнится в регистрах и одновременно сигнал
READY говорящий об окончании преобразования. Сигналы готовности от разных
АЦП поступают на схему & . Когда все АЦП завершат преобразование сигнал со
схемы & поступит на вход READY МП. Адрес будет снят вследствие чего будет
снят сигнал Гаш.Преобр. По положительному фронту сигнала Гаш.Преобр. АЦП
снимет разрядные данные и сигнал READY. Одновременно с этим (т.к. адрес
будет снят с ША) данные от АЦП защелкнутся в регистрах откуда их потом
можно будет считать.
2 Временные диаграммы работы КР580ВВ51
Рис 6. Работа КР580ВВ51 в режиме асинхронной передачи
В данной системе КР580ВВ51 работает в асинхронном режиме поэтому
временные диаграммы приведены именно для этого режима. Временная диаграмма
работы КР580ВВ51 в режиме асинхронной передачи приведена на рис. 6 а в
режиме асинхронного приема на рис. 7. Скорость передачи данных 1200 битс.
2.1 Работа КР580ВВ51 в режиме асинхронной передачи
Данные записываются в микросхему в параллельном байтовом формате. При
помещении слова данных в регистр сдвига происходит автоматическое
присоединение к слову старт-бита бита контроля по четности 2-х стоп-бит
(итого получается 12 бит). Т.к. в управляющем слове в разряде DO стоит 1-
ца то на входе CTS устанавливается напряжение низкого уровня. Информация в
виде последовательного потока данных подается на вывод TxD (на рис.6 2
Сначала записывается управляющее слово "Передача". В этот момент CD
высокого уровня (т.к. записываем команду). Пока слово не поступило в
регистр передатчика выходы TxRDY и TxEND высокого уровня. При записи байта
данных в регистр передатчика на выходе TxEND и TxRDY устанавливается L
уровень далее байт переправляется в регистр сдвига и начинает выдвигаться
в линию TxD при этом TxRDY становится Н уровня. Узнав об этом путем
программного опроса слова состояния УСАПП МП отправляет в регистр
передатчика новый байт что приводит к установке L уровня на TxRDY (TxEND
остается в том же состоянии). Сигналу TxRDY соответствует триггер TxRDY в
слове состояния УСАПП поэтому МП может программно узнать когда отсылать
2.2 Работа КР580ВВ51 в режиме асинхронного приема
Когда в асинхронном режиме не передается информация на линии RxD
держится высокий уровень. Появление на входе напряжения низкого уровня
свидетельствует о приходе старт-бита. Истинность этого бита проверяется
вторично стробированием его в середине. Если наличие напряжения низкого
уровня подтверждается то запускается счетчик битов который позволяет
определить конец передачи символа.
Сначала происходит запись команды в регистр команд УСАПП. Сигналы CD и
WR аналогичны передаче. По линии RxD выставленные биты постепенно попадают
регистр сдвига приемника УСАПП и когда весь байт войдет в регистр
сдвига происходит перемещение его в регистр приемника УСАПП. После этого
МП может считать символ проследив эту ситуацию по разряду RxRDY в- слове
состоянии УСАПП. Этот триггер дублирует состояние выхода RxRDY. После
считывания напряжение на выходе RxRDY снова становится низкого уровня.
Рис 7. Работа КР580ВВ51 в режиме асинхронного приема
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
1 Описание алгоритма работы ППУ
После включения ППУ или после сигнала сброса (RESET) прежде всего
происходит выключение индикатора сигнализирующего об ошибке. Это
необходимо чтобы избежать ложной сигнализации об ошибке. После этого
происходит инициализация таймера для подачи сигналов ТхС и RxC к УСАППу.
Для этого канал 2 таймера программируется в режиме делителя частоты (на
). С выхода OUT2 таймера сигнал поступает на вх. ТхС и RxC KP580BB51.
Затем происходит инициализация КР580ВВ51. УСАПП программируется в режиме
асинхронных передачи и приема. Управляющее слово режима работы задает
асинхронный режим с 2-мя стоп-битами четным паритетом длиной символа - 8
бит и со скоростью передачи и приема 116 от ТхС. Это достигается загрузкой
УСРР 1111111 Ob (FEh). Затем в УСАПП записывается управляющее слово приказа
(одновременные передача и прием сброс битов ошибок) 00110111b (37h).
После инициализации УСАППа устройство переходит в режим ожидания данных
от ЦПУ. Это реализуется путем программного опроса регистра слова состояния
УСАПП. При наличии в слове состояния УСАПП взведенного байта RxRDY (бит 01
= 1) МП читает слово из регистра приемника и записывает его по
определенному адресу в ОЗУ. От ЦПУ приходят значение периода Т и маска АЦП
подлежащих опросу в данный период времени. Младшие 6 байт маски
соответствуют шести АЦП. Байт DO соотв. АЦП 1 D5 - АЦП 6. Опросу
подлежат АЦП отмеченные единицей в соответствующем разряде маски. Приняв
от ЦПУ оба байта МП анализирует биты ошибок в регистре слова состояния
УСАПП (FE РЕ ОЕ). Если ошибок при приеме не было ППУ отправляет к ЦПУ
байт подтверждения правильного приема и на этом инициализация ППУ
заканчивается. Если же были ошибки то ППУ ничего не передает ЦПУ а
сбрасывает биты ошибок в УСАПП и переходит к ожиданию повторной передачи
данных от ЦПУ. В то же время ЦПУ не получив в течении определенного
времени ответа от ППУ включает индикатор сигнализирующий о неисправности
в системе и повторно передает данные ППУ.
Получив все необходимые данные ППУ переходит к циклу опроса АЦП. Прежде
всего программируется таймер. Одного счетчика не хватает чтобы обеспечить
задержку на максимальное значение Т поэтому канал 0 программируется в
режиме делителя частоты выход счетчика 0 подключен ко входу счетчика 1 а
счетчик 1 программируется в режиме задержки. Новое значение в счетчик 1
заносится в начале каждого цикла опроса АЦП.
МП подает сигнал преобразования одновременно для всех АЦП (IDA 200п).
После того как все АЦП завершат преобразование сигнал снимается и МП
переходит к следующему действию. Происходит последовательный опрос битов
маски. Байт маски циклически сдвигается вправо после чего проверяется флаг
CY. Если CY=1 то из регистра - защелки считывается байт кода от данного
АЦП в фиксированную ячейку ОЗУ. Если же CY=0 то данный АЦП не
опрашивается и МП переходит к следующему АЦП.
Опросив все АЦП ППУ посылает ЦПУ запрос на передачу блока данных и
включает цикл ожидания ответа. Внутри этого цикла периодически
анализируется бит слова состояния УСАПП RxRDY. Если в течение этого
интервала времени ответ от ЦПУ не приходит то декрементируется счетчик
количества попыток связаться с ЦПУ. Если сделано 5 попыток а ЦПУ не
отвечает то включается индикатор и происходит останов МП. Если же попытки
еще остались то ППУ снова посылает запрос на передачу данных. При наличии
ответа от ЦПУ ППУ передает блок данных. Передача данных аналогична опросу
регистров АЦП по маске. Если данный АЦП помечен в маске единицей то
происходит передача ЦПУ байта информации от данного АЦП. Готовность
передатчика также проверяется в слове состояния yCAnn(TxRDY = DO). После
передачи данных ППУ переходит в ожидание подтверждения от ЦПУ правильности
приема. Если ответ от ЦПУ не приходит в течение времени достаточного для
этого то ППУ проверяет количество попыток связи. Если попытки вышли
включается индикатор затем происходит останов МП. Если еще остались
попытки то ППУ снова посылает ЦПУ зарос на передачу данных. Получив от ЦПУ
подтверждение правильного приема ППУ переходит в ожидание окончания
периода Т для чего периодически производит считывание из таймера "на
лету" не прекращая его работы. При обнулении счетчика 1 таймера МП
переходит в начало цикла опроса АЦП (загрузка в таймер значения Т и т.д.).
Блок-схема алгоритма работы ППУ приведена на рис. 8.
Рис. 8. Структура алгоритма работы ППУ
2 Описание алгоритма работы ЦПУ
При вызове подпрограммы "RECEIVE" ЦПУ совершает следующие действия.
Выключается индикатор сигнализирующий об ошибках. Затем происходит
программирование КР580ВВ51 аналогично тому как это делается в ППУ (тот же
режим). После этого ППУ передаются значение Т и маска АЦП. Все общение с
УСАПП как и в ППУ происходит через программный опрос регистра слова
состояния. ЦПУ переходит в ожидание ответа от ППУ. Если через определенное
время ответ от ППУ не приходит это означает обрыв линии связи1 или что
ППУ выключено или же что при приеме данных в ППУ были ошибки. В любом
случае включается индикатор сигнализирующий об ошибках и происходит
повторная передача данных для ППУ и т.д. после получения от ЦПУ
подтверждения о правильном приеме данных индикатор выключается и ЦПУ
переходит к ожиданию от запроса на передачу данных от ППУ. Таким образом
ППУ и ЦПУ можно включать в любой последовательности. Если подпрограмма
RECEIVE" в ЦПУ будет вызвана а ППУ не будет включено то у ППУ загорится
индикатор. После включения ППУ работа продолжится и индикатор выключится.
После получения от ППУ ответа в ЦПУ запускается счетчик периода времени
продолжительностью больше Т. Если в течение этого времени от ППУ не будет
получено запроса на передачу данных то включится индикатор и произойдет
выход из данной подпрограммы. Если придет запрос от ППУ то ППУ будет
послано разрешение на передачу данных и ЦПУ приготовится к приему блока
данных с информацией от АЦП.
Прием блока данных от ППУ происходит по маске АЦП. Если данный АЦП
отмечен единицей в соответствующем разряде маски то в ячейки памяти
соответствующие этому АЦП записывается из регистра приемника УСАПП байт
значения. Если же данный АЦП не подлежит опросу то поступающие в регистр
приемника данные будут передаваться в ячейки памяти соответствующие
ближайшему АЦП подлежащему опросу. Таким образом информация от каждого
АЦП всегда поступает в фиксированные ячейки памяти. После окончания приема
проверяются биты ошибок в слове состояния УСАПП. Если ошибок не было то
ЦПУ посылает ППУ подтверждение и переходит к ожиданию следующего запроса на
передачу (снова запускается счетчик времени). Если были ошибки то
подтверждение ППУ не посылается и происходит ЦПУ ожидает повторного запроса
Блок - схема алгоритма работы ЦПУ приведена на рис. 9.
Нулевой и первый каналы таймера программируются с целью обеспечить период
Т опроса АЦП. Канал 0 программируется в режиме 2 (делитель частоты). Т.к.
МП работает на частоте 99=1 МГц то загрузка в канал 0 значения 10000 (271
Oh) обеспечит выдачу сигнала OUTO с периодом 0.01 с. Точность периода Т
составляет 0.01 с поэтому пересылаемое от ППУ значение Т показывает
количество составляющих по 0.01 с в периоде. Следовательно в байте Т могут
содержаться значения от 100 до 1020 (Т может принимать значения от 1с до
2 с). Выход OUTO подключен ко входу CLK1. Значение Т загружается в канал
в начале каждого цикла опроса АЦП т.к. канал 1 программируется в режиме
Канал 2 программируется для сигналов ТхС и RxC УСАПП. Он программируется
в режиме 2. В него загружается значение 52 (34h) следовательно частота CLK
УСАПП подаваемая с F2 более чем в 50 раз превосходит частоту ТхС и RxC.
В сочетании с тем что скорость передачи УСАПП составляет 116 от ТхС это
обеспечивает скорость передачи данных в линии связи 1200 битс.
2 Выбор интервалов ожидания
При передаче данных между ППУ и ЦПУ используются временные задержки
ожидания ответа. Если через некоторое время ответ не приходит включается
индикатор. Основная временная задержка происходит при передаче данных в
последовательном коде. Время передачи одного символа (12 бит) при скорости
00 битс составляет 10 000 тактов или 0.01 с. Для передачи в обратную
сторону добавим еще 10 000 тактов и еще 10000 тактов с запасом хватит на
выполнение других участков программы. Итого мы организовываем цикл ожидания
000 тактов путем выполнения двух вложенных циклов. Такой цикл
используется в нескольких местах программы в частности при начальной
передаче исходных данных от ЦПУ к ППУ (при ожидании ЦПУ ответа от ППУ) при
ожидании разрешения на передачу данных (ППУ) при ожидании подтверждения
безошибочного приема (ППУ). Также используется еще один цикл ожидания. ППУ
должно посылать ЦПУ информацию от АЦП через интервал времени Т. Если ЦПУ не
получает вовремя этой информации то включается индикатор. Для организации
этого цикла в ЦПУ используется счетчик в который загружается значение
байта Т. Вложенные циклы обеспечивают задержку на время большее 0.01 с.
Следовательно общее время ожидания данных от ППУ больше времени Т.
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА
1 Структура адресного пространства ППУ
Структура адресного пространства памяти ППУ приведена в табл.1.
Адрес начальный Наименование элемента (устройства) (его
-адрес конечный функция)
OOOOh -01FFh Память программ (ПЗУ)
00h -040Fh Память данных (ОЗУ)
8 0 0 h 0805h Регистры АЦП АЦП 1
OCOOh OC01h OC02h Таймер: Сч. 0 Сч. 1 Сч. 2 РУС
0h Сигнал "пуск преобразования" АЦП
00h 1401h Выключить индикатор Включить
Структура адресного пространства внешних устройств ППУ приведена в табл.
h УСАПП : данные управляющие слова
2 Структура адресного пространства ЦПУ
Структура адресного пространства памяти ЦПУ приведена в табл.3.
OOOOh -OBFFh Монитор служебные программы
OCOOh-OCCOh Подпрограмма осуществляющая обмен с ЦПУ
00h Яч. памяти для хранения маски АЦП
01h-1006h Ячейки памяти для хранения данных ППУ
07h Адрес для хранения Т
FFFOh FFF1h Индикатор : выключить включить
Структура адресного пространства внешних устройств ЦПУ приведена в табл.
ООh 01h УСАПП : данные Управляющие слова
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ
В состав ППУ входят следующие микросхемы: микропроцессор КР580ВМ80А ГТИ
КР580ГФ24 таймер КР580ВИ53 контроллер последовательного интерфейса
КР580ВВ А системный контроллер КР580ВК38 микросхема ПЗУ 556РТ5 ОЗУ
К155РУ2 АЦП К572ПВЗ микросхемы выборки и хранения аналоговых сигналов
КР1100СК2 а также другие микросхемы обеспечивающие работу устройства.
Неиспользуемые выводы микросхем заземляем чтобы уменьшить электромагнитные
ГТИ служит для формирования тактовых импульсов которые поступают на МП
таймер и контроллер поел интерфейса. Также через ГТИ подается сигнал
сброса от внешней кнопки и сигнал READY.
Таймер является основным времязадающим устройством в ППУ. Для организации
продолжительных временных задержек выход OUTO подан на вход CLK1. Канал 2
обеспечивает сигналы ТхС RxC поэтому выход OUT2 подан на входы RxC TxC
КР580ВВ51А. Счетчики таймера всегда выбраны поэтому на его входы GATED
GATE1 GATE2 подается постоянное напряжение +5 В через резистор 1кОм.
Контроллер поел интерфейса является единственным внешним устройством
поэтому его вывод CS заземлен но в выбранном состоянии в выбранном
состоянии он находится только при обращении к ВУ т.е. когда системный
контроллер выдает сигналы IOR или IOW.
Вход CS микросхем К155РУ2 подключен к дешифратору поэтому эти микросхемы
не будут выбираться при адресах меньше 1 Кбайта в частности при обращении
Для обеспечения необходимой временной задержки при выдаче с дешифратора
сигнала преобразования для АЦП выходы READY всех дешифраторов поданы на
вход микросхемы &. Когда все АЦП завершат преобразование на вход READY МП
через ГТИ пойдет сигнал и МП перейдет к следующему такту. Данные с цифровых
выходов АЦП защелкнутся в регистрах откуда потом могут быть прочитаны. При
обращении к др. устройствам сигнал READY подается сразу т.к. он подключен
к выходам дешифратора (также через схему 1).
Перечень элементов приведен в приложении 1.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Микропроцессоры. В 3-х кн. Под ред. Преснухина Л.Н. М.:Высш. шк.
Федорков Б.Г. Телец В.А. Микросхемы ЦАП и АЦП: функционирование
применение. М.: Энергоатомиздат 1990. 320с.
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и
Энергоатомиздат 1989. 376с.
Кузнецова Г.В. Хмелевский И.В. Требованию к оформлению
Методические указания к курсовому проектированию по курсам "ЭМСТ" и
Калабеков В.А. Микропроцессоры и их применение в системах передачи и
сигналов. М: Радио и связь 1988. 368с.
Микропроцессоры и микропроцессорные комплекты интегральных
Справочник. Под ред. Шахнова В.А. Том 1. Л.: Радио и связь 1988. 368с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Машиностроение 1993. 256с.
Фор Поз Обозначение
Изм № документа Периферийное процессорное устройство
Разрабо Валиев М. Ф.
тал лист листов листов
ПровериХмелевский И. В.

icon Текст (12).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА ФОРМИРОВАНИЯ АНАЛОГОВЫХ СИГНАЛОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ 6
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ. 8
1 Микропроцессор К580ВМ80 8
2. Генератор тактовых импульсов КР580ГФ24 9
3. Шинный формирователь КР580ВА86 9
4. Системный контроллер КР580ВК28 10
5. Таймер КР580ВИ53 10
6. Универсальный приёмопередатчик К580ВВ51А 12
7. D-регистр защелка КР580ИР82. 14
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232. 16
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ 17
ОПИСАНИЕ РАБОТЫ ППУ 19
Блок-схемы алгоритмов работы устройства 19
1. Основная программа выполняемая в ППУ 23
2. Подпрограмма инициализации УСАПП 24
3. Подпрограмма инициализации таймеров 24
4. Подпрограмма принятия 2-го и последующих байт командной посылки 25
5. Подпрограмма сброса признаков ошибки и отправки запроса на повторную
6. Подпрограмма инициализации ЦАП 25
7. Подпрограмма инициализации таймера 26
8. Подпрограмма отправки посылки с масштабным коэффициентом 27
9. Подпрограмма переинициализации таймеров 28
10. Подпрограмма обновления масштабных коэффициентов ЦАП 29
11. Подпрограмма предназначенная для обмена с ППУ (выполняется на ЦПУ)
12. Подпрограмма отправки байта в ППУ 30
13. Подпрограмма получения байта от ППУ 30
14. Подпрограмма инициализации УСАПП в ЦПУ 30
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 33
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве контроллеров интерфейса использовать БИС КР580ВВ55
с адресацией к ним как к ячейкам памяти. Комплекс предназначен для
формирования аналоговых напряжений и содержит 7 ЦАП К572ПА2 с адресацией к
ним как к внешним устройствам лежащим в поле адресов периферийного
процессора. Значения напряжений и номера ЦАП подлежащих инициализации а
также время в течение которого аналоговое напряжение должно присутствовать
на выходе данного канала (период инициализации Т) определяются программой
выполняемой в центральном процессорном устройстве и передаются
периферийной стороне в виде единого блока. Период инициализации любого ЦАП
составляет Т секунд и может быть различным для всех ЦАП. Численные значения
Т лежат в пределах 21-95 с точностью 05 с. После завершения инициализации
любого ЦАП напряжение на его выходе должно равняться нулю. Масштаб
выходного напряжения любого ЦАП К=1 и остается постоянным в течение всего
периода инициализации Т но может изменяться от периода к периоду. Его
конкретное значение зависит от программы выполняемой периферийным
процессором при этом значения всех масштабных коэффициентов в каждый
период инициализации передаются в фиксированные ячейки ОЗУ центрального
процессорного устройства. Процедура инициализации всех ЦАП полностью
организуется периферийным процессором. Наличие в блоке данных Т=0 для каких-
либо ЦАП означает что период инициализации продолжается до поступления
новых данных от центрального процессорного устройства. Периодичность
обращения центрального процессорного устройства к периферийному не менее 2-
х минут. В качестве времязадающего устройства использовать БИС таймера
КР580ВИ53 с адресацией к ней как к внешнему устройству лежащему в поле
адресов периферийного процессора.
Сигнал определяется как напряжение или ток который может быть
передан как сообщение или как информация. По своей природе все сигналы
являются аналоговыми будь то сигнал постоянного или переменного тока
цифровой или импульсный. Тем не менее принято делать различие между
аналоговыми и цифровыми сигналами. Цифровым сигналом называется сигнал
определённым образом обработанный и преобразованный в цифры. Обычно эти
цифровые сигналы связаны с реальными аналоговыми сигналами но иногда между
ними и нет связи. В качестве примера можно привести передачу данных в
локальных вычислительных сетях (LAN) или в других высокоскоростных сетях .В
случае цифровой обработки сигнала (ЦОС) аналоговый сигнал преобразуется в
двоичную форму устройством которое называется аналого-цифровым
преобразователем (АЦП). На выходе АЦП получается двоичное представление
аналогового сигнала которое затем обрабатывается арифметическим цифровым
сигнальным процессором (DSP). После обработки содержащаяся в сигнале
информация может быть преобразована обратно в аналоговую форму с
использованием цифро-аналогового преобразователя (ЦАП). Другой ключевой
концепцией в определении сигнала является тот факт что сигнал всегда
несет некоторую информацию. Это ведет нас к ключевой проблеме обработки
физических аналоговых сигналов – проблеме извлечения информации.
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ
Комплекс состоит из центрального и периферийного процессорных устройств
соединённых интерфейсом RS-232. На следующих двух страницах приведены
структурные схемы центрального и периферийного процессорных устройств.
В ППУ используются следующие БИС:
К580ВМ80 - однокристальный центральный процессор.
К580ГФ24 - генератор тактовых последовательностей с кварцевой
стабилизацией частоты.
К580ВК28 -системный контроллер.
К580ВВ51 - контроллер последовательного интерфейса совместимого с RS-
К580ВА86 - шинные формирователи. Введены для повышения нагрузочной
К580ВИ53 -трёхканальные программируемые таймеры.
К580ИР82 - регистры-защёлки введённые для фиксации данных на входах ЦАП.
К572ПА1 - 10-разрядные ЦАП.
К573РФ41 - ИМС ПЗУ 64кбит с организацией 4к*8
К565РУ2 - ИМС статического ОЗУ.
Также в ППУ использовано несколько ИМС малой степени интеграции - К155ЛАЗ
(4 двухвходовых элемента И-НЕ) ОУ К153УДЗ дешифратор К155ИД10.
Функциональная схема ППУ приведена на рис.3. Принципиальная схема
устройства прилагается.
Центральное процессорное устройство может быть реализовано аналогично
его отличие состоит в отсутствии дешифратора адреса т.к. достаточно
использовать 4 старших линии ША для идентификации ИМС к которой требуется
обратиться а также отсутствием двух таймеров задающих интервалы времени
для блоков ЦАП и самих блоков ЦАП.
Рис. 1. Структурная схема ППУ
Рис. 2. Простейшая структурная схема ППУ
Рис. 3. Функциональная схема ППУ
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ.
1 Микропроцессор К580ВМ80
ИМС КР580ВМ80А - функционально-законченный однокристальный параллельный 8-
разрядный микропроцессор с фиксированной системой команд применяется в
качестве центрально процессора в устройствах обработки данных и управления.
Микропроцессор имеет разделенные 16-разрядный канал адреса и 8-разрядный
канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти
объемом до 65536 байт 256 устройств вводавывода.
Таблица 1 Назначение выводов микропроцессора
Вывод Обозначение Тип вывода Функциональное назначение
25-27А10 АО-А2 Выходы Канал адреса
-10 D4-D7 D3-DO Входывыходы Шина данных
Uo Напряжения источника смещения
Reset Вход Устан. в исходное состояние
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
Ucci - Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 - Напряжение питания +12В.
2. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2 предназначен
для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения уровня
Таблица 2 Назначение выводов микросхемы
Вывод Обозначение Тип выводаФункциональное назначение выводов
SR Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
С Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucft Вход Напряжение питания +12В
С2 Выход Тактовые сигналя - фаза С2
С1 Выход Тактовые сигналя - фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Use Вход Напряжение питания +5В
3. Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный формирователь
предназначенный для обмена данными между микропроцессором и системной
шиной; обладают повышенной нагрузочной способностью имеет третье состояние
Таблица 3 Назначение выводов микросхемы
Вывод Обозначение Тип вывода Функциональное назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ucc - Напряжение питания 5В±5%
4. Системный контроллер КР580ВК28
Микросхема КР580ВК28 - системный контроллер и буферный регистр данных
применяемых в микропроцессорных системах на базе микропроцессора КР580ВМ80А
для формирования управляющих сигналов и как буферный регистр данных.
Системный контроллер формирует управляющие сигналы RD WR RDIO WRIO INTA
по сигналам состояния микропроцессора а также обеспечивает прием и
передачу 8-разрядной информации между каналом данных микропроцессора по
выводам D7-DO и системным каналом по выводам DB7-DBO.
Таблица 4 Назначение выводов микросхемы
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DB4 DB7 Выход вход Канал данных системы
101D4 D7 Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и выдачей
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
Ucc Вход Напряжение питания +5В
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей системой управления. Каждый из трех каналов может быть
независимо настроен на работу в одном из шести режимов. Обмен информацией с
микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных. Максимальное значение счета в
В данном устройстве используется 3 ИМС таймеров - две (DD17 DD21) для
управления шестью каналами ЦАП и одна (DD26) для формирования тактовых
последовательностей для контроллера последовательного интерфейса К580ВВ51А
и также для формирования тактовых последовательностей для всех каналов
Каналы 0 и 1 микросхемы DD26 работают в режиме 2 (временная диаграмма
работы приведена на рис.4.) Коэффициент деления при тактовой частоте
системы 2МГц (кварцевый резонатор 18МГц) для канала О N=6667 (для скорости
передачи по последовательному интерфейсу. ЗООбод) Для канала 1: получить
коэффициент деления достаточный для получения на выходе частоты 5Гц (=10)
с помощью данного таймера невозможно однако можно получить частоту 40 Гц
(коэффициент деления N=200000040=50000) после чего и записывать в
регистры таймеров DD17 DD21 значения побитно сдвинутые влево на 3 бита
(что равноценно увеличению записываемого числе в 8 раз) и умноженные на 5
(это возлагается на программное обеспечение ЦПУ и не описывается т.к.
такая реализация несколько повышает универсальность устройства). При этом
возможности таймеров DD17 DD21 используются не полностью (максимальное
значение записываемое в регистры составит Nmax=98*40=3290 что почти в 20
раз меньше максимально возможного). Минимальное значение записываемое в
регистры составит Nmin=10*40=400
Все каналы таймеров DD17 DD21 работают в режиме 0. Временная диаграмма
работы таймера в этом режиме приведена на рис.5
Рис.4 Временная диаграмма работы таймера в режиме 2
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO ВходывыходыКанал данных
518 СОС1С2 Входы Синхронизация каналов 0-2
13 17 OUTO OUT1 OUT2 Выходы Сигналы каналов 0 1 2
14 16 CEO CE1.CE2 Входы Сигналы каналов 0 1 2
20 АО.А1 Входы Сигналы выбора каналов 0 1
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
6. Универсальный приёмопередатчик К580ВВ51А
Микросхема КР580ВВ51 - универсальный синхронно-асинхронный
приёмопередатчик (УСАПП) предназначен для аппаратной реализации
последовательного протокола обмена между микропроцессором К580ВМ80А и или
другим устройством способным запрограммировать данную микросхему на
требуемый режим работы и каналами передачи последовательной дискретной
ИМС преобразует параллельный код получаемый через ШД от центрального
процессора в последовательный поток символов со служебными битами и выдаёт
этот поток в последовательный канал связи с различной скоростью а также
выполняет обратное преобразование: последовательный поток символов - в
параллельное 8-разрядное слово. Передаваемая и получаемая информация при
необходимости может контролироваться на чётностьнечётность.
ИМС УСАПП может быть применена для реализации различных
последовательных интерфейсов (в т.ч. RS-232). Возможна работа ИМС в режимах
синхронного или асинхронного приёмапередачи.
Максимальная скорость передачиприёма информации 64Кбод минимальная не
В описываемом устройстве ИМС работает в режиме асинхронного
приёмапередачи на скорости ЗООбод (внутренний делитель частоты
синхронизации равен единице). Временные диаграммы работы УСАПП в названных
режимах приведены на рис.6 и рис.7. Для того чтобы запрограммировать ИМС
для работы в асинхронном режиме необходимо после сброса (сигналом SR или
программного) занести в ИМС инструкцию режима работы. В описываемом
устройстве это код 11111101 b=FDh (соответствует работе с двумя стоп-
битами с контролем по чётности длиной слова 8 бит в асинхронном режиме с
Асинхронный режим избран т.к. при обмене данными между ЦПУ и ППУ
пакеты имеют малую длину а также потому что это позволяет уменьшить
количество линий связывающих устройства (не требуется отдельная линия для
сигнала синхронизации). Два стоп-бита и контроль чётности используются для
повышения надёжности обмена. Длина слова в 8 бит выбрана потому что это
совпадает с разрядностью ШД процессора К580ВМ80.
После инициализации УСАПП управление работой ИМС осуществляется записью
командных инструкций и чтением слова состояния.
Рис.5 Временная диаграмма работы таймера в режиме 0
Рис.6 Временная диаграмма работы УСАПП К580ВВ51А в режиме асинхронной
Рис.7 Временная диаграмма работы УСАПП К580ВВ51А в режиме
асинхронного приёма.
7. D-регистр защелка КР580ИР82.
Микросхема КР580ИР82 - 8-разрядный адресный D-регистр-защёлка без
инверсии с тремя состояниями на выходе предназначен для связи
микропроцессора с системной шиной; обладает повышенной нагрузочной
ИМС состоит из восьми функционально одинаковых блоков и схемы
управления. Блок содержит D-триггер - «защёлку» и мощный выходной вентиль.
При помощи схемы управления производится опробирование записываемой
информации и управление третьим состоянием выходных вентилей. В зависимости
от состояния стробирующего сигнала STB ИМС может работать в двух режимах: в
режиме шинного формирователя и в режиме хранения (при высоком уровне
сигнала STB ИМС работает в режиме формирователя при низком - в режиме
Назначение выводов ИМС КР580ИР82
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 DO-D7 Вход Информационная шина
ОЕ Вход Разрешение передачи (управление
STB Вход Стробирующий сигнал
-19 Q7-QO Выходвход Информационная шина
Микросхема К572ПА1 - умножающий 10-разрядный ЦАП. Предназначен для
преобразования входного кода в выходной ток пропорциональный значению
входного кода и опорному напряжению подаваемому на вывод 15. В описываемом
устройстве применяется в типовом включении.
Назначение выводов ИМС К572ПА1
li Выход Аналоговый выход (прямой)
2 Выход Аналоговый выход (инверсный)
-13 DO-D9 Вход Цифровые входы
Uo6p Вход Образцовое напряжение
Ucc - Напряжение питания (+15В)
Roc Вход Вход для резистора обратной связи
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232.
Интерфейс RS232 - последовательный интерфейс предназначенный для
обмена информацией между различными цифровыми устройствами на скоростях от
до 9600 бод. В простейшей реализации интерфейса устройства соединяются
трёхжильным кабелем («Земля» «Входящие данные» «Исходящие
данные»).Возможно использование 4-й жилы -«Подтверждение готовности».
Логические уровни представляются напряжением ±12В.
К устройствам кабель подключается с использованием стандартного 25-
контактного разъёма. Используются контакты 0 («Земля») 2 («Исходящие
данные») 3 («Входящие данные»)
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ
Карта адресов памяти (в скобках приведены условные обозначения
которые применены на
блок-схемах алгоритмов и в программах):
00h-23FFh Диапазон адресов для вывода на ЦАПО (DACO)
00h-27FFh Диапазон адресов для задания масштабного
коэффициента ЦАПО (DACOC)
00h-33FFh Диапазон адресов для вывода на ЦАП1 (DAC1)
00h-37FFh Диапазон адресов для задания масштабного
коэффициента ЦАП1 (DAC1C)
00h-43FFh Диапазон адресов для вывода на ЦАП2 (DAC2)
00h-47FFh Диапазон адресов для задания масштабного
коэффициента ЦАП2 (DAC2C)
00h-53FFh Диапазон адресов для вывода на ЦАПЗ (DAC3)
00h-57FFh Диапазон адресов для задания масштабного
коэффициента ЦАПЗ (DAC3C)
00h-63FFh Диапазон адресов для вывода на ЦАП4 (DAC4)
00h-67FFh Диапазон адресов для задания масштабного
коэффициента ЦАП4 (DAC4C)
00h-73FFh Диапазон адресов для вывода на ЦАП5 (DAC5)
00h-77FFh Диапазон адресов для задания масштабного
коэффициента ЦАП5 (DAC5C)
00h Регистр данных 0-го канала таймера DD17
(соответствует ЦАПО) (TIMODO)
10h Регистр данных 1-го канала таймера DD17
(соответствует ЦАП1) (TIMOD1)
20h Регистр данных 2-го канала таймера DD17
(соответствует ЦАП2) (TIMOD2)
30h Регистр управляющего слова таймера DD17
00h Регистр данных 0-го канала таймера DD21
(соответствует ЦАПЗ) (TIM1 DO)
08h Регистр данных 1-го канала таймера DD21
(соответствует ЦАП4) (TIM1D1)
10h Регистр данных 2-го канала таймера DD2
(соответствует ЦАП5) (TIM 1D2)
18h Регистр управляющего слова таймера DD21 (TIM1CW)
Карта адресов устройств вводавывода:
C0h Регистр данных УСАПП. (COMD)
h Регистр управления УСАПП. (СОМС)
h Регистр данных 0-го канала таймера DD26 (TIM2DO)
h Регистр данных 1-го канала таймера DD26 (программирование
частота для таймеров DD17.DD21) (TIM2D1)
h Регистр данных 2-го канала таймера DD26
З0h Регистр управляющего слова таймера DD26 (TIM2CW)
При распределении адресного пространства использован метод
частичной дешифрации.
После включения ЦПУ и ППУ в ППУ происходит инициализация таймеров
затем сброс всех ЦАП и в последнюю очередь инициализация контроллера
последовательного интерфейса (К580ВВ51А) .После этого ППУ готово к работе и
воспринимает посылки от ЦПУ.
Посылки из ЦПУ в ППУ могут быть двух типов - командные или сообщения об
ошибке передачи. Сообщения об ошибке передачи имеют длину 1 байт (его
значение FFh) командные посылки имеют длину 4 байта:
Команда инициализации ЦАП:
-й байт: ООп - признак команды нициализации. 2-й байт: номер
-й байт: младший байт кода для ЦАП
-й байт: старший байт кода для ЦАП
-й байт: младший байт кода периода инициализации.
-й байт: старший байт кода периода инициализации.
Подпрограмма передачи управляющей посылки из ЦПУ считывает данные из
массива (в нём по порядку должны быть записаны 2-6 байты командной
посылки) который должен быть заполнен программой выполняющейся на ЦПУ.
Сообщения об ошибке передачи передаются когда при передаче информации
от ППУ в ЦПУ или обратно происходят ошибки передачи данных: ошибка формата
ошибка чётности или ошибка переполнения. Такие сообщения состоят из
единственного байта FFh. Более надёжные (и сложные) способы контроля
передачи данных не используются т.к. появление ошибок при передаче на
скорости 300 бод маловероятно вероятность же ошибок не корректируемых
применёнными средствами исчезающе мала.
После успешного получения командной посылки ППУ выполняет команду
(происходит фиктивное обращение к ячейке из области адресов одного из ЦАП
затем запускается соответствующий канал таймера) после чего отправляет в
ЦПУ пакет состоящий из четырёх байт. Формат пакета следующий:
-й байт: 00h- признак пакета с масштабным коэффициентом
-й байт: младший байт кода масштабного коэффициента.
-й байт: старший байт кода масштабного коэффициента.
Принятые данные записываются в массив в порядке поступления.
Блок-схемы алгоритмов работы устройства
В блок-схемах алгоритмов работы ППУ и в программах используются
следующие обозначения:
FlagAddr - начальный адрес области памяти из 6 байт в которой хранятся
флаги постоянной инициализации таймеров.
AppDataAddr - начальный адрес массива из пяти байт в который
записываются принимаемые от ЦПУ данные.
CoeffsAddr - начальный адрес области памяти из 12 байт В которой
подряд записаны двухбайтные коды масштабных коэффициентов ЦАП в порядке
возрастания номера ЦАП (запись в этот массив должна выполняться
подпрограммой обновления масштабных коэффициентов)
StackPtr -адрес вершины стека
В подпрограмме обновления масштабных коэффициентов ЦАП может быть
использован канал 2 таймера DD26 - для отслеживания временных интервалов
т.к. использованные ИМС таймеров позволяют программно считывать значения
счётчиков во время работы.
Рис. 9 Алгоритм отправки байта в ППУ
Рис. 10 Алгоритм принятия байта из ППУ
Рис. 8. Алгоритм программы выполняющейся в ППУ
Рис. 9. Алгоритм программы отправки байта в ППУ
Рис. 10. Алгоритм программы принятия байта из ППУ
1. Основная программа выполняемая в ППУ
Метка Команда Комментарий
MainBeginCALL Timerlnit Вызов подпрограммы инициализации таймеров
CALL COMInit Вызов подпрограммы инициализации УСАПП
CALL Вызов подпрограммы обновления масштабных
TimersRefresh коэффициентов ЦАП
MainLoop CALL DACReinit Вызов подпрограммы обновления масштабных
IN COMC Считывание слова состояния УСАПП
MOV BA Сохранение слова состояния в per. В
ANI 02h Выделение бита D1
JNZ Mainl Если байт поступил переход к обработке.
JMP MainLoop Возврат на начало
ANI 38h Выделение из слова состояния бит признаков
JZ Main2 Если флаги ошибок не взведены продолжается
CALL Retry Вызов подпрограммы сброса признака ошибки и
отправления запроса повторной передачи
Main2 IN COMD Считывание принятого байта
JZ MainS Если принятый байт - начало командной
посылки программа продолжается
CALL Send Иначе вызов подпрограммы передачи посылки с
масштабным коэффициентом
MainS CALL ReceiveAII Вызов подпрограммы получения остальных байт
JZ Main4 Если не было ошибок продолжение
CALL SendErReq Вызов подпрограммы передачи запроса о
повторной передаче команды
Main4 CALL DACReinit Вызов подпрограммы обновления масштабных
CALL DACInit Инициализация нужного ЦАП
CALL Timerlnit Инициализация соответствующего таймера
CALL Send Вызов подпрограммы повторной передачи
посылки с масштабным коэффициентом
JMP MainLoop Вызов подпрограммы передачи посылки с
2. Подпрограмма инициализации УСАПП
COM Init MVI A FDh Запись в аккумулятор байта FDh
OUT СОМС Вывод управляющего слова в регистр команд
LHLD StackPtr Загрузка в HL адреса вершины стека
SPHL Копирование его в SP
RET Возврат из подпрограммы
3. Подпрограмма инициализации таймеров
TimerlnitMVI A 34h Занесение в аккумулятор байта 34h
OUT TIM2CW Занесение управляющего слова в управляющий
OUT TIM2DO Занесение в РД 0-го канала таймера младшего
OUT TIM2DO Занесение в РД 0-го канала таймера старшего
MVI A74h Начало инициализации 1-го канала таймера
MVIA30h Начало инициализации 0-х каналов таймеров
MVI A70h Начало инициализации 1-х каналов таймеров
MVI ABOh Начало инициализации 1-х каналов таймеров
STA FlagAddr Обнуление флагов
4. Подпрограмма принятия 2-го и последующих байт командной посылки
ReceiveAIMVI B0 Обнуление счётчика полученных байт
LHLD AppDataAddr Загрузка в HL начального адреса области
памяти в которой будут сохраняться принятые
RecLoop IN COMC Считывание слова состояния УСАПП
AMI 02h Выделение признака поступления нового байта
JNZ Red Если байт поступил программа переход к
CALL Вызов подпрограммы переинициализации
TimersRefresh таймеров
JMP RecLoop Переход на начало цикла
Red IN COMD Считывание поступившего байта
STAXHL Сохранение принятого байта в ячейке памяти
INXHL Инкремент адреса по которому будет
записываться следующий байт
INRB Увеличение счётчика полученных байт
MVI A 05h Занесение в аккумулятор числа для сравнения
JNZ RecLoop Если В не равен 5 продолжение цикла
5. Подпрограмма сброса признаков ошибки и отправки запроса на
SendErReq IN COMD Считывание принятого байта из регистра
MVIA 15h Занесение управляющего слова для
сброса признаков ошибки в аккумулятор.
OUT COMC Занесение управляющего слова в упр. регистр
SndLoop IN COMC Считывание состояния УСАПП
ANIOIh Выделение признака готовности к передаче
JNZ Snd1 Если УСАПП готов продолжение
JMP SndLoop Переход на начало цикла
OUT COMD Занесение в РД УСАПП байта
сигнализирующего о необходимости повторной
6. Подпрограмма инициализации ЦАП
DACInit LHLD DACO Загрузка в HL адреса начала диапазона
адресов относящихся к ЦАПО
LXI DE 1000И Занесение в РП ВС числа 1000h
LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
CMP В Сравнить содержимое аккумулятора с номером
JZ DACI1 Если они равны закончить цикл
DADDE Сложение DE и HL
INRB Инкремент регистра В
DACI1 LDA AppDataAddr+1Загрузка в аккумулятор младшего байта кода
MOV EA Занесение его в Рг. Е
LDA AppDataAddr+2Загрузка в аккумулятор старшего байта кода
MOV DA Занесение его в Рг. D
DADDE Сложение DE и HL (рез-т помещается в HL)
MVI M OOh Фиктивное обращение к ячейке памяти
7. Подпрограмма инициализации таймера
TimerlnitIDA AppDataAddr+4Считывание младшего байта кода периода
инициализации в аккумулятор
JNZ Timlni Если байт был ненулевым продолжается
LDA AppDataAddr+5Считывание младшего байта кода периода
JNC Timlni Если байт был ненулевым продолжается
LHLD FlagAddr Загрузка в HL адреса начала массива флагов
ADDH А складывается с Н рез-т записывается в А
MOV HA Рез-т копируется в Н
MVI M1 Запись флага
Timlni LHLD TIMODO Загрузка в HL адреса РД 0-го канала ЦАПО
JC Timlni2 Переход если номер ЦАП больше 2
Timlni2 MVI B8h Mult=8h
SUI3 Уменьшить содержимое аккумулятора на 3
MOV DA Копирование аккумулятора в D
RLC Циклический сдвиг содержимого аккумулятора
ADI 30h Добавление 30h к содержимому аккумулятора
MOV LC В L копируется младшая часть адреса регистра
MOV M A Запись в регистр управления таймера
MVI L.OOh Обнуление L
DCRD Цикл в котором Addr=Mult*Num
LDA AppDataAddr+4Загрузка в аккумулятор младшего байта кода
периода инициализации
MOV MA Запись младшего байта кода периода
инициализации в РД таймера
LDA AppDataAddr+5Загрузка в аккумулятор старшего байта кода
MOV M A Запись старшего байта кода периода
ADDL Сложение L с аккумулятором
MOV LA Запись результата в L
MVI M 0 Сброс флага постоянной инициализации
8. Подпрограмма отправки посылки с масштабным коэффициентом
Send IN COMC Считывание слова состояния УСАПП
AMI 01 h Выделение признака готовности передатчика
JNZ Sendl Если передатчик готов - выход из цикла
CALL Переинициализация таймеров
JMP Send Переход на начало цикла
Sendl OUT COMD Запись в РД УСАПП байта признака начала передачи
JNZ SendS Цикл ожидания готовности передатчика
SendS LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
SendS LHLD CoeffsAddr Загрузка в HL начального адреса массива
ADDA.L Сложение аккумулятора и L
ADDA.L Сложение аккумулятора и L (Требовалось умножить на
MOV LA Копирование результата в L
MOVA.M Загрузка в аккумулятор младшего байта коэффициента
OUT COMD Передача младшего байта коэффициента
JNZ Send? Цикл ожидания готовности передатчика
Send? INX HL Увеличение адреса из которого будет читаться
i старший байт масштабного коэффициента
MOVA.M Загрузка в аккумулятор старшего байта масштабного
OUT COMD Передача старшего байта коэффициента
JNZ Send9 Цикл ожидания готовности передатчика
9. Подпрограмма переинициализации таймеров
TimersRefresLHLD FlagAddr Загрузка в HL адреса массива флагов
MVI E.OOh Сброс счётчика
TimRefd MOVA.M Загрузка очередного аккумулятор
JZ TimeRefrS Если флаг не установлен переход к концу цикла
PUSH HL Сохранить адрес в стеке
LHLD TIMODO Загрузка в HL адреса РД канала таймера DD17
CPI2 Сравнение счётчика с 2
RLC Сдвиг А влево на 6 бит
ADI 30h Увеличение аккумулятора ЗОН
MVI B.OOh Подготовка к записи Byte в РУ таймера
MOV MA Запись управляющего в РУ таймера
ADDL Цикл умножения
TimeRefrS MVI MFFh Запись максимальных значений в РД таймера
JNZ TimeRefrl Возврат на начало цикла
10. Подпрограмма обновления масштабных коэффициентов ЦАП
DACReinit MVI C5 Обнуление счётчика
LHLD DACOC Загрузка в HL адреса начала области адресов
отведённых для задания масштабного коэффициента
DACRel CALL GetNewCoeff Вызов подпрограммы определения нового
масштабного коэффициента для ЦАП номер
которого занесён в С (код этой подпрограммы на
приводится т.к. не задан алгоритм по которому
определяются масштабные коэффициенты.
Подпрограмма не должна модифицировать HL
возвращаемое значение должно находиться в
регистровой паре DE
PUSH HL Сохранение в стеке пары HL
DADDE Сложение DE и HL (Рез-т в HL)
MVI M.OOh Фиктивное обращение к ячейке
ADDH Увеличение HL на ЮООп
JNZ DACRel Если счётчик не нуль продолжение цикла
Обозначения применённые в тексте подпрограммы:
СОМС - адрес УВВ соответствующего РД УСАПП (предполагается что УСАПП
COMD - адрес УВВ соответствующего РУ УСАПП (предполагается что УСАПП
Предполагается также что прерывания от УСАПП не используются.
Data - адрес начала массива в котором по порядку находятся следующие
данные: номер ЦАП подлежащего инициализации младший байт кода выходного
напряжения ЦАП старший байт кода выходного напряжения ЦАП (его старшие 4
бита должны быть нулевыми)младший и старший байты кода периода
инициализации умноженного на 40 (т.к. за секунду таймером отсчитывается 40
InData - адрес начала массива в который будут помещены (по
порядку):номер ЦАП младший байт масштабного коэффициента старший байт
масштабного коэффициента
BeginExchangeMVI A00h Занесение в аккумулятор байта который
CALL SendByte Вызов подпрограммы отправки байта в ППУ
(в аккумуляторе находится сам байт)
MVI E.OOh Обнуление счётчика
ЕхсМ LHLD Data Загрузка в HL адреса по которому
находятся данные которые надо послать
DADDE HL=HL+C4eT4HK
MOV AM Загрузка в аккумулятор очередного
байта который надо отправить
INRE Инкремент счётчика
MOVA.E Счётчик копируется в аккумулятор
CPI5 Сравнение с количеством байт которые
JNZ ExcM Возврат на начало цикла если не все
MVI E00h Обнуление счётчика
Ехсп2 CALL ReceiveByte Вызов подпрограммы получения байта из
ППУ (полученный байт находится в
AMI 38h Выделение из слова состояния признаков
JZ Exch3 Если ошибок не было переход дальше
IN COMD Считывание байта принятого с ошибкой
MVI A.FFh Занесение в аккумулятор кода признака
JMP Exch2 Переход к повторному приёму
JNZ BeginExchangeЕсли принят признак запроса на
повторную передачу переход
LHLD InData Загрузка в HL адреса начиная с
которого будут размещены получаемые
MVI E3h Обнуление счётчика
Exch4 CALL ReceiveByte Получение очередного байта
MOV MA Сохранение его в ячейке памяти
INXHL Инкремент адреса
DCRE Декремент счётчика
JNZ Exch4 Продолжение цикла если не все байты
ANI 38h Выделение признаков ошибок
OUT COMC Сброс признаков ошибок
CALL SendByte Отправка запроса на повторную передачу
12. Подпрограмма отправки байта в ППУ
ANI 01h Цикл ожидания передатчика
OUT COMD Запись байта в РД УСАПП
13. Подпрограмма получения байта от ППУ
ReceiveByte IN COMC
ANI 02h Цикл ожидания готовности приёмника
IN COMD Считывание принятого байта в
14. Подпрограмма инициализации УСАПП в ЦПУ
OUT СОМС Сброс УСАПП
OUT СОМС Запись в РУ УСАПП слова режима
В этом курсовом проекте было разработано устройство которое может быть
использовано для формирования аналоговых сигналов с достаточно точным
уровнем и заданной длительностью по некоторой программе. Одно из применений
такого устройства - формирование управляющих сигналов для различных
устройств (например управление включением и мощностью электродвигателей
при подключении выходов устройства к достаточно мощным усилителям).
Возможны также другие применения.
В ходе проектирования был более детально изучен микропроцессорный
комплект К580 возможные схемотехнические решения на его основе а также
программирование на языке Ассемблер для процессора К580ВМ80.
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
УСАПП - универсальный синхронно-асинхронный приёмопередатчик
РД - регистр данных.
РУ - регистр управления
ИМС - интегральная микросхема
ЦАП - цифроаналоговый преобразователь
ОУ - операционный усилитель
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Мокрецов В.П. «Микропроцессоры и МПС». Учебное пособие. Часть 1.
Екатеринбург: УГТУ-УПИ 1999. 125с.
«Микропроцессоры и микропроцессорные комплекты интегральных микросхем» в
Справочник в 2 т В.-Б.Б. Абрайтис Н.Н. Аверьянов А.И. Белоус и др. Под
Шахнова. - М:Радио и связь 19*88 Т.1 -386с. ил.
Майоров В.Г.Гаврилов А.И. «Практический курс программирования
сорных систем» -М.Машиностроение. 1989. -272с.:ил.

icon текст (3).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА 5
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА 6
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА 8
ВРЕМЕННЫЕ ДИАГРАММЫ 9
1 Временная диаграмма считывания из АЦП 9
2 Временные диаграммы работы КР580ВВ51 10
2.1 Работа КР580ВВ51 в режиме асинхронной передачи 10
2.2 Работа КР580ВВ51 в режиме асинхронного приема 11
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ 12
1 Описание алгоритма работы ППУ 12
2 Описание алгоритма работы ЦПУ 15
2 Выбор интервалов ожидания 17
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА 18
1 Структура адресного пространства ППУ 18
2 Структура адресного пространства ЦПУ 19
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 20
1 Блок-схемы программы для ППУ (рис.10) и подпрограммы для ЦПУ(рис.11)
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 25
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
считывания и запоминания информации в фиксированные ячейки ОЗУ центрального
процессорного устройства с блока измерителя напряжений содержащего 5 АЦП
К1113ПВ1 с адресацией к ним как к ячейкам памяти лежащим в поле адресов
периферийного процессора. Номера АЦП подлежащие опросу в данный период
времени определяются программой выполняемой в центральном процессорном
устройстве и передаются периферийной стороне. Период опроса любого АЦП
составляет Т секунд и передается в блок измерителя из центрального
процессорного устройства. Период опроса Т остается постоянным на все время
опроса АЦП в данной конфигурации. Передаваемые значения Т лежат в пределах
7 - 12.3 сек. с точностью 0.1 сек. Процедура периодического опроса АЦП
полностью организуется периферийным процессором. Опрос АЦП в данной
конфигурации с периодом Т продолжается до поступления новых данных от
центрального процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 2 минут. В качестве
времязадающего устройства использовать БИС таймера КР580ВИ53 с адресацией к
ней как к внешнему устройству лежащему в поле адресов периферийного
Канал сбора аналоговых данных представляет собой устройство
обеспечивающее преобразование аналогового сигнала в цифровой код. При этом
в канале осуществляется усиление фильтрация и нормирование сигнала
подавление синфазной помехи; производится нелинейная обработка сигнала с
целью линеаризации характеристики датчика и приведение аналогового сигнала
к виду пригодному для ввода в аналого-цифровой преобразователь (АЦП) путем
запоминания его мгновенных значений и хранения в течение определенного
В состав канала сбора аналоговых данных входит также ряд импульсных узлов
которые синхронизируют работу его составных частей и управляют работой АЦП.
АЦП является оконечным узлом проектируемого устройства и все другие
составные функциональные единицы прямо или косвенно обеспечивают его
нормальное функционирование.
СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА
Система сбора аналоговой информации состоит из параллельно работающих
центрального процессорного устройства (ЦПУ) и периферийного процессорного
устройства (ППУ). Структурная схема системы приведена на рис.1.
Рис.1. Структурная схема устройства
Блок ЦПУ на структурной схеме содержит в своем составе микропроцессор
память и контроллер последовательного интерфейса. Блок ППУ содержит те же
самые элементы плюс блок измерителя напряжений. Сбор аналоговой информации
происходит непосредственно в блоке измерителя напряжений под управлением
ППУ затем информация передается в ячейки ОЗУ ППУ после чего по линии
связи поступает в фиксированные ячейки ОЗУ ЦПУ. Передача информации по
линии связи осуществляется под управлением контроллеров последовательного
ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА
Функциональная схема отличается от структурной большей степенью
детализации и описанием используемых сигналов. В состав системы сбора
аналоговой информации входят два микропроцессорных устройства на базе
микропроцессора КР580ВМ80А связанные между собой интерфейсом RS-232.
Функциональная схема ЦПУ изображена на рис.2 а функциональная схема ППУ на
Рис.2. Функциональная схема ЦПУ
В состав ЦПУ и ППУ входят стандартные БИС МП комплекта КР580 кроме того
ППУ содержит 7 АЦП типа К572ПВ1 и 6 устройств выборки и хранения аналоговых
СТРУКТУРНАЯ СХЕМА ИНТЕРФЕЙСА
Для связи ЦПУ и ППУ используется интерфейс RS-232 отечественным аналогом
которого является СТЫК-С2. Схема интерфейса приведена на рис.4.
Рис. 4. Структурная схема интерфейса.
Передача и прием данных осуществляется по двум однонаправленным линиям
(по одной передача по другой - прием). Один конец линии связи подсоединен
к выходу передатчика УСАПП TxD другой ко входу данных приемника другого
УСАПП RxD. Сигнал DTR означает физическое подключение модема к линии связи.
При этом несущая еще не выдается. После получения подтверждения
используется сигнал DSR (DTE для ЭВМ). После этого выдается сигнал RTS (ОСЕ
для модема) он выставляет несущую в линию связи и отвечает ЭВМ сигналом
CTS. Затем начинается передача.
1 Временная диаграмма считывания из АЦП
Временная диаграмма считывания из АЦП приведена на рис. 5.
Рис. 5. Временная диаграмма считывания из АЦП.
АЦП К572ПВЗ восьмиразрядный и данные из АЦП считываются не сразу в ОЗУ а
сначала записываются в регистр из которого потом считываются.
Преобразование начинается во всех АЦП одновременно обращением к
соответствующему адресу в поле адресов памяти ППУ. При выставлении адреса
на ША дешифратор подает сигнал на вход "ГашениеПреобразование" АЦП и на
управляющий вход устройства выборки и хранения (УВХ). УВХ через 04 08
мкс (машинный такт равен 1 мкс) подаст на аналоговый вход АЦП постоянное
напряжение. АЦП начнет преобразование и не более чем через 30 мкс выдаст
двоичный код который запомнится в регистрах и одновременно сигнал
READY говорящий об окончании преобразования. Сигналы готовности от разных
АЦП поступают на схему & . Когда все АЦП завершат преобразование сигнал со
схемы & поступит на вход READY МП. Адрес будет снят вследствие чего будет
снят сигнал Гаш.Преобр. По положительному фронту сигнала Гаш.Преобр. АЦП
снимет разрядные данные и сигнал READY. Одновременно с этим (т.к. адрес
будет снят с ША) данные от АЦП защелкнутся в регистрах откуда их потом
можно будет считать.
2 Временные диаграммы работы КР580ВВ51
Рис 6. Работа КР580ВВ51 в режиме асинхронной передачи
В данной системе КР580ВВ51 работает в асинхронном режиме поэтому
временные диаграммы приведены именно для этого режима. Временная диаграмма
работы КР580ВВ51 в режиме асинхронной передачи приведена на рис. 6 а в
режиме асинхронного приема на рис. 7. Скорость передачи данных 1200 битс.
2.1 Работа КР580ВВ51 в режиме асинхронной передачи
Данные записываются в микросхему в параллельном байтовом формате. При
помещении слова данных в регистр сдвига происходит автоматическое
присоединение к слову старт-бита бита контроля по четности 2-х стоп-бит
(итого получается 12 бит). Т.к. в управляющем слове в разряде DO стоит 1-
ца то на входе CTS устанавливается напряжение низкого уровня. Информация в
виде последовательного потока данных подается на вывод TxD (на рис.6 2
Сначала записывается управляющее слово "Передача". В этот момент CD
высокого уровня (т.к. записываем команду). Пока слово не поступило в
регистр передатчика выходы TxRDY и TxEND высокого уровня. При записи байта
данных в регистр передатчика на выходе TxEND и TxRDY устанавливается L
уровень далее байт переправляется в регистр сдвига и начинает выдвигаться
в линию TxD при этом TxRDY становится Н уровня. Узнав об этом путем
программного опроса слова состояния УСАПП МП отправляет в регистр
передатчика новый байт что приводит к установке L уровня на TxRDY (TxEND
остается в том же состоянии). Сигналу TxRDY соответствует триггер TxRDY в
слове состояния УСАПП поэтому МП может программно узнать когда отсылать
2.2 Работа КР580ВВ51 в режиме асинхронного приема
Когда в асинхронном режиме не передается информация на линии RxD
держится высокий уровень. Появление на входе напряжения низкого уровня
свидетельствует о приходе старт-бита. Истинность этого бита проверяется
вторично стробированием его в середине. Если наличие напряжения низкого
уровня подтверждается то запускается счетчик битов который позволяет
определить конец передачи символа.
Сначала происходит запись команды в регистр команд УСАПП. Сигналы CD и
WR аналогичны передаче. По линии RxD выставленные биты постепенно попадают
регистр сдвига приемника УСАПП и когда весь байт войдет в регистр
сдвига происходит перемещение его в регистр приемника УСАПП. После этого
МП может считать символ проследив эту ситуацию по разряду RxRDY в- слове
состоянии УСАПП. Этот триггер дублирует состояние выхода RxRDY. После
считывания напряжение на выходе RxRDY снова становится низкого уровня.
Рис 7. Работа КР580ВВ51 в режиме асинхронного приема
ОПИСАНИЕ АЛГОРИТМА РАБОТЫ СИСТЕМЫ СБОРА АНАЛОГОВОЙ ИНФОРМАЦИИ
1 Описание алгоритма работы ППУ
После включения ППУ или после сигнала сброса (RESET) прежде всего
происходит выключение индикатора сигнализирующего об ошибке. Это
необходимо чтобы избежать ложной сигнализации об ошибке. После этого
происходит инициализация таймера для подачи сигналов ТхС и RxC к УСАППу.
Для этого канал 2 таймера программируется в режиме делителя частоты (на
). С выхода OUT2 таймера сигнал поступает на вх. ТхС и RxC KP580BB51.
Затем происходит инициализация КР580ВВ51. УСАПП программируется в режиме
асинхронных передачи и приема. Управляющее слово режима работы задает
асинхронный режим с 2-мя стоп-битами четным паритетом длиной символа - 8
бит и со скоростью передачи и приема 116 от ТхС. Это достигается загрузкой
УСРР 1111111 Ob (FEh). Затем в УСАПП записывается управляющее слово приказа
(одновременные передача и прием сброс битов ошибок) 00110111b (37h).
После инициализации УСАППа устройство переходит в режим ожидания данных
от ЦПУ. Это реализуется путем программного опроса регистра слова состояния
УСАПП. При наличии в слове состояния УСАПП взведенного байта RxRDY (бит 01
= 1) МП читает слово из регистра приемника и записывает его по
определенному адресу в ОЗУ. От ЦПУ приходят значение периода Т и маска АЦП
подлежащих опросу в данный период времени. Младшие 6 байт маски
соответствуют шести АЦП. Байт DO соотв. АЦП 1 D5 - АЦП 6. Опросу
подлежат АЦП отмеченные единицей в соответствующем разряде маски. Приняв
от ЦПУ оба байта МП анализирует биты ошибок в регистре слова состояния
УСАПП (FE РЕ ОЕ). Если ошибок при приеме не было ППУ отправляет к ЦПУ
байт подтверждения правильного приема и на этом инициализация ППУ
заканчивается. Если же были ошибки то ППУ ничего не передает ЦПУ а
сбрасывает биты ошибок в УСАПП и переходит к ожиданию повторной передачи
данных от ЦПУ. В то же время ЦПУ не получив в течении определенного
времени ответа от ППУ включает индикатор сигнализирующий о неисправности
в системе и повторно передает данные ППУ.
Получив все необходимые данные ППУ переходит к циклу опроса АЦП. Прежде
всего программируется таймер. Одного счетчика не хватает чтобы обеспечить
задержку на максимальное значение Т поэтому канал 0 программируется в
режиме делителя частоты выход счетчика 0 подключен ко входу счетчика 1 а
счетчик 1 программируется в режиме задержки. Новое значение в счетчик 1
заносится в начале каждого цикла опроса АЦП.
МП подает сигнал преобразования одновременно для всех АЦП (IDA 200п).
После того как все АЦП завершат преобразование сигнал снимается и МП
переходит к следующему действию. Происходит последовательный опрос битов
маски. Байт маски циклически сдвигается вправо после чего проверяется флаг
CY. Если CY=1 то из регистра - защелки считывается байт кода от данного
АЦП в фиксированную ячейку ОЗУ. Если же CY=0 то данный АЦП не
опрашивается и МП переходит к следующему АЦП.
Опросив все АЦП ППУ посылает ЦПУ запрос на передачу блока данных и
включает цикл ожидания ответа. Внутри этого цикла периодически
анализируется бит слова состояния УСАПП RxRDY. Если в течение этого
интервала времени ответ от ЦПУ не приходит то декрементируется счетчик
количества попыток связаться с ЦПУ. Если сделано 5 попыток а ЦПУ не
отвечает то включается индикатор и происходит останов МП. Если же попытки
еще остались то ППУ снова посылает запрос на передачу данных. При наличии
ответа от ЦПУ ППУ передает блок данных. Передача данных аналогична опросу
регистров АЦП по маске. Если данный АЦП помечен в маске единицей то
происходит передача ЦПУ байта информации от данного АЦП. Готовность
передатчика также проверяется в слове состояния yCAnn(TxRDY = DO). После
передачи данных ППУ переходит в ожидание подтверждения от ЦПУ правильности
приема. Если ответ от ЦПУ не приходит в течение времени достаточного для
этого то ППУ проверяет количество попыток связи. Если попытки вышли
включается индикатор затем происходит останов МП. Если еще остались
попытки то ППУ снова посылает ЦПУ зарос на передачу данных. Получив от ЦПУ
подтверждение правильного приема ППУ переходит в ожидание окончания
периода Т для чего периодически производит считывание из таймера "на
лету" не прекращая его работы. При обнулении счетчика 1 таймера МП
переходит в начало цикла опроса АЦП (загрузка в таймер значения Т и т.д.).
Блок-схема алгоритма работы ППУ приведена на рис. 8.
Рис. 8. Структура алгоритма работы ППУ
2 Описание алгоритма работы ЦПУ
При вызове подпрограммы "RECEIVE" ЦПУ совершает следующие действия.
Выключается индикатор сигнализирующий об ошибках. Затем происходит
программирование КР580ВВ51 аналогично тому как это делается в ППУ (тот же
режим). После этого ППУ передаются значение Т и маска АЦП. Все общение с
УСАПП как и в ППУ происходит через программный опрос регистра слова
состояния. ЦПУ переходит в ожидание ответа от ППУ. Если через определенное
время ответ от ППУ не приходит это означает обрыв линии связи1 или что
ППУ выключено или же что при приеме данных в ППУ были ошибки. В любом
случае включается индикатор сигнализирующий об ошибках и происходит
повторная передача данных для ППУ и т.д. после получения от ЦПУ
подтверждения о правильном приеме данных индикатор выключается и ЦПУ
переходит к ожиданию от запроса на передачу данных от ППУ. Таким образом
ППУ и ЦПУ можно включать в любой последовательности. Если подпрограмма
RECEIVE" в ЦПУ будет вызвана а ППУ не будет включено то у ППУ загорится
индикатор. После включения ППУ работа продолжится и индикатор выключится.
После получения от ППУ ответа в ЦПУ запускается счетчик периода времени
продолжительностью больше Т. Если в течение этого времени от ППУ не будет
получено запроса на передачу данных то включится индикатор и произойдет
выход из данной подпрограммы. Если придет запрос от ППУ то ППУ будет
послано разрешение на передачу данных и ЦПУ приготовится к приему блока
данных с информацией от АЦП.
Прием блока данных от ППУ происходит по маске АЦП. Если данный АЦП
отмечен единицей в соответствующем разряде маски то в ячейки памяти
соответствующие этому АЦП записывается из регистра приемника УСАПП байт
значения. Если же данный АЦП не подлежит опросу то поступающие в регистр
приемника данные будут передаваться в ячейки памяти соответствующие
ближайшему АЦП подлежащему опросу. Таким образом информация от каждого
АЦП всегда поступает в фиксированные ячейки памяти. После окончания приема
проверяются биты ошибок в слове состояния УСАПП. Если ошибок не было то
ЦПУ посылает ППУ подтверждение и переходит к ожиданию следующего запроса на
передачу (снова запускается счетчик времени). Если были ошибки то
подтверждение ППУ не посылается и происходит ЦПУ ожидает повторного запроса
Блок - схема алгоритма работы ЦПУ приведена на рис. 9.
Нулевой и первый каналы таймера программируются с целью обеспечить период
Т опроса АЦП. Канал 0 программируется в режиме 2 (делитель частоты). Т.к.
МП работает на частоте 99=1 МГц то загрузка в канал 0 значения 10000 (271
Oh) обеспечит выдачу сигнала OUTO с периодом 0.01 с. Точность периода Т
составляет 0.01 с поэтому пересылаемое от ППУ значение Т показывает
количество составляющих по 0.01 с в периоде. Следовательно в байте Т могут
содержаться значения от 100 до 1020 (Т может принимать значения от 1с до
2 с). Выход OUTO подключен ко входу CLK1. Значение Т загружается в канал
в начале каждого цикла опроса АЦП т.к. канал 1 программируется в режиме
Канал 2 программируется для сигналов ТхС и RxC УСАПП. Он программируется
в режиме 2. В него загружается значение 52 (34h) следовательно частота CLK
УСАПП подаваемая с F2 более чем в 50 раз превосходит частоту ТхС и RxC.
В сочетании с тем что скорость передачи УСАПП составляет 116 от ТхС это
обеспечивает скорость передачи данных в линии связи 1200 битс.
2 Выбор интервалов ожидания
При передаче данных между ППУ и ЦПУ используются временные задержки
ожидания ответа. Если через некоторое время ответ не приходит включается
индикатор. Основная временная задержка происходит при передаче данных в
последовательном коде. Время передачи одного символа (12 бит) при скорости
00 битс составляет 10 000 тактов или 0.01 с. Для передачи в обратную
сторону добавим еще 10 000 тактов и еще 10000 тактов с запасом хватит на
выполнение других участков программы. Итого мы организовываем цикл ожидания
000 тактов путем выполнения двух вложенных циклов. Такой цикл
используется в нескольких местах программы в частности при начальной
передаче исходных данных от ЦПУ к ППУ (при ожидании ЦПУ ответа от ППУ) при
ожидании разрешения на передачу данных (ППУ) при ожидании подтверждения
безошибочного приема (ППУ). Также используется еще один цикл ожидания. ППУ
должно посылать ЦПУ информацию от АЦП через интервал времени Т. Если ЦПУ не
получает вовремя этой информации то включается индикатор. Для организации
этого цикла в ЦПУ используется счетчик в который загружается значение
байта Т. Вложенные циклы обеспечивают задержку на время большее 0.01 с.
Следовательно общее время ожидания данных от ППУ больше времени Т.
СТРУКТУРА АДРЕСНОГО ПРОСТРАНСТВА
1 Структура адресного пространства ППУ
Структура адресного пространства памяти ППУ приведена в табл.1.
Адрес начальный Наименование элемента (устройства) (его
-адрес конечный функция)
OOOOh -01FFh Память программ (ПЗУ)
00h -040Fh Память данных (ОЗУ)
8 0 0 h 0805h Регистры АЦП АЦП 1
OCOOh OC01h OC02h Таймер: Сч. 0 Сч. 1 Сч. 2 РУС
0h Сигнал "пуск преобразования" АЦП
00h 1401h Выключить индикатор Включить
Структура адресного пространства внешних устройств ППУ приведена в табл.
h УСАПП : данные управляющие слова
2 Структура адресного пространства ЦПУ
Структура адресного пространства памяти ЦПУ приведена в табл.3.
OOOOh -OBFFh Монитор служебные программы
OCOOh-OCCOh Подпрограмма осуществляющая обмен с ЦПУ
00h Яч. памяти для хранения маски АЦП
01h-1006h Ячейки памяти для хранения данных ППУ
07h Адрес для хранения Т
FFFOh FFF1h Индикатор : выключить включить
Структура адресного пространства внешних устройств ЦПУ приведена в табл.
ООh 01h УСАПП : данные Управляющие слова
АЛГОРИТМЫ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРИНЦИПИАЛЬНАЯ СХЕМА ППУ
В состав ППУ входят следующие микросхемы: микропроцессор КР580ВМ80А ГТИ
КР580ГФ24 таймер КР580ВИ53 контроллер последовательного интерфейса
КР580ВВ А системный контроллер КР580ВК38 микросхема ПЗУ 556РТ5 ОЗУ
К155РУ2 АЦП К572ПВЗ микросхемы выборки и хранения аналоговых сигналов
КР1100СК2 а также другие микросхемы обеспечивающие работу устройства.
Неиспользуемые выводы микросхем заземляем чтобы уменьшить электромагнитные
ГТИ служит для формирования тактовых импульсов которые поступают на МП
таймер и контроллер поел интерфейса. Также через ГТИ подается сигнал
сброса от внешней кнопки и сигнал READY.
Таймер является основным времязадающим устройством в ППУ. Для организации
продолжительных временных задержек выход OUTO подан на вход CLK1. Канал 2
обеспечивает сигналы ТхС RxC поэтому выход OUT2 подан на входы RxC TxC
КР580ВВ51А. Счетчики таймера всегда выбраны поэтому на его входы GATED
GATE1 GATE2 подается постоянное напряжение +5 В через резистор 1кОм.
Контроллер поел интерфейса является единственным внешним устройством
поэтому его вывод CS заземлен но в выбранном состоянии в выбранном
состоянии он находится только при обращении к ВУ т.е. когда системный
контроллер выдает сигналы IOR или IOW.
Вход CS микросхем К155РУ2 подключен к дешифратору поэтому эти микросхемы
не будут выбираться при адресах меньше 1 Кбайта в частности при обращении
Для обеспечения необходимой временной задержки при выдаче с дешифратора
сигнала преобразования для АЦП выходы READY всех дешифраторов поданы на
вход микросхемы &. Когда все АЦП завершат преобразование на вход READY МП
через ГТИ пойдет сигнал и МП перейдет к следующему такту. Данные с цифровых
выходов АЦП защелкнутся в регистрах откуда потом могут быть прочитаны. При
обращении к др. устройствам сигнал READY подается сразу т.к. он подключен
к выходам дешифратора (также через схему 1).
Перечень элементов приведен в приложении 1.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Микропроцессоры. В 3-х кн. Под ред. Преснухина Л.Н. М.:Высш. шк.
Федорков Б.Г. Телец В.А. Микросхемы ЦАП и АЦП: функционирование
применение. М.: Энергоатомиздат 1990. 320с.
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и
Энергоатомиздат 1989. 376с.
Кузнецова Г.В. Хмелевский И.В. Требованию к оформлению
Методические указания к курсовому проектированию по курсам "ЭМСТ" и
Калабеков В.А. Микропроцессоры и их применение в системах передачи и
сигналов. М: Радио и связь 1988. 368с.
Микропроцессоры и микропроцессорные комплекты интегральных
Справочник. Под ред. Шахнова В.А. Том 1. Л.: Радио и связь 1988. 368с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Машиностроение 1993. 256с.
Фор Поз Обозначение
Изм № документа Периферийное процессорное устройство
Разрабо Валиев М. Ф.
тал лист листов листов
ПровериХмелевский И. В.

icon Текст (6).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: Е.А. Доленко
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ 5
АЛГОРИТМЫ РАБОТЫ ЦПУ 6
1. Алгоритм инициализации адаптеров параллельного интерфейса 6
2. Алгоритм передачи блока из пяти байт 6
2. Алгоритм приема блока из пяти байт 9
4. Алгоритм работы ЦПУ 11
АЛГОРИТМЫ РАБОТЫ ППУ 14
1. Алгоритм инициализации адаптеров параллельного интерфейса 14
2. Алгоритм работы ППУ 14
3. Алгоритм определения коэффициентов для звуковой индикации 18
4. Алгоритм воспроизведения звуковой последовательности 18
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ 20
1. Функциональная схема центрального процессорного устройства 20
2. Функциональная схема периферийного процессорного устройства 22
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА 26
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ 27
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ 28
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ 29
ТЕКСТЫ ПОДПРОГРАММ 30
1. Подпрограммы ЦПУ 30
2. Подпрограммы ППУ 34
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 41
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных
последовательным интерфейсом. В качестве адаптеров интерфейса использовать
БИС КР580ВВ51 с адресацией к ним как к внешним устройствам. Комплекс
предназначен для включения и индикации включения одного из 5 устройств
автоматики. Устройства автоматики включаются по сигналам периферийного
устройства формируемым на основании информации поступившей от
центрального устройства. Индикация осуществляется подачей конкретного
звукового сигнала с одновременным отображением номера устройства на 7
сегментном индикаторе. Звуковой сигнал соответствующий включаемому
устройству представляет собой непрерывную звуковую последовательность с
параметрами: частоты звучания 1.0 2.0 2.2 кГц; длительности звучания
любого тона 1.0 0.5 1.6 сек. Их численные значения не известны
периферийной стороне и подлежат загрузке из центрального процессорного
устройства. В качестве времязадающего устройства и формирователя звукового
сигнала использовать БИС таймера КР580ВИ53 с адресацией к ней как к ячейке
памяти лежащей (лежащему) в поле адресов периферийного процессора. Номера
включаемых устройств автоматики и соответствующие им конкретные виды
звуковых последовательностей (длительность и последовательность звучания
каждого тона) определяются программой выполняемой в центральном
процессорном устройстве и передаются периферийному процессору.
Длительность звуковой индикации около 30 секунд. Периодичность обращения
центрального процессорного устройства к периферийному – не менее 50 с.
После генерации звуковой последовательности в центральное процессорное
устройство выдается сигнал (код включенного устройства) по которому
принимается решение о правильности выполненной операции. При положительном
решении управление передается подпрограмме центрального процессорного
устройства соответствующей номеру включенного устройства автоматики после
чего индикатор должен погаснуть.
Микропроцессор – это построенное на одной или нескольких БИССБИС
программно-управляемое устройство осуществляющее процесс обработки
информации и управление им. Этот термин по видимому самый модный в
современной микроэлектронике и вычислительной технике. Необычайная
популярность микропроцессоров объясняется тем что их появление привело к
внедрению вычислительной техники в самые разнообразные сферы жизни.
Универсальность микропроцессоров ведет к большей тиражности их производства
и следовательно к снижению их стоимости а это в свою очередь расширяет
круг потребителей и способствует увеличению числа задач решаемых с помощью
Микро-ЭВМ – это законченная вычислительная система построенная на
базе микропроцессора и размещенная в одной БИС (однокристальная микро-ЭВМ)
или нескольких БИС установленных на одной плате (одноплатная микро-ЭВМ).
Причем под законченной вычислительной системой следует понимать любое
устройство переработки цифровой информации включающее процессор память и
подсистему вводавывода информации независимо от его целевого назначения
конструктивного исполнения и способов программирования.
В микро-ЭВМ организуется процесс выполнения заданно программы и
самые разные задачи решаются путем выполнения последовательности команд
свойственных данному МП (входящих в его систему команд). Вычислительные
контрольно-измерительные или управляющие системы обрабатывающим элементом
которых служит микропроцессор относятся к числу микро-ЭВМ.
В последнее время никакие сложные технологические процессы немыслимы
без систем автоматического управления построенных на основе
микропроцессорной техники. Целью данного курсового проекта как раз и
является проектирование простейшей микропроцессорной системы которая
предназначалась бы для включения и индикации включения одного из нескольких
устройств автоматики.
СТРУКТУРНАЯ СХЕМА СИСТЕМЫ
Система состоит из двух основных частей: центрального и периферийного
устройства которые связаны между собой двумя однонаправленными каналами
параллельного интерфейса Centronix. Оба устройства построены на основе 580-
го микропроцессорного комплекта и состоят из собственно самого
микропроцессора двух контроллеров параллельного интерфейса постоянного и
оперативного запоминающих устройств. Кроме того в составе ПУ есть блок для
включения и индикации включения одного из устройств автоматики. Блок
индикации включения состоит из устройства генерирующего звуковую
последовательность и устройства для индикации информации. Структурная схема
системы приведена на рис. 1.1.
Рис. 1.1 Структурная схема системы
АЛГОРИТМЫ РАБОТЫ ЦПУ
1. Алгоритм инициализации адаптеров параллельного интерфейса
Инициализация адаптеров заключается в установке портов А и С на ввод
либо на вывод в соответствии с интерфейсом (блоки 1 и 3). А также
установкой управляющих сигналов в 1 или в 0 (блоки 2 и 3).
Структурная схема алгоритма приведена на рисунке 2.1.
Рис. 2.1.Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса ЦПУ
2. Алгоритм передачи блока из пяти байт
В блоке 1 происходит инициализация начальных значений переменных N и K
(число переданных байт). В соответствии с протоколом обмена ЦПУ проверяет
наличие сигнала SLCT (блок 2) в случае его отсутствия переменной А (код
ошибки) присваивается значение 1 (блок 3) и происходит обработка ошибки
(блок 4) и переход к концу алгоритма. Если же сигнал SLCT присутствует то
проверяется наличие сигнала BUSY (блок 5) если сигнал BUSY равен 1 то
переменная N увеличивается на 1 (блок 18) и сравнивается с 255 (блок 19)
если они равны (приемник по каким то причинам не снимает сигнал BUSY в
течение длительного времени) то переменной А присваивается значение 2
(блок 20) происходит обработка ошибки (блок 21) и переход к концу
алгоритма. В противном случае снова проверяется наличие сигнала BUSY. В
случае если сигнал BUSY=0 то переменной N присваивается значение 0 (блок
). После чего нужный байт подготавливается и передается в линию (блок 7) и
формируется сигнал –STB=0 (блок 8) который говорит приемнику о том что
данные находятся в линии. После этого приемник проверяет наличие сигнала
ACKWLG (блок 9). Если он равен 0 то происходит увеличение переменной N на
(блок 14) и она сравнивается с 255 (блок 15). Если они не равны то снова
проверяется сигнал ACKWLG иначе переменной A присваивается значение 3
(блок 16) происходит обработка ошибки (блок 17) и переход к концу
алгоритма. В случае если сигнал -ACKWLG равен единице то устанавливается
сигнал –STB=1 (блок 10) переменная K увеличивается на 1 (блок 11) и
сравнивается с 5 (блок 12). Если они не равны (не все пять байт были
переданы) то переменной N присваивается значение 0 (блок13) и снова
проверяется сигнал SCLT приемника (блок 2). В случае если все пять байт
были переданы то происходит переход к концу алгоритма. Этот же алгоритм
используется периферийным устройством для передачи данных центральному
процессорному устройству.
Структурная схема алгоритма приведена на рисунке 2.2.
Рис 2.2. Структурная схема алгоритма передачи блока из пяти байт
3. Алгоритм приема блока из пяти байт
В блоке 1 происходит установка начальных значений переменных N=0 и K=0
(K – число полученных байт). В соответствии с протоколом обмена приемное
устройство проверяет наличие сигнала –STB (блок 2). В случае его отсутствия
переменная N увеличивается на 1 (блок 3) и сравнивается с255 (блок 4) если
они равны то переменной А присваивается значение 4 (блок 5) происходит
обработка ошибки и переход к концу алгоритма. Иначе снова проверяется
наличие сигнала –STB. Если –STB=0 то происходит прием байта из линии (блок
). Затем сигнал BUSY устанавливается равным 1 (блок 8) и полученный байт
запоминается (блок 9) после чего происходит установление сигнала ACKWLG=1
(блок 10). Далее происходит приостанов работы приемника чтобы сигнал
ACKWLG смог дойти до приемника (блок 11) затем сигнал ACKWLG
устанавливается равным 0 (блок 12) переменная K увеличивается на 1 (блок
) и сравнивается с 5 (блок 14). Если они не равны то устанавливается
сигнал BUSY=0 (блок 16) и снова проверяется сигнал –STB от передатчика
(блок 2) в противном случае устанавливается сигнал BUSY=0 (блок 15) и
происходит переход к концу алгоритма. Этот же алгоритм используется
периферийным процессорным устройством для приема данных от ЦПУ.
Структурная схема алгоритма приведена на рисунке 2.3.
Рис. 2.3. Структурная схема алгоритма приема блока из пяти байт
4. Алгоритм работы ЦПУ
В блоке 1 происходит инициализация адаптеров параллельного интерфейса.
В блоке 2 происходит установка начального значения переменной M=0. В блоке
происходит установка сигналов AUTOFD INIT SELIN в ноль. В блоке 4
центральное процессорное устройство подготавливает данные и передает их
периферийному (блок 5) далее ЦПУ получает эти данные от периферийного
(блок 6) и сравнивает переданные данные с полученными (блок 7). Если они не
совпадают то переменная М увеличивается на 1 (блок 9) и сравнивается с 8
(блок 10). Если они равны то переменной A присваивается значение 5 (блок
) происходит обработка ошибки (блок 14) и переход к концу алгоритма.
Если М не равно 5 то устанавливаются сигналы SELIN=1 и INIT=1 (блок 11)
которые говорят ППУ о том что блок данных содержит ошибку. Далее
происходит задержка (блок 12) и переход к блоку 3. Если же переданный и
полученный блоки равны то устанавливаются сигналы AUTOFD=1 и SELIN=1 (блок
) которые говорят ППУ что блок данных не содержит ошибки. Далее
происходит задержка (блок 16) и установка сигналов AUTOFD=0 SELIN=0.
Далее проверяется наличие сигнала SLCT от ППУ (блок 18). В случае его
отсутствия переменной А присваивается значение 6 (блок 19) происходит
обработка ошибки и переход к концу алгоритма. Иначе проверяется наличие
сигнала –STB (блок 21) если он отсутствует то управление переходит к
блоку 18. В случае если сигнал –STB пришел то данные принимаются из канала
связи (блок 22) и устанавливается сигнал BUSY (блок 23). Далее
устанавливаются сигналы ACKWLG=1 BUSY=0 (блок 24)и происходит задержка
(блок 25). После чего устанавливается сигнал ACKWLG=0 (блок 26). Далее
сравнивается полученный номер устройства и переданный (блок 27) в случае
если они равны то выполняются действия соответствующие номеру включенного
устройства (блок 28) и происходит переход к концу алгоритма. Если же они не
совпали то переменной А присваивается значение 7 (блок 29) происходит
обработка ошибки (блок 30) и переход к концу алгоритма.
Данные о номере включаемого устройства длительности и частоте
звучания передаются центральным процессорным устройством к периферийному в
виде блока из пяти байт:
байт: номер включаемого устройства;
3 байты: целая и дробная часть частоты звучания (кГц);
5 байты: целая и дробная часть длительности звучания (с);
Структурная схема алгоритма приведена на рисунке 2.4.
Рис. 2.4. Структурная схема алгоритма работы ЦПУ
АЛГОРИТМЫ РАБОТЫ ППУ
Структурная схема алгоритма приведена на рисунке 3.1.
Рис. 3.1. Структурная схема алгоритма инициализации адаптеров
параллельного интерфейса
2. Алгоритм работы ППУ
В блоке 2 устанавливается начальное значение переменной N=0. Затем
происходит прием блока данных от ЦПУ (блок 3) и их ретрансляция обратно
(блок 4). Далее проверяется сигнал SELIN от ЦПУ (блок 5). Если он
отсутствует то переменная N увеличивается на 1 (блок 6) и сравнивается с
5 (блок 7). Если они равны то переменной А присваивается значение 8
(блок 8) происходит обработка ошибки (блок 9) и переход к концу алгоритма.
В противном случае происходит переход к блоку 5. Если же сигнал SELIN равен
то переменная N приравнивается нулю (блок 10) и происходит проверка
сигналов INIT и AUTOFD (блок 11). Если INIT=1 и AUTOFD=0 то данные были
приняты неверно в этом случае происходит переход к блоку 3. Если оба
сигнала равны нулю или единице то переменной А присваивается значение 9
(блок 12) происходит обработка ошибки (блок 13) и переход к концу
алгоритма. Если INIT=0 и AUTOFD=1 то происходит вычисление коэффициентов
для таймера-счетчика на основании информации поступившей от ЦПУ (блок 14)
включается устройство автоматики (блок 15) происходит отображение номера
устройства на семисегментном индикаторе (блок 16) и генерация звуковой
последовательности (блок 17).
После генерации звуковой последовательности происходит проверка
сигнала SLCT от ЦПУ (блок 18). Если он равен нулю то переменной А
присваивается значение 10 (блок 19) происходит обработка ошибки (блок 20)
и переход к концу алгоритма. Если сигнал SLCT=1 то в линию передается
номер включенного устройства (блок 21) посылается сигнал –STB=0 (блок 22)
и проверяется сигнал ACKWLG от ЦПУ (блок 23). Если сигнал ACKWLG=0 то
переменная N увеличивается на 1 (блок 26) и сравнивается с 255 (блок 27).
Если они равны то переменной А присваивается значение 11 (блок 28)
происходит обработка ошибки (блок 29)и переход к концу алгоритма. Иначе
происходит переход к блоку 23. Если сигнал ACKWLG равен 1 то происходит
выключение индикатора (блок 24). Далее устанавливается сигнал –STB=1 (блок
) и переход к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.2.
Рис. 3.2. Структурная схема алгоритма работы ППУ
3. Алгоритм определения коэффициентов для звуковой индикации
В блоке 1 происходит преобразование значений длительности из
двухбайтового формата в котором в старшем байте хранится целая часть числа
а в младшем – дробная в однобайтовый в котором значение хранится в виде
одного числа равного исходному умноженному на десять.
В блоках 2 и 3 происходит вычисление констант необходимых для
воспроизведения звуковой последовательности.
В блоке 4 определяется число звуков длительности T для обеспечения
звуковой индикации в течение времени L=25с.
Структурная схема алгоритма приведена на рисунке 3.3.
Рис. 3.3. Структурная схема алгоритма определения коэффициентов для
4. Алгоритм воспроизведения звуковой последовательности
В блоке происходит установка начального значения переменной k=0 (k –
число воспроизведенных звуков). В блоке 2 происходит инициализация таймера.
В блоке 3 в канал 0 таймера загружается значение N0 а в блоке 4 в канал 1
таймера загружается значение N1. В блоке 5 проверяется равно ли содержимое
канала 0 нулю. Если не равно то управление переходит к блоку 5 а если
равно то переменная k увеличивается на 1 (блок 6) и сравнивается с числом
звуков которое надо воспроизвести (блок 7) если они не равны то
управление переходит к блоку 3 иначе - к концу алгоритма.
Структурная схема алгоритма приведена на рисунке 3.4.
Рис. 3.4. Структурная схема алгоритма воспроизведения звуковой
ФУНКЦИОНАЛЬНЫЕ СХЕМЫ
1. Функциональная схема центрального процессорного устройства
Рис. 4.1. Функциональная схема центрального процессорного устройства
Система состоит из микропроцессора генератора тактовых импульсов
системного контроллера двух адаптеров параллельного интерфейса
оперативного и постоянного запоминающих устройств а также дешифраторов.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то что ШД
находится в режиме приема информации в МП) –WR (указывает на то что
процессор выдает информацию на шину данных) и SYNC (синхронизация
используется генератором тактовых импульсов для формирования строба STB).
Генератор тактовых импульсов формирует тактовые сигналы F1 и F2
сигнал STB который поступая на системный контроллер фиксирует состояние
шины данных микропроцессора сигнал сброса RESET.
Системный контроллер на основе информации получаемой из
микропроцессора формирует сигналы управления чтением и записью информации
в память –MR и -MW а также во внешние устройства –IOR и –IOW.
Адаптеры параллельного интерфейса используются для связи ЦПУ и ППУ.
Первый адаптер используется для передачи данных к ЦПУ а второй для приема
данных от него. Адаптеры параллельного интерфейса адресуются как внешние
устройства. Для их выбора используется дешифратор DC1 который на основе
сигналов -IOR -IOW и информации из линий A6 7 формирует сигнал выбора
одного из адаптеров если в этом есть необходимость. В соответствии с этим
будут использоваться следующие адреса внешних устройств:
h – порт А первого адаптера;
h – порт B первого адаптера;
h – порт С первого адаптера;
h – управляющее слово первого адаптера;
h - порт B второго адаптера;
h – порт С второго адаптера;
h – управляющее слово второго адаптера.
Микросхемы RAM и ROM адресуются как устройства памяти. Для их выбора
используется дешифратор DC2 который на основе сигналов –MR -MW и
информации из линий A1211 формирует сигнал выбора микросхемы RAM или ROM
если в этом есть необходимость. В соответствии с этим будут использоваться
следующие адреса памяти:
00h-07FFh – адреса ПЗУ;
00h-0FFFh – адреса ОЗУ.
Дешифратор DC1 предназначен для формирования сигналов выбора кристалла
для запоминающих устройств адресуемых как внешние устройства а DC2 – для
запоминающих устройств адресуемых как ячейки памяти.
2. Функциональная схема периферийного процессорного устройства
Функциональная схема периферийного процессорного устройства приведена
Рис. 4.2. Функциональная схема периферийного процессорного устройства
оперативного и постоянного запоминающих устройств а также из ряда
логических схем для включения устройства автоматики звуковой сигнализации
индикации включения одного из устройств автоматики и селекции адресов
памяти и внешних устройств.
Микропроцессор формирует управляющие сигналы DBIN (указывает на то
что ШД находится в режиме приема информации в МП) –WR (указывает на то
что процессор выдает информацию на шину данных) и SYNC (синхронизация
Адаптеры параллельного интерфейса адресуются как внешние устройства.
Для их выбора используется дешифратор DC1 который на основе сигналов -IOR
-IOW и информации из линий A6 7 формирует сигнал выбора одного из
адаптеров если в этом есть необходимость. Дешифратор DC1 также
вырабатывает управляющие сигналы для включения одного из устройств
автоматики и для включения и выключения семисегментного индикатора. На
этапе инициализации происходит вырабатывание сигнала -S2 вследствие чего
сигналы CS для дешифратора DC3 и STB для регистра RG будут равны 1 и они
будут оставаться равными единицами после прекращения подачи сигнала –S2.
Для включения устройства автоматики и индикации его включения на шину
данных помещается номер требуемого устройства и вырабатывается сигнал –S1.
Вследствие этого сигналы CS для дешифратора DC3 и STB для регистра RG будут
равны нулю. Сигнал СS низкого уровня разрешит работу дешифратора который
преобразует номер устройства в двоичном виде в код для семисегментного
индикатора и произойдет индикация включения. Сигнал STB низкого уровня
вызовет запоминание текущего состояния шины данных. При подаче сигнала –S1
также произойдет выбор дешифратора DC4 в результате чего дешифратор
преобразует номер устройства с шины данных и подаст сигнал на одно из
устройств автоматики. Индикация включения будет происходит даже после
прекращения подачи сигнала –S1. При подаче сигнала –S2 сигналы CS и STB
установятся в единицу что вызовет прекращение индикации включения.
В ЦПУ будут использоваться следующие адреса внешних устройств:
h – порт А второго адаптера;
h – управляющее слово второго адаптера;
h – используется для включения устройства автоматики и индикации
C0h – используется для прекращения индикации включения.
если в этом есть необходимость.
Таймер используется для формирования звукового сигнала. Обращение к
таймеру будет происходить как к ячейке памяти.
В ППУ будут использоваться следующие адреса памяти:
00h-0FFFh – адреса ОЗУ;
00h – счетчик 0 таймера;
01h – счетчик 1 таймера;
02h – счетчик 2 таймера;
03h – управляющее слово таймера;
И под ПЗУ и под ОЗУ выделено по два килобайта памяти.
запоминающих устройств адресуемых как ячейки памяти. Дешифратор DC3
предназначен для преобразования двоичного кода в код для семисегментного
индикатора. Дешифратор DC4 предназначен для формирования сигнала который
включал бы одно из устройств автоматики.
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА
Для обмена информацией между центральным и периферийным процессорными
устройствами используется интерфейс построенный на основе интерфейса
Centronix. Так как Centronix является односторонним интерфейсом то для
обеспечения двунаправленной передачи данных используется два канала
которые функционируют по стандартам этого интерфейса. Функциональная схема
канала передатчика ЦПУ – приемник ППУ приведена на рис. 2.1.
Рис 5.1. Схема канала передатчик ЦПУ – приемник ППУ
При наличии сигнала SLCT источник проверяет состояние сигнала BUSY и
если он сброшен выставляет данные на линии данных и выдает сигнал -STB.
Приемник по сигналу -STB считывает данные и устанавливает сигнал BUSY.
После окончания обработки данных приемник выдает сигнал ACKWLG и снимает
сигнал BUSY. Так как при обмене в линии связи могут происходить ошибки то
после получения информации приемником он отправляет ее обратно
передатчику. Передатчик сравнивает ее с переданной информацией и по
результатам сравнения устанавливает либо сигналы AUTOFD=1 INIT=0 SELIN=1
в случае если информация была получена приемником без ошибок либо сигналы
AUTOFD=0 INIT=1 SELIN=1 в противном случае.
Схема канала приемник ЦПУ- передатчик ППУ не отличается от приведенной
выше за исключением того что сигналы AUTOFD INIT и SELIN отсутствуют.
ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ
В соответствии с техническим заданием комплекс был построен на базе
микропроцессорного комплекта КР580. Поэтому были использованы следующие БИС
этого комплекта: микропроцессор - КР580ВМ80А генератор тактовых импульсов
– КР580ГФ24 системный контроллер – КР580ВК28 адаптеры параллельного
интерфейса – КР580ВВ55 таймер – КР580ВИ53 шинные формирователи для шины
В качестве оперативного и постоянного запоминающих устройств были
использованы микросхемы КР537РУ10 и КР573РФ2. Они обе выполнены по ТТЛ-
технологии и имеют емкость 16Кбит (2К*8).
Для выбора устройств микропроцессорного комплекта применяются
логические микросхемы серии К155 выполненные по ТТЛ технологии. Для
построения комплекса были использованы следующие логические микросхемы:
К155ЛИ1 (4-2И) К155ЛЛ1 (4-2ИЛИ) К155ЛН1 (6 НЕ) К155ИД4 (дешифратор
который использовался в схемах селекции адреса) К155ИД12 (дешифратор
который используется для включения одного из устройств автоматики).
Для индикации включения используется семисегментный индикатор АЛС-
3А а для преобразования номера устройства из двоичного кода в код для
семисегментного индикатора применяется дешифратор К514ПР1 (серия К514
разработана для управления индикаторами и поэтому никаких дополнительных
согласующих микросхем не требуется).
Для звуковой сигнализации используется пьезоэлектрический излучатель
ЗП1 который может подключаться прямо к одному из выходов таймера.
Для подавления высокочастотных помех по цепям питания применяются
конденсаторы емкостью 002мкФ которые включаются между выводом +5V
микросхем и шиной GND в непосредственной близости от микросхемы.
Для ограничения входных токов микросхем при формировании на их входах
состояний логической единицы применяются резисторы с сопротивлением 1 кОм.
Для подстройки кварцевого резонатора используется конденсатор емкостью
ПОДКЛЮЧЕНИЕ МИКРОСХЕМ КР580ВВ55 К ИНТЕРФЕЙСУ
ЦПУ Адаптер 1 Интерфейс ППУ Адаптер 2
(передатчик) Номер контакта Сигнал (приемник)
PA7-0 2-9 D0 D7 PA7-0
Рис. 7.1 Схема соединения первого адаптера ЦПУ и второго адаптера ППУ
ЦПУ Адаптер 2 Интерфейс ППУ Адаптер 1
(приемник) Номер контакта Сигнал (передатчик)
Рис. 7.2 Схема соединения второго адаптера ЦПУ и первого адаптера ППУ
ГЕНЕРАЦИЯ ЗВУКОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Для воспроизведения одиночного звука заданной длительности и частоты
используется два канала таймера: канал 0 использован для генерации
прямоугольных импульсов заданной частоты а канал 1 – для задания
необходимой длительности.
Канал 0 программируется в режим 3 – генерация прямоугольных сигналов
со скважностью 2 (меандр). Выход имеет высокий уровень в течение NT2 если
N четное или (N+1)T2 если N нечетное (здесь N – число записанное в
счетчике 0 T – период импульсов синхронизации канала 0). В качестве
импульсов синхронизации используется синхропоследовательность с выхода С
генератора тактовых импульсов с частотой F=2 Мгц. Таким образом для
генерации звука частотой F необходимо загрузить счетчик 0 двоичным числом
Канал 1 программируется в режим 0 – прерывание по окончании счета. В
этом режиме по окончании отсчета N1 тактов синхронизации на входе
генерируется сигнал высокого уровня тогда как в процессе счета выходной
сигнал – низкоуровневый. Этот сигнал вместе с сигналом с выхода канала 0
поступают на элемент 2-ИЛИ-НЕ который разрешает генерацию звука лишь при
низкоуровневом сигнале с выхода первого канала. В качестве импульсов
синхронизации используется последовательность импульсов с выхода канала 0.
Поэтому период импульсов с выхода канала 1 будет определяться как:
где N1 – число загружаемое в канал1 F0 – требуемая частота звучания
(частота сигнала с выхода канала 0).
Тогда для обеспечения заданной длительности T необходимо загрузить в
По окончании отсчета числа в счетчике 1 на выходе канала 1
установится сигнал высокого уровня после чего звучание автоматически
После занесения в таймер значений N0 и N1 необходимо в цикле проверять
содержимое счетчика 1 как только его содержимое станет равным нулю
допустимо воспроизведение следующего звука.
Подпрограмма инициализации адаптеров параллельного интерфейса ЦПУ
MVI управляяющее слово: режим0 порт А – вывод порт
С7-4 -ввод порт PC3-0 – ввод
OUT 03h ;03h – адрес управляющего слова первого адаптера
MVI управляющее слово: режим0 порт А – ввод порт
С7-4 -вывод порт PC3-0 – вывод
OUT 43h ;43h – адрес управляющего слова второго адаптера
OUT 03h ; установка сигнала STB=1
OUT 03h ; установка сигнала INIT=0
OUT 03h ; установка сигнала AUTOFD=0
OUT 03h ; установка сигнала SELIN=0
OUT 43h ; установка сигнала SLCT=1
OUT 43h ; установка сигнала BUSY=0
OUT 43h ;установка сигнала ACKWLG=0
Подпрограмма передачи блока из пяти байт
В регистре B будет хранится значение переменной N а в регистре С
будет храниться значение переменной K.
Значение errcode – указывает на адрес в памяти по которому хранится
номер ошибки. Значение data1 – указывает на адрес в памяти начиная с
которого хранится блок данных которые надо передать.
IN 02h ;поместить в А содержимое порта С первого адаптера
ANI 00010000b ;анализ четвертого бита содержимого А
JNZ Labeпереход если SLCT=1
LXI Herrcode ;загрузка в пару HL адреса по которому хранится код
MVI M1 ;установка номера ошибки
CALL error ;обработка ошибки
ANI 00100000b ;анализ пятого бита содержимого А
JZ Labeпереход если BUSY=0
JNZ Labeпереход если N!=255
MOV AM ;поместить байт который надо передать в аккумулятор
OUT 00h ;поместить данные в порт А
OUT 03h ;установка сигнала STB=0
IN 02h ; поместить в А содержимое порта С первого адаптера
ANI анализ шестого бита аккумулятора
JNZ Labeпереход если сигнал ACKWLG!=0
OUT 03h ;установить сигнал STB=1
INR C ;увеличить число переданных байт
INX H ;сформировать адрес следующего байта который будет передан
CPI 5d ;сравнить число переданных байт с пятью
JZ Labeесли передано пять байт то переход
Подпрограмма приема блока из пяти байт
номер ошибки. Значение data2 – указывает на адрес в памяти начиная с
которого хранится блок данных который получает приемное устройство.
ANI 00000001b ;проанализировать значение нулевого бита аккумулятора
JZ Labeпереход если STB=0
MVI M4 ;запись по адресу errcode номера ошибки
IN 00h ;поместить данные из порта А первого адаптера в аккумулятор
MOV MA ;записать полученный байт в память
OUT 03h ;установить сигнал BUSY=1
OUT 03h ;установить сигнал ACKWLG=1
Labeорганизация задержки на 41мкс (82 такта)
OUT 03h ;установить сигнал ACKWLG=0
INR C ;увеличение числа принятых байт
INX H ;сформировать адрес следующего принятого байта
CPI 5d ;сравнить число полученных байт с пятью
JZ Labeпереход если были приняты все пять байт
OUT 03h ;установить сигнал BUSY=0
Подпрограмма работы ЦПУ
Значение data1 указывает на адрес начиная с которого будут храниться
данные для передачи data2 – указывает на адрес начиная с которого будут
храниться принимаемые данные errcode – адрес по которому хранится номер
ошибки nomer – адрес по которому хранится номер включаемого устройства.
OUT 03h ;Установить сигнал AUTOFD=0
OUT 03h ;Установить сигнал SELIN=0
OUT 03h ;Установить сигнал INIT=0
CALL Pered ;передать блок данных
CALL Prпринять блок данных
MOV AM ;поместить в аккумулятор содержимое ячейки памяти на которую
CMP M ;сравнить переданный и полученный байты
JNZ Labeпереход если байты не равны
INX H ;инкремент адреса Data2
INX H ;инкремент адреса Data1
INR B ;инкремент числа правильных байт
CPI 5d ;сравнение числа правильных байт с пятью
JZ Labeпереход если блоки данных совпадают
JMP Labeпереход на проверку следующего байта в блоке
INR C ;инкремент числа ошибок
CPI 8d ;сравнение числа ошибок с 8
JZ Labeпереход если совершено 8 неудачных попыток передать
OUT 03h ;установить сигнал SELIN=1
OUT 03h ;установить сигнал INIT=1
JMP Labeпереход на новый прием блока данных
CALL error ;вызов подпрограммы обработки ошибок
OUT 03h ;установить сигнал AUTOFD=1
OUT 03h ;установить сигнал AUTOFD=0
OUT 03h ;установить сигнал SELIN=0
ANI 00010000b ;анализ 4 бита аккумулятора
ANI 00000001b ;анализ первого бита аккумулятора
JNZ Labeпереход если STB=1
OUT 42h ;установить сигнал BUSY=1
OUT 42h ;установить сигнал ACKWLG=1
OUT 42h ;установить сигнал ACKWLG=0
OUT 42h ;установить сигнал BUSY=0
CMPM ;сравнить присланный номер устройства и номер хранящийся в
JZ Labeпереход если они равны
CALL avtomat ;вызов подпрограммы выполняющей действия в
соответствии с номером устройства
Подпрограмма инициализации адаптеров параллельного интерфейса ППУ
OUT 43h ; 43h – адрес управляющего слова второго адаптера
Подпрограмма работы ППУ
Значение data2 указывает на адрес начиная с которого будут храниться
принимаемые данные для передачи errcode – адрес по которому хранится
номер ошибки. В регистре B будет храниться значение переменной N.
CALL PИнициализация адаптеров параллельного интерфейса
CALL PrПрием блока данных
CALL Pered ;Отправка блока данных
ANI 00001000b ;Анализ третьего бита аккумулятора
JNZ LabeПереход если сигнал SELIN=1
JZ Labeпереход если N=255 (сигнал SELIN долгое время не
ANI 00000100b ;Анализ второго бита аккумулятора (сигнал AUTOFD)
JNZ Labeпереход если AUTOFD=1
ANI 00000010b ;Анализ первого бита аккумулятора (сигнал INIT)
JNZ Labeпереход если INIT=1 и AUTOFD=0
CALL eror ;вызов подпрограммы обработки ошибок
ANI 00000010b ;Анализ второго бита аккумулятора (сигнал INIT)
JZ LabeПереход если AUTOFD=1 и INIT=0
JMP Переход если AUTOFD=1 и INIT=1
CALL coef ;вычисление коэффициентов для звуковой индикации
OUT C0h ;инициализация блока индикации
OUT 80h ;включение индикатора и устройства автоматики
CALL sound ;проиграть звуковую последовательность
ANI 00010000b ;анализ четвертого бита аккумулятора (сигнал SEL)
JNZ Labeпереход если SEL=1
OUT 00h ;отправить номер устройства
OUT 03h ;установить сигнал STB=0
ANI 01000000b ;анализ шестого бита аккумулятора (сигнал ACKWLG)
JZ Labeпереход если ACKWLG=0
OUT C0h ;выключить индикатор
CPI FFh ;сравнить N и 255
Подпрограмма определения коэффициентов для таймера:
Значения Fn и Tn указывают на адреса в памяти по которым хранятся
значения F’ и T’. Значения N01 N02 – на адреса в памяти по которым
хранится старший и младший байт коэффициента N0. Значения N11 N12 – на
адреса в памяти по которым хранятся старший и младший байт коэффициента
N1. Значение number – на адрес по которому хранится число звуков которое
надо воспроизвести для обеспечения заданной длительности. Значение Data2 –
на адрес по которому хранится принятый блок данных.
Labeв регистре C теперь находится целая часть от деления 200 на
MOV CA ;в регистре С теперь хранится целая часть от деления 200 на
MOV MD ;в регистре D находится старший байт значения N0
MOV ME ;в регистре E находится младший байт значения N0
MOC CA ;в регистре С теперь хранится T’*10
MOV MD ;в регистре D хранится старший байт значения N1
MOV ME ;в регистре E хранится младший байт значения N2
;определение количества звуков
Подпрограмма воспроизведения звуковой последовательности
Значения N01 N02 – на адреса в памяти по которым хранится старший и
младший байт коэффициента N0. Значения N11 N12 – на адреса в памяти по
которым хранятся старший и младший байт коэффициента N1. Значение number –
на адрес по которому хранится число звуков которое надо воспроизвести для
обеспечения заданной длительности. В регистре B будет храниться число
воспроизведенных звуков.
OUT 1003h ;инициализация нулевого канала таймера (двоичный счет
режим 3 обращение к младшему а затем к
OUT 1000h ;загрузка в канал 0 значения N0
OUT 1003h ; инициализация первого канала таймера (двоичный счет
режим 1 обращение к младшему а затем к
OUT 1001h ;загрузка в канал 1 начального значения N1
;проверка содержимого канала 1
CPI 0d ;сравнить содержимое младшего байта канала 1 с нулем
JNZ Labeпереход если содержимое не равно нулю
CMP B ;сравнить число воспроизведенных звуков с требуемым
JNZ Labeпереход если они не равны
В ходе курсового проектирования было спроектировано микропроцессорное
устройство состоящее из центрального и периферийного процессорных
устройств. Устройство предназначено для включения и индикации включения
одного из семи устройств автоматики. При этом центральное процессорное
устройство подготавливает номер устройства и параметры звуковой
последовательности а затем передает их периферийному процессорному
устройству которое включает устройство автоматики и осуществляет индикацию
включения путем отображения номера устройства на семисегментном индикаторе
и проигрыванием звуковой последовательности. Центральное и периферийное
процессорные устройства связаны между собой интерфейсом Centronix.
Спроектированная система вряд ли найдет какое-либо практическое
применение из-за использования устаревшего микропроцессорного комплекта. К
тому же для выполнения поставленной задачи можно было бы разработать более
простую систему (например использовать только один адаптер параллельного
интерфейса или вообще отказаться от периферийного процессорного
Но в ходе выполнения этого курсового проекта были получены навыки по
проектированию простейших микропроцессорных устройств которые могут
пригодиться в будущем при разработке сложных микро-ЭВМ построенных на базе
более современных микропроцессорных комплектов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Балашов Е.П. Григорьев В.Л. Петров Г.А. Микро- и мини-ЭВМ. Л.:
Энергоатомиздат 1984. 376 с.
Иванов В.И. Аксенов А.И. Юшин А.М. Полупроводниковые оптоэлектронные
приборы: справочник. М.: Энергоатомиздат 1984. 184 с.
Майоров В.Г. Гаврилов А.И. Практический курс программирования
микропроцессорных систем. М.: Машиностроение 1989. 272 с.
Мячев А.А. Интерфейсы систем обработки данных. М.: Радио и связь 1984.
Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги: справочник
т.4. М.: КубК-а 1997. 576 с.
т.2. М.: КубК-а 1997. 640 с.
Рахимов Т.М. Справочник по микросхемам серии К155. Новосибирск 1991.
Угрюмов Е. П. Цифровая схемотехника. СПб.: БХВ-Петербург 2001. 528 с.
Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматического
управления. Л 1987. 640с.
Шахнов В.А. Микропроцессоры и микропроцессорные комплекты интегральных
схем: справочник т.1. М.: Высш. шк. 1988. 159с.
ПРИЛОЖЕНИЕ 1. ПЕРИФЕРИЙНОЕ ПРОЦЕсСОРНОЕ УСТРОЙСТВО. ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
Адаптер параллельного интерфейса
Блок включения устройств автоматики
Устройства автоматики
Семисегментный индикатор
Устройство для воспроизведения звуков
Установка управляющих сигналов первого адаптера: STB=1 AUTOFD=0 INIT=0
Инициализация первого адаптера:
группа А – вывод C7-4 – ввод С3-0 -вывод
Инициализация второго адаптера:
Группа А – ввод C7-4 – вывод C3-0 -ввод
Установка управляющих сигналов второго адаптера: SLCT=1 BUSY=0 ACKWLG=0
Включить устройство автоматики
Вычисление коэффициентов для звуковой индикации
Обработка ошибки ошибкуиошибку
Проверить сигналы INIT AUTOFD
Установка управляющих сигналов первого адаптера: -STB=1
Сравнить число воспроизведенных звуков с необходимым
Проверить содержимое канало0
Загрузить в канал 1 значение N1
Загрузить в канал 0 значение N0
Инициализация таймера: канал0- режим3 канал1 – режим 0
Вычисление необходимого числа звуков для обеспечения заданной длительности
сигнализации (целая часть от деления 250 на T’)
Вычисление значения N1=10*F’T’
Вычисление значения N0=(200F’)*100
Преобразование значений длительности и частоты из двухбайтового формата в
однобайтовый (вычисление F’ и T’)
Установить сигнал –STB=0
Установка управляющих сигналов второго адаптера SLCT=1 BUSY=0 ACKWLG=0
Проверить сигнал –STB передатчика
Получить байт из линии
Установить сигналы AUTOFD=1 SELIN=1
Установить сигналы INIT=1 SELIN=1
Сравнить переданный и полученный блоки
Получить блок данных
Передать блок данных
Подготовить блок данных
Установить сигналы AUTOFD=0 INIT=0 SELIN=0
Инициализация переменных
Инициализация адаптеров параллельного интерфейса
Выполнение действий соответствующих номеру включенного устройства
Сравнить номера включенного устройства и устройства которое требовалось
Установить сигнал BUSY=1
Получить код включенного устройства
Проверить сигнал STB
Проверить сигнал SLCT от ППУ
Установить сигнал ACKWLG=1
Установить сигнал BUSY=0
Установить сигнал ACKWLG=0
Установить сигнал –STB=1
Проверить сигнал ACKWLG от ЦПУ
Поместить в линию номер устройства
Проверить сигнал SEL от ЦПУ
Проверить сигнал SELIN от ЦПУ
Проверить сигнал ASKWLG приемника
Подготовить и поместить байт в линию
Проверить сигнал BUSY приемника
Проверить сигнал SLCT от приемника

icon текст (2).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА КОНТРОЛЯ СРАБАТЫВАНИЯ АВАРИЙНЫХ ДАТЧИКОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
канд. техн. наук доц.
канд. техн. наук доц
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ 6
Принципиальная схема периферийного устройства 6
Микропроцессор КР580ВМ80А 6
Генератор тактовых импульсов КР580ГФ24 7
4 Шинный формирователь КР580ВА86 8
5. Системный контроллер КР580ВКЗ8 8
Контроллер параллельного интерфейса КР580ВВ55 9
8. Программируемый контроллер прерываний КР580ВН59 13
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX . 15
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА 16
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ 17
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА 19
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА 19
1.Периферийное устройство 28
2.Центральное устройство 36
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 40
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
обнаружения срабатывания хотя бы одного аварийного датчика (замыкание
контактов). Датчики располагаются 4 группами по 18 штук. Номера датчиков
подлежащих опросу задаются программой выполняемой в центральном
процессорном устройстве и передаются периферийной стороне. Процедура
периодического опроса датчиков полностью организуется периферийным
процессором. Период опроса любого датчика T остается постоянным на все
время опроса датчиков в данной конфигурации. Передаваемые значения T лежат
в пределах 1.6-11.2 сек с точностью 0.1. Опрос датчиков в данной
конфигурации продолжается до поступления новых данных от центрального
процессорного устройства. Периодичность обращения центрального
процессорного устройства к периферийному – не менее 10 минут. Если
срабатывание конкретного датчика продолжается более 12 периодов опроса
управление должно быть передано некоторой подпрограмме центрального
процессорного устройства соответствующей номеру группы (т.е. периферийное
устройство должно сообщать центральному о каждом факте срабатывания
датчиков более 12 периодов). В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к ячейке памяти
лежащей в поле адресов периферийного процессора.
На практике часто возникает необходимость в устройстве обнаружения
срабатывания объединенных в группы датчиков. Для этого предназначено данное
устройство (структурная схема приведена на рис. 1 функциональная схема
приведена на рис. 2). Комплекс представляет собой центральное и
периферийное устройства соединенных интерфейсом CENTRONIX. Периферийное
устройство предназначено для опроса датчиков и первичной обработки данных
от датчиков (определение групп в которых существуют датчики сработавшие
более Р периодов опроса). Центральное устройство предназначено для
дальнейшей обработки данных о датчиках поступающих от периферийного
ПРИНЦИПИАЛЬНАЯ СХЕМА И ОПИСАНИЕ СОСТАВНЫХ ЧАСТЕЙ ППУ
1. Принципиальная схема периферийного устройства
Комплекс состоит из центрального и периферийного устройств на основе
микропроцессорного комплекта К580 связанных интерфейсом CENTRONIX. В
состав периферийного устройства входят микропроцессор КР580ВМ80А БИС
параллельного интерфейса КР580ВВ55 программируемого таймера КР580ВИ53
программируемого контроллера прерываний КР580ВН59 генератора тактовых
импульсов КР580ГФ24 системного контроллера КР580ВК38 3 буфера данных
КР580ВА86 постоянного запоминающего устройства КР588РР2 оперативного
запоминающего устройства КР533РУ10 3 дешифратора К155ИДЗ дешифратор
К155ИД14 инверторы К155ЛН1 антиконьюнктор К155ЛЕ1.
Датчики представляют собой матрицу 27*3 элементов. Сканирование
датчиков производится выдачей кода столбца в канал В КР580ВВ55 код столбца
дешифрируется и подается на матрицу. Сигналы сработавших датчиков поступают
в буфер данных КР580ВА86 затем через шину данных и системный контроллер
поступают в периферийный процессор.
2. Микропроцессор КР580ВМ80А
Микросхема КР580ВМ80А - функционально-законченный однокристальный
параллельный 8-разрядный микропроцессор с фиксированной системой команд
применяется в качестве центрально процессора в устройствах обработки данных
и управления. Микропроцессор имеет разделенные 16-разрядный канал адреса и
-разрядный канал данных. Канал адреса обеспечивает прямую адресацию
внешней памяти объемом до 65536 байт 256 устройств вводавывода.
Назначение выводов микропроцессора КР580ВМ80А
Вывод Обозначение Тип вывода Функциональное назначение
25-27 А10 А0-А2 Выходы Канал адреса
-10 D4-D7 D3-D0 Входывыходы Канал данных
UIO Напряжения источника смещения
Reset Вход Установка в исходное
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
UCC1 -- Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 -- Напряжение питания +12В
3. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2
предназначен для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния 8ТВ;
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения
Назначение выводов микросхемы КР580ГФ24.
ВыводОбозначение Тип вывода Функциональное назначение выводов
Reset Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
C Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucc2 Вход Напряжение питания +12В
C2 Выход Тактовые сигналы - фаза С2
C1 Выход Тактовые сигналы- фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Ucc1 Вход Напряжение питания +5В
4 Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный
формирователь предназначенный для обмена данными между микропроцессором
и системной шиной; обладают повышенной нагрузочной способностью имеет
третье состояние на выходе.
Назначение выводов микросхемы КР580ВА86.
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ц* - Напряжение питание 5В±5%
5. Системный контроллер КР580ВКЗ8
Микросхема КР580ВК38 - системный контроллер и буферный регистр
данных применяемых в микропроцессорных системах на базе микропроцессора
КР580ВМ80А для формирования управляющих сигналов и как буферный регистр
данных. Системный контроллер формирует управляющие сигналы RD WR RDIO
WRIO INTA по сигналам состояния микропроцессора а также обеспечивает
прием и передачу 8-разрядной информации между каналом данных
микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0.
Назначение выводов микросхемы КР580ВК38
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DВ4 DВ7 DВЗ Выход вход Канал данных системы
10 D4 D7 D3 D2Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
UCC Вход Напряжение питания +5В
6. Контроллер параллельного интерфейса КР580ВВ55
Микросхема КР580ВВ55 программируемое устройство вводавывода
параллельной информации применяется в качестве элемента
вводавывода общего назначения сопрягающего различные типы
периферийных устройств с магистралью данных систем обработки информации.
Обмен данными между магистралью данных систем и микросхемой КР580ВВ55
осуществляется через 8-разрядный двунаправленный трехстабильный канал
данных (D). Для связи с периферийными устройствами используется 24 линии
вводавывода сгруппированные в три 8-разрядных канала ВА ВВ ВС
направление передачи информации и режимы работы которых определяются
программным способом. В данном устройстве микросхема КР580ВВ55
программируется в режим 2 в котором обеспечивается двунаправленная
передача информации по каналу А между периферийным и центральным
процессорами. При этом линии канала С используются для приема и выдачи
сигналов управления обменом. Линии канала В программируются в режим 0
синхронный обмен используемый для опроса датчиков.
Назначение выводов микросхемы КР580ВВ55
-4 ВАЗ-ВАО Входывыходы Информационный канал А
RD Вход Чтение информации
CS - Выбор микросхемы
А1АО Вход Младшие разряды адреса
-17 ВС7-ВС4 Входывыходы Информационный канал С
-25 ВВО-ВВ7 Входывыходы Информационный канал В
Ucc - Напряжение питания 5В±5%
-34 D7-DO Входывыходы Канал данных
Reset Вход Установка в исходное состояние
WR Вход Запись информации
Рис. 3. Схема подключения двух КР580ВВ55 для обмена в режиме 2
Слово-состояние канала С в режиме 2
Рис. 4. Временная диаграмма работы КР580ВВ55 в режиме
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-
разрядных каналов с общей системой управления. Каждый из трех каналов
может быть независимо настроен на работу в одном из шести режимов. В
данном устройстве каналы 0 и 1 программируется в режим 2. Канал 0
генерирует периодический сигнал с частотой 1D (D-точность периода опроса
датчика) который подается на вход синхронизации канала 1 настраиваемый
генерацию периодического сигнала соответствующего периоду опроса датчика.
Обмен информацией с микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных.
Максимальное значение счета в двоичном коде 216.
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO Входывыходы Канал данных
518 СО Cl C2 Входы Синхронизация каналов 0-2
13 OUTO ОЩ1 OUT2Выходы Сигналы каналов 0 1 2
14 CEO CE1 СЕ2 Входы Сигналы каналов 0 1 2
20 А0А1 Входы Сигналы выбора каналов 0 1 2
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
Рис. 5. Временная диаграмма таймера в режиме 2
Расчет для канала 0 таймера. Реализация периодического сигнала
точности опроса датчика В=10000мкС соответствует 0010 0111 0001 0000
состояния 0 канала - 27 младший -10
Расчет для канала 1 таймера. Реализация периодического сигнала с в N раз
периодом чем сигнал канала 0 таймера. Нижняя граница - 1100*D => 0000
Верхняя граница - 10400*D => 0010 1000 1010 0000 => 28АО
8. Программируемый контроллер прерываний КР580ВН59
Устройство реализующее до восьми уровней запросов на прерывание с
возможностями программного маскирования и изменения дисциплины
обслуживания прерываний. За счет каскадного включения число уровней
прерывания может быть расширено до 64.
В данном устройстве применяется режим с фиксированными приоритетами
Назначение выводов микросхемы КР580ВН59
Обозначение выводаНомер контакта Назначение вывода
D(7-0) 4; 5; 6; 7; 8; 9; Входвыход данных
RD 3 Вход строба чтения
WR 2 Вход строба записи
загрузки команд и считывания
CS 1 Вход выбора микросхемы
CASO-CAS2 12 13 15 Входывыходы каскадирования
SP 16 Признак подчинения (1
-ведущий 0-ведомый)
INTA 26 Подтверждение прерывания (1
-выдача CALL на шину данных)
INT 17 Прерывание (1 -запрос на обсл.
IRQO-IRQ7 18; 19; 20; 21; 22;Входы запросов
; 25 (положительный фронт)
Ucc 28 Напряжение питания +5В
ОПИСАНИЕ ИНТЕРФЕЙСА CENTRONIX
Интерфейс Centronics обеспечивает радиальное подключение (посредством
кабеля) устройств с параллельной передачей информации с микропроцессорным
управлением. Отечественным аналогом интерфейса Centronics является
интерфейс ИРПР-М. Передача данных осуществляется между одним источником (И)
и одним приемником (П). Устройства или контроллеры совмещающие функции И и
П должны содержать два набора линий интерфейса Centronics.
Набор обязательных линий (сигналов) сопряжения разделенных на три
группы (заземление и питание управления информационные) приведен в табл.
Набор обязательных линий (сигналов) сопряжения
Наименование Обозначение Направление
Готовность приемника SLCT отПкИ
Строб - STROBE от И кП
Подтверждение - ACKWLG отП к И
Автоматический перевод- AVTOFD отИкП
Информационные линии
Данные (1 8) DO D7 —
Линии заземления и питания
«Строб»: при лог. 01 - данные действительнынедействительны.
Длительность импульса с лог. 0 - не менее 05 мкс.
«Данные»: высокомунизкому уровню соответствует лог. 10. Комбинации
сигналов на линии данных соответствует код графического символа или код
функции и на них не накладываются ограничения. Для конкретных устройств
допускается использование меньшего числа разрядов.
«Подтверждение»: лог. 10 означает что приемник готовне готов к
приему данных но принял предыдущие данные.
«Готовность приемника»: лог. 10 означает что приемник
неработоспособенработоспособен и не готовготов принимать данные.
«Автоматический перевод строки»: лог. 10 означает что приемник не
выполняетвыполняет самостоятельный перевод бумаги на одну строку по
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА
Распределение адресного пространства
Начальный Конечный Устройство Тип адресации
00 07FF PROM (ПЗУ) Устройство памяти
00 OFFF RAM (ОЗУ) Устройство памяти
17 СТ (таймер) Внешнее устройство
IF BD (буфер сработавших датчиков) Внешнее устройство
00 1FFF ЮР (контр паралл. Интерфейса) Устройство памяти
При распределении адресного пространства использован метод частичной
СИМВОЛИЧЕСКИЕ ОБОЗНАЧЕНИЯ В ПРОГРАММЕ
Символические адреса используемые в программе
Двоичный адрес Шестнадцатиричн Обозначение Примечание
xхх01000 0800 CountSensor Начало таблицы счетчиков
000000 срабатывания датчиков
xхх01001 0900 QuestSensor Начало таблицы подлежащих
000000 опросу датчиков
xxx0lll 11100000OFEO IRQO Адреса перехода по
xxx0lll 11100100OFE8 IRQ1
Для сообщения от ЦПУ
xхх01010 ОАОО Counter Счетчик байт
xхх01010 ОА01 Addrl Адреса для приема байт
000001 сообщения ЦПУ
ххх01010 *ОА02 Addr2
ххх01001 0980 ToCentre Слово посылаемое в ЦПУ
ххх00ххх 00 Lamp Светодиод неисправности
обмена данными между ЦПУ
ххх 10x00 10 PortA Порт А ЮР
xxxl0x0l 11 PortB Порт В ЮР
ххх10х10 12 PortC Порт С ЮР
xxxl0xll 13 lOPControl Управляющее слово ЮР
XXX 11 XXX 18 AddrBD Адрес буфера сработавших
xxx0lxx0 08 PICO Адреса PIC
ххх11x00хххххххх1800 TimerO Адрес канала 0 СТ
xxxllxOlхххххххх1900 Timer 1 Адрес канала 1 СТ
xxxl1x11хххххххх1ВОО TimerControl Регистр управляющего
Описание констант используемых в программе
Двоичное Шестнадцатиричное ОбозначениеПримечание
100111 27 DOld Точность (соответствует F 10000
F-тактовая частота) для режима 2
101110 2Е N Число столбцов (46)
010001 11 Р Число периодов срабатывания датчика
111111 FF Mistake Ошибка
000011 03 ForSensor Сообщение о датчиках
000001 81 ForTimer Сообщение для Таймера
Для контроллера параллельного интерфейса
000001 01 LampOn Включить светодиод
000000 00 LampOff Выключить светодиод
0хх000 СО ContrlOP Управляющее слово для ЮР (D6D5-
канал А - режим 2 В2-канал В -
режим 0 D1 -вывод канала В DO
-оставшиеся линии С на вывод)
Для таймера (В7В6-канал D5D4-6aUTD3-Dl -режим DO-система исчисления)
11x100 24 СТО СТО два байта реж2 двоими.
11x100 74 СТ1 СТ1 два байта реж2 двоими.
Команды инициализации для программируемого контроллера прерываний
110110 F6 ICW1 О7-О5-адрес В2-число байт
хххОПП 07 ICW2 Старший байт адреса
ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА
После включения питания ППУ и ЦПУ в них происходит инициализация
контроллера параллельного интерфейса БИС КР580ВВ55 (порт А - режим 2 порт
В - режим 0) инициализация таймера БИС КР580ВИ53 (каналы 0 и 1 - в режим
деления частоты канал О настраивается на генерацию периодического сигнала
с периодом равным точности D) инициализация контроллера прерываний.
Начинается опрос датчиков с периодом по умолчанию (максимальный период). По
умолчанию считается что датчики опросу не подлежат поэтому информация о
сработавших датчиках не поступает в ЦПУ.
ЦПУ может сообщать ППУ о периоде опроса датчика и о датчиках
подлежащих опросу. Формат сообщения трехбайтный представлен в таблице 11.
(в таблице приведены границы для старшего байта состояния канала 1 таймера
которые соответствуют границам периода опроса датчика). Длина сообщения из
ППУ в ЦПУ 1 байт (таблица 12).
П. Формат сообщения из ЦПУ в ППУ
Управляющее слово 1 байт 2 байт
000001 для таймера (х0000100-х0101000) Младший байт для 1 канала
старший байт для 1 каналатаймера
таймера х - контрольный
000011 (х0000000-х0101110) 0000хс2с1с0
для подлежащих опросу код номера столбца х - cN=l - датчик N подлежит
датчиков столбца контрольный бит опросу 0 - не подлежит
х - контрольный бит
Формат сообщения из ЦПУ в ППУ
Номер байта Формат Значение
11111111 Сообщение ЦПУ об ошибке передачи
0хс5с4сЗс2с1сО с5-сО-код столбца х - контрольный
0000хс2с1сО cN=l - датчик N сработал > Р раз 0 -
сработал х - контрольный бит
Циклический опрос датчиков происходит по прерываниям от таймера и
представляет собой последовательное сканирование столбцов матрицы датчиков
(столбец сканируется 2 раза для устранения дребезга контактов) определение
сработавших датчиков столбца определение какие из датчиков столбца
подлежащих опросу сработали более Р периодов опроса. После сканирования
всех столбцов происходит итоговое определение групп в которых были
срабатывания и если есть необходимость производится сообщение для ЦПУ.
ЦПУ определяет является ли информация из ППУ сообщением об ошибке есть ли
ошибки в самом сообщении в каких группах были срабатывания датчиков > Р
периодов и вызывает соответствующие подпрограммы обработки.
СХЕМЫ АЛГОРИТМОВ РАБОТЫ УСТРОЙСТВА
Рис. 6.1 Схема основной программы ППУ
Рис. 6.2 Схема подпрограммы формирования счетчика срабатывания датчика
Рис. 6.3 Схема подпрограмма обработки счетчика срабатывания датчика в
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть 1)
Рис. 6.4 Схема подпрограммы цикла опроса датчиков (часть2)
Рис. 6.5 Схема подпрограммы передачи сообщения из ЦПУ в ППУ
Рис. 6.6. Подпрограмма обработки сообщения из ППУ в ЦПУ
[pic]Рис. 6.7. Посылка байта из ЦПУ в ППУ или из ППУ в ЦПУ
MVI A ContrlOP OUT lOPControl MVI А СТО STA TimerControl MVI A DOld STA
TimerO MVI A DYoung STA TimerO MVI A CT1 STA TimerControl MVI A 28 STA
1. Периферийное устройство
;3апретить прерывания ..
;3адать режим работы ЮР
;3агрузить управляющее слово для канала 0 таймера ;3аписать старший
байт в канал 0 таймера ;3аписать младший байт в канал 0 таймера
;3агрузить управляющее слово для канала 1 таймера
;3аписать старший байт в канал 1 таймера ;(Период опроса по умолчанию)
;3аписать младший байт в канал 1 таймера
;3агрузить первое слово инициализации в программируемый ;контроллер
прерываний ;3агрузить второе слово инициализации в программируемый
;контроллер прерываний разрешить прерывания ;Бесконечный цикл
;Цикл опроса датчиков ;3апретить прерывания
;Сохранение регистровых пар и слова состояния в стеке
;В Н начало таблицы счетчиков срабатывания датчиков ;В D начало таблицы
датчиков подлежащих опросу ;В - число столбцов (N=46) ;Первое сканирование
;Номер столбца в А ;В порт В номер столбца
;Прием из буфера данных байта сработавших в столбце датчиков
;Сохранение в С байта сработавших датчиков ;Временная задержка
;3адержка на 12 тактов
;Повторное сканирование столбца датчиков ;Номер столбца в А
;В порт В номера датчиков в столбце подлежащих
;Прием из буфера данных байта сработавших в столбце
;Определение сработавших датчиков в столбце
;Критерий срабатывания - 0 за два сканирования
Инвертирование разрядов аккумулятора
;Подлежащие опросу датчики столбца в аккумулятор ;Конъюнкция кода
датчиков подлежащих опросу и кода срабатывания датчиков - код
столбца ;Сохранить код столбца в С
;Обработка первого датчика в столбце
;Код столбца умножить на код первого датчика
;Если датчик сработал перейти на LABI
;Обнулить содержимое счетчика срабатывания датчика
;Перейти к обработке следующего датчика в столбце ;Увеличить счетчик
срабатывания датчика на 1 ;Перейти к адресу счетчика срабатывания
;Считать код столбца в А ;Обработка второго датчика в столбце
ANI02 JNZLAB17 MVIM О
ANI04 JNZLAB19 MVIM 0
JMPLAB20 INRM MVIC 0
; Код столбца умножить на код второго датчика ; Если датчик
сработал перейти».на LAB 17 ; Обнулить содержимое счетчика
срабатывания датчика
; Перейти к обработке следующего датчика в столбце ; Увеличить
счетчик срабатывания датчика на 1 ; Перейти к адресу счетчика
срабатывания третьего датчика
;Считать код столбца в А ;Обработка третьего датчика в столбце
; Код столбца умножить на код третьего датчика ; Если датчик
сработал перейти на LAB 19
; Обнулить содержимое счетчика срабатывания
; Перейти к обработке следующего датчика в столбце
; Увеличить счетчик срабатывания датчика на 1
;Обнулить содержимое С
;Обработка счетчика срабатывания третьего датчика в столбце
MOV A M ;Считать счетчик третьего датчика в А
JNZ LAB21 ;Если срабатывание датчика не равно 17 периодов то
MOV А С ;Считать содержимое С в A k
ADI 04 ;Сложить А с кодом третьего датчика
MOV С А ;Сохранить в С
MVIМ 0 ;Обнулить счетчик срабатывания датчика
LAB21: DCX Н ;Перейти к адресу счетчика второго датчика
;Обработка счетчика срабатывания второго датчика в столбце
MOV А М ;Считать счетчик второго датчика в А
SUIР ; Сравнить с Р=17
JNZ LAB22 ; Если срабатывание датчика не равно 17 периодов то
MOV А С ; Считать содержимое С в А
ADI 02 ; Сложить А с кодом второго датчика
MOV С А ; Сохранить в С
MVIM О DCXH MOV A M SUIP JNZ LAB23
MOV А С ADI 01 MVIM 0
; Обнулить счетчик срабатывания датчика ; Перейти к адресу
счетчика первого датчика ; Считать счетчик второго датчика
в А ; Сравнить с Р= 17
; Если срабатывание датчика не равно 17 периодов то
; Считать содержимое С в А ; Сложить А с кодом первого
датчика ; Обнулить счетчик срабатывания датчика Переход к
; Считать в Н адрес слова посылаемого в ЦПУ ;Сравнить
слово посылаемое в ЦПУ с О ;Если 0 перейти к LAB25
;Сохранить результат ;HL из стека
;Перейти к следующему адресу в таблице датчиков ;подлежащих опросу
формирование сообщения о сработавших датчиках посылаемого в ЦПУ
ORI08 OUT PortA INPortC
;Если четное слово в МП сформировано перейти к
;Контрольный бит - 1
;Проверка подтверждения приема данных ЦПУ ;ЦПУ не принял сообщение ;3ажечь
;Проверка подтверждения приема данных ЦПУ
;Цикл пока ЦПУ не примет сообщение ;Погасить светодиод
OUT PortC LAB27: PUSHH
OUT PortC LAB25: DCRB
PUSH PSW PUSHH PUSH В
;B HL адрес слова посылаемого в ЦПУ
;обнулить слово посылаемое в ЦПУ
формирование контрольного бита в коде столбца
;Передача кода столбца в ЦПУ
;Уменьшить счетчик столбцов
;Если не все столбцы проверены перейти к LAB24
;Восстановление регистровых пар и слова состояния из ;стека
разрешить прерывания ;Выход из подпрограммы
;0бработка сообщения из ЦПУ в 1111У ;3апретить прерывания ;Сохранить
регистровые пары в стеке
PUSHD INPortA MOV В А LDA Counter ANIO JNZ LAB32 INRA STA Counter MOV А В
STA Addrl JMPLAB35 ANI1
JNZ LAB34 INRA STA Counter MOV А В STA Addr2 JMPLAB35 MVIA0 STA Counter
MOV D A LDA Addrl MOV В А LDA Addr2 MOV С А
;Принять байт от ЦПУ
;3агрузить счетчик байт
;Сравнить счетчик с О
;Если не нулевой байт перейти к LAB32
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addrl
;Сравнить счетчик с 1
;Если не первый байт перейти к LAB34
;Увеличить счетчик байт и сохранить ;Сохранить принятый байт по Addr2
;Обнулить счетчик байт ;Сохранить принятый байт в D
;Предыдущие байты разместить в В и С
;Обработка управляющего слова ;3агрузка управляющего слова в А
;Слово нечетно - обработка ошибки ;Если не 0 переход к LAB30 Сообщение -
код датчиков подлежащих опросу ;3агрузка кода столбца в А ;Сравнить с О
;Проверка на четность
LXIH QuestSensor ;B паре HL - начало таблицы подлежащих опросу
ANI 6F ;Обнуление не информационных битов
;Код столбца прибавить к младшему байту адреса
;Вычисление адреса для столбца в таблице подлежащих опросу датчиков ADDL
;Перенос в старший байт адреса
;3апись кода датчиков столбца подлежащих опросу
JPE LAB29 CALL Mistake РОРН JMPLAB35 ANI 07 MOV M A РОРН JMPLAB35
SUI ForTimer JNZ LAB29
;Проверка кода датчиков столбца на четность
;Вызов процедуры сообщения ЦПУ об ошибке ;HL из стека
;Обнулить неинформационные биты
;3аписать код датчиков ; HL из стека
;Сообщение для таймера ;Если сообщение не для таймера перейти к LAB30?
;Обработка первого байта ;3агрузить первый байт в аккумулятор
;Байт нечетный - ошибка
;0бработка первого байта сообщения LXI H
TB HL - адрес управляющего слова таймера
LXI H Timerl ANI6F MOV M A
;3апись управляющего слова в таймер (запись ;старшего байта счетчика
первого канала) ;В HL - адрес первого канала таймера ;0бнулить не
информационные биты первого байта ;3аписать старший байт счетчика
;Обработка второго байта сообщения
LXI H TB HL - адрес управляющего слова таймера MVI M CT1
Young ;3апись управляющего слова в таймер (запись
;младшего байта счетчика первого канала) ;В HL - адрес
первого канала таймера ;3аписать младший байт счетчика ;
H Timerl MOV M D POPH JMPLAB35
POP В POPH POP PSW El RET
Mistake: MVI A Mistake
OUT PortA INPortC ANI08 JNZ LABS7 MVI A LampOn OUT PortC
ANI08 JZ LABS6 MVI A LampOff OUT PortC
;Вызов процедуры сообщения ЦПУ об ошибке восстановить регистровые пары
;Разрешить прерывания ;Конец подпрограммы Подпрограмма сообщения в ЦПУ об
;Сообщение ЦПУ об ошибке
;ЦПУ не принял сообщение
;Проверка подтверждения приема данных ЦПУ ;Цикл пока ЦПУ не примет
сообщение ;По гасить светодиод
;Восстановить регистровые пары
;Разрешить прерывания
;Выход из подпрограммы
Переход на подпрограммы обработки прерываний
JMP CIRCLE ;Цикл опроса датчиков
JMP MESSAGE ;Сообщение от ЦПУ
2.Центральное устройство
Сообщение из ППУ ;3апретить прерывания
;Сохранить регистровые пары в стеке
;Считать слово из ППУ
;Сравнить с кодом ошибки (ППУ не понял сообщение
;Переход на подпрограмму обработки ошибки
;Сохранить слово в D ;Счетчик байт в аккумулятор ;Сравнить счетчик с О
;Если 0 перейти к LAB9 ;Счетчик = 1 ;Сохранить код группы в В
;Сохранить код столбца в С
; Считать счетчик байт в А
;Контроль по четности
;Сработала неизвестная группа переход к LAB2
;Вызов подпрограммы обработки неизвестной группы
;Сработала первая группа?
; Вызов подпрограммы обработки первой группы
; Считать слово из ППУ в А
;Сработала вторая группа?
; Вызов подпрограммы обработки второй группы ; Считать слово из ППУ в А
;Сработала третья группа?
; Вызов подпрограммы обработки третьей группы
; Вызов подпрограммы обработки неизвестной группы
восстановить регистровые пары из стека
; Разрешить прерывания ;Выход из подпрограммы
;Сообщение из ЦПУ в ППУ ;Послать первый байт
;Послать второй байт
;Послать третий байт
;Посылка байта в ППУ ;Сообщение в ППУ ;Проверка подтверждения приема
;ППУ не принял сообщение?
;Проверка подтверждения приема данных ППУ ;Цикл пока ППУ не примет
В курсовом проекте спроектировано устройство обнаружения срабатывания
объединенных в группы датчиков. Комплекс представляет собой центральное и
устройство предназначено для опроса датчиков и первичной обработки данных о
срабатывании датчиков (определение групп в которых существуют датчики
сработавшие более Р периодов опроса). Центральное устройство предназначено
для дальнейшей обработки данных о датчиках поступающих от периферийного
устройства. Центральное устройство сообщает периферийному о датчиках
подлежащих опросу и период опроса датчиков что делает спроектированное
устройство довольно универсальным и позволяет применять его в разнообразных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Хвощ С. Т. Варлинский Н. Н. Попов Е. А. Микропроцессоры и микро-ЭВМ в
системах автоматического управления: Справочник под ред. С. Т. Хвоща.
Л.: Машиностроение. Ленингр. отд-ление!987. 640 с.
Микропроцессоры В 3 кн. Кн. 1. Архитектура и проектирование ЭВМ.
Организация вычислительных процессов: Учебник для ВТУЗов П. В. Нестеров
В. Ф. Шаньгин В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая
Микропроцессоры В 3 кн. Кн. 2. Средства сопряжения.
Контролирующие и информационно-управляющие системы: Учебник для ВТУЗов
В. Д. Вернер Н. В. Воробьев А. В. Горячев и др.; Под ред. Л.Н.
Преснухина. М.: Высшая школа 1986. 383 с.
Микропроцессоры В 3 кн. Кн. 3. Средства отладки: лабораторный практикум
и задачник. Учебник для ВТУЗов Н. В. Воробьев В. Л. Горбунов А. В.
Горячев и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа 1986. 351 с.
Интегральные микросхемы: Справочник Б. В. Тарабрин Л. Ф. Лунин Ю. Н.
Смирнов и др.; Под ред. Б. В. Тарабрина. - М.: Радио и связь 1984 -528

icon Текст (4).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
МНОГОКАНАЛЬНАЯ СИСТЕМА ФОРМИРОВАНИЯ АНАЛОГОВЫХ СИГНАЛОВ
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: Д.Л. Данилов
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ 6
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ. 8
1 Микропроцессор К580ВМ80 8
2. Генератор тактовых импульсов КР580ГФ24 9
3. Шинный формирователь КР580ВА86 9
4. Системный контроллер КР580ВК28 10
5. Таймер КР580ВИ53 10
6. Универсальный приёмопередатчик К580ВВ51А 12
7. D-регистр защелка КР580ИР82. 14
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232. 16
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ 17
ОПИСАНИЕ РАБОТЫ ППУ 19
Блок-схемы алгоритмов работы устройства 19
1. Основная программа выполняемая в ППУ 23
2. Подпрограмма инициализации УСАПП 24
3. Подпрограмма инициализации таймеров 24
4. Подпрограмма принятия 2-го и последующих байт командной посылки 25
5. Подпрограмма сброса признаков ошибки и отправки запроса на повторную
6. Подпрограмма инициализации ЦАП 25
7. Подпрограмма инициализации таймера 26
8. Подпрограмма отправки посылки с масштабным коэффициентом 27
9. Подпрограмма переинициализации таймеров 28
10. Подпрограмма обновления масштабных коэффициентов ЦАП 29
11. Подпрограмма предназначенная для обмена с ППУ (выполняется на ЦПУ)
12. Подпрограмма отправки байта в ППУ 30
13. Подпрограмма получения байта от ППУ 30
14. Подпрограмма инициализации УСАПП в ЦПУ 30
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ 32
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 33
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве контроллеров интерфейса использовать БИС КР580ВВ55
с адресацией к ним как к внешним устройствам. Комплекс предназначен для
формирования аналоговых напряжений и содержит 5 ЦАП К572ПА2 с адресацией к
ним как к ячейкам памяти лежащим в поле адресов периферийного процессора.
Значения напряжений и номера ЦАП подлежащих инициализации а также время
в течение которого аналоговое напряжение должно присутствовать на выходе
данного канала (период инициализации Т) определяются программой
выполняемой в центральном процессорном устройстве и передаются
периферийной стороне в виде единого блока. Период инициализации любого ЦАП
составляет Т секунд и может быть различным для всех ЦАП. Численные значения
Т лежат в пределах 15-83 сек. с точностью 05 с. После завершения
инициализации любого ЦАП напряжение на его выходе должно равняться нулю.
Масштаб выходного напряжения любого ЦАП К=1 и остается постоянным в
течение всего периода инициализации Т но может изменяться от периода к
периоду. Его конкретное значение зависит от программы выполняемой
периферийным процессором при этом значения всех масштабных коэффициентов в
каждый период инициализации передаются в фиксированные ячейки ОЗУ
центрального процессорного устройства. Процедура инициализации всех ЦАП
полностью организуется периферийным процессором. Наличие в блоке данных Т=0
для каких-либо ЦАП означает что период инициализации продолжается до
поступления новых данных от центрального процессорного устройства.
Периодичность обращения центрального процессорного устройства к
периферийному не менее 2-х минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
Сигнал определяется как напряжение или ток который может быть
передан как сообщение или как информация. По своей природе все сигналы
являются аналоговыми будь то сигнал постоянного или переменного тока
цифровой или импульсный. Тем не менее принято делать различие между
аналоговыми и цифровыми сигналами. Цифровым сигналом называется сигнал
определённым образом обработанный и преобразованный в цифры. Обычно эти
цифровые сигналы связаны с реальными аналоговыми сигналами но иногда между
ними и нет связи. В качестве примера можно привести передачу данных в
локальных вычислительных сетях (LAN) или в других высокоскоростных сетях .В
случае цифровой обработки сигнала (ЦОС) аналоговый сигнал преобразуется в
двоичную форму устройством которое называется аналого-цифровым
преобразователем (АЦП). На выходе АЦП получается двоичное представление
аналогового сигнала которое затем обрабатывается арифметическим цифровым
сигнальным процессором (DSP). После обработки содержащаяся в сигнале
информация может быть преобразована обратно в аналоговую форму с
использованием цифро-аналогового преобразователя (ЦАП). Другой ключевой
концепцией в определении сигнала является тот факт что сигнал всегда
несет некоторую информацию. Это ведет нас к ключевой проблеме обработки
физических аналоговых сигналов – проблеме извлечения информации.
СХЕМЫ ППУ И ОПИСАНИЕ РАБОТЫ
Комплекс состоит из центрального и периферийного процессорных устройств
соединённых интерфейсом RS-232. На следующих двух страницах приведены
структурные схемы центрального и периферийного процессорных устройств.
В ППУ используются следующие БИС:
К580ВМ80 - однокристальный центральный процессор.
К580ГФ24 - генератор тактовых последовательностей с кварцевой
стабилизацией частоты.
К580ВК28 -системный контроллер.
К580ВВ51 - контроллер последовательного интерфейса совместимого с RS-
К580ВА86 - шинные формирователи. Введены для повышения нагрузочной
К580ВИ53 -трёхканальные программируемые таймеры.
К580ИР82 - регистры-защёлки введённые для фиксации данных на входах ЦАП.
К572ПА1 - 10-разрядные ЦАП.
К573РФ41 - ИМС ПЗУ 64кбит с организацией 4к*8
К565РУ2 - ИМС статического ОЗУ.
Также в ППУ использовано несколько ИМС малой степени интеграции - К155ЛАЗ
(4 двухвходовых элемента И-НЕ) ОУ К153УДЗ дешифратор К155ИД10.
Функциональная схема ППУ приведена на рис.3. Принципиальная схема
устройства прилагается.
Центральное процессорное устройство может быть реализовано аналогично
его отличие состоит в отсутствии дешифратора адреса т.к. достаточно
использовать 4 старших линии ША для идентификации ИМС к которой требуется
обратиться а также отсутствием двух таймеров задающих интервалы времени
для блоков ЦАП и самих блоков ЦАП.
Рис. 1. Структурная схема ППУ
Рис. 2. Простейшая структурная схема ППУ
Рис. 3. Функциональная схема ППУ
ОПИСАНИЕ ИМС ИСПОЛЬЗОВАННЫХ В ППУ.
1 Микропроцессор К580ВМ80
ИМС КР580ВМ80А - функционально-законченный однокристальный параллельный 8-
разрядный микропроцессор с фиксированной системой команд применяется в
качестве центрально процессора в устройствах обработки данных и управления.
Микропроцессор имеет разделенные 16-разрядный канал адреса и 8-разрядный
канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти
объемом до 65536 байт 256 устройств вводавывода.
Таблица 1 Назначение выводов микропроцессора
Вывод Обозначение Тип вывода Функциональное назначение
25-27А10 АО-А2 Выходы Канал адреса
-10 D4-D7 D3-DO Входывыходы Шина данных
Uo Напряжения источника смещения
Reset Вход Устан. в исходное состояние
INT Вход Запрос прерывания
22 С2 С1 Входы Тактовые сигналы
INTE Выход Разрешение прерывания
RC Выход Прием информации
TR Выход Выдача информации
SYN Выход Сигнал синхронизации
Ucci - Напряжение питания +5В
HLDA Выход Подтверждение захвата
RDY Вход Сигнал «Готовность»
WI Выход Сигнал «Ожидание»
UCC2 - Напряжение питания +12В.
2. Генератор тактовых импульсов КР580ГФ24
Микросхема КР580ГФ24 - генератор тактовых сигналов С1 С2 предназначен
для синхронизации работы микропроцессора КР580ВМ80А.
Генератор формирует:
две фазы С1 С2 с положительными импульсами сдвинутыми во времени
амплитудой 12В и частотой 05-30 МГц;
тактовые сигналы опорной частоты амплитудой напряжения уровня ТТЛ;
стробирующий сигнал состояния
тактовые сигналы С синхронные с фазой С2 амплитудой напряжения уровня
Таблица 2 Назначение выводов микросхемы
Вывод Обозначение Тип выводаФункциональное назначение выводов
SR Выход Установка в исходное состояние
микропроцессора и системы
RESIN Вход Установка 0
RDYIN Вход Сигнал «Готовность»
RDY Выход Сигнал «Готовность»
SYN Вход Сигнал синхронизации
С Выход Тактовый сигнал синхронный с фазой С2
STB Выход Стробирующий сигнал состояния
Ucft Вход Напряжение питания +12В
С2 Выход Тактовые сигналя - фаза С2
С1 Выход Тактовые сигналя - фаза С1
OSR Выход Тактовый сигнал опорной частоты
TANK Вход Вывод для подключения колебательного
15 XTAL1 XTAL2 Вход Вывод для подключения резонатора
Use Вход Напряжение питания +5В
3. Шинный формирователь КР580ВА86
Микросхема КР580ВА86 - двунаправленный 8-разрядный шинный формирователь
предназначенный для обмена данными между микропроцессором и системной
шиной; обладают повышенной нагрузочной способностью имеет третье состояние
Таблица 3 Назначение выводов микросхемы
Вывод Обозначение Тип вывода Функциональное назначение выводов
-8 АО-А7 Входвыход Информационная шина
ОЕ Вход Разрешение передачи (управление 3-м
Т Вход Выбор направления передачи
-19 В7-ВО Выходвход Информационная шина
Ucc - Напряжение питания 5В±5%
4. Системный контроллер КР580ВК28
Микросхема КР580ВК28 - системный контроллер и буферный регистр данных
применяемых в микропроцессорных системах на базе микропроцессора КР580ВМ80А
для формирования управляющих сигналов и как буферный регистр данных.
Системный контроллер формирует управляющие сигналы RD WR RDIO WRIO INTA
по сигналам состояния микропроцессора а также обеспечивает прием и
передачу 8-разрядной информации между каналом данных микропроцессора по
выводам D7-DO и системным каналом по выводам DB7-DBO.
Таблица 4 Назначение выводов микросхемы
STB Вход Стробирующий сигнал состояния
HLDA Вход Подтверждение захвата
TR Вход Выдача информации
RC Вход Прием информации
9 DB4 DB7 Выход вход Канал данных системы
101D4 D7 Выход вход Канал данных микропроцессора
BUSEN Вход Управление передачей данных и выдачей
INTA Выход Подтверждение запроса прерывания
RD Выход Чтение из ЗУ
RDIO Выход Чтение из УВВ
WR Выход Запись в ЗУ
WRIO Выход Запись в УВВ
Ucc Вход Напряжение питания +5В
Микросхема КР580ВИ53 - трехканальное программируемое устройство
(таймер) предназначено для организации работы микропроцессорных систем в
режиме реального времени для организации времязависимых процессов.
Программируемый таймер реализован в виде трех независимых 16-разрядных
каналов с общей системой управления. Каждый из трех каналов может быть
независимо настроен на работу в одном из шести режимов. Обмен информацией с
микропроцессором осуществляется по 8-
разрядному двунаправленному каналу данных. Максимальное значение счета в
В данном устройстве используется 3 ИМС таймеров - две (DD17 DD21) для
управления шестью каналами ЦАП и одна (DD26) для формирования тактовых
последовательностей для контроллера последовательного интерфейса К580ВВ51А
и также для формирования тактовых последовательностей для всех каналов
Каналы 0 и 1 микросхемы DD26 работают в режиме 2 (временная диаграмма
работы приведена на рис.4.) Коэффициент деления при тактовой частоте
системы 2МГц (кварцевый резонатор 18МГц) для канала О N=6667 (для скорости
передачи по последовательному интерфейсу. ЗООбод) Для канала 1: получить
коэффициент деления достаточный для получения на выходе частоты 5Гц (=10)
с помощью данного таймера невозможно однако можно получить частоту 40 Гц
(коэффициент деления N=200000040=50000) после чего и записывать в
регистры таймеров DD17 DD21 значения побитно сдвинутые влево на 3 бита
(что равноценно увеличению записываемого числе в 8 раз) и умноженные на 5
(это возлагается на программное обеспечение ЦПУ и не описывается т.к.
такая реализация несколько повышает универсальность устройства). При этом
возможности таймеров DD17 DD21 используются не полностью (максимальное
значение записываемое в регистры составит Nmax=98*40=3290 что почти в 20
раз меньше максимально возможного). Минимальное значение записываемое в
регистры составит Nmin=10*40=400
Все каналы таймеров DD17 DD21 работают в режиме 0. Временная диаграмма
работы таймера в этом режиме приведена на рис.5
Рис.4 Временная диаграмма работы таймера в режиме 2
Назначение выводов микросхемы КР580ВИ53
-8 D7-DO ВходывыходыКанал данных
518 СОС1С2 Входы Синхронизация каналов 0-2
13 17 OUTO OUT1 OUT2 Выходы Сигналы каналов 0 1 2
14 16 CEO CE1.CE2 Входы Сигналы каналов 0 1 2
20 АО.А1 Входы Сигналы выбора каналов 0 1
CS Вход Выбор микросхемы
Ucc - Напряжение питания 5В ±5%
6. Универсальный приёмопередатчик К580ВВ51А
Микросхема КР580ВВ51 - универсальный синхронно-асинхронный
приёмопередатчик (УСАПП) предназначен для аппаратной реализации
последовательного протокола обмена между микропроцессором К580ВМ80А и или
другим устройством способным запрограммировать данную микросхему на
требуемый режим работы и каналами передачи последовательной дискретной
ИМС преобразует параллельный код получаемый через ШД от центрального
процессора в последовательный поток символов со служебными битами и выдаёт
этот поток в последовательный канал связи с различной скоростью а также
выполняет обратное преобразование: последовательный поток символов - в
параллельное 8-разрядное слово. Передаваемая и получаемая информация при
необходимости может контролироваться на чётностьнечётность.
ИМС УСАПП может быть применена для реализации различных
последовательных интерфейсов (в т.ч. RS-232). Возможна работа ИМС в режимах
синхронного или асинхронного приёмапередачи.
Максимальная скорость передачиприёма информации 64Кбод минимальная не
В описываемом устройстве ИМС работает в режиме асинхронного
приёмапередачи на скорости ЗООбод (внутренний делитель частоты
синхронизации равен единице). Временные диаграммы работы УСАПП в названных
режимах приведены на рис.6 и рис.7. Для того чтобы запрограммировать ИМС
для работы в асинхронном режиме необходимо после сброса (сигналом SR или
программного) занести в ИМС инструкцию режима работы. В описываемом
устройстве это код 11111101 b=FDh (соответствует работе с двумя стоп-
битами с контролем по чётности длиной слова 8 бит в асинхронном режиме с
Асинхронный режим избран т.к. при обмене данными между ЦПУ и ППУ
пакеты имеют малую длину а также потому что это позволяет уменьшить
количество линий связывающих устройства (не требуется отдельная линия для
сигнала синхронизации). Два стоп-бита и контроль чётности используются для
повышения надёжности обмена. Длина слова в 8 бит выбрана потому что это
совпадает с разрядностью ШД процессора К580ВМ80.
После инициализации УСАПП управление работой ИМС осуществляется записью
командных инструкций и чтением слова состояния.
Рис.5 Временная диаграмма работы таймера в режиме 0
Рис.6 Временная диаграмма работы УСАПП К580ВВ51А в режиме асинхронной
Рис.7 Временная диаграмма работы УСАПП К580ВВ51А в режиме
асинхронного приёма.
7. D-регистр защелка КР580ИР82.
Микросхема КР580ИР82 - 8-разрядный адресный D-регистр-защёлка без
инверсии с тремя состояниями на выходе предназначен для связи
микропроцессора с системной шиной; обладает повышенной нагрузочной
ИМС состоит из восьми функционально одинаковых блоков и схемы
управления. Блок содержит D-триггер - «защёлку» и мощный выходной вентиль.
При помощи схемы управления производится опробирование записываемой
информации и управление третьим состоянием выходных вентилей. В зависимости
от состояния стробирующего сигнала STB ИМС может работать в двух режимах: в
режиме шинного формирователя и в режиме хранения (при высоком уровне
сигнала STB ИМС работает в режиме формирователя при низком - в режиме
Назначение выводов ИМС КР580ИР82
Вывод Обозначение Тип вывода Функционально назначение выводов
-8 DO-D7 Вход Информационная шина
ОЕ Вход Разрешение передачи (управление
STB Вход Стробирующий сигнал
-19 Q7-QO Выходвход Информационная шина
Микросхема К572ПА1 - умножающий 10-разрядный ЦАП. Предназначен для
преобразования входного кода в выходной ток пропорциональный значению
входного кода и опорному напряжению подаваемому на вывод 15. В описываемом
устройстве применяется в типовом включении.
Назначение выводов ИМС К572ПА1
li Выход Аналоговый выход (прямой)
2 Выход Аналоговый выход (инверсный)
-13 DO-D9 Вход Цифровые входы
Uo6p Вход Образцовое напряжение
Ucc - Напряжение питания (+15В)
Roc Вход Вход для резистора обратной связи
ОПИСАНИЕ ИНТЕРФЕЙСА RS-232.
Интерфейс RS232 - последовательный интерфейс предназначенный для
обмена информацией между различными цифровыми устройствами на скоростях от
до 9600 бод. В простейшей реализации интерфейса устройства соединяются
трёхжильным кабелем («Земля» «Входящие данные» «Исходящие
данные»).Возможно использование 4-й жилы -«Подтверждение готовности».
Логические уровни представляются напряжением ±12В.
К устройствам кабель подключается с использованием стандартного 25-
контактного разъёма. Используются контакты 0 («Земля») 2 («Исходящие
данные») 3 («Входящие данные»)
РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА ППУ
Карта адресов памяти (в скобках приведены условные обозначения
которые применены на
блок-схемах алгоритмов и в программах):
00h-23FFh Диапазон адресов для вывода на ЦАПО (DACO)
00h-27FFh Диапазон адресов для задания масштабного
коэффициента ЦАПО (DACOC)
00h-33FFh Диапазон адресов для вывода на ЦАП1 (DAC1)
00h-37FFh Диапазон адресов для задания масштабного
коэффициента ЦАП1 (DAC1C)
00h-43FFh Диапазон адресов для вывода на ЦАП2 (DAC2)
00h-47FFh Диапазон адресов для задания масштабного
коэффициента ЦАП2 (DAC2C)
00h-53FFh Диапазон адресов для вывода на ЦАПЗ (DAC3)
00h-57FFh Диапазон адресов для задания масштабного
коэффициента ЦАПЗ (DAC3C)
00h-63FFh Диапазон адресов для вывода на ЦАП4 (DAC4)
00h-67FFh Диапазон адресов для задания масштабного
коэффициента ЦАП4 (DAC4C)
00h-73FFh Диапазон адресов для вывода на ЦАП5 (DAC5)
00h-77FFh Диапазон адресов для задания масштабного
коэффициента ЦАП5 (DAC5C)
00h Регистр данных 0-го канала таймера DD17
(соответствует ЦАПО) (TIMODO)
10h Регистр данных 1-го канала таймера DD17
(соответствует ЦАП1) (TIMOD1)
20h Регистр данных 2-го канала таймера DD17
(соответствует ЦАП2) (TIMOD2)
30h Регистр управляющего слова таймера DD17
00h Регистр данных 0-го канала таймера DD21
(соответствует ЦАПЗ) (TIM1 DO)
08h Регистр данных 1-го канала таймера DD21
(соответствует ЦАП4) (TIM1D1)
10h Регистр данных 2-го канала таймера DD2
(соответствует ЦАП5) (TIM 1D2)
18h Регистр управляющего слова таймера DD21 (TIM1CW)
Карта адресов устройств вводавывода:
C0h Регистр данных УСАПП. (COMD)
h Регистр управления УСАПП. (СОМС)
h Регистр данных 0-го канала таймера DD26 (TIM2DO)
h Регистр данных 1-го канала таймера DD26 (программирование
частота для таймеров DD17.DD21) (TIM2D1)
h Регистр данных 2-го канала таймера DD26
З0h Регистр управляющего слова таймера DD26 (TIM2CW)
При распределении адресного пространства использован метод
частичной дешифрации.
После включения ЦПУ и ППУ в ППУ происходит инициализация таймеров
затем сброс всех ЦАП и в последнюю очередь инициализация контроллера
последовательного интерфейса (К580ВВ51А) .После этого ППУ готово к работе и
воспринимает посылки от ЦПУ.
Посылки из ЦПУ в ППУ могут быть двух типов - командные или сообщения об
ошибке передачи. Сообщения об ошибке передачи имеют длину 1 байт (его
значение FFh) командные посылки имеют длину 4 байта:
Команда инициализации ЦАП:
-й байт: ООп - признак команды нициализации. 2-й байт: номер
-й байт: младший байт кода для ЦАП
-й байт: старший байт кода для ЦАП
-й байт: младший байт кода периода инициализации.
-й байт: старший байт кода периода инициализации.
Подпрограмма передачи управляющей посылки из ЦПУ считывает данные из
массива (в нём по порядку должны быть записаны 2-6 байты командной
посылки) который должен быть заполнен программой выполняющейся на ЦПУ.
Сообщения об ошибке передачи передаются когда при передаче информации
от ППУ в ЦПУ или обратно происходят ошибки передачи данных: ошибка формата
ошибка чётности или ошибка переполнения. Такие сообщения состоят из
единственного байта FFh. Более надёжные (и сложные) способы контроля
передачи данных не используются т.к. появление ошибок при передаче на
скорости 300 бод маловероятно вероятность же ошибок не корректируемых
применёнными средствами исчезающе мала.
После успешного получения командной посылки ППУ выполняет команду
(происходит фиктивное обращение к ячейке из области адресов одного из ЦАП
затем запускается соответствующий канал таймера) после чего отправляет в
ЦПУ пакет состоящий из четырёх байт. Формат пакета следующий:
-й байт: 00h- признак пакета с масштабным коэффициентом
-й байт: младший байт кода масштабного коэффициента.
-й байт: старший байт кода масштабного коэффициента.
Принятые данные записываются в массив в порядке поступления.
Блок-схемы алгоритмов работы устройства
В блок-схемах алгоритмов работы ППУ и в программах используются
следующие обозначения:
FlagAddr - начальный адрес области памяти из 6 байт в которой хранятся
флаги постоянной инициализации таймеров.
AppDataAddr - начальный адрес массива из пяти байт в который
записываются принимаемые от ЦПУ данные.
CoeffsAddr - начальный адрес области памяти из 12 байт В которой
подряд записаны двухбайтные коды масштабных коэффициентов ЦАП в порядке
возрастания номера ЦАП (запись в этот массив должна выполняться
подпрограммой обновления масштабных коэффициентов)
StackPtr -адрес вершины стека
В подпрограмме обновления масштабных коэффициентов ЦАП может быть
использован канал 2 таймера DD26 - для отслеживания временных интервалов
т.к. использованные ИМС таймеров позволяют программно считывать значения
счётчиков во время работы.
Рис. 9 Алгоритм отправки байта в ППУ
Рис. 10 Алгоритм принятия байта из ППУ
Рис. 8. Алгоритм программы выполняющейся в ППУ
Рис. 9. Алгоритм программы отправки байта в ППУ
Рис. 10. Алгоритм программы принятия байта из ППУ
1. Основная программа выполняемая в ППУ
Метка Команда Комментарий
MainBeginCALL Timerlnit Вызов подпрограммы инициализации таймеров
CALL COMInit Вызов подпрограммы инициализации УСАПП
CALL Вызов подпрограммы обновления масштабных
TimersRefresh коэффициентов ЦАП
MainLoop CALL DACReinit Вызов подпрограммы обновления масштабных
IN COMC Считывание слова состояния УСАПП
MOV BA Сохранение слова состояния в per. В
ANI 02h Выделение бита D1
JNZ Mainl Если байт поступил переход к обработке.
JMP MainLoop Возврат на начало
ANI 38h Выделение из слова состояния бит признаков
JZ Main2 Если флаги ошибок не взведены продолжается
CALL Retry Вызов подпрограммы сброса признака ошибки и
отправления запроса повторной передачи
Main2 IN COMD Считывание принятого байта
JZ MainS Если принятый байт - начало командной
посылки программа продолжается
CALL Send Иначе вызов подпрограммы передачи посылки с
масштабным коэффициентом
MainS CALL ReceiveAII Вызов подпрограммы получения остальных байт
JZ Main4 Если не было ошибок продолжение
CALL SendErReq Вызов подпрограммы передачи запроса о
повторной передаче команды
Main4 CALL DACReinit Вызов подпрограммы обновления масштабных
CALL DACInit Инициализация нужного ЦАП
CALL Timerlnit Инициализация соответствующего таймера
CALL Send Вызов подпрограммы повторной передачи
посылки с масштабным коэффициентом
JMP MainLoop Вызов подпрограммы передачи посылки с
2. Подпрограмма инициализации УСАПП
COM Init MVI A FDh Запись в аккумулятор байта FDh
OUT СОМС Вывод управляющего слова в регистр команд
LHLD StackPtr Загрузка в HL адреса вершины стека
SPHL Копирование его в SP
RET Возврат из подпрограммы
3. Подпрограмма инициализации таймеров
TimerlnitMVI A 34h Занесение в аккумулятор байта 34h
OUT TIM2CW Занесение управляющего слова в управляющий
OUT TIM2DO Занесение в РД 0-го канала таймера младшего
OUT TIM2DO Занесение в РД 0-го канала таймера старшего
MVI A74h Начало инициализации 1-го канала таймера
MVIA30h Начало инициализации 0-х каналов таймеров
MVI A70h Начало инициализации 1-х каналов таймеров
MVI ABOh Начало инициализации 1-х каналов таймеров
STA FlagAddr Обнуление флагов
4. Подпрограмма принятия 2-го и последующих байт командной посылки
ReceiveAIMVI B0 Обнуление счётчика полученных байт
LHLD AppDataAddr Загрузка в HL начального адреса области
памяти в которой будут сохраняться принятые
RecLoop IN COMC Считывание слова состояния УСАПП
AMI 02h Выделение признака поступления нового байта
JNZ Red Если байт поступил программа переход к
CALL Вызов подпрограммы переинициализации
TimersRefresh таймеров
JMP RecLoop Переход на начало цикла
Red IN COMD Считывание поступившего байта
STAXHL Сохранение принятого байта в ячейке памяти
INXHL Инкремент адреса по которому будет
записываться следующий байт
INRB Увеличение счётчика полученных байт
MVI A 05h Занесение в аккумулятор числа для сравнения
JNZ RecLoop Если В не равен 5 продолжение цикла
5. Подпрограмма сброса признаков ошибки и отправки запроса на
SendErReq IN COMD Считывание принятого байта из регистра
MVIA 15h Занесение управляющего слова для
сброса признаков ошибки в аккумулятор.
OUT COMC Занесение управляющего слова в упр. регистр
SndLoop IN COMC Считывание состояния УСАПП
ANIOIh Выделение признака готовности к передаче
JNZ Snd1 Если УСАПП готов продолжение
JMP SndLoop Переход на начало цикла
OUT COMD Занесение в РД УСАПП байта
сигнализирующего о необходимости повторной
6. Подпрограмма инициализации ЦАП
DACInit LHLD DACO Загрузка в HL адреса начала диапазона
адресов относящихся к ЦАПО
LXI DE 1000И Занесение в РП ВС числа 1000h
LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
CMP В Сравнить содержимое аккумулятора с номером
JZ DACI1 Если они равны закончить цикл
DADDE Сложение DE и HL
INRB Инкремент регистра В
DACI1 LDA AppDataAddr+1Загрузка в аккумулятор младшего байта кода
MOV EA Занесение его в Рг. Е
LDA AppDataAddr+2Загрузка в аккумулятор старшего байта кода
MOV DA Занесение его в Рг. D
DADDE Сложение DE и HL (рез-т помещается в HL)
MVI M OOh Фиктивное обращение к ячейке памяти
7. Подпрограмма инициализации таймера
TimerlnitIDA AppDataAddr+4Считывание младшего байта кода периода
инициализации в аккумулятор
JNZ Timlni Если байт был ненулевым продолжается
LDA AppDataAddr+5Считывание младшего байта кода периода
JNC Timlni Если байт был ненулевым продолжается
LHLD FlagAddr Загрузка в HL адреса начала массива флагов
ADDH А складывается с Н рез-т записывается в А
MOV HA Рез-т копируется в Н
MVI M1 Запись флага
Timlni LHLD TIMODO Загрузка в HL адреса РД 0-го канала ЦАПО
JC Timlni2 Переход если номер ЦАП больше 2
Timlni2 MVI B8h Mult=8h
SUI3 Уменьшить содержимое аккумулятора на 3
MOV DA Копирование аккумулятора в D
RLC Циклический сдвиг содержимого аккумулятора
ADI 30h Добавление 30h к содержимому аккумулятора
MOV LC В L копируется младшая часть адреса регистра
MOV M A Запись в регистр управления таймера
MVI L.OOh Обнуление L
DCRD Цикл в котором Addr=Mult*Num
LDA AppDataAddr+4Загрузка в аккумулятор младшего байта кода
периода инициализации
MOV MA Запись младшего байта кода периода
инициализации в РД таймера
LDA AppDataAddr+5Загрузка в аккумулятор старшего байта кода
MOV M A Запись старшего байта кода периода
ADDL Сложение L с аккумулятором
MOV LA Запись результата в L
MVI M 0 Сброс флага постоянной инициализации
8. Подпрограмма отправки посылки с масштабным коэффициентом
Send IN COMC Считывание слова состояния УСАПП
AMI 01 h Выделение признака готовности передатчика
JNZ Sendl Если передатчик готов - выход из цикла
CALL Переинициализация таймеров
JMP Send Переход на начало цикла
Sendl OUT COMD Запись в РД УСАПП байта признака начала передачи
JNZ SendS Цикл ожидания готовности передатчика
SendS LDA AppDataAddr Загрузка в аккумулятор номера ЦАП
SendS LHLD CoeffsAddr Загрузка в HL начального адреса массива
ADDA.L Сложение аккумулятора и L
ADDA.L Сложение аккумулятора и L (Требовалось умножить на
MOV LA Копирование результата в L
MOVA.M Загрузка в аккумулятор младшего байта коэффициента
OUT COMD Передача младшего байта коэффициента
JNZ Send? Цикл ожидания готовности передатчика
Send? INX HL Увеличение адреса из которого будет читаться
i старший байт масштабного коэффициента
MOVA.M Загрузка в аккумулятор старшего байта масштабного
OUT COMD Передача старшего байта коэффициента
JNZ Send9 Цикл ожидания готовности передатчика
9. Подпрограмма переинициализации таймеров
TimersRefresLHLD FlagAddr Загрузка в HL адреса массива флагов
MVI E.OOh Сброс счётчика
TimRefd MOVA.M Загрузка очередного аккумулятор
JZ TimeRefrS Если флаг не установлен переход к концу цикла
PUSH HL Сохранить адрес в стеке
LHLD TIMODO Загрузка в HL адреса РД канала таймера DD17
CPI2 Сравнение счётчика с 2
RLC Сдвиг А влево на 6 бит
ADI 30h Увеличение аккумулятора ЗОН
MVI B.OOh Подготовка к записи Byte в РУ таймера
MOV MA Запись управляющего в РУ таймера
ADDL Цикл умножения
TimeRefrS MVI MFFh Запись максимальных значений в РД таймера
JNZ TimeRefrl Возврат на начало цикла
10. Подпрограмма обновления масштабных коэффициентов ЦАП
DACReinit MVI C5 Обнуление счётчика
LHLD DACOC Загрузка в HL адреса начала области адресов
отведённых для задания масштабного коэффициента
DACRel CALL GetNewCoeff Вызов подпрограммы определения нового
масштабного коэффициента для ЦАП номер
которого занесён в С (код этой подпрограммы на
приводится т.к. не задан алгоритм по которому
определяются масштабные коэффициенты.
Подпрограмма не должна модифицировать HL
возвращаемое значение должно находиться в
регистровой паре DE
PUSH HL Сохранение в стеке пары HL
DADDE Сложение DE и HL (Рез-т в HL)
MVI M.OOh Фиктивное обращение к ячейке
ADDH Увеличение HL на ЮООп
JNZ DACRel Если счётчик не нуль продолжение цикла
Обозначения применённые в тексте подпрограммы:
СОМС - адрес УВВ соответствующего РД УСАПП (предполагается что УСАПП
COMD - адрес УВВ соответствующего РУ УСАПП (предполагается что УСАПП
Предполагается также что прерывания от УСАПП не используются.
Data - адрес начала массива в котором по порядку находятся следующие
данные: номер ЦАП подлежащего инициализации младший байт кода выходного
напряжения ЦАП старший байт кода выходного напряжения ЦАП (его старшие 4
бита должны быть нулевыми)младший и старший байты кода периода
инициализации умноженного на 40 (т.к. за секунду таймером отсчитывается 40
InData - адрес начала массива в который будут помещены (по
порядку):номер ЦАП младший байт масштабного коэффициента старший байт
масштабного коэффициента
BeginExchangeMVI A00h Занесение в аккумулятор байта который
CALL SendByte Вызов подпрограммы отправки байта в ППУ
(в аккумуляторе находится сам байт)
MVI E.OOh Обнуление счётчика
ЕхсМ LHLD Data Загрузка в HL адреса по которому
находятся данные которые надо послать
DADDE HL=HL+C4eT4HK
MOV AM Загрузка в аккумулятор очередного
байта который надо отправить
INRE Инкремент счётчика
MOVA.E Счётчик копируется в аккумулятор
CPI5 Сравнение с количеством байт которые
JNZ ExcM Возврат на начало цикла если не все
MVI E00h Обнуление счётчика
Ехсп2 CALL ReceiveByte Вызов подпрограммы получения байта из
ППУ (полученный байт находится в
AMI 38h Выделение из слова состояния признаков
JZ Exch3 Если ошибок не было переход дальше
IN COMD Считывание байта принятого с ошибкой
MVI A.FFh Занесение в аккумулятор кода признака
JMP Exch2 Переход к повторному приёму
JNZ BeginExchangeЕсли принят признак запроса на
повторную передачу переход
LHLD InData Загрузка в HL адреса начиная с
которого будут размещены получаемые
MVI E3h Обнуление счётчика
Exch4 CALL ReceiveByte Получение очередного байта
MOV MA Сохранение его в ячейке памяти
INXHL Инкремент адреса
DCRE Декремент счётчика
JNZ Exch4 Продолжение цикла если не все байты
ANI 38h Выделение признаков ошибок
OUT COMC Сброс признаков ошибок
CALL SendByte Отправка запроса на повторную передачу
12. Подпрограмма отправки байта в ППУ
ANI 01h Цикл ожидания передатчика
OUT COMD Запись байта в РД УСАПП
13. Подпрограмма получения байта от ППУ
ReceiveByte IN COMC
ANI 02h Цикл ожидания готовности приёмника
IN COMD Считывание принятого байта в
14. Подпрограмма инициализации УСАПП в ЦПУ
OUT СОМС Сброс УСАПП
OUT СОМС Запись в РУ УСАПП слова режима
В этом курсовом проекте было разработано устройство которое может быть
использовано для формирования аналоговых сигналов с достаточно точным
уровнем и заданной длительностью по некоторой программе. Одно из применений
такого устройства - формирование управляющих сигналов для различных
устройств (например управление включением и мощностью электродвигателей
при подключении выходов устройства к достаточно мощным усилителям).
Возможны также другие применения.
В ходе проектирования был более детально изучен микропроцессорный
комплект К580 возможные схемотехнические решения на его основе а также
программирование на языке Ассемблер для процессора К580ВМ80.
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
УСАПП - универсальный синхронно-асинхронный приёмопередатчик
РД - регистр данных.
РУ - регистр управления
ИМС - интегральная микросхема
ЦАП - цифроаналоговый преобразователь
ОУ - операционный усилитель
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Мокрецов В.П. «Микропроцессоры и МПС». Учебное пособие. Часть 1.
Екатеринбург: УГТУ-УПИ 1999. 125с.
«Микропроцессоры и микропроцессорные комплекты интегральных микросхем» в
Справочник в 2 т В.-Б.Б. Абрайтис Н.Н. Аверьянов А.И. Белоус и др. Под
Шахнова. - М:Радио и связь 19*88 Т.1 -386с. ил.
Майоров В.Г.Гаврилов А.И. «Практический курс программирования
сорных систем» -М.Машиностроение. 1989. -272с.:ил.

icon текст (5).doc

Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента
России Б. Н. Ельцина»
Кафедра информационных технологий
СИСТЕМА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ ТИПА "БЕГУЩАЯ СТРОКА
Пояснительная записка к курсовому проекту
по дисциплине “Организация ЭВМ и систем”
Руководитель: И.В. Хмелевский
канд. техн. наук доц.
Н.контр. И.В. Хмелевский
канд. техн. наук доц
Студент: Е.Ю. Девятко
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА 7
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ 13
ИНТЕРФЕЙС CENTRONICS 14
1. Описание интерфейса 14
2. Функциональная схема интерфейса 16
1. Подпрограмма обмена функционирующая в ПУ 18
2. Подпрограмма функционирующая в ПУ 19
3. Подпрограмма вывода информации на индикаторы 20
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 22
Разработать на базе микропроцессорного комплекта КР580 комплекс из
центрального и периферийного процессорных устройств связанных параллельным
интерфейсом. В качестве адаптеров интерфейса использовать БИС КР580ВВ55 с
адресацией к ним как к внешним устройствам. Комплекс предназначен для
реализации вывода знаковой информации (десятичных цифр) в режиме
динамической индикации на одну из 4 панелей отображения типа "бегущая
строка" построенных на 25 7 сегментных индикаторах. Адресация к
устройствам управления панелями отображения должна осуществляться как к
ячейкам памяти лежащим в поле адресов периферийного процессора. Информация
хранится в ОЗУ центрального процессорного устройства откуда передается
периферийному устройству единым массивом который сопровождается
информацией о номере панели отображения. Максимальный размер массива
составляет 50 символов. Время нахождения одного знака на любой панели
отображения составляет 10 секунд. Контроль правильности отображаемой
информации осуществляется путем обратной передачи копии массива символов из
периферийного устройства и сравнении ее (копии) с исходным массивом знаков
в центральном процессорном устройстве.
По результатам сравнения осуществляется либо передача сигнала
разрешающего вывод информации на панель отображения либо повторная
передача несовпадающих символов с последующим сравнением копии и оригинала.
Периодичность обращения центрального процессорного устройства к
периферийному – не менее 3 минут. В качестве времязадающего устройства
использовать БИС таймера КР580ВИ53 с адресацией к ней как к внешнему
устройству лежащему в поле адресов периферийного процессора.
В курсовой работе предложено решение поставленной в техническом задании
На рис.1 представлена структурная схема разрабатываемого комплекса
состоящего из центрального и периферийного устройств. В центральном
устройстве находятся программы организующие алгоритмы функционирования
системы и осуществляющие формирование подготовку и передачу данных в
периферийное устройство. Передача осуществляется посредством периферийного
адаптера КР580ВВ55 и интерфейса CENTRONICS.
Периферийное устройство принимает данные анализирует состояние линии
связи и сразу отправляет их обратно в центральное устройство для проверки
на предмет ошибок передачи. В зависимости от наличия или отсутствия ошибок
центральное устройство либо разрешает индикацию данных либо осуществляет
повторную передачу данных. Периферийное устройство обрабатывает и
осуществляет выдачу принятых данных на блок индикаторов правильную работу
которого обеспечивает блок управления динамической индикацией. После
окончания индикации в бегущей строке всех принятых данных периферийное
устройство переходит в первоначальное состояние и ожидает следующего сеанса
связи с центральным устройством.
Комплекс состоит из двух частей (рис. 1): центрального устройства (ЦУ)
и периферийного устройства (ПУ) которые связаны между собой посредством
параллельного интерфейса CENTRONICS. Оба устройства (ЦУ и ПУ) построены на
базе 580-го комплекта с центральным процессором КР580ВМ80 и имеют в своем
составе параллельный периферийный адаптер КР580ВВ55 при помощи которого и
организуется интерфейс CENTRONICS.
В центральном устройстве располагается блок индикации неисправности
системы в котором происходит отображение возникающих ошибок в частности.
В периферийном устройстве находится блок индикаторных панелей
осуществляющих индикацию информационного массива принятого от центрального
устройства в виде бегущей строки. Организация режима динамической
индикации и выбор панели на которую будет осуществлен вывод информации
выполняется блоком управления индикаторами. В периферийном устройстве также
имеется блок для индикации ошибок связанных с передачей информации.
Передаваемый в периферийное устройство массив данных имеет всегда
фиксированную длину - 75 байт. Наряду с данными требующими отображения в
виде бегущей строки он содержит информацию о номере панели отображения на
которой должна происходить индикация: в первом байте находится двоичное
число первые пять разрядов которого определяют состояние соответствующих
панелей т.е. будет ли на них выводиться информация.
Остальные 74 информационных байта имеют формат изображенный на рис.2.[pic]
Состояние битов D6 D5 D4 значения не имеет и может быть произвольным.
Байт все биты которого нулевые производит обнуление регистровой памяти
индикаторов и подготовит их к приему отображаемой информации. Такой формат
позволяет не просто отображать сплошной ряд чисел но и отделять
последовательности чисел друг от друга пробелом что достигается установкой
в ноль старшего бита D7 или всего байта.
АЛГОРИТМЫ РАБОТЫ УСТРОЙСТВА
Рис. 3.1. Алгоритм работы центрального устройства
Рис. 3.2. Алгоритм работы периферийного устройства
Рис. 3.3 Алгоритм работы подпрограммы вывода информации на индикаторы
Подпрограмма обмена функционирующая в ЦУ
В задачи подпрограммы центрального устройства алгоритм работы которой
представлен на рисунке входит организация обмена данными между центральным
и периферийным процессорами контроль правильности передачи информации и
индикация неисправности в случае нарушения связи между устройствами.
В вершине 2 контроллер параллельного интерфейса программируется в режим
Затем счетчику байтов передаваемых в ПУ присваивается значение 75 в
соответствие с размером информационного массива.
В вершине 4 задается адрес по которому находится первый элемент
передаваемого массива расположение массива может быть произвольным и
определяется в центральной программе которая вызывает подпрограмму обмена.
Предполагается что информационный массив полностью подготавливается
центральной программой и данные в массиве имеют требуемый формат.
В вершинах 5 и 6 обнуляются счетчик ошибок используемый для
организации циклов ожидания ответных сигналов от ПУ и счетчик повторений.
В вершине 7 происходит установка внешнего сигнала ERROR в 1 т.е.
снимается подтверждение безошибочной передачи данных.
В вершине 8 происходит непосредственно передача байта находящегося по
адресу ADR после чего организуется цикл ожидания передачи копии байта от
ПУ. Ожидание происходит пока значение счетчика ERR не превысит 200 после
чего ЦУ производит повторную передачу байта увеличивая при этом счетчик
Если копия поступила (сигнал INT=1) то производится чтение поступивших
данных из порта и сравнение их с переданными.
Если данные не совпали то есть произошла ошибка при передаче то не
выставляется сигнал ERROR=0 что информирует периферийное устройство о том
что произошла ошибка и будет произведена повторная передача счетчик
повторных передач увеличивается на единицу и если его значение не
превышает трех происходит переход к вершине 6.
Если данные переданы без ошибок выставляется сигнал подтверждения
совпадения данных ERROR=0 что информирует ПУ о безошибочной передаче. В
вершине 18 происходит обнуление счетчика повторных передач затем
модифицируется адрес передаваемого байта (осуществляется переход к
следующему байту массива) уменьшается счетчик переданных байт. Если
передан не весь массив (N>0) то происходит переход к вершине 6. Если
счетчик равен нулю подпрограмма обмена завершает свою работу и передает
управление основной программе в вершине 23.
Программа функционирующая в ПУ
Работа программы периферийного устройства алгоритм которой представлен
на рисунке начинается с включением питания. Алгоритм не имеет блока
завершения программы т.е. программа выполняется пока устройство не будет
выключено. Основной режим функционирования ПУ -режим ожидания информации от
центрального устройства и в случае ее появления прием в буфер и индикация
в виде бегущей строки на указанной панели отображения.
Счетчику принятых байтов N присваивается значение 75 (аналогично
центральному устройству).
В вершине 4 задается адрес начала буфера обмена BUFFER туда будет
осуществлен прием информации из ЦУ. Счетчик ошибок ERR обнуляется.
В вершинах 6 и 7 организуется цикл ожидания передачи данных путем
опроса сигнала INTR и если таковые имеются происходит считывание из порта
(вершина 8) и запись их в память по адресу BUF (буфер обмена).
В вершине 9 принятые данные отправляются обратно в ЦУ для проверки на
наличие ошибок. Вершины 10-13 организуют цикл ожидания сигнала
подтверждения отсутствия ошибок от ЦУ увеличивая значение счетчика ошибок
на каждом шаге. Если сигнала нет (ERROR=1) то увеличивается число
повторных передач и ПУ переходит к повторной передаче (вершина 5). Если
данные совпали т.е. ERROR=0 то ПУ готовится к приему следующего байта
При переходе к следующему байту увеличивается адрес по которому
записывается принятый байт и уменьшается счетчик байт. Если этот счетчик
не равен нулю (передан не весь массив) переходим к вершине 4 иначе
вызываем подпрограмму вывода принятой информации на выбранную панель
индикации. Отобразив информацию переходим на исходную позицию то есть к
Подпрограмма вывода информации на индикаторы
Подпрограмма вывода информации на индикаторные панели вызывается
программой ПУ в случае удачного приема всего информационного массива. В
задачи этой подпрограммы входит физический выбор панели отображения в
соответствии с первым байтом принятого информационного массива то есть
запись номера панели в триггер состояние которого и определяет: выбрана
данная панель или нет. Программа также должна организовать непосредственно
бегущую строку предварительно запустив программируемый таймер при помощи
которого осуществляется режим динамической индикации и подготовить
регистровую память индикаторных элементов (обнуление служебным нулем -
индикаторы погашены).
Чтобы организовать автоматическое "убегание" конца строки с
индикаторной панели (все элементы информационного массива должны
отображаться в течение Т=20с) обнуляется 40 байт ячеек памяти
расположенных сразу за буфером обмена в котором находится принятый массив.
Выбрав нужную панель отображения запускаем счетчик по показаниям
которого происходит обращение к индикаторным элементам. Далее следует сам
алгоритм формирования бегущей строки.
Счетчик N показывает количество отображенных байтов информации.
Переменная L содержит количество не обслуженных индикаторных элементов.
Переменная К предназначена для последовательной адресации к байтам
информационного массива показывает текущий обрабатываемый элемент
В блоке 10 байт информационного массива с номером К из буфера
передается в ячейку регистровой памяти индикаторов с номером L.
Если отображаемых символов меньше 40 (начало строки) то обновление
регистровой памяти завершится с окончанием потока данных (К окажется равным
раньше L). Если уже отобразили более 40 байт то выход из цикла
обновления произойдет при обновлении информации во всех индикаторных
элементах панели (L=0). Далее проверяется отображен весь массив или нет.
Информативная часть массива составляет 74 байта но для того чтобы конец
строки "проехал" до конца надо после информационных байт отобразить 40
пробелов поэтому выводим на индикаторы дополнительные 40 байт служебных
нулей всего 114 байт.
Временная задержка Тзад в вершине 15 осуществляется программно в
соответствии с временем прохождения информационного символа по индикаторной
панели указанного в техническом задании (Т = 20 сек.) и составляет 0.5
сек (Тзад=ТМ=2040=0.5 сек.).
Задержка организуется с помощью двух вложенных циклов начальные
значения счетчиков которых выбраны таким образом чтобы суммарная задержка
выполнения внешнего цикла была равна 0.5с. Подбором удалось найти такие
значения (k1=234 - внутренний цикл k2=224 - внешний) при которых задержка
составит 0.5004245с т.е. погрешность равна 424.5мкс. Задержка
рассчитывалась по формуле 0.5*((19*k1+22)*k2) где 0.5.мкс - время одного
такта 19 - время выполнения команд внутри вложенного цикла (в тактах) 22
- время выполнения команд внешнего цикла.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПУ
В начальных адресах (0000h - 0FFFh) располагается ПЗУ (две физически
раздельных микросхемы емкостью по 2К каждая из которых занимает свое
адресное пространство) в которых находятся программы инициализации ПУ
служебные программы программы обмена информацией с ЦУ и программа
индикации полученного от ЦУ массива данных.
Для адресации к контроллеру интерфейса КР580ВВ55 выделено адресное
пространство 3000h-3004h.
Адресация к регистровой памяти индикаторных панелей осуществляется как
к ВУ. Номер регистра памяти записывается в буферную микросхему для которой
выделен адрес 40h. Затем можно произвести запись в регистр индикаторных
панелей обращаясь к нему по адресу 80h.
Для устройства выбора панели зарезервирован адрес 20h.
Для адресации к таймеру КР580ВИ53 выделен адрес ВУ 10h.
ИНТЕРФЕЙС CENTRONICS
1. Описание интерфейса
Периферийное и центральное устройства связаны посредством параллельного
интерфейса CENTRONICS реализованного с использованием параллельных
периферийных адаптеров КР580ВВ55. Обмен данными производится по линиям DO -
D7 подключенным к порту А как в ЦУ так и в ПУ. Адаптеры параллельного
интерфейса функционируют в режиме 2 (двунаправленная передача информации по
каналу А). Процесс обмена сопровождается служебными сигналами по линиям
В режиме 2 линии А7-А0 выполняют роль двунаправленной трехстабильной
шины управляемой сигналами STB IBF OBF АСК и INT. Сигналы IBF и OBF
информируют ВУ о готовности принять или предать данные соответственно. В
соответствии с ними внешнее ПУ либо генерирует очередные данные
сопровождая их стробом STB либо формирует сигнал подтверждения приема АСК
готовясь к приему данных. Низкий уровень АСК открывает выходные буферы
порта А разрешая выдачу данных на шину. В остальных случаях шина порта А
находится в Z-состоянии.При передаче информации от ЦУ к ПУ для квитирования
используются сигналы STROBE (OBF центрального устройства [С7] ( STB
периферийного [С4]) - сигнал готовности к ЦУ передаче информации ACKWLG
(АСК центрального [С6] ( инвертированный IBF периферийного [С5]) - сигнал
готовности ПУ к приему информации.
При передаче в обратном направлении сигналы квитирования передаются по
линиям SLCT и SLCTIN (сигнал OBF периферийного устройства [С7] ( STB
центрального [С4] передается по линии SLCT a сигнал подтверждения АСК - по
Для оповещения ПУ о результатах проверки переданной информации на
наличие ошибок задействуется линия С2 по которой происходит передача
сигнала ERROR. Периферийное устройство на основании состояния линии С2 либо
переходит к приему следующего байта массива либо повторяет прием.
Временная диаграмма интерфейса
2. Функциональная схема интерфейса
Рис. 6. Функциональная схема интерфейса
На функциональной схеме показаны процессор периферийного устройства
вспомогательные схемы для нормальной работы самого процессора - генератор
тактовых сигналов а также внешних по отношению к нему устройств - шинный
формирователь и системный контроллер кроме этого есть постоянная и
оперативная память (блоки ПЗУ и ОЗУ) со схемами селекции адреса а также
блок индикаторов размещенных по 40 элементов в панели и схемы необходимые
для функционирования блока индикаторов в динамическом режиме - это двоичный
счетчик дешифратор для выбора элемента в панели регистровая память для
хранения информации подлежащей отображению на выбранной индикаторной
панели схема выбора панели которая состоит из триггера и дешифратора на
восемь выходов (используется только 5 - по числу панелей) схемы
обеспечивающей выбор соответствующих устройств при обращении к адресам
закрепленными за этими устройствами.
Генератор тактовых сигналов обеспечивает процессор сигналами READY -
готовность устройств RESET - установка системы в исходное состояние
требуемая например после возникновения глобальной ошибки связи с ЦУ а
также тактирующие последовательности CLK1 CLK2.
Системный контроллер и шинный формирователь предназначен для фиксации
слова-состояния МП выработки системных управляющих сигналов буферизации
шины данных МП и управления направлением передачи данных кроме этого он
содержит шинный формирователь-усилитель обеспечивающий увеличение
нагрузочной способности системной информационной шины.
Блоки ОЗУ и ПЗУ подключены стандартным способом. При обращении в
область адресов ОЗУ или ПЗУ селектор адреса ОЗУ и ПЗУ организует выбор
соответствующей микросхемы памяти.
Селектор регистров видео памяти запоминает номер выбранного регистра и
при подаче соответствующей команды производит запись байта в выбранный
Схема выбора панели состоит одного 6-разрядного регистра пять разрядов
используются для выбора панелей с помощью блока из пяти транзисторов К973А
которые коммутируют питание индикаторных панелей.
Запуск программируемого таймера происходит сразу после программирования
его в режим деления частоты сигналы таймера используются для поочередного
обращения к индикаторам панели (режим динамической индикации).
Если панель выбрана то на ней начинает отображаться содержимое
регистровой видео памяти Обращение к индикаторам панели происходит
поочередно каждый индикатор загорается с частотой 50Гц которая задается
программируемым таймером (таймер работает в режиме делителя исходной
частоты 2МГц на 250). Сигнал от таймера поступает на двоичный счетчик
который считает до 40. Первые два выхода счетчика не используются
поэтому счетчик делит частоту еще на 4 (в результате получаем частоту
свечения индикатора г=2000000(250*4*40)=50Гц). Остальные выходы счетчика
соединены с 3 дешифраторами которые осуществляют выбор конкретного
индикаторного элемента с помощью транзисторного ключа. Выбранный элемент
начинает отображать содержимое "своего" регистра видео памяти. В любой
момент времени светится только один индикаторный элемент (принцип
динамической индикации). В последствии частота свечения индикаторов может
быть скорректирована путем программного изменения коэффициента деления у
Организация бегущей строки происходит программно путем обновления ячеек
регистровой видеопамяти. Начиная с крайнего правого 40-го индикатора новые
значения последовательно записываются в соответствующие ячейки регистровой
памяти. Сначала первый байт информационного массива записывается в регистр
отображающий свою информацию в 40-й индикатор затем (после программно
реализуемой задержки) происходит сдвиг строки на один символ влево т.е.
новый символ отображается в 40-м индикаторе а все отображенные ранее
Обращение к микросхеме программируемого параллельного интерфейса
происходит как к ячейке памяти и осуществляется селектором адреса ячеек
Работа с параллельным интерфейсом осуществляется программно путем
опроса соответствующих бит слова состояния. Это позволяет избежать
использования программируемого контроллера прерываний.
1. Подпрограмма обмена функционирующая в ПУ
START:MVI A 11000000B ; установка контр. парал.
OUT PORT+3 ; интерфейса в режим 2
MVI C75 ; размер передаваемого массива
LXI HLADR ; запись в HL адреса первого эл. маc
MVI B00 ; обнуление счетчика повторных передач
M обнуление счетчика ошибок
MVI A0000 0101b ; управляющее слово (уст. ERROR=1)
OUT PORT+3 ; запись его в порт
MOV AM ; читаем байт инф. маc. для передачи
OUT PORT ; передаем его в порт
M2: IN PORT+2 ; читаем порт С
AND 0000 1000b ; проверяем INT
JNZ M3 ; переход если есть данные
INR D ; увеличить счетчик ошибок
MVI A200 ; предельное время ожидания
CMP D ; если оно не превышено
JNZ M2 ; ждем дальше
OUT ERR ; иначе индикация ошибки
M3: IN PORT ; читаем копию данных из порта
CMP M ; сравнение с оригиналом
JZ M4 ; переход к след. байту если совп.
INR В ; увеличить счетчик повторных передач
MVI A 4 ; макс. кол. повт. передач
CMP В ; если не превышено
JNZ M повторить еще раз
M4: MVI A0000 0100b ; управляющее слово (уст. ERROR^O)
OUT PORT+3 ; запись упр. слова в порт
MVI B 00 ; обнулить счетчик повторных передач
INX H ; указать на следующий элемент массива
DCR С ; уменьшить счетчик оставшихся байт
JNZ M1 ; если не все передано передать след.
RET ; возврат в основную программу
Примечание: PORT - адрес закрепленный за контроллером параллельного
интерфейса; ERR - адрес ВУ индикации ошибки (устройство индицирует ошибку
при обращении к нему содержимое передаваемого байта не учитывается); ADR -
адрес начала информационного массива.
2. Подпрограмма функционирующая в ПУ
START: MVI A 11000001B ; установка контр. парал.
STA 2002h ; интерфейса в режим 2
M начальный адрес буфера BUFFER
MVI B 75 ; счетчик принятых байт
M2: MVI C 0 ; счетчик ошибок
MVI D 0 ; счетчик повторений
M3: LDA 2002h ; чтение слова состояния
AN I 8h ; опрос сигнала INT
JZ M3 ; ожидание сигнала
LDA 2000h ; чтение данных из порта
MOV M A ; запись данных в буфер обмена
STA 3000h ' ; передача принятого обратно
M4: LDA 2002h ; чтение слова состояния
AN I 4h ; опрос сигнала ошибки ERROR
JNZ M5 ; если нет ошибок след. байт
INR С ; увеличение счетчика ошибок
MOV А С ; проверка превышения
CPI 200 ; заданного времени ожидания
JNZ M4 ; цикл ожидания
INR D ; увеличение счетчика повторений
MOV AD ; проверка превышения
CPI 4 ; количества повторений
JNZ M3 ; если не превышено еще раз
CALL ERROR ; индикация неисправности
JMP START ; переход на начало алгоритма
M5: INX H ; увеличение адреса BUFFER
DCR В ; уменьшение счетчика байт N
JNZ M2 ; если не все принято след. байт
CALL DISPLAY ; вызов подпрограммы вывода
; информации на индикаторы
JMP M переход на начало алгоритма
Замечание: ERROR - адрес служебной подпрограмма индикации
неисправности; DISPLAY - адрес подпрограммы вывода информации на
3. Подпрограмма вывода информации на индикаторы
DISPLAY: MVI A 00010100 ;программирование таймера:
;канал 0 только младший байт
;режим 2 двоичный счет
MVI A 250 ;деление частоты на 2 50
MVI B 40 ;обнуление регистровой памяти
MVI B 40 ;обнуление массива памяти 4 0 байт
LXI H 1128h ;за буфером обмена
LDA H00h ;запись номера панели
M3: MVI D 40h ' ;задание индекса L=4 0
MOV E С ;задание индекса K=N
M4: MVI A D ;выбрать регистр
MVI L E ;считать из буфера
OUT 80h ;записать в регистр
JZ M5 ;проверка условия К>0
JNZ M4 ;проверка условия L=0
CMP 114 ;проверка условия N=114
RZ ;возврат если конец -
MVI D 224 ;циклы задержки на 05 секунды
Мб: MVI E 234 ;для движения строки с заданной
JMP МЗ ;переход на очередной сдвиг строки
В курсовой работе разработан на базе микропроцессорного комплекта
КР580 комплекс для реализации вывода знаковой информации на панели
отображения типа "бегущая строка". При этом выполнены все требования
указанные в техническом задании.
Несколько замечаний по поводу разработанного комплекса. Обращение к
сегментным индикаторам (регистровой видео памяти) как к ВУ не
целесообразно. Такой подход требует введения буфера для хранения номера
выбранного регистра и усложняет схему и алгоритмы работы. Далека от идеала
и предложенная схемотехническая реализация устройства. Можно значительно
сократить число применяемых элементов оптимизировать соединения между
ними. Эти цели при разработке схем просто не преследовались. Приоритет
отдавался облегчению понимания функционирования устройства.
Реальное применение предложенного устройства в указанном составе
является весьма сомнительным. Для организации бегущей строки на современном
уровне развития микроэлектроники целесообразно было бы использовать
персональный компьютер в качестве центрального устройства а в периферийном
устройстве использовать вместо 580-го комплекта какой-либо из современных
микроконтроллеров. Однако это не означает что предложенное устройство либо
его части не могут быть использованы для решения своих функциональных
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Б.М. Каган. Электронные вычислительные машины и системы. - М.:
Энергоатомиздат 1991. - 592 с.
Аванесян Г.Р. Левшин В.П. Интегральные микросхемы ТТЛ ТТЛШ:
Справочник. М.: Машиностроение 1993.-256с: ил.
Микропроцессоры и микропроцессорные комплекты интегральных микросхем:
Справочник. В 2 т.; под ред. В. А. Шахнова.- М.: Радио и связь 1988.-
Мячев А.А. и др. Интерфейсы систем обработки данных: Справочник. М.:
Радио и связь 1989.-416 с: ил.
Полупроводниковые приборы: Диоды тиристоры оптоэлектронные приборы:
Справочник; под ред. Н. Н. Горюнова.- М.: Энергоатомиздат 1985.- 744
Обозначение Наименование Кол. Примечание
DD1 КР580ВМ80А 1 процессор
DD2 КР580ВИ53 1 програм. таймер
DD3 КР580ВВ55А 1 параллел.порт
DD4 КР537РУ10 1 ОЗУ 16К(2байта)
DD6 КР580ГФ24 1 генератор такт.сигн
DD7 КР580ВК28 1 сист. контроллер
DD8 DD9 К573РФ2 2 ППЗУ 16К(2Кбайта)
DD5 DD10-DD14 КР580ВА86 6 8-разрядные шинные
DD15 DD16 К555ЛЛ1 2 четыре 2ИЛИ
DD17 DD18 К555ЛАЗ 2 четыре И-НЕ
DD19 DD20 К555ЛН1 2 шесть НЕ
DD21 DD22 К555ТМ9 2 сшестеренный D-триггер
DD23 К555ИЕ19 1 два четырехразрядных
DD24-DD29 К155ИДЗ 6 дешифратор 4->16
DD30-DD69 КР514ПР1 40 Преобразователь
двоично-десятичного
кода в семисегментный
С1 К50-35-6313-10мкФ 1
С2 К10-17-16-ПЗЗ-3.3 пФ + 10% 1
СЗ-С23С27-С29 К10-17-2б-Н90-068 мкФ 54
С24 С25 С26 К50-35-16В-220мкФ 3
R1-R4 1 кОм±10%-А-В-В 5
R5 100кОм±10%-А-В-В 1
VD1 КД5226 ДРЗ.362.029 ТУ 1
VT1 КТ973А АА0.336.453 ТУ 200
VT2 КТ973А АА0.336.453 ТУ 5
HG1 АЛС324А 200 семисегментный
ZQ1 Резонатор кварцевый 18МГц 1
SB1 Кнопка малогабаритная 1
КМД1-1-НА3.604.006ТУ
up Наверх