After getting the Wideband FM Demodulation to work and achieving much better results then expected, it was time to test the FM Modulation mode. The base configuration is the same as used for FM Demodulation.
In FM Modulation, the internal ADC is used to control the FM deviation/shift. For this the ADC was set-up to use the differential inputs, GPADC13. The Analog Input circuit transforms the single ended AC coupled input into a differential signal in the ADC input range of +/- 500 mV around a VCOM of 800mV.
Bellow is a figure of this signal conditioning, in yellow is the Analog Input signal, the audio signal injected into the module, and in green and blue the differential ADC inputs.
This figure also shows a problem with the differential amplifier in use, with the current circuit the amplifier is not very stable and introduces an oscillation on top of the differential output signal. In the future a different amplifier will be used and tested but for now, even with this oscillation, the results are good.
The sampled signal by the ADC is then used to control the FM deviation. The conversion gain from ADC count to frequency deviation is controlled by the FSKDEV register and here it is set to use the maximum frequency deviation possible, +/- 62.5kHz, which gives the desired Wideband FM Modulation.
Bellow is a figure showing the RF output spectrum of the Module. The spectrum of the FM Modulation with a full range audio signal as the input, 100% volume from my laptop, is shown in yellow and with a half range signal, 50% volume, in red.
To listen to the FM Modulation any conventional FM receiver can be used, I used the FM receiver of my smartphone and it worked great! More information on the set up used to achieved this as well as an audio sample file output by my smartphone FM receiver are available on the website.
With this, the Module can now both modulate and demodulate FM signals. The next step is to test Narrowband operation, using a microphone as the Audio Input signal and implementing push-to-talk functionality.