Hi gang.
After many weekends of work I have managed to let the stock ATS-3A transceiver
transmit nice BPSK31 "cq ok1iak". The
firmware of ATS-3A was modified to allow serial line control, which is
performed over the DASH paddle pin in straight key mode. That means paddle will
not work if in remote control mode. To enable both remote control and paddle
would need hardware modification of the stock ATS-3A.
The only way to shape the BPSK31 envelope on a stock ATS is to key the
transmitter on/off. The envelope is far from raised cosine, but the signal is
not wider than of CW and the sidelobes will be hopefuly negligible at QRP levels. I tested common windows
PSK31 programs how they will cope with that non ideal envelope. MIXW32, MultiPSK, DigiPan and PocketDigi worked well, WinPSK
had occasional drop outs. Here is the screenshot of BPSK31 signal received on RadioShack DX-398. On the lower part of the screenshot the
receiver may have been overloaded.
BPSK31- ATS3A.png
Here is how it sounds. You may try to decode it yourself.
cq-ok1iak- ats3-bpsk31. wav
RTTY or MFSK16 modulation patterns may be generated by ATS perfectly. Olivia
uses symbol shaping, but I bet hard keying like in the case of MFSK16 will work
good enough.
The serial line hardware protocol is 1200Bd asynchronous, 8bit, 1 start, one
stop bit. Because I am targeting mainly handheld computers, the serial stream
is generated by a sound card in the
I will be happy to provide modified ATS-3A firmware source or binary, the
windows wav generator source or binary or command wav files to anyone wanting
to experiment. The prerequisity is to be able to
flash the firmware. For introduction to ATS firmware flashing look at http://w1mt. qrpradio. com/ats3. html
I will work on PocketDigi support now and I hope to
make some PSK31 QSOs when I visit my parents' house.
I do not have any antenna possibility at my appartment.
BTW I will try to pursue some student at my alma mater - the
Now to the tone decoder. I built only decoding part of
the following schematic http://www.qsl. net/yo5ofh/ projects/
xrmodem.gif . The analog FSK demodulator
chip from Exar XR2211 is readily available and cheap.
The value of C5 is too big, I decreased it to 4N7. I connected pins 6 and 7 to
provide muting if there is no signal on the line. Without input signal the DASH
pin is low and ATS-3A is configured to straight key / remote control on
startup. I connected two red LED diodes to pin 7 to pull the maximum output
voltage to 3.3V.
The XR2211 decoder is analog, which means it is sensitive to component
tolerances. I do not have much experience with analog circuits and I had hard
time to tune it. Tone generator is very handy, there
is a bunch of free PC sound card tone generators on the internet. Connect LED
to pin 5 to indicate phase loop lock. This will help to avoid tuning the
oscillator above space or below mark tones. Put LED on pin 6 to indicate
decoded tone. The transition frequency is geometric average of the two tones, sqrt(1200*2200)
=1625Hz.
This is a picture of my prototype. The black plastic box is half empty and the
tone decoder will be much smaller if made in SMD. The tone decoder sources cca 4mA. The small bread board above the plastic box is a
MAX232 level convertor to monitor the FSK decoder.
xr2211- ats3a.jpg
There are following alternatives to the XR2211 FSK
decoder. MX/FX614 chips are expensive (about $10) and hard to get, but they
consume only 1mA at 3.3V. They are digital, no tuning is nescessary.
Daugter board mounted on the opposite to the band
filter will fit inside the altoids tin for sure.
Other possibility would be to decode pulses instead of tones, which would need
only input level converter with single op amp, or even just the internal
comparator of MPS430 (this would mean hardware mods
to the stock ATS3). Imagine sending short plus/minus pulses to the sound card.
Logical one will not send any pulse, logical zero will send short plus/minus
ripple. Average value will be zero. The pulse will be deformed and it will ring
for a while, but if the pulse is lot shorter than the bit slot, it will hopefuly ring out in the same slot. This approach is
similar to the SIR infrared hardware layer. I hope to find time to experiment
with it.
The last possibility is using serial line of the PC. This would work for remote
control for sure, but to modulate DDS directly means exact timing on the
control line, which is hard to do on multitasking operating systems. There are
multimedia timers on Windows though, which shall enable timing with 2msec precission. That shall be good enough. There are no multimedia
timers on Pocket PC. I do not know about Linux.
The remote control protocol I implemented works in two modes - command or
modulate. In command mode the commands are packed into frames similar to Icom IC-V protocol. The frames start with FE and end with
FD. The first payload byte is command, then 0 to 6
data bytes may follow. The payload bytes are in BCD format, the A to F nibbles
may not appear inside the payload. I implemented the following commands. The
protocol is very alpha and will certainly change.
01 -
Beep morse characters. Just
for testing the connection. The format of morse
characters is the same as used by the firmware internally.
An example packet "fe 01 05 10 0f 17 fd" will beep "ahoj".
02 -
Set frequency, reset RIT/XIT state. Frequency is sent by 4 BCD bytes, lowest
digit first.
Command "fe 02 23 98 01
07 fd" will set the frequency to 07,019,823Hz.
03 -
The same as 02, but additionaly it will announce the
new frequency by AFA on success.
04 -
Set XIT offset and start BPSK modulation. The
transmitter will be off until the first modulation command.
The XIT offset is sent by 2 BCD bytes. Negative offsets are sent in 9
complement format.
Command "fe 04 34 12 fd"
will start BPSK modulation at +1234Hz,
Command "fe 04 99 99 fd" will start BPSK modulation at -1Hz.
After the command 04 is succesfully decoded, serial
line will no more respond to command frames, but to single byte modulation
commands.
00 - End of modulation, stop TX and return to command mode.
01 - Key up, but stay in modulation mode. Used to simulate
raised cosine amplitude envelope.
02 - Set phase to 0 degrees, key down the transmitter.
03 - Set phase to 180 degrees, key down the transmitter.
The UART is implemented using interrupts and timers, so it works in background
and does not consume additional power. Baud rate is derived from the 32768
clock resonator. I had to comment out some original code to make place for
remote control. Callibration code is not needed after
the transceiver is callibrated. DFE or tune modes are
not nescessary too. If instead of the 4k MSP430 chip
the 8k variat was used, it would all fit nicely.
Maybe the ATS-3b will be fitted with more FLASH?
73, Vojtech OK1IAK