2018-05-02 05:34 AM
Hi,
I am developing a product based on the AS3993, AKA ST25RU3993. I have been using the FEMTO module (by AMS) to test my application code.
So far I was able to verify the initialization, SPI, interrupt line, cristall stabilization and PLL lock. Everything seems to be OK.
I am now trying to read a TAG.
Using the defautl configurations of the FEMTO, as follow:
In order to start reading a tag. I first write the values above in the registers, then I enable the bit RF_ON on register 0x00.
After send the Query command 0x98 and write the following bytes to the FIFO:
//0b00
//dr = 0b01//m = 0b10//Trext = 0b000x18
//sel = 0b00
//session = 0b00//target = 0b00//q = 0b000x00
After that I start to wait for the end of tx interrupt, but I detect a irq_noresp instead.
Any insights?
Solved! Go to Solution.
2018-08-28 01:54 AM
Hello Tiago,
Sorry for the late reply. We moved our community platform and had to wait until all content was transferred.
Concerning your question:
The preamble detect error and FIFO overflow indicates a failed reception process. The Block_Rx should compensate for that by disabling the receive decoder during the transmission of Query and the FIFO content.
If you still experience problems, I would suggest to use tr_ext (extended preamble) in the Gen2 settings:
Best regards,
Finnley
2018-06-05 02:32 AM
Hello Tiago,
please check your Query command and the bytes you are writing to the FIFO.
Note that DR, TRext and Target have one bit only while Q has 4 bits.
The main issue with the bytes you write to the FIFO will be that the Miller coding and BLF will be incorrect.
Assuming you would like to use DR = 1, Target = 0 and Q = 0000 you should be writing the bytes 0x30 and 0x00 to the FIFO.
Regards,
B
2018-07-04 12:05 PM
Hi Bart,
Thank you for reply. Yes, I noticed that. Even though I made this change, my code still does not work.
I am sure that my hardware is working, because I have been using the FEMTO 2.1 from AMS to test my code. My SPI communiction is also correct, I can read and write the registers in FEMTO.
I am using the following values to set a session to try read a tag:
Register Description Address Value
After that I try to read a tag by doing the following:
1 - Set the register 0x3E with 0x1E - Sending 1 byte and 7 bits to FIFO
2 - Send the Query command - 0x98
3 - Write 0x30 0x00 in FIFO
4 - Aftet that I detect the end of transmission interrupt
5 - I wait for the end of reception interrupt
But I detect the values 0x01 in register 0x38 (Preamble detect error / FIFO overflow error) and 0x50 in register 0x37 (Bits Irq_err and Irq_rx high ). I was expecting to detect only Irq_rx high.
I have no idea what I am doing wrong.
Any idea is very much appreciated. Thank you for your time.
2018-08-28 01:54 AM
Hello Tiago,
Sorry for the late reply. We moved our community platform and had to wait until all content was transferred.
Concerning your question:
The preamble detect error and FIFO overflow indicates a failed reception process. The Block_Rx should compensate for that by disabling the receive decoder during the transmission of Query and the FIFO content.
If you still experience problems, I would suggest to use tr_ext (extended preamble) in the Gen2 settings:
Best regards,
Finnley
2019-01-21 09:04 PM
Hi Tiago,
Have you resolved this problem? I come across the same problem, but have no idea as well...