Мегаобучалка Главная | О нас | Обратная связь


РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА ПК



2018-07-06 576 Обсуждений (0)
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА ПК 0.00 из 5.00 0 оценок




ПРАКТИЧЕСКАЯ РАБОТА №3.

Технологии программирования параллельного интерфейса

ЦЕЛЬ РАБОТЫ

 

Изучение параллельного интерфейса персонального компьютера (ПК) и технологий его программирования в средах Visual C# Express и LabVIEW.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ.

Паралле́льный порт — тип интерфейса, разработанный для компьютеров (персональных и других) для подключения различных периферийных устройств. В вычислительной технике параллельный порт является физической реализацией принципа параллельного соединения. Он также известен как принтерный порт или порт Centronics. Стандарт IEEE 1284 определяет двунаправленный вариант порта, который позволяет одновременно передавать и принимать биты данных.

Первый принтер с параллельным интерфейсом Centronics модели 101 был представлен в 1970 году. Интерфейс был разработан в Centronics Р. Говардом и П. Робинсон. Параллельный интерфейс Centronics быстро стал де-факто отраслевым стандартом. Производители в то время использовали различные разъёмы со стороны системного блока, поэтому существовало множество различных кабелей. Например, в ранних системах VAX использовался разъём DC-3, в NCR применялся 36-контактный плоский разъём, TexasInstruments использовала 25-контактный краевой разъём, а в DataGeneral использовался 50-контактный плоский разъём.

Dataproducts представила весьма оригинальную реализацию параллельного интерфейса для своих принтеров. Она использовала разъём DC-37 со стороны хоста и 50-контактный разъём со стороны принтера: либо DD-50 (иногда его неправильно называют «DB50»), либо разъём М-50 в форме блока (его также называют винчестерным разъёмом). Параллельное соединение Dataproducts было доступно в двух вариантах: либо для коротких соединений (до 15 м), либо для длинных соединений (от 15 до 150 м). Интерфейс Dataproducts встречался во многих системах мэйнфреймов вплоть до 1990-х годов, многие производители принтеров предлагали его в качестве опции.

IBM выпустила свой персональный компьютер в 1981 году и включила в него свой вариант интерфейса Centronics: только принтеры с логотипом IBM (ребрендинг от Epson) могли подключаться к IBM PC. IBM стандартизировала параллельный кабель с разъёмом DB25F на стороне ПК и разъём Centronics на стороне принтера. Производители вскоре реализовали принтеры, совместимые как со стандартным соединением Centronics, так и с соединением IBM.

В 1987 году IBM реализовала первую версию двунаправленного интерфейса. HP в 1992 году на принтере LaserJet 4 представила свою версию двунаправленного интерфейса, известную как Bitronics. Интерфейсы Bitronics и Centronics были заменены на стандартный интерфейс IEEE 1284 в 1994 году.

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

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

