LTP 커넥터. lpt 프린터 포트의 기능 및 작동 원리

컴퓨터에서 가장 오래된 포트 중 하나는 LPT 포트 또는 병렬 포트입니다. LPT 포트는 이제 모든 곳에서 멀리 볼 수 있지만 마더보드그러나 독자들은 그가 무엇인지 알고 싶어할 것입니다.

먼저 포트 이름을 알아봅시다. 아마도 모든 사람이 약어 LPT가 무엇을 의미하는지 알지 못할 것입니다. 사실 LPT는 Line Print Terminal의 약자입니다. 따라서 LPT 포트가 주로 프린터를 연결하기 위한 것임을 알 수 있습니다. 이것이 LPT 포트에 다른 이름인 프린터 포트가 있는 이유입니다. 이론적으로 다른 장치도 LPT에 연결할 수 있습니다.

LPT 포트는 오랜 역사를 가지고 있습니다. 1970년대 초 PC 시대 이전에도 도트 매트릭스 프린터를 생산했던 Centronics(이 포트를 종종 Centronics 포트라고 함)에서 개발했습니다. 그리고 1980년대 초에 LPT 포트는 IBM이 자사 컴퓨터에서 사용하기 시작했고 한동안 고속(당시) 장치를 연결하기 위한 표준 포트가 되었습니다.

컴퓨터 뒷면의 병렬 포트 모양

LPT 인터페이스는 여러 버전에 존재했습니다. 원래 버전에서 LPT 포트는 단방향이었습니다. 즉, 주변 장치에 한 방향으로만 데이터를 전송할 수 있었습니다. 물론 양방향 데이터 전송이 필요한 프린터가 있었기 때문에 이러한 상황은 사용자에게 적합하지 않았습니다. 따라서 LPT 인터페이스는 국제 표준 IEEE 1284가 개발될 때까지 여러 차례 개선되었으며 이 표준에 따라 병렬 포트 인터페이스는 여러 가지 작동 모드를 지원하고 이전 표준과도 호환됩니다. 또한 인터페이스의 최종 버전은 최대 5Mb/s의 비교적 높은 데이터 전송 속도를 지원했습니다.

병렬 포트 작동 방식

LPT 포트에 연결된 케이블에서 데이터가 병렬로, 즉 여러 도체를 통해 동시에 전송되기 때문에 LPT 포트를 병렬이라고 합니다. 이 속성은 병렬 포트가 컴퓨터의 다른 포트와 다릅니다. 직렬 포트 COM.

Centronics 케이블에는 데이터를 전송하는 8개의 도체가 있으며 케이블에는 제어 신호가 전송되는 여러 라인이 있습니다.

병렬 포트는 주로 프린터 연결에 사용되지만 다른 용도도 있었습니다. 첫째, LPT 포트를 사용하여 특수 Interlink 케이블을 사용하여 두 대의 컴퓨터를 직접 연결할 수 있습니다. 널리 사용되기 전에 네트워크 카드이더넷과 같은 연결은 사용자에게 높은 데이터 전송 속도를 제공하지는 않았지만 두 대의 컴퓨터를 연결하는 유일한 방법인 경우가 많았습니다. LPT 포트에 연결하도록 설계된 전자 키도 있습니다.

컴퓨터간 데이터 케이블 - Interlink

마더보드의 다른 많은 장치와 마찬가지로 병렬 포트의 작동 모드는 종종 다음을 통해 구성할 수 있습니다. BIOS 설정... 일반적으로 병렬 포트, 병렬 포트 IRQ, 병렬 포트 DMA 등과 같은 BIOS 옵션이 사용됩니다.

마더보드 및 Centronics 케이블의 병렬 커넥터

LPT 포트 커넥터는 1990년대 중반까지는 일반적으로 마더보드에 직접 위치합니다. 일반적으로 컴퓨터의 다른 포트도 있는 확장 슬롯에 삽입된 소위 멀티 카드에 있었습니다. 포트 출력은 DB25 커넥터라고 하는 25핀 암 커넥터입니다.

LPT(DB25 - "mother") 및 게임 포트가 탑재된 ISA 멀티카드.

프린터에 연결하는 데 특수 케이블인 Centronics 케이블이 사용됩니다. Centronics 케이블의 한쪽 끝(플러그)은 포트에 연결되고 다른 쪽 끝(플러그)은 프린터의 특수 커넥터에 연결됩니다. 마지막 커넥터에는 36개의 핀이 있습니다. 따라서 Centronics 케이블의 특징은 양쪽에 다른 커넥터가 있다는 것입니다.

Centronics 케이블의 외부.

마더보드 케이블 커넥터를 종종 Centronics 커넥터라고도 하지만 엄밀히 말하면 Centronics 커넥터는 마더보드가 아닌 프린터에 연결하기 위한 36핀 커넥터일 뿐입니다. 포트에 연결하기 위한 케이블의 커넥터는 커넥터를 생산하는 미국 회사 Amphenol의 이름을 따서 Amphenolstacker 커넥터라고 합니다.

병렬 포트의 특징

LPT 포트가 병렬 데이터 전송을 지원한다는 사실 때문에 최초의 PC에서 이 포트는 컴퓨터에서 가장 빠른 포트 중 하나로 간주되었습니다. 여러 방식으로 여러 라인을 통한 데이터 전송은 LPT 인터페이스를 아키텍처의 컴퓨터 버스에 더 가깝게 만듭니다. 그럼에도 불구하고, 이러한 상황은 또한 케이블에서 발생하는 간섭으로 인해 5m를 초과할 수 없는 케이블 길이에 대한 제한을 부과합니다.

포트의 신호 라인에 사용되는 최대 전압은 +5V입니다. 간단한 데이터 전송을 위해 10개의 신호 라인만 필요합니다. 이들은 8개의 데이터 라인, 스트로브 신호 라인, 즉 포트가 준비되었다는 신호입니다. 데이터 전송 및 통화 중 회선 ... 나머지 라인은 Centronics 표준과의 호환성을 위해 사용됩니다.

핀 번호가 있는 암 LPT 포트.

