DIPLOM2 (663828), страница 3

Файл №663828 DIPLOM2 (Компьютерная Томография) 3 страницаDIPLOM2 (663828) страница 32016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Можно также отметить такое достоинство параллельного порта, как

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

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

Во-первых, возможности реализации различных протоколов информационного обмена с устройством через параллельный порт невелики. Действительно небольшое количество сигнальный линий интерфейса и возможности его программирования не позволяют реализовать обмен по прерываниям или прямой доступ к памяти. Практически приходится ограничиваться программно-управляемым обменом. Кроме того, так как интерфейс параллельного порта является программно-управляемым, скорость информационного обмена не может быть особенно велика и оказывается напрямую связанной с быстродействием компьютера. Поэтому не имеет смысла сопряжение через параллельный порт устройств, требующих обработки или передачи информации в реальном масштабе времени, таких как устройства ввода изображения, звуковые системы и т.д. Кроме того, зависимость скорости информационного обмена от быстродействия компьютера делает практически нереализуемыми без специальных ухищрений быстродействующие протоколы связи. Еще одной особенностью интерфейса является отсутствие на его разъеме шин питания (есть только "земля"). Это означает, что сопрягаемое устройство должно использовать внешний источник питания. Вообще говоря на взгляд авторов, в ряде случаев это не только не является недостатком интерфейса но скорее его достоинством. Нет искушения использовать питание от компьютера, что может привести к выходу его из строя.

В 99% компьютеров имеется только один параллельный порт к которому должен подключаться принтер. Но и это ограничение часто не является существенным. Во-первых, многие компьютеры, ориентированные на работу с внешней аппаратурой прекрасно обходятся без принтера. Во-вторых, имеется масса простых и дешевых устройств (коммутаторов) для подключения к одному параллельному порту двух устройств.

Интерфейс и, соответственно, параллельный порт персонального компьютера ориентированы на подключение принтера. Подтверждением этому является и название сигналов интерфейса - AUTO FD - автоматический перевод бумаги, PE - конец бумаги и т.д. Однако при разработке нестандартных устройств для подключения к параллельному порту его сигналы могут быть использованы произвольно. Все сигналы интерфейса можно разделить на четыре группы:

1 - восьмиразрядная шина данных для чтения и записи (сигналы D0...D7);

2 - четырехразрядная шина управления для записи из компьютера (сигналы -STROBE, -AUTO FD, -INIT, и SLCT IN);

3 - пятиразрядная шина состояния для чтения в компьютер (сигналы -ASC, BUSY, PE, SLCT и -ERROR);

4 - шина "земли".

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

Ранее, на компьютерах моделей до Pentium мог быть установлен однонаправленный параллельный интерфейс. Т.е. шина данных являлась однонаправленной, что позволяло использовать ее только на вывод, для ввода данных необходимо было использовать сигналы из пятиразрядной шины состояния. В этом случае разрядность информационного обмена по чтению ограничена пятью линиями. В современных компьютерах устанавливается универсальный параллельный интерфейс, т.е. в начальных установках системы имеется опция позволяющая использовать параллельный порт как в однонаправленном (режим совместимости), так и в двунаправленном (расширенном) режиме. Это существенно увеличивает возможности параллельного порта. [4]

Параллельный порт имеет три адреса в пространстве устройств ввода-вывода компьютера: BASE - регистр данных BASE+1 - регистр состояния BASE+2 - регистр управления Здесь "BASE"- первый адрес порта. В компьютере может быть до трех параллельных портов - LPT1...LPT3. Таблица базовых адресов портов находится в области данных BIOS, начиная с ячейки 408h: LPT1 - 0:408, LPT2 - 0:40A, LPT3 - 0:40C. Если порт не установлен, то в соответствующей ячейке записан 0.

BIOS поддерживает до 3-х параллельных портов, которые определяются на этапе начального тестирования компьютера программой POST

(Power-ON-Self-Test). Номера портов и шестнадцатеричные адреса регистров приведены в таблице 3.1.

