når seriell RS232 hastighet ikke er nok??

P

priestnot

Guest
Ok her er problemet mitt:

Jeg må prøve 8 digitale signalet (H = 5 V L = 0V) på minimum hastighet 80MHZ.
Jeg bruker et høyhastighets mikro kontrolleren (C8051F131 fra Silicon Laboratories) med ≈ 100MHz eller ≈ 80MHzcrystal.

Signalene som jeg ønsker å prøve er koblet til ett av 8 bit portene på kontrolleren.

Så langt så bra ...
Problemet er at jeg må sende dem til en verts-PC for å behandle dem.

Det jeg trenger å vite er hva som er maksimal hastighet (baudhastighet) til en seriell port?
Kan jeg sende 8bits ved en frekvens på ≈ 100MHz eller ≈ 80MHz?

Jeg tror at det vil være umulig.
Så hva er mine løsninger?

Bruke en USB2.0 Micro-kontrolleren?Men da må jeg få driverne for PC, og jeg vet ikke hvordan du gjør det, er det noen øvelser for det?

En annen løsning er å bruke en seriell til USB omformer som ftdi eller Texas.Men jeg tror at hastigheten begrensning er det samme som en vanlig seriell port.

Den endelige løsningen er å bruke noen slags buffermuligheter systemet.
Hvis hastigheten for prøvetaking er større deretter seriell port speed dens mulig å fylle opp bufferminne Hva kan jeg gjøre for å løse dette problemet?
Finnes det eksterne minnet som aksepterer lese og Wright samtidig?Og har 2 serielle porter for lese-og én for Wright?
Kan jeg bruke det interne data hukommelse å gjøre bufringen?
Hvis hastigheten for prøvetaking er større deretter seriell port speed dens mulig å fylle opp bufferminne Hva kan jeg gjøre for å løse dette problemet?

Er det noen annen løsning?
Hvis du har noen ideer eller kommentar til min løsninger vennligst fortell ...

 
Ditt (opptil) 100MIPs C8051F131 vil ikke kunne passere dataene raskt nok likevel.Du kan ikke behandle en 100MHz signal med 100MIPs del mindre programmet er en instruksjon lang.

 
ja jeg vet at det.dvs hvorfor jeg viste til 80MHz.

Men fortsatt var jeg håper på en løsning på problemet mitt ...Lagt til etter 30 minutter:Ups jeg har gjort noen calcs og jeg antar det er ikke nok.

Hvis C8051F131 jobber med 100MHz krystall, og det har den samme maskinen sykluser som en 80c51, med en kode som dette:

LOOP:
MOV @ ptr, # P1; flyttes til pekeren posisjon i data mem / 2 Machine sykluser
INC ptr; incrementes pekeren til data mem / 1Machine sykluser
SJMP LOOP; tilbake til LOOP / 2 Machine sykluser

witch legger slik ut: (MC = Machine Cycle)
På af = 100MHz => t (1MC) = 1/100MHz = 10ns

så har vi:

LOOP:
MOV @ ptr, # P1, 2 Machine sykluser = 20ns
INC ptr; 1Machine sykluser = 10ns
SJMP LOOP, 2 Machine sykluser = 20ns

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

nynne er det noen løsning for å øke hyppigheten av prøvetaking??
og hvis du har noen løsninger for det første spørsmålet hva man skal gjøre når seriell port hastighet ikke er nok.

 
Du ser ut til å glemme at en PC kan ikke lese data på at tempoet på seriell-og USB-porter ...

Hva er hensikten med ditt design?

 
Som sagt, det kan verken overtatt av en 100 MHz LP eller behandlet av en PC av hastighet.Den nødvendige gjennomstrømning er ca 4 bestillinger av omfanget over en vanlig RS232, så spørsmålet tittel er en fin understatement.

Anskaffe og preprocessing av data må være utført av dedikert maskinvare henholdsvis programmerbar logikk,
f.eks en FPGA.Men du bør ha en sannsynlig idé om hvor du skal plassere behandlet før et design.

 
Når RS232 er ikke rask nok deretter USB eller Firewire er mye raskere.

 
OK-prosjektet er å lage en logisk analysator.
Som i Sayd før jeg alredy vet at RS232
isnt raskt nok.

Så hva er mine muligheter?

bruke noen slags buffer?bruke en USB microcontroler?
sin sopouse å være en billig maskinvare.for eksempel hvis du ser THA prosjektet bitsope det har et bilde for prøvetaking.så hvordan de gjorde det?
http://www.bitsope.com

 
Det synes for meg, som du ikke forstår ennå hva flaskehalsene i en logikk analysator er.For prosjektet, det
er ganske nødvendig for å forstå det!

La meg nevne noen søkeord første:
1.Clocking
2.Utløsende
3.Datalagring

1.Mest logiske analyser har en mulighet til å bruke en ekstern klokke fra programmet alternativt til en intern klokke.Det
er nødvendig hvis du vil anskaffe en signal, som
f.eks raskere enn 1 / 10 av din logikk analysator maksimal samplingsfrekvens.Det kan utelates dersom LA er beregnet for asynkron eller trege programmer bare

2.Et egnet utløser logikk er nødvendig i de fleste tilfeller å oppdage hendelser fra bitstrømmer fram til LA og starte eller stoppe oppkjøpet.Det har til å operere i sanntid ved prøvetaking hastighet vanligvis.

3.Det viktigste punktet er dataene banen.Du må opprette en datalagring av tilstrekkelig kapasitet som kan skrive data kontinuerlig av samplingsfrekvensen.Det
er faktisk umulig å lagre data på 100 MB / s på en PC som kjører en standard OS, selv om grensesnittet vil være raskt nok (Gigabit Ethernet eller PCI Express har en troughput i denne regionen).Og 100 MB / s er ikke nok for en rask LA.Dermed et eget lokale datalagring er nødvendig.

Som et resultat av en FPGA, trolig supplert med raske eksterne minnet, er et hensiktsmessig design plattformen for en lav pris LA.Forårsake dataoverføring til å styre PC-er frigjort fra sanntid krav, kan det bruke alle tilgjengelige kanaler, selv RS232.Men et raskere grensesnitt (USB, Ethernet) er å foretrekke, selv om det er behov for ekstra maskinvare og støtte logikk.

En USB mikroprosessor med rask data grensesnitt, for eksempel en Cypress FX2 kunne fungere som kontroll-og data-kanal og også utføre FPGA konfigurasjon.

 
Som fvm har forklart, en logikk analysator er ingen enkel oppgave.
Her er en som du kunne ha som referanse: http://www.pctestinstruments.com/
Kan du slå den prisen ...?

 
Du bør se Oscillscope på www.fpga4fun.com.
De er i utgangspunktet den samme hardware.They sample data på 100MSPS og sende den til PC 115.2Kbps.Also Jeg tror det er en Logic Analyzer Core på www.opencores.org. The FPGA trenger ikke ekstern minne og om nødvendig være deg nødt til å foreta en frittstående enhet kan du bruke en SOFTCORE så prøv FPGA.I foreslår spartansk 3AN fra Xilinx som det er nonvolatile og veldig rask.

 
For litt inspirasjon, kan du sjekke ut også http://miniLA.sourceforge.net

JW

 

Welcome to EDABoard.com

Sponsor

Back
Top