Все сигналы интерфейса 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 приведены на рис. Интервалы Т1-Т7 определяются применяемыми в передатчике и приемнике типами микропроцессорных элементов. Приемник готов принять данные, когда (BUSY = 0) & (#ACK = 1). Только в этом случае передатчик, выставив данные D0-D7, выдает сигнал стробирования данных #STROBE.

. Временные диаграммы цикла передачи данных по интерфейсу Centronics

Передача данных начинается с проверки готовности принтера — состояния линии Busy. Строб данных может быть коротким — доли микросекунды, и порт заканчивает его формирование, не обращая внимания на сигнал Busy. Во время строба данные должны быть действительными. Подтверждением приема байта (симво­ла) является сигнал Ack#, который вырабатывается после приема строба через не­определенное время (за это время принтер может выполнять какую-либо длитель­ную операцию, например прогон бумаги). Импульс Ack# является запросом принтера на прием следующего байта, его задействуют для формирования сигна­ла прерывания от порта принтера. Если прерывания не используются, то сигнал Ack# игнорируется и весь обмен управляется парой сигналов Strobe* и Busy. Свое состояние принтер может сообщить порту по линиям Select, Error*, PaperEnd — по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии lnit# принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического пере­вода строки, как правило, не пользуются, и сигнал AutoLF* имеет высокий уровень. Сигнал Selectln* позволяет логически отключать принтер от интерфейса.

По назначению линии сигналы на контактах разъема интерфейса можно разделить на 4 группы:

информационные сигналы D0-D7 данные;

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

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

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

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

Стандартом предусматривается, что информационные сигналы и сигналы управления передачей данных формирует и выдает системное устройство (источник), а сигналы состояния – периферийное устройство (приемник). Рассмотрим назначение сигналов интерфейса Centronics.

Таблица 8.3. Сигналы интерфейса Centronics

Максимальная длина соединительного кабеля по стандарту — 1,8 м. Максимальная скорость обмена — 100 Кбайт/с.

Формирование и прием сигналов интерфейса Centronics производится путем записи и чтения выделенных для него портов ввода/вывода. В компьютере может использоваться три порта Centronics, обозначаемых LPT1 (базовый адрес 378), LPT2 (базовый адрес 278) и LPT3 (базовый адрес 3BC).

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

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

Основным назначением интерфейса Centronics (отечественный аналог — стандарт ИPПP-М) является подключение к компьютеру принтеров различных типов (из-за чего его называют принтерным портом). Поэтому распределение контактов разъема, назначение сигналов, программные средства управления интерфейсом ориентированы именно на такое применение. В то же время, с помощью данного интерфейса можно подключать к компьютеру и многие другие стандартные внешние устройства (например, сканеры, дисководы и т.д.), а также нестандартные внешние устройства.

РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА ПК

В вычислительной технике контроллер внешнего параллельного интерфейса называется LPT-порт. LPT-порт имеет регистровую структуру. Процессор персонального компьютера может адресоваться к трем регистрам LPT-порта: регистр данных; регистр состояния; регистр управления.

В ПЭВМ адреса регистров для LPT-портов имеют стандартные значения.

Для порта LPT1 регистр данных имеет адрес 378h, регистр состояния – 379h, регистр управления – 37Ah.

Для порта LPT2 регистр данных имеет адрес 278h, регистр состояния – 279h, регистр управления – 27Ah.

Для порта LPT3 регистр данных имеет адрес 3BCh, регистр состояния – 3BDh, регистр управления – 3BEh.

Регистр выходных данных - тот адрес порта, через который проходит каждый байт данных, посылаемый в порт. Регистр состояния сообщает различную информацию о входных линиях; процессор может постоянно опрашивать его, чтобы распознать момент, когда все в порядке и можно посылать данные. Регистр состояния сообщает также, что произошла ошибка (линия ERROR). Регистр управления инициализирует адаптер и управляет выводом данных. Он может также подготавливать параллельный порт для операций прерывания, с тем, чтобы устройство посылало прерывание к процессору, когда оно готово к приему очередной порции данных, оставляя процессор свободным для других дел.

Обращение к регистрам порта LPT1 производится по следующим командам:

1. OUT (адрес регистра 378h) – запись кода символа в регистре данных для передачи;

2. IN (адрес регистра 378h) – чтение данных, выставленных на линии D7-D0 интерфейса;

3. IN (адрес регистра 379h) – чтение состояния ВУ;

4. OUT (адрес регистра 37Ah) – ввод команды управления в регистр управления;

5. IN (адрес регистра 37Ah) чтение информации, выставленных на линии управления интерфейса.

Формат регистра состояния ВУ LPT-порта

В7 В6 В5 В4 В3 В2 В1 В0

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

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

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

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

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

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

Формат регистра управления LPT-порта

Биты В7-В5 не используются.

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

Бит В3 – “1” формирует низкий активный уровень сигнала SELECT IN#.

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

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

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

Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP), достигая скорости пере­дачи до 150 Кбайт/с при полной загрузке процессора. Благодаря «продвинутым» режимам порта протокол может быть реализован и аппаратно (FastCentronics), при этом скорость до 2 Мбайт/с достигается при меньшей загрузке процессора.

