Maker Pro
Maker Pro

wireless 125khz tag reader question

R

rob

Jan 1, 1970
0
Hi to all.
I am hoping someone can give me some advice here.
I am working on (designing) a tag-reader system using the
Atmel u2270b ic and TK5530hm232 tag chip.I have built a system that
works but I would like some ideas.
The code that is sent out from the 5530 tag chip is 64bit (8 bytes)
with the form : Header(E6 hex) then 7 bytes data(unique code)
There is no "space" or "delay" between the last bit of the last byte
and the start of the next "header " byte.The coding used is
Manchester. The system works on a frequency of 125Khz.The data out of
the tag chip is at
125Khz / 32.

I would like to know how to decode this "stream" of bits using only
software. At the moment I am using a hardware / software approach.
I am deviding the 125Khz by 32 to get a clock. On the falling edge of
the clock(drives an interupt on the 89c4051) I sample the value of the
data.8 bits are shifted into a register and checked to see if it is
"E6".If not the MSB is shifted out "left" and the next bit shifted in
(right)and the process repeats until the header is found.
Once I have the header the decoding of ther next 56 bits is done.The
problem that I am having is sometimes the falling edge of the clock
and the mid point transision of the data happens at "about" the same
time and I am getting errors in the data.Sometime sample 1 and
sometimes 0.
Hope you are still with me!!!
98% of the time things work great , but I would like 100% :0)
I would like to do all the decoding in software and exclude the clock
, but am not sure how to start , because there is no "dead" time
between the last bit of the code and the start of the next header.How
do I get the timing correct.Transitions from low t0 high(0) and vise
versa(1) can happen in the middle of a bit ( giving the value of the
bit) or at bit boundries.
I am fairly new to the "micro" stuff so any help would be apperciated.
Cheers
Rob
 
V

Viktor Kesler

Jan 1, 1970
0
Hello rob,

I made a Manchester decoder with a U2270B and an AT89C2051 a while ago and
if I can remember correctly, the decoding algorithm given in the TEMIC
applications book was all I needed.
There's no need for any other hardware. The OUTPUT pin of the U2270 goes
directly to a uC port pin.

Since the bit stream repeats itself, all you have to do is start somewhere,
count and store 64 bits and then look for the preamble byte (we use EM400x
compatible transponder chips, so it may have been something other than E6).
You've now found the beginning of your circular buffer and can now decode
the rest.

I found the U2270 quite prone to noise and the output is always wiggling,
even if there's no tag anywhere near it.
The other thing is that the self-check resources of the 400x transponders
boil down to a few parity bits, so this, coupled with the noisy U2270
resulted in loads of false reads.
This should be even worse with the 5530, which doesn't even have those
parity bits.

Good luck,

Viktor
 
T

The real Andy

Jan 1, 1970
0
Viktor Kesler said:
Hello rob,

I made a Manchester decoder with a U2270B and an AT89C2051 a while ago and
if I can remember correctly, the decoding algorithm given in the TEMIC
applications book was all I needed.
There's no need for any other hardware. The OUTPUT pin of the U2270 goes
directly to a uC port pin.

Since the bit stream repeats itself, all you have to do is start somewhere,
count and store 64 bits and then look for the preamble byte (we use EM400x
compatible transponder chips, so it may have been something other than E6).
You've now found the beginning of your circular buffer and can now decode
the rest.

Done the same with a pic. I made sure the header pattern (i used 0x7e) never
reappears by encoding a 0bit after five successive 1bits. Hmmm, or something
like that. I've got code somewhere if you want a look.
I found the U2270 quite prone to noise and the output is always wiggling,
even if there's no tag anywhere near it.
The other thing is that the self-check resources of the 400x transponders
boil down to a few parity bits, so this, coupled with the noisy U2270
resulted in loads of false reads.
This should be even worse with the 5530, which doesn't even have those
parity bits.

Noise hint, do not use tantalums for decoupling purposes on 125kHz RFID
systems. For some reasons, tant's act like a nice bandpass filter for
frequencies around 125kHz. It also helps by throwing a CRC into your tag
data, that way you can do 1 or 2 bits of error correcting.
 
R

rob

Jan 1, 1970
0
Hi there. Thanks for the replys.
Is there anywhere on the net that I can get a copy of this TEMIC applications
book.
Cheers
Rob
 
T

The real Andy

Jan 1, 1970
0
rob said:
Hi there. Thanks for the replys.
Is there anywhere on the net that I can get a copy of this TEMIC applications
book.

Probably not anymore. However, try ATMEL as they have purchased Temic. You
may find the old temic stuff in a revised atmel format.
 
R

rob

Jan 1, 1970
0
Tried Atmel already , they don't seem to have much.
Guess I'll have to keep looking :0(
Cheers
Rob
 
V

Viktor Kesler

Jan 1, 1970
0
Just had a look at the Atmel site and the U2270 docs are there.
Have another go and if you still can't locate them drop me a mail.
 
R

rob

Jan 1, 1970
0
Hi there.
I have the datasheets for the u2270 and the 5530 , but they don't give
decoding info. I have found another applicastion note however "
Electronic emmobilizers for the automotive industry" which seems to
have some info on this.
Now all I have to do is figure out what the hell they are talking
about :0)
Thanks for the help guys!!
Rob
 
T

The real Andy

Jan 1, 1970
0
rob said:
Hi there.
I have the datasheets for the u2270 and the 5530 , but they don't give
decoding info. I have found another applicastion note however "
Electronic emmobilizers for the automotive industry" which seems to
have some info on this.
Now all I have to do is figure out what the hell they are talking
about :0)
Thanks for the help guys!!
Rob

What micro are you using? I have some code to read temic tags for a
pic12c509. You can have it if you want it. It can be adapted to other pics
if need be.
 
