This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PRU timing precision

I was using a Beaglebone Black as a pulse generator for controlling scientific experiment timing and was wondering if there is any data on the timing precision of the PRU. 

I know that the clock cycle is 200 MHz and so 5 ns instruction time but if I set a continuous series of pulses at a particular frequency I'm interested in the uncertainty in the time between pulses. I have access to a 2 GHz oscilloscope but haven't seen any jitter/deviation from the set frequency on a sample of pulses to the nearest 500 ps. 

  • Hi,

    The PRU toggles GPO pins directly from the R30 core register. What jitter there would be will be caused directly from the 200MHz core clock frequency. Relevant documentation is section 4.4.1.2.4 from the AM335X TRM Rev. K and section 7.14.1.1 from the AM335X Datasheet Rev. G.

  • Is there any documentation specifically on the jitter from the 200MHz core clock? I couldn't find it in the documents you referenced.

    But also from AM335X Datasheet Rev. G, Table 7-93 (toggling GPO pins from the R30 register would be direct output mode) it lists the internal skew between GPO signals. Would this mean that on PRU 0 there could be a time difference of +/- 1ns (and +/- 5ns on PRU 1) between two output pins in addition to any delay I set in the software?
  • makka said:
    Is there any documentation specifically on the jitter from the 200MHz core clock?

    No, there isn't. the 200MHz frequency is generated by the Core PLL, which is directly fed from the main oscillator.

    makka said:
    Would this mean that on PRU 0 there could be a time difference of +/- 1ns (and +/- 5ns on PRU 1) between two output pins in addition to any delay I set in the software?

    Yes, that's right.