USB 오실로스코프를 구현하는 데 가장 적합한 USB 전송 유형 (벌크, 인터럽트, 등시 전송)은 무엇입니까?


20

USB 오실로스코프를 만들고 싶습니다. 다른 USB 전송 유형 에 대해 읽고있었습니다 . 수집 된 ADC 샘플을 USB 오실로스코프에서 PC로 전송하는 데 가장 적합한 전송 유형은 무엇입니까?

아래는 내가 찾은 몇 가지 결과입니다. 저를 수정하십시오. 누군가 좋은 전송 유형을 제안 할 수 있다면 좋을 것입니다.

  1. 등시성 전송-데이터 손실 가능성. 각 데이터 항목이 가치가 있기 때문에 오실로스코프에는 좋지 않습니다. 얼마나 많은 데이터가 손실 될 수 있습니까?
  2. 인터럽트 모드-USB 연결이 플러딩되는지 잘 모르겠습니다.
  3. 벌크 모드-데이터 손실이 없으므로 나에게 가장 적합합니다.
  4. 제어 전송-데이터 전송 용이 아니므로 적합하지 않습니다.

2
내가 읽은 것에서 usb를 사용하는 대부분의 스코프는 벌크 모드를 사용하여 스코프의 스크린 샷을 보냅니다.
Passerby

아마도 등시성 모드를 사용하는 경우 오류 수정을 위해 약간의 추가 대역폭을 예약 할 수 있습니다.
user253751

또는 심한 과잉 살상을 위해 PCIe DMA는 내 환상을 간질입니다.
Mitch

답변:


28

대량 전송은 데이터를 잃지 않지만 최소 대역폭을 보장하지는 않습니다. 반면 다른 전송 에서는 실제로 사용 하지 않는 모든 대역폭을 사용할 수 있기 때문에 더 높은 속도에 도달 할 수 있습니다 .

오실로스코프의 데이터 전송이 지연되거나 (오류로 인해 또는 다른 장치로 인해) 새 데이터가 쌓이면 어떻게됩니까? 기존 데이터가 전송 될 때까지 장치를 중지합니까, 아니면 현재 데이터를 전송할 수 있도록 이전 데이터를 폐기합니까?

등시성 전송은 '실시간'데이터를 위해 설계되었습니다. 오류 처리를 선택할 수는 없지만 대역폭은 버스에 예약되어 있습니다.

  • 기록 된 데이터를 실시간으로 표시하려면 등시 전송을 사용해야합니다.
  • 측정이 완료된 기록 된 데이터를 PC 로 전송하려면 대량 전송을 사용해야합니다.

10

이 질문은 오실로스코프로 사용하는 것과 거의 완전히 독립적이며 USB에 요청하는 통신 유형에 따라 결정됩니다. 예를 들면 다음과 같습니다.

  • 내부에 큰 (메가 메가 바이트) 버퍼가 있고 짧은 테스트를 먼저 실행 한 다음 데이터를 업로드하도록 설계된 오실로스코프는 대량 전송을 사용합니다. 보장 된 대역폭이 필요하지 않으므로 대량 전송 오류 검사 기능이있는 대용량이 가장 좋습니다.
  • 테스트중인 회로에 지속적으로 연결되도록 지속적으로 설계되고 "실시간"(읽기 : 결정적 실행 시간)으로 작동해야하는 오실로스코프는 등시성 (isochronus)을 선택합니다. 벌크는 결정적인 런타임 보장을 제공하지 않으며 대역폭을 예약하도록 파이프를 설정할 수 없습니다. 자체 오류 수정을 수행해야하지만 최소한 결정적으로 수행 할 수 있습니다.
  • 사람이 볼 수있는 "실시간"피드와 트리거에서 고속 캡처 기능이있는 오실로스코프는 트리거 데이터에 대한 라이브 피드 및 대량 전송을 유지하기위한 하나의 등 시점 인 두 개의 엔드 포인트를 설정할 수 있습니다. 사람이 소비하는 경우 한 두 프레임을 잃어 버리는 것은 큰 문제가 아니므로 등시성에서 오류 검사가 부족할 염려가 없습니다. 그러나 실제 데이터와 관련하여 오류 수정을 위해 대량으로 전송합니다.
  • 이 회로를 실제 시스템의 일부로 사용할 수 있습니다. 오실로스코프 일뿐 아니라 회로가 작동 범위를 벗어나고 컴퓨터에 의해 종료되어야 함을 나타내는 신호에 대한 보호 장치 일 수도 있습니다. 이 경우 시스템에 인터럽트 엔드 포인트를 추가하여 보장 된 대기 시간 (및 일부 잘 정의 된 오류 처리)을 확보하여 회로를 차단하기 전에 문제가 해결되도록 할 수 있습니다.

어떤 종류의 데이터를 전송하고 있고 데이터가 도착해야하는 QoS (Quality of Service) 용어를 알면 수행 할 USB 전송 메커니즘을 결정할 수 있습니다. 필요한 데이터와 QoS를 설명하기 위해 "오실로스코프"라는 단어가 더 이상 필요하지 않은 경우 이러한 결정을 내릴 준비가 된 것입니다. 그런 다음 이러한 문제를 해결하기에 충분한 객관적인 단어임을 알 수 있습니다.


4

오실로스코프의 경우 전송 대역폭이 최대화하려는 매개 변수입니다. 대량 전송은 고 대역폭을 위해 특별히 설계되었으므로 올바른 선택입니다. 등시성 (Isochronous) 및 인터럽트 전송 (Interrupt Transfer)은 대기 시간에 한계를 두는 반면 저 대역폭에서 중간 대역폭의 데이터 스트림에만 사용됩니다.


3

대량 전송 만 사용하십시오. 오실로스코프는 실제로 고속 데이터 장치가 아닙니다. 디지털 형광체 유형 설계를 계획하지 않는 한 오실로스코프는 실제로 파형의 아주 작은 부분에 대한 창일뿐입니다. 예를 들어, 1000 개의 수평 픽셀을 표시하고 약 30Hz에서 디스플레이를 새로 고치려고한다고 가정합니다. 샘플이 각각 8 비트 (일반적인 경우)이고 두 개의 채널이있는 경우 초당 60,000 바이트 만보고있는 것입니다. 최고 속도 USB는 초당 약 1,000,000 바이트를 수행 할 수 있으므로 버스 처리량 용량의 6 % 미만을 사용하고 있습니다. 따라서 대량 전송 모드에서 올바른 오류를 처리하고 다른 버스 트래픽을 해결하는 데 많은 시간을 할애 할 수 있으며 충분한 대역폭을 할당 할 수없는 실제 버스 구성이 발생할 가능성은 거의 없습니다. 많은 데이터를 위해.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.