HITAG S 256 Reader/Writer using HTRC110

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HITAG S 256 Reader/Writer using HTRC110

179 Views
Kamilia
Contributor I

Hello,

We are developing an RFID Reader/Writer for HITAG S 256, utilizing the HTRC110. The schematic for the Reader/Writer can be found in the attached files. We have successfully read the HITAG S 256 in TTF mode. However, we are encountering difficulties in reading the HITAG S 256 UID. We have been following the sequence below but have not achieved success:

1- Init HTRC 110 config pages

// SET_CONFIG_PAGE page=3 data=0x0 (DISLP1=0, DISSMARTCOMP=0, FSEL=00[4MHz osc])

 

// SET_CONFIG_PAGE page=0 data=0xB (GAIN=10[500], FILTERH=1[160Hz], FILTERL=1[6Hz])

 

// SET_CONFIG_PAGE page=1 data=0x0 (PD_MODE=0[active], PD=0[active], HYSTERESIS=0[off], TXDIS=0[coil driver on])

 

2- Run General Settling Sequence

// SET_CONFIG_PAGE page=2 data=0xB (THRESET=1, ACQAMP=0, FREEZE=11)

// DELAY(5ms)

// SET_CONFIG_PAGE page=2 data=0x8 (THRESET=1, ACQAMP=0, FREEZE=00)

// DELAY(2ms)

 

// SET_CONFIG_PAGE page=2 data=0xB (THRESET=0, ACQAMP=0, FREEZE=00)

 

3- Check Antenna status

 

// READ_CONFIG_PAGE page=2 and check ANTFAIL

 

4- SET THE SAMPLING TIME

 

word t_ant = (word) htrcReadPhase(); // Read phase using command 0 0 0 0 1 0 0 0

t_ant <<= 1;        // Multiply by 2

t_ant += 0x3F; // Add the Offset Compensation value

t_ant &= 0x3f;

 

htrcSetSamplingTime((byte)t_ant); // Set sampling time using command 1 0 D5 D4 D3 D2 D1 D0 (D5…D0 = t_ant )

// Check if sampling time is applied

    response = htrcGetSamplingTime();  // GET_SAMPLING_TIME

    if (response != t_ant)

    {

        // Error - the sampling time value was not accepted for some reason

        Serial.println("SAMPLING_TIME_FAILED");

        return false;

    }

 

5- Run Fast Settling Sequence with UID REQUEST COMMAND

// SET_CONFIG_PAGE page=2 data=0x9 (THRESET=1, ACQAMP=0, FREEZE=01)

 

// Enter Write mode by sending WRITE_TAG_N command

// WRITE_TAG_N  Command with N=7 (Tg=7T0) => Command =0x17

 

// Send UID REQUEST Std (00110)

// To send UID request We send rising edge of DIN, wait 160µs for 0 or wait 224µs for 1

// After 00110 is send, we send an EOF (rising edge of DIN then wait for 304µs)

 

// End Write mode (SLK Rising Edge)

 

// Delay(200µS)

 

// SET_CONFIG_PAGE page=2 data=0xB (THRESET=1, ACQAMP=0, FREEZE=11)

 

// Delay(250µS)

 

// SET_CONFIG_PAGE page=2 data=0x0 (THRESET=0, ACQAMP=0, FREEZE=00[normal operation])

 

// Enter read mode by sending 111 Command

 

// Listen to DOUT

 

After executing this sequence and monitoring DOUT for a minimum of 100ms while the tag is within the field, we do not receive any response. We anticipate receiving the 32-bit UID encoded in Anti-collision coding at a speed of 2kbit/s.

 
0 Kudos
3 Replies

127 Views
Fabian_R
NXP TechSupport
NXP TechSupport

Hello sir,

I'm very sorry for the delay in answering back.

Could you please clarify if you are building your application based on the library (RC110LB6) we provide? Unfortunately, there isn't any sample for HITAG S but, is possible that there is an issue in the implementation.

Are you at least getting some activity from the HITAG in normal mode?

Best Regards,
Fabian
0 Kudos

114 Views
Kamilia
Contributor I

Hello Sir,

We are developing the application without using the library, but our code is based on the HTRC 110 Datasheet, Application Note, and the Hitag S 256 Datasheet, along with an analysis of the RC110LB6 library. We are using an Atmega328 microcontroller. The workflow is detailed in my request. My first question is whether there are any issues with this workflow.

When we use a Hitag S in TTF mode, we are receiving its content without any problems. Therefore, we do not expect the issue to be hardware-related.

If it is necessary, we can share the full code source.

Thank you.

0 Kudos

82 Views
Fabian_R
NXP TechSupport
NXP TechSupport

Hello sir,

Have you tested using the library for testing purposes? I mean, to at least being sure that the library you are using is correctly configuring the tag since, the UID request command should be received by the tag without issues but, it would be interesting how the commands are being sent by the transponder.

Best Regards,
Fabian
0 Kudos