Patent ID: 6581831
Filing Date: 2003-06-24
Classification: G06K

Abstract:
A process for reading and writing to a magnetic card stripe located on a card with a device comprising a magnetoresistive (MR) read head and a write head operatively connected to a microcontroller, and wherein the process comprises:placing the read head and write head a distance of at least two bit cells apart and wherein the bit cell distance is the distance between a first clocking flux transition and a second clocking flux transition; initializing all memory locations in the microcontroller to their initial values; storing a timing value of said transition in a word in a memory at an address designated as current (CURR); if the detected edge is the first edge, a word in memory (called FIRST) is set to one and the content of the memory (CURR) is stored in an address designated as previous (PREV); waiting in a loop for the next transition to occur; allowing the next transition to occur; storing the transition time in CURR; calculating a current pulse time (TC) by calculating the difference between the two detected edges (transitions); calculating an expected pulse width (TE) from the previous pulse width (PREV); setting the TE to 75% of the PREV pulse width (TP) (TE0.75TP); comparing the value of the current pulse width (TC) with the value of the expected pulse width (TE); if the current pulse width (TC) is greater than the expected time (TE), a ZERO bit is detected; checking to see if FORCE is set to one, wherein if FORCE is set to one, a transition is forced to the output and FORCE is set to zero; setting the pulse width for ZERO bit (TZ) to equal the current pulse width (TC), and updating the previous pulse width (PREV) to the current pulse width.