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-03-20 03:11 AM
Hello,
1bit corresponds to 13.06mV. 100dec should be equivalent to 1,306V on the RFI pins, 171dec should be 2,23326V. In general these values are good.
Your i2c connection is not entirely clear to me. Below is a schematic of all necessary connections do drive the ST25R3916-DISCO MB1414-B with an external MCU PCB.
All these connections are mandatory for i2c.
Please let me know, if this solves your problem.
BR Travis
2020-03-20 05:00 AM
Hello,
Yes mine is the same, i just took the i2c and irq, pin 1-2-3 of cn100 connector as for page 26 of the user manual of the discovery board.
Vbus (pin 2 of the image that you linked) was disconnected, but since switch is on 3v3 position it should be ok right?
I tried connecting it to 3v3 but nothing changes.
Thank you very much,
Regards
2020-03-20 05:24 AM
Hi,
At which Voltage is your MCU / MCU_IO running?
Is your MCU GND connected with the PSU GND?
Thanks, Travis
2020-03-20 05:50 AM
Hello Travis,
MCU is runnin at 3,3, and ground of mb1414-b and our MCU is shared and connected to the psu gnd, communications seems to work fine indeed.
Thank you very much,
Regards
2020-03-20 06:06 AM
HI,
Does this mean, that the problem has been solved? If yes, what solved the problem?
Or does it mean that the communication is fine, but the problem still exists?
Thanks for your answer!
Br Travis
2020-03-20 06:08 AM
Hello,
no, the problem is not solved, the communication seems to work fine but the problem still exists.
Thank you very much,
Regards
2020-03-20 06:22 AM
Hi,
we are still puzzled why you should experience such issues. It doesn't sound like a software / digital issue, but please provide anyhow:
Regards, Ulysses
2020-03-23 02:50 AM
Hello,
here a brief setup scheme that shows our electrical connections and the trace derived from waveforms software.
For controlling the st25r3916 i am currently using a nrf51822 mcu, while for tag-a slave we are using a nrf52822 mcu with nfc that acts like a card slave.
I also include the source code used, that i derived from the st25r3916 discovery demo sources and rfal documentation.
rfalNfcDiscoverParam nfcParam;
rfalWakeUpConfig wuCfg ;
static rfalDpoEntry dpoSetup[] = {
// new antenna board
{.rfoRes=0, .inc=255, .dec=115},
{.rfoRes=2, .inc=100, .dec=0x00}
};
int main(){
wuCfg.period = RFAL_WUM_PERIOD_200MS;
wuCfg.irqTout = false;
wuCfg.indAmp.enabled = true;
wuCfg.indPha.enabled = false;
wuCfg.cap.enabled = false;
wuCfg.indAmp.delta = 2U;
wuCfg.indAmp.reference = RFAL_WUM_REFERENCE_AUTO;
wuCfg.indAmp.autoAvg = true;
wuCfg.swTagDetect = false;
wuCfg.cap.reference = 0;
nfcParam.compMode = RFAL_COMPLIANCE_MODE_NFC;
nfcParam.techs2Find = (uint16_t)RFAL_NFC_POLL_TECH_A;
nfcParam.devLimit = 1;
nfcParam.maxBR = RFAL_BR_106;
nfcParam.totalDuration = 4000u;
nfcParam.wakeupEnabled = false;
nfcParam.wakeupConfigDefault = false;
nfcParam.wakeupConfig = wuCfg;
nfcParam.notifyCb = NULL;
nfcParam.lmConfigPA.nfcidLen = RFAL_LM_NFCID_LEN_10;
if(rfalNfcInitialize() != ERR_NONE)
{
}
else
{
rfalNfcDiscover(&nfcParam);
rfalDpoInitialize();
rfalDpoSetMeasureCallback( rfalChipMeasureAmplitude );
rfalDpoTableWrite(dpoSetup,sizeof(dpoSetup)/sizeof(rfalDpoEntry));
rfalDpoSetEnabled(true);
rfalSetPreTxRxCallback(&rfalPreTransceiveCb);
while (1)
{
rfalNfcWorker();
}
}
}
Thank you very much,
Regards
2020-03-23 02:51 AM
2020-03-23 04:49 AM
Hi,
unfortunately the trace is not usable. In the beginning it looks ok but later on (when the field got turned on?) it gets unreadable. Please try to see to improve the quality - twist wires, move them away from the antenna, etc.
For your reference I am attaching two screenshots of clearing an interrupt. The first one which looks ok. and a second one where the payloads make no sense at all.
Regards, Ulysses