Re: Improving RFID reader throughput!
- From: "Ali" <abdulrazaq@xxxxxxxxx>
- Date: 29 Aug 2006 22:31:47 -0700
robertwessel2@xxxxxxxxx wrote:
Ali wrote:
Folks,
I'm doing performance measurements on our MCU based RFID
reader. The very problem I'm facing is redundancy of tag ID (say 12
bytes) transmission, every time my MCU receives a tag ID; will just
push that ID to UART without any prior knowledge of that it is sending
the same ID again and again. (Due to poor designs of RFID tag protocols
single tag can response its ID repeatedly unless some other tag steps
in). Is it possible to implement some AI or data structure technique to
avoid that? And to decide that this tag id was pushed before so no use
to resend go-on to process another incoming IDs.
I just can't ignore the incoming tags while executing some complex
comparison or say search algorithm even assuming that I have 2K free
memory.
Are you just looking for a fast way to filter tags, IOW, something
like: don't retransmit a tag already sent in the last N seconds?
Perhaps a hash to divide your search space into N buckets of M tags
(perhaps 64 buckets of four tags), then just search the M tags, and
manage those on a pseudo-LRU basis? Obviously all that depends on
exactly how much filtering you want to do, and how much CPU time and
memory you actually have available to do it.
Donald Wrote:
So the RFID tag should have enough code and memory to keep track of other tags in >its immediate area ??
Yes you are right the right place to handle this problem is tag side.
Well friend as I mentioned in my post that we are developing reader so
it is suppose to operate with third party products ( tags falling in
reader supported protocols i.e. ISO , EM , EPC Gen 1 or Gen 2 . )
All rfid tags use binary or aloha algorithm to backscatter their
response (ID), these algorithms assure to minimize the tags response in
anit-collision situation but neither of these algorithm consider that
tag should not be responding repeatedly. The bottom line is that I need
to provide logic on reader to avoid retransmitting the ID!
I was just thinking if following can work:
Assumptions :
RS = An double index array for holding the 15 tags ID.
RS_Counter = This counter will help to make that straight array look
like circular list.
Pseudo-code:
If(RS[RS_Counter] == Recently_Processed_ID)
//Do nothing and process new incoming ID because RS_Counter will always
point to last transmitted ID.
for(i=RS_Counter ; i == 0; i--)
if(RS[i] == Recently_Pocessed_ID)
//got it in list so no use to transmit skip to process more incoming
IDs
If(RS_Counter == 15)
//Ok here I'm! could not find any ID in my stored array so time to
put in array and transmit it.
RS_Counter = 0;
RS[RS_Counter++] = Recently_Processed_ID
//Send it to UART while storing it in array but before make sure that
that array is not full. If array is filled then overwrite the oldest ID
in array, whihc is allways at the starting index.
Not sure if it is worthy ,of course it simply can't be the solution
if I'm using more processing as compare to retransmission.
ali
.
- Follow-Ups:
- Re: Improving RFID reader throughput!
- From: James Beck
- Re: Improving RFID reader throughput!
- References:
- Improving RFID reader throughput!
- From: Ali
- Re: Improving RFID reader throughput!
- From: robertwessel2@xxxxxxxxx
- Improving RFID reader throughput!
- Prev by Date: GSM modem interfacing
- Next by Date: Re: SI and EMI training
- Previous by thread: Re: Improving RFID reader throughput!
- Next by thread: Re: Improving RFID reader throughput!
- Index(es):
Relevant Pages
|