DT-35 콘트롤러 궁금한점이.....

팁&테크에 올라온 삼송 키보드 컨트롤러를 보면 총 40핀 짜리 칩을 쓰잖습니까
여기서 보면 그중에 3번 핀 하나가 DATA로,  클럭은 2번핀으로 이어지는데

제 단순한 생각으로 이해되지 않는게
클럭이 한번 튈 동안 칩의 핀한개에서는 0 or 1 둘중의 한가지 값밖에
가질 수 없는걸로 알거든요..

그럼 적어도 칩의 출력부분의 핀수는
2의 n승 = 106  
총 106키로 봤을때 출력핀의 갯수는 n개가 되어야 되지 않나요??

예를 들어
DT-35키 매트릭스를 보니까 F1키가 4번, 5번 핀이드라구요...
그럼 콘트롤러의 4번, 5번핀이 ON되는 순간 3번선(DATA)으로 F1키의 코드값을
출력하는 방식으로 이해 했는데

콘트롤러 칩의 핀 한개가 어떻게 106키의 구분을 할수 있는지 모르겟어요
어짜피 핀 한개는 0아니면 1인데 말이죠...
이전 댓글 10
임정택 2006-07-02 15:46
실제로 그런지는 잘 모르겠지만, DATA 핀이 ON일때 나머지 핀의 ON, OFF 상태를 보고 구분을 할 수 있겠죠 그러니까, DATA 핀을 키가 눌렸는지의 여부를 구분짓는 데 사용할 것 같네요
조형철 2006-07-02 15:59
이 40핀짜리 칩을 꾸운 쏘스를 봤으면 좋겟는데...^^; 아마도 각각의 키의 매트릭스가 있으니 행,열 두개중 일치되는게 있다면 data핀이 on되는 형식이겟죠...근데 이 1bit의 정보를 가지고 어떻게........'';;;; 자세히 알수 있다면 학교에 다릿수좀 짝은 칩때기에다 직접 꿉어서 자작 키패드하나 만들수 있을까 해서요...과연 가능할런지는 모르겟지만
숟가락 2006-07-02 22:03
Clock : 0101**0*01*10101**0*01*10101**0*01*10101**0*01*10101**0*01*101010 Data : 0110**1*11*10111**0*01*10100**0*01*10101**0*01*1110101**0*01*1101 행과 열에 대한 코드값을 Data출력에서 단순히 '1'과 '0'이 아닌 8Bit 시리얼로 보낸다고 생각하시면 될듯합니다. 그러면 적어도 256가지의 Data를 구분할수 있겠지요?? (ㅡㅡa 맞나????
nyter 2006-07-02 22:36
일반적인 키보드의 각각의 키는 내부적으로 컨트롤러 회로상 보통 2개의 자릿수를 갖고 있습니다. 예를 들어 A키는 (1, 3) B키는 (1, 5) 이런 식으로요. 이렇게 키에 배정된 회로를 2개로 구성함으로 인해서 일종의 매트릭스가 형성되고, 딸랑 20여개의 핀으로도 100개의 키들을 지원 가능합니다. 즉, 10x10 = 100 이니깐요.
nyter 2006-07-02 22:37
문제는 이렇게 할 경우, 회로를 매우 간단하게 구성이 가능하다는 장점이 있지만, 키 신호가 서로에게 간섭을 일으켜서 고스트 현상을 일으킬 위험이 생깁니다. 그래서 신호의 역류를 막기 위해 다이오드를 때려박던가, 아니면 컨트롤러에서 고스트 현상을 미연에 차단해 버리던가 둘중의 한가지 방법을 채택합니다.
nyter 2006-07-02 22:39
각 키 스위치마다 다이오드를 때려박게 되면 무한동시 입력이 가능한 키보드가 탄생합니다. 이는 대신에 단가가 비싸지겠죠. 또 한가지 방법으로 고스트 현상을 아예 막기 위해 일정한 복수의 키 조합을 차단해 버리면 몇몇 키들의 동시 입력이 먹지 않는 대신에 제조 단가는 싸집니다.
조형철 2006-07-02 23:02
그럼 우리가 보통 키를 하나 누르면 클럭은 8번 튀게 되고 8번튀는동안 data로 연결된 핀에서는 매트릭스의 행과열에 따라 8bit의 정보를 출력하게 된다고 보면되는건가요?? 만약 F1의 코드가 0011 1100 이라고 가정하면 우리가 F1을 누르는 순간 클럭 : 0101 0101 data : 0011 1100 이런식으로 출력이 된다는거 맞죠 ^^??
조형철 2006-07-02 23:05
자신이 원하는 키의 8bit의 이진값을 알면 C나 ABEL로 콘트롤러 칩을 구울 수 일을까요??
숟가락 2006-07-03 20:36
제가 답글에 설명한 8Bit는 단순히 예를 든것 뿐입니다. 오해 없으시길^^;; 스코프나 로직 아날라이져라도 있으면 찍어보련만...쩝 ㅡㅡ
사막의여우 2006-07-03 23:47
그냥 클럭은 기준클럭이고 그 클럭을 내부 타이머로 주기만들어서 스캔하는거 아닌가요? -_-?? 그런식으로 자작할려고 했었는데..ㅠㅠ
← 질문답변 목록으로