Intel 8253-프로그래밍 가능 간격 타이머

Intel 8253 및 8254는 마이크로 프로세서가 3 개의 16 비트 레지스터를 사용하여 타이밍 및 카운팅 기능을 수행하도록 설계된 PTI (Programmable Interval Timer)입니다. 각 카운터에는 클럭 및 게이트와 같은 2 개의 입력 핀과 "OUT"출력용 1 개의 핀이 있습니다. 카운터를 작동하기 위해 16 비트 카운트가 레지스터에로드됩니다. 명령시 0에 도달 할 때까지 카운트를 줄이기 시작하고 CPU를 중단하는 데 사용할 수있는 펄스를 생성합니다.

8253과 8254의 차이점

다음 표는 8253과 8254의 기능을 구분합니다.

8253 8254
작동 주파수는 0 ~ 2.6MHz입니다. 작동 주파수는 0 ~ 10MHz입니다.
N-MOS 기술을 사용합니다. H-MOS 기술을 사용합니다.
Read-Back 명령을 사용할 수 없습니다. Read-Back 명령을 사용할 수 있습니다.
동일한 카운터의 읽기 및 쓰기는 인터리브 될 수 없습니다. 동일한 카운터의 읽기 및 쓰기를 인터리브 할 수 있습니다.

8253/54의 특징

8253/54의 가장 두드러진 특징은 다음과 같습니다.

  • 3 개의 독립적 인 16 비트 다운 카운터가 있습니다.

  • DC에서 10MHz까지의 입력을 처리 할 수 ​​있습니다.

  • 이 세 카운터는 바이너리 또는 BCD 카운트로 프로그래밍 할 수 있습니다.

  • 거의 모든 마이크로 프로세서와 호환됩니다.

  • 8254에는 READ BACK 명령이라는 강력한 명령이있어 사용자가 카운트 값, 프로그래밍 된 모드, 현재 모드 및 카운터의 현재 상태를 확인할 수 있습니다.

8254 아키텍처

8254의 아키텍처는 다음과 같습니다.

8254 핀 설명

다음은 8254의 핀 다이어그램입니다.

위 그림에는 세 개의 카운터, 데이터 버스 버퍼, 읽기 / 쓰기 제어 로직 및 제어 레지스터가 있습니다. 각 카운터에는 두 개의 입력 신호 (CLOCK & GATE)와 하나의 출력 신호 (OUT)가 있습니다.

데이터 버스 버퍼

이것은 3 상태, 양방향, 8 비트 버퍼로, 8253/54를 시스템 데이터 버스에 연결하는 데 사용됩니다. 세 가지 기본 기능이 있습니다.

  • 8253/54의 모드 프로그래밍.
  • 카운트 레지스터를로드합니다.
  • 카운트 값 읽기.

논리 읽기 / 쓰기

여기에는 5 개의 신호, 즉 RD, WR, CS 및 주소 라인 A 0 & A 1이 포함 됩니다. 주변기기 I / O 모드에서 RD 및 WR 신호는 각각 IOR 및 IOW에 연결됩니다. 메모리 매핑 된 I / O 모드에서 이들은 MEMR 및 MEMW에 연결됩니다.

CPU의 주소 라인 A 0 및 A 1 은 8253/54의 라인 A 0 및 A 1 에 연결되고 CS는 디코딩 된 주소에 연결됩니다. 제어 워드 레지스터와 카운터는 라인 A 0 & A 1 의 신호에 따라 선택됩니다 .

A 1 A 0 결과
0 0 카운터 0
0 1 카운터 1
1 0 카운터 2
1 1 제어 워드 레지스터
엑스 엑스 선택 없음

제어 워드 레지스터

이 레지스터는 라인 A 0 및 A 1 이 논리 1에 있을 때 액세스됩니다 . 사용할 카운터, 해당 모드 및 읽기 또는 쓰기 작업을 지정하는 명령 단어를 쓰는 데 사용됩니다. 다음 표는 다양한 제어 입력에 대한 결과를 보여줍니다.

A 1 A 0 RD WR CS 결과
0 0 1 0 0 카운터 0 쓰기
0 1 1 0 0 카운터 1 쓰기
1 0 1 0 0 카운터 2 쓰기
1 1 1 0 0 제어 워드 쓰기
0 0 0 1 0 카운터 0 읽기
0 1 0 1 0 카운터 1 읽기
1 0 0 1 0 카운터 2 읽기
1 1 0 1 0 작동하지 않음
엑스 엑스 1 1 0 작동하지 않음
엑스 엑스 엑스 엑스 1 작동하지 않음

카운터

각 카운터는 바이너리 또는 BCD로 작동 할 수있는 단일 16 비트 다운 카운터로 구성됩니다. 입력 및 출력은 제어 워드 레지스터에 저장된 모드 선택에 의해 구성됩니다. 프로그래머는 처리중인 실제 카운트를 방해하지 않고 세 카운터 중 하나의 내용을 읽을 수 있습니다.