cancel
Showing results for 
Search instead for 
Did you mean: 

Output power on st25ru3993 really low

TCrav.1
Associate III

Hi ST,

We bought a ST25RU3993-HEPV last year to evaluate the RFID chip and wanted to control it using SPI (You already helped us with that question and this one). The SPI master is a Cortex A15.

We are currently adapting ST code into our newly created Linux Device driver. We tested the driver to read/write registers, the IRQ is working properly, and the selftests done by ST st25RU3993Initialize function are OK.

However, when we try to read a tag using inventoryGen2 function in evalAPI_commands.c file, we can't manage to have more than -17dbm in output of the spectrum analyser. We can see that we are emitting at the good frequencies (Europe profile), but the output power with the internal power amplifier are nowhere near the experiments we did with a non modified EVAL board (-2db).

Currently, here are the calls we do to initialize and run a scan:

Note that spictx is just the context of the 25ru3993 device to be able to communicate with it by SPI.

/* Initialization */
initializeFrequencies();
st25RU3993Initialize(spictx);
initCommands(spictx);
checkAndOpenSession(spictx, SESSION_GEN2);
ENEXTIRQ(spictx);
 
/* Gen2 Inventory */    
for (i=0; i<rounds; ++i ) {
    inventoryGen2(spictx);
}

Information about the execution:

  • External PA is disabled
  • Just before calling gen2SearchForTags function, in inventoryGen2
    • cycleData->statistics.sensitivity=3
    • cycleData->statistics.frequency=865700
    • cycleData->statistics.tuningStatus=0
  • After calling st25RU3993AntennaPower and activating autoAck (begining of gen2SearchForTags function), we have the following register values:
  • The AGCANDSTATUS register (2Ah) value is 8b. PLL Is locked.
  • Protocol Control register (01h) has value 0x20. AutoAck is enabled, Gen2 protocol is selected
  • Device status control register (00h) has value 0x03. The receiver is enabled, Tx RF field and receiver are enabled.
  • When the IRQ is called, the IRQ registers value is 0x01 (No response interrupt)
  • The Rx no response time register (07h) has value 0x5 instead of the default 0xf, giving less time to the tags to answer.
  • We tried with AutoAck disabled, and the received IRQ is 0x81 since we need to acknowledge the tx by ourselves.

Modifications done to ST code:

  • Added SPI context to all necessary functions.
  • Replaced HAL time functions by Linux kernel ktime ones.
  • Replaced floating point divisions by registers shift / euclidean divisions.

Can you confirm that we did not miss any commands for initialization, and can you help us debugging this output power problem ?

1 ACCEPTED SOLUTION

Accepted Solutions
TCrav.1
Associate III

Hello Bart,

Thanks for your answer.

I can confirm that no modification was done on this board. We have two boards and keep this one unchanged to be able to compare our measures of the modified board.

We will come back to you later about the soldering or assembly problems.

Best regards,

Thomas

View solution in original post

8 REPLIES 8
TCrav.1
Associate III

In other words, can you provide a list of registers or the steps to follow to change the TX power with the internal power amplifier ?

TCrav.1
Associate III

Hi,

I want to add that we don't want to select the antenna by software, we force it by hardware.

Can you confirm that to force antenna 1 to be used, we need to wire ANT_V2 to 3.3V ?

We think there is a confusion in naming: When setting ANT_V2 pin to 3.3V and ANT_V1 to GND, then calling searchForTags, we measure a signal of -6dbm on the antenna ANT1. When setting ANT_V1 pin to 3V3V and ANT_V2 to GND, then calling searchForTags, we measure a signal of -45dbm on antenna ANT1.

Can you confirm that ANT_V2 is for ANT1, and ANT_V1 is for ANT2 ? Can you explain why we still have a residual signal on an antenna when powering the other one ?

Nick K
ST Employee

Hello Crav.1

ANT_V1 and ANT_V2 control a switch. Yes its correct ANT_V2 = high and ANT_V1 = low select antenna port 1. And vice versa.

Or you force this by HW. Its also possible to complete remove the switch SP2T and direct connect TX_RX to the SMB connector.

As a reference for the register value at different code execution times I should be possible to use the ST implementation of the EVAL FW and the STUHFL_demo code.

In the FW code it is then possible to dump at any time the complete register set.

The STUHFL_demo in the Application folder, can be used to do proper ST25RU3993 configuration and setup Gen2 protocol stuff and start scanning, after the FW boots up the default HW configuration was done.

Regarding your output power measurement with a spectrum analyzer. With -17dBm there must be something wrong, but also -2dBm as the ref measurement on a HPEV sound strange. 

With a ST HPEV board you should measure a positive value. Default should be around +17dBm.

BR

TCrav.1
Associate III

Hello Nick, Thank you for your reply.

We finally managed to perform tags inventory and reading with our modified HPEV-board.

But we still have some questions on the power output.

We have redone the output power measurements. We use a spectrum analyser connected to the output port and we measure the power output during a tags inventory of several seconds/rounds (Europe profile):

With our modified HPEV-board:

  • With the Internal PA, at 20dBm (Output level 0), we measure 17.33 dBm
  • With the External PA, at 30dBm (Output level 0), we measure 30 dBm

With the non modified HPEV-board:

  • With the Internal PA, at 20dBm (Output level 0), we measure 10.17 dBm
  • With the External PA at 30dBm (Output level 0), we measure 30.67 dBm

You can find below the measurements we did. The "Eval" board is the non modified one. The "Mockup" board is the modified one.

Here is our spectrum analyser configuration:

  • Center freq: 866,9MHz
  • Span: 10MHz
  • RBW: 100kHz
  • VBW: 300kHz
  • sweep: auto

We are surprised by the results obtained with the non modified HPEV board. Is there an issue in our test procedure, test set up, or with our evaluation board?

Best regards,

Thomas.

0693W00000Lz24kQAB.png

Bart Herse
Senior II

Hello Thomas,

with the information provided it is hard to tell why the EVAL board shows a lower output power.

I suggest you share screenshots of the Reader configuration/settings dialog and the register map.

A high-res. picture of the board itself helps as well.

To narrow down on the source of the problem you could measure the internal PA output power at J9 which is located between the Balun and the PA switch. Check if the output power here is at an expected level.

With regards to your question from an earlier post:

"Can you explain why we still have a residual signal on an antenna when powering the other one ?"

--> the RF switch at the antenna ports does not have an infinite isolation between the two switch-ports. That is why the "inactive" antenna port still shows some low power level.

Cheers,

B

TCrav.1
Associate III

Hi Bart,

Here are the screenshots you needed.

We don't have any test adapter (MS-156-HRMJ-2) to measure power at J9, can you help us with what we have provided so far ?

Thanks,

Thomas.0693W00000LzT22QAF.jpg0693W00000LzT27QAF.jpg0693W00000LzT2HQAV.jpg0693W00000LzT1xQAF.jpg

Bart Herse
Senior II

Hello Thomas,

thanks for sharing this information.

Nothing in the settings of the reader would explain to low TX power levels in your measurements.

With regards to measuring the power at J9:

Can you check if any soldering/assembly problems are apparent on the components between the reader IC, J9 and S1.

If no obvious issue can be found we should discuss sending-in the board for a check.

Can you confirm that no modifications were done on the board?

Cheers,

B

TCrav.1
Associate III

Hello Bart,

Thanks for your answer.

I can confirm that no modification was done on this board. We have two boards and keep this one unchanged to be able to compare our measures of the modified board.

We will come back to you later about the soldering or assembly problems.

Best regards,

Thomas