2018-02-15 04:05 PM
Hello!
On the NUCLEO-F767ZI I want to extract information from an analog signal that is frequency-modulated. The frequency range is 100...500 kHz. The signal is not quadrature, but sinusoidal with an amplitude of 5 V. I thought about feeding this signal to a digital input pin (five-volt tolerant) and creating an interrupt as soon as the input changes from LOW to HIGH (>= 3.3 V). In this interrupt I copy the clock cycle counter of a timer that is afterwards reset to count up from zero again... until the next change from LOW to HIGH occurs on the input pin.
Would that be a possible approach? I know that I have to somehow block the negative half-cycle of the sinusoidal voltage in order not to destroy the GPIO.Are there other concerns I did not think about yet? Any hints or recommendations from you?I do not want to use the ADCs because they only provide 2.4 MSPS which is a quite poor resolution regarding the frequency of the analog signal.Thanks in advance!
#frequency-demodulation #frequency-modulation #frequency-detection #fm #digital-input2018-02-15 11:31 PM
IMHO the thing you ask about is Zero Crossing Detection.
Some devices use it to synchronize their actions to the mains (240V) zero crossing - think 'dimming'.
With appropriate adaption of the circuitry, it should work for your frequencies as well.
I am no hardware design guy, but you will surely find example schematics on the net.
Be aware the your hardware needs to deal properly with negative voltages.