Using PPI to Generate 8MHZ Signal

Hi,

I'm using the PPI component to generate 8MHz GPIO signal. this signal is an input for power amplifier analog RF transmitter.

While the digital 8MHz signal looks fine, we are noticing some bumps every 40 us in the RF analog signal. when trying to use the SPI clock to create the 8MHz signal the bumps are eliminated and we get a clean signal.

As the PPI input clock is 16MHz, I was wondering if theoretically its capable to create a digital 8MHz signal? that means that the GPIO should be toggled every single clock, is that an overkill in terms of performance for the PPI or should it be able to handle this task?

The bumps were also reproduced with the DK evaluation board to generate the 8MHz signal, see bump in the image below:

Parents
  • Hello Joshua,

    I'll have to get back to you on this tomorrow.

    You are using the 5340?

    Are these bumps a problem for your application?

    Regards,

    Elfving

  • Hi Joshua, 

    Sorry about this case going on as long as it has. My problem currently with this is that we have yet to reproduce this on our side (at least if we do not think this 13.5MHz problem is related), so getting what you described above working here would be great. It seems I don't have the right components in the lab right now, but I'll try to test this tomorrow.

    Could you send me a higher resolution version of that image from the scope? So, the envelope detector there seems to show some oscillations regarding the peaks, could you show me what it is oscillating between? And in addition to that it seems to show that the average gradually goes up a few steps there, do you agree? Is that also inexplainable from your side? 

    levijo said:

    4. We will try to lower the frequency and see if it reproduces

    Did you get a chance to test this?

    So on the graph here, what are we seeing in brown, blue and cyan?

    Regards,

    Elfving

  • And this might just be related to the 13.5MHz part, but it might be worth trying to turn off NFC in UICR, just to see if that helps. I saw that UICR was enabled on my side when trying your code.

  • Hello Elfving,

    I am working with Joshua, and I will try to answer to your questions.

    Could you send me a higher resolution version of that image from the scope? So, the envelope detector there seems to show some oscillations regarding the peaks, could you show me what it is oscillating between?

    We will take additional screenshots in the following days and share with you. Zooming in to the rectified signal will show the 8MHz ripples after the envelope detector. Are these the oscillations you mean?

    And in addition to that it seems to show that the average gradually goes up a few steps there, do you agree? Is that also inexplainable from your side? 

    The steps where the average gradually goes up are exactly the bumps that we are trying to figure out what their source. These steps can be explained by an increased duty cycle of the 8MHz digital signal in this area, that results in a higher voltage that develops on the capacitor. In all other parts of the signal, where there are no such steps, the voltage is quite stable, indicating on a equal (50%) duty cycle.

    levijo said:

    4. We will try to lower the frequency and see if it reproduces

    Did you get a chance to test this?

    Not yet, it is not a very trivial test for us, we will try to do it if turning off the NFC will not help.

    So on the graph here, what are we seeing in brown, blue and cyan?

    Channel 2 (Cyan/Blue...- with/without filter) is a sinusoidial 8MHz signal that based on the 8MHz digital signal from the MCU, after amplification. The bumps can be seen there on the envelope.

    Channel 1 (yellow/brown - with/without filter) is the rectified signal of the 8MHz signal (from channel 2). The rectified signal is created by a very similar envelope detector circuit as shared by Joshua (with additional electronics that causes the signal to decay). The bumps also can be see there and they are synced with the bumps from channel 2.

    And this might just be related to the 13.5MHz part, but it might be worth trying to turn off NFC in UICR, just to see if that helps. I saw that UICR was enabled on my side when trying your code.

    We will try this and share the results.

    In the meantime, can you please share your opinion whether it might be related somehow to the operation of the PDM module? Can it be explained if they use the same clock source?

    Thanks for your support,

    Avihay

  • Elfving said:
    so getting what you described above working here would be great. It seems I don't have the right components in the lab right now, but I'll try to test this tomorrow.

    I see that I unfortunately won't be able to test this today after all. I'll have to try testing this after the holidays.

    AvihayZ said:
    Zooming in to the rectified signal will show the 8MHz ripples after the envelope detector. Are these the oscillations you mean?

    Yes. I'm not familiar with envelope detectors myself, but I figured it could tell us a bit about this other signal that is in the mix. Though I am a bit confused if the "steps" are from the bumps that we're trying to figure out. Then there are two things here that are inexplainable, right? If in fact the signal from the nRF52 was completely smooth.

    AvihayZ said:
    In the meantime, can you please share your opinion whether it might be related somehow to the operation of the PDM module

    It definitely could be related, especially considering what you mentioned here.

    levijo said:
    3. When activating the Dmic with nRF53 the output signal have a significantly less bumps (every few seconds instead of every few ms)

    Could be that enabling it makes some changes regarding consistent clock management, resource allocation, or interrupts. Though as you said, you are still seeing the issue with this enabled. It isn't necessarily better per se. Getting this reproduced on my side would make things easier.

    Regards and happy holidays,

    Elfving

  • Hi Elfving,

    Just to give you some more inputs:

    1. we have changed the code to generate the 8MHz via SPI (see attached code), using the nrf5340 dk board.

    2. regarding the DMIC, we disabled it entirely to see if it has an effect on the bumps. The output signal still remained with the bumps

Reply Children
Related