Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа № 4






 

ВНЕШНИЙ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС “CENTRONICS”

 

 

Цель работы: изучение принципов реализации интерфейса Centronics, назначения сигналов на линиях интерфейса, протокола передачи данных по интерфейсу, организации и функционирования LPT-порта, программной поддержки интерфейса.

 

Организация интерфейса

 

Внешний, радиальный, параллельный интерфейс Centronics обеспечивает подключение печатающих и других устройств с параллельной передачей информации. В одном направлении (от персонального компьютера) одновременно передается 1 байт данных. Радиальное подключение осуществляется посредством кабеля.

Все сигналы интерфейса Centronics имеют стандартные ТТЛ - уровни. Максимальная длина соединительного кабеля по стандарту – 1, 8 м. По назначению сигналы на контактах разъема интерфейса можно разделить на 4 группы:

· информационные сигналы;

· сигналы управления передачей данных;

· сигналы состояния периферийного устройства;

· заземление и питание.

Назначение сигналов интерфейса Centronics.

Информационные сигналы:

D0-D7 – 8-разрядные данные.

Сигналы управления передачей данных:

#STROBE – сигнал стробирования данных. Сигнал #STROBE низкого уровня сообщает приемнику, что данные источником выставлены, и их можно принимать.

#INIT – сигнал инициализации (сброса) периферийного устройства. Низкий уровень сигнала служит для установки регистров приемника в начальное состояние.

# SLCT IN – выбор. Сигнал сообщает приемнику, что он выбран и для него последует передача данных.

#AUTO FD – сигнал автоматического перевода строки. По этому сигналу печатающее устройство перемещает бумагу для печати на следующей строке.

Сигналы состояния периферийного устройства:

BUSY – сигнал занятости периферийного устройства. Сигнал BUSY высокого уровня говорит о том, приемник не может принимать данные. Приемник может быть занят в следующих случаях:

а) во время ввода данных;

б) во время печати;

в) в состоянии «ошибки»;

г) в автономном режиме и др.

Подача низкого уровня сигнала BUSY означает, что приемник может принимать данные.

#ACK – сигнал подтверждения принятия данных. Высокий уровень сигнала #ACK говорит о том, что приемник готов к приему данных. переход сигнала в ноль сообщает, что приемник принял предыдущие данные, но не готов принять новые.

SLCT – сигнал готовности приемника. Высокий уровень сигнала говорит о том, что приемник выбран и готов к приему данных.

#ERROR – сигнал ошибки приемника. Логический ноль означает ошибку в приемнике и требует прекращения передачи.

PE – сигнал конца бумаги. По этому сигналу источник прекращает передачу данных и переходит в состояние ожидания.

Обычно используются те или иные сигналы, в зависимости от назначения приемника. Для того чтобы обеспечить функционирование интерфейса, достаточно использовать только 8 бит данных (D0-D7), сигнал стробирования данных #STROBE, сигнал подтверждения #ACK и сигнал занятости приемника BUSY, либо сигнал готовности приемника SLCT.

