Показать сообщение отдельно
Старый 11.09.2004, 17:10     # 5
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Может эта справочная информация окажет тебе какую-нибуть помощь.
Протоколы обмена данными между LPT и внешними устройствами:
Для EPP

Фазы приема байта:
1. Хост сигнализирует о гоовности приема данных установкой низкого уровня на линии HostBusy.
2. ПУ в ответ помещает байт данных на линии Data [0:7]
3. ПУ сигнализирует о действительности байта установкой низкого уровня на линии PtrClk
4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой байта.
5. ПУ отвечает установкой высокого уровня на линии PtrClk
6. Хост подтверждает прием байта импульсом HostClk
Цикл записи состоит из следующих фаз.
1. Программа выполняет цикл вывода (IOWR#) в порт 4 (EPP Data Port)
2. Адаптер устанавливает сигнал Write#(низкий уровень), и данные помещаются на выхоную шину LPT-порта
3. При низком уровнеWait# устанавливается строб данных.
4. Порт ждет пожтверждения от ПУ (перевода Wait# в высокий уровень).
5. Снимается строб данных -- внешний EPP- цикл заканчивается.
6. Завершается процессорный цикл вывода.
7. ПУ устанавливает низкий уровень Wait#, указывая на возможность начала следующего цикла.
---------------------------------
Сигналы EPP LPT-порта:
ном вывода | название сигнала
1 Write# (HostClk)
14 DataStb# (HostBusy)
17 AddrStb#
16 Reset#
10 Intr# (PtrClk)
11 Wait
2-9 Data[0:7]
12 AckDataReq
13 Xfalg
15 DataAvail
----------------------------------
Для ECP
Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:
1. Хост помещяает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды(низкий уровень) на линии HostAck.
2. Хост устанавливает низкий уровень на линии HostClk, указывая на действительность данных.
3. ПУ отвечает установкой высокого уровня на линии PeriphAck
4. Хост устанавливает высокий уровень на линии HostClk, и этот перепад может использоваться для фиксации данных ПУ.
5. ПУ устанавливает низкий уровеь на линии PeriphAck для указания на готовность к приему следующего байта.
Обратная передача данных состоит из следующих шагов:
1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линии ReverseRequest#.
2. ПУ разрешает смену направления установкой низкого уровня на линии ACKReverse#.
3. ПУ помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии PeripAck.
4. ПУ устанавливает низкий уровень на линии PeriphClk, указывая на действительность данных.
5. Хост отвечает установкой высокого уровня на линии HostAck.
6. ПУ устанавливает высокий уровень линии PeriphCLK; этот перепад может использоваться для фиксации данных хостом.
7. Хост устанавливает низкий уровень на линии HostAck для указания на готовность к приему слеующего байта.
---------------------------------------
Сигналы ECP LPT- порта
ном вывода | название сигнала
1 HostClk
14 HostAck
17 1284Active
16 ReverseRequest#
10 PeriphClk
11 PeriphAck
12 AckReverse#
13 Xflag
15 PeriphRequest#
2-9 Data [0:7]
---------------------------------------
EPP позволяет чередовать циклы прямой и обратной передачи не запрашивая подтверждения на смену направления обмена данными. В ECP смена направления должна быть согласована: хост запрашивает реверс установкой ReverseRequest#, после чего он должен дождаться подтверждения сигналом AckReverse.
__________________
Старые игры раздают здесь
CEO вне форума