IEEE 1284

[섬네일|IEEE 1284 36핀 수형 [마이크로 리본 프린터 케이블 연결. 컴퓨터 쪽은 이 커넥터 대신 일반적으로 DB-25 포트를 사용한다.]]

**IEEE 1284**는 **센트로닉스 포트**(Centronics port)로도 알려져 있으며, 컴퓨터와 다른 장치 간의 양방향 병렬 통신을 정의하는 표준이다. 이 표준은 원래 1970년대에 센트로닉스에 의해 개발되었으며, 이후 IEEE에 의해 표준화되었다.

## 역사
섬네일|회로 기판에 있는 IEEE 1284 36핀 암형 커넥터

1970년대에 센트로닉스는 오늘날 익숙한 프린터 병렬 포트를 개발했으며, 이는 곧 사실상 표준이 되었다. 센트로닉스는 저비용의 성공적인 7선 프린트 헤드를 선보였는데, 이 헤드는 일련의 솔레노이드를 사용하여 개별 금속 핀을 당겨 리본과 용지를 때리는 방식이었다.

도트 매트릭스 프린트 헤드는 수직으로 배열된 일련의 금속 핀으로 구성된다. 각 핀은 어떤 종류의 액추에이터(센트로닉스의 경우 솔레노이드)에 부착되어 있으며, 이 액추에이터는 핀을 앞으로 당겨 리본과 용지를 때릴 수 있다. 전체 프린트 헤드는 텍스트 한 줄을 인쇄하기 위해 수평으로 이동하며, 각 문자를 위해 매트릭스를 생성하기 위해 용지를 여러 번 때린다. 초기 프린터의 문자 세트는 일반적으로 7x5 "픽셀"을 사용하여 80열 텍스트를 생성했다.

점을 열의 순서로 문자를 인쇄하는 복잡성은 프린터 전자 장치에 의해 관리되며, 이 장치는 컴퓨터로부터 문자 인코딩을 한 번에 하나씩 받는데, 비트는 직렬 또는 병렬로 전송된다. 프린터가 정교해지고 메모리 비용이 하락함에 따라, 프린터는 점차 더 많은 버퍼 메모리를 추가하기 시작했는데, 처음에는 한두 줄이었지만 나중에는 전체 페이지, 그리고 문서 전체를 저장할 수 있게 되었다.

원래 포트 설계는 호스트 컴퓨터에서 프린터로 데이터를 보내는 단방향 전송만 허용했다. 포트의 별도 핀을 통해 상태 정보를 컴퓨터로 다시 보낼 수 있었다. 이는 프린터가 "더 똑똑해지고" 더 풍부한 상태 코드가 요구되면서 심각한 한계가 되었다. 이로 인해 HP가 1992년에 출시한 "바이-트로닉스(Bitronics)" 구현을 통해 시스템의 초기 확장이 이루어졌다. 이는 원래 포트의 상태 핀을 사용하여 호스트로 임의의 데이터를 다시 보내기 위한 4비트 병렬 포트를 형성했다.

"양방향(Bi-Directional)"이라는 추가 수정은 상태 핀을 사용하여 8비트 주 데이터 버스에서 데이터 흐름의 방향을 나타냈다. 즉, 핀 중 하나에서 호스트로 보낼 데이터가 있음을 표시함으로써 8개의 데이터 핀 모두를 사용할 수 있게 되었다. 이것은 적응력이 뛰어났으며, "향상된 병렬 포트(Enhanced Parallel Port)" 표준으로 이어졌는데, 이는 양방향 모드와 유사하게 작동했지만 신호 속도를 2 MB/s로 크게 높였고, 나중에 "확장 기능 포트(Extended Capability Port)" 버전은 이를 2.5 MB/s로 증가시켰다.

1991년 네트워크 프린팅 얼라이언스가 새로운 표준을 개발하기 위해 결성되었다. 1994년 3월, IEEE 1284 사양이 발표되었다. 1284는 이 모든 모드를 포함하며, 그 중 어떤 모드에서도 작동할 수 있도록 했다.

## 특징
[섬네일|오른쪽|[D-sub|DB-25 및 36핀 센트로닉스 커넥터가 모두 있는 IEEE 1284 호환 프린터 케이블]]

