This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52832 is it possible to use PPI to store multiple timer counts?

Hi all. I am trying to work out if the following is possible;

At the moment I have setup a freq counter (analog signal) on the nRF52832. It uses the comp to detect up crossing events, and this is liked to a timer in counter mode via a PPI channel. A second timer (100mS) stops the counter, so I basically I end up with a freq count / 10.

Would it be possible to somehow use PPI to move the count value into an array somewhere, so basically every 100mS I can reset the counter via PPI, but also move the result to an array? This way I could monitor a signal continuously for freq change,

I could use the counters other CC registers, but there are only 4 so could only collect 4 values with my current knowledge. It would be good to be able to keep collecting the readings somehow.

Not sure if easyDMA can help with this?

Thanks

Phil

Parents
  • No I'm afraid you've hit the limit of what you can to with the TIMER peripheral. You'll have to use the 6 capture registers and read them every 600ms. Alternatively you can use another TIMER instance and run it in parallell with a forked COMP detect event. That way you get a total of 12 capture registers. 

    If you want even more TIMERs then you can use the Event Generator Unit to create additional events from the COMP detect event. 

Reply
  • No I'm afraid you've hit the limit of what you can to with the TIMER peripheral. You'll have to use the 6 capture registers and read them every 600ms. Alternatively you can use another TIMER instance and run it in parallell with a forked COMP detect event. That way you get a total of 12 capture registers. 

    If you want even more TIMERs then you can use the Event Generator Unit to create additional events from the COMP detect event. 

Children
Related