- Messaggi: 10
- Ringraziamenti ricevuti 0
Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa
7 Anni 11 Mesi fa - 7 Anni 11 Mesi fa #1
da Di_Fi
Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa è stato creato da Di_Fi
Salve a tutti
Da poco tempo sono riuscito a compilare e caricare sul modulo easy usb di Mauro il firmware che implementa il protocollo usb cdc. E tutto funziona alla grande. Certamente non grazie a me. Grazie al visual studio ho la possibilità di modificare la parte host della comunicazione ossia la visualizzazione dei dati trasmessi. Ma qui viene la delusione. Ho fatto un test sulla velocità di trasmissione inviando in un loop senza ritardo la frase ciao mondo. E, sorpresa,la velocità di trasmissione è di 12000 bit al secondo circa. Ho settato la velocità parte host a 115200 bit al secondo e lo stesso ho fatto nella parte firmware. La velocità è inchiodata. Quindi mi chiedo: a cosa serve utilizzare l'usb 2.0 se poi la velocità è quella di una seriale scarsa? Sono io che ignoro qualcosa? Probabile. Qualcuno mi indirizzi. Ho letto un centinaio di pagine di usb complete ma credo che qualcuno che ci lavora potrebbe chiarirmi qualche dubbio.
Grazie a tutti
Davide
Da poco tempo sono riuscito a compilare e caricare sul modulo easy usb di Mauro il firmware che implementa il protocollo usb cdc. E tutto funziona alla grande. Certamente non grazie a me. Grazie al visual studio ho la possibilità di modificare la parte host della comunicazione ossia la visualizzazione dei dati trasmessi. Ma qui viene la delusione. Ho fatto un test sulla velocità di trasmissione inviando in un loop senza ritardo la frase ciao mondo. E, sorpresa,la velocità di trasmissione è di 12000 bit al secondo circa. Ho settato la velocità parte host a 115200 bit al secondo e lo stesso ho fatto nella parte firmware. La velocità è inchiodata. Quindi mi chiedo: a cosa serve utilizzare l'usb 2.0 se poi la velocità è quella di una seriale scarsa? Sono io che ignoro qualcosa? Probabile. Qualcuno mi indirizzi. Ho letto un centinaio di pagine di usb complete ma credo che qualcuno che ci lavora potrebbe chiarirmi qualche dubbio.
Grazie a tutti
Davide
Ultima Modifica 7 Anni 11 Mesi fa da Di_Fi. Motivo: Titolo errato
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Di_Fi
- Autore della discussione
- New Member
Riduci
Di più
7 Anni 11 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa
Salve Davide,
...ignori qualcosa!
Premetto che non so come tu misuri la velocità e i bit trasmessi.
La classe CDC fa uso della modalità di trasmissione USB di tipo Bulk.
questa è la più veloce ma può essere anche la più lenta visto che non ti garantisce una trasmissione dati costante.
Il tutto viene a dipendere dal bus. Se sullo stesso hub hai più periferiche, il controller divide le risorse per ogni periferica.
Detto questo, quando imposti per esempio 115200 bits/s non significa che ne hai altrettanti ogni secondo ma solo che i byte trasmessi avranno quella frequenza.
Per cui potresti avere due soli byte inviati a 115200 bits/s come anche di più.
Questo significa che al variare del bit rate sicuro cambia l'ampiezza del bit ma non necessariamente la mole dei dati trasmessi.
Saluti,
Mauro
...ignori qualcosa!
Premetto che non so come tu misuri la velocità e i bit trasmessi.
La classe CDC fa uso della modalità di trasmissione USB di tipo Bulk.
questa è la più veloce ma può essere anche la più lenta visto che non ti garantisce una trasmissione dati costante.
Il tutto viene a dipendere dal bus. Se sullo stesso hub hai più periferiche, il controller divide le risorse per ogni periferica.
Detto questo, quando imposti per esempio 115200 bits/s non significa che ne hai altrettanti ogni secondo ma solo che i byte trasmessi avranno quella frequenza.
Per cui potresti avere due soli byte inviati a 115200 bits/s come anche di più.
Questo significa che al variare del bit rate sicuro cambia l'ampiezza del bit ma non necessariamente la mole dei dati trasmessi.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
7 Anni 11 Mesi fa #3
da Di_Fi
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Di_Fi al topic Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Di_Fi
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 10
- Ringraziamenti ricevuti 0
7 Anni 11 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa
L'host del PC ha un Hub (root Hub), per cui dividi comunque le tue risorse con il resto delle periferiche USB collegate.
Mouse, tastiera, webcam...potresti avere anche due root hub ma non sono sicuro.
Il codice per la misura della velocità è piuttosto complesso sebbene non veda funzioni bloccanti i calcoli float sono lenti.
128Khz...la funzione sotto non credo vada tanto veloce.
Controlla il numero di istruzioni necessarie.
...le istruzioni sotto sono di suo già un cono di bottiglia.
Il prossimo articolo è proprio sul protocollo USB.
E' finito ma devo fare le immagini e...questo è il mio cono di bottiglia.
Saluti,
Mauro
Mouse, tastiera, webcam...potresti avere anche due root hub ma non sono sicuro.
Il codice per la misura della velocità è piuttosto complesso sebbene non veda funzioni bloccanti i calcoli float sono lenti.
128Khz...la funzione sotto non credo vada tanto veloce.
Controlla il numero di istruzioni necessarie.
...le istruzioni sotto sono di suo già un cono di bottiglia.
Il prossimo articolo è proprio sul protocollo USB.
E' finito ma devo fare le immagini e...questo è il mio cono di bottiglia.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
7 Anni 11 Mesi fa #5
da Di_Fi
Risposta da Di_Fi al topic Implementazione microchip firmware cdc ed Easyu: velocità di trasmissione scarsa
Non vedo l'ora di leggerlo.
In realtà mi sono accorto solo ora che il codice stampa la velocità in bit/s ma in realtà calcola tale velocità ogni 50 tick del timer in Byte/s e a questo punto già si avvicina (almeno sul mio portatile) a qualcosa di accettabile. Non ci avevo fatto caso.
Ti ringrazio per le risposte
Davide
In realtà mi sono accorto solo ora che il codice stampa la velocità in bit/s ma in realtà calcola tale velocità ogni 50 tick del timer in Byte/s e a questo punto già si avvicina (almeno sul mio portatile) a qualcosa di accettabile. Non ci avevo fatto caso.
Ti ringrazio per le risposte
Davide
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Di_Fi
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 10
- Ringraziamenti ricevuti 0
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024