[Elecraft] Getting more KX1 sidetone levels by using tristate

Leigh L Klotz, Jr. Leigh at WA5ZNU.org
Tue Nov 30 16:47:42 EST 2004


The KX1 offers 4 sidetone levels, 3 if you discount "off", generated 
from two pins of the PIC16 microcontroller, which are toggled high and 
low through two resistors to the audio amplifier, forming a primitive 
resistor/amplifier DAC.

Additionally, the KX1 (unlike the K2) mutes the RX during STL and STP 
menu operations, making CW beating harder.

A recent article in Electronics World magazine (11/2004, p.47) discloses 
a technique to obtain ternary values from the MPU's I/O pins.  The 
technique uses the three 0/1/HiZ states to provide 3 output voltage 
levels per pin, instead of just two.  In use, the output resistors are 
either tied to supply voltage, to ground, or input, in which case they 
are effectively taken out of circuit, as the high-impedance of the PIC 
pin in input state can be taken as NC.

Using this technique with the two output pins that the KX1 uses for 
sidetone gives 3^2=9 voltage levels (8 plus off).

Although the proper tris and out pin levels are obtained from a table 
lookup, there should be no effect on the sidetone timing loop as the 
current KX1 firmware appears to use a square wave output, so the I/O pin 
selection would be done only when the sidetone volume is set.

Giving a choice of 8 levels instead of 3 might allow a greater range of 
sidetone levels, and if enough output is available, for the KX1 RX to be 
unmuted during STL/STP setup, allowing the operator to beat the received 
signal against the sidetone for easier tuning.

Leigh.


More information about the Elecraft mailing list