2020-02-24 06:15 AM
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
Solved! Go to Solution.
2020-04-03 02:42 AM
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.
2020-04-03 02:57 AM
Photo of the test setup
2020-04-03 04:35 AM
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
2020-04-03 05:55 AM
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?
2020-04-03 05:58 AM
This is what happens to me after last of the 4 irq register is read:
2020-04-03 06:21 AM
is it enough to add "first stage gatin reduction AM" and "PM" in CHIP_INIT to reduce RF power?
2020-04-03 06:46 AM
2020-04-03 06:54 AM
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
2020-04-03 07:16 AM
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");
2020-04-07 02:57 AM
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