seriale RS232 quando la velocità non è sufficiente?

P

priestnot

Guest
Ok qui è il mio problema:

Ho a campione 8 segnale digitale (H = 5V L = 0V) ad una velocità minima di 80MHZ.
Sono ad alta velocità utilizzando un micro-controllore (C8051F131 da Silicon Laboratories), con una ≈ ≈ 100MHz o 80MHzcrystal.

I segnali che i desideri di campione sono collegati ad una delle porte a 8 bit del controllore.

Fin qui tutto bene ...
Il problema è che ho bisogno di quei valori di inviare ad un PC host, al fine di elaborarli.

Che cosa ho bisogno di sapere qual è la massima velocità (baud rate) di una porta seriale?
Posso inviare 8bits ad una frequenza di 100MHz o ≈ ≈ 80MHz?

Credo che sarà impossibile.
Che cosa sono le mie soluzioni?

Utilizzando un controller
USB 2.0 Micro?Ma poi devo fare i driver per il PC e non so come fare,
c'è qualche tutorial per questo?

Un'altra soluzione è utilizzare un convertitore seriale
/ USB, come il Texas o ftdi.Ma penso che la limitazione della velocità è la stessa come una normale porta seriale.

La soluzione finale è quello di utilizzare una sorta di sistema di buffering.
Se la velocità di campionamento è maggiore quindi la porta seriale di velocità è possibile riempire il buffer di memoria Che cosa posso fare per risolvere questo problema?
C'è una memoria esterna che accetti di leggere e Wright allo stesso tempo?E dispone di 2 porte seriali per uno e uno per leggere Wright?
Posso utilizzare i dati di memoria interna per fare il buffering?
Se la velocità di campionamento è maggiore quindi la porta seriale di velocità è possibile riempire il buffer di memoria Che cosa posso fare per risolvere questo problema?

C'è qualche altra soluzione?
Se avete idee o commenti al mio soluzioni fare attenzione a dire ...

 
Il tuo (fino a) 100MIPs C8051F131 non sarà in grado di trasmettere i dati comunque abbastanza veloce.Non è possibile elaborare il segnale di 100MHz con un 100MIPs parte a meno che il programma è una istruzione lungo.

 
sì lo so che.thats il motivo per cui ho sottolineato a 80MHz.

Ma ancora i sperava di trovare una soluzione per il mio problema ...Aggiunto dopo 30 minuti:Ups ho fatto alcuni calcs e indovinare i suoi non basta.

Se il lavoro è C8051F131 con un 100MHz cristallo, e ha la stessa macchina che una 80c51 cicli, con un codice simile a questo:

LOOP:
MOV @ PTR, # P1; si sposta il puntatore nella posizione di memoria dati / 2 Macchina Cycles
INC PTR; incrementes il puntatore ai dati mem / 1Machine Cycles
SJMP LOOP; torna al LOOP / 2 Macchina Cycles

strega aggiunge in questo modo: (MC = ciclo macchina)
Al af = 100MHz => t (1MC) = 1/100MHz = 10ns

così abbiamo:

LOOP:
MOV @ PTR, # P1; 2 Cicli Macchina = 20ns
INC PTR; 1Machine Cicli = 10ns
SJMP LOOP; 2 Cicli Macchina = 20ns

t (5MC) = 20ns
10 ns =
20 ns = 50ns> f (loop) = 1/50ns = 20Mhz

Hum vi è alcuna soluzione ad aumentare la frequenza di campionamento?
e se avete delle soluzioni per la prima domanda che cosa fare quando la velocità della porta seriale non è sufficiente.

 
È sembrano dimenticare che un PC non può leggere i dati al ritmo che sulla sua seriale e USB ...

Qual è lo scopo della vostra progettazione?

 
Come detto, i dati possono essere acquisiti né da un LP 100 MHz o trasformati da un PC alla velocità.Il volume richiesto è di circa 4 ordini di grandezza al di sopra di un abituale RS232,
in modo che la questione è un bel titolo understatement.