병렬 DB25 커넥터 핀아웃:

  • 1 - 데이터 스트로브
  • 2-9 - 데이터, 비트 0-7
  • 10 - 승인
  • 11 - 바쁜
  • 12 - 용지 없음
  • 13 - 선택(프린터 활성화)
  • 14 - 자동 급지
  • 15 - 오류
  • 16 - 초기화
  • 17 - 입력 선택
  • 18-25 - 지구

결론

LPT 포트는 현재 사용되지 않는 것으로 간주되고 컴퓨터 하드웨어 제조업체의 상당한 지원이 부족한 개인용 컴퓨터 인터페이스입니다. 소프트웨어... 그러나 병렬 포트는 여전히 많은 레거시 컴퓨터 및 프린터에서 성공적으로 사용됩니다.

그를 알아가는 것이 좋습니다. 그곳에서 많은 새로운 친구들을 찾을 수 있을 것입니다. 게다가 가장 빠르고 효율적인 방법프로젝트 관리자에게 문의하십시오. 바이러스 백신 업데이트 섹션은 계속 작동합니다. Dr Web 및 NOD에 대한 무료 업데이트는 항상 최신 상태입니다. 읽을 시간이 없었습니까? 크리핑 라인의 전체 내용은 이 링크에서 찾을 수 있습니다.

Win NT / 2000 / XP에서 LPT 포트로 작업하기

LPT 포트 (이네 NSNS er)는 원래 프린터를 연결하기 위해 생성된 병렬 인터페이스 포트입니다. BIOS는 Centronics 인터페이스를 통해 출력을 제공하는 데 필요한 LPT 포트 지원을 제공합니다. 포트 주소 공간은 & H378- & H37F 범위를 차지합니다.

LPT 포트에는 12개의 출력과 5개의 입력 라인이 있습니다. 이렇게 상당히 많은 수의 라인이 가능한 연결자체 마이크로 컨트롤러가 없을 수도 있는 간단한 장비의 포트에 연결합니다. 따라서이 포트는 LPT 인터페이스가있는 프린터가 사라지고 있음에도 불구하고 메모리 칩의 간단한 프로그래머, 위성 수신기의 플래싱 (소프트웨어 교체)을위한 JTAG 인터페이스, DVD 플레이어 및 기타 전자 장비를 연결하는 데 적극적으로 사용됩니다. LPT 포트는 복잡한 인터페이스 보드를 만들지 않고도 LCD 디스플레이를 컴퓨터에 연결할 수 있기 때문에 모더들 사이에서도 인기가 있습니다.

Windows 2000/XP는 응용 프로그램이 I/O 포트에 직접 액세스하는 것을 허용하지 않습니다. 이렇게 하려면 KERNEL 모드(운영 체제 커널 모드)에서 작동하는 드라이버를 사용해야 합니다.

일반 응용 프로그램(사용자 모드에서 실행)에 대해 I/O 포트에 대한 액세스를 제한하면 운영 체제가 더 안정적입니다. 반면에 프로그래머가 포트 주소를 지정하는 드라이버를 작성하는 것을 막는 사람은 아무도 없습니다.

무엇을 위해 인텔 프로세서 x86에서는 근본적으로 다른 두 가지 접근 방식 중 하나를 사용하여 드라이버를 작성할 수 있습니다. 첫 번째 옵션은 드라이버 자체가 포트에 액세스하고 응용 프로그램은 드라이버에게 수행할 작업만 알려주는 것입니다. 이 옵션은 일반적으로 표준이며 선호됩니다.

이 문제를 해결하기 위해 응용 프로그램이 I/O 포트에 액세스할 수 있도록 하는 네 가지 인기 있는 드라이버 옵션이 있습니다. DLPortIO, 운전사 사용자 포트, 운전사 기브IO.sis, 운전사 포트95nt.

네 가지 옵션 모두 거의 동일합니다.

DLPortIO 드라이버

