Programming considerations – Echelon I/O Model Reference for Smart Transceivers and Neuron Chips User Manual
Page 100
90
Serial I/O Models
Table 34. Magtrack1 Input Latency Values for Series 3100 Devices
Symbol Description
Minimum
Typical
Maximum
t
fin
I/O call to first clock input
—
45.0 μs —
t
hold
Data
hold
t
low
— t
clk
t
setup
Data
setup
0 μs — —
t
low
Clock low width
31 μs — —
t
high
Clock high width
31 μs — —
t
wto
Width of timeout pulse
60 μs — —
t
clk
Clock
period
138
μs — —
t
tret
Return from timeout
21.6 μs —
81.6
μs
t
ret
Return from function
—
—
301.8 μs
The minimum period for the entire bit cycle (t
clk
) is greater than the sum of t
low
and t
high
. The t
setup
and t
hold
times should be such that the data is stable for the
duration of t
low
.
The magtrack1 input object optionally uses one of the I/O pins IO0 – IO7 as a
timeout/abort pin. Use of this feature is suggested because the io_in() function
updates the watchdog timer during clock wait states, and could result in a lockup
if the card were to stop moving in the middle of the transfer process. If a logic 1
level is detected on the I/O timeout pin, the io_in() function aborts. This input
can be a oneshot timer counter output, an R/C circuit, or a DATA_VALID~ signal
from the card reader.
A PL Smart Transceiver with a clock rate of 10 MHz can process an incoming bit
rate of up to 7246 bits/second when the strobe signal has a 1/3 duty cycle (t
high
=
46 μs, t
low
= 92 μs). At a bit density of 210 bits/inch, this translates to a card
speed of 34.5 inches/second. The bit rate processing capability scales with PL
Smart Transceiver input clock rate. Most magnetic card stripes contain a series
of zero data at the start of the card, allowing time for the application to start the
card reading function.
Programming Considerations
The data is presented as a data signal input on pin IO_9, and a clock, or data
strobe, signal input on pin IO_8. The data on pin IO_9 is clocked on or just
following the falling edge of the signal on IO_8, least significant bit first.
Data is recognized in the International Air Transport Association (IATA) format
as a series of 6-bit characters plus an odd parity bit per character. This process
begins when the start sentinel (0x05) is recognized, and continues until the end
sentinel (0x0F) is recognized. No more than 79 characters, including the two
sentinels and the longitudinal redundancy check (LRC) character, are read. The
data is stored in the buffer pointed to by the
input-buffer
pointer argument to the