Forum: Mikrocontroller und Digitale Elektronik Wie seriellen Datenstrom mit 5,7 MBit einlesen


von Suchender (Gast)


Lesenswert?

Hallo,

ich möchte ohne großen Hardware- und Softwareaufwand einen syncronen 
seriellen Datenstrom mit 5,7 MBit in den PC einlesen.

Gruß

Der Suchende

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> einen syncronen seriellen Datenstrom mit 5,7 MBit in den PC einlesen.
Das packt der PC schon, das sind gerade mal 712 kByte. Soviel RAM wird 
der schon haben. Du mußt die Daten nur hübsch langsam übertragen...

Oder meintest du 5,7 MBit/sec?  :-o

> einen syncronen seriellen Datenstrom
Welche Signale hast du? Daten und Takt?

von Timmo H. (masterfx)


Lesenswert?

>ich möchte ohne großen Hardware- und Softwareaufwand..
wie siehts denn mit Geldaufwand aus? Denn ohne extra PCI(e)/USB Hardware 
wirst du das wohl nicht können.

von Suchender (Gast)


Lesenswert?

Hallo,

@lkmiller
Sind natürlich 5,7 MBit/s.
Es gibt ein Daten- und ein Taktsignal.

@masterfx
Welche USB-Hardware kannst du empfehlen?

Gruß

Der Suchende

von gast2 (Gast)


Lesenswert?

Was für ein Serieller Bus? SPI? I2S?
Für SPI gibt es Schnittstellen mit USB oder PCI Interface. Ansonsten ein 
Mikrocontroller Eval Board mit USB verwenden (z.B. EVK1100 ). Daten über 
die synchrone serielle Schnittstelle einlesen und über USB an den PC 
schicken.

von Timmo H. (masterfx)


Lesenswert?

>Welche USB-Hardware kannst du empfehlen?
USB kenne ich aus dem Stehgreif keine. PCI/PMC etc. hätte ich ein paar 
High Speed Synch/Asynch Serial Interface Karten parat. Kosten so um die 
1000€. Es gibt aber auch schon welche für 400-500€.

von Christian R. (supachris)


Lesenswert?

Ich würde ein kleines CPLD nehmen, was die Daten in 16 Bit Breite 
parallelisiert und diese dann mit dem Cypress FX2 im Slave FIFO Modus 
per USB an den Rechner übertragen. Bei Quad-Buffer hat der 4x512Byte 
FIFO drin, das sollte reichen, um einen kontinuierlichen Datenstrom zu 
garantieren. Ein kleines FPGA mit internem BlockRam als zusätzlicher 
FIFO wist natürlich noch besser.....kleiner Spartan 3e kostet kaum was.

von Suchender (Gast)


Lesenswert?

Hallo,

@gast
Werde mir das EVK1100 anschauen. Schaft die serielle Schnittstelle des 
EVK1100 die 5,7 MBit/s?

@masterfx
Meine preisliche Vorstellung liegt bei so max. 100 -150€. Wenn möglich 
ohne Einbau in den PC, z. B. USB oder PCMIA.

@supachris
Schaue mir den Cypress FX2 mal an.

Gruß

Der Suchende

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das sollte ein FT2232H auch schaffen. Preis etwa 7 EUR.

von Pascal O. (raven761)


Lesenswert?

Nur als Verständnisfrage, könnte man sowas auch muxen? Ich denk da an 
Telefonleitungen die das genauso machen.

von Falk B. (falk)


Lesenswert?

@  Pascal O. (raven761)

>Nur als Verständnisfrage, könnte man sowas auch muxen?

Was soll das bringen?

> Ich denk da an Telefonleitungen die das genauso machen.

Ja und? Multiplexen spart Leitungen, aber keine "Rechenpower".

MFG
Falk

von Pascal O. (raven761)


Lesenswert?

War ja ne Verständnisfrage. Wenn man zuviel Rechenaufwand hätte, könnte 
man den ja auf mehrere Controller verteilen und schließlich wieder 
zusammenführen.. Aber danke trotzdem!

von Falk B. (falk)


Lesenswert?

@  Pascal O. (raven761)

>War ja ne Verständnisfrage. Wenn man zuviel Rechenaufwand hätte, könnte
>man den ja auf mehrere Controller verteilen und schließlich wieder
>zusammenführen.. Aber danke trotzdem!

Das Problem ist nicht die Rechenleistung, die hat jeder 0815 PC heute 
spielend. Das Problem ist die "Bitfummelei". Denn PCs haben dafür keine 
brauchbare Schnittstelle. Also muss die "Drecksarbeit" eine kleine 
Elektronikbox machen und den PC "mundgerecht" per USB mit Daten füttern. 
Dann sind 5,7Mb/s ein Klacks.

MFG
Falk

von Gast (Gast)


Lesenswert?

