Vai Indietro   PcTuner Forum > Sezione Hardware > Programmazione PIC
PcTuner Overclock
Arcade Registrazione Blogs Regolamento Feedback FAQ Lista Utenti Calendario Segna come Letti

Ultimi 5 blog pubblicati su PcTuner Blog
Data Titolo

Rispondi
 
Strumenti Discussione Modalità Visualizzazione
Vecchio 21-05-2009, 21.28.05   #341
Registered User
 

Iscritto da: 18-05-2009
Messaggi: 4
Feedback: (0)
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.
superkoopa Non in Linea   Rispondi Citando

Advertising
Vecchio 22-05-2009, 09.07.53   #342
Tuned Moderator
 
L'avatar di  naimah
 

Iscritto da: 21-08-2006
Locazione: Pistoia
Messaggi: 1,771
Feedback: (1)
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!
__________________
naimah Non in Linea   Rispondi Citando
Vecchio 22-05-2009, 11.18.36   #343
Registered User
 

Iscritto da: 24-04-2008
Messaggi: 100
Feedback: (0)
Quote:
Originariamente inviato da superkoopa Visualizza Messaggio
Con questo metodo non riesco ad andare oltre i 200 byte al secondo piu o meno
Come posso fare una scansione real-time senza perdere troppi campioni?
devo per forza riempire un array e poi svuotarlo in blocco?

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
andreabianchi19 Non in Linea   Rispondi Citando
Vecchio 22-05-2009, 21.16.32   #344
Registered User
 

Iscritto da: 18-05-2009
Messaggi: 4
Feedback: (0)
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...
superkoopa Non in Linea   Rispondi Citando
Vecchio 17-08-2009, 14.07.19   #345
Registered User
 

Iscritto da: 04-06-2006
Messaggi: 43
Feedback: (0)
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
Files Allegati
Tipo di File: pdf usb.pdf‎ (41.8 KB, 13 visite)
marcustv Non in Linea   Rispondi Citando
Vecchio 20-08-2009, 07.24.28   #346
Registered User
 

Iscritto da: 04-06-2006
Messaggi: 43
Feedback: (0)
Problema risolto ......
marcustv Non in Linea   Rispondi Citando
Vecchio 21-08-2009, 10.31.32   #347
Registered User
 

Iscritto da: 21-08-2009
Messaggi: 6
Feedback: (0)
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.
MarcoPICXXX Non in Linea   Rispondi Citando
Vecchio 22-08-2009, 12.28.03   #348
Registered User
 

Iscritto da: 04-06-2006
Messaggi: 43
Feedback: (0)
Per il MicroC ti conviene guardare qui ....
[HID] Terminale LCD via USB con 18F4550
marcustv Non in Linea   Rispondi Citando
Rispondi 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

Regole di scrittura
non Puoi inserire messaggi
non Puoi rispondere ai messaggi
non Puoi inviare allegati
non Puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Disattivato
Pingbacks are Disattivato
Refbacks are Disattivato
Vai al Forum


Tutti gli Orari sono GMT +1. Attualmente sono le 11.43.25.


Powered by vBulletin Versione 3.6.12
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright © 2009 - Master New Media S.r.l. a socio unico - P.I. 02947530784. Tutti i diritti di proprietà letteraria e artistica sono riservati- Privacy
www.pctuner.net è testata telematica registrata presso il Tribunale di Torino, n. 39 del 07.05.2008, Editore Master New Media S.r.l.