8 years, 7 months ago.  This question has been closed. Reason: Duplicate question

Tx Power

Hi, I'm using a STM32L152RE Nucleo platform together with SX1276MB1MAS platform. When working with code examples - Contuinuous Tx and PingPong - Tx power is at +14 dBm as it should be (except that I see many spikes around center frequency). I wrote my own code but even though all registers seem to be the same, my Tx power doesn't exceed -25 dBm. What could be the cause?

First I was initializing all the registers at once but FRFMSB, FRFMID, FRFLSB and PACONFIG didn't get configured for some kind of reasons. I'm now writing them later in my code.

Is there also a way to see the functions that initialize the STM32 on IAR (GPIO, SPI, Clock)? I can only see SX1276's routines. My plan is to design a code as straight forward as possible with minimum call.

Thanks for your help.

Question relating to:

Hi Nicolas,

Since you are using the SX1276MB1MAS component shield the output power is limited to +14dBm. Thus, when you switch to +20dBm using the PABoost on the RF select output there will be no connection. This PABoost selection to +20dBm is available on the SX1276MB1LAS (915MHz) component shield. This will explain why you see the low energy signals on your analyzer in trying to switch to the +20dBm setting. On the IAR porting we have not tested this capability since we do not have an IAR toolset. Our focus is on the SX1276 HW and the mbed compiler, this is why you only see the SX1276 routines. Any questions on the microcontroller platform functions and porting capability should be addressed to ST Micro and IAR. Thx, Loren

posted by Loren Geilen 19 Oct 2015

Hi Loren, On my code I'm operating without PABoost at +10.8 dBm at the moment (0x0F in PaConfig register). But still my output power is very low (-25 dBm) and it must come from my configuration. I am going back and forth in sx1276 datasheet but can't find my mistakes yet. How do you do when you work on a project if you can't export it on another workbench? mbed compiler is great for small test but not to go deeper into your HW, isn't it? Is there a way I could show you what I'm doing? I saw that I could send and receive using my code which isn't too bad :). Thank you, Nico

posted by Nicolas Gugger 20 Oct 2015

1 Answer

8 years, 7 months ago.

Hi Nicolas, From your description the default continuous TX and Ping-Pong demo code on you boards are able to output TX properly at 14dBm. Correct me if I am wrong. Can your recompile and program the default code with the output power going back to the +14dBm? Just want to make sure the SX1276 shield is working properly. Ensure that the output power register has not been changed and the TX mode is enabled. Currently the SX1276 routines are implemented for the simple demo examples. I will verify if there is a way to go deeper into the STM32 function calls. Thx, Loren

Hi Loren, thanks for your answer. So the Tx power was in fact +20 dBm with the example codes (continuous Tx). I read wrongly while going through the code. Still there were many spikes. I changed Tx power to +14 dBm then back to +20 dBm and I still see those spikes (for example, -30 dBm at 1.12 GHz).

Then on my program, I try to read all registers before and after sending Tx command. They are alike and PACONFIG is set to maximum (0x7F). But still i measure -30 dBm. I really don't see where I am mistaking. I 1) initialize my STM (clock, gpio and spi), 2) initialize sx1276 (each register that are different from default value) and check it, 3) write FIFO, 4) start Tx. It is very similar from code examples except that my code is slightly more compact.

Btw, txcontinuous program can't be imported in IAR. IAR is asking for None.icf. Do you know where this problem comes from?

Thanks for your help, Nico

posted by Nicolas Gugger 18 Oct 2015