Frequency Counter's

Modified on Jan. 13th, 2020
added simple Freq. counter program for STM32F4xx
linked F746 Frequency Counter document(Japanese).
https://onedrive.live.com/?id=E726C1E354E854B2%211099156&cid=E726C1E354E854B2

I made several type of "Frequency Counter" using mbed boards.

Type 1) Simple and easy set-up

Range: Max 24MHz (F411)
Gate time: 1 second only
Base Clock : CPU Clock on mbed board
mbed Board's: LPC1768, LPC1114FN28, Nucleo-F401RE, Nucleo-F411RE
URL: /users/kenjiArai/notebook/simple-frequency-counter/

Import programFrequency_Counter

Only for mbed LPC1768, mbed LPC1114FN28, Nucleo-F401 and Nucleo-F411. No way to change pin assign.

Modified on Jan. 13th, 2020

Import programFrequency_Counter_for_STM32F4xx

Simple frequency counter, run without modification on Nucleo board, Input pin PA0, PA1, PB3. Only for STM32F4 series (Tested on Nucleo-F401RE,-F411RE and F446RE)

Only for STM32F401,F411 and F446 (maybe extend STM32 series(no tested)).
Assign additional input pin as PA0, PA1, PB3.
Use internal clock -> This means not so accurate compare with Type2 and others.

Type 2) Basic concept

Range: Max 24MHz
Gate time: 1 second only
Base Clock :
(1) 25MHz VCTXO with temperature controlled Oven
(2) GPS 1PPS signal
mbed Board: Nucleo-F411RE
URL: Not available any documentation

Import programFrequency_Counter_w_GPS_1PPS

Accurate Frequency Counter up to 25MHz. Base clock is compensated by GPS 1PPS pulse. This program runs only on mbed NucleoF411RE.


Type 3) Simple but enough accuracy

Range:
(1) Max 100MHz (without prescaler)=F746, Max 90MHz=F446, Max 48MHz=F411
(2) Max 1GHz (with prescaler)=F746
(3) Reciprocal 0.01Hz to 5KHz
Gate time: 1 second, 10sec, 100sec, 1000sec max 4095sec
Base Clock : GPS 1PPS signal
mbed Board: DISCO-F746NG, Nucleo-F411RE, Nucleo-F446RE
URL: here
Operation concept:
(1) F746
/media/uploads/kenjiArai/block_diagram_fc_f746_wo_oven.pdf
(2) F411&F446
/media/uploads/kenjiArai/block_diagram_fc_f411_wo_oven.pdf
Hardware Circuit:(common F746,F446 and F411)
/media/uploads/kenjiArai/fc_f746ng_circuit.pdf
program:
(1) Output to PC (via USB(VCOM line))

Import programFreqCntr_GPS1PPS_F746F4xx_w_recipro

Very simple but enough accuracy "Frequency Counter". Using GPS 1PPS signal for 1sec gate. CPU is F746, F446 and F411.


(2) DISCO-F746NG Graphic User Interface

Import programFreq_Cntr_GPS1PPS_F746NG_GUI

Frequency Counter. User interface are used DISCO-F746NG GUI with touch panel.


Type 4) Complex and accurate type (extended Type 2))

Range:
(1) Max 100MHz (without prescaler)
(2) Max 1GHz (with prescaler)
(3) Reciprocal 0.01Hz to 5KHz
Gate time: 1 second, 10sec, 100sec, 1000sec max 4095sec
Base Clock :
(1) 50MHz VCTXO with temperature controlled Oven
(2) GPS 1PPS signal
mbed Board: Nucleo-F746ZG
URL: here
Operation concept:
/media/uploads/kenjiArai/block_diagram_fc_f746_w_oven.pdf
Hardware Circuit:
/media/uploads/kenjiArai/fc_gps1pps_w_oven_final.pdf
/media/uploads/kenjiArai/50mhz_oven.pdf
/media/uploads/kenjiArai/lcd_sw.pdf
program:

Import programFrequency_Cntr_1PPS_F746ZG

Frequency counter using GPS 1PPS signal and temperature controlled 50MHz Base clock. Ported from F411 Frequency Counter.


Recomendation

Best solution is Type 3) Nucleo-F446RE mbed.
This solution is very simple and enough accuracy with reasonable cost.

Pictures

Type 3) F446
/media/uploads/kenjiArai/board0.jpg
/media/uploads/kenjiArai/board1.jpg
/media/uploads/kenjiArai/board2.jpg
Tera Term output Type3)F446
/media/uploads/kenjiArai/f446_data.png
Type 3) DISCO-F746NG
/media/uploads/kenjiArai/type3_f746.jpg
/media/uploads/kenjiArai/type3_f746_1.jpg
Type 4) Nucleo-F746ZG
/media/uploads/kenjiArai/type4_f746.jpg
/media/uploads/kenjiArai/type4_f746_1.jpg


1 comment on Frequency Counter's:

25 Aug 2018

I have STM32F401 Nucleo Board; trying to execute/run => Type 2) Basic concept, but it couldnot work for me. Kindly let me know changes I need to make?

Please log in to post comments.