우리 대부분은 잘 작동하는 한 키보드에 대해 많이 생각하지 않지만 잠시 생각을 멈 추면 컴퓨터에 신호 만 보내거나 직장에서 활발한 앞뒤 프로세스가 있습니까? ? 오늘의 수퍼 유저 Q & A 게시물에는 호기심 많은 독자의 질문에 대한 답변이 있습니다.
오늘의 질문 및 답변 세션은 커뮤니티 중심의 Q & A 웹 사이트 그룹 인 Stack Exchange의 하위 부문 인 SuperUser가 제공 한 것입니다.
질문
수퍼 유저 리더 인 Ne Mo는 USB 키보드가 신호 만 보내는 지 아니면 신호도 받는지 알고 싶어합니다.
USB 키보드는 컴퓨터에서 신호를받을 필요가 없습니다. 전원 만 있으면됩니다. 아니면 신호를 수신하고 전송해야합니까?
USB 키보드는 신호 만 보내거나 수신합니까?
대답
수퍼 유저 기여자 인 LawrenceC와 Dmitry Grigoryev가 우리에게 해답을 제공합니다. 먼저 LawrenceC :
로부터 " 휴먼 인터페이스 장치 (HID)에 대한 장치 클래스 정의 " 사양:
![]()
키보드 LED를 변경하기 위해 키보드는 명령을 수락합니다. 따라서 "입력 전용"장치가 아닙니다 (즉, 데이터를 호스트로만 출력 함). 즉, 호스트와 장치간에 앞뒤로 대화를해야하는 모든 USB 장치에는 협상 및 열거 프로세스가 있습니다. "읽기 전용"USB 장치를 가질 수 없습니다. USB 이전에도 컴퓨터의 키보드 컨트롤러는 키보드를 읽는 것 외에 몇 가지 작업을 수행했기 때문에 명령을 수락했습니다 ( 참고 ):
![]()
Dmitry Grigoryev의 답변이 이어졌습니다.
클래스에 관계없이 모든 USB 장치가 작동하려면 양방향 통신이 필요합니다. 모든 USB 장치 (또는 USB 사양 측면에서 기능)는 데이터를 받거나받는 버퍼로 생각할 수있는 끝점 집합으로 표시됩니다. 그러나 데이터 만 보낼 수있는 엔드 포인트도 응답하기 전에 토큰이라는 특수 패킷을 기다립니다.
![]()
회색 상자는 USB 호스트를 나타내고 흰색 상자는 USB 기능 ( 차트 소스 ).
USB 호스트가 토큰 패킷을 사용하여 연결된 장치를 폴링하여 소위 인터럽트 전송도 이러한 방식으로 수행됩니다. 일반 (대량) 전송과 인터럽트 전송의 차이점은 폴링 시간이 작고 후자의 경우 보장된다는 것입니다. 그래도 모든 전송은 호스트에 의해 시작됩니다.
설명에 추가 할 것이 있습니까? 댓글에서 소리를 내십시오. 기술에 정통한 다른 Stack Exchange 사용자의 답변을 더 읽고 싶으신가요? 여기에서 전체 토론 스레드를 확인하십시오. .
이미지 크레딧 : 루크 존스 (플리커)