Re: fsk on si5351

Jerry Gaffke
 

The si5351bx routines used in Allards code and in the uBitx already do bulk transfers:
See post https://groups.io/g/BITX20/message/34362

Though doing FSK by i2c writes to the Si5351 will make for abrupt frequency transitions, which will cause adjacent channel interference.
The Si5351 does seem to not create any runt clocks during such transitions though.
The Si5340 has an SPI inerface allowing much faster writes, so you could do the transition as a series of smaller steps.

Farhan build an NBFM transmitter using the Si5351 by pulling around the 25mhz reference oscillator.around.
That's probably the best approach.
 https://groups.io/g/BITX20/message/34020


On Mon, Jan 8, 2018 at 03:41 am, Rod Self wrote:

Additional comment which solved the problem: Kicking up the Wire library speed from 100kHz to 400kHz with
Wire.setClock(400000L);and using a bulk transfer to shove out a pre-calculated array of 8 bytes that is MultiSynth0's new divisor (instead of sending register1-byte1-register2-byte2-etc). The Si5351 supports bulk transfer with automatic address increments, so a whole new setup for MS0 was a total of 9 sent bytes. (Initial address plus the eight bytes of divisor+number+denominator.) This took the minimum pulse down to about 0.4ms, well below the 1ms I required. Hurray! 

 

Join BITX20@groups.io to automatically receive all group messages.