ВВЕДЕНИЕ
Тема выпускной квалификационной работы - разработка лабораторного стенда "Исследование параллельного интерфейса на контроллере МС 2702".
Выпускная квалификационная работа посвящена разработке учебного лабораторного стенда, который предназначен для ознакомления студентов с последовательным интерфейсом, а так же вариантами его реализации.
Параллельные интерфейсы характеризуются тем, что в них для передачи бит в слове используются отдельные сигнальные линии, и биты передаются одновременно. Параллельные интерфейсы используют логические уровни ТТЛ (транзисторно-транзисторной логики), что ограничивает длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. интерфейс драйвер стенд программа
Параллельные интерфейсы используют не только для подключения принтеров, но и для связи между двумя компьютерами, а передача данных может быть как однонаправленной, так и двунаправленной.
Цель работы - изучить варианты реализации параллельного интерфейса компьютерных систем и на основе полученных знаний разработать лабораторный практикум.
Задачи вытекающие из поставленной цели:
. Аналитический обзор существующих параллельных интерфейсов;
. Обоснование выбора варианта конструирования лабораторного стенда;
. Разработка лабораторного стенда;
. Разработка структурной схемы лабораторного стенда;
. Разработка схемы соединения между учебными стендами;
. Разработка алгоритмов подпрограмм обмена информации;
. Разработка инструкции по эксплуатации.
В первой главе рассмотрен аналитический обзор существующих параллельных интерфейсов. Во - второй главе представлено обоснование выбранного варианта конструирования лабораторного стенда. В - третьей главе разработан дабораторный стенд, в рамках этой главы рассмотренно следующее: разработка структурной схемы лабораторного стенда; разработка схемы соединений между учебными стендами. В - четвертой главе разработаны алгоритмы подпрограмм обмена информации. Пятая глава содержит методические указания к выполнению работы.
В данной работе содержится 41 страница и 4 приложения.
При разработке были использованы следующие методы: анализ, сравнение, обработка литературных источников. В ходе работы использовались такие источники, как: схемы программируемого контроллера «ЭЛЕКТРОНИКА МС2702), учебно - методическая литература, ресурсы сети интернет, статьи журналов.
Технологии постоянно развиваются, с каждым днём
создаются всё новые и новые инструменты для работы с различными процессами. Как
правило, в каждом виде деятельности обладать теоритическими знаниями не
достаточно. Необходимо умело применять имеющиеся знания на практике. Поэтому,
важно научиться работать не только с новыми инструментариями, но и знать их
истоки.
1. АНАЛИТИЧЕСКИЙ ОЗБОР СУЩЕСТВУЮЩИХ ПАРАЛЛЕЛЬНЫХ
ИНТЕРФЕЙСОВ
Лучше всего начать с определения интерфейса:
«Толковый словарь по вычислительным системам» определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств [1]».
Под интерфейсом, строго говоря, следует понимать совокупность всех как аппаратных, так и программных средств, обеспечивающих сопряжение модулей микро-ЭВМ друг с другом, микро-ЭВМ с внешними устройствами, микро-ЭВМ с другими ЭВМ.
Исторически, параллельный интерфейс был введен для подключения принтера. Однако впоследствии стал использоваться для подключения других периферийных устройств - сканеров, дисководов, программаторов микросхем и ряда других устройств.
Далее следует указать, что по способу передачи информации интерфейсы подразделяются на параллельные и последовательные [1].
Параллельный интерфейс - для каждого бита передаваемой группы используется своя сигнальная линия (обычно с двоичным представлением), и все биты группы передаются одновременно за один квант времени.
Последовательный интерфейс - используется лишь одна сигнальная линия, и биты группы передаются друг за другом по очереди; на каждый из них отводится свой квант времени (битовый интервал).
На первый взгляд организация параллельного интерфейса проще и нагляднее и этот интерфейс обеспечивает более быструю передачу данных. Очевидный недостаток параллельного интерфейса - большое количество проводов и контактов разъемов в соединительном кабеле. У последовательного интерфейса приемопередающие узлы функционально сложнее, зато кабели и разъемы гораздо проще и дешевле. Понятно, что на большие расстояния тянуть многопроводные кабели параллельных интерфейсов неразумно (и невозможно), здесь гораздо уместнее последовательные интерфейсы.
Но так как в данной работе последовательный интерфейс рассматриваться не будет, то рассмотрим виды и возможности реализации параллельного интерфейса.1284 (порт принтера, параллельный порт, Print Terminal, LPT) - международный стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера.
В основном используется для подключения к компьютеру принтера, сканера и других внешних устройств (часто использовался для подключения внешних устройств хранения данных), однако может применяться и для других целей (организация связи между двумя компьютерами, подключение каких-либо механизмов телесигнализации и телеуправления).
В основе данного стандарта лежит интерфейс Centronics и его расширенные версии (ECP, EPP).
Название «LPT» образовано от наименования стандартного устройства принтера «LPT1» (Line Printer Terminal или Line PrinTer) в операционных системах семейства MS-DOS.
Параллельный порт Centronics - порт, используемый с 1981 года в персональных компьютерах фирмы IBM для подключения печатающих устройств, разработан Centronics Data Corporation; уже стал стандартом хотя в действительности на данный он не [1].
Изначально порт был только для (однонаправленной) передачи так как что порт должен использоваться для работы с принтером. Впоследствии фирмами были дуплексные расширения (byte mode, ECP). Затем принят международный IEEE 1284, как базовый Centronics, так и его расширения.
Стандарт позволяет использовать в нескольких режимах: Parallel Port) - порт, полностью с интерфейсом Centronics. - позволяет организовать обмен данными в SPP путём управляющих линий бит) для данных от устройства к контроллеру. Исторически был единственный использовать Centronics двустороннего обмена данными. - редко используемый двустороннего обмена данными. Использовался в старых контроллерах принятия стандарта 1284. Parallel Port) - компаниями Intel, и Zenith Data - двунаправленный порт, скоростью передачи до 2МБайт/сек.(1991)
ЕСР Capabilities Port) - компаниями Hewlett-Packard и - в дополнение появились возможности, как аппаратного сжатия наличие буфера и работы в режиме [2].
Рассмотрим подробно режимы и ECP.
Протокол (Enhanced Parallel - улучшенный параллельный был разработан Intel, Xircom и Data Systems до принятия IEEE 1284. Этот предназначен для производительности обмена параллельному порту, был реализован в Intel 386 (микросхема 82360) и принят множеством как дополнительный параллельного порта. Версии реализованные до IEEE 1284, от нынешнего стандарта.
Назначение записи и чтения
очевидно. Адресные используются для адресной, канальной и информации. Циклы
данными отличаются адресных циклов стробирующими сигналами. Назначение порта
EPP и связь с сигналами представлены в таблице 1.1.
Таблица - Сигналы LPT-порта в ввода-вывода EPP
|
Контакт |
Сигнал Имя в EPPI/OОписание |
|
|
|
|
1 |
Strobe# |
Write# |
O |
Низкий - цикл записи, - цикл чтения |
|
14 |
AutoLF# |
DataStb# |
O |
Строб данных. Низкий устанавливается в циклах данных |
|
17 |
SelectIn# |
AddrStb# |
O |
Строб адреса. Низкий устанавливается в адресных |
|
16 |
Init# |
Reset# |
O |
Сброс (низким уровнем) |
|
10 |
Ack# |
INTR# |
I |
Прерывание ПУ |
|
11 |
Busy |
Wait# |
I |
|
|
2-9 |
Data[0:7] |
AD[0:7] |
I/0 |
Двунаправленная адреса/данных |
|
12 |
PaperEnd |
AckDataReq |
I |
Используется усмотрению разработчика |
|
13 |
Select |
Xflag |
I |
Используется усмотрению разработчика |
|
15 |
Error# |
DataAvail# |
I |
по усмотрению периферии |
EPP-порт расширенный набор
(таблица 1.2), занимает в пространстве 5-8 смежных [2].
Таблица - Регистры EPP-порта
|
Имя СмещениеРежимR/WОписание |
|
|
|
|
|
SPP Port+0SPP/EPPWРегистр SPP |
|
|
|
|
|
SPP Port+1SPP/EPPRРегистр SPP |
|
|
|
|
|
SPP Port+2SPP/EPPWРегистр SPP |
|
|
|
|
|
EPP Port+3EPPR/WРегистр EPP. Чтение запись в него связанный цикл или записи EPP |
|
|
|
|
|
EPP Port+4EPPR/WРегистр EPP. Чтение генерирует связанный чтения (записи) EPP |
|
|
|
|
|
Not +5…+7EPPN/AВ контроллерах могут для 16-32-битных ввода-вывода |
|
|
|
|
Протокол EPP обеспечивает четыре типа циклов обмена:
. запись данных;
. чтение данных;
. запись адреса;
. чтение адреса.
Внешние EPP-порта для цикла обмена аппаратно по операции записи чтения в регистр порта.
Цикл данных состоит следующих фаз.
. Программа цикл вывода в порт 4 (ЕРР Port).
. Адаптер сигнал Write# уровень), и данные на выходную LPT-порта.
. При уровне Wait# строб данных.
. Порт подтверждения от (перевода Wait# в уровень).
. Снимается данных - внешний завершается.
. Завершается цикл вывода.
. ПУ низкий уровень указывая на начала следующего цикла.
На рисунке 1.1 диаграмма цикла
данных, иллюстрирующая цикл обмена, в цикл записи шины процессора эти
циклы связанными). Адресный записи отличается цикла данных стробом внешнего
интерфейса.
Рисунок 1.1 - Цикл данных EPP
Главной чертой ЕРР выполнение внешней во время процессорного цикла ввода-вывода. Это достигать высоких обмена (0,5-2 Мбайт/с).
Пример цикла чтения на рисунке
1.2. цикл данных отличается применением другого сигнала.
Рисунок 1.2 - Адресный чтения EPP
Важной EPP является что обращение к ПУ осуществляется в времени - нет буферизации. Драйвер отслеживать состояние и команды в точно моменты времени.
Циклы и записи могут в произвольном порядке идти блоками. Такой обмена удобен регистро-ориентированных ПУ ПУ, работающих в времени, например, сбора информации и управления. Этот пригоден и для хранения данных, адаптеров, принтеров, и т.п.
К сожалению, EPP поддерживается всеми портами - отсутствует, к примеру, в блокнотных ПК. Так при разработке устройств ради совместимости с компьютерами ориентироваться на ECP о котором поговорим далее.
Протокол (Extended Capability - порт с расширенными был предложен Packard и Microsoft связи с ПУ принтеров или сканеров. Как и данный протокол высокопроизводительный двунаправленный данными хоста с ПУ.
Протокол в обоих направлениях два типа
. циклы записи и данных;
. командные записи и чтения.
Командные подразделяются на типа: передача адресов и передача RLC (Run-Length [3].
В отличие EPP вместе с ЕСР сразу стандарт на (регистровую) модель адаптера, изложенный в «The IEEE Extended Capabilities Protocol and Interface Standard» Microsoft.
Этот определяет свойства не заданные IEEE 1284:
. компрессия хост-адаптером по RLE;
. буферизация для прямого и каналов;
. применение и программного ввода-вывода.
Компрессия в времени по RLE (Run-Length позволяет достичь сжатия 64:1 передаче растровых которые имеют строки повторяющихся байт. Компрессию использовать, только ее поддерживают и и ПУ.
Канальная ECP применяется адресации множества устройств, входящих в физическое.
Например, в устройстве факс/принтер/модем, только к одному порту, возможен прием факса и на принтере.
В SPP, если установит сигнал
канал будет данными, пока их не примет. В ECP программный просто адресуется
к логическому каналу же порта [3].
Таблица - Сигналы LPT-порта в ввода-вывода ECP
|
Контакт |
Сигнал Имя в ECPI/OОписание |
Strobe# |
HostClk |
О |
Строб используется в паре с для передачи в направлении (вывод) |
|
14 |
AutoLF# |
HostAck |
О |
Указывает цикла (команда/данные) передаче в прямом направлении. Используется сигнал подтверждения в с PeriphClk для в обратном направлении |
|
|
17 |
SelectIn# |
1284Active |
O |
Высокий указывает на в режиме IEEE (в режиме уровень низкий) |
|
|
16 |
Init# |
ReverseRequest# |
O |
Запрос реверса. Низкий сигнализирует о переключении на передачу в направлении |
|
|
10 |
Ack# |
PeriphClk |
I |
Строб используется в паре с для передачи в направлении |
|
|
11 |
Busy |
PeriphAck |
I |
Используется сигнал подтверждения в с HostClk для в прямом направлении. Индицирует команда/данные при в образном направлении |
|
|
12 |
PaperEnd |
AckReverse# |
I |
Подтверждение реверса. Переводится в уровень в ответ ReverseRequest# |
|
|
13 |
Select |
Xflag? |
I |
Флаг |
|
|
15 |
Error# |
PeriphRequest#? |
I |
Устанавливается для указания доступность (наличие) канала передачи. |
|
|
2-9 |
Data Data [0:7]I/OДвунаправленный данных |
|
|
|