KEEB.it
    • Categorie
    • Recenti
    • Tag
    • Popolare
    • Registrati
    • Accedi

    [LAB] YLH2 - USB 2.0 Hub

    Pianificato Fissato Bloccato Spostato Lab
    lab
    4 Post 2 Autori 11 Letture 2 Seguito
    Caricamento altri post
    • Da Vecchi a Nuovi
    • Da Nuovi a Vecchi
    • Più Voti
    Rispondi
    • Topic risposta
    Effettua l'accesso per rispondere
    Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
    • yLotharY Non in linea
      yLothar Mods
      ultima modifica di

      USB 2.0 Hub Prototype

      Mi sono (ri)messo a pasticciare con cavetti, breadboard, IC, ecc. per riprende un'idea avuta ai tempi del Covid e poi abbandonata: il fine ultimo è quello di fare una PCB con HUB USB incorporato.

      Ai tempi avevo deciso di puntare sul controller USB2512B di Microchip e questa volta credo di essere arrivato ad un punto...

      lab_yhub_003.gif

      «Quanto legno roderebbe un roditore se un roditore potesse rodere il legno?»

      1 Risposta Ultima Risposta Rispondi Cita 0
      • Z Non in linea
        ZIOLele1980
        ultima modifica di

        interessante... 2 porte per, presumo, mouse e eventuali pennette per storage? ( posto che poi uno ci attacca più o meno quello che vuole 😃 )

        yLotharY 1 Risposta Ultima Risposta Rispondi Cita 0
        • yLotharY Non in linea
          yLothar Mods @ZIOLele1980
          ultima modifica di

          @ZIOLele1980 l'obbiettivo sarebbe quello di realizzare una board dove poter connettere una Yubikey (presente?) in modo da avere a portata di dito un 2FA sicuro (e comodo).

          Ero partito da questa idea, che poi alla fine è scalabile: la famiglia USB251xB arriva fino a 4 porte. Al momento ho in mente bene o male questa roadmap:

          • realizzare PCB standalone per fare vari test di stabilità e performance sul progetto
          • realizzare un macro pad (stile CU7) con HUB integrato
          • realizzare tastiera 60% con HUB integrato

          Durante il percorso si potrebbe anche lavorare ad una daughter-board con HUB integrato.

          Sono arrivato ad un prototipo su breadboard funzionante ma con alcune limitazioni, soprattutto in termini di velocità: anche se è solo USB 2.0 il problema dello USB differential routing si sente eccome, dovrò studiare molto bene come realizzare al meglio la PCB.
          Il prototipo però supporta il power delivery, USB-C in ingresso e molti parametri possono essere configurati per mezzo di EEPROM (se fai caso dalla GIF si vede infatti prodotto e produttore custom): si dovrà però testare bene per capire se e quanto è stabile.

          «Quanto legno roderebbe un roditore se un roditore potesse rodere il legno?»

          1 Risposta Ultima Risposta Rispondi Cita 0
          • yLotharY Non in linea
            yLothar Mods
            ultima modifica di

            Credo di aver completato tutte le prove che mi ero prefissato: sto scrivendo queste righe con la mia board connessa tramite l'HUB prototipato su breadboard, riesco a ricaricare i dispositivi (telefono, cuffie, ecc.) - anche a PC spento (😎) - e sono finalmente venuto a capo (spero) di un problema che mi stava tirando pazzo.

            Penso di aver scoperto una cosa che merita di essere approfondita - anche se alla fine non ritengo sia oggi così fondamentale.

            È ormai parecchio tempo che di base l'HUB è funzionante - mi mancava in sostanza di riuscire a far funzionare la ricarica anche a PC spento, problema che ho poi risolto riuscendo a trovare il giusto registro nella EEPROM. Ironia della sorte, riuscivo a collegare e far funzionare praticamente tutto tranne... le tastiere. 🙃
            Ho passato settimane a pensare che il grattacapo fosse causato da qualche difetto di progetto o di collegamento ma alla fine ho capito che il problema era un altro: QMK.

            Mi spiego meglio. Inserita la testiera, il kernel mi diceva:

            lab_yhub_004.jpg

            Su quel «due to insufficient available bus power» ci ho sbattuto la testa per ore e ore ma alla fine ho capito: volendo fare le cose per bene, e avendo letto e studiato attentamente le specifiche dello standard USB 2.0, ho correttamente dichiarato il mio HUB come «bus powered».

            lab_yhub_005.jpg

            lab_yhub_006.jpg

            In questo modo l'host permette di erogare un massimo pari a 100 mA, non una virgola di più. E per una tastiera questo dovrebbe essere più che sufficiente, e invece... a quanto pare gli sviluppatori di QMK ritengono «normale» dichiarare un consumo di default pari a 500 mA.

            lab_yhub_007.jpg

            Al momento della connessione, la tastiera dichiara di voler consumare fino a 500 mA, l'HUB risponde di poter offrire solo fino a 100 mA... e la negoziazione fallisce.

            lab_yhub_008.jpg

            Ma inserendo nel config.h la definizione:

            #define USB_MAX_POWER_CONSUMPTION 100
            

            il risultato cambia 😎.

            lab_yhub_009.jpg

            lab_yhub_010.jpg

            Ho il sospetto che la valorizzazione a 500 mA di default sia presente da moltissimo tempo - ma voglio indagare meglio su questo aspetto.
            Oltretutto, da quello che penso di aver intuito, ci sono un sacco di HUB in commercio che per aggirare problemi come questo si dichiarano come «self powered»...
            Devo indagare ancora un po': ma al momento l'HUB - così configurato - è perfettamente funzionante e compliant con tutte le specifiche USB.

            «Quanto legno roderebbe un roditore se un roditore potesse rodere il legno?»

            1 Risposta Ultima Risposta Rispondi Cita 0
            • Primo post
              Ultimo post


            Suggerimenti
            • magicforce 69iso replacement pcb
              Z
              ZIOLele1980
              0
              16
              34

            • BatterFly.com - Black November 2023
              yLotharY
              yLothar
              0
              1
              8

            • [LAB] YL43 - 40% ISO
              yLotharY
              yLothar
              1
              19
              65
            Forum dedicato alle + creato con i rubati sull'Isola del e trafugati fin qui via dal Temibile Pirata yLothar.