cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R3916 Wake-up mode

MPeli.1
Associate III

Hello,

i have been trying to put the st25r3916 in wake-up mode but i detect high power consumptions (around 900 uA). I am using a very basic code just to test current consumtion, i2c communication seems to work, but maybe i am missing some parts.

int main(){
       rfalAnalogConfigInitialize();
 
	if(rfalInitialize() != ERR_NONE)
	{
 
	}
	else
	{
		rfalWakeUpModeStart(NULL);
        }
}

Am i missing some api calls?

Thanks,

Regards

52 REPLIES 52

Thank you for the prompt answer.

Indeed I just prepared some analyzer traces, which I attach here. First part is before the "1" second part is after the "1"s

The logic analyzer detects some errors (missing acks?), but for our MCU the communication is fine (no I2C errors detected). Also the payloads interpreted by the MCU match the ones on the analyzer, so I suppose that part is fine.

I shot a picture of the setup, I will upload it in a while, in the meantime I will try to follow your suggestions.

Photo of the test setup

0693W000000VHW1QAO.jpg

Ulysses HERNIOSUS
ST Employee

Hi,

the Logic analyzer trace this time only decodes Error-Error-Error. I would try to twist the 4 wires going to the logic analyzer.

Regards, Ulysses

Yes I can, but it's not just "errors" in the trace.

This is the beginning of firstpart.dwf3logic inside the .zip file. We actually just found out that most of ERRORs are missing STOP bytes after the 4 IRQ register read.

Do you see the same thing or you can't read my files properly?

0693W000000VIFQQA4.png

This is what happens to me after last of the 4 irq register is read:0693W000000VIFpQAO.png

is it enough to add "first stage gatin reduction AM" and "PM" in CHIP_INIT to reduce RF power?

board init + NFC-A scan begin, now with:

-twisted I2C an logic analyzer wires;

-whole logic analyzer wires + I2C wires and MCU board wrapped in tin foil and grounded

-PM and AM gain reduced in init mode 10dB

Ulysses HERNIOSUS
ST Employee

Hi,

my traces never showed real data but only Error-Error-Error which seems to have been a logic analyzer artifact: After removing the I2C decoder and re-adding it I could see useful data similar to yours.

As the NACK and STOP are generated by the master and immediately afterwards the task level performs I2C transfers I am suspecting a missing lock / premature unlock in your I2C code causing the missing STOP. From a first glimpse it seems not to cause bad effects but I would definitely repair this.

Reading the secondpart everything looks normal from RF comm: 93 20 (AC CL1) -> 88 39 2C 00 9D and >1sec later: 93 70 88 39 2C 00 9D -> 04 (SAK byte). The second cascade level could not be seen in the trace.

No idea about the long pause. Did you step through using the debugger? Or maybe an issue of your timer adaptions for the RFAL (platformTimerCreate(), platformTimerIsExpired(), platformDelay().

Definitely no sign of noise on the receiver.

Regards, Ulysses

Regards, Ulysses

vcaia.1
Associate II

Thanks on the hints, we'll keep digging following your suggestions.

These tracks are not from step-debugging, but we print a lot of debug serial data which takes time. But less than 1s for sure, if that's the delay you referring to. From my debug, all of that time the state machine is looping into this branch without ever entering any other branches (indeed it just prints "1")

	if( ((gNfcDev.techsFound & RFAL_NFC_POLL_TECH_A) != 0U) && ((gNfcDev.techs2do & RFAL_NFC_POLL_TECH_A) != 0U) )   /* If a NFC-A device was found/detected, perform Collision Resolution */
	{
		static rfalNfcaListenDevice nfcaDevList[RFAL_NFC_MAX_DEVICES];
                uart_putstring_buf((uint8_t*)"1");

MPeli.1
Associate III

Hello,

after downloading the sources for disco demo, from here https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25r011.html , the sources actually don't compile because a lot of includes are missing (i opened "\STSW-ST25R011\ST25R3916_DISCO_v1.1.0\Projects\ST25-Discovery\Demonstrations\ST25R3916Demo\TrueSTUDIO\ST25R3916-DISCO\.project" in STM32CubeIDE).

Is there a guide to import such files? If i import just the includes needed (and it involves a whole lot of work because they are so many), a lot of files with the same name but different content are imported, leading to errors.

Thank you very much,

Regards