L'acquisizione e elaborazione dei dati deve essere effettuata da hardware dedicati, rispettivamente, logiche programmabili, ad esempio, un FPGA.Ma si dovrebbe avere una plausibile idea di dove collocare i dati prima di iniziare un disegno.

 
Quando RS232 non è abbastanza veloce quindi USB o Firewire sono molto più veloce.

 
ok il progetto è quello di fare un analizzatore logico.
Come i sayd già prima di sapere che i RS232
isnt abbastanza veloce.

affermativo, quali sono le mie possibilità?

utilizzare una sorta di tampone?usare un USB microcontroler?
sopouse suo essere un hardware a basso costo.per esempio se vedi tha progetto bitsope ha un pic per il campionamento.così come hanno fatto?
http://www.bitsope.com

 
Sembra a me, che non hai ancora capito che cosa le strozzature di un analizzatore di stati logici sono.Per il progetto, è piuttosto necessario per capire!

Permettetemi di citare alcuni prime parole chiave:
1.Clocking
2.Trigger
3.L'archiviazione dei dati

1.La maggior parte degli analizzatori logici hanno la possibilità di utilizzare un clock esterno dal campo di applicazione in alternativa ad un orologio interno.E 'necessario se si vuole acquisire un segnale, ad esempio, che è più veloce di 1 / 10 della tua logica analizzatore massima frequenza di campionamento.Essa può essere omessa, se il LA è stato progettato per le applicazioni in modo asincrono o solo lento,

2.Un dispositivo di questo tipo di attivazione logica è necessario nella maggior parte dei casi di individuare eventi dal bitstreams presentato a Los Angeles e avviare o interrompere l'acquisizione.Si è di operare in tempo reale a velocità di campionamento di solito.

3.Il punto più importante è il percorso dei dati.È necessario istituire una banca dati di una sufficiente capacità di stoccaggio che possono scrivere i dati in modo continuo il tasso di campionamento.E 'effettivamente impossibile conservare un flusso di dati di 100 MByte / s ad un PC che esegue un sistema operativo standard, anche se l'interfaccia è abbastanza veloce (o Gigabit Ethernet PCI Express hanno un troughput in questa regione).E 100 MByte / s non è sufficiente per un rapido LA.Pertanto, un locale dedicato la memorizzazione dei dati è necessario.

Come risultato, un FPGA, probabilmente completato da veloce memoria esterna, è una piattaforma di progettazione appropriati per un basso costo LA.Causa di trasmissione dati al PC di controllo è liberato dal tempo reale, esso può avvalersi di ogni canale disponibile, anche RS232.Ma una più veloce interfaccia (USB, Ethernet) è preferibile, anche se ha bisogno di hardware aggiuntivo e sostenere logica.

Un microprocessore USB con una veloce interfaccia dati, ad esempio, un Cypress FX2 potrebbe fungere da canale di controllo e di dati e di eseguire anche la configurazione FPGA.

 
FVM Come ha spiegato, un analizzatore di logica non è compito facile.
Ecco quello che si potrebbe avere come riferimento: http://www.pctestinstruments.com/
Can you beat che prezzo ...?

 
Si dovrebbe vedere la Oscillscope su www.fpga4fun.com.
Essi sono essenzialmente le stesse hardware.They a campione i dati 100MSPS e la invia al PC 115.2Kbps.Also Credo ci sia una Core Logic Analyzer a www.opencores.org. La FPGA non ha bisogno di memoria esterna e se necessario si Devo fare una unità stand-alone è possibile utilizzare un Softcore così provare il FPGA.I suggerire la spartana 3AN da Xilinx in quanto è molto veloce e non volatile.

 
Per alcuni di ispirazione, si potrebbe voler dare
un'occhiata anche http://miniLA.sourceforge.net

JW

 

Welcome to EDABoard.com

Sponsor

Back
Top