Временные диаграммы сигналов при передаче информации по внешнему интерфейсу Centronics приведены на рис. 4.1. Приемник готов принять данные, когда (BUSY = 0) & (#ACK = 1). Только в этом случае передатчик, выставив данные D0-D7, выдает сигнал стробирования данных #STROBE.

 

Рис. 4.1. Временные диаграммы цикла передачи данных

по интерфейсу Centronics

 

Контроллер интерфейса Centronics.

Обменом информацией между ПК и периферийным параллельным устройством управляет контроллер внешнего параллельного интерфейса Centronics, который с одной стороны подключается к системному интерфейсу, а с другой – по интерфейсу Centronics к периферийному устройству. ПК может работать с тремя параллельными контроллерами, как LPT-порты и имеют логические адреса LPT1, LPT2 и LPT3. Блок-схема контроллера интерфейса приведена на рис. 4.2. Структура контроллера представляет собой типичную регистровую структуру. Центральный процессор ПК может адресоваться к трем регистрам контроллера:

· регистру данных;

· регистру управления;

· регистру состояния ПУ.

Адреса этих регистров для ПК имеют стандартные значения:

378h, 379h и 37Ah - для LPT1; 278h, 279h и 27Ah - для LPT2; 3ВСh, 3ВDh и 3ВEh - для LPT3.

 

 
 

 


Рис.4.2. Структура контроллера интерфейса Centronics

 

Первые адреса называются базовыми адресами портов. Область данных BIOS содержит базовые адреса для каждого контроллера. Базовый адрес для LPT1 находится в ячейке 0040: 0008, для LPT2 – 0040: 000А, для LPT3 – 0040: 000С. При инициализации ПК базовому адресу присваивается значение 0, когда соответствующий порт не установлен.

Управление передачей информации по интерфейсу организуется в соответствии с временными диаграммами работы интерфейса Centronics, приведенными на рис. 4.1. Через регистр данных CPU посылает код данных в параллельном формате в ПУ по линиям D0-D7 интерфейса Centronics. Код, выводимый на интерфейс, фиксируется в регистре чтения данных, и его можно прочитать для контроля передаваемых данных.

Регистр состояния ПУ содержит информацию о ПУ. Значения битов этого регистра приведены на рис. 4.3. Центральный процессор при передаче данных в ПУ опрашивает регистр состояния ПУ, чтобы определить момент, когда ПУ готово к приему, и можно посылать данные. Этот момент определяется соотношением сигналов BUSY (занято) и #ACK (подтверждение). Регистр состояния сообщает также, что произошла ошибка в работе ПУ или что ПУ не готово из-за отсутствия бумаги (при работе с принтером).

Рис. 4.3. Формат регистра состояния LPT-порта

· Бит В7 – инверсное отображение сигнала BUSY на линии интерфейса.

· Бит В6 – отображение сигнала на линии #ACK.

· Бит В5 – отображение сигнала на линии PE.

· Бит В4 - отображение сигнала на линии SELECT.

· Бит В3 - отображение сигнала на линии #ERROR.

· Биты В2-В0 не используются.

Через регистр управления в ПУ передаются сигналы инициализации ПУ (#INIT), управления выводом данных (#STROBE) и другие сигналы управления. Семантика битов этого регистра приведена на рис. 4.4. Установкой бита В4 в единичное состояние CPU переводит контроллер интерфейса в режим передачи данных по прерыванию. В этом режиме, когда ПУ готово к приему очередного кода данных, контроллер интерфейса посылает запрос на прерывание. Однако передача данных в ПУ в режиме прерывания практически не используется.

Рис. 4.4. Формат регистра управления

 

Назначение битов регистра управления LPT – порта:

· биты В7-В5 не используются;

· бит В4 – единичное значение разрешает прерывание по спаду сигнала на линии #ACK – сигнал запроса следующего байта;.

· бит В3 – “1” формирует низкий активный уровень сигнала #SLCT IN;

· бит В2 – “0” формирует низкий активный уровень сигнала #INIT;

· бит В1 – “1” формирует низкий активный уровень сигнала #AUTO FD;

· бит В0 – “1” формирует низкий активный уровень сигнала #STROBE;

 

Программная организация управления передачей по интерфейсу

В ПК выводом данных по интерфейсу Centronics управляет программа прерывания системы BIOS INT 17H. Эта программа может выполнять три операции, определяемые содержимым регистра АН микропроцессора:

· АН=0 – вывод символа;

· АН=1 – инициализация параллельного порта;

· АН=2 – чтение состояния периферийного устройства.

Для выполнения каждой операции необходимо задать в регистре DX микропроцессора номер LPT-порта – число от 0 до 2 для LPT1 – LPT3.

В процессе выполнения каждой операции программы прерывания INT 17H происходит обращения МП к регистрам порта. Так, например, МП посылает в регистр данных код выводимого символа, читает состояние периферийного устройства и, если ПУ готово к приему данных, формирует сигналы управления.

Пример использования программы прерывания INT 17H при для инициализации ПУ, подключаемого к порту LPT 2.

 

MOV AH, 1; операция «инициализация порта»

MOV DX, 1; LPT 2

INT 17H; выполнение операции

 

Функция 1 прерывания INT 17H BIOS инициализирует через порт LPT2 периферийное устройство и возвращает байт, определяющий состояние ПУ, в регистр AH микропроцессора.

 

Выполнение работы

Данная лабораторная работа представляет собой компьютерный электронный практикум, представляющий собой пакет прикладных программ, выполняемых на персональной ЭВМ, работающей под управлением ОС Windows. Программа для запуска электронного практикума LPT.exe находится в папке Centronics(лаб). Запуск практикума – запуск программы LPT.exe.

В содержимое электронного практикума входит теоретический материал по изучению параллельного интерфейса Centronics и практические задания. При выполнении задания моделируется работа контроллера интерфейса (порта LPT персонального компьютера) при передаче данных по интерфейсу в периферийное устройство по программе, написанной студентами в соответствии с полученным заданием.

При запуске программы LPT.exe откроется окно с содержанием практикума:

1. Организация интерфейса.

1.1. Назначение интерфейса.

1.2. Соединение с ВУ.

1.3. Назначение линий.

1.4. Временные диаграммы.

2. Порт LPT.

2.1. Структурная схема.

2.2. Форматы регистров.

2.3. Функционирование порта.

3. Программная поддержка передачи по интерфейсу.

Прерывание BIOS.

4. Выполнение работы.

4.1. Задание 1 (варианты 1-5).

4.2. Задание 2 (варианты 1-5).

4.3 Задание 3 – Тест

4.4. Задание 4.

5. Выход.

 

Разделы 1-3 – это текстовый учебный материал с рисунками и графическими иллюстрациями и гиперссылками, с помощью которых на рассматриваемых схемах выделяются выбранные узлы и выводятся соответствующие пояснения и определения. В процессе работы с текстом в каждом разделе выделяются ключевые выражения, например, «временные диаграммы» или «регистр состояния ВУ» и др., что позволяет, используя гиперссылки по этим выражениям, заходить в другие разделы, где приводится более подробная информация, связанная с выделенным названием либо конкретные характеристики или параметры выделенного названия узла.

В разделе 1 «Организация интерфейса» приводится теоретический материал о принципах организации интерфейса. В разделе 2 «Порт LPT» дается типовая конфигурация контроллера интерфейса Centronics, форматы регистров контроллера и приводится информация с описанием работы контроллера при передаче данных по интерфейсу. В разделе 3 дается назначение программы поддержки интерфейса Centronics и рассматриваются функции (операции) этой программы.

Раздел 4 «Выполнение работы» предназначен для самостоятельного практического составления и выполнения ассемблерных команд для организации передачи данных по интерфейсу Centronics для двух заданий. Для персонального компьютера имеются две возможности программирования передачи данных по интерфейсу Centronics. Один с использованием программного прерывания системы BIOS INT 17h (программирование на верхнем уровне), второй путем обращения по физическим адресам регистров порта LPT (программирование на нижнем уровне).

В задании 1 (раздел 4.1) передача данных по интерфейсу должна быть организована с использованием операций программы INT 17h. В задании 2 (раздел 4.2) управление передачей должно быть организовано через регистры контроллера интерфейса (порта LPT). Перед выполнением каждого из заданий необходимо изучить материал по организации интерфейса. Основные разделы этого материала – назначение проводников интерфейса (раздел 1.3), протокол передачи данных по интерфейсу (раздел 1.4), форматы регистров LPT-порта (раздел 2.2), программа прерывания INT 17h (раздел 3).

При правильном составлении ассемблерных команд передачи данных по интерфейсу на следующем этапе выполнения каждого задания на экране откроется окно со схемой соединяемых интерфейсом устройств, в котором моделируется покомандное выполнение составленной программы и процесс передачи данных по интерфейсу Centronics. При этом можно наблюдать за изменениями состояний регистров LPT-порта и состояний сигналов на линиях интерфейса при передаче данных по составленным командам.

Порядок работы при выполнении заданий следующий. При входе в раздел 4.1 «Задание 1» на экране появится окно с инструкцией по выполнению задания и алгоритмом программы (рис. 4.5).

 

 

Рис. 4.5. Окно с условиями выполнения задания 1

 

Необходимо получить у преподавателя номер варианта задания, мышкой выбрать номер полученного задания. При этом на экране появится окно (рис.4.6), в котором слева приводятся исходные данные для организации передачи по интерфейсу, а справа – текст программы, т.е. ассемблерные команды, определяющие выполнение задания. В приведенной программе ввести в выделенные окна ассемблерных команд информацию, соответствующую исходным данным. Поэтому, прежде чем приступать к работе, необходимо изучить приведенную программу и определить в соответствии с исходными данными и алгоритмом информацию, которую требуется занести в выделенные окна. Например, для регистра СХ – количество передаваемых по интерфейсу байт, для регистра АХ и DI – сегмент и смещение для адреса первой ячейки памяти блока выводимых через интерфейс данных.

При работе в окне используются 3 кнопки:

а) «Назад»;

б) «Проверка результата»;