DLportIO - 패키지의 포트 액세스 드라이버 드라이버LINX Scientific Software Tools, Inc. (http://www.sstnet.com) 약어 형식(설명 및 불필요한 문서 없음). LCD 유지 관리 프로그램의 정상적인 작동을 위해 정확히 권장할 수 있습니다. 이 드라이버 변형.

드라이버 자체는 두 가지 구성 요소로 구성됩니다.
... DLPortIO.dll - 하드웨어 I/O 기능을 제공하는 Win32 DLL 및
... DLPortIO.sys - OS 커널 모드에서 작동하는 WinNT용 드라이버(Win95/98에는 필요하지 않음)

드라이버 설치 패키지에는 이 두 구성 요소 외에도 위의 두 구성 요소를 폴더로 이동하는 Install.exe 파일도 있습니다. Windows 드라이버시스템에 등록합니다.

이 드라이버에 대해 더 이상 쓸 것이 없습니다. 구성이 필요하지 않습니다. 다운로드, 설치, 사용합니다. 기사의 끝 부분을 보고 LPT 포트 성능 보증을 읽는 것을 잊지 마십시오.

설치는 기본입니다. Install.exe 파일을 실행하여 설치합니다. 설치가 끝나면 C:\Windows\System32\drivers 폴더를 찾아 두 개의 드라이버 파일(DLPortIO.sys 및 DLPortIO.dll)이 있는지 확인합니다. 이러한 파일이 복사되지 않은 것으로 확인되면 설치 패키지에서 파일을 가져와 수동으로 복사합니다. 걱정하지 마십시오. 컴퓨터에 나쁜 일이 발생하지 않습니다. 컴퓨터를 재부팅하고 LPT 포트로 작업합니다.

갑자기 장비를 조작한 결과 "dlportio.sys 장치 드라이버가 로드되지 않았습니다. 포트 I/O가 효과가 없습니다"라는 계획의 드라이버로부터 메시지가 표시되면 당황하지 마십시오. 이 문제는 다음과 같이 수정됩니다.
... regedit를 실행합니다.
... 우리는 지점의 레지스트리로 이동합니다. HKEY_LOCAL_MACHINE \ 시스템 \ CurrentControlSet \ 서비스 \.
... dlportio 폴더의 매개변수 값 변경 시작~에 1 .
... 컴퓨터를 재부팅합니다.

사용자 포트 드라이버

운전사 사용자 포트프로그램용 Win NT/2000/XP의 포트에 대한 액세스를 엽니다. 이 버전의 LPT 포트 드라이버는 드라이버에 최소한 일부 구성 설정이 있기 때문에 프로그래머 및 JTAG와 함께 작업하는 "기술자"가 가장 자주 사용합니다.

드라이버 아카이브에는 세 개의 파일이 있습니다.
... UserPort.sys - OS 커널 모드에서 작동하는 WinNT용 드라이버,
... UserPort.exe는 드라이버 및
... UserPort.pdf - 설명 파일.

사용자 포트 설치:
... 1. 아카이브를 별도의 폴더에 압축을 풉니다.
... 2. UserPort.sys 파일을 C:\Windows\System32\drivers에 복사합니다.

사용자 포트 설정:
... UserPort.exe를 실행합니다.
... 2개의 창이 있는 패널이 우리 앞에 나타납니다.

왼쪽 창은 DOS 창에서 프로그램의 작업을 나타내고 오른쪽 창은 전체 화면... 기본적으로 LPT 포트 번호가 포함되어 있습니다. "제거" 버튼을 사용하여 모두 제거할 수 있습니다. 두 창 모두에서 사용하려는 필수 포트 번호를 입력해야 합니다.

대부분의 프로그래머, JTAG 및 디스플레이 유지 관리 프로그램과 함께 드라이버를 사용하려면 왼쪽 열에 다음 매개변수를 추가하십시오.
378 , 379 그리고 37A~을위한 LPT1
278 , 279 그리고 27A~을위한 LPT2(LPT 포트 주소가 BIOS에서 재할당되지 않은 경우).

숫자가 의미하는 바를 설명하겠습니다. 0x378포트 주소입니다.
... 주소 0x378~라고 불리는 기초적인쓰기와 읽기에 사용됩니다. 데이터데이터 버스를 통해 포트로 및 포트에서 D0-D7.
... 주소 0x379 (기본 + 1)를 위해 생성 비트 읽기 LPT 포트에 연결된 장치의 상태.
... 주소 0x37A (기본 + 2)~을 위해 봉사하다 비트 레코드 LPT 포트에 연결된 장치의 제어.

다음과 같이 추가하십시오.
0x378-0x378
0x37A-0x37A



입력 창과 "추가" 버튼을 사용하여 목록에 포트 주소를 추가해야 합니다. 주소 0x379대부분 필요하지 않으며 입력하지 않을 수 있습니다. 비트 읽기 LPT 포트에 연결된 장치의 상태 신호와 대부분의 장치(프로그래머, JTAG "및 더 많은 LCD 표시기)는 상태 신호를 생성하지 않습니다. 0x378-0x37F.

이동 제어판, 시스템, 장비 탭을 선택하고, 기기 관리자, 포트(COM 및 LPT)로 이동하여 연결을 설정하려는 LPT 포트의 속성을 확인합니다. 속성에서 리소스 탭을 열고 매개변수 값을 확인합니다. 입출력 범위(I/O)... (보통 Windows XP에서는 378 - 37F)

주소 목록이 형성된 후 "시작" 버튼을 눌러야 합니다. 그러면 드라이버가 시작되고 메시지가 나타납니다.



그런 다음 "업데이트" 버튼을 누르면 드라이버가 시스템에 등록되고 "종료"됩니다. 물론 드라이버를 사용하는 동안에는 "중지" 버튼을 누를 필요가 없습니다.

"업데이트" 버튼을 클릭했을 때 시스템이 재부팅되면 관리자 권한으로 시스템에서 드라이버 등록을 시작하거나 간섭을 차단할 수 있는 방화벽 또는 바이러스 백신을 일시적으로 비활성화해야 합니다. 시스템 프로세스... 작동하지 않는 경우 UserPort.pdf를 읽으십시오.

포트에 대한 액세스가 나타나는지 확인하려면 프로그램을 실행할 수 있습니다 "lpt-test.exe".

프로그램이 시작되면 다음 내용이 포함된 창이 나타납니다.



"LPT 포트가 테스트 중입니다(주소 XXXh)"라는 메시지가 없고 다음 줄은 드라이버가 작동하지 않음을 나타냅니다.

이 프로그램은 단순히 LPT 포트의 Dx 데이터 레지스터와 Ux 제어 레지스터로 보냅니다. 다른 숫자, 그런 다음 읽습니다. LPT 포트 Sx 상태 레지스터는 읽기 전용입니다. 화면에 테스트된 LPT 포트의 번호와 주소가 표시됩니다. 포트가 정상이면 Dx 및 Ux 레지스터에 대해 메시지가 발행되어서는 안 됩니다.



LPT-TEST v1.03 1995-2003 Copyright (C) S.B. Alemanov. 모스크바 "BINAR".
테스트 중에는 포트에 주변 장치를 연결해서는 안 됩니다.
Dx - 등록. 데이터(출력), Ux - reg. 제어(출력), Sx - reg. 상태(inp).

포트 LPT1이 테스트 중입니다(주소 378h).
두 번째 접점(D0) - "1" 없음
세 번째 접점(D1) - "1" 없음
4번째 핀(D2) - "1" 없음
5번째 핀(D3) - "1" 없음
6번째 핀(D4) - "1" 없음
7번째 접점(D5) - "1" 없음
8번째 핀(D6) - "1" 없음
9번째 핀(D7) - "1" 없음
첫 번째 연락처(U0) - "1" 없음
14번째 핀(U1) - "1" 없음
17번째 핀(U3) - "1" 없음
첫 번째 접점(U0) - "0" 없음
14번째 접점(U1) - "0" 없음
17번째 접점(U3) - "0" 없음
15번째 접점(S3) - "0" 없음


Dx 또는 Ux 레지스터에 결함이 있는 경우 "no 0" 또는 "no 1" 메시지가 표시되고 LPT 커넥터의 접점 번호가 표시됩니다(이 접점의 신호는 오실로스코프로 볼 수 있음). 상태 레지스터 입력 Sx는 "0" 또는 "1"이 될 수 있지만 일반적으로 LPT 포트에 아무 것도 연결되지 않은 경우 상태 레지스터의 모든 입력은 "1"을 갖습니다. 입력에서 "0" 상태 레지스터가 나타나는 것은 이전에 항상 "1"이 있었다면 입력이 중단되었다는 신호일 수 있습니다.
일부 기계에서는 데이터 레지스터 또는 제어 레지스터에 결함이 있으면 LPT 포트에 대한 액세스가 전혀 나타나지 않습니다. 분명히 컴퓨터가 켜지면 BIOS가 LPT 포트를 테스트하고 결함이 있으면 비활성화합니다.

문제가 발생하면 일부 드라이버가 작업을 방해하여 주기적으로 LPT 포트에 펄스를 보낼 수 있습니다(오실로스코프에서 볼 수 있음). 예를 들어 프린터 설정에서 LPT 포트 연결을 끊을 수 있습니다.
LPT1 비활성화: 프린터 포트
파일 활성화: 파일로 인쇄

모든 문제가 제거되고 테스트가 통과되면 포트에 액세스할 수 있어야 하며 LPT 포트를 사용하여 프로그램을 실행할 수 있습니다. 그렇지 않으면 해당 컴퓨터의 포트에 연결된 장치가 작동하지 않습니다.

GiveIO.sys 드라이버

1996년에 미국 프로그래머 Dale Roberts는 일련의 실험을 수행하여 드라이버가 기브IO.sys... 지금까지 이 드라이버는 응용 프로그램이 I/O 포트에 액세스할 수 있도록 하는 인기 있는 도구 중 하나로 남아 있습니다.

드라이버 작성자는 이 드라이버를 디버깅 목적으로만 사용할 것을 강력히 권장합니다. 응용 프로그램의 최종 버전은 I/O 포트에 독립적으로 액세스하는 대신 이 목적을 위해 특별히 작성된 드라이버에 이 문제를 위임해야 합니다. 드라이버는 장치가 다른 응용 프로그램에서 이미 사용 중인지 확인하여 "올바르게" 작동해야 합니다.

그러나 다른 사람이 필요한 I/O 포트를 사용하고 있지 않다고 절대적으로 확신하는 경우(예: LPT에 연결된 프린터가 없는 경우) GiveIO.sys 드라이버를 안전하게 사용할 수 있습니다.

드라이버 설치:

1. 아카이브를 다운로드하고 GiveIO.sys 파일의 압축을 풀고 C: \ Windows \ System32 \ Drivers 디렉토리에 복사합니다(Windows가 C: \ Windows 디렉토리에 설치되어 있다고 가정).
... 2. install.reg 파일을 실행합니다. 화면에 다음 메시지가 나타납니다.


... 3. 우리는 긍정적으로 대답합니다. 이 경우 정보가 레지스트리에 성공적으로 입력되었다는 메시지가 나타납니다. 원한다면 이것을 확신할 수 있습니다. 레지스트리 편집기 regedit.exe를 실행하고 분기에서 HKEY_LOCAL_MACHINE \ 시스템 \ CurrentControlSet \ 서비스 \ 제공다음 항목이 있는지 확인하십시오.


... 4. 컴퓨터를 재부팅하고 드라이버를 사용하여 프로그램의 작동을 확인합니다.

운전사 기브IO.sys사람들이 적극적으로 사용하고 있으며 시간이 지남에 따라 설치를 위한 다른 옵션.

예를 들어 - 드라이버 기브IO.sys"하드웨어 정보"가 포함된 파일이 있는 경우 기브IO.inf하드웨어 추가 애플릿을 통해 설치할 수 있습니다.




GiveIO 하드웨어의 존재를 믿도록 운영 체제에 GiveIO.sys 드라이버를 보여줍니다.

이 드라이버 설치 옵션에 대한 파일 세트 다운로드 기브IO.sys(giveio_sys_v2.rar - 78kb). 아카이브에는 GiveIO.sys 및 GiveIO.inf 파일과 자세한 지침그림이 있는 설치 지침.

"수동" 드라이버 설치 옵션 외에도 자동 모드에서 설치를 수행하는 설치 프로그램에 대한 몇 가지 옵션이 있습니다.

파일 세트 다운로드 자동 설치운전사 기브IO.sys(giveio_sys_install.rar - 28kb). 아카이브에는 드라이버가 포함된 GiveIO.sys 및 instdrv.exe 파일과 remove-giveio.cmd 파일이 포함되어 있습니다. 기브IO.sys시스템에서 제거할 수 있습니다.

Port95nt 드라이버

용어 " 운전사 Port95nt "여기서 완전히 정확하지는 않습니다. 사실, 이것은 동일한 드라이버입니다 DLPortIO패키지에서 드라이버LINX~에서 과학 소프트웨어 도구, Inc, 프로그래머를 위한 설명과 많은 예제와 함께 몇 가지 포트 제어 유틸리티와 함께 ​​정식 버전에서만 제공됩니다. 일반 사용자의 경우 추가 구성 요소의 이점이 없으며 DLPortIO.sys 및 DLPortIO.dll 드라이버의 구성 요소는 축소 버전과 완전히 동일합니다.

두 가지 이유로 Port95nt를 드라이버로 언급했습니다. 첫 번째는 인터넷에서 찾을 수 있는 LPT 포트 드라이버에 대한 참조 목록의 완전성을 위한 것입니다.

두 번째 이유는 경우에 따라 WinXP에서 축소된 버전의 DLPortIO를 설치하는 데 문제가 있을 수 있기 때문입니다. 일반적으로 드물게 이러한 현상이 제거된 "저자" WinXP 빌드에서 발생합니다. 이 경우 취할 수 있습니다 풀 버전설치 프로그램(1.5MB). 제 생각에는 DLPortIO.sys 및 DLPortIO.dll을 필요한 폴더에 수동으로 넣는 것이 설치 프로그램을 선택하는 것보다 더 빠를 것입니다.

추가 조치

위의 드라이버 중 하나를 설치하는 것 외에도 WinXP OS에서 LPT 포트가 정상적으로 작동하려면 REG 파일을 사용하여 레지스트리를 편집해야 합니다. xp_stop_polling.reg(xp_stop_polling.rar - 0,48kb)

때때로 LPT 포트를 사용하는 장치가 WinXP에서 불안정하게 작동합니다. 이러한 오류는 연결된 장치를 감지하기 위해 주기적으로 LPT를 폴링하는 Windows의 PnP(플러그 앤 플레이) 하위 시스템으로 인해 발생할 수 있습니다. 이러한 폴링은 시스템이 부팅될 때 수행되지만 작동 중에도 발생할 수 있습니다. 불행히도 DLportIO.sys 드라이버 및 기타 드라이버 옵션은 이 드라이버의 클라이언트 포트로 작업할 때 다른 프로그램에서 LPT에 대한 액세스를 차단하지 않으며 PnP 하위 시스템은 포트가 사용 중이 아님을 확인하고 해당 포트를 해결하고 작업을 중단합니다. 외부 장치... REG 파일은 문제를 해결하는 데 사용됩니다. xp_stop_polling.reg... 이 파일은 레지스트리에 등록되어 있습니다 윈도우 키, 시스템이 실행되는 동안 이러한 폴링을 금지합니다.

드라이버를 설치하고 프로그램용 포트에 대한 동시 접근을 제한하는 것 외에도 하드웨어 호환성 및 LPT 포트가 있는 장비의 정상 작동을 보장하기 위해 BIOS에서 설정해야 합니다. 정확한 주소 그리고 포트 작동 모드("일반", SPP 또는 EPP, 그러나 ECP는 아님).

다음 매개변수는 BIOS 설정을 통한 구성의 대상입니다.

기본 주소는 378h, 278h 및 3BCh가 될 수 있습니다. 초기화하는 동안 BIOS는 이 순서대로 주소별로 포트가 있는지 확인하고 이에 따라 감지된 포트에 논리적 이름 LPT1, LPT2, LPT3을 할당합니다. 3BCh 주소에는 MDA 또는 HGC 보드(최신 그래픽 카드의 이전 제품)에 있는 포트 어댑터가 있습니다. 대부분의 포트는 기본적으로 378h를 지정하도록 구성되어 있으며 278h로 전환할 수 있습니다.

LPT1에 대해 사용되는 인터럽트 요청 라인은 일반적으로 LPT2 - IRQ5에 대해 IRQ7입니다. 많은 "데스크톱" 응용 프로그램은 프린터 인터럽트를 사용하지 않으며 이 부족한 PC 리소스를 절약할 수 있습니다. 그러나 고속 모드 ECP(Fast Centronics)를 사용할 때 인터럽트에 대한 작업은 성능을 크게 향상시키고 프로세서 부하를 줄일 수 있습니다.

동시에 ECP 모드는 타이트한 타이밍이 필요한 장치(프로그래머 및 JTAG 인터페이스)와 함께 사용할 수 없습니다.

결론적으로 용어에 대해 조금:

. SPP(표준 병렬 포트). 종종 이해의 편의를 위해 BIOS에서 "용어"로 표시됩니다. 정상".
. EPP(Enhanced Parallel Port)는 인터페이스의 고속 양방향 버전입니다. 일부 신호의 목적을 변경하고 여러 논리 장치 및 8비트 데이터 입력, 16바이트 하드웨어 FIFO 버퍼를 처리하는 기능을 도입했습니다. 최대 환율은 최대 2Mb/s입니다.
. ECP(Enhanced Capability Port)는 지능형 EPP 옵션입니다. 전송된 정보를 명령과 데이터로 나눌 수 있는 가능성, DMA 지원 및 RLE 방법(Run-Length Encoding - 반복되는 시리즈의 코딩)을 사용하여 전송된 데이터 압축이 도입되었습니다.

LPT EEE 1284(Line Print Terminal)는 개인용 컴퓨터의 주변 장치를 연결하기 위한 국제 병렬 인터페이스 표준입니다. LPT라는 이름은 MS-DOS 운영 체제의 표준 프린터 장치 LPT1(라인 프린터 터미널 또는 라인 프린터)의 이름에서 파생되었습니다.

기준 IEEE 1284데이터 비트의 동시 전송 및 수신을 허용하는 양방향 포트 변형을 정의합니다.이 표준은 Centronics 인터페이스와 확장 버전(ECP, EPP)을 기반으로 합니다. IEEE 1284 표준 호환성을 확보하기 위한 오랜 투쟁의 결과였습니다.기준 LPT 포트의 모든 작동 모드에 대한 공식적인 설명이 포함됩니다. 이 표준을 채택하기 전에는 준수할 수 있는 공식 문서가 없었습니다. 올바른 작업가능한 모든 구성의 장치.

기본적으로 LPT 포트는 프린터, 스캐너 및 기타 외부 장치를 컴퓨터에 연결하는 데 사용됩니다. 또한 LPT 포트 외부 저장 장치를 연결하는 데 자주 사용됩니다.두 컴퓨터 간의 통신을 구성하고 원격 신호 및/또는 원격 제어 장치를 연결하는 데 사용할 수 있습니다.

현재 IEEE-1284 표준은 개발되지 않고 있습니다. 병렬 포트의 최종 표준화는 USB 인터페이스의 도입과 동시에 이루어졌으며, MFP를 연결할 수 있고 더 많은 기능을 제공합니다. 고속인쇄 및 프린터의 안정적인 작동. 또한 병렬 인터페이스의 대안은 이더넷 네트워크 인터페이스입니다.

연혁 / 연혁

처음에 LPT 포트는 마더보드에 물리적으로 없었고 마더보드의 ISA 확장 슬롯 중 하나에 삽입된 추가 확장 카드로 구현되었습니다. 병렬 포트는 일반적으로 많은 양의 데이터를 전송하는 데 시간이 중요하지 않은 프린터나 스캐너에 사용되었습니다. 나중에 병렬 포트에 대한 지원이 마더보드의 논리를 구현하는 칩셋에 통합되었습니다.

Centronics 병렬 포트는 1981년부터 사용된 포트입니다. 개인용 컴퓨터 Centronics Data Computer Corporation에서 개발한 프린터 연결용 IBM. 이 포트는 원래 Centronics 포트가 프린터용으로만 사용되도록 의도되었기 때문에 단방향(단방향) 통신 전용으로 설계되었습니다. 이후 여러 회사에서 이중 인터페이스 확장(바이트 모드, EPP, ECP)을 개발했습니다. 그런 다음 국제 표준 IEEE 1284가 채택되어 어떻게 기본 인터페이스 Centronics 및 모든 확장.

일반 정보

IBM 표준은 PC BIOS 및 모든 DOS 버전에서 제공되는 3개의 병렬 I/O 포트를 정의합니다. 컴퓨터의 주소 공간에서 다음 포트의 기본 주소가 예약되어 있습니다. 3BCh, 378시간, 278시간.

IBM 호환 컴퓨터에서 병렬 포트에는 시스템에서 지원하는 특수 논리 이름이 할당됩니다. LPT1, LPT2, LPT3... 이러한 논리적 이름은 지정된 I/O 포트 주소와 일치하지 않아도 됩니다. 부팅 시 시스템은 세 개의 기본 주소 각각에 대한 병렬 포트의 존재를 분석합니다. 포트 검색은 항상 다음 순서로 수행됩니다. 03BCh, 0378h, 0278h... 첫 번째로 발견된 병렬 포트에는 논리 이름 LPT1이 할당되고 두 번째는 LPT2, 세 번째에는 LPT3이 할당됩니다. 이 명명 체계를 구현한 결과, 컴퓨터에 물리적으로 이 병렬 포트가 있는 경우 할당된 I/O 포트 주소에 관계없이 시스템에는 항상 포트 LPT1이 있습니다.

약력

각 LPTx 슬롯에 할당된 포트 주소는 0000:0408의 BIOS 데이터 영역을 읽어서 확인할 수 있습니다.

온보드 병렬 포트 - 이 옵션은 병렬 LPT 포트에 대한 I/O 주소와 인터럽트 번호를 설정합니다. 이 옵션은 다음에 따라 다릅니다. BIOS 버전, 병렬(LPT) 포트에서 사용하는 주소와 인터럽트를 설정하거나 주소만 설정합니다(인터럽트는 옆에 있는 별도의 옵션에 의해 설정됨).

옵션 값:

378H / IRQ7 - 주소 378H 및 인터럽트 IRQ7;

278H / IRQ5 - 주소 278H 및 인터럽트 IRQ5;

3BCH/IRQ7 - 3BCH 주소 및 IRQ7 인터럽트;

자동 - I/O 주소 및 인터럽트 번호의 자동 감지;

비활성화됨 - LPT 포트를 비활성화합니다.

병렬 포트 모드- 이 옵션은 병렬 LPT 포트 동작 모드를 설정합니다.

샘플 Phoenix 설정 페이지 - Award Bios

옵션 값:

일반 또는 SPP - 가장 단순한 단방향 또는 표준(표준 병렬 포트)

양방향, 양방향 또는 BPP - 양방향;

EPP - 향상된 병렬 포트;

ECP - 향상된 기능 포트;

ECP + EPP - Enhanced Capabilities Port 및 Enhanced Parallel Port의 두 가지 모드 지원.

가장 좋은 선택은 "Enhanced Capabilities Port - ECP" 값을 선택하는 것입니다. 최대 속도컴퓨터와 주변 장치 간의 데이터 교환.

PC의 이 병렬 포트에 연결된 장비가 불안정한 경우 사용 모드를 표준 모드로 연속적으로 줄일 수 있습니다. 어떤 경우에는 양방향(Bi-Directional) 또는 결합(Enhanced Parallel Port 및 Enhanced Capabilities Port) 모드를 설정하는 것이 도움이 됩니다.

ECP DMA 선택- 병렬 포트가 ECP 기능이 강화된 고속 포트로 동작하는 경우 (Enhanced Capabilities Port) 또는 ECP + EPP(향상된 기능 포트 및 향상된 병렬 포트) , DMA(직접 메모리 액세스) 채널을 할당해야 합니다. 기본값은 채널 3입니다.

시스템 속성 - 하드웨어 - 장치 관리자 - 포트(Com & LPT) - LPT 포트 - 리소스

메모: V Windows 버전사용하지 않는 사람 윈도우 커널 NT(DOS 및 일부 다른 운영 체제와 같은)에서 프로그램은 outportb() 및 inportb() 루틴을 사용하여 병렬 포트에 액세스할 수 있습니다. 수술실에서 윈도우 시스템 NT 및 Unix(NetBSD, FreeBSD, Solaris, 386BSD)는 80386 프로세서에 내장된 보안 메커니즘을 사용하며 지정하지 않는 한 병렬 포트에 대한 액세스가 거부됩니다. 필요한 드라이버... 이 제한은 보안을 향상시키고 장치에 액세스할 때 충돌을 해결하는 데 도움이 됩니다.

포트 작동 모드

이 표준에서는 여러 모드에서 인터페이스를 사용할 수 있습니다.

  • SPP(표준 병렬 포트) - Centronics 인터페이스와 완벽하게 호환되는 단방향 포트.
  • 니블 모드- 주변 장치에서 컨트롤러로 데이터를 전송하기 위해 제어 라인(4비트)을 사용하여 SPP 모드에서 양방향 데이터 교환을 구성할 수 있습니다. 역사적으로 이것은 Centronics가 양방향 통신에 사용된 유일한 방법이었습니다.
  • 바이트 모드- 드물게 사용되는 양방향 데이터 교환 모드. IEEE 1284 표준을 채택하기 전에 일부 구형 컨트롤러에서 사용되었습니다.
  • EPP(Enhanced Parallel Port) - 개발사 인텔 회사, Xircom 및 Zenith Data Systems - 데이터 전송 속도가 최대 2MB/s인 양방향 포트(1991년)
  • ECP(Extended Capabilities Port) - Hewlett-Packard 및 Microsoft에서 개발한 - 또한 하드웨어 데이터 압축의 존재, 버퍼의 존재 및 DMA 모드에서 작동하는 기능과 같은 기능이 있습니다.

LPT DB25F 핀아웃

핀아웃 LPT Centronics(CN36)

Windows OS에서 LPT 포트 에뮬레이션(IEEE 1284)

#1: 개인용 컴퓨터용 PCI 호환 확장 카드 사용.

EPP LPT 포트가 있는 PCIe 확장 카드의 예

PCI(English Peripheral Component Interconnect) - 주변 장치를 컴퓨터 마더보드에 연결하기 위한 I/O 버스.

시스템 속성 - 하드웨어 - 장치 관리자 - 포트(Com & LPT) - PCI LPT 포트 - 리소스

메모:대부분의 경우 PCI 카드 LPT를 설치할 때 I/O 주소가 표준/기본 주소와 다르므로 거의 모든 프로그래머와 LPT 키가 작동하지 않거나 제대로 작동하지 않습니다.

실제 I/O 주소는 운영 체제에 따라 다르며 무작위로 선택됩니다. PCI 카드를 다른 PCI 슬롯으로 교체하지 않는 한 I/O 주소는 변경되지 않습니다.

1포트 및 2포트 PCI IEEE1284 카드는 시중에서 구입할 수 있습니다.

V 기술적 설명 LPT 인터페이스가 있는 PCI 확장 카드에는 I/O(입력/출력)에 대한 표준 주소 공간을 사용하는 기능이 표시되지만 I/O 리소스를 설정하는 기능은 사용되는 운영 체제 유형에 따라 결정됩니다.

MS Windows 95/98 / ME, DOS 운영 체제에서는 표준 ISA LPT 포트에 해당하는 매개변수를 설정할 수 있습니다. 씨비 보다 현대적인 운영 체제(예: Windows 2000/XP/Vista)에서는 사용자 또는 관리자 개입 없이 I/O 리소스 할당이 발생합니다.경우에 따라 컨트롤러가 일부 모드에서 작동하지 않을 수 있으며 하드웨어 구성 및 사용되는 운영 체제 유형에 따라 크게 다릅니다.

인터페이스 포트 LPT(다른 이름은 병렬 또는 프린터 포트임)는 개인용 컴퓨터에서 다양한 주변 장치를 연결하는 데 사용됩니다. 실제로는 프린터 서비스에 가장 자주 사용되었습니다. 인터페이스의 초점 영역은 영어 이름에 직접 반영됩니다. 약어 LPT는 Line Print Terminal에서 파생되었습니다.

USB 인터페이스가 등장한 후 빠르게 인기를 잃기 시작했으며 현재는 의도한 용도로 거의 사용되지 않습니다.

LPT 포트 버전

LPT 포트는 Centronics 인터페이스를 기반으로 하는 병렬 설계이며 물리적으로 25핀, 2열 DB25 암 커넥터로 구성됩니다. 케이블 부분은 각각 플러그 방식에 따라 만들어지며 소켓은 인터페이스의 계기 부분을 형성합니다.

마더보드의 LPT 커넥터 사진

맨 아래 행에는 13개의 연락처가 있고 나머지 12개는 맨 위에 있습니다.

커넥터의 조립 상태에서 연결의 올바른 극성은 소켓에 설치된 사다리꼴의 단단한 금속 스커트가 제공하는 기계적 연동을 사용하여 보장됩니다. 이 구조적 구성 요소는 외부 원형 실드의 기능을 추가로 인수합니다.

케이블의 질량이 크기 때문에 커넥터가 조립된 상태에서 연결 코드의 플러그는 두 개의 떨어지지 않는 나사를 사용하여 소켓에 추가로 고정됩니다. 이를 통해 원하는 수준의 작동 안정성을 얻을 수 있습니다.

접점 배선 배치도

핀아웃 포트 lpt , 인터페이스 커넥터의 많은 접점에도 불구하고 매우 간단하며 표에 나와 있습니다.

상당히 많은 서비스 및 서비스 신호는 프린터 작동을 제어하고 컴퓨터와의 상호 작용을 지원해야 하기 때문입니다. 이 경우 단방향 데이터 전송만 제공됩니다.

상대적으로 짧은 거리~ 사이 별도의 연락처전선을 납땜한 후 커넥터를 연결하면 짧은 길이의 cambric, 마모된 vnatyag 또는 열 수축 튜브를 사용하여 추가로 절연됩니다.

케이블로는 일반 트위스트 페어 또는 개별 쉴드로 보호되는 트위스트 페어를 사용할 수 있습니다. 플랫 리본 케이블을 사용할 수 있습니다. 코드의 총 길이는 3m를 초과하지 않아야 합니다.

프로그래머와 전자 엔지니어들 사이에서 그러한 관심을 불러일으킬 것입니다. tk. 글을 쓴 지 거의 3년이 지났지만 질문이 담긴 편지를 많이 받았고 지금도 계속 받고 있다. 또한 첫 번째 기사에서 여러 부정확... 이 모든 것이 이 주제에 대한 보다 자세한 기사를 작성하게 했으며, 이 기사에서 친애하는 독자의 대부분의 질문에 답하고 첫 번째 기사에서 작성된 부정확성을 수정하려고 노력할 것입니다. 첫 번째 기사의 독자가 나에게 화를 내지 않도록하지만 LPT 포트의 각 연락처와 bitik을 다시 자세히 고려할 것입니다. 기사의 첫 번째 부분에서는 이론이 고려될 것이고, 두 번째 및 후속(있는 경우)에서는 이 포트에 "연결될" 수 있는 전자 장치를 고려할 것입니다.

텍스트에서 일반적으로 허용되는 숫자 쓰기 약어를 접하게 됩니다. 예를 들어, 1010 2 - 아래 첨자의 2는 숫자를 나타냅니다.5 이진법으로 표현,124 10 - 아래 첨자의 10은 숫자를 나타냅니다.124 소수. 이것은 너무 ... 만일을 대비하여

실습에서 알 수 있듯이 적절한 라이브러리(vbio32.dll, inpout32.dll, dlportio.dll 등)로 올바르게 작성되고 보완된 모든 프로그램은 다음을 사용하는 대부분의 컴퓨터에서 작동합니다. 운영체제윈도우 패밀리. Win95, 98, Me, 2000, XP HE, XP Prof 및 DOS6.22(QBasic)에서 모든 프로그램(Visual Basic5.0, 6.0)을 테스트했습니다. 모든 것이 잘 작동합니다. DOS에서는 라이브러리가 전혀 필요하지 않으며 어쨌든 모든 것이 작동합니다. vbio32.dll과 inpout32.dll을 바로 예약하겠습니다 아래에서 작동하지 않습니다Win2000, 그러나 Win95, 98, Me에서는 완벽하게 잘 작동합니다.

그건 그렇고, 당신은 이러한 라이브러리 중 하나를 사용할 수 있습니다. dlportio.dll을 사용해보고 싶었고 현재 이 라이브러리로 작업하고 있습니다. 마지막으로 프로그램을 작성하기 전에 사용 중인 라이브러리를 올바르게 선언해야 합니다.

input32.dll의 경우

개인 선언 함수 Inp Lib "inpout32.dll" 별칭 "Inp32"(ByVal PortAddress As Integer)를 정수로

비공개 선언 Sub Out Lib "inpout32.dll" 별칭 "Out32"(ByVal PortAddress를 정수로, ByVal 값을 정수로)

dlportio.dll의 경우

Private Declare Function DlPortReadPortUchar Lib "dlportio.dll"(ByVal Port As Long) As Byte

Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll"(ByVal 포트 길이, ByVal 값 바이트)

차이점은 무엇입니까 사적인~에서 공공의나는 쓰지 않을 것이다.

프린터(또는 다른 장치)와의 통신을 위한 병렬 포트에는 기본 주소 & H378(LPT1), & H278(LPT2) 및 H3BC(LPT3)가 있습니다. 이 기사에서는 LPT1만 고려할 것입니다. 이 포트의 주소 공간은 & H378- & H37F 범위에 있습니다.

· 주소 & H378~라고 불리는 기초적인 그리고 D0-D7 라인의 포트에 데이터를 쓰는(읽지만 자세한 내용은 나중에) 제공합니다.

· 주소 & H379 (기본 + 1) LPT 포트(프린터, 스캐너 등)에 연결된 장치에서 상태 비트를 읽기 위한 것입니다.

· 주소 & H37NS (기본 + 2) LPT 포트(프린터, 스캐너 등)에 연결된 장치의 제어 비트를 쓰는 데 사용됩니다.

아래 표는 각 주소의 접점과 신호를 보여줍니다.

핀 18-25 - 접지(공통, GND, GROUND 등)

각 주소를 프로그래밍하는 것을 고려해 보겠습니다.

· Base address & H378(LPT1)은 0 ~ 255 범위에서 D0-D7 라인의 포트에 데이터를 쓸 수 있습니다.

우리는 포트에 숫자 69를 씁니다.

· 주소 및 H379는 상태 비트를 읽는 데 사용됩니다.

& H379에서 포트 상태 읽기

주소 및 H379를 읽을 때 처음 3비트는 사용되지 않고 항상 로그임을 기억하십시오. "1"이고 7번째 비트는 반대입니다. 결과적으로 모든 핀 15, 13, 12, 10, 11이 "접지"에 있으면 정보를 읽을 때 처음 3비트(사용되지 않음) 1 + 2 + 4 및 7에서 수신됩니다. 비트(핀 11- 역, 접지에 단락이 있을 때 로그가 있음을 의미합니다. "1") +128 총 135. 이것을 잊지 마십시오. 이 기사의 두 번째 부분에서는 이에 대해 더 자세히 설명합니다.

주소 및 H37 A는 제어 비트를 쓰는 데 사용됩니다.

신호 -STROBE(제어 비트 0)를 씁니다.

왜 10? 접시를 살펴보겠습니다.

STROBE, AUTO, SELECT IN 신호가 반전되어 커넥터 1, 14, 17의 접점 출력에서 ​​논리 "1"을 얻으려면 이 비트에 논리 "0"을 적용해야 합니다. 즉 하나를 제출 - 반대를 받았습니다. INIT 신호는 직접(역이 아님)이므로 이 비트에 논리 "1"을 주면 핀 16의 논리 "1"이 나타납니다. 그들이 준 것은 그들이 얻은 것입니다.

핀 1,17 - 낮은 신호 레벨 "0", 핀 14 및 16에서 높은 신호 레벨 "1", 즉 접점 1,14,16,17의 출력에는 0 1 1 0(610)이 있습니다.

0 비트(-STROBE)에서 "1"을 제공하고(핀 1에서 "0"이 있음), 첫 번째 비트(-AUTO)에서 "0"을 보냅니다(접점 14에서 "1"이 있음) , 두 번째 비트(INIT)에서 " 1 "(핀 1은 "1"이 됨)을 보내고 마지막으로 세 번째 비트(-SELECT IN)에서" 1 "(핀 17에는" 0 "이 있을 것입니다. ), 즉 주소는 10112이고 H37A는 1310입니다. 따라서 출구에서 6을 얻으려면 13을 제출해야 합니다.

편의를 위해 0에서 15까지의 가능한 모든 숫자 조합이 있는 표를 제시합니다.

신호 적용

수신 신호

10진수

(- 스트로브) 2 0

(-자동) 2 1

(초기화) 2 2

(-선택 입력) 2 3

핀 1

핀 14

핀 16

핀 17

10진수

그리고 마지막으로 이 기사의 마지막 부분입니다. 컴퓨터가 EPP 표준을 지원하는 경우 주소의 네 번째 비트 & H37NS프린터에서 인터럽트(LPT1의 경우 IRQ7)를 활성화할 수 있습니다. 무엇인지 묻지 마십시오. 저는 여전히 인터럽트에 대해 아무것도 모릅니다. 그러나 다섯 번째 비트 110101 2를 사용하면 예를 들어 숫자 43 10을 제출하여 D0-D7 버스를 모드로 설정합니다. 리셉션 데이터. 이 경우 모든 비트(접점 2-9)는 논리 "1" 값을 취합니다. 원하는 접점에 논리적 "0"을 적용하려면 "접지"에 대해 240-360 Ohm의 저항을 통해 접점을 닫아야 합니다. 따라서 컴퓨터의 LPT 포트를 통해 수신 표준 양식 12개의 출력 신호와 5개의 입력 신호가 있는 장치이며 포트가 EPP 모드로 전환되면 4개의 출력 신호와 13개의 입력 신호를 얻습니다.

방법SPP(출력 12개 및 입력 5개)

방법EPP(입력 4개 및 출력 13개)

신호

방향

신호

방향

산출

입구

산출

입구

산출

입구

산출

입구

산출

입구

산출

입구

산출

입구

산출

입구

입구

입구

입구

입구

종이 끝

입구

종이 끝

입구

입구

입구

- 바쁘다

입구

- 바쁘다

입구

- 스트로브

산출

산출

산출

- 자동

산출

산출

산출

- 선택 입력

산출

- 선택 입력

산출

1부 끝.

기사의 두 번째 부분에서는 다양한 전자 장치를 포트에 연결합니다.

이 공유