Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC ed USB: cosa si può fare ?

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteCandy » 8 mar 2011, 18:18

Non mi sono mai avvicinato alla USB con i PIC, anche se, devo dire il vero, tempo addietro avevo dato una sbirciatina, lo avevo trovato molto macchinoso nel software, tanto da prendere buona parte delle risorse, almeno per un PIC16. Ma è anche vero che da allora ne è passata di acqua sotto i ponti.

Vengo al dunque: sono dietro a un mio progetto che dialoga col PC tramite seriale. Tuttavia, mentre vado benissimo se la seriale è integrata col PC, con i convertitori USB/232 faccio una fatica enorme e, pur avendoci speso parecchie ore, sono giuto alla conclusione che non ci sia soluzione.

Ho fatto tutte le prove immaginabile, ho passato praticamente quattro giorni di prove, ma nulla, non trovo il modo di far funzionare i convertitore USB/232 per lungo tempo, senza che il sistema vada nel pallone, mentre, come dicevo, le seriali integrate lavorano a meraviglia. (Nel mio caso sembra che dopo un quantità variabile di byte trasmessi, i buffer interni al sistema del convertitore vadano in crisi e si perdano i pacchetti dati in ingresso).

E' tutto molto suscettibile alla regolazione delle dimensioni dei buffer e dei timeout; ma non è risolvibile. Tanto più che con le recenti API di windows, l'uso della seriale è versamente ristretto e, nel caso dei convertitori c'è di mezzo anche il driver di terze parti che non è affatto accessibile; quindi resta un ostacolo insuperabile.

Detto questo, vorrei allora farmi un processore di coumincazione per interfacciare il PC con il bus dati seriale, passando si tramite USB, ma con tutto un mio software.

Ecco allora la domanda:
Siete in grado di aiutarmi e fornirmi il codice lato PIC/PC per parlare via USB ?
Ovviamente su PIC che hanno la porta USB, è pacifico.
Mi fareste un grosso favore, perché altrimenti devo prendere la cosa in mano e studiarla dall'inizio, che è l'ultimo dei problemi che vorrei mi capitasse in questo momento.

Allora, una notizia: il progetto che ho in mente potrebbe essere interessante per tutta la comunità EY in futuro.
Avatar utente
Foto UtenteCandy
32,4k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10138
Iscritto il: 14 giu 2010, 22:54

0
voti

[2] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteTardoFreak » 8 mar 2011, 18:28

L' Application Library della Microchip e' strapiena di software per USB, e c'e' anche il software per il convertitore USB/seriale. ;-)
Scaricala e dai uno sguardo a:
- USB device - CDC - basic demo
- USB device - CDC - serial emulator

E' gia' fatto, applicabile ai PIC18/24/32
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,4k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15764
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[3] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteCandy » 8 mar 2011, 23:38

Ok, grazie, l'ho trovata.

Non farò un convertitore USB/seriale, ma un interfaccia col mio bus, in modo che il PC diventi a tutti gli effetti un nodo, giusto da non avere più il problema che si presentava con la seriale, non potendo gestire i tempi e le regole del bus semplicemente con windows.
Avatar utente
Foto UtenteCandy
32,4k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10138
Iscritto il: 14 giu 2010, 22:54

0
voti

[4] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto Utentesh4d0w85 » 10 mar 2011, 21:49

Salve,
leggo "non trovo il modo di far funzionare i convertitore USB/232 per lungo tempo, senza che il sistema vada nel pallone", che tipo di convertitore stai utilizzando?
Avatar utente
Foto Utentesh4d0w85
5 2
 
Messaggi: 16
Iscritto il: 9 mar 2011, 20:20

0
voti

[5] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteCandy » 10 mar 2011, 23:44

Uso un Manhattan, (credo si scriva). In effetti Internet pullula di discussioni simili alla mia e, sembra un problema non risolvibile.

Purtroppo ho perso i due convertitori basati su FTDI che sapevo andare molto meglio e, quindi, non ho un elemento di confronto, mentre, per certo, (avendone ancora uno), con un PC che ha la seriale integrata, tutto bene.

Ho notato parecchie differenze regolando e cercando di ottimizzare al meglio i timeout e le dimensioni dei buffer; (anche in altre discussioni se ne parlama), ma nulla, passato un certo numero di pacchetti ricevuti in modo serrato, il sistema va nel pallone. (Parliamo di circa 250 kB ricevuti in circa 10 minuti).

Ora, per completare: non mi sto preoccupando di recuperre altri convertitori con il famigerato FTDI, perché in fin dei conti con la seraile collegata al PC non risolvo molto di più. Quando ho scritto questa e-mail stavo cercando di misurare l'affidabilità di una rete di trasmissione dati concepita in un modo particolare che sto progettando e, siccome ricevevo errori che non mi tornavano, ho speso parecchio tempo per capire che la causa di tutto è il convertitore.

Non so se il chip od il driver, (driver che ho anche aggiornato). Ma tutti i problemi sono in quel componente.
Avatar utente
Foto UtenteCandy
32,4k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10138
Iscritto il: 14 giu 2010, 22:54

0
voti

[6] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteTardoFreak » 10 mar 2011, 23:54

L' implementazione della classe CDC sui PIC e' valida. Non da problemi.
Ho investito molto tempo in questo ed i risultati sono buoni. La classe CDC utilizza il driver usbser.sys e mettere le mani per adattare i programmi gia' forniti da Microchip e' abbastanza facile.
Personalmente l' ho implementato su diverse MPU di diverse famiglie eliminando tutti i vari #ifdef e compilazioni condizionate per tendere il sorgente piu' leggibile.
E' un po' un lavorone ma ... funziona. Ci vuole pazienza ma poi funziona. :ok:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,4k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15764
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[7] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto Utentesh4d0w85 » 11 mar 2011, 0:05

Effettivamente il prodotto manhattan non è proprio il massimo, non ti fidare, io mi orienterei sull'FTDI, a me lavora benissimo e ti metti al sicuro, ma nel caso vuoi riscrivere l'interfaccia mi associo al consiglio di TD, è un ottimo prodotto.
Avatar utente
Foto Utentesh4d0w85
5 2
 
Messaggi: 16
Iscritto il: 9 mar 2011, 20:20

0
voti

[8] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteCandy » 11 mar 2011, 0:09

Quindi, fatemi capire: con la CDC io vedrei il mio PIC, collegato USB, alla stregua di una "falsa" seriale ? E per il PC ? resta una seriale ? O viene indicato come hardware diverso ?
Avatar utente
Foto UtenteCandy
32,4k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10138
Iscritto il: 14 giu 2010, 22:54

0
voti

[9] Re: PIC ed USB: cosa si può fare ?

Messaggioda Foto UtenteTardoFreak » 11 mar 2011, 0:16

La vedi come una vera seriale!
Anzi, il firmware ti permette anche di gestire RTS, CTS velocita', parita' e compagnia cantante se lo vuoi. Se non t' interessa non lo implementi (lasci il firmware cosi' com' e') e tutto funziona a meraviglia.
Ho provato, ho realizzato e riprovato. Funziona bene.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,4k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15764
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite