이 비디오는 USB 장치 검색이 어떻게 작동하는지 보여줍니다. USB 장치와 대상 장치 간의 통신은 시스템이 연결된 USB의 속도와 둘 사이에 존재하는 다른 협상을 모두 발견하는 둘 사이에 수많은 변수와 통신이 있음을 보여줍니다. 이제 Ben Eater의 흥미로운 비디오가 USB 장치를 PC에 연결하면 어떻게 되는지 보여줍니다.
USB 장치 검색은 어떻게 작동합니까?
장치를 연결하면 먼저 사전 협상 또는 통신이 트리거됩니다. 이러한 통신 중 첫 번째는 고속 장치인지 저속 장치인지 알려주는 장치의 신호입니다.
장치가 USB 시스템에 연결되면 “주소”라는 번호가 할당됩니다. 주소는 연결된 동안 해당 장치에서 독점적으로 사용합니다. 이 주소는 장치가 연결될 때마다 변경될 수 있습니다.
또한 이 주소 외에도 이 장치에는 여러 끝점, 호스트와 장치 간의 다양한 통신 간의 소스 및 대상 모음이 있습니다.
모든 표준 요청은 제어 전송을 통해 끝점 0으로 전송됩니다. 제어 전송은 8바이트를 전달하는 설정 트랜잭션으로 시작됩니다. 이 8바이트는 호스트 요청을 정의합니다.
USB 통신 중에는 데이터가 패킷으로 전송됩니다. 처음에 모든 패킷은 루트 허브를 통해 호스트에서 전송됩니다. 이러한 패킷 중 일부는 장치가 응답으로 일부 패킷을 보내도록 합니다.
USB 내의 통신은 일련의 데이터 파이프, 데이터 스트림 내의 논리 채널을 기반으로 합니다. 끝점 역할을 하는 장치 내의 논리적 엔터티에 대한 호스트 컨트롤러의 연결이라고 말할 수 있습니다.