LPT: почему 2 диапазона адресов I/O?

Тема в разделе "WASM.ELECTRONICS", создана пользователем Quantum, 6 сен 2005.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Ресурс занимает 2 диапазона адресов ввода/вывода:
    Код (Text):
    1. 0378 - 037F


    Тут, вроде бы, расположены 3 стандартных 8-битных регистра LPT.
    Код (Text):
    1. 0778 - 077F


    А тут что???



    Смотрел на разных машинах: эти адреса (второй диапазон) не совпадают.
     
  2. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    это ECP-порты. Их положение зависит от базы первого диапазона (+400h).
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    _BC_

    Это для DMA что ли?
     
  4. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Quantum



    :) Нет, это порты для работы с LPT в режиме ECP. В книге "Интерфейсы ПК" (М. Гук) неплохо параллельный порт рассмотрен, включая и режимы SPP/EPP/ECP. Есть в эл. виде кстати.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    _BC_

    Я же не про режимы спрашивал, а про диапазон. Если я вас правильно понял, то через второй диапазон я могу общаться с периферией по протоколу ECP (и в режиме ECP, естественно), если меня туда пустит драйвер принтера, так? И ничего в биосе конфигурировать не надо? А почему этот диапазон на некоторых машинах выглядит как 0778 - 077B?
     
  6. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    В биосах можно менять базу для LTP, и, возможно, режим работы порта (SPP/EPP/ECP).

    Там всего 3 порта используются (+400h..+402h), увеличение верхней границы по идее роли не играет.
     
  7. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    надо переключить в режим EPP (режим двунаправленной передачи данных): BIOS->INTEGRATED PERIPHERALS->PARALLEL PORT MODE режим работы порта на EPP или SPP/EPP; это чтоб считывать можно было через LPT, а иначе только на выдачу.
     
  8. VaStaNi

    VaStaNi Member

    Публикаций:
    0
    Регистрация:
    1 июн 2004
    Сообщения:
    203
    Адрес:
    Ukraine
    Как раз в текучке написание собственного драйвера для своего проекта оси, посему попробую завалить инфой... :) повезло комуто, а я то долго тужился, блин.

    Итак, никуда, особенно без надобности переключаться не надо(да и не получится из SPP:)), если нужно, скажем только стандартно отослать десяток байт в 0x378. Доки говорят (и приктика), что НИЖНИЕ порты ВСЕГДА в работе по КЛАССИКЕ, что от XT тянется и везде пиcано-переписано 1000 раз... А вот EPP и ECP - скоростные аппаратно-реализованные ДУПЛЕКСНЫЕ порты передачи-приема байт. Причем самый интеллектуальный и скоростной ECP. Пишут, что при хорошем кабеле и девайсе до 20мБ/сек достигает. Именно у него и есть эти ВЕРХНИЕ адреса!

    Особое внимание тут порту для регистра ECR (0x77A), через который вся песня заводится: сервис, конфиг, статусы FIFO, прерываний, DMA канала... Нормальный сервис на ECP, я вот Plug&Play для него в плане вынюхивания DMAn и IRQn пишу, вроде получается, а вот EPP... зараза туповатая. У него то собственно верхних и не найдешь! Там просто расширили нижние! Т.е.есть еще 0x37B, 0x37C - 100%. Если есть поддержка пересылок WORD, DWORD(!) данными, то присутствуют сдедующие адреса только для порта данных 0x37С (как базовый для данных)...

    Ну ладно тут все не раскажешь, да и нужно ли?

    Теперь даю доки, чтоб пытливые сразу в яблочко попадали:

    http://www.lvr.com/parport.htm

    http://programmer.newmail.ru/programs/LPT/LPT.htm

    http://www.rusdoc.ru/material/hardware/iee/ieee_1284.htm

    http://www.ee.washington.edu/circuit_archive/text/para-port.html

    http://www.cgu.chel.su/faculties/phys/maelab/_frames/_lpt_1.htm

    http://emfl.nm.ru/menu/hard/constructions.html

    http://www.entechtaiwan.com/tools.htm

    http://emanual.ru/download2/2717.html

    Кулакова тоже можно почитать...

    А вообще везде примитив рассматривается, а вот скоростных то вещей обмена по ECP на нижнем уровне никто не любит, а жаль :dntknw: