2022-10-05 09:12 PM
Hello ~!,
I am bringing up a board using ST25R3916.
The main chip is arm9 family and based on freertos.
The basic operation has been confirmed, but there is a problem that certain NFCA cards are not recognized well.
It does not mean that it cannot be recognized at all, but it is difficult to recognize only at a specific distance (about 3-4 cm).
At first I thought it was an RF performance issue, but after wiring the power, IRQ, SPI pins, etc. to my base board and the X-NUCLEO-NFC06A1 board, the results are the same.
I've been working on the "ST25NFC_Embedded_Lib_ST25R3916_1.4.0,FreeRTOS_polling" source code.
There is no problem origial source code on Nucleo L476, but similar problem can be seen when the priority of the nfcIsrTaskRunner thread is set equal to StartDefaultTask.
------------------------------------------------------------------------------------------------
/* definition and creation of nfcIsrTask */
const osThreadAttr_t nfcIsrTask_attributes = {
.name = "nfcIsrTask",
.priority = (osPriority_t) osPriorityNormal, //osPriorityHigh, orginal
.stack_size = 384
};
nfcIsrTaskHandle = osThreadNew(nfcIsrTaskRunner, NULL, &nfcIsrTask_attributes);
------------------------------------------------------------ ---------------------------------
In my custome board, simply adjusting the priority did not solve the problem, so I adjusted the porting points such as thread communication and timer similar to the sample code.
I would like to ask if you would like to get a hint for solving the problem.
Are there any other checkpoints?
Solved! Go to Solution.
2022-10-06 05:21 AM
Hi,
Can you provide as well more information about the tags being used (Manufacturer and model)?
Regarding the priority, the nfcIsrTaskRunner must have an higher priority than the StartDefaultTask.
Rgds
BT
2022-10-06 03:39 AM
Hi JS Park,
to me it sounds most promising if you do logic analyzer traces of SPI + IRQ and share it here.
Maybe it gives hints to the root cause.
Best Regards, Ulysses
2022-10-06 05:21 AM
Hi,
Can you provide as well more information about the tags being used (Manufacturer and model)?
Regarding the priority, the nfcIsrTaskRunner must have an higher priority than the StartDefaultTask.
Rgds
BT
2022-11-03 03:07 AM
Hello,
I haven't been able to find the cause of the error yet. However, when I changed the interface to I2C, it worked normally.
I am testing by changing the interface to I2C.
Best Regards,
JS