How to read UID of ISO14443 tag using clrc663 reader and stm32?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to read UID of ISO14443 tag using clrc663 reader and stm32?

2,037 次查看
mina_farah
Contributor II

I ma using Nucleo-L467RG connecting to CLEV6630B board. I can get ATQA easily using this code, however I can not get the UID. I know I have to send 0x93 and 0x20 to FIFO buffet and then read it but it does not work!

while(1)

{

CLRC663_write_reg(0x00,0x00);

CLRC663_write_reg(0x02,0xB0);
uint8_t data[2] = {0x00, 0x00};

CLRC663_write_fifo(data, 2);
CLRC663_write_reg(0x00, 0x0D);
CLRC663_write_reg(0x02,0xB0);
CLRC663_write_reg(0x28,0x8E);
CLRC663_write_reg(0x06,0x7F);
CLRC663_write_reg(0x07,0x7F);


CLRC663_write_reg(0x2C, 0x18);
CLRC663_write_reg(0x2D, 0x18);
CLRC663_write_reg(0x2E, 0x0F);
CLRC663_write_reg(0x05,0x26);
HAL_Delay(10);
CLRC663_write_reg(0x00,0x07);
HAL_Delay(10);

uint8_t Read_Buffer[]={0};

CLRC663_read_fifo(Read_Buffer, 2); // Read FIFOBuffer - Read FIFOBuffer (While sending this byte on MOSI line, the RC663

uint8_t* ATQA0= Read_Buffer[0]; //answers with the first byte of the FIFOBuffer)
uint8_t* ATQA1= Read_Buffer[1]; //random byte to read second byte of the FIFOBuffer (While sending this byte

ATQA = (Read_Buffer[1] << 8) | Read_Buffer[0]; // Here we got the ATQA

}

Could anyone help me on this, please? where am I going wrong? I could not find a good AN that explain well what to do, they are all vague. AN12657 just takes you up to getting the ATQA and there is no guide for the UID.

CLRC663_write_fifo(0x93,1);

CLRC663_write_fifo(0x20,1);

Really appreciate  any ideas.

 

0 项奖励
2 回复数

1,419 次查看
AlexanderB
NXP Employee
NXP Employee

Hi,

did you check out the example for the anticollision layer: https://www.nxp.com/webapp/sps/download/license.jsp?colCode=SW6693

Best regards,
Alexander

0 项奖励

1,424 次查看
Sandeep_Pawar
Contributor I

Hi Mina_Farah,

 

Did you get your answer and can you please share your findings here.

Thanks in advance

Sandeep Pawar

0 项奖励