This article documents an open squelch data carrier detect (OSDCD) for TNC-2.
The TNC commonly derives Data Carrier Detect (DCD) from its modem chip (often a broadband energy detector is used in modem chips). DCD is used to enable decoding of incoming Receive Data (RD), and to block transmission whilst the channel is busy.
There are two problems that the OSDCD addresses:
- squelch may be slow to open on some receivers, preventing decoding of some packets with short preamble; and
- if squelch opens because of interference or non-packet signals, the transmitter is blocked.
Additionally, a receive with open squelch recognises another transmitter (and potential collision) faster, something of the order of 40-50ms and can therefore wait until the next slot to avoid the collision.
The OSDCD monitors the RD pin of the modem chip, and tries to recognise transitions characteristic of 1200Bd data transmission. The name derives from the fact that the receiver can be operated with squelch open as the OSDCD differentiates between 1200Bd data and other audio.
The process is essentially an agressive Delay Locked Loop that sets a phase reference for later data transitions. The detector does not rely on any particular data content, other than requiring transitions and its transition timeout accomodates frame data and any valid HDLC frame data (including isochronous preamble used by some devices).
Above is the top view of a prototype built on Veroboard. The pins, from the top down are:
S1200 selects 1200Bd operation, /S1200 selects 300Bd operation.
/DCD is an open collector output. On 23/08/14 weak pullup was added to the pin.
The MCU is an ATTiny25 and it uses a 16MHz ceramic resonator for the oscillator, the capacitor is 0.1µF for power supply decoupling.
Above, the underside detail.
The small module, either direct wired or using header pins as show can be encapsulated in heatshrink and fixed in position with double sided foam tape or zip ties.
The osdcd chip has been tested in Paccomm Tiny-2 MK-2 and the Flash Packet Radio Control Board (VK6).
- 11/08/2014 Initial
- 16/08/2014 – algorithms and timing optimised
- 23/08/2014 – weak pullup added to open collector /DCD pin