홈페이지 » 어떻게 » 실제 USB 통신 프로토콜이 있습니까?

    실제 USB 통신 프로토콜이 있습니까?

    우리 중 대부분은 결코 USB 장치에 대한 생각을 많이해서는 안됩니다. 그러나 USB 작동 방식에 대해 더 알고 싶어하는 호기심 많은 유형의 사용자라면 어떻게 될까요? 오늘의 수퍼 유저 Q & A 게시물에는 호기심 많은 독자의 질문에 대한 답변이 있습니다..

    오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 중심 그룹 인 Stack Exchange의 하위 부문 인 수퍼 유저의 도움으로 이루어졌습니다..

    사진 제공 : Evilelka Kowalski (Flickr).

    질문

    수퍼 유저 리더 smeeb는 실제로 실제 USB 통신 프로토콜이 있는지 알고 싶어합니다.

    Wikipedia에 따르면, USB :

    • 컴퓨터와 전자 장치 간의 연결, 통신 및 전원 공급을 위해 버스에 사용되는 케이블, 커넥터 및 통신 프로토콜을 정의합니다..

    하지만 거기에 실제 USB 통신 프로토콜? 내 이해는 다음과 같습니다.

    1. USB 장치를 컴퓨터 (예 : 우분투 또는 모든 종류의 Linux)에 연결합니다..
    2. Linux는 어떻게 든 장치의 장치 드라이버를 찾습니다 (아는 한 보너스!)로드하고.
    3. 이제 장치가 연결되었습니다. / dev / theDevice.
    4. 사용자 공간 앱은 이제 읽고 쓸 수 있습니다. / dev / theDevice 드라이버는 하위 장치 / 하드웨어에 대한 하위 수준 입력 및 출력을 처리합니다.

    내가 알 수있는 한, USB 통신 프로토콜 이 흐름의 어느 곳에도 나타나지 않습니다. 나의 이해가 정확하다면, USB는 PC와 장치 사이의 케이블 및 전기 연결 일뿐입니다..

    내가 틀렸어? USB가 실제로 위의 흐름을 나타내는 저수준 프로토콜을 실제로 구현합니까? 그렇다면 무엇이며 30,000 피트 뷰에서 어떻게 작동합니까??

    실제 USB 통신 프로토콜이 있습니까??

    대답

    수퍼 유저 기고가 인 RedGrittyBrick과 projectdp가 우리에게 답을줍니다. 첫째로, RedGrittyBrick :

    예 (USB 프로토콜 참조).

    내가 알기에 USB 사양은 복잡한 프로토콜 및 장치 프로파일 세트를 정의합니다..

    예를 들어, USB 장치는 대량 저장 장치, 키보드, 휴먼 인터페이스 장치 등과 같은 고수준 템플릿을 따르고 일반 장치 드라이버로 관리 할 수 ​​있습니다. 일부 USB 장치는 낮은 수준에서 통신 할 수 있으므로 운영 체제의 낮은 수준의 USB 지원으로 장치 별 상위 수준의 드라이버가 필요하다는 것을 인식 할 수 있습니다.

    projectdp의 답이 뒤따 랐습니다.

    의문

    저수준 USB 통신 프로토콜이 작동하고 있습니까??

    대답

    예, 있습니다. USB 사양에는 버스가 비트 수준에서 사용되는 방식을 정의하는 USB 프로토콜이 포함되어 있습니다. 이것은 상위 프로토콜 (즉, 대용량 저장 장치, HID 등)의 기초가되는 저수준 프로토콜입니다..

    USB 프로토콜 작동 방식에 대한 자세한 내용은이 OSDev 위키가 유용합니다. 다음은 시퀀스 다이어그램을 사용하여 USB 프로토콜에 따른 다양한 데이터 트랜잭션을 설명하는 또 다른 흥미로운 설명입니다.

    보너스 질문

    Linux가 해당 장치의 장치 드라이버를 찾고로드하는 방법?

    보너스 답변

    Linux에서 USB 사용 커널을 사용하는 경우 USB 사양으로 인해 하드웨어 및 커널을 통해 작동하는 USB 장치가 감지됩니다. 하드웨어 측면에서는 USB 호스트 컨트롤러가 감지합니다. 그런 다음 커널에서 호스트 컨트롤러 드라이버는 와이어의 하위 레벨 비트를 인계 받아 USB 프로토콜 형식 정보로 변환합니다. 이 정보는 커널의 usbcore 드라이버에서 채워집니다..

    이 훌륭한 Opensourceforu 기사에서 나는 바꿔 말했고 리눅스 문맥에서의 질문에 대해 훨씬 더 자세하고 명료하게 설명했다..

    아래 공유 된 스레드 링크를 통해 활발한 토론의 나머지 부분을 확인하십시오.!


    설명에 추가 할 것이 있습니까? 의견에서 소리가 나지. 다른 기술에 정통한 Stack Exchange 사용자의 답변을 더 읽고 싶습니까? 전체 토론 스레드를 여기에서 확인하십시오..