와이즈 터미널은 진정 무한 N키 롤오버가 될수 있을까?





안녕하세요! 초보키메냐 삼파파 박중길 입니다.

어제까지 와이즈 터미널의 신호분석이 거의 끝이 났습니다.

그리고 완벽하진 않지만 ANSI타입인 840366-01은 보드시험까지 끝이 났고요.

신호 분석을 해보니 와이즈 터미널의 신호 프로토콜은 IBM Scancode나 그 비슷한 체계를 쓰는 다른 키보드들과는 영 다르더군요...아니 완전히 다르다는 표현이 맞을듯합니다.
일반적인 키보드들의 신호 프로토콜은 비트단위의 묶음을 시리얼하게 순차적으로 처리하는 방식 이지만.
와이즈 터미널은 신호 프로토콜은 모든 키의 신호를 일정 시간 안에 병렬로 처리하는 방식이더군요.

솔직히 와이즈 터미널 컨버터는 다른 키보드 컨버터보다 만들기 쉽지 않다는걸 알았습니다.

하지만 다른 수확으로는 와이즈 터미널의 신호 프로토콜을 마이크로 컨트롤러에서 처리만 잘 하면 정말 기존에 나와 있는 N키 롤오버와는 비교가 되지 않을 정도의 많은 키를 롤 오버링 할 수 있겠더군요.

그래서 지금 기존 컨버터에 도입됐던 프로세서를 좀 더 똘똘하고 빠른 놈 변경해서 회로를 재설계를 하고 있습니다.
아무래도 와이즈에서 병렬로 나오는 마이크로단위의 스트로브 신호를 똑똑하게 처리하려면 기존에 쓰던 녀석으론 어려울 것 같습니다.

이번에 다시 느낀 거지만 와이즈 터미널은 그 만듦새도 훌륭하지만, 내부 신호 프로토콜도 정말 독특하고 똘똘하게 설계되어 있었습니다.

그리고 오늘 푸른용님으로 부터 와이즈 터미널 키보드(오른쪽사진)를 한대 양도 받았습니다.
얼마 전에 물 건너온 시료용 와이즈들(왼쪽사진)에 비하면 이건 정말 상태 짱입니다.
"푸른용님 고맙습니다 ^^/"

아무튼 틈틈이 열심히 해서 와이즈 터미널의 만듦새 못지않은 숨어있는 기능을 모두 쓸 수 있는 컨버터를 만들어 보겠습니다.

오늘 좋은 시료도 구하고, 시험도 일단 결론이 좀 나와서 글을 올려 봅니다.

