PC-Interface Problem

Feb 21, 2005 21 Replies

Hallo zusammen,



ich habe mir für meinen alten TI-74 (BASIC-Taschenrechner) ein PC-Interface gebaut, so dass ich Daten zwischen PC und TI-74 über den Parallelport austaschen kann. Die PC-Software ist original TI von 1988. Problem:



Das Interface werkelt an meinem alten 486DX33 Laptop ganz hervorragend, mit dem Athlon 1600 PC geht es aber überhaupt nicht. Dabei habe ich alle BIOS-Einstellung für den Parallelport ausprobiert.



Ich weiß nun nicht, wo ich suchen soll. Mein Verdacht fällt auf die Software in Verbindung mit dem schnellen Prozessor. Ich kann aber natürlich meine selbstgebaute Hardware nicht als Fehlerquelle ausschließen.



Den Schaltplan des Interface findet ihr unter



formatting link



Einen Nachbaufehler schließe ich mittlerweile aus, das habe ich mehrfach überprüft und auch nachgemessen. Kann es tatsächlich sein, dass diese Schaltung an einem Port sehr gut und an einem anderen gar nicht funktioniert? Oder stimmt ihr meiner Theorie zu, dass die Software mit dem schnellen Prozessor Probleme hat?


MfG / Regards



Peter Engels


This OS/2 system uptime is 00 hours, 17 minutes and 16 seconds. Das From ist replyfaehig, Mails an diese Adresse werden aber schon auf dem Server sofort entsorgt!

I/O Befehle mehrmals hintereinander ausgefuehrt, um entsprechend langsam zu sein? C1..C7 * PR3 gibt eine tau von einer Mikrosekunde. Das schaffen moderne Rechner leicht...

Bye

Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Sven Meier schrieb:

CrackNT. Wenn das wirklich ein DOS-Programm ist, würde ich aber erstmal ein DOS booten und sehen ob's damit geht.

MfG hjs

Nicht bei Port-I/O.

Vinzent.

worst case: The wrong assumption there actually is one.

Hans-Jürgen Schneider schrieb:

Das halte ich auch für den erfolgversprechndsten Ansatz. Ich will mich jetzt nicht verbürgen, aber ich hab schonmal von jemand gehört, daß der mit einem Rechner zu tun hatte, wo der port gar nicht im I/O mapping drin war. Der war wohl intern über pci angeschlossen o.ä. Dann hätte man mit outb(), inb() und Konsorten natürlich gar keine Chance.

Hajü

The one who doesn't know the answer is wiser than the one who knows the wrong answer.

"Peter Engels" schrieb:

Das ist nicht auszuschließen. Zum Beispiel läuft die klassische Version von Moorhuhn auf meinem 2400er System noch einwandfrei, aber auf dem (wenn ich mich jetzt recht erinnere) 3200er System meiner Bekannten läuft es in einem wahnwitzigen Tempo ab, weil es für einen so schnellen Prozessor nicht programmiert ist.

Für den Betrieb des Parallelports sind gewisse Mindestzeiten einzuhalten, z.B. die Dauer der Anforderungs- und Quittungs- Impulse. Kannst Du diese mit einem Oszilloskop überprüfen?

Paul Lenz

Dies ist eine gültige Email-Adresse. Vor SPAM und Viren schützt mich www.spavi.de

Sven Meier schrieb:

Hallo,

bei der Aufgabe, ein altes DOS Programm zum Programmieren von GALs unter Windows zum Laufen zu bringen, habe ich mit PortTalk

formatting link

gute Erfahrungen gemacht, um I/O-Port-Zugriffe unter WinNT/2000/XP frei zu schalten. Nach der Installation funktionierte die Freigabe der Ports auch für "normale" Benutzer mit eingeschränkten Rechten auf dem PC.

Grüße, Markus.

Hi Peter,

ich würde mir mal die Pegel am Parallelport anschauen. Früher hatte man noch

5 V auf der Elektronik, heute höchstens noch 3V3, da kann es mit HC Logik eng werden. Im Zweifel HC durch HCT Bausteine ersetzen.

Marte

5 Volt TTL hat keine hoeheren Pegel als 3.3 Volt CMOS...
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Soweit zur Theorie... In der Praxis schon. Ich rede hier jetzt nicht von den Normpegeln, sondern das was üblicherweise ankommt. Und da kommt von 5V versorgten TTLBausteinen in der Regel auch irgendwas von 4,7 V heraus.

Wenn solche Signale an ein HC-Logikbaustein kommt, wird das ganz gut erkannt. Wenn das nun aus einem 3V3 TTL-Chip kommt ist das selbst mit vollen

