노무현 대통령 배너

Double-J's World

blog logo image

Double-J's World » Search » Results » Articles

임베디드와 관련된 글 1개

  1. 2008.02.12 [Study] PS/2 port (keyboard) 3 / Double-J

Double-J's World » Embedded

[Study] PS/2 port (keyboard)

Double-J | 2008. 2. 12. 19:58

개발환경 : SPARTAN -3 Board

FPGA  : Xilinx XC3S200


PS/2 port 를 보드에 인식시키는데 많은 자료가 없어서 약간 애를 먹었다.

일단 기본적인 동작은 PS/2 port를 사용하는 키보드는 다음과 같은 인터페이스이다.

인터페이스.jpg 


시그널_핀.jpg 

위의 모양은 각 핀의 번호와 그 역할을 나타내 주고있다. 위의 자료는 Xilinx 의 SPARTAN-3 보드의 메뉴얼에서 참고한자료라

FPGA Pin 번호가 다음과 같다. 다른 보드를 사용할시 메뉴얼을 참고해야한다.


Device to Host 의 동작에서는 기본적으로 키보드가 정해진 클럭을 발생하고 그에따라 데이터비트도 변하게된다.

즉 위에서보면 PS/2 Pin의 1번, 5번을 통해 신호를 내보내고 이 신호를 받아 제어를 해야 한다.


CLK가 low일때  valid data 이다. 그러므로 state machine이 키보드에서 동작하는 크럭이 negative edge 일때 동작해야 한다

그럴때마다 데이터를 체크 하되 data bit는 다음과 같은 순서로 전달되는것을 주의 하도록 한다.

 데이터전송예제.jpg


 data는 총 11비트가 전송되게 되고 statr signal이 발생한이후로 차례로 8비트가 data bit이다.

이 data bit는 LSB부터 전송되게 되고 이 데이터는 키보드의 고유한 키값을 가지고 있다.


아래는 시뮬레이션의 결과이다.

진짜예제.jpg 


※주의할점 :

임의의 키를 한번 눌렀다 떼면 누르는 순간 고유의 키값이 전달되고 떼는순간 F0가 전달되고 뒤이어 고유의 키값이 다시한번

전달된다.

 참고한 사이트는 아래와 같다.

 http://www.computer-engineering.org/index.php?title=PS/2_Mouse/Keyboard_Protocol



이 글은 스프링노트에서 작성되었습니다.



(go to top)