Hallo, ich möchte für ein Projekt dass beim durchziehen der Karte alle 3 Spuren simultan gelesen werden und im Spiecher evtl. serielles Flash oder MC/SD abgelegt werden. Frage: Wie bekomme ich die Daten in den AVR, nutze ich einen ADC oder Input Capture oder kann ich das Signal welches wie siehe Bild aussieht. eigentlich ist es ja ein digitales Signal und kann auch ohne f2f baustein umgeandelt werden in 0101101. * Optimal wäre es wenn direkt vom Magnetkopf den Binärstrom gewonnen und gespeichert werden könnte. * Alternative wäre das Signal einfach nur zu speichern wie die Ausgabe eines normalen Tonkopfes. Info s:) Vielleicht hilft die Info, dass die Daten und das Clock Signal zeitgleich im Datenstrom vorkommen. Es ist so, dass am Anfang des Lesens eine zackige Sinuskurve angeführt wird an der man den Takt errechnen kann, später im eigentlichen Datenstrom nutz man die breite der auf die Frequenz modelierten 0er um auch die 1er zu identfizieren. Wenn innerhalb eines Taktes ein Pegelwechsel stattfindet ist das eine 1 wennnicht eine 0. Wer kann mir ein paar inspirierende Ansätze geben wie man so etwas realisiert. Um alles spuren Zeitgleich lesen zu können, können natürlich auch 3 AVRs zum einsatz kommmen das ist egal. Ich bedanke mich im Voraus und hoffe dass ich hier die Etiquette wahren konnte wenn nicht bitte zurechtstutzen. Liebe Grüße KnechtRootRecht
Ich würde mit einem AVR gleichzeitig alle Spuren AD-Wandeln. Die Auswertung kann dann ganz gemütlich Offline gemacht werden. Die Knacknuss dürfte sein, das digitale wieder aus den Werten zu ermitteln
Das ist Manchester - keine Knacknuss. Ich würde auch nicht den A/D - Wandler, sondern den Komparator nehmen, der auf die Flanken hin testet.
Zunächst herzlichen Dank für die Mühe, Manchaster code ist hier wohl das Schlagwort. Habe hierzu grad ein bissl was gelesen -> genau das habe ich gesucht. Bin dabei hierauf gestossen: Beispielcode (Matlab/Octave) Encoder:
1 | function [encoded] = manchester_encode(source) |
2 | |
3 | encoded = []; |
4 | for i=1:length(source) |
5 | encoded(2*i - 1) = (source(i) == 1); |
6 | encoded(2*i) = (source(i) == 0); |
7 | end |
Decoder:
1 | function [decoded] = manchester_decode(coded) |
2 | |
3 | decoded = []; |
4 | for i=1:(length(coded)/2) |
5 | if coded(2*i - 1) == 0 && coded(2*i) == 1 |
6 | decoded(i) = 0; |
7 | else |
8 | decoded(i) = 1; |
9 | end |
10 | end |
Beispiel:
1 | octave:22> manchester_encode([0 1 0 0 0 1 1 1]) |
2 | ans = |
3 | |
4 | 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 |
5 | |
6 | octave:23> manchester_decode(ans) |
7 | ans = |
8 | |
9 | 0 1 0 0 0 1 1 1 |
Wie modde ich das denn jetzt um für meine Zwecke?
Nicht Tutorial, Datenblatt! Steht alles drin. Sind bloss 2-3 I/O-Register, die man einstellen muß.
Nicht ganz. Die Spannung vom Magnetkopf muß sicher verstärkt werden. Dann kommt der µC. In diesem tickt eine schnuckelige Routine, die die Datenaufbereitung macht und die 1en und 0en abspeichert. Diese Routine mußt Du Dir erst zusammenproggen. Was Du dann mit den gespeicherten Daten machst, ist Dein Ding.
Kannst du mir ein Code Bsp Link für so ein Problem geben. Danke
Och nöö, mach mal selber. Bisserl Eigeninitiative muß sein!
Ich hoffe du hast mit der Schaltung nicht vor EC Karten oder sonstiges zu kopieren. Das ist nämlich wie du bestimmt weißt illegal
Das einfachste wird sein, du suchst Kontakt zu den Profis. Siehe: http://www.heise.de/security/artikel/99991 Gast
Hallo, und lieben Dank an alle die sich um mein Problem gekümmert haben. Habe vor eine Kundenkarte heruaszubringen, allerding smit einem völlig neuem Konzept und hierzu müßen die IDs auf den Karten bei den Händler irgendwei gespeichert werden, hierzu will ich ein kleinen Logger basteln möglichst billig der Magnetkarten lesen kann. Kann mir jemand sagen wie ich die vom Komparator erzeugten daten speichern kann. bin über jeden Tipp froh.. Bin Anfänger#1
Vielleicht könnte man das ganze ja in Kooperation machen, also das würd mich schon interessieren. Mein momentanes Projekt - Keylogger für Tastatur schreibt auf SD Karte ist gerade fertig geworden. Bei Interesse bitte eine kurze PN mit deiner Mail Addy!
Aber mal ganz ehrlich: Magnetkarten sind doch out! Nimm 13.56Mhz Transponder und bringe diese inklusive der Spule in einer Karte unter. Dafür gibt es inzwischen sogar schon etliche Hersteller. Dann baust Du Dir eine Schreib/Lese-Einheit aus einem RFID Frontend-IC und einem Mikrocontroller und fertig ist das. Wird auf jeden Fall zuverlässiger und langlebiger. Und letztenlich auch sicherer, da viele Transponder auch schon Verschlüsselung können.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.