Level 3
Level 3

# TCPWM measure frequency

Dear All,

TCPWM can capture and compare, but it seems not count counter

How do I use TCPWM count counter to measure frequency?

Thanks.

16 Replies
Level 10
Level 10

# Re: TCPWM measure frequency

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.

Bob

Level 8
Level 8

# Re: TCPWM measure frequency

And don't forget to use a second one as timer, to define the measurement period.

Level 9
Level 9

# Re: TCPWM measure frequency

One possibility -

Level 9
Level 9

# Re: TCPWM measure frequency

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

working.

Level 3
Level 3

# Re: TCPWM measure frequency

Thanks friends,

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

Level 9
Level 9

# Re: TCPWM measure frequency

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.

Regards, Dana.

Level 9
Level 9

# Re: TCPWM measure frequency

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.

Regards, Dana.

Level 3
Level 3

# Re: TCPWM measure frequency

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@@

Thanks!

Level 9
Level 9

# Re: TCPWM measure frequency

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 -

Level 3
Level 3

# Re: TCPWM measure frequency

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?  :'-(

Level 9
Level 9

Thats correct.

Regards, Dana.

Level 3
Level 3

# Re: TCPWM measure frequency

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

Level 10
Level 10

# Re: TCPWM measure frequency

Since PSoC4 is a bit different, have a loook here: http://www.cypress.com/?rID=80799

Bob

Level 3
Level 3

# Re: TCPWM measure frequency

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 😞

Level 9
Level 9

# Re: TCPWM measure frequency

According to the datasheet the outputs are frequency, although not

necessarily a square wave.

Level 9
Level 9

# Re: TCPWM measure frequency

From tech support the only way to clock a counter externally is

by use of the UDB based counter/timer.

Regards, Dana.