Custom Products from Masters Communications |
|
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:
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). These inputs are internally pulled high, to 3.3 V, and have to be pulled low enough to become valid. 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. Most AllStar radio adapters use protection diodes (BAT-43's) that don't allow voltage to be sent into the CM1XX chip. If voltage is allowed to be inputted to these pins, the chip is destroyed. So - with the diodes in place, it doesn't matter what voltage is present on the COS or CTCSS hardware inputs, at the interfaces 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 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 - its 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 conf 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 (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. 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
For the node to become active with CTCSS only the file would be programmed like this:
carrierfrom=no
ctcssfrom=usb (or usbinvert)
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)
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, but lack the ability to sink. 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 connection or protection diode. 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!