2024-10-17
03:50 AM
- last edited on
2024-10-17
07:21 AM
by
Maxime_MARCHETT
I am trying to use the low power detection mode now, I want to try to use the phase detection function to implement a low power detection card, the 3920B can configure the interval time between each detection pulse, but Apple has no control over the pulse width of the detection pulse (pulse duration time) requirement, I would like to know how to modify the duration of the detection pulse.
This question is urgent. Who can help answer it in time? Thank you!
This post has been translated from Chinese to comply with the ST Community guidelines.
Solved! Go to Solution.
2024-10-18 05:12 AM
Hi CCClay,
yes, for software based wake-up software needs to manually enable tx field, emit a measure command and turn off the receiver.
Code would look like this:
/* Field On and extend duration with adjustment */
st25r3911WriteRegister( ST25R3911_REG_OP_CONTROL, (ST25R3911_REG_OP_CONTROL_en | ST25R3911_REG_OP_CONTROL_tx_en) );
st25RMeasureTxDelay();
/* Perform measurement */
st25r3911ExecuteCommand( ST25R3911_CMD_MEASURE_PHASE );
/* Field Off */
st25r3911WriteRegister( ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_en );
Where st25RMeasureTxDelay() could be a small for loop to induce a small delay. tx_en bit can be immediately cleared as field stays until measurement is done. In this case SW is responsible for reading ST25R3911_REG_AD_RESULT and processing it: Wake-up evaluation, Auto averaging, etc.
If interested in such full source code you will need to contact your local ST Sales team.
BR, Ulysses
2024-10-18 02:26 AM
Hi CCClay,
Please see AN5320. It details TAWU = 25 μs and TPWU = 35 μs. With combining both amplitude and phase you can also achieve ~59us.
Other values could only be achieved by software generating the pulses (limited by SPI speed).
BR, Ulysses
2024-10-18 02:46 AM
Hi,Ulysses
Thanks for your reply,I have seen AN5320 and also noticed the details you mentioned.I think the values couldn't be changed by configurating the device STR253920B。And i want to confirm if the way u mentioned change the value by software generating the pulses is to Open or Close the TX Driver?or other specific software operation ? Can u help with the specific answer ,Thanks very much!
BR,CCClay
2024-10-18 05:12 AM
Hi CCClay,
yes, for software based wake-up software needs to manually enable tx field, emit a measure command and turn off the receiver.
Code would look like this:
/* Field On and extend duration with adjustment */
st25r3911WriteRegister( ST25R3911_REG_OP_CONTROL, (ST25R3911_REG_OP_CONTROL_en | ST25R3911_REG_OP_CONTROL_tx_en) );
st25RMeasureTxDelay();
/* Perform measurement */
st25r3911ExecuteCommand( ST25R3911_CMD_MEASURE_PHASE );
/* Field Off */
st25r3911WriteRegister( ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_en );
Where st25RMeasureTxDelay() could be a small for loop to induce a small delay. tx_en bit can be immediately cleared as field stays until measurement is done. In this case SW is responsible for reading ST25R3911_REG_AD_RESULT and processing it: Wake-up evaluation, Auto averaging, etc.
If interested in such full source code you will need to contact your local ST Sales team.
BR, Ulysses
2024-10-20 06:54 PM
Hi,Ulysses
Thank you very much for your reply, I will continue to try to debug according to your suggestion, thanks!
BR! CCClay