Loại chuyển USB tốt nhất (chuyển đổi số lượng lớn, gián đoạn, không đồng bộ) được sử dụng để thực hiện dao động USB là gì?


20

Tôi muốn xây dựng một máy hiện sóng USB. Tôi đã đọc về các loại chuyển USB khác nhau . Loại chuyển nào là tốt nhất để chuyển các mẫu ADC được thu thập từ máy hiện sóng USB sang PC?

Dưới đây là một vài phát hiện của tôi. Xin hãy sửa cho tôi và cũng sẽ tốt nếu có ai có thể đề xuất một loại chuyển nhượng tốt.

  1. Truyền đồng bộ - Có thể mất dữ liệu. Không tốt cho máy hiện sóng vì mỗi mục dữ liệu đều có giá trị. Bao nhiêu dữ liệu có thể bị mất?
  2. Chế độ ngắt - Tôi không biết liệu nó có làm ngập kết nối USB không
  3. Chế độ hàng loạt - Có vẻ tốt nhất với tôi vì không mất dữ liệu
  4. Kiểm soát chuyển - không phù hợp vì nó không có nghĩa là để truyền dữ liệu

2
Từ những gì tôi đã đọc, hầu hết các phạm vi với usb đều sử dụng chế độ hàng loạt để gửi ảnh chụp màn hình của phạm vi.
Người qua đường

Có lẽ nếu bạn đi với chế độ đẳng thời, bạn có thể dự trữ thêm một chút băng thông để sửa lỗi.
dùng253751

Hoặc vì quá mức cần thiết, PCIe DMA làm tôi thích thú.
Mitch

Câu trả lời:


28

Chuyển số lượng lớn không mất dữ liệu, nhưng chúng không có băng thông tối thiểu được đảm bảo. (Mặt khác, chúng có thể đạt tốc độ cao hơn, vì chúng có thể sử dụng tất cả băng thông không thực sự được sử dụng bởi bất kỳ chuyển khoản nào khác.)

Điều gì xảy ra khi quá trình truyền dữ liệu của máy hiện sóng của bạn bị trì hoãn (do lỗi hoặc do các thiết bị khác) và dữ liệu mới đang chồng chất? Bạn có dừng thiết bị cho đến khi dữ liệu cũ được truyền đi hay bạn vứt bỏ dữ liệu cũ để có thể truyền dữ liệu hiện tại?

Chuyển đồng bộ được thiết kế cho dữ liệu 'thời gian thực'. Bạn không có lựa chọn nào về việc xử lý lỗi, nhưng băng thông của bạn được dành riêng trên xe buýt.

  • Nếu bạn muốn hiển thị dữ liệu được ghi lại trong thời gian thực, bạn nên sử dụng chuyển giao đẳng thời.
  • Nếu bạn muốn chuyển dữ liệu đã ghi vào PC sau khi kết thúc các phép đo, bạn nên sử dụng chuyển số lượng lớn.

10

Câu hỏi gần như hoàn toàn độc lập với việc bạn sử dụng như một máy hiện sóng và hoàn toàn bị chi phối bởi các loại truyền thông bạn đang yêu cầu USB thực hiện. Ví dụ:

  • Một máy hiện sóng có bộ đệm lớn (nhiều megabyte) bên trong và được thiết kế để chạy thử nghiệm ngắn trước, sau đó tải lên dữ liệu, sẽ sử dụng chuyển hoàn toàn hàng loạt. Nó không cần băng thông được đảm bảo, do đó, khối lượng lớn với kiểm tra lỗi chuyển số lượng lớn sẽ là tốt nhất.
  • Một máy hiện sóng được thiết kế để liên tục được nối với mạch đang được thử nghiệm trên cơ sở liên tục và phải hoạt động trong "thời gian thực" (đọc: thời gian chạy xác định) sẽ chọn isochronus. Hàng loạt cung cấp không có đảm bảo thời gian chạy xác định và bạn không thể thiết lập đường ống của mình để có băng thông dành riêng. Bạn sẽ phải tự sửa lỗi, nhưng ít nhất chúng có thể được thực hiện một cách xác định.
  • Máy hiện sóng có nguồn cấp dữ liệu "trực tiếp" để xem con người cộng với tốc độ cao trên bộ kích hoạt có thể thiết lập hai điểm cuối, một isochronus để theo kịp nguồn cấp dữ liệu trực tiếp và chuyển số lượng lớn cho dữ liệu được kích hoạt. Đối với tiêu dùng của con người, mất một hoặc hai khung hình không phải là vấn đề lớn, vì vậy không có lý do gì để lo lắng về việc thiếu kiểm tra lỗi trên isochronus. Tuy nhiên, khi nói đến dữ liệu thực tế, bạn chuyển nó hàng loạt để sửa lỗi.
  • Người ta có thể sử dụng mạch này như là một phần của hệ thống sống. Nó có thể không chỉ là máy hiện sóng mà còn là một biện pháp bảo vệ chống lại các tín hiệu cho thấy mạch đang rời khỏi phạm vi hoạt động và cần phải tắt máy tính. Trong trường hợp này, bạn có thể thêm điểm cuối ngắt vào hệ thống, để có độ trễ được bảo đảm (và một số xử lý lỗi được xác định rõ) để đảm bảo sự cố được khắc phục trước khi ngắt mạch.

Khi bạn biết loại dữ liệu nào bạn đang truyền và các điều khoản Chất lượng dịch vụ (QoS) mà dữ liệu cần đến, bạn có thể quyết định cơ chế truyền USB nào sẽ thực hiện. Bạn sẽ biết rằng bạn đã sẵn sàng để đưa ra các quyết định này khi từ "dao động" không còn cần thiết để mô tả dữ liệu và QoS bạn cần. Sau đó, bạn biết đó là từ đủ khách quan để bắt đầu giải quyết các vấn đề này.


4

Đối với máy hiện sóng, băng thông truyền là thông số bạn muốn tối đa hóa. Chuyển số lượng lớn được thiết kế đặc biệt cho băng thông cao, vì vậy đó là lựa chọn chính xác. Trong khi chuyển giao đẳng thời và gián đoạn đặt giới hạn về độ trễ, chúng chỉ dành cho các luồng dữ liệu băng thông thấp đến trung bình.


3

Chỉ cần sử dụng chuyển số lượng lớn. Máy hiện sóng không thực sự là một thiết bị tốc độ dữ liệu cao. Trừ khi bạn có kế hoạch thực hiện một thiết kế loại phốt pho kỹ thuật số, máy hiện sóng thực sự chỉ là một cửa sổ thành một phần rất nhỏ của dạng sóng. Ví dụ: giả sử bạn muốn hiển thị 1000 pixel ngang và làm mới màn hình ở khoảng 30Hz. Nếu các mẫu là 8 bit mỗi (đây là điển hình) và có hai kênh, bạn đang xem chỉ 60.000 byte / giây. USB tốc độ đầy đủ có thể làm khoảng 1.000.000 byte / giây, do đó bạn đang sử dụng ít hơn 6% dung lượng thông lượng xe buýt. Điều đó mang lại nhiều thời gian cho việc để chế độ chuyển số lượng lớn thực hiện công việc của mình (sửa lỗi, xử lý xung quanh lưu lượng xe buýt khác) và không chắc bạn sẽ gặp phải cấu hình xe buýt thực tế mà không thể phân bổ đủ băng thông cho bạn cho nhiều dữ liệu

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.