3V3 noch unterhalb von dem, was ein CMOS-Eingang einer 5V Versorgten HC Serie als High erwartet (5*0,7 = 3,5 !!!) So was kann gehen, wenn da aber real eben weniger als 3 V ankommen würde ich doch viel lieber HCT-Bausteine einsetzen, dann passt das einfach besser. Dafür gibts die Unterscheidung, weil TTL-Pegel eben anderst sind als CMOS-Pegel.

Marte

Peter Engels schrieb:

Ich vermute mal das das orginal programm für dos geschrieben wurde...wenn ja hast du ein problem ab windows 2000 diese ermöglichen nämlich keine direkten porrtzugriffe mehr nur noch über dll es gibt aber im netz einen treiber der dies wieder emuliert...ich glaube der hieß portio oder so ähnlich mußte mal nach googlen

Gruß Sven

"Marte Schwarz" schrieb:

Zumindest nicht bei Standard-TTL. Da lag der unbelastete H-Pegel bei etwas über 3 V.

Jörg Wunsch "Verwende Perl. Shell will man können, dann aber nicht verwenden." Kristian Köhntopp, de.comp.os.unix.misc

Hi Jörg,

Standard TTL ist selbst für mich schon zu alt. Ich bin mit LS Logik aufgewachsen und später dann eben HCT. Beide liefern recht gut Spannungen an den 5 V. Sonst wäre das Thema 5 V tolerante LVTTL auch nie ein Thema geworden... Mit dem Parallelport hab ich auch einiges gebastelt, da kamen früher immer über4V5 heraus. Bei Läptops war das dann ab spätestens Pentium nicht mehr sicher, wenn da noch 3 V kamen, dann wars schon viel. Ich kenn das Thema mit HC und HCT nicht nur aus der Theorie...

Marte

Hans-Jürgen Schneider schrieb:

Jupp aber nicht das command promt von windows sondern richtig nen altes(zb. DOS6.22) booten.

Ich hatte so ein problem mit einer Programmiersoftware für AVR Atmels auch mal...

Gruß Sven

Ich glaube, dass es daran mit Sicherheit nicht liegt, denn nur die Ausgänge des HC sind mit dem Port verbunden, nicht ein einziger Eingang. Daten vom Port werden über Transistoren entgegengenommen und sollten schon bei 1V Pegel zuverlässig schalten.

MfG / Regards

Peter Engels

This OS/2 system uptime is 00 hours, 06 minutes and 12 seconds. Das From ist replyfaehig, Mails an diese Adresse werden aber schon auf dem Server sofort entsorgt!

Im Prinzip ja. Aber mein Softwareverdacht hat sich erhärtet. Einerseits habe ich heute eine neuere Variante der Software ausprobiert, die auf meinem Athlon aber auch nicht läuft. Ich habe es dann auf einem 400er Pentium versucht, die alte Software hängt, die neuere funktioniert. Da ACK nicht bedient wird, kann die Software nicht Interrupt gesteuert arbeiten, sondern muss im Polling-Mode betrieben werden. Auch das ist ein Indiz. Ich habe mir die Spezifikation des TI-Buses besorgt und werde ich mich nun einmal ransetzen und versuchen die Software selbst zu schreiben. Wenn ich erst einmal ein Byte übertragen kriege, kriege ich die Software auch zum laufen - hoffe ich noch ;-)

MfG / Regards

Peter Engels

This OS/2 system uptime is 00 hours, 11 minutes and 59 seconds. Das From ist replyfaehig, Mails an diese Adresse werden aber schon auf dem Server sofort entsorgt!

Na klar, genau das habe ich gemacht: DOS 6.22 von Disk. Auf dem 486er funktioniert das DOS-Programm aber sogar auch in der DOS-Box von OS/2 Warp4 ;-) So kritisch kann es dann also auch wieder nicht sein. Windows habe ich gar nicht erst versucht.

MfG / Regards

Peter Engels

This OS/2 system uptime is 00 hours, 14 minutes and 19 seconds. Das From ist replyfaehig, Mails an diese Adresse werden aber schon auf dem Server sofort entsorgt!

Da sehe ich mittlerweile das Hauptproblem. Wenn ich die Schaltung richtig interpretiere, wird ACK gar nicht bedient, folglich gibt es auf PC-Seite auch keinen Interrupt. Das Ganze muss also im Polling-Mode erledigt werden. Da wird es haken. Ich setze mich jetzt selbst einmal daran.

MfG / Regards

Peter Engels

This OS/2 system uptime is 00 hours, 16 minutes and 50 seconds. Das From ist replyfaehig, Mails an diese Adresse werden aber schon auf dem Server sofort entsorgt!

Hi Peter,

Wo Du Recht hast hast Du einfach Recht. Hätte doch genauer hinschauen sollen.

Marte

War da nicht mal was mit Borland Compilern (TP) und einem Patch um so ein Timing-Schleifen-Problem zu lösen?

Jörg.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required