Configure TCPWM as Timer or Counter in the initial dialog when setting the properties.
The counter may count up, down or up and down and the timer counts incoming pulses up to a given limit.
And don't forget to use a second one as timer, to define the measurement period.
One possibility -
Looks like there are some clocking problems in my prior post, I fixed Gate clocking error,
but the Fin error, still trying to figure that out. Tried Sync module, and D approach, neither
I can use (see below) to measurement period
Retranslation back with a period frequency
if capture get 2480 then frequency equal (500KHz/2480) = 201.61Hz
This will get the input frequency ....lol, really silly
Yes, you have made a reciprocal counter, great for low F measurement.
What is the F range and resolution you need for the design ?
Some useful ref material, attached.
Freq Counter10.zip 761.2 K
Keep in mind the error grows rapidly as Fx grows, approaching the Gate period,
in a reciprocal counter, whereas that occurs in a frequency counter as Fin
approaches its low F Gate period.
My project is have use ADE7755 to measurement watt, max frequency about 5Khz ,I think we should meet.
approaches its low F Gate period. Is represents the input frequency is low when, capture counter is have overflow problem?
My English is poor, not very able to understand the meaning of this phrase@@
You should be fine at 5 Khz, the +/- 1 count represents 1%.
If you had a conventional F cntr, gate 1 Hz or 1 sec, and Fx = 2 Hz then
reading would be 2 Hz +/- 1 Hz, -50% to +50% error. Due to +/- 1 count
problem. If Fx = 10 Hz then error drops to -10% to + 10%. Thats why Reciprocal
counters are used, like what you did, for low Fx measurement.
But in my prior post I was in error, regrarding reciprocal counter error, it is fixed,
as shown by the below graph -
I might understand, calculated by the following
I should pay attention to the error problem +-1count
500000 / 999 500.500501 500000 / 1000 500 0.10% 500000 / 1001 499.5005 500000 / 99 5050.505 500000 / 100 5000 0.99% 500000 / 101 4950.49505 500000 / 9 55555.556 500000 / 10 50000.000 9.09% 500000 / 11 45454.545
I do understand what you mean, right? :'-(
I found that I had to go to count pulse, because ADE7755 output is pulse, rather than the frequency
There any way can be let the GPIO as an input clock to do it?
So I can pulse input to TCPWM, then go read the counter value within one second
I have read this article,
but it is the system clock output to the I / O feet, and my aim is to be I / O pin as a clock input to TCPWM :(