BLE DTM "CARRIER TEST" is oscillating the PA pin?

nRF52840, nRFSDK 17.0.2, SoftDevice S140 v7.2.0

Hello! We're turning on SoftDevice and using the PA/LNA pin control to drive our FEM. Then, we disable SoftDevice and issue the following DTM commands to ourselves- there's no upper/lower tester involved, we're doing carrier wave power emissions testing in a chamber for antenna design refinements:

0x0000 (RESET)
0x801b (FEM_DEFAULT_PARAMS_SELECT)
0x800f (ANT1 select)
0x880b (+8dBm TX power)
0x9303 (CARRIER_TEST (2440MHz))

We see the device emit a 2.44GHz wave, so that's working well:

But, we're also seeing the PA pin oscillating. I'm not sure if SoftDevice is cleaning up the PA/LNA PPI TE stuff when we disable it; either way here's what it looks like:

I would expect that for a CARRIER TEST DTM command, the driver would simply drive the PA pin high and leave it there. Why is it oscillating?

Thanks,

Charles

Parents
  • Hello,

    I think you assumptions make sense, that there are likely some ppi channels enabled (either from radio event or timer0 event) hooked to the PA pin, which periodically will toggle the PA pin. I don't have any good suggestion than to either perform a soft reset before you want to run DTM commands or that you start a debugging session and find which ppi channel is enabled that cause this.

    Kenneth

Reply
  • Hello,

    I think you assumptions make sense, that there are likely some ppi channels enabled (either from radio event or timer0 event) hooked to the PA pin, which periodically will toggle the PA pin. I don't have any good suggestion than to either perform a soft reset before you want to run DTM commands or that you start a debugging session and find which ppi channel is enabled that cause this.

    Kenneth

Children
  • Thanks for the quick response, Kenneth-

    It looks like the nRFSDK ble_dtm.c has no knowledge of the PA and LNA pins, so I'm guessing that it's my responsibility to take them over and do what I need to with them during DTM mode?

    We're using the relatively simple Skyworks SKY66403 FEM, and we have the PA and LNA pins wired into its mode-select pins. The PA pin in this case controls the TX power amplification behavior of the SKY66403, and we want it maximized for our radiated power tests. I want this to always be driven high, so I'm assuming that what I need to do is manually undo the SoftDevice PPI configuration after disabling SD, and then take manual control of these pins with the nrf_drv_gpio functions?

    This all sounds reasonable, I'm just looking for high-level confirmation + approval before I run off and go do this Slight smile

    Best,

    Charles

  • charles_fi said:
    This all sounds reasonable, I'm just looking for high-level confirmation + approval before I run off and go do this Slight smile

    Yes, that is they way I would have done it. Unfortunately it was not really intended to dynamically run-time to switch between BLE and DTM mode. An alternative approach is to do a soft reset and/or have a test pin, and upon startup if the pin is low or high, you enter DTM mode.

    Kenneth

  • That makes total sense- we need to do our tests in a sealed unit without any leads, so we have to use BLE to initiate the DTM tests. We send a queue of upper-tester commands into the device, and it simply executes them in an open loop without a lower-tester or and command result transmission. It's obviously incomplete, but works well enough for the basics like "set this TX power and emit an unmodulated carrier wave for 10 minutes".

Related