2017-04-20 9 views
1
내가 등시성 USB 전송이 WinUsb를 사용하여 실험을했습니다

, 그리고 WinUsb 항상 가능한 한 빠른 속도로 데이터를 전송 밝혀 :USB (WinUsb) 등시 대역폭 관리

WinUsb_WriteIsochPipe가 전송 버퍼를 패킷 화에 있도록 각 간격마다 호스트는 간격 당 허용되는 최대 바이트를 보낼 수 있습니다.

는 그러나 kernel drivers 당신은 분명히 짧은 패킷을 보낼 수 있습니다

MaximumPacketSize 값은 등시성 패킷의 최대 허용 크기를 나타냅니다. 클라이언트 드라이버는 각 등시성 패킷의 크기를 MaximumPacketSize 값보다 작은 값으로 설정할 수 있습니다.

USB 오디오가 어떻게 처리하는지 궁금해했습니다. 내가 스펙에서 볼 수있는 한 인터페이스에 대한 두 가지 대안 구성 - 대역폭 제로 값과 비 - 제로 대역폭 값 -이 있습니다. 끝점에서 전체 크기 패킷이 필요한지 여부를 나타내는 플래그가 있습니다.

그래서 제 질문은 다음과 같습니다

가) 전체 고속 데이터보다 전송 처리하는 가장 좋은 방법은 무엇입니까. 서로 다른 최대 패킷 크기를 가진 대체 배열이 있어야합니까?

b) 최대 패킷보다 짧은 패킷을 보낼 수 있어야합니까? 그렇다면 왜 WinUsb는 이것을 허용하지 않습니까?

답변

0

송신하려는 각 패킷에 대해 WinUsb_WriteIsochPipe 번으로 전화해야 할 수도 있습니다. 비동기 I/O를 사용하여 수십 또는 수백 개의 요청을 미리 대기열에 넣을 수 있도록하십시오.

+0

아니요, 해당 함수는 최대 패킷 크기를 사용하는 전체 프레임 수 여야하는 전송을 시작합니다. – Timmmm