여러분 즐거운 주말 보내세요! ^^/
이전 댓글 14
SkyCS™ 2008-04-20 01:41
좋은 결과 나오기를 기대하겠습니다. 수고가 많으십니다..^^
백아 2008-04-20 01:51
정말 멋지십니다~ 고생 많으세요~ 힘내세요~
제목없음 2008-04-20 02:22
정말 수고가 많으세요^^ㅋ 화이팅 해주세요^^ㅋ
@숙이사랑@ 2008-04-20 02:29
굿굿~~ 삼파파님만 믿고 있어요. 멋지게 만들어주세요^^b
Harry 2008-04-20 08:05
역시 키매냐 분들은 대단합니다!! 기대만빵!
nyter 2008-04-20 08:43
ibm의 AT 키보드 프로토콜에서는 키의 Down과 Up 딸랑 두개만을 신호 전달하는 것이기 때문에 엔키 롤오버가 되면 무조건 엔키 롤오버가 됩니다만··· USB처럼 현재 눌려진 키 리스트를 병렬로 구성한다면 리스트의 비트수에 따라서 동시에 눌려지는 키의 갯수가 제한되겠지만, AT 프로토콜에는 그런게 애당초 존재하지 않기 때문에 스캔코드가 존재하는 갯수만큼 키들의 롤오버가 원래부터 가능합니다.
삼파파 2008-04-20 11:34
nyter님) 첨언해 주셔서 감사합니다. ^^ 제가 말씀드린 내용은 IBM Scancode방식이나 그런 비슷한 신호 프로토콜 체계를 가진 녀석들이 엔키 롤 오버가 안된다는 건 아니고요. ^^;; 여러 인터페이스(PS2,AT,XT,ADB,SUN,와이즈)들의 신호를 비교분석 해본 결과. 각 인터페이스 마다 신호 프로토콜이 조금씩 상이하고 그 중에서도 와이즈 터미널은 정말 독특한 체계를 가지고 있기에 말씀을 드린 겁니다. 제가 분석한 PS2나AT는 신호 프로토콜을 보면...... PS2나AT 인터페이스를 갖는 녀석들은 컴퓨터 본체에서 1주기가 90마이크로정도 되는 동기 CLOCK에 따라 Low Active 방식의 DATA를 1Bit씩 토해 냅니다. 그리고 하나의 키보드 키 구성에 필요한 신호 프로토콜 체계는 다음과 같습니다. START(1Bit)+DATA(8Bit)+PARITY(1Bit)+STOP(1Bit) 실제로 Scancode는 DATA 8Bitd에 적용됩니다. 그래서 빠르게 처리하면 얼마든지 엔키 롤 오버가 가능하지만 기본적인 프로토콜 구조가 11 Bit를 모두 받아야 하나의 문자를 처리 하므로 병렬이라기보다는 직렬방식 처리에 가깝다고 말씀 드린 것이고. 이에 비해 와이즈 터미널의 신호 프로토콜은 한 번에 키보드에 모든 키를 입력 받을 수 있는 프로토콜 체계로 되어 있어서 이 점이 다르다고 말씀 드린 겁니다. ^^;;
삼파파 2008-04-20 11:51
SkyCS™님) 댓글을 달아주시다니 영광입니다. ^^ 백아님) 멋지진 않구요(거의 슈랙수준 TT) 그냥 배운게 도둑질이라......, 암튼 격려 감사합니다. 제목없음님) 감사합니다, 틈틈히 열심히 하겠습니다. @숙이사랑@님) 감사합니다, 빨랑 만들고 싶은데 여기저기 조금씩 암초가 있네요 ^^;; Harry님) 전 그냥 초짜구요, 여기계신 고수님들은 진정 대단하십니다,공감백배
삼파파 2008-04-20 12:20
"PS2나AT 인터페이스를 갖는 녀석들은 컴퓨터 본체에서 1주기가 90마이크로정도 되는 동기 CLOCK에 따라 Low Active 방식의 DATA를 1Bit씩 토해 냅니다." 이 부분은 좀 잘못 설명을 드렸군요. Low Active방식은 아니구요 처음 START비트가 Low Level로 인식되고 그 후의 DATA는 High Level을 "1"로 처리하는 방식입니다. ^^;;
갓건 2008-04-20 12:59
^_^ 먼지는 잘 몰라도 하앜.................힘내시고 좋은 결과 있으시길.......
ZeroCool™ 2008-04-20 17:02
^_^ 먼지는 잘 몰라도 하앜.................힘내시고 좋은 결과 있으시길....... (2)
nyter 2008-04-20 20:36
사실 바이오스 레벨에서 프로그래밍을 한게 전부라서···하드웨어적인 로우레벨은 잘은 모릅니다. ㅎㅎ 아무튼 성공하세요. ㅎㅎ
nyter 2008-04-20 20:44
아, 그런데 AT/PS2 인터페이스의 클럭은 22KHz 정도라고 합니다. 이런 정도라면 슈퍼맨이 아니고서야 N키 롤오버가 불가능하게 키 입력을 할 수는 없겠죠?
삼파파 2008-04-20 20:58
갓건님, ZeroCool™님) 죄송합니다, 좀 더 공감이 갈 수 있게 쉽게 설명을 드려야하는데 본의 아니게 알아듣지 못하는 자랑꺼리만 됐네요. nyter님) 요즘 키보드 신호 변환이라는 걸 하면서...... 사람이 인식하지 못하는 아주 짧은 주기의 신호들이 어떤 규칙에 의해서 모였을 때 정말 많은 정보를 전달을 할 수 있는 매개체가 될 수 있다는 것을 다시 한 번 느꼈습니다. 그런걸 설계한 사람들은 존경스럽기까지 하구요. 저도 제가 하는 분야만 수박 겉핥기로 조금 아는 정도입니다. 하지만 앞으로 차근차근 연구해서 횐님들께 쓸모 있는 지식이 될 수 있도록 나름 노력하겠습니다. ^^;;...잘 봐주세요 ^^
← 자유게시판 목록으로