Bidirektionaler Parallelport

Hallo!

Ich versuche mich gerade am Bau eines EEPROM-"Brenners" für den Parallelport. Um möglichst wenig externe Bauelemente zu verwenden, möchte ich die acht Datenleitungen bidirektional nutzen.

Soweit ich bisher weiß, lassen sich bei bidirektionalen Ports (PS/2 oder abwärtskompatiblen ECP- bzw. EPP-Ports) durch Bit

5 mit Steuerregister (Basis + 2) die Datenleitungen auf Eingang umschalten. Als einfacher Test wird empfohlen, bei gesetztem Bit 5 Daten an den Port zu schreiben, und gleich darauf zurückzulesen. Der geschriebene und der gelesene Wert sollten dabei nicht gleich sein.

Bei meinem Parallelport (Onboard auf aktuellem Mainboard, unterstützt ECP und EPP) ist Bit 5 vorhanden, allerdings ändern sich die Pegel an den Datenleitungen nicht, wenn ich Bit 5 setze. Auch mein Versuch, eine auf +5V gesetzte Datenleitung mit einem ausreichend großen Widerstand (10K) auf Masse zu ziehen, änderte nichts am zurückgelesenen Wert.

Hat jemand einen Tip, wie der bidirektionale Modus richtig angesprochen wird bzw. wie die externe Beschaltung aussehen müßte, damit es funktioniert?

Gruß, Till.

--
e-mail: wollenberg (at) web (punkt) de
Reply to
Till Wollenberg
Loading thread data ...

Till Wollenberg schrieb im Beitrag ...

Man muss das noch freischalten (BIOS bzw. Programm), und ausserdem funktioniert der Test nicht :-)

Gib doch einfach was aus und test per Multimeter das es auch ankommt, aendere dann Bit 5, schliesse Draehte an (HI und LO) und lese ein, was ankommt.

P.S.:

formatting link
(2716-27C8001)

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Schon mal versucht, den Port vorher im BIOS auf EPP umzustellen?

Gruß Lars

Reply to
Lars Mueller

Hallo!

  • "Lars Mueller" schrieb:

Mein BIOS bietet die Modi "Normal", "EPP", "ECP" und "EPP+ECP". Ich habe alle ohne Erfolg probiert.

Gruß, Till.

--
e-mail: wollenberg (at) web (punkt) de
Reply to
Till Wollenberg

Hallo!

  • "MaWin" schrieb:

...

Mein Port läuft im Moment als "ECP+EPP". Das BIOS bietet noch "EPP", "ECP" und "Normal". Ich habe alle Modi mit dem gleichen Ergebnis durchprobiert.

Habe ich gerade nocheinmal getan: an den Pins liegt genau das an, was ich ins Datenregister (0x378) geschrieben habe. Die Werte ändern sich nicht, wenn ich Bit 5 aus dem Steuerregister setze oder lösche.

Der ist nett ;), allerdings für meine Zwecke viel zu viel. Ich plane, den EEPROM über zwei Latches/Buffer (ALS574) für die Adressleitungen (und den Rest direkt an den Port) anzuschließen. Falls ich den bidirektionalen Modus nicht zum Laufen bekomme, muss ich die 8 Datenleitungen über einen LS157 umschalten und mit den

4 am Port vorhandenen Eingängen einlesen. Dazu käme dann noch ein LS245, um den Datenbus für die Dauer des Lesevorgangs vom LPT-Port "wegzuschalten."

Gruß, Till.

--
e-mail: wollenberg (at) web (punkt) de
Reply to
Till Wollenberg

Das gilt aber nur für ECP.

Einen normalen (natürlich bidi-fähigen) Port kann man ohne jegliche Mithilfe irgendeines angeschlossenen Gerätes in den Eingabemodus schalten.

Reply to
Heiko Nocon

Der ECP/EPP-Port muß erst auf "Kompatibilität" mit dem ursprünglichen bdirektionalen PS/2 Printerport geschaltet werden, bevor er so wie von Dir beschrieben zwischen Ein- und Ausgang umgeschaltet werden kann:

// LPT im ECP-Control-Register auf PS/2-Mode setzen // nötig, falls es ein ECP-Port ist tmp:=PortReadB(printerport+$402); tmp:=tmp AND $1F; tmp:=tmp OR $20; // Bidirektionaler Modus = PS/2 PortWriteB(printerport+$402,tmp); // Jetzt PS/2-Modus eingeschaltet... // Auf Eingang schalten und abfragen PortWriteB(printerport+2,$20); data:=PortReadB(printerport); //Wieder auf Ausgang PortWriteB(printerport+2,$0);

printerport ist die Basisadresse des gewünschten LPT-Anschlusses, also $378 für LPT1, $278 für LPT2

Das ganze klappt mit geeigneten Port-I/O-Treibern auch unter Windows NT, 2k, etc.

Gruß

Tassilo

--
µC Assembler-IDE für AVR, 8051, Z80, 8048 =>
http://www.theeg.de/aside/index.html
================================================================
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Reply to
Tassilo Heeg

Hallo!

  • "Tassilo Heeg" schrieb:

Das war's, jetzt läuft es prima. Vielen Dank!

Gruß, Till.

--
e-mail: wollenberg (at) web (punkt) de
Reply to
Till Wollenberg

Hallo, woher bekomme ich denn einen Treiber, der unter XP den Zugriff auf die Parallelschnittstelle erlaubt?

MfG Helge

"Tassilo Heeg" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

Reply to
Helge Brüggemann

Da gibt's einen namens Userport, DL zum Beispiel hier:

formatting link

Hendrik vdH

Reply to
Hendrik van der Heijden

Hallo!

  • "Helge Brüggemann" schrieb:

"Driver LINX PortIO" von sstnet (Freeware) bekommst Du hier:

formatting link

Eine nette "Anleitung" dazu:

formatting link

BTW: Bitte poste kein TOFU. Mehr darüber unter

formatting link

Gruß, Till.

--
e-mail: wollenberg (at) web (punkt) de
Reply to
Till Wollenberg

Das war leider nichts!

Gruß Lars

Reply to
Lars Mueller

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.