|
Описание портов компьютера
|
Контакт
|
Сигнал
|
Направление сигнала
|
||
1
|
strob
|
строб
|
ист -> пр
|
|
2
|
date 1
|
данные
|
ист -> пр
|
|
...
|
……
|
данные
|
ист -> пр
|
|
9
|
date8
|
данные
|
ист -> пр
|
|
10
|
acknlg
|
подтверждение
|
пр -> ист
|
|
11
|
busy
|
занят
|
пр -> ист
|
|
12
|
pe
|
конец бумаги
|
пр -> ист
|
|
13
|
select out
|
готовность приемника
|
пр -> ист
|
|
14
|
auto feed
|
авт. перевод
бумаги
|
ист-> пр
|
|
15
|
error
|
ошибка
|
пр -> ист
|
|
16
|
init
|
сброс
|
ист ->пр
|
|
17
|
select in
|
выбор
|
ист ->пр
|
|
19-25
|
ground
|
земля
|
Подчеркнутые сигналы (напр. error)
- инвертированные. Уровень сигнала соответствует ТТЛ-схемам лог."1" =
2.4-5.25 В, лог."0" = 0-0.5 В. Компьютер (источник) проверяет нет ли сигнала
busy, выставляет данные и подает сигнал strob. Приемник по появлению
строба выставляет busy. После обработки информации снимает busy и выдает
acknlg.
Эпюры напряжений при работе интерфейса Centronics.
Параллельный 8-битный код позволяет передать один из 255 симвалов таблицы ASCII, которая обычно "прошита" в ПЗУ принтера.
Состояние (379) | Управление (37A) | ||
7 | Busy | 7-5 | не используется |
6 | Acknlg | 4 | irq |
5 | Pe | 3 | slct in |
4 | Slct out | 2 | init |
3 | Error | 1 | auto feed |
2-0 | не используется | 0 | strob |
Работу с параллельным портом ввода-вывода обеспечивает прерывание BIOS (basic input/output system) int 17h, которое имеет 3 функции: 0 - символ вывода на печать, 1 - инициализация порта, 2- получение слова состояния. При этом номер функции заносится в регистр процессора AH, код символа в AL, а номер порта (0-2) в DX. После вызова прерывания int 17 в AX окажется слово состояния. В Турбо Паскале в библиотеке DOS есть тип Registers и процедура Intr(n,registers), которые могут использоваться для работы с параллельным портом например так:
function StatPrint: byte; {возвращает слово состояние}
var Reg: Registers;
begin
Reg.Ah:=2; Reg.Dx:=0; Intr(17, Reg);
end;
При автоматизации физического эксперимента параллельный интерфейс может использоваться для ввода/вывода цифровой информации по 12 линиям от компьютера (данные - 8 бит и управление - 4 бита) и по 4 линиям к нему (состояние). Каждая выходная линия, при соответствующем согласовании, может быть использована для управления состоянием аппаратуры типа "включено-выключено": запуск генератора, опускание пера, открытие шторки и т.д. Простейший цифро-аналоговый преобразователь (ЦАП), показанный на рис.1, может использоваться для вывода аналоговой информации, например на самописец, осциллограф, динамик и др.
Входные линии параллельного порта можно
использовать для ввода состояния клавиш, наличия высокого/низкого уровня
сигнала и т.д. в ваших приборах. Например, можно программно легко реализовать
простейший счетчик импульсов или частотомер. Если использовать генератор,
у которого частота импульсов зависит от емкости (или сопротивления), то
можно на его базе изготовить R или C измеритель.
Рис. 1 Простейший ЦАП на основе регистра (параллельного порта).
Через последовательный интерфейс, имеющий 25- или 9-штырьковый разъем, к компьютеру обычно подсоединяют манипулятор мышь, внешний модем, иногда принтер по стандарту RS232 (отечественный аналог:: Стык С2). Ниже приведено распределение сигналов по контактам в IBM-комьютере.
Уровни сигналов лог."1" (MARK) и лог."0" (SPACE) составляет: -12..-3В и +3..+12В соответственно.
25 шт. | 9 шт. | Сигнал | Направление | |
- | PG | защитная земля | ||
3 | TxD | передаваемые данные | Выход | |
3 | 2 | RxD | принимаемые данные | Вход |
4 | 7 | RTS | запрос на передачу | Выход |
5 | 8 | CTS | готовность к передаче | Вход |
6 | 6 | DSR | готовность компьютера | Вход |
7 | 5 | SG | сигнальная земля | - |
8 | 1 | DCD | контроль приема | Вход |
20 | 4 | DTR | терминал готов | Выход |
Формат данных для RS232:
Число старт и стоп битов - 1, 1.5, 2; P - бит четности; число битов данных -5, 7, 8. Скорость обмена информацией составляет 110-9600 бит/с (бод). Параметры порта могут быть установлены командой ДОС: mode com1: b, pr, db, s, p.
Где b – скорость передачи (110-9600), pr - приоритет (n-нет, o-нечет, e-чет), db-длина (7-8 бит), s- число стоп-битов, p- проверка таймаута.
Серийный порт занимает в адресном пространстве 3 байта: 3F8h- регистр передатчика (приемника), 3FBh- регистр управления, 3FDh- регистр состояния. Аналогично параллельному порту последовательный порт обслуживается прерыванием Int 14h.
Два компьютера могут быть соединены для обмена информацией через данный порт с помощью нуль-модемного кабеля ( т.е. тремя проводами)
PG | PG |
TxD | RxD |
RxD | TxD |
Norton Comander имеет соответствующую программную поддержку (Link). Чтобы Norton Commander мог работать с двум компьютерами, соединенными через параллельные порты, эти компьютеры должны быть соединены специальным кабелем.
Ниже приведена схема разводки кабеля.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
7 | 15 | 13 | 12 | 10 | 11 | 1 | 14 | 16 | 5 | 6 | 4 | 3 | 8 | 2 | 9 | 17 |
Игровой порт, служащий для подключения джойстиков, в своей основе имеет несколько нестандартный аналого-цифровой преобразователь: сопротивление-частота. Количество импульсов зависит от времени зарядки RC некоторого конденсатора С через резистор R (R=100 кОм), находящийся в джойстике, до уровня напряжения логической единицы, который фиксируется компаратором. Адрес этого адаптера - 200h (IBM XT) или 201h (IBM AT). Сигналы на разъеме игрового порта показаны ниже:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для ввода/вывода цифровой информации из компьютерной системы используется программируемый параллельный порт КР580ВВ55А, который схематично изображен ниже.
Рис.2. Пример взаимодействия программируемых параллельного порта (PI) КР580ВВ55А и таймера (T) КР580ВИ53 с системной магистралью компьютера. DC - дешифратор К555ИД7.
Микросхема КР580ВВ55А ( аналог intel 8255А ) позволяет переключать шину данных компьютера ( data bus ) на один из трех 8-битных портов ( регистров ) A, B или C. Направление передачи данных и режим работы (0 - 2) определяются программным способом. Чаще других используется режим 0: простой ввод-вывод. Состояние адресных линий А0 и А1 позволяет выбрать для обмена информацией регистры A, B, C или регистр управления. Режим работы параллельного интерфейса КР580ВВ55А определяется байтом, записанным в регистр управления (см. ниже). При работе на вывод порты A, B, C действуют как регистры, т.е. сохраняют информацию до следующей записи, при работе на ввод информация теряется. Порт С, в отличие от портов A и B, разбит на полубайты и может программироваться раздельно т.е. мы имеем группы A и B.
В дополнение к основным режимам работы микросхема КР580ВВ55А обеспечивает возможность программной независимой установки/сброса любого бита в порте С, в этом случае старший бит в регистре управления должен быть 0.
|
|||
|
Порт С (0-3 биты) | 0-вывод,1-ввод | Группа В |
|
Порт В | 0-вывод,1-ввод | |
|
Режим: | 0-режим 0,1-режим 1 | |
|
Порт С (4-7 биты) | 0-вывод,1-ввод | Группа А |
|
Порт А | 0-вывод,1-ввод | |
|
Режим: | 00-режим
0,01-режим 1,
1x-режим 2 |
|
|
|||
|
Логическая единица |
Интегральная схема КР580ВИ53 создана по n-МОП технологии, Uпит=+5 В, U1>2.4 В, U0<0.45 В, P=1 Вт, fтакт<2 МГц, 24 "ножки", максимальное значение счета: 216 - в двоичном коде и 104 -в двоично-десятичном. Программируемый таймер КР580ВИ53 реализован в виде трех независимых 16-разрядных вычитающих счетчиков (каналов) с общей схемой управления. Каждый канал может работать в шести режимах. Программирование режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в счетчики - некоторого числа байтов. На рис.2 можно видеть, что таймер обменивается информацией с 8-битной шиной данных микропроцессорной системы (data bus) через вход D, а также он связан с адресной шиной двумя линиями А0-А1, обеспечивающими выбор одного из четырех регистров (3 канала и управляющее слово). Сигналы шины управления IOR и IOW (чтение/запись из/в внешнее устройство) определяют направление потока информации от процессора к таймеру и наоборот. С0, С1, С2 - тактовые входы, сигналы на Е0, Е1, Е2 разрешают или запрещают работу соответствующего канала, OU0, OU1, OU2 - выходы.
- режим 1 - ждущий мультивибратор: на выходе формируется импульс низкого уровня длительностью Ти, Ти=N- число, записанное в счетчик,
- режим 2 - генератор импульсный: на выходе сигнал частотой, в N раз меньшей, чем входная частота, в течение (N-1)Ти - высокий уровень, в течение Ти - низкий уровень сигнала.
- режим 3 - генератор меандра: входная частота делится на N, скважность близка к двум.
- режим 4 - одиночный программно-формируемый строб. сигнал: на выходе импульс низкого уровня Ти после отсчета N импульсов, запуск по перезагрузке.
- режим 5 - одиночный аппаратно-формируемый строб. сигнал: тоже, что и режим 4, но запуск по перепаду уровня на входе Еn.
|
||
|
Код: | 0-двоичный
|
1-двоично-десятичный |
|
Режим работы: | 000
– режим 0
001 – режим 1 x10 – режим 2 x11 – режим 3 100 – режим 4 101 – режим 5 |
|
||
|
||
|
Загрузка | 00-защелк-ние.(чтение)
01-только млад. байт 10-только стар. байт 11-сначала млад. байт, затем старший байт |
|
||
|
Выбор регистра канала | 00
– канал 0
01 – канал 1 10 – канал 2 11 – запрет |
|