в) «Просмотр результата».

Управление кнопками – один щелчок левой кнопкой мыши.

Нажатие на кнопку «Назад» приводит к возврату в окно с условиями задания (рис.4.5).

При нажатии на кнопку «Проверка результата» появится окно с указанием номера строки программы, в которой введены неправильные данные.

 

 

Рис. 4.6. Окно для составления программы

 

 

Кнопка «Проверка результата» позволяет только при правильном составлении программы открыть окно, в котором появится схема соединяемых интерфейсом устройств, по которой можно наблюдать за изменениями состояний регистров LPT-порта и состояний сигналов на линиях интерфейса при передаче данных по составленным командам. На схеме приводятся ячейки памяти, блок-схема LPT-порта, регистр буфера данных периферийного устройства, в которое передаются данные по интерфейсу.

В правой части окна приводится составленная студентом программа с указателем команд. Внизу окна – 3 кнопки: «Назад», «Сброс» и «Шаг».

Нажатие на кнопку «Назад» приводит к возврату в окно с исходными данными (рис.4.6).

При нажатии на кнопку «Шаг» выполняется блок команд, перед первой командой которого стоит указатель команд. Каждый блок определяется одним пунктом алгоритма (рис. 4.5). Кнопка «Сброс» устанавливает указатель команд на первую команду программы.