Табл. 3.1.

Адресация регистров параллельных портов.

Параллельный

порт

Регистр

данных

Регистр

состояния

Регистр

управления

1

3BCh

3BDh

3BEh

2

378h

379h

37Ah

3

278h

279h

27Ah

При обнаружении соответствующего порта BIOS записывает адрес его регистра данных, начиная с адреса 0:408h, и присваивает ему имя LPTn (n может принимать значения от 1 до 3).

Вообще говоря, BIOS понимает также и имя LPT4, т.е. может работать с 4-мя параллельными портами, однако, для этого программист должен сам позаботиться о том, чтобы соответствующий адрес регистра данных был записан в определенную для LPT4 область - по адресу 0:410h.

Рассмотрим подробнее регистры параллельного порта.

Как было сказано выше, параллельный порт состоит из трех регистров: регистр данных, регистр состояния и регистр управления.

Регистр данных параллельного порта представляет собой 8-ми разрядный регистр, доступный по чтению и записи и предназначен для записи и чтения данных длиной в байт. В режиме совместимости запись данных приводит к их немедленной передаче в линию. Передача данных в двунаправленном режиме несколько сложнее и управляется путем записи бита направления в регистр управления. Только при выполнении записи (бит направления равен 0) байт передается в линию, в противном случае запись значения в регистр производится, но в линию байт не передается. Операция чтения регистра данных приводит к чтению последнего записанного значения в режиме совместимости и при передаче в двунаправленном режиме. При выполнении чтения при приеме (бит направления равен 1) в двунаправленном режиме из регистра считывается значение линии, т. е. принимаемого байта. Формат регистра приведен на рис 3.1.

7

6

5

4

3

2

1

0

D7

D6

D5

D4

D3

D2

D1

D0

Рис. 3.1 Формат регистра данных параллельного порта.

Биты D7-D0 определяют значения передаваемого или считываемого байта информации. Битам регистра назначены соответственно разъемы от 9 до 2 в стандартном 25-ти штырьковом разъеме.

Данный регистр используется как в режиме совместимости, так и в расширенном режиме.

В режиме совместимости запись в регистр некоторого значения приводит к его немедленной передаче в линию. Операция считывания из регистра приводит к считыванию самого последнего записанного значения.

Для двунаправленного параллельного порта в расширенном режиме операция записи в регистр приводит к передаче значения в линию только, если в регистре управления бит DB=0, т.е. установлен режим записи. В противном случае происходит только сохранение записанного байта. Чтение из регистра данных также управляется значением бита DB в регистре управления. Если DB=0 (установлен режим записи), то считывается последнее записанное значение. Если DB=1 (режим чтения),

то считывается значение из линии.

Регистр состояния параллельного порта представляет собой 8-ти разрядный регистр, доступный только по чтению. Он служит для получения информации о работе устройства. Считываемое из регистра значение позволяет определить уровень сигнала на некоторых линиях, управляемых подключенным устройством. На рис.3.2 приведен формат регистра. Состояния и описаны значения битов регистра описаны ниже.

7

6

5

4

3

2

1

0

BUSY

ASC

PE

SEL

ERR

IRQS

резерв

Рис. 3.2 Формат регистра состояния параллельного порта.

BUSY определяет инвертированное состояние линии занято: 0 - устройство занято; 1 - устройство свободно;

Сигнал "занято" может формироваться из-за ошибки, а также в том случае, когда принтер отключен или отсутствует.

ASC показывает инвертированное состояние готовности к приему очередного байта: 0 - устройство готово к приему; 1 - устройство не готово к приему;

PE показывает текущий сигнал от принтера о состоянии бумаги. Бит устанавливается в 1, когда принтер вырабатывает сигнал конец бумаги (Paper End).

SEL указывает текущее состояние сигнала выборка (Select) и устанавливается в 1, когда устройство было выбрана.

