 
        
        TSAiU_Lektsia_3
.pdf 
Лекция №3. Принципы организации обмена данными между ЭВМ и внешними устройствами
3.1. Возможные режимы обмена данными
Возможны два режима обмена данными по системной магистрали:
1.Программно – управляемая передача данных.
2.Прямой доступ ВУ к оперативной памяти ЭВМ (режим ПДП).
Программно-управляемая передача данных.
Если данные передаются из ВУ в ОЗУ (из ОЗУ к ВУ), то выполняются действия, изображенные на рис. 3.1.
Рис. 3.1. Блок-схема программно – управляемой передачи данных
Режим обмена ПДП.
В режиме ПДП данные передаются, как показано на рис. 3.2.
Рис. 3.2. Блок-схема обмена данными в режиме ПДП
Обмен выполняется аппаратными средствами КПДП и интерфейса ВУ. Интерфейс выполняет следующие функции при обмене данными:
Буферное хранение данных.
Устранение временных различий в работе ВУ и ЦП (или ВУ и КПДП).
Передача информации о состоянии ВУ либо в процессор, либо в КПДП.
Передача приказов ВУ от процессора или КПДП.
Известны три способа программно управляемой передачи данных:
1)Безусловная передача.
2)Обмен по готовности ВУ.
3)Обмен с прерыванием текущей программы процессора.
3.2. Безусловная передача данных
Может выполняться только для устройств, быстродействие которых выше быстродействия процессора.
Преимущество: реализуется при минимальных затратах программных и аппаратных средств.
1
 
Недостаток: устройство всегда должно быть готово к обмену.
Рис. 3.3. Функциональная схема интерфейса безусловного вывода данных
РД - регистр данных, служит для временного хранения n-разрядного слова данных для вывода в ВУ. 2И – информационные вентили, пропускают данные с шины данных в регистр данных, если поступает внутренняя команда интерфейса «Запись в РД».
ДВК – дешифратор внутренних команд, формирует внутреннюю команду интерфейса «запись в РД» на выходе, когда на ША установлен адрес РД, а на ШУ сигнал «Вывод». Вентили 2И открываются и данные с ЩД поступают в РД.
РД представляет собой набор триггеров Т1…Тn (рис.3.4.).
Рис. 3.4. Регистр данных интерфейса
Функциональная схема интерфейса безусловного ввода данных (рис. 3.5.) включает все компоненты интерфейса безусловного вывода, изменяется лишь порядок их подключения.
2
 
Рис. 3.5. Функциональная схема интерфейса безусловного ввода данных
Количество и назначение регистров интерфейса может меняться. Интерфейс вывода может содержать регистры управления, которые передают ВУ не данные, а приказы, позволяющие изменять режим работы ВУ.
Для программного управления подобными устройствами необходимо знать их программную модель.
Впонятие программная модель интерфейса входит:
1)Число регистров интерфейса и их назначение.
2)Адреса регистров.
3)Число бит и назначение отдельных бит регистров.
4)Способ доступа процессора к каждому из регистров.
3
 
Техническая реализация устройства связи с объектом в ЭВМ семейства IBM и методика управления обменом
Для изучения методов программного обмен данными и типовых технических средств УСО в ЭВМ семейства IBM PC использована интерфейсная плата L-154, содержащая (рис.4.1.) ряд элементов УСО:
–ЦАП (цифро-аналоговый преобразователь) – 12 разрядный
–АЦП (аналого-цифровой преобразователь)– 12 разрядный
–Мультиплексор – 32 канальный,
–Усилитель,
–Таймер – 3 канальный,
–Регистры цифрового ввода-вывода.
Программная модель платы (табл. 4.1.) L-154 включает 12 регистров, из них 2 регистра – 12-ти разрядные, 10 регистров – 8-ми разрядные. Начальный адрес платы в области адресов ввода-вывода равен 300h.
| 
 | 
 | Магистраль основной памяти | 
 | 
 | |
| ЦП | 
 | ОЗУ, ПЗУ | 
 | ||
| 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | |||
| 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | |
| 
 | Магистраль ВУ | 
 | |||
| 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | Дисплей Клавиатура | ВЗУ | Принтер | ||
| 1 | Данные | Интерфейс Данные | 
 | ||
| АЦП | 
 | ||||
| 2 | 
 | ||||
| 
 | программного | 
 | ЦАП | ||
| 
 | Управление | 
 | |||
| 
 | 
 | обменаД нные | 
 | Uвых. | |
| 32 | Таймер | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | Входы- | |
| 
 | 
 | Регистры ввода-вывода | |||
| Коммутатор | 
 | выходы | |||
Рис.4.1. УСО на основе интерфейсной платы L 154
Таблица 4.1.
Карта регистров интерфейсной платы L 154
| № | Наименование | Адрес | Тип | 
 | Размер, | Назначение | 
 | 
| № | 
 | относит. | доступа | 
 | бит | 
 | 
 | 
| 
 | 
 | 
 | ЦП | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | ЦАП | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 1 | Регистр данных | 0 | Запись | 
 | 12 | Код для записи в ЦАП | 
 | 
| 
 | ЦАП | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | АЦП – коммутатор – усилитель | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 2 | Регистр данных | 0 | Чтение | 
 | 12 | Результат преобразования | 
 | 
| 
 | АЦП | 
 | 
 | 
 | 
 | напряжения в код АЦП | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 3 | Регистр | 2 | Запись | 
 | 8 | Установка канала мультиплексора, | 
 | 
| 
 | управления АЦП | 
 | 
 | 
 | 
 | режима подключения и диапазона | 
 | 
