2018-02-15 4: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.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.