Розглянемо основні (найбільш поширені) режими роботи lpt-порта.
- Compatibility Mode - однонаправлений (вивід) за протоколом Centronics. Цей режим відповідає стандартному (традиційному) порту SPP.
- Nibble Mode - ввід байта у два цикли (по 4 біта), використовуючи для прийому лінії стану.
- Byte Mode – ввід цілого байта, використовуючи для прийому лінії даних.
- ЕРР (Enhanced Parallel Port) Mode – двонаправлений обмін даними, при якому керуючі сигнали інтерфейсу генеруються апаратно під час циклу звернення до порта (читання або запису в порт).
- ECP (Extended Capability Port) Mode - двонаправлений обмін даними з можливістю апаратного стискання даних за методом RLE (Run Length En-coding) та використання FIFO-буферів та DMA. Керуючі сигнали інтерфейсу генеруються апаратно.
Розглянемо вимоги, що висуваються до прийому та передачі даних через lpt-порт:
- двонаправлений обмін даними;
- найбільша поширеність та апаратна реалізація у сучасних ПК функцій, що застосовуватимуться під час прийому та передачі;
- керуючі сигнали мають генеруватися як програмно, так й апаратно.
- цикли читання й запису можуть чергуватися в довільному порядку або йти блоками.
Для задоволення всих цих вимог стандартні режими обміну є неприйнятними, тому запропонуємо власний режим (протокол) обміну.