IEEE 1284 표준은 이론상 최대 4 MB/s의 처리량으로 더 빠른 처리량과 양방향 데이터 흐름을 허용한다. 실제 처리량은 하드웨어에 따라 약 2 MB/s이다. 프린터 분야에서는 이를 통해 더 빠른 인쇄와 백채널 상태 및 관리가 가능해진다. 새로운 표준은 주변 장치가 호스트로 많은 양의 데이터를 다시 보낼 수 있도록 허용했기 때문에, 이전에 SCSI 인터페이스를 사용했던 장치들도 훨씬 낮은 비용으로 생산될 수 있었다. 여기에는 스캐너, 테이프 드라이브, 하드 디스크, 병렬 인터페이스를 통해 직접 연결된 컴퓨터 네트워크, 네트워크 어댑터 및 기타 장치들이 포함되었다. 더 이상 소비자는 값비싼 SCSI 카드를 구매할 필요 없이 내장된 병렬 인터페이스를 사용할 수 있게 되었다.

병렬 인터페이스는 이후 대부분 근거리 통신망 인터페이스와 USB 2.0으로 대체되었다.

## 모드
IEEE 1284는 다음 다섯 가지 모드로 작동할 수 있다.

* **호환 모드(Compatibility Mode)**는 센트로닉스 표준 또는 표준 병렬 포트(SPP)로도 알려져 있으며, 원래 센트로닉스 설계와 몇 가지 차이점만 있는 단방향 구현이다. 이 모드는 거의 전적으로 프린터에 사용된다. 프린터가 호스트로 다시 보낼 수 있는 유일한 신호는 프린터 용지 부족과 같은 일반적인 오류 조건을 알리는 고정된 의미의 상태 라인뿐이다.
* **니블 모드(Nibble Mode)**는 장치가 한 번에 4비트(니블) 데이터를 전송할 수 있도록 하는 인터페이스로, 데이터 전송을 위해 호환 모드의 4개 상태 라인을 재사용한다. 이는 HP가 도입한 바이-트로닉스(Bi-tronics) 모드이며 일반적으로 향상된 프린터 상태를 위해 사용된다. 공식적으로 지원되지는 않았지만, 니블 모드는 대부분의 IEEE-1284 이전 센트로닉스 인터페이스에서도 작동한다.
* **바이트 모드(Byte Mode)**는 "양방향(Bi-Directional)"으로도 알려져 있는데 (호환 모드를 제외한 모든 모드는 사실상 양방향이다), 다른 방향으로 사용되는 동일한 데이터 라인을 사용하여 장치가 한 번에 8비트를 전송할 수 있도록 하는 하프 듀플렉스 모드이다. 이 모드는 IBM PS/2 컴퓨터에 내장된 것과 같은 IEEE-1284 이전 인터페이스 중 일부에서도 지원된다. 이 때문에 비공식적으로 PS/2 모드라고도 불린다.
* **향상된 병렬 포트(Enhanced Parallel Port, EPP)**는 프린터, 스캐너, 저장 장치와 같은 장치가 채널 방향을 빠르게 전환하면서 많은 양의 데이터를 전송할 수 있도록 설계된 하프 듀플렉스 양방향 인터페이스이다. EPP는 최대 2 MB/s의 대역폭을 제공하며, 이는 일반 병렬 포트 통신 속도보다 약 15배 빠르고 CPU 오버헤드가 훨씬 적다.
* **확장 기능 포트(Extended Capability Port, ECP)**는 EPP와 유사한 하프 듀플렉스 양방향 인터페이스이다. 다만 PC 구현에서는 직접 메모리 접근(일반적으로 ISA DMA 채널 3)을 사용하여 EPP보다 훨씬 빠른 데이터 전송을 제공한다. 이는 CPU가 데이터를 전송하는 대신 ISA DMA 하드웨어와 병렬 포트 인터페이스 하드웨어가 이 작업을 처리하도록 하기 때문이다. 이 모드를 통해 인터페이스하는 많은 장치는 RLE 압축을 지원한다. ECP는 최대 2.5 MB/s의 대역폭을 제공할 수 있으며, 이는 8비트 ISA DMA의 자연적인 한계이다. PC의 ECP 인터페이스는 전송 중 CPU 부하를 줄여 IEEE-1284 이전 프린터로의 전송도 향상시킬 수 있다. 그러나 이 경우 전송은 단방향이다.

