mikrocontroller.net

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


Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: gast2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht 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€.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte ein FT2232H auch schaffen. Preis etwa 7 EUR.

Autor: Pascal O. (raven761)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pascal O. (raven761)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gast XIV (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast XIV schrieb:

...nur Unsinn...


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

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
USB2.0 hat MicroFrames und der FT2232 hat Buffer onChip.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.