Организация обмена данными в последовательном коде
Каналы передачи
данных бывают трех видов:
1.
односторонний канал передачи данных (симплексный
канал)
2.
одновременный двусторонний канал передачи данных – одновременно в противоположных
направлениях – дуплексный.
3.
Двусторонний с разделением по времени – полудуплексный.
В
последовательном коде применяют два способа передачи данных.
1. Синхронный – значащие моменты
передаваемых сигналов находятся в постоянном фазовом соотношении со значащими
моментами сигнала синхронизирующего работу приемной стороны.
2. Асинхронный – значащие моменты
передаваемых сигналов находятся в различных фазовых соотношениях со значащими
моментами сигнала синхронизирующего работу приемной стороны.
Значащие моменты цифрового сигнала –
границы бит передаваемых данных.
Разновидностью
асинхронного способа передачи данных является старт-стопный, который характеризуется
наличием соответствующих элементов.
Формат
старт-стопной передачи данных: переход из 1 состояния в 0 – стартовый элемент,
затем 8-бит данных, бит контроля четности (опционально), и 1 или 2 бита единичного
уровня – стоповые биты.
Если за
счет фазового набега будут обнаружены 0, то это будет считаться ошибкой
стопового сигнала. Фиксация ошибки происходит путем установки 1 в
соответствующий регистр состояния. Если в приемник поступил сигнал передачи
определенного символа, а предыдущий символ еще не считан микропроцессором, то
будет зафиксирована ошибка перегрузки.
Синхронный способ.
Существует
две разновидности:
1. с внутренней синхронизацией. Начало
передачи задается одной или двумя синхросериями, предшествующими передаваемым
данным.
Формат
синхронной передачи данных с внутренней синхронизацией:
одно или два синхрослова – начальная синхронизация, блок
данных, и снова синхроимпульсы.
2. с внешней синхронизацией. Начало передачи
задается отдельным сигналом, передаваемом по отдельной линии.
Плюс
синхронного способа передачи данных состоит в том, что он имеет более высокое
быстродействие, а минус – требуется дополнительный канал связи для передачи
сигнала синхронизации при внутренней синхронизации, и дополнительная линия
связи при внешней.
Функции последовательного интерфейса.
1. Преобразование данных из параллельной формы
представления в последовательную и обратно.
2. Синхронизация передачи данных.
3. Управление обменом данных.
4. Обнаружение ошибок при передачи данных.
Программируемый контроллер прерываний КР580ВН59
Предназначен
для сбора и фиксации прерываний от восьми ВУ. Предусмотрена возможность изменения
приоритета ВУ в процессе выполнения программы, программного маскирования на
запрос для любого ВУ, расширения количества ВУ до 64 путем каскадного соединения
одного ведущего с семью ведомыми.
Функции.
1. Фиксация
запросов на прерывание.
2.
Присвоение ВУ приоритетов с возможностью их изменения в процессе выполнения программы.
3.
Независимое маскирование запросов на прерывания от ВУ.
4. Анализ
приоритетов вновь поступивших и уже обслуживаемых запросов на прерывание.
5.
Формирование запросов на прерывание (сигналов INT).
6.
Формирование входа команды CALL и 8-ми адресов перехода.
7.
Организация взаимодействия ведущего и ведомого ПКП.
8. Выдача
на системную шину данных по запросам микропроцессора содержимого ряда регистров,
характеризующих состояние подсистемы прерываний.
Схема связи ПКП и микропроцессора.
Микропроцессор,
если ему прерывания разрешены (EI) переходит к машинным циклам обработки
прерываний и формирует на выходах INTA первый импульс. Получив этот импульс
контроллер прерываний выставляет на шину данных код команды CALL, получив
которые микропроцессор формирует на выходе второй и третий импульсы. Со вторым
импульсом INTA контроллер прерываний выставляет на шину данных младший байт
адреса подпрограммы обработки прерываний, а с третьим импульсом и старший байт
адреса. Теперь у микропроцессора есть полный код команды CALL для вызова
подпрограммы обработки прерываний.
ПКП
программируется путем занесения в него управляющего слова и может быть настроен
на один из четырех режимов задания приоритетов.
Режимы задания приоритетов.
1.
Векторные прерывания с фиксированным приоритетом. Входу IR0 присваивается
высший приоритет. Приоритеты других входов убывают по мере возрастания их
номера. Запрос с более высоким приоритетом прерывает обслуживание прерывающей
программы с более низким приоритетом.
2.
Векторные прерывания с циклическим перераспределением приоритетов. После
каждого обслуженного прерывания вся система приоритетов изменяется по кругу, то
есть последний обслуженный вход имеет наименьший приоритет.
3.
Векторные прерывания с адресуемыми распределениями приоритетов. В этом режиме
номеру входа, который имеет наивысший приоритет указывается программно. Приоритеты
остальных устройств распределяются по кругу.
4.
Прерывание по результату опроса. Инициатива по обслуживанию прерывания исходит
не от ВУ а от микропроцессора. ПКП выдает на шину данных (по запросу микропроцессора)
сигнал запроса прерывания и двоичный код номера входа, на котором зафиксирован
запрос с наивысшим приоритетом. Обычно используется когда несколько ВУ имеют
общую программу обслуживания прерываний или если в системе более 64 источников
прерываний.
Обобщенный алгоритм программирования.
Программирование
осуществляется путем загрузки управляющих слов двух видов. Управляющего слова
инструкций (ICW) и операционного управляющего слова (OSW).
Схема внутреннего устройства контроллера
прерываний.
Схема каскадирования.
Если
количество запросов больше 8, то применяются схемы каскадирования микросхем
8259, 8259А. Один из контроллеров получает статус ведущего (выход SP через резистор
на напряжение 5В). Выходы CAS0-2 ведущего и ведомого соединяются,
для ведущего это выходы, а для ведомого – входы. У ведомых контроллеров выход
SP заземлен. Запросы на прерывание вырабатываемые ведомыми (вывод INT) подсоединяются
ко входам запросов на прерывание ведущего. Запрос на прерывание ведомого обрабатывается
по приоритетам, ведомый вырабатывает запрос к ведущему, и если ведущий,
обработав свои запросы, отдает приоритет ведомому, то ведущий вырабатывает
запрос к микропроцессору. Микропроцессор вырабатывает сигнал INTA по которому
из ведущего на шину данных выставляется первый байт команды CALL, а на шину CAS0-2
код ведомого. Получив этот код, ведомый выставляет на шину данных начальный
адрес подпрограммы обработки прерываний для принятого запроса, то есть байты b3b2.
Форматы управляющих слов.
ISW1: A=0,D4=1,CS=0
– признак управляющего слова.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
A7 |
A6 |
A5 |
1 |
F |
S |
S: S=1 – не
каскадируемый контроллер (единственный)
F: адресный
интервал. F=1 – 4 байта, F=0 – 8 байт.
A7-A5:
старшие разряды младшего байта адреса.
ISW2: A=1,
CS=0.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
A15 |
A8 |
– старший
байт начального адреса обработки прерываний.
ISW3: A=1,
CS=0
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
S7 |
S |
– Si=1,
если к соответствующему номеру входа запроса ведущего подключен ведомый.
Средства реализации времени, календари времени в вычислительных системах и программируемые таймеры
8253 –
K580ВИ53, 8254 – К580ВИ54.
Микросхема
содержит 3 двухбайтных счетчика, работающих в режиме вычисления. Работают как в
двоичной системе счисления, так и двоично-десятичной. Микросхема может быть
запрограммирована в один из шести режимов работы:
1. программируемая задержка
2. программируемый одновибратор
3. режим деления частоты
4. режим деления частоты с периодом T=(TCLK/2)n
5. режим счетчика событий
6. счетчик событий с автозагрузкой
Таймеры – приборы широкого применения,
позволяющие создавать врямезависимые устройства микропроцессорных систем.
Применение.
1. На их основе создаются генераторы скорости передачи
последовательности данных для управления К580ВВ51.
2. Для реализации часов суточного времени. Таймер создает секундный
интервал, идущий в подсистему прерываний и вызывает подпрограмму поддерживания
счета времени.
3. Контроль за длительностью обращения к магистрали.
4. Формирование временных задержек.
5. Счетчик временных событий.