Custom Products from Masters Communications
  Print this Page

RA / DRA Series Radio Adapters
Detailed Hardware Logic Input Description

Description:
There is much confusion surrounding the "hardware" COS and CTCSS inputs to the CM1XX chipsets. Here is a dissertation I wrote some time ago, that hopefully explains the situation well. I'll apologize now - this is long, but everything is important, so read it through at least once.

For ASL to work - the status of the receiver's activity (whether it's squelched or unsquelched) needs to be provided to the application. If you're using the simpleusb radio driver, that is accomplished by a COS logic signal that appears at the "COS" pin of the RADIO connector on the RA or DRA. In order for that to happen - active low COS must be programmed into the radio or otherwise done in hardware to appear at the COS input of the radio interface. This assumes a repeater with carrier access. For a repeater with CTCSS access, both COS and CTCSS must be acted upon. This is done by additionally wiring the CTCSS dectection (active low) from the repeater's receiver to the radio interface. When the radio is programmed correctly, COS (and CTCSS if required) will change states in the "V" (view status) section of the ASL menu.

The COS logic input on all RA and DRA interfaces requires an active low to assert (basically a short circuit to ground). As a sanity check - you can unplug the radio connector and short the COS logic input of the RA/DRA to ground with a jumper wire and you should see the COS status change in the ASL View Status menu. DRA interfaces also have enable headers / jumpers that must be installed to allow the COS and CTCSS functions to be connected.

The COS and CTCSS logic inputs on C-Media CM1XX based radio adapters were originally the volume-up and volume-down functions in Windows®, actuated by manual (push button tactile) switches in a standard audio adapter (FOB - USB headset adapter). These functions were remapped in the ASL software to become receive activity indicators. These inputs are internally pulled high, to 3.3 V, and have to be pulled low enough to become valid and allow receive audio to flow (pass). As such the push-button switches made a good ground when depressed, as that's what the other side of the switch was tied to - ground. These tactile switches are omitted in ASL radio interfaces, and their logic is replaced by the COS and CTCSS logic signals provided by the receiver. Most AllStar radio adapters use protection diodes (BAT-43's) that don't allow voltage to be sent into the C-Media CM1XX chip. All RA's and DRA's include protection diodes on both COS and CTCSS logic inputs. If voltage is allowed to be inputted directly to these pins of the chip - it is immediately destroyed. So - with the diodes in place, it doesn't matter what voltage is present on the COS or CTCSS inputs at the radio connector, because voltage on these pins doesn't make anything happen. And, because of the protection diodes, doesn't hurt anything if voltage is present. Pull-up resistors on these inputs are totally unnecessary, because we need a ground to assert the condition. Any reference you see to "active high" or anything indicating the COS and CTCSS signals need to go high to become valid is technically incorrect. A diode is like a one way valve in a water supply - it simply allows current to flow in one direction - not the other. Diodes do not invert the logic applied - they simply provide a path in one direction - and in the case - that path is to ground.

Okay, so the CM108/119's logic inputs are looking for a logic low (ground) to be valid. This "active low" condition is required NO MATTER if the setting in the ASL configuration file is upright or inverted. So - the setting in the configuration file doesn't change the fact that the adapter needs an active low to be valid and assert the condition. All the software setting does is change if the active low condition exists when the radio is hearing a signal (and has become unsquelched), or when it's not (squelched). Using a DMM, you can read the voltage on the CM1XX side of the protection diodes to see if the logic level is properly changing from 3.3V (or there abouts - depending on the exact chipset) to 0.0V or a few tenths of a volt as the receiver's state changes from squelched to unsquelched - and so on.

COS and CTCSS are programmable functions of the simpleusb channel driver. This logic is required to tell the application that the receiver is hearing something and validates its activity and allows receive audio to flow (unmute). Each input has identical functionality. Whether or not either or both inputs are required depends on how these functions are programmed in the software. Here is an explanation of the simpleusb channel driver.

Valid receiver activity can follow any of the following 4 choices depending on how these are set up in the ASL software configuration file:
1 - Neither COS or CTCSS
2 - COS only
3 - CTCSS only
4 - Both COS and CTCSS

The choice of 1 - 4 is done using commands in simpleusb.conf

The following command controls the COS logic input:
carrierfrom=

The following command controls the CTCSS logic input:
ctcssfrom=

The part after the equal sign can be any of the following choices:
no - no detection at all
usb - from the COR / CTCSS logic line on the modified USB sound fob
usbinvert - from the inverted COR / CTCSS logic line on the modified USB sound fob

For the node to ignore activity on these logic inputs - the file would be programmed like this:
carrierfrom=no
ctcssfrom=no

For the node to become active with COS only the file would be programmed like this:
carrierfrom=usb (or usbinvert)
ctcssfrom=no
This is what a carrier access repeater would use.

For the node to become active with CTCSS only the file would be programmed like this:
carrierfrom=no
ctcssfrom=usb (or usbinvert)
This configuration isn't popular because it usually provides a terrible squelch burst at the end of a users transmission.

For the node to become active requiring BOTH COS and CTCSS the file would be programmed like this:
carrierfrom=usb (or usbinvert)
ctcssfrom=usb (or usbinvert)
This is what is used when a CTCSS tone is required to access the repeater. When the software is programmed to use both of the logic inputs - BOTH are required at the same time. The reason is - receive activity is logically ANDed together. The simple reason is to help eliminate squelch bursts when a user unkeys. A detailed explanation of AND Squelch is explained here.

Not all radio logic signals are created equal. Some logic circuits can source current (provide a voltage), but lack the ability to sink (provide a path to ground). Sometimes active high circuits (circuits that provide a voltage when the state becomes active) don't have the ability to pull to ground very well. These circuits may not have the capability to pull the COS and CTCSS inputs low enough on the radio adapter to become valid/active. A pull-down resistor can help, but nothing beats a real active low circuit. A 2N2222 (or similar NPN transistor - - configured open-collector) with its emitter grounded usually works well. Use the collector to feed the radio port COS and/or CTCSS connections. Use adequate bias through a resistor to the base (1-10k) to the active high source. This bias action saturates the transistor so it becomes heavily driven to saturation. Doing so esentially shorts the transistor out causing a switched ground to appear at the collector when bias is present.

Hope this helps...
Kevin

Back to Detailed Description Page

Email Kevin Custer for ordering information, ordering by check, and/or support of these exciting products.

Copyright 2019 Kevin Custer - Masters Communications
HTML June, 1, 2019, W3KKC All Rights Reserved!