-
-
Telefonkarte über RS232
Ahoi,
ich versuche gerade eine Telefonkarte über RS232 auszulesen, aber irgendetwas funktioniert noch nicht ganz.
So sieht es momentan aus:
Bild hier
Die Transistoren sind BC327-16 und BC337-16.
Die Spannungen von DTR und RTS werden von 12V mittels Festspannungsreglern auf 5V gebracht, die ich aber nicht eingezeichnet habe.
Nun zum Programm:
Zuerst wird Reset auf high gesetzt, dann 15 mal Clock auf high und low.
Danach wird 128 mal der Zustand von CTS gelesen und jeweils einmal geclockt. CTS ist zur Zeit meistens low, selten high und alles sehr zufällig. Jemand eine Idee, wie ich das beheben kann?
-
Vielleicht nochmal ein paar Zusatzinfos:
An einen AVR könnte man die Karte wie folgt anschließen:
CARD AVR
====================
RESET PORTD.5
CLOCK PORTD.6
DATA PORTD.3
VCC +5V
GND GND
Am Parallelport konnte ich die Karte bereits betreiben.
Braucht der serielle Port vielleicht PullUps oder sollte ich dem Emitter des PNP mal 12 V geben?
-
Neuer Benutzer
Öfters hier
Was willst du mit der Telefonkarte anstellen? Geh ich recht in der Annahme das es sich um die "goldenen Flächen" handelt die auch auf EC-Karten usw zu finden sind?
-
Ich will die Seriennummer aus der Karte auslesen.
Mit dem LPT ging das auch schon, nur ich will das über COM machen.
Mit den "goldenen Flächen" hast du Recht, ist ne Chipkarte.
Ich überlege, ob mir ein MAX232 helfen könnte.
Was meint ihr?
Noch ein paar technische Infos:
Zunächst setzt man den Reset PIN auf high und clockt die Karte dann.
Dass setzt man Rest wieder auf Low und kann dann ein Bit über Data abrufen, einmal Clocken, nächstes Bit, clocken, usw. Insgesamt spuckt die Karte dann 128 Bits aus. Die enthalten Seriennummer, Guthaben, Kartengröße, Herstellungsdatum, Chiphersteller.
-
Neuer Benutzer
Öfters hier
kann man die dann auch beschreiben, also Guthaben wieder draufladen?
Würd mich nur intressieren, ich brauche ja nie solche karten!
-
Erfahrener Benutzer
Roboter Experte
@Michigrunf: Hast du bedacht, das bei der RS232 der Pegel nach dem Pegelwandler+-12V (z.B. Max232) invertiert ist? Vieleicht liegt da das Problem
-
@MajorTwip: Man kann nur Guthaben löschen.
Also ich hab zur Zeit nur die Spannungswandler (MC7805) drin und ich denke, die invertieren den Pegel nicht. Hab auch nochmal alles durchgemessen. Die Karte bekommt die korrekten Signale, wie damals beim LPT. Ich glaube, dass nur das Einlesen des Signals, das die Karte über Data gibt, nicht richtig funktioniert. Die Karte müsste ja eigentlich 5V am Data geben. 5V reichen dem COM Port, weil ich hab auch mal 5V an den CTS vom RS232 gehalten und mein Programm hat es gemerkt. Da dachte ich, vielleicht schafft die Karte es nicht ganz und hab deshalb die 2 Transistoren als Verstärker eingebaut. Nun bekomme ich ab und zu mal ein Signal. Vielleicht sollte ich an den Emitter vom PNP mal 10V geben. Oder sollte ich irgendwo Widerstände einbauen?
-
Erfahrener Benutzer
Roboter-Spezialist
Nur mal so ein Gedankengang.
Einige Ein- oder Ausgänge der RS232 sind doch mit negativen Pegeln belegt.
Nicht das da dein Problem liegt. Weiß leider aus dem Kopf nicht welche und meine Bücher sind alle auf Arbeit. Kannst ja mal im Netz danach suchen. Das ist natürlich ein Unterschied zu einem Parallelport. Einen MAX232 einzusetzen sollte zumindest erst mal Gewissheit bringen.
sast
PS: Übrigens steckt in den Karten so weit ich weiß ein abgespeckter 8051er. Hatte auch schon mal überlegt damit rumzuspielen. Leider fehlt halt immer die Zeit.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen