62 FSK modem

62 : FSK modem

Select Project123456789ONSW2
  • Author: Balint Kovacs
  • Description: Very simple FSK modem, comparable to Bell 103
  • GitHub repository
  • Clock: 12500 Hz

How it works

On the transmit side, it has two triangle wave synthesizers. The frequency of one can be altered by the data in pin, and the other one can be mixed in for DTMF.

On the receive side, it takes the input, heterodynes it with some square waves, and then filters I and Q over a 31 tap FIR filter. Finally, a phase detector is applied, that output is differentiated, and filtered for glitches. The noise immunity of this approach is questionable.

How to test

  • Set registers over SPI.
  • Connect the "incoming" phone line to a comparator, and to samples_in.
  • Connect the "outgoing" phone line to an R-2R DAC, and to samples_out.
  • Connect a serial port to data_in and data_out.
  • Enjoy squawking 300bps serial!

IO

#InputOutput
0clockdata_out
1resetvalid_out
2cs_nsamples_out[0]
3scksamples_out[1]
4mosisamples_out[2]
5data_insamples_out[3]
6samples_out[4]
7samples_insamples_out[5]