Vi presentiamo un grande commutatore USB Type-C: bidirezionale, controllato dal computer e open-source

Qui a Codethink, da oltre un decennio lavoriamo per numerosi clienti al miglioramento delle loro pipeline di compilazione, integrazione e test.

Parte di questo lavoro riguarda l'automazione dei test per sistemi embedded complessi, come l'infotainment per le automobili. Eravamo alla ricerca di un commutatore USB che potesse simulare l'inserimento e il disinserimento di telefoni cellulari e dispositivi di archiviazione per un sistema di questo tipo. Non riuscendo a trovare sul mercato nulla che fosse abbastanza conveniente da consigliarne l'acquisto a centinaia di nostri clienti, abbiamo deciso di costruirne uno.

(Immagine per gentile concessione di Codethink)

Di cosa si tratta?

In parole povere, si tratta di un dispositivo in grado di scollegare, ricollegare e commutare in modo programmatico le connessioni cablate tra dispositivi USB C. Il commutatore è progettato con porte USB C completamente funzionali. Ciò significa che sono presenti tutte le caratteristiche e le funzionalità di una tipica porta Type-C, come la ricarica, il trasferimento dati ad alta e altissima velocità. Le funzionalità bidirezionali consentono agli utenti di scegliere quale porta connettere all'host e la porta opposta viene automaticamente configurata per connettersi a una periferica. Queste caratteristiche garantiscono sicurezza e facilità d'uso.

Per cosa si può usare?

Questo commutatore è una soluzione plug-and-play per chiunque voglia:

  1. Semplificare le connessioni tra più host e periferiche.
  2. Automatizzare i test che richiedono la connessione di diverse periferiche a un host, una alla volta. È possibile utilizzare gli hub con il commutatore per commutare le connessioni tra più periferiche e un host.

(Immagine per gentile concessione di Codethink)

Come si controlla?

È sufficiente collegare il commutatore al computer portatile tramite un cavo USB C. Collegarsi alla porta seriale CDC del commutatore utilizzando lo strumento scelto ed eseguire l'eco di uno dei comandi di controllo sulla porta seriale per avviare la commutazione.

Quanta parte del progetto è open-source?

L'hardware è completamente open-source ed è stato progettato con KiCAD 6.

Il firmware attualmente disponibile è gratuito, ma utilizza la toolchain e le librerie di ST, quindi non possiamo definirlo software libero (per ora). Stiamo lavorando al porting del firmware su libopencm3, che ci permetterà di concedere una licenza gratuita.

Abbiamo progettato un involucro che può essere stampato in 3D per tenere al sicuro il vostro commutatore. I file STL interessati sono concessi con licenza CC da SA 4.

(Immagine per gentile concessione di Codethink)

Volete acquistare qualche commutatore?

Contattate il nostro team di vendita per saperne di più su come noi di Codethink possiamo aiutarvi a integrare questo dispositivo nella vostra routine di test hardware e software.

Se volete costruirne uno da soli, bastano pochi clic. È sufficiente seguire questi semplici passaggi:

  • Hardware:
    1. Clonare hardware repo.
    2. Caricare il file Gerber, la distinta base e il file di posizionamento dalla cartella di produzione in un sito Web di una board house di vostra scelta.
    3. Ordinate tutto il materiale che desiderate.

Una volta ottenuto l'hardware per il commutatore USB, è il momento di flashare il firmware.

  • Firmware:
    1. Creare il firmware sul computer locale clonando il repository firmware repo e seguendo i passaggi di creazione riportati nel README.
    2. Collegare il programmatore (ST-LINK) alla porta SWD e utilizzare il programmatore ST CUBE per la flash.

I file necessari si trovano nel repo hardware sotto la cartella case. È possibile stamparli in 3D utilizzando gli STL forniti o ordinarli online.

Informazioni su questo autore

Codethink provides software engineering and consultancy services to Electronic Companies, Technology Providers, and Service Infrastructure Operators throughout Europe, Asia, and the USA, working across various industries and verticals. Focusing on system-level engineering, they develop and maintain system-level software infrastructure. Traditionally specializing in Linux, Embedded systems, and Open Source, they deliver on extremely difficult and technically complex projects and have expertise from critical embedded devices to cloud-scale infrastructure.

More posts by Codethink
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum