Je veux construire un oscilloscope USB. Je lisais sur différents types de transfert USB . Quel type de transfert est le meilleur pour transférer les échantillons ADC collectés d'un oscilloscope USB vers un PC?
Voici quelques-unes de mes conclusions. Veuillez me corriger et ce serait bien si quelqu'un pouvait suggérer un bon type de transfert.
- Transfert isochrone - Perte possible de données. Pas bon pour un oscilloscope car chaque élément de données est précieux. Combien de données pourraient être perdues?
- Mode d'interruption - je ne sais pas si cela pourrait inonder la connexion USB
- Mode Bulk - Semble le meilleur pour moi car aucune perte de données
- Transfert de contrôle - ne convient pas car il n'est pas destiné au transfert de données
usb
oscilloscope
robomon
la source
la source
Réponses:
Les transferts en masse ne perdent pas de données, mais ils n'ont pas de bande passante minimale garantie. (D'un autre côté, ils peuvent atteindre des vitesses plus élevées, car ils sont capables d'utiliser toute la bande passante qui n'est pas réellement utilisée par d'autres transferts.)
Que se passe-t-il lorsque les transferts de données de votre oscilloscope sont retardés (soit à cause d'erreurs, soit à cause d'autres appareils), et que de nouvelles données s'accumulent? Arrêtez-vous l'appareil jusqu'à ce que les anciennes données soient transmises, ou jetez-vous les anciennes données pour pouvoir transmettre les données actuelles?
Les transferts isochrones sont conçus pour les données «en temps réel». Vous n'avez pas le choix sur la gestion des erreurs, mais votre bande passante est réservée sur le bus.
la source
La question est presque complètement indépendante de votre utilisation en tant qu'oscilloscope et est complètement régie par les types de communications que vous demandez à USB de faire. Par exemple:
Une fois que vous savez quel type de données vous transmettez et les conditions de qualité de service (QoS) auxquelles les données doivent arriver, vous pouvez alors décider du mécanisme de transfert USB à effectuer. Vous saurez que vous êtes prêt à prendre ces décisions lorsque le mot «oscilloscope» n'est plus requis pour décrire les données et la qualité de service dont vous avez besoin. Vous savez alors que c'est suffisamment objectif pour commencer à aborder ces questions.
la source
Pour un oscilloscope, la bande passante du transfert est le paramètre que vous souhaitez maximiser. Le transfert en masse est spécialement conçu pour une bande passante élevée, c'est donc le bon choix. Bien que les transferts isochrones et d'interruption imposent des limites à la latence, ils ne sont destinés qu'aux flux de données à faible ou moyenne bande passante.
la source
Utilisez simplement des transferts en masse. Un oscilloscope n'est pas réellement un appareil à haut débit. Sauf si vous envisagez de faire une conception numérique de type phosphore, un oscilloscope n'est vraiment qu'une fenêtre sur une très petite partie d'une forme d'onde. Par exemple, supposons que vous souhaitiez afficher 1000 pixels horizontaux et rafraîchir l'affichage à environ 30 Hz. Si les échantillons sont 8 bits chacun (c'est typique) et qu'il y a deux canaux, vous ne regardez que 60 000 octets / seconde. L'USB pleine vitesse peut faire environ 1 000 000 octets / s, vous utilisez donc moins de 6% de la capacité de débit du bus. Cela laisse beaucoup de temps pour laisser le mode de transfert en masse faire son travail (corriger les erreurs, contourner le trafic des autres bus), et il est peu probable que vous rencontriez une configuration de bus réelle qui ne pourra pas vous allouer suffisamment de bande passante pour autant de données.
la source