Da gabs doch mal den LPT. Es gab auch mal einen Joystick-Port.
Das gibt es alle glaube ich auch inzwischen als USB (was für'n Unfug).

Aber da hätte man schonmal Eingänge... vorrausgesetzt so ein LPT über 
USB wäre schnell genug - das weiß ich nicht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Da gabs doch mal den LPT. Es gab auch mal einen Joystick-Port.

Sind beide für die Aufgabe komplett ungeeignet.

> Das gibt es alle glaube ich auch inzwischen als USB (was für'n Unfug).
>
> Aber da hätte man schonmal Eingänge... vorrausgesetzt so ein LPT über
> USB wäre schnell genug - das weiß ich nicht.

So etwas ist für die Aufgabe sogar noch weniger geeignet.

von Gast (Gast)


Lesenswert?

>Sind beide für die Aufgabe komplett ungeeignet.

Soweit ich mich erinnere konnte man die Steuerleitungen als Eingang 
verwenden - warum ist das ungeeignet ? Es gab sogar mal so eine Art 
Netzwerk für Arme, da wurden Rechner über LPT (modernere Varianten EPT 
oder EPP) verbunden. Laplink oder wie das hiess. Wie die 
Übertragungsraten da aussahen kann ich aber nicht sagen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Zwar kann man die Steuerleitungen beim "echten" Parallelport als Eingang 
verwenden, aber das sind reine Binäreingänge, ohne jedwede weitere 
Verarbeitungsfunktion. Die Software müsste sie pollen (sprich: zyklisch 
auf Änderung abfragen), was aufgrund der PC-Architektur (ISA ist immer 
noch nicht tot) selbst unter DOS nicht mit mehr als ein bis zwei MHz 
Abtastrate möglich ist. Unter ernstgemeinten Betriebssystemen bricht 
diese Abtastrate auf bestenfalls ein paar kHz zusammen.

Auch die EEP/ECP-Funktionalität ändert daran nichts.

Bei USB-Paralleldruckeradaptern steht dieser Weg aber erst recht nicht 
zur Verfügung.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?


von Gast XIV (Gast)


Lesenswert?

Also am einfachsten ist es du legst den Datenstrom auf auf die 
Laserdiode von so 'nem DVD Brenner. Dann lässt du ihn mit ca. 20 000 
U/min rotieren und schiebst den Kopf entsprechend weiter.

4,7GB durch 5,7MB/s  = 825s = 13 3/4 Min Aufzeichnungszeit.

In der Zwischenzeit kannst du den zweiten Brenner klarmachen so das du 
auch eine Langzeitaufzeichnung hinbekommst.

Einlesen mit nem Datenrettungstool Das war's.

Alternativ kannst du ja mal verrraten wie lange das ganze gehen soll, 
welche Pegel ankommen und was für Daten da so eintrudeln.

von Christian R. (supachris)


Lesenswert?

Gast XIV schrieb:

...nur Unsinn...


Kurz gesagt: Ohne externe Hardware geht es nicht. Deserialisieren, 
puffern und dann zum PC übertragen.

von Suchender (Gast)


Lesenswert?

Hallo,

travelrec hat den FT2232H vorgeschlagen. Hat jemand Erfahrung damit?
Scheint für mich eine günstige Lösung (in bezug auf Aufwand und Kosten) 
zu sein, wenn der virtuelle COM-Port die geforderte Datenrate schafft,
d. h. kann z. B. bei Visual C die entsprechende Bautrate eingestellt 
werden. Bei Hyperterminal ist bei 921600 Baud schluß, vermutlich wegen 
der PC-Hardware.

Gruß

Der Suchende

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Bei Hyperterminal ist bei 921600 Baud schluß, vermutlich wegen
>der PC-Hardware.

Das liegt nur am Treiber der verwendeten Schnittstellen. Der FT2232H 
bringt eigene Treiber und DLLs mit, die man nach Belieben in eigenen 
Programmen ansprechen und verwenden kann. FTDI wirbt mit 30MBit/s 
Datentransferrate pro Kanal, bei Verwendung einer USB2.0 
Hostschnittstelle. Zwei Kanäle hat der Chip.

von Christian R. (supachris)


Lesenswert?

Naja, direkt an den virtuellen COM Port kannst du das nicht hängen, denn 
da fehlt ja Start und Stopp Bit usw. außerdem ist COM asynchron und dein 
Signal synchron. Eventuell gehts über die SPI, aber das halte ich für 
ausgeschlossen, wenn du keine daten verpassen willst. USB hat den 
gravierenden Nachteil der unberechenbaren Latenzzeiten.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

USB2.0 hat MicroFrames und der FT2232 hat Buffer onChip.

von Christian R. (supachris)


Lesenswert?

Richtig, aber kann der den synchronen Datenstrom pausenlos lesen? Dazu 
muss doch sicher immer erst eine Anforderung an die MPSSE geschickt 
werden? Wie sieht denn der Datenstrom überhuapt aus? Sind da Pausen nach 
den Worten oder ein Chip-Select wie erkennt man, an welcher Bitposition 
man ist? Oder wo kommt das überhaupt her?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.