Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to detect clock frequency?

Status
Not open for further replies.

Vitamin-C

Member level 2
Member level 2
Joined
Apr 6, 2004
Messages
43
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
405
how to detect clock

Does anyone know how to detect the clock frequency, distinguish
it whether it is below or above 10MHz within +/-10% deviation ?
I need all the components on chip and operating current as
low as 50uA.

Any suggestion?
 

Do you have other reference clocks, such as RTC?
 

Sorry, there is no real-time clock
 

If you have watchdog in your mcu , make active it , and start counting where counter is in memory location
In AVR watchdog is supplied from different oscillator .
You should check watchdog implementation in your mcu for that . When watchdog reset will be happened get the counter value . Using precalculated counter values , you can easely find mcu's clock frequency .
 

Sorry I need to clarify, there is no other reference clock, oscillators ...
 

Use filter crystal followed by peak detector or class a amplifier followed by low pass filter
 

Well, you've got some known-freq. clock such as system clock other than 10MHz, right?
 

There is no other reference clock, I need to detect the ONLY ONE clock
frequency whether it is higher or lower than 10MHz.
 

Well , if you mcu has GPIO ports (assuming the topic was about clock detection with mcu) configure 2 ports one as output and another as input and connect them .
The idea is about port has some level establishmen time - when you output 1 or to port it should take some time till its level will be set . Invert the data on out port and start reading the from input port together with intenal counter incrementing . The higher freq - the higher counter valaue will be .

Or the same trick can be done with capasitor and one GPIO port . Connect capasitor and resistor with known t = r*c to GPIO port . Configure port as output and charge the capasitor via sending 1 .
Then reconfigure the port as input and begin reading
from port in loop together with internal counter incrementation . R and C value will define how long it takes to discharge the capsitor - that is time duration reference .

Or make the delay circuit for 100 nsec and compare delay output and input . If freq above 10 MHz you will get 1 if writing input to trigger on delayed signal rising edge . And opposite - get 0 if freq below 10 MHz .
 

Thanks for the idea.

However, in the design, there is no other port to connect external components.

For the delay cell idea, my question is how to make a fix delay coz there is variation from process, voltage and temperature ...
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top