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