병렬 포트를 포함하는 대부분의 최신 컴퓨터는 ECP 또는 EPP 모드, 또는 둘 모두 동시에 포트를 작동시킬 수 있다.

IEEE-1284는 양방향 장치 통신이 항상 니블 모드에서 시작되어야 한다고 요구한다. 호스트가 이 모드에서 응답을 받지 못하면, 장치가 레거시 프린터라고 가정하고 호환 모드로 진입한다. 그렇지 않으면, 연결 양쪽에서 지원되는 최상의 모드가 표준화된 니블 모드 메시지 교환을 통해 호스트와 클라이언트 장치 간에 협상된다.

## 커넥터 및 케이블
섬네일|미니-센트로닉스 36핀 수형 커넥터(위)와 마이크로 리본 36핀 수형 센트로닉스 커넥터(아래)
섬네일|미니-센트로닉스 36핀 수형 커넥터(오른쪽)와 마이크로 리본 36핀 수형 센트로닉스 커넥터(왼쪽).

IEEE 호환 케이블은 여러 가지 배선 및 품질 표준을 충족해야 한다. 세 가지 유형의 커넥터가 정의되어 있다.

* **타입 A:** DB-25 25핀, 호스트 연결용.
* **타입 B:** 센트로닉스 (공식적으로 "마이크로 리본"으로 불림) 36핀, 프린터 또는 장치 연결용.
* **타입 C:** 미니-센트로닉스(MDR36 또는 HPCN36) 36핀, 하프 피치, 장치 연결을 위한 더 작은 대안이지만 널리 사용되지는 않았다.

IEEE 1284 케이블에는 두 가지 종류가 있다.

* **IEEE 1284-I:** IEEE 1284-A 및 IEEE 1284-B 커넥터를 사용한다.
* **IEEE 1284-II:** IEEE 1284-C 커넥터를 사용한다.

IEEE 1284 데이지 체인 사양에서는 최대 8개의 장치를 단일 병렬 포트에 연결할 수 있다.

모든 모드는 TTL 전압 논리 레벨을 사용하며, 이로 인해 값비싼 특수 케이블을 사용하지 않는 한 가능한 케이블 길이는 몇 미터로 제한된다.

## 표준
* IEEE 1284-2000: 개인용 컴퓨터를 위한 양방향 병렬 주변 인터페이스의 표준 신호 방식
* IEEE 1284.1-1997: 전송 독립적인 프린터/시스템 인터페이스 – 프린터 구성 및 상태를 반환하기 위한 프로토콜
* IEEE 1284.2: IEEE 1284에 대한 테스트, 측정 및 적합성 표준 (승인되지 않음)
* IEEE 1284.3-2000: IEEE 1284 호환 주변 장치 및 호스트 어댑터에 대한 인터페이스 및 프로토콜 확장 – 여러 주변 장치(데이지 체인)에 의한 병렬 포트 공유를 허용하는 프로토콜
* IEEE 1284.4-2000: IEEE 1284 인터페이스를 위한 데이터 전송 및 논리 채널 – 장치가 여러 개의 동시 데이터 교환을 수행할 수 있도록 허용

## 일반적인 색상 코드
다음은 25핀 IEEE 1284 케이블 리드에서 발견되는 일반적인 색상이다.

## 같이 보기
* 
* 
* 
* 

## 각주

## 외부 링크
* 워프 나인 엔지니어링의 IEEE 1284-1994 표준 소개
* 향상된 병렬 포트 인터페이스
* Undocumented Printing Wiki – IEEE 1284 표준
* IEEE 1284 – PC 병렬 포트 업데이트
* IEEE 1284 요약
* IEEE 1284 포트 핀배열
* IEEE 1284 프로토콜 신호 다이어그램
* 병렬 포트 – LPT (IEEE 1284)
* 명령어 패킷 프로토콜(CPP)을 사용한 1284.3 데이지 체이닝을 위한 리눅스 C 코드
* INT 17H – EPP BIOS – 설치 확인
* 벡터 EPP 서비스를 호출하기 위한 EPP BIOS 진입점 사용

분류:IEEE 표준
분류:컴퓨터 버스
분류:레거시 하드웨어