Qualcuno mi ha chiesto laltro giorno come funziona un FTDI USB a UART seriale, e ho capito che non lo sapevo. Ho guardato la scheda tecnica dellFT232R e il diagramma a blocchi non mi ha davvero aiutato. Qualcuno può spiegarmi o collegarmi a una buona spiegazione?

Commenti

  • Più di una spiegazione che implementa il lato dispositivo di un dispositivo USB CDC? en.wikipedia.org/wiki/USB_communications_device_class
  • @kenny, in realtà non ' t. Utilizza un profilo proprietario, motivo per cui è necessario installare i driver per utilizzarlo (almeno su Windows).
  • @avakar, utilizza i driver su tutti i sistemi operativi, alcuni vengono appena precaricati.

Risposta

I chip FTDI implementano lo stack del protocollo USB. La responsabilità di questo hardware è di dire al tuo PC di cosa si tratta (utilizzando alcune informazioni di identificazione) in modo che il tuo computer possa caricare il driver giusto per esso, e anche di gestire le transazioni di dati con il PC dopo – cerca gli endpoint USB per una migliore spiegazione di questi processi.

Una volta caricati quei driver, questo specificherebbe un set di comandi che il tuo PC può usare per interrogare il chip. Questo hardware si occupa di un lato dellequazione (la comunicazione con il PC). Laltro lato sarebbe dellhardware dedicato per gestire il protocollo UART che include logica, buffer, driver di linea e simili. Il set di comandi menzionato in precedenza verrebbe utilizzato per leggere o scrivere sullhardware UART. Probabilmente dovrebbe essere menzionato che i dispositivi USB vengono interrogati dal PC, quindi nei casi in cui si utilizza un codice basato su eventi, il PC sta effettivamente eseguendo un polling per determinare che sono arrivati nuovi dati – questo potrebbe essere diverso da un seriale nativo porta, non lo saprei.

La logica di cui sopra può essere implementata come un ASIC dedicato o utilizzando un core del microcontrollore ridotto che esegue il firmware sulla ROM. Se è davvero un core del microcontrollore, allora io immagina che lUART sia collegata ad esso come una periferica.

Commenti

  • E quanto sei certo che non ci sia ' un programma firmware in esecuzione? I microcontrollori di solito richiedono meno porte logiche rispetto allimplementazione dellhardware dedicato ASIC equivalente. ' è davvero difficile distinguere un microcontrollore da un ASIC, se il firmware del microcontrollore non è ' t accessibile allutente.
  • @Ben: sai una cosa? Probabilmente dovrei ldn ' non lho detto. La risposta è stata modificata a causa della mia ignoranza. Sono andato con la mia supposizione istintiva dopo aver esaminato il diagramma a blocchi, ma suppongo che sarebbe comunque meglio astrarre qualsiasi potenziale dettaglio UC. Suppongo che solo quelli di FTDI lo saprebbero e suppongo che si tratti di costi di licenza principali rispetto ai tempi di sviluppo interni.
  • Di solito, quando hai un " protocollo " ti ritroverai con un " programma " per gestirlo … anche se ' è in esecuzione su un motore sepolto in profondità in un ASIC o FPGA. Leccezione sarebbero le cose in cui la velocità incredibilmente veloce supera la complessità, dove è probabile che tu veda una macchina a stati o un enorme parallelismo. In mezzo ci sono i motori in cui il percorso di calcolo è costruito in modo sproporzionato rispetto alla logica di controllo – una sorta di idea originale dietro i processori DSP

Risposta

Dentro cè un microcontrollore USB che parla di un protocollo proprietario su USB (da qui la necessità di driver) e lo converte in segnali UART “normali” e viceversa.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *