I have been trying to create a frequency modulated wave using the RAM Modulation Mode, but until now no success.
I took the following steps:
- Define the step rate, end address and start address (zero)
- Load Profile0 (0x0E) choosing Recirculate
- Load the respective RAM words (0x16) with the Frequency Tuning Words properly spaced
- Load register ASF (0x09) with the chosen, fixed level
- Load register 0x00 (CRF1) choosing the playback destination (frequency) / 0x80 in the most significant byte and zeroes in all others
The curious thing about this is that I have implemented RAM-based waveforms varying the amplitude and had success. In my opinion the difference between AM and FM is that that the playback destination is different (RAM words loaded with level in the first case and with frequency in the second) and with AM the FTW register defines the frequency and with FM the ASF register defines the level.
Considering that the registers were loaded correctly, any thoughts?