При выполнении каждого блока команд изменяется состояние регистров и сигналов на линиях интерфейса. При этом преподаватель может спросить у выполняющих работу о назначении каждой команды и причину изменения информационных параметров на схеме или задать другие вопросы по данной теме.

Таким образом, выполнение задания заключается в составлении и вводе закодированной информации в соответствии с заданными параметрами передачи в выделенные окна ассемблерных команд, прогоне моделирующего процесса передачи данных и объяснении каждого шага процесса передачи данных в периферийное устройство по интерфейсу.

«Задание 3 – Тест» (раздел 4.3) и «Задание 4» (раздел 4.4) предназначены для проверки и оценки преподавателем с помощью компьютера освоенного в данном практикуме материала студентами.

В «Задании 3 – Тест» проверка знаний у студентов проводится с помощью тестирования. Но есть некоторое отличие от типовой организации тестирования. Для ответа на вопрос отведено ограниченное время, а процесс ответа на вопрос организован двумя методами в зависимости от вопроса. В первом случае по вопросу дается несколько ответов, из которых студент должен выбрать правильный, во втором случае отвечать на вопрос студент должен письменно, кратко и правильно. При нажатии на кнопку «Задание 3 – Тест» на экране появится инструкция для студентов для выполнения тестирования (рис.4.7), а внизу экрана две кнопки «Студент» и «Преподаватель».

 

 

Рис. 4.7. Окно с инструкцией по выполнению тестирования

Система для преподавателя предназначена для формирования базы вопросов, ответов, задания времени на ответы, просмотра журнала ответов и др. Вход в эту систему возможен только с помощью пароля. Для тестирования знаний студент выбирает мышкой кнопку «Студент» и работает в соответствии с инструкцией представленной на экране в окне (рис. 4.7).

Задание 4 предназначено для тестирования по временным диаграммам работы интерфейса Centronics. Тестирование заключается в следующем. Процесс работы на интерфейсе представлен временной диаграммой с сигналами DATA, STB, PE, ERR, BUSY, ACK (рис. 4.8). Назначение сигналов на линиях интерфейса дано в разделе 1.3. Нужно отметить, что используемые на временной диаграмме сигналы, а также ситуации, возникающие в процессе обмена, создает преподаватель в процессе подготовки к практикуму.

 

 

Рис. 4.8. Окно с временной диаграммой при проведении тестирования

 

Процесс работы по заданию происходит в режиме диалога. При возникновении различных ситуаций, требующих варианты продолжения на экран выводятся соответствующие сообщения, на которые требуется определить и ввести направление дальнейшего продолжения.

Весь процесс передачи на временной диаграмме разбит на отдельные фазы, определяемые сигналом Clock и пронумерованные цифрами 0, 1, ….30, … Переход от одной фазы к следующей происходит автоматически после определения всех сигналов на линиях. В каждой фазе может происходить изменение сигналов на линиях в соответствии с ходом передачи по интерфейсу и состоянии устройств. Состояние сигналов на линиях задается либо автоматически (компьютером), либо вручную (студентом). В процессе задания сигнала может произойти останов на одном из сигналов. Как показано на рис. 4.8, останов произошел в фазе 8 на сигнале STB. В этом случае состояние сигнала на этой линии (0 или 1) должен определить и задать студент в зависимости от ситуации на интерфейсе.

С помощью клавиши «Пробел» на клавиатуре студент выбирает состояние линии на интерфейсе – «0» или «1» для одиночных линий, «Данные» или z- состояние для шины «DATA». Выбрав определенное состояние, студент должен нажать на клавишу «Enter» на клавиатуре для продолжения тестирования. Если состояние определено правильно, то движение по фазам на временной диаграмме продолжится до следующего останова. Если состояние определено и введено неправильно, появится окно (рис.4.9).

 

 

 

Рис.4.9. Окно с указанием неправильного ввода

 

В этом случае для продолжения тестирования необходимо нажать на клавиатуре на клавишу «Esc», при этом введенная ошибка зафиксируется в журнале. Для выхода из процесса при очередной остановке нажать на клавишу «Esc» 2 раза.

По окончании прогона по временным диаграммам на экране появится сообщение о количестве сделанных ошибок.

Проверка и контроль результатов тестирования проводит преподаватель по методике, приведенной в разделе «Инструкция преподавателю».

 

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.018 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал