Je voudrais poser une question assez précise concernant la gestion de l'alimentation USB.
Tout d'abord, je vais décrire la conception de mon appareil. Il s'agit d'un pilote de ligne de signal symétrique avec un codec audio intégré pour mon système d'enceintes DIY. L'appareil est divisé en interne en deux blocs pour la plupart indépendants: le pilote de ligne même avec un MCU de contrôle et le codec audio (PCM2706 de TI). Les deux ont besoin d'une connectivité de données USB (via un FT232R pour le bloc pilote) et l'ensemble du périphérique doit être alimenté par bus. Les deux blocs seront reliés entre eux par une puce de concentrateur USB, ce qui donnera une seule connexion USB de liaison montante au PC. Je m'attends à ce que la consommation de l'étage pilote soit comprise entre 100 et 200 mA (certainement plus d'une unité de charge).
Voici le problème: selon la spécification USB, un concentrateur alimenté par bus ne peut fournir qu'une seule unité par port aval tout en tirant au maximum 5 unités de l'amont. J'aimerais savoir ce que ferait le concentrateur si je demandais deux unités via le FT232 pour l'étape pilote. La limite en amont de 5 unités ne sera pas atteinte (1 unité pour le concentrateur, 1 unité pour le codec et deux pour le pilote), donc l'ordinateur devrait être physiquement capable de fournir ce courant.
Pour la puce du concentrateur, j'ai consulté http://www.ti.com/lit/ds/symlink/tusb2036.pdf . Il existe une option de mode d'alimentation "groupé", est-ce que cela pourrait être utile? Ou la puce refuserait-elle simplement d'accorder deux unités au conducteur? Et dans ce cas, y a-t-il une solution de contournement sale?
Je suis conscient de l'exigence selon laquelle les appareils à haute puissance doivent également tirer au maximum 100 mA pendant le dénombrement; ce n'est pas un problème car le FT232 est capable d'activer le pilote juste après l'énumération. Le hub activera également les scènes indépendamment.
J'espère que mon problème est assez clair et merci pour votre temps à l'avance :)
MISE À JOUR:
J'ai fait quelques recherches supplémentaires sur la puce TUSB2036. La protection contre les surintensités peut être désactivée par la broche / OCPROT. Le concentrateur signale ensuite au contrôleur racine qu'il n'est pas en mesure de détecter une surintensité. Il y a un avertissement dans la fiche technique, que la protection OC est requise par la spécification USB 2.0 - cela n'a pas d'importance pour moi, j'ai seulement besoin de 1.1 Full-speed. Le concentrateur racine du PC devrait alors fournir à l'OMI 500 mAmps à l'ensemble de l'appareil. Ainsi, je pourrais paramétrer le FT232 du pilote pour ne nécessiter que 100 mA et le hub ne saurait jamais si j'aurais dépassé la limite (en respectant les 500 mA du PC bien sûr). Quelqu'un peut-il dire si cela pourrait fonctionner?