mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Parallelport im EPP-Modus


Autor: Stefan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte einen kontinuierlichen Datenstrom von ca. 1MBit/s in einen
PC einlesen. Da das Ganze ein Testaufbau werden soll, an dem sich evtl.
noch einiges ändern wird, habe ich (wegen einfacher Realisierbarkeit auf
Lochraster) erstmal von USB Abstand genommen und mir den Parallelport im
EPP-Modus angeschaut. Die Hardware, die das Signal seriell-parallel
wandelt und das EPP-Handshake macht, funktioniert zumindest in der
vhdl-Simulation schon und wird vermutlich auf einem XC9572-cpld
realisiert.
Die Datenrate selbst (wohlgemerkt 1MBit/s, nicht MByte/s!, d.h
125kByte/s) sollte ja kein Problem sein, ich frage mich nur, ob ich
mich darauf verlassen kann, dass die Daten kontinuierlich eingelesen
werden, da ich ja keinen Buffer habe, der kurze Stockungen im Transfer
auffangen könnte.
Afaik hat der EPP-Modus im Gegensatz zu ECP keine Möglichkeit, den Fifo
des Parallelport zu verwenden, habe ich das richtig verstanden?
(Quelle: http://www.beyondlogic.org/epp/epp.htm)
Evtl. werde ich das Ganze einfach mal aufbauen und im cpld einen Zähler
einbauen, der kontinuierlich seinen Wert an den EPP ausgibt, um zu
testen, ob da was verschluckt wird.

Gruß,
Stefan

Autor: DirkD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

125 KByte/s könnten funktionieren. Allerdings kann Dir manchmal das OS
und der Parallel-Port Probleme machen.

Ich war an der Entwicklung eines Gerätes beteiligt, daß an den PPort
angeschlossen wurde und EPP zur Übertragung genutzt hat. Dabei haben
wir besonders auf Notebooks öfters erlebt, daß das Gerät nicht
funktionierte und die Signal auf dem Oszi nicht sehr gut aussahen.

Dazu kommt noch, daß Dein Programm zum Auslesen von einem OS wie
Windows öfters unterbrochen wird. Das könnte zu Aussetzern führen.

Und ab WinXP versucht Windows auf dem Parallel-Port neue Geräte zu
finden. Dazu nutzt es den IEEE1284 Negotiation-Mode. D. h. es wird an
C17 (EPP-Adress-Strobe) "wackeln". Das könnte Dir auch Probleme
bereiten. Das läßt sich mit einem eigenen Device-Treiber umgehen.

Viele Grüße

     Dirk

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.
   "Ich frage mich nur, ob ich mich darauf verlassen kann, dass
   die Daten kontinuierlich eingelesen werden, da ich ja keinen
   Buffer habe, der kurze Stockungen im Transfer auffangen könnte."

Das hängt ganz stark davon ab, ob und was für ein Betriebssystem auf
Deinem PC läuft.

Bei 125 kByte/sec liegen zwischen zwei Bytes gerade mal 8 µsec - einen
kontinuierlichen Zugriff mit diesem Raster wirst Du unter einem
ernstgemeinten Betriebssystem nur hinbekommen, wenn Du auf
Devicetreiberebene arbeitest. Mit einem normalen Usermode-Programm ist
das völlig ausgeschlossen.

Wenn kein Betriebssystem vorhanden ist (also DOS oder dergl. läuft),
dann hast Du zumindest Chancen, daß so etwas klappt, Du darfst nur
nicht gleichzeitig irgendwelche anderen Aktivitäten entwickeln wollen.
Massenspeicherzugriffe beispielsweise sind sehr langsam und im
Zeitverhalten nicht vorhersagbar.

Fazit:

Vergiss' den Parallelport, der ist eine "Mehrzweckschnittstelle" -
für mehrere Zwecke ungeeignet.

Spring' über Deinen Schatten, baue zumindest einen kleinen Testadapter
mit SMD-Technik auf (oder kaufe ihn) - und zwar einen, auf dem ein FTDI
FT245BM verbaut ist.
Das Teil hat einen Fifo, der mit einer µC- (und sicherlich auch
CPLD-)tauglichen Parallelschnittstelle beschrieben und gelesen werden
kann, und auf der PC-Seite werden ausreichend gut dokumentierte
Devicetreiber mitgeliefert.

Autor: Stefan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erstmal vielen Dank für eure Meinungen. Also das OS wird Linux sein,
und ein kleiner Devicetreiber wäre auch nicht so das Problem.
Allerdings lohnt es sich wohl nicht, für das bischen eingesparten
Hardwareaufwand die Softwareseite zu komplizieren ohne die Gewissheit,
dass es dann auch  funktioniert.
Ich werde dann wahrscheinlich auf USB umschwenken.
@Rufus: Ja, ich habe mir den FT245BM schon angeschaut, ist auf jeden
Fall genauso einfach wie der EPP cpld-mässig anzusteuern und ich
bekomme noch nen Buffer gratis - also genau das was ich will :-)

Gruss,
Stefan

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo bei dem datenstrom wirst du auch ne hohe cpu auslastung haben ...

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

einen kontinuierlichen Datenstrom wirst du nicht hinbekommen können.
Der Hauptgrund ist das Ram Refresh, dazu braucht der Rechner den Bus
und in der Zeit ist kein Io möglich. Ich habe eine 16 Bit Da- EA mit
Rampuffern gelöst und habe noch einen Oszischirmabzug von einer gerade
stattfindenden Unterbrechund beim Ramrefresh. Sind zwar nur 70µS aber
an der richtigen zeitlichen stelle eben nicht tolerierbar. PPort geht
NICHT für kontinuierlich ohne Puffer!

Falls Du das Schaltbild für die Anbindung PPort extern möchtest, stelle
ich es hier rein.

MfG Manfred Glahe

Autor: Stefan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred,

danke für das Angebot. Aber ich werde wohl eher die USB-Variante
wählen, da hab ich in einem Chip schon den Puffer drin. Werde mir
wahrscheinlich von http://www.elk-tronic.de eine Adapterplatine für den
ftdi-Chip (oder gleich ein fertiges Modul) bestellen.
Trotzdem würde ich rein aus Interesse das Schaltbild gerne sehen (aber
nur, wenn du es nicht erst rauskramen usw. musst).

Gruss,
Stefan

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

im Anhang das Schaltbild.

MfG Manfred Glahe

Autor: Stefan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manfred,

danke für den Schaltplan!

Stefan

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.