| 
 | – Коммутатор – | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 4 | |
| 
 | Усилитель | 
 | 
 | 
 | измерения входных сигналов АЦП | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 4 | Регистр состояния | 2 | Чтение | 8 | Состояние АЦП и счетчиков – | 
| 
 | 
 | 
 | 
 | 
 | таймеров | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 5 | Регистр запуска | 4 | Запись | 8 | Запуск АЦП на измерение | 
| 
 | АЦП | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | Таймеры-счетчики | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 6 | Канал 0 | 8 | Запись/ | 8 | Программирование канала 0 | 
| 
 | 
 | 
 | чтение | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 7 | Канал 1 | 9 | - « - | 8 | Программирование канала 1 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 8 | Канал 2 | Ah | - « - | 8 | Программирование канала 2 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 9 | Регистр | Bh | - « - | 8 | Установка параметров | 
| 
 | управления | 
 | 
 | 
 | каналов | 
| 
 | таймеров | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 10 | Регистр | Fh | Запись | 8 | Разрешение/запрет прерываний от | 
| 
 | прерываний | 
 | 
 | 
 | таймера | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | Цифровые линии ввода – вывода | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 11 | Цифровые | 3 | Чтение | 8 | Чтение цифровых линий с | 
| 
 | входы | 
 | 
 | 
 | внешнего разъема | 
| 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
| 12 | Цифровые | 3 | Запись | 8 | Установка/сброс цифровых линий с | 
| 
 | выходы | 
 | 
 | 
 | внешнего разъема | 
| 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
ЦАП – преобразует цифровой код, поступающий из ЭВМ в аналоговый сигнал в виде напряжения. Технические характеристики ЦАП:
Диапазон выходного сигнала -5,12 В - +5,12 В.

 - разрешающая способность ЦАПМаксимальная частота преобразования
 - разрешающая способность ЦАПМаксимальная частота преобразования 
3.3.Программные средства реализации безусловного обмена данными в среде Borland Pascal
В среде Borland Pascal для обращения к регистрам внешних устройств имеются два предварительно объявленных массива:
Port: array [0..65535] of byte; PortW: array [0..65534] of word;
Элементы массива Port байты, элементы массива PortW шестнадцати битовые слова. Индексы массивов соответствуют абсолютным адресам регистров внешних устройств.
Пример:
PortW[$300]:= 4048 – в регистр ЦАП записали число.  , на выходе установилось напряжение {+5,0}.
, на выходе установилось напряжение {+5,0}.
Для обращения к ячейкам памяти в паскале объявлены массивы: MEM, MEMW – MEML.
5
 
Пример: Программирование канала управления при безусловном способе обмена данными. Генерация синусоидального сигнала, амплитудой 5В, при максимальной частоте.
Program Demo_Sin;
uses crt; const M=100; var U: array [1..M] of integer; i, j: integer;
Procedure wait (i:word); {Обеспечивает задержку в интервале от 0 до 10мкс в зависимости от параметра}
Begin for j:=1 to i do end;
Begin for i:=1 to M do U[i]:=Round(2048+2000*sin(F*(i-1)));
{Сформирован массив данных синусоидального сигнала на интервале одного периода} i:=1;
repeat PortW[$300]:= U[i]; inc(i); if i>M then dec(i,M) until keypressed; while keypressed do readkey;
{Генерация сигнала до нажатия любой клавиши.} end.
3.4.Обмен данными между ЭВМ и внешним устройством по готовности
Основное требование к внешнему устройству – его готовность к обмену данными.
1) Чтение состояния
2) Анализ состояния ВУ
3)Передача данных
4)Сброс готовности
Рис. 4.2. Блок-схема алгоритма обмена данными по готовности ВУ
На первом шаге (1) ЦП читает из интерфейса информацию о состоянии ВУ. На следующем шаге (2) ЦП анализирует полученную информацию. Если ВУ не готово организуется цикл чтения состояния ВУ и его анализ. Если устройство готово — выполняется передача данных (3). Последний шаг (4) — сброс готовности ВУ завершает передачу одного слова данных.
Плюсы: данный способ является идеальным в смысле согласования временных различий в работе процессора и ВУ.
Недостаток: потери машинного времени на ожидание момента готовности. Пример: принтер HP Lj-6L имеет скорость печати 6 страниц в минуту, т.е. =240 символов в секунду. Принтер тратит на печать одного символа 4 мс.
ЦП тратит на печать 2 мкс следовательно 99,95% времени тратится на ожидание готовности.
Функциональная схема интерфейса ввода данных в ЭВМ по готовности ВУ.
6
 
Функциональная схема интерфейса ввода в ЭВМ по готовности ВУ (рис.4.3.) содержит все элементы интерфейса безусловного вывода данных.
Рис. 4.3. Функциональная схема интерфейса ввода данных в ЭВМ по готовности ВУ
Дополнительные элементы интерфейса — регистр состояния интерфейса содержит только один триггер, называемый флаг готовности (ФГ).
| Готовность ВУ | Инф. вентили | 
 | 
| ФГ | 
 | 
 | 
| S T | 2И | К одной из линий ШД | 
| 
 | 
 | 
 R
 R
Чтение РС
Запись в РС (Сброс ФГ интерфейса программный.)
Чтение РД (Сброс ФГ интерфейса аппаратный при чтении в РД.)
Рис. 4.4. Регистр состояния интерфейса
ФГ –флаг готовности в регистре состояния устройства, может установить в «1» только само внешнее устройство.
ЦП может прочитать или сбросить флаг готовности в ноль.
7
8
