8279-프로그래밍 가능한 키보드
8279 프로그래밍 가능한 키보드 / 디스플레이 컨트롤러는 키보드와 CPU를 연결하는 Intel에서 설계했습니다. 키보드는 먼저 키보드를 스캔하여 키가 눌 렸는지 확인합니다. 그런 다음 누른 키의 상대 응답을 CPU로 전송하고 그 반대의 경우도 마찬가지입니다.
키보드는 CPU와 몇 가지 방식으로 인터페이스됩니까?
키보드는 인터럽트 또는 폴링 모드에서 인터페이스 할 수 있습니다. 에서Interrupt mode, 프로세서는 키를 눌렀을 때만 서비스를 요청합니다. 그렇지 않으면 CPU가 주 작업을 계속합니다.
에서 Polled mode, CPU는 주기적으로 8279의 내부 플래그를 읽고 키 압력으로 키를 눌렀는지 여부를 확인합니다.
8279 키보드는 어떻게 작동합니까?
키보드는 최대 64 개의 키로 구성되며 키 코드를 사용하여 CPU와 인터페이스됩니다. 이러한 키 코드는 디 바운스되어 CPU에서 액세스 할 수있는 8 바이트 FIFORAM에 저장됩니다. FIFO에 8 개 이상의 문자를 입력하면 한 번에 8 개 이상의 키를 눌렀 음을 의미합니다. 오버런 상태가 설정된 경우입니다.
FIFO에 유효한 키 항목이 포함되어 있으면 CPU가 인터럽트 모드에서 중단되고 그렇지 않으면 CPU가 폴링 상태를 확인하여 항목을 읽습니다. CPU가 키 항목을 읽으면 FIFO가 업데이트되고 새 항목을위한 공간을 생성하기 위해 키 항목이 FIFO 밖으로 푸시됩니다.
아키텍처 및 설명
I / O 제어 및 데이터 버퍼
이 장치는 마이크로 프로세서를 통한 데이터 흐름을 제어합니다. D가 낮을 때만 활성화됩니다. 데이터 버퍼는 시스템의 외부 버스와 마이크로 프로세서의 내부 버스를 연결합니다. 핀 A0, RD 및 WR은 명령, 상태 또는 데이터 읽기 / 쓰기 작업에 사용됩니다.
제어 및 타이밍 레지스터 및 타이밍 제어
이 장치에는 키보드, 디스플레이 모드 및 CPU에 의해 프로그래밍 된 기타 작업을 저장하는 레지스터가 포함되어 있습니다. 타이밍 및 제어 장치는 회로 작동 타이밍을 처리합니다.
카운터 스캔
두 가지 모드가 있습니다. Encoded mode및 디코딩 모드. 인코딩 모드에서 카운터는 키보드 및 디스플레이에 대한 스캔 라인을 제공하기 위해 외부에서 디코딩 할 이진 카운트를 제공합니다.
에서 decoded scan mode카운터는 내부의 최하위 2 개 비트를 디코딩하고, 디코딩 한 주사 SL에 4에서 제공 0 -SL 3 .
리턴 버퍼, 키보드 디 바운스 및 제어
이 장치는 먼저 키 클로저를 행 방향으로 스캔하고 발견되면 키보드 디 바운스 장치가 키 입력을 디 바운스합니다. 동일한 키가 감지되면 해당 키의 코드가 SHIFT & CONTROL 키 상태와 함께 센서 RAM으로 직접 전송됩니다.
FIFO / 센서 RAM 및 상태 로직
이 장치는 8 바이트 FIFO (First-in-First-Out) RAM으로 작동하며, 누른 모든 키의 키 코드가 순서에 따라 RAM에 입력됩니다. 상태 로직은 FIFO가 비워 질 때까지 각 FIFO 읽기 작업 후에 인터럽트 요청을 생성합니다.
스캔 된 센서 매트릭스 모드에서이 장치는 각 행이 해당 센서 행의 상태와 함께 매트릭스에로드되는 센서 RAM 역할을합니다. 센서가 상태를 변경하면 IRQ 라인이 high로 변경되고 CPU가 중단됩니다.
주소 레지스터 표시 및 RAM 표시
이 장치는 현재 CPU가 디스플레이 RAM에서 읽고 쓰는 워드의 주소를 보유하는 디스플레이 주소 레지스터로 구성됩니다.
8279 − 핀 설명
다음 그림은 8279의 핀 다이어그램을 보여줍니다.
데이터 버스 라인, DB 0 -DB 7
이들은 CPU와 데이터를주고받는 데 사용되는 8 개의 양방향 데이터 버스 라인입니다.
CLK
클록 입력은 마이크로 프로세서에 필요한 내부 타이밍을 생성하는 데 사용됩니다.
초기화
이름에서 알 수 있듯이이 핀은 마이크로 프로세서를 재설정하는 데 사용됩니다.
CS 칩 선택
이 핀이 낮음으로 설정되면 읽기 / 쓰기 작업이 허용되고 그렇지 않으면이 핀이 높음으로 설정되어야합니다.
A 0
이 핀은 명령 / 상태 정보의 전송을 나타냅니다. 낮 으면 데이터 전송을 나타냅니다.
RD, WR
이 읽기 / 쓰기 핀은 데이터 버퍼가 데이터 버스를 통해 데이터를 송수신 할 수 있도록합니다.
IRQ
이 인터럽트 출력 라인은 FIFO 센서 RAM에 데이터가있을 때 하이가됩니다. 인터럽트 라인은 각 FIFO RAM 읽기 작업과 함께 낮아집니다. 그러나 FIFO RAM에 CPU가 읽을 키 코드 항목이 더 포함되어 있으면이 핀이 다시 높아져 CPU에 대한 인터럽트를 생성합니다.
V ss , V cc
이것은 마이크로 프로세서의 접지 및 전원 공급 라인입니다.
SL 0 ~ SL 3
키보드 매트릭스를 스캔하고 숫자를 표시하는 데 사용되는 스캔 라인입니다. 이러한 라인은 모드 제어 레지스터를 사용하여 인코딩 또는 디코딩으로 프로그래밍 할 수 있습니다.
RL 0 ~ RL 7
이들은 키의 한 터미널에 연결된 리턴 라인이고 키의 다른 터미널은 디코딩 된 스캔 라인에 연결됩니다. 이 행은 아무 키나 누르면 0으로 설정됩니다.
시프트
Shift 입력 라인 상태는 스캔 된 키보드 모드에서 FIFO의 모든 키 코드와 함께 저장됩니다. 키 잠금으로 낮게 당겨질 때까지 내부적으로 당겨서 높이 유지합니다.
CNTL / STB-CONTROL / STROBED I / P 모드
키보드 모드에서이 라인은 컨트롤 입력으로 사용되며 키를 닫을 때 FIFO에 저장됩니다. 라인은 스트로브 입력 모드에서 FIFO RAM에 데이터를 입력하는 스트로브 라인입니다. 내부 풀업이 있습니다. 라인은 키 클로저로 당겨집니다.
BD
빈 디스플레이를 의미합니다. 숫자 전환 중 디스플레이를 비우는 데 사용됩니다.
OUTA 0 – OUTA 3 및 OUTB 0 – OUTB 3
16x4 2 개 또는 16x8 내부 디스플레이 새로 고침 레지스터 1 개를위한 출력 포트입니다. 이 라인의 데이터는 스캔 라인과 동기화되어 디스플레이와 키보드를 스캔합니다.
8279의 작동 모드
8279에는 두 가지 작동 모드가 있습니다. Input Mode 과 Output Mode.
입력 모드
이 모드는 키보드로 입력되는 입력을 처리하며이 모드는 세 가지 모드로 더 분류됩니다.
Scanned Keyboard Mode−이 모드에서 키 매트릭스는 인코딩 또는 디코딩 된 스캔을 사용하여 인터페이스 될 수 있습니다. 인코딩 된 스캔, 8x8 키보드 또는 디코딩 된 스캔에서 4x8 키보드가 인터페이스 될 수 있습니다. SHIFT 및 CONTROL 상태로 누른 키 코드는 FIFO RAM에 저장됩니다.
Scanned Sensor Matrix−이 모드에서 센서 어레이는 인코더 또는 디코더 스캔을 사용하여 프로세서와 인터페이스 할 수 있습니다. 인코더 스캔에서 8x8 센서 매트릭스 또는 디코더 스캔 4x8 센서 매트릭스가 인터페이스 될 수 있습니다.
Strobed Input −이 모드에서 제어 라인이 0으로 설정되면 리턴 라인의 데이터가 FIFO byte 단위로 저장됩니다.
출력 모드
이 모드는 디스플레이 관련 작업을 다룹니다. 이 모드는 두 가지 출력 모드로 더 분류됩니다.
Display Scan −이 모드에서는 8/16 문자 다중 디스플레이를 듀얼 4 비트 / 단일 8 비트 디스플레이 장치로 구성 할 수 있습니다.
Display Entry −이 모드에서는 데이터를 오른쪽 / 왼쪽에서 표시하기 위해 입력 할 수 있습니다.