CTCSS Encoder
From ON0DAS
Contents |
Overview
The ON4DST CTCSS ENCODER is a miniature CTCSS TONE generator. Tone selection is programmable through the use of solder pad jumpers. Tone generation is on chip controlled. A transmit high pass filter is included to reduce the possibility of false decoding. The BUS header allows remote tone frequency programming.
Specifications
- Frequency Range: See Table
- Encode output level: Adjustable to 700mV (no load)
- Encode Distortion: -30dB THG
- Input Controls: Push To Talk (active low)
- Operating Voltage: +12 volts [ with 1K resistor ]
Interfacing 11 pin miniature header (mating connector with 30cm (12") color coded flying leads provided) Second 11 pin miniature header provided with H option for control of tone frequencies.
Schematics
Layout
Pins
1 GND = signal out ground 2 OUT = output signal 3 A = programming letter 4 B = programming letter 5 GND = power supply ground 6 +5V [3.6V] 7 C = programming letter 8 D = programming letter 9 /PTT = active low PTT, tone activation signal 10 GND = PTT ground 11 GND = ground for debug purpose 12 PWM = PWM output of the microcontroller for debug purpose
All grounds are concurrent in star point on pcb.
Power Supply
The ON4DST CTCSS ENCODER can be supplied from 12V [may vary 8-16V] via a 1K resistor to the +5V [3.6V zener] pin, don’t connect 5V directly to the pin. The circuitry use a zener-diode to limit the supply voltage. This is not the most power efficient way of power supply but good enough for old radio-rigs. If one removes the zener-diode the voltage applied to the circuitry may vary from 3-5V for normal operation.
Tone programming
To select the right tone one has to solder the programming jumpers letters [A,B,C,D].
For every programming letter [A,B,C,D] 3 states are possible.
- 0 = solder short to GND, open to +5V [+3.6V]
- 1 = open to GND, solder short to +5V [+3.6V]
- 2 = open to GND, open to +5V [+3.6V]
On delivery, all letters are placed in the open position so the frequency is set to 131.8Hz [ON0DST CTCSS FREQUENCY]
See Tone Table for other frequencies.
Tone Generation
To make a tone one needs to shorten the /PTT line to GND. This is not done on delivery!
If one wants to piggy back on a other /PTT switch it might be wise to use a diode and a 10K resistor (see schematics).
When you alter the programming during tone generation, the new setting will be valid the next PTT cycle, not the current!
Output
Pin OUT provides the audio tone referred to GND and coupled with a 10uF capacitor to provide DC-block. The output level can be modified using the 10K lin trimmer. This trimmer can be replaced by an offsite potentiometer to adjust the level remotely.
Tone Injection
There are several ways to include the ON4DST CTCSS ENCODER into your old radio rig.
The first simple, quick and dirty method: Use any audio amplifier and bass-speaker and connect the OUT to line input of the amplifier. One cloud play the base tone and air couple it into the mike while PTT. Disadvantage you hear a continues base tone.
The second method is to make the OUT level very small [extra resistor divider needed] and electrically sum it into the mike line.
The third method [not for ON3-types] is the most difficult but has the best performance. One needs to open the radio rig and locate the CTCSS input. If there is no CTCSS input one should locate the mike signal to a point after all pre-emphasis and limiting circuitry. And adjust the 10K lin trimmer very carefully. Be aware that improper setting of this voltage could increase the NFM-deviation of the RF-signal far beyond the usual between 0.5 and 0.7 kHz deviation!
Tone Table
| TONE_INDEX | A= | B= | C= | D= | FREQ |
| 0 | 0 | 0 | 0 | 0 | 69,3 |
| 1 | 0 | 1 | 0 | 0 | 71,9 |
| 2 | 0 | 2 | 0 | 0 | 82,5 |
| 3 | 1 | 0 | 0 | 0 | 85,4 |
| 4 | 1 | 1 | 0 | 0 | 88,5 |
| 5 | 1 | 2 | 0 | 0 | 91,5 |
| 6 | 2 | 0 | 0 | 0 | 94,8 |
| 7 | 2 | 1 | 0 | 0 | 97,4 |
| 8 | 2 | 2 | 0 | 0 | 100 |
| 9 | 0 | 0 | 0 | 1 | 103,5 |
| 10 | 0 | 1 | 0 | 1 | 107,2 |
| 11 | 0 | 2 | 0 | 1 | 110,9 |
| 12 | 1 | 0 | 0 | 1 | 114,8 |
| 13 | 1 | 1 | 0 | 1 | 118,8 |
| 14 | 1 | 2 | 0 | 1 | 123 |
| 15 | 2 | 0 | 0 | 1 | 127,3 |
| 16 | 2 | 1 | 0 | 1 | 136,5 |
| 17 | 2 | 2 | 0 | 1 | 141,3 |
| 18 | 0 | 0 | 0 | 2 | 146,2 |
| 19 | 0 | 1 | 0 | 2 | 151,4 |
| 20 | 0 | 2 | 0 | 2 | 156,7 |
| 21 | 1 | 0 | 0 | 2 | 159,8 |
| 22 | 1 | 1 | 0 | 2 | 165,5 |
| 23 | 1 | 2 | 0 | 2 | 167,9 |
| 24 | 2 | 0 | 0 | 2 | 171,3 |
| 25 | 2 | 1 | 0 | 2 | 173,8 |
| 26 | 2 | 2 | 0 | 2 | 77 |
| 27 | 0 | 0 | 2 | 0 | 177,3 |
| 28 | 0 | 1 | 2 | 0 | 179,9 |
| 29 | 0 | 2 | 2 | 0 | 183,5 |
| 30 | 1 | 0 | 2 | 0 | 186,2 |
| 31 | 1 | 1 | 2 | 0 | 189,9 |
| 32 | 1 | 2 | 2 | 0 | 192,8 |
| 33 | 2 | 0 | 2 | 0 | 196,6 |
| 34 | 2 | 1 | 2 | 0 | 199,5 |
| 35 | 2 | 2 | 2 | 0 | 67 |
| 36 | 0 | 0 | 2 | 1 | 203,5 |
| 37 | 0 | 1 | 2 | 1 | 206,5 |
| 38 | 0 | 2 | 2 | 1 | 210,7 |
| 39 | 1 | 0 | 2 | 1 | 218,1 |
| 40 | 1 | 1 | 2 | 1 | 225,7 |
| 41 | 1 | 2 | 2 | 1 | 229,1 |
| 42 | 2 | 0 | 2 | 1 | 233,6 |
| 43 | 2 | 1 | 2 | 1 | 241,8 |
| 44 | 2 | 2 | 2 | 1 | 250,3 |
| 45 | 0 | 0 | 2 | 2 | 254,1 |
| 46 | 0 | 1 | 2 | 2 | 1 |
| 47 | 0 | 2 | 2 | 2 | 74,4 |
| 48 | 1 | 0 | 2 | 2 | 10 |
| 49 | 1 | 1 | 2 | 2 | 50 |
| 50 | 1 | 2 | 2 | 2 | 100 |
| 51 | 2 | 0 | 2 | 2 | 79,7 |
| 52 | 2 | 1 | 2 | 2 | 200 |
| 53 | 2 | 2 | 2 | 2 | 131,8 |
Clock Mode
For using up the remainder of the program memory, also a clock generation routine has been added. This should not be used for ctcss tone generation be can be used in other situations. Programming is done in a similar way. See clock table.
Clock Table
| 0 | 0 | 0 | 1 | 0 | 77 |
| 1 | 0 | 1 | 1 | 0 | NA |
| 2 | 0 | 2 | 1 | 0 | NA |
| 3 | 1 | 0 | 1 | 0 | NA |
| 4 | 1 | 1 | 1 | 0 | NA |
| 5 | 1 | 2 | 1 | 0 | NA |
| 6 | 2 | 0 | 1 | 0 | NA |
| 7 | 2 | 1 | 1 | 0 | NA |
| 8 | 2 | 2 | 1 | 0 | 67 |
| 9 | 0 | 0 | 1 | 1 | 0,1 |
| 10 | 0 | 1 | 1 | 1 | 0,2 |
| 11 | 0 | 2 | 1 | 1 | 0,5 |
| 12 | 1 | 0 | 1 | 1 | 1 |
| 13 | 1 | 1 | 1 | 1 | 2 |
| 14 | 1 | 2 | 1 | 1 | 5 |
| 15 | 2 | 0 | 1 | 1 | 10 |
| 16 | 2 | 1 | 1 | 1 | 15 |
| 17 | 2 | 2 | 1 | 1 | 20 |
| 18 | 0 | 0 | 1 | 2 | 25 |
| 19 | 0 | 1 | 1 | 2 | 50 |
| 20 | 0 | 2 | 1 | 2 | 74,4 |
| 21 | 1 | 0 | 1 | 2 | 100 |
| 22 | 1 | 1 | 1 | 2 | 200 |
| 23 | 1 | 2 | 1 | 2 | 500 |
| 24 | 2 | 0 | 1 | 2 | 79,7 |
| 25 | 2 | 1 | 1 | 2 | 1000 |
| 26 | 2 | 2 | 1 | 2 | 131,8 |
Credits
Developed by Karl-Frederik ON8LTE
Download as PDF
You can also download the above documentation as a PDF from the following link:
CTCSS-1.pdf