AnnouncementsProof of concept posted to QRP-L
Motivation and description of implementationThe ATS-3 transceiver is a superhet with 5MHz crystal ladder filter and DDS vfo. For CW, there is no need for TX mixer and DDS output is only amplified and low pass filtered before it is let into antenna. There is no way to modulate SSB with that transceiver.
On the other side, DDS chips may be easily controlled to change phase or frequency. One may modulate BPSK or QPSK modes quite easily, if he modulates PA with raised cosine envelope additionally. I roughly approximated the raised cosine envelope by simple on/off keying of the CW shaping circuit and it works quite well. The PSK signal is wider, but no one complained yet. The multitone modes like RTTY, MFSK16, Olivia may be easily modulated on the DDS chip too. Sound card Olivia has some amplitude envelope, but the decoder works even if the tones are hard keyed as in the case of MFSK16.
My original goal was to make it work with Pocket PC. Pocket PC devices have quite constrained interface. On all of the devices, there is sound input (at least per internal microphone) and sound output. On some devices there is serial line, on some of them there is bluetooth, IrDa, SDIO, USB. Now the question is how to do it, that the DDS phase will be modified at exactly 32msec for BPSK31 stream.
Windows are not precise enough to control the DDS over serial or other asynchronous interface. One may buffer the modulation commands in the transceiver controller and do the precise timing there, but the controller is quite memory constrained and it would mean more complex firmware, lot of assembler programming that I don't like etc. But in every modern personal computer, there is one synchronous interface, that enables exact timing, even on Pocket PC there is one - sound card. I decided to modulate asynchronous commands in BELL202 format over sound card and decode it with a receiving part of BayCom modem. The digital output was fed into the ATS-3 controller, which translated that asynchronous words to DDS.
Because the external BELL202 decoder is quite expensive and difficult to setup, I converted the low layer to slightly modified manchester. Manchester modulation is easy to code/decode and has zero DC component, so it shall be immune to all the capacitors in the data path. Sound card is set to 8000 samples/sec. Space is sent as half period of 1kHz sine (4 samples at 8000). If two spaces are sent, the polarity alternates. The idle signal is therefore a clean 1kHz tone. Mark is sent as a whole period of 2kHz tone (4 samples again).
In ATS3a transceiver, there is a schmitt trigger slicer, which converts the modulated signal to digital levels. The firmware measures intervals between zero crossings. 0.5ms interval is space, two successive 0.25ms intervals are considered mark. Over the manchester modulation, a standard 1 start, 8 data and 1 stop bit asynchronous protocol is overlayed.
At start of TX, some synchronisation pulses are sent (just 1kHz idle tone), then start of frame, command byte, payload, end of frame. If the command is "start PSK TX", then the waterfall TX frequency is coded in the payload. If the command is "start MFSK TX", then in thepayload there is an additional byte telling tone spacing.
After the TX packet is decoded, the transceiver goes into TX mode and receives single byte commands, like phase0/90/180/270, tx on/off, tone0/1/2..32, end of tx mode. For PSK mode, the asynchronous data is shortened to 3 data bits, which allows maximum command speed of 8000/(3+2)*4=400 commands per second. This makes even BPSK125 feasible.