Протоколы передачи данных
Если задатчиком является процессор или устройство, запросившее шину, то возможны два типа сеансов связи: чтение (передача данных к задатчику от исполнителя) или запись (передача данных к исполнителю от задатчика).
Если задатчиком является устройство, запросившее шину для передачи прерывания, то выполняется сеанс связи – передача процессору адреса вектора прерывания.
На рис. 7.3 представлены временные диаграммы выполнения операций чтения и записи в протоколе системного интерфейса "Общая шина".
Длительность сеанса связи в интерфейсе "Общая шина" зависит от расстояния между задатчиком и исполнителем. В среднем она составляет 1мкс. Все определяется задержками распространения сигналов.
Для демонстрации влияния времени распространения сигналов по проводам шины временные диаграммы сигналов на шине (рис 7.3) представлены в точке задатчика и в точке исполнителя. Из всех задержек в схемах в диаграмме учитываются только задержка в опознании адреса и перекосы сигналов на шинах адреса и данных. Максимально-допустимые значения этих задержек – 75 нс. Пунктирные линии между диаграммами показывают распространение фронтов сигналов между задатчиком и исполнителем.
Каждая передача данных по интерфейсу содержит два этапа: задатчика и исполнителя. Окончание одного сеанса связи может перекрываться началом следующего (на диаграмме рис.7.3. – затененная область на шине данных).
Любой сеанс связи (передачи данных) начинается по сигналам от задатчика. Задатчик выбирается схемой арбитража по запросам внепроцессорных передач от периферийных устройств, Устройство, выигравшее арбитраж, становится задатчиком на следующий сеанс (цикл) связи по интерфейсу. При отсутствии запросов от периферийных устройств задатчиком становится процессор.
Этапы передачи данных по интерфейсу.
По сбросу сигнала «занято» (верхний ряд, задатчик) задатчик выставляет:
· на шине адреса – адрес нового исполнителя,
· на линии «занято» – сигнал "занято",
· на шине управления – код операции "прочитать» или «записать".
Выставленные сигналы стробируются стробом задатчика СИЗ.
Строб СИЗ выставляется с задержкой. Время задержки определяется условиями:
T задержки выдачи СИЗ ≥ 2τ, где τ = 75 нс. после установки адреса.Задержка учитывает время опознания адреса исполнителем и время перекоса фаз.
Перекос фаз – это разброс времени установления передаваемых значений (адресов или данных) в точке их приема. На диаграммах (рис. 7.3) перекос фаз обозначен разной скоростью распространения фронтов сигналов (пунктирные линии с разными наклонами) и наклоном переднего фронта сигналов на период переходных процессов.
Задержка времени в опознавании адреса – это время задержки в устройстве сравнения адресов (рис. 7.4).
Линии адреса, кода операции и данных соединяются со входами регистра защелки, а линии адреса дополнительно соединены и со входами схемы сравнения адресов. Схемы сравнения адресов непрерывно производят сравнение поданного адреса с адресами устройства (адресами ячеек памяти или регистров портов ввода/вывода). При совпадении адресов устройство становится исполнителем и по переднему фронту синхроимпульса задатчика (СИЗ) производит прием входной информации в регистр-защелку.
При появлении на входе схемы совпадения сигнала СИЗ, до окончания переходных процессов в схеме сравнения адресов возможен ложный выбор задатчика. Для исключения этого и производится компенсация перекосов фаз и задержки в схеме сравнения адресов. В интерфейсе "Общая шина" компенсация перекосов фаз и задержек в схемах сравнения адресов всегда возлагается на устройство, являющееся задатчиком.
Приемом информации с линий адреса, кода операции и, при операциях записи, данных, заканчивается этап А1 (рис. 7.4).
Этап B1. В операциях чтения исполнитель (память) запускает процесс чтения. Происходит задержка на время выполнения заданной операции – t чтения на рис. 2.2( исполнитель, шины "данные").
По окончании этапа чтения исполнитель выставляет прочитанные данные на шине данных и строб – СИИ. Исполнитель выставляет строб без компенсации перекосов. На этом заканчивается этап В1.
Этап А2. Задатчик, получив строб СИИ, выполняет компенсацию перекоса фаз на шине данных (75 нс.) и производит стробирование данных После задержки на компенсацию перекоса фаз задатчик завершает цикл сбросом сигнала "занято", кода операции и адреса.
Компенсация перекоса фаз здесь необходима, так как при снятии адреса на шине происходит переходной процесс, "видимый" на схемах сравнения адресов всех устройств. Для блокировки "ложного выбора задатчика" строб СИЗ должен быть снят до начала переходного процесса на шине данных.
После снятия сигнала «занято», любое другое устройство, выбранное арбитражем следующим задатчиком, может занять шины, выставив на шинах интерфейса новый адрес, код операции и данные (при операции записи). Это может случиться до освобождения шины данных предыдущим исполнителем. Но передача искаженных данных здесь исключается компенсацией перекоса фаз задатчиком при выставлении СИЗ после снятия исполнителем данных и СИИ.
Этап выполнения операции при записи может быть "невидим" задатчиком, так как исполнитель, получив данные в буфер, может сразу ответить сигналом СИИ, ускорив освобождение шины до фактического завершения операции записи.
Вопросы и/или темы для самопроверки:
1. Определение интерфейса.
2. Синхронные и асинхронные интерфейсы.
3. Функции арбитража.
4. Выбор задатчика и исполнителя.
5. Протоколы передачи данных.
6. Сигналы СИЗ и СИИ.
7. Схема выбора исполнителя.
8. Компенсация перекосов.
Неделя. 15.Лекция 15
.
Дата добавления: 2015-08-14; просмотров: 595;