ERR задает инвертированное состояние ошибки в устройстве. Бит устанавливается в 0 при выработке принтером сигнала ошибки(Error).

IQRS принимает значение 0, когда устройство подтвердило прием предыдущего байта информации сигналом подтверждения (ASCnowlege). Значение данного бита имеет смысл только для двунаправленного параллельного порта. Режим подтверждения устройством приема символа и выработки прерывания управляется битом IRQE управляющего порта. Обычно, прерывание от устройства LPT1 поступает на IRQ5, а от LPT2 - на IRQ7.

Регистр управления параллельного порта представляет собой 8-ми разрядный регистр, доступный по чтению и записи и используется для задания режимов работы контроллера параллельного порта, а также для передачи в линию ряда управляющих сигналов для устройства Контроллер может вырабатывать прерывание для процессора при получении от устройства подтверждения о приеме символа. Такая возможность управляется 4 битом регистра управления. Более подробно регистры контроллера описаны далее Формат регистра управления описывается ниже (рис. 3.3).

7

6

5

4

3

2

1

0

резерв

DIR

IRQE

SELIN

INIT

AFD

STRB

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

DIR используется для задания типа операции при работе в расширенном режиме (или направления передачи данных): 0 - операция записи; 1 - операция чтения. Этот бит имеет смысл только для двунаправленного параллельного порта.

RQE управляет прерыванием. Когда бит равен 1, параллельный порт посылает прерывание при выработке сигнала ASC со стороны устройства.

SELIN управляет состоянием сигнала выборки устройства (Select In). Когда бит установлен в 1, устройство считается выбранным. Данной линии соответствует разъем 17.

INIT управляет инвертированным состоянием сигнала инициализации устройства (Init). При этом установка нулевого значения бита означает инициализацию принтера.

AFD управляет состоянием сигнала автоматический прогон строки(Automatic Feed XT). Когда бит установлен в 1, принтер после печати каждой строки будет автоматически переходить на новую строку.

STRB управляет синхронной передачей данных в устройство. Когда он принимает значение 1, передаваемые данные могут считываться с линий данных.

3.2 Программирование параллельного порта.

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

Табл. 3.2.

Отображение сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера.

Ш И Н А

С И Г Н А Л

Б И Т

И Н В Е Р С И Я

Управление

-STROBE

0

инверсный

-AUTO FD

1

инверсный

-INIT

2

прямой

-SLCT IN

3

инверсный

Состояние

-ERROR

3

прямой

SLCT

4

прямой

PE

5

прямой

-ASK

6

прямой

-BUSY

7

инверсный

Программное прерывание 17h предоставляет некоторые возможности по работе с параллельным портом принтера. Однако этих возможностей недостаточно для полноценного программирования подключенных к этому порту внешних устройств. Кроме того использование прерывания существенно замедляет работу программы, поэтому рекомендуется непосредственно считывать данные по соответствующему адресу. Действительно полезной оказывается функция N1 - инициализация порта(вход: AH=1,DX-номер порта(0,1 или 2); выход: AH-статус порта). Дело в том, что эту процедуру необходимо выполнять после окончания работы с принтером. Поэтому рекомендуется вызывать функцию N1 прерывания 17h при выходе из программы.

Следует отметить, что, начиная с BIOS для IBM PC/AT, выпущенного в марте 1986 года, считывание значения из регистра состояния параллельного порта производится дважды, что связано с тем, что изменение состояния BUSY имеет растянутый фронт.

Двунаправленный порт обычно используется в режиме совместимости - именно этот режим устанавливается изначально при выполнении программы POST. Однако, программист может использовать расширенный режим работы порта для подключения нестандартной аппаратуры. В этом случае на компьютерах PS/2 выбор расширенного режима работы параллельного порта производится при конфигурации аппаратуры компьютера путем записи нулевого значения в бит 7 порта 0102h.

Характеристики

Тип файла
Документ
Размер
559 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6644
Авторов
на СтудИзбе
294
Средний доход
с одного платного файла
Обучение Подробнее