Пример инициализации порта через BIOS. Функция 1 прерывания 17H BIOS инициализирует порт принтера и возвращает байт, дающий статус порта. Поместите в DX номер порта - число от 0 до 2 для LPT1 - LPT3, после чего вызовите прерывание. Байт статуса принтера возвращается в AH.

 

;---инициализация LPT1

MOV AH,1 ;функция инициализации принтера

MOV DX,0 ;LPT1

INT 17H ;проводим инициализацию

Регистр управления выводом каждого адаптера принтера имеет бит, который вызывает инициализацию адаптера. Этот регистр имеет адрес порта на 2 больше, чем базовый адрес адаптера. Напоминаем, что базовый адрес для LPT1 хранится в ячейке 0040:0008, для LPT2 - в 0040:000A и т.д. Имеют значение только младшие 5 битов регистра управления выводом. Бит 2 - бит инициализации принтера и обычно он устанавливается в 1. Для инициализации адаптера надо сбросить этот бит в 0 на тысячу тактов пустого цикла (3000 для AT или на 1/20 секунды, используя счетчик времени суток BIOS). В этот момент нужно, чтобы был установлен только бит 3 (принтер выбран). Поэтому пошлите в порт значение 12, сделайте задержку, а затем пошлите в порт обычное (без прерываний) неинициализонное значение, которое равно 8.

В данном примере инициализируется LPT1:

;---инициализируем LPT1
MOV DX,ES:[8] ;считываем базовый адрес в DX
INC DX ;прибавляем 2 к базовому адресу
INC DX ;
MOV AL,12 ;значение для инициализации
OUT DX,AL ;начинаем инициализацию
DELAY:

MOV AX,1000 ;начало пустого цикла
DEC AX ;уменьшаем счетчик
JNZ DELAY ;повторяем 1000 раз
MOV AL,8 ;обычное значение для регистра
OUT DX,AL ;конец инициализации

Реализация ввода данных с устройства осуществляется путем чтения битов состояния порта и позволяет зараз ввести 5 бит данных. Нижеприведенные значения возвращаются в регистр статуса по стандарту "Эпсон", которому обычно следует IBM:

Значение Цепочка битов Интерпретация

223 11011111 принтер готов
87 01010111 принтер не готов
119 01110111 нет бумаги в принтере
247 11110111 принтер выключен


Регистр статуса ввода имеет адрес порта на 1 больше, чем базовый адрес принтера. Базовый адрес для LPT1 хранится по адресу 0040:0008, для LPT2 - по адресу 0040:000A

ПРАКТИЧЕСКАЯ ЧАСТЬ

Лабораторный стенд

Лабораторный стенд представляет собой ПК и лабораторный макет, подключенный к порту LPT1 компьютера. Лабораторный макет питается от отдельного источника питания +5 В.

Принципиальная электрическая схема лабораторного макета приведена на рис. Главным элементом схемы является регистр DD1 типа КР1533ИР22. При подаче на вход PE положительного импульса (сигнал Strobe#) данные с входов D0…D7 записываются в регистр и, поскольку вход разрешения выхода E0 подключен к общей шине, записанный байт сразу отображается с помощью светодиодов VD1…VD8. Светодиоды расположены на передней панели макета и доступны для наблюдения.

Переключатели S1…S5 подают соответственно на линии Error, Select, PaperEnd (PE), Ack#, Busy[2] либо низкий уровень (замкнутое состояние ключа), либо высокий уровень (разомкнутое состояние). Переключатели расположены на передней панели макета, и доступны пользователю, который может задавать с их помощью любое пятиразрядное число для чтения в ПК.

Рис. 1. Принципиальная электрическая схема

лабораторного макета



2018-07-06 576 Обсуждений (0)
РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА ПК 0.00 из 5.00 0 оценок









Обсуждение в статье: РЕАЛИЗАЦИЯ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА ПК

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (576)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)