Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

RFID Reader Help using HTRC110 bs NXP

Status
Not open for further replies.

kevins963

Newbie level 4
Joined
Aug 18, 2006
Messages
6
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Activity points
1,345
I am using the HTRC110 RFID Reader Chip by NXP and trying to read a HiTAG transponder with it: NXP Semiconductors[pip=037031]|pp=[t=pip,i=037031]

I am having trouble reading the transponder with the module.
I first start by setting initializing and setting the registers on the HTRC110 (Config pages, Read Phase Shift, Set Sampling Rate). Once set I initialize the READ_MODE (3 high bits followed by a low clk state).

Once in the READ_MODE the DOUT pins changes as it is suppose to but it is here that I am having the trouble. What rate am I suppose to sample DOUT to read the pins correctly. The 125KHZ is about 8 us, however I believe each high/low needs to be between 8-10 cycles or 64 - 80 us in width.

If someone can give me reference to a similar project, documentation or provide some information on how to accurately read the transponder once in READ_MODE with the HTRC110 I would really appreciate it.

I have also already read the manchester biphase encoding standard but do not see any of those pattern in my input.

Thanks for any help
 

Have you tried it has the most information about the HTRC110 I've managed to find.

Im in roughly the same position as you, from what I understand sclk and Din are only used to transfer data to the HTRC from the micro-controller then Dout works from the HTRC110 internal clock. I've not had the chance to play around with a HTRC Ic yet - what are you seeing on Dout if anything after the Read_tag command?

nodee
 

I get data from the DOUT pin but it doesn't make too much sense. I pulses high and low whether a RFID transponder is next to it or not. I would imagine that it should either stay high or low if no transponder is next to it. Let me know if you are able to get it working.

Thanks
 

When you read from the HTRC with the get_config_page command for example does the HTRC read out at SCLK rate? not had anything working yet - writing the code for the recieve routine, after issuing the Read command is there any kind of start bit or sync bits at the start of the data stream?
 

Writing data to the chip should look like this:

unsigned char
HtrcWriteData(unsigned char ucData, tBoolean tReadByte)
{
static unsigned char bitOR[] =
{
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
};

unsigned char ucReadByte;

int bitShift;

/* Start transfer */
HTRC_CLK_HIGH();
SysCtlDelay(g_ulDelayHold);

HTRC_SOUT_LOW();
SysCtlDelay(g_ulDelayHold);

HTRC_SOUT_HIGH();
SysCtlDelay(g_ulDelayHold);

for(bitShift = 0; bitShift < 8; bitShift++)
{
HTRC_CLK_LOW();
SysCtlDelay(g_ulDelayHoldHalf);

if(bitOR[7 - bitShift] & ucData)
{
HTRC_SOUT_HIGH();
}
else
{
HTRC_SOUT_LOW();
}

SysCtlDelay(g_ulDelayHoldHalf);

HTRC_CLK_HIGH();
SysCtlDelay(g_ulDelayHold);
}

if(tReadByte == false)
{
HTRC_CLK_LOW();
SysCtlDelay(g_ulDelayHoldHalf);
return 0;
}

ucReadByte = 0;

for(bitShift = 0; bitShift < 8; bitShift++)
{
HTRC_CLK_LOW();
SysCtlDelay(g_ulDelayHold);

HTRC_CLK_HIGH();
SysCtlDelay(g_ulDelayHoldHalf);

if(HTRC_SIN_READ() != 0)
{
ucReadByte |= bitOR[7 - bitShift];
}

SysCtlDelay(g_ulDelayHoldHalf);
}

HTRC_CLK_LOW();
SysCtlDelay(g_ulDelayHoldHalf);

return ucReadByte;
}
 

    V

    Points: 2
    Helpful Answer Positive Rating
Im sorry to bump that thread up but I'm trying to interface the HTRC110 with an AtMega328

I have implemented the communication and I manage to configure the different registers of the chip and to re-read them back and confirm what I've done. So the communication with the chip is well established and works. DIN and DOUT are sync with CLK as expected, its all good.
So well, I've done that but I have two problems :

1. When I look the RF driving signal at the output of the chip (or if I look the RF signal with a loop probe), I don't see any modulation in the driving signal or in the EM field.

2. I have things on Dout (Chip -> Arduino line), but it's erratic. It looks like it changes when I approach a tag to the antenna but still, it looks random so I can't tell, I can't indentify what I'm seeing on the oscilloscope.

What have I done wrong ?
There's no chronogramme or anything in the datasheet and I havent found a lot of information ... I've seen some people had same troubles as I have but I havent found any followings in their topics. So I don't know whether they gave up or found a solution.

If someone has implemented that chip and finally managed to read a tag, I'd be very grateful for any kind of help.
Thanks all.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top