R

rob

Jan 1, 1970
0
Hi to all again.
I have picked up something odd while doing a bit of research on manchester decoding.
The more sources that I look at the more discrepencies I find. Every second
article gives me a different answer. Some say that a logic one is sent as
a 1 to 0 transition and the others say 0 to 1.
Here are just 2 examples:
http://www.hitex.demon.co.uk/8051/manchester.html
http://www.mycal.net/old/projects/digital/encode.html

I seem to be picking this up all over the place. WHICH IS CORRECT!!!
This is very frustrating.
Cheers
Rob
 
M

Michael Hofmann

Jan 1, 1970
0
rob said:
Hi to all again.
I have picked up something odd while doing a bit of research on manchester decoding.
The more sources that I look at the more discrepencies I find. Every second
article gives me a different answer. Some say that a logic one is sent as
a 1 to 0 transition and the others say 0 to 1.

I seem to be picking this up all over the place. WHICH IS CORRECT!!!

Since it's not defined anywhere, it's up to you, pick the one you
prefer. The principle stays the same.

Michael
 
B

Bob Stegmann

Jan 1, 1970
0
Michael Hofmann said:
Since it's not defined anywhere, it's up to you, pick the one you
prefer. The principle stays the same.

Michael

I only recently came across this thread--I've been playing with a similar
setup--trying to read the data from an Atmel u2270b. I'm feeding the data
output into the inputcapture pin of a BasicX system, and I'm defintely not
getting what I'm expecting. I'm getting all sorts of odd-duration pulses,
even with no tag nearby. Does anyone know what the u2270b should be
putting out when there are no tags present? My reader circuit is probably
suspect too, as I'm not exactly an electronics expert, and based it off of
an example in the Atmel docs. If anyone can give an example of the proper
way to hook this baby up, I'd appreciate it. Rob--you said you had a
working reader circuit--any chance you'd be willing to share it?
Thanks,
Bob.
 
R

Rob

Jan 1, 1970
0
I only recently came across this thread--I've been playing with a
similar setup--trying to read the data from an Atmel u2270b. I'm
feeding the data output into the inputcapture pin of a BasicX system,
and I'm defintely not getting what I'm expecting. I'm getting all sorts
of odd-duration pulses, even with no tag nearby. Does anyone know
what the u2270b should be putting out when there are no tags present?
My reader circuit is probably suspect too, as I'm not exactly an
electronics expert, and based it off of an example in the Atmel docs.
If anyone can give an example of the proper way to hook this baby up,
I'd appreciate it. Rob--you said you had a working reader circuit--any
chance you'd be willing to share it? Thanks,
Bob.

Hi there.
I would give the design / diag to you , but my boss may have something to
say about that.It is based predominantly on the design in the data sheet,
the one for close coupling. If you build that you should be able to get a
working cct. Range is not great , about 2 to 3 cm , but that is good enough
for our app.
I also had lots of noise at the output of the u2270b even when there was no
tag present. This seems to be a problem with the u2270b chip. I did find
that if you use a 1n4004 instead if the 1n4148 as detector as in the
datasheet diag it improves things a lot.Have no idea why. Maybe someone can
shed some light on this!! Maybe it is a capacitance issue.
If you are still struggling give me a shout and I'll see if I can help.
You can get me at [email protected] Obviously remove the nospam.
Cheers
Rob
 
R

Rob

Jan 1, 1970
0
I don't think that it is possible with this system (U2270 & 5530 tag) to
get 1.5m range. Well it certainly would not be easy. If you DO succeed,
give me a shout and tell me how :0)
There are a lot of devices well suited to that sort of "range" , but they
tend to be self powered. I think they work at around 13Mhz( not sure if
this is fixed) if I remember correctly.
cheers
Rob

[email protected] (Tim) wrote in
 
V

Viktor Kesler

Jan 1, 1970
0
I don't think that it is possible with this system (U2270 & 5530 tag) to
get 1.5m range. Well it certainly would not be easy. If you DO succeed,
give me a shout and tell me how :0)
There are a lot of devices well suited to that sort of "range" , but they
tend to be self powered. I think they work at around 13Mhz( not sure if
this is fixed) if I remember correctly.
cheers
Rob

A lot of companies make 1-2m readers with 125kHz technology. A rule of thumb
is that the antenna diameter is equal to the range. You can also increase
the coupling factor by making the transponders larger (use a transponder
chip and wind your own coil to make frisbee-sized tags).
Driving a 1,5m antenna can be quite a challenge, though. The more power you
put into the antenna, the harder it will be to extract the returned signal.
I've never actually seen one of those big antenna systems and I'd be curious
to know if they use just one coil or two: one for generating the field, the
other for reading the tags.

Viktor
 
R

rob

Jan 1, 1970
0
Viktor Kesler said:
A lot of companies make 1-2m readers with 125kHz technology. A rule of thumb
is that the antenna diameter is equal to the range. You can also increase
the coupling factor by making the transponders larger (use a transponder
chip and wind your own coil to make frisbee-sized tags).
Driving a 1,5m antenna can be quite a challenge, though. The more power you
put into the antenna, the harder it will be to extract the returned signal.
I've never actually seen one of those big antenna systems and I'd be curious
to know if they use just one coil or two: one for generating the field, the
other for reading the tags.

Viktor
I don't think you will get that sort of range with the tk5530 tag chip
though.
The chip is only 11mm x 2mm x 4mm.
If you were able to couple enough energy to the chip at 1.5m I doubt
it would
be able to dampen the field enough to detect with any sort of ease.
Of course you could probably enclose said tag chip in a larger coil
and couple enough energy that way....who knows.
Cheers
Rob
 
Top