|
|
|
![]() |
|||||||
| Arcade | Registrazione | Blogs | Regolamento | Feedback | FAQ | Lista Utenti | Calendario | Segna come Letti |
| Ultimi 5 blog pubblicati su PcTuner Blog | ||||||
|
||||||
![]() |
|
|
Strumenti Discussione | Modalità Visualizzazione |
|
|
#341 |
|
Registered User
|
ciao!
Hai ragione 200 non sono pochi se si deve campionare 10hz... il fatto è che io avrò a che fare con un rivelatore di particelle che una volta rivelate amplificate e filtrate avranno una durata compresa fra i 5 us e i 100 us. Abbiamo deciso di usare un ADC da 12 bit 25 Megasamples, una ram esterna un gestore di indirizzi autonomo e un pic32. Sulla digitalizzazione del segnale analogico e sulla relativa memorizzazione non ho dubbi , se ne occuperanno l'ADC,la RAM e il gestore di indirizzi. Cio che mi preoccupa è quanto velocemente il pic può leggere i dati da una porta e inviarli tramite USB. Quello che sto facendo ora è smanettare un po con un ADC a 8 bit connesso direttamente al 18f4550 giusto per imparare. Dev'essere per forza VB a occuparsi dei processi di comunicazione col pic? Cioè... VB dice al pic "ok sono pronto a ricevere" e il pic "ok sono pronto a spedire" "ok allora manda" "ok ora mando" "dai, grazie" "figurati" . Sono davvero cosi deficienti i computers? ![]() non è che posso far andare il pic autonomamente e VB si accorge che è arrivato qualcosa? comunque questo è il mio codice a grandi linee: Codice:
while(1){
if ((ReadTimer0())<128){
PORTA=0b00000001; //RA0 è il clock dell ADC
a=0;
}
else
PORTA=0b00000000;//RA0 è il clock dell ADC
if(ReadTimer0()>=128 && a==0 && j<64){
USB_Out_Buffer[j]=PORTB;
j++;
a++;
}
if(j==64){
ProcessIO();
j=0;
}
}
...
void ProcessIO(void)
{
if(mUSBUSARTIsTxTrfReady())
mUSBUSARTTxRam((BYTE*)USB_Out_Buffer,64);
CDCTxService();
}
Ultima Modifica di naimah : 22-05-2009 08.45.36. |
|
|
|
| Advertising | |
|
|
|
|
|
#342 |
|
Tuned Moderator
|
Ricordati sempre di utilizzare gli appositi tag #code per postare il codice
__________________![]() Il protocollo di comunicazione puoi realizzarlo come vuoi, una volta che hai stabilito il collegamento puoi inviare dati in modo casuale e diretto, non è assolutamente necessario gestire l'handshake di cui parli... Semplicemente, puoi decidere tu come fare! |
|
|
|
|
|
#343 | |
|
Registered User
|
Quote:
Ciao, ho fatto anche io una tesi utilizzando l'USB e il PIC18F4550. Ho avuto un problema che credo simile al tuo...io effettuavo lettura continua dei dati provenienti da un ASIC che venivano letti serialmente dal PIC e poi reinviati al PC tramite USB (tra PIC ed ASIC c'erano anche 7 linee di controllo)...Posso dirti che il tempo minimo che trascorreva tra l'innalzamento dell'uscita del PIC e il successivo abbassamento (due eventi realizzati con due istruzioni una dopo l'altra in VB) era un tempo relativamente 'casuale' compreso tra 5 e 10 ms... Questo però utilizzando il PIC come dispositivo seriale emulato (ho utilizzato un firmware messo a disposizione di Microchip)...A quanto vedo dal codiced che hai inserito mi sembra tu stia utilizzando il dispositivo come seriale emulata utilizzando USB, esatto? Se sì purtoppo quei limiti temporali sono intrinseci alla tipologia di firmware e ai driver... Andrea |
|
|
|
|
|
|
#344 |
|
Registered User
|
si sto usando il CDC.Precisamente ho modificato un progetto che trovi assieme ai driver usb.Credo si chiami PICDEM FS USB cdc basic demo. ho tolto tutte le schifezze per far lampeggiare i led e ho modificato solo il main e il ProcessIO. comunque alla fine ci sono riuscito, tranne che VB mi plotta in maniera strana. Riesco a visualizzare correttamente frequenze fino a 10 Hz poi pero ci sono frequenze che visualizza correttamente e altre no. Sembra quasi che riesca a visualizzare frequenze multiple di una certa frequenza.
Dico questo perchè stranamente con un clock all ADC di 1kHz(quindi 1000 campioni al secondo) sono a riuscito a campionare qualcosa vicino ai 10kHz! mah... |
|
|
|
|
|
#345 |
|
Registered User
|
Ho caricato il firmware sul pic.
Quando collego la porta USB al PC i led collegati su RD0 e RD1 lampeggiano, il pc rileva il nuovo componente USB, ma non ne vuole sapere di caricare il diriver mchpcdc.inf .... Allego un pdf di descrizione del problema nel caricamento del driver Ho provato ad installare il tutto anche su un altro pc .... stesso problema. Come scheda uso una Easypic5 |
|
|
|
|
|
#347 |
|
Registered User
|
Richiesta informazioni
Salve a tutti.Sono nuovo del forum.Devo interfacciare il 18F2550 al pc tramite cavo usb.Ho notato che il tool HIDTerminal di mikroC consente di creare il file USBdsc.c contenente i parametri del HID.Non riesco peròa utilizzare il file.Come lo devo utilizzare?Devo modificarlo?Come devo includerlo nel mio progetto?Qualcuno potrebbe postare qualche esempio semplice e elementare per comprendere questi concetti?Ringrazio anticipatamente.
|
|
|
|
|
|
#348 |
|
Registered User
|
Per il MicroC ti conviene guardare qui ....
[HID] Terminale LCD via USB con 18F4550 |
|
|
|
![]() |
Per le vostre immagini su questo forum potete usare PcTunerUp! Iscriviti gratuitamente alla nostra newsletter. |
| Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori) | |
| Strumenti Discussione | |
| Modalità Visualizzazione | |
|
|