Code Monkey home page Code Monkey logo

ohis's Introduction

Open-Headset-Interconnect-Standard

An open standard for a common interconnect between headsets and radios.

ohis's People

Contributors

smittyhalibut avatar

Stargazers

Tom Sayles avatar John Steele avatar Brandon Brown avatar  avatar  avatar  avatar Garth Kidd avatar Piotr Majkrzak avatar  avatar  avatar  avatar atvfool avatar Islam Elnabarawy avatar Doug Fredericks avatar Rolf R avatar Connor Dickey avatar Brendan Leber avatar Clayton Smith avatar Jeff Goeke-Smith avatar Graeme Sutherland avatar  avatar

Watchers

antigravkids avatar das |_ Team avatar  avatar

ohis's Issues

Proposal: Multiple button signaling on PTT line?

Not so much an issue as a proposal. Could the standard also include a pinout for a CW keyer rather than a mic? Folks might like, (I suspect very much), to bring their own keyer as well.

I've built up a prototype of this idea at hcarter333/rockmite#6

Thanks very much for putting together the standard! It inspired the work I did above. Also, if this isn't appropriate place for this question/suggestoin, please let me know, and I'll close or delete the issue. Thanks again!
73 de KD0FNR

Clarify requirements around headphone levels

DrCampy: Hey, how are you doing?
I'm finalizing Module17.
I remember that we discussed how to implement OHIS on the board.
I also realize that the current implementation is a notable deviation from the standard, so I'm not sure that it is a good idea to keep it as-is...

Most notably, the audio output we provide is the one that normally goes to the speaker. So the amplitude is up to 5V. But your document says that it is expected to be between 0dBV (1V) and -10dBV (300 mV).

And if I want to stay close to 1V, I could repurpose one of the free operational amplifiers already on the board, but it is only able to provide a few mA (25 mA iirc) so it would not be able to power a load as low as 8 Ohms... . Also, it would be ground referenced but with a DC offset. If I want to cancel DC offset, I would need to put a DC-blocking cap but then, my low-pass cutoff frequency would be terrible if we must support up to 300 Ohms as stated in the standard

I need to know what you suggest for that. Also, maybe the standard needs to be more precise about what is acceptable (in terms of acceptable loads mostly).

Mark: Output: Just put a resistor in series, and that'll be fine. I'm trying to figure out what value. Probably something between 100R and 33R. I know my stereo at home powers the headphones by just putting a 220R in series from the 100W speaker output! If you do the math, it actually comes out pretty close.

DC blocking: Yep, it's about 100uF or more. And yes, it needs to be there.

I usually put 220uF or 470uF on stuff that I want to be full range. For communications range, you can probably get away with 47uF (that's a guess, not actual calculation.)

And the low cut-off point goes DOWN (more bass) as your load impedance goes up. It's not able to discharge the cap as quickly, so the cap is able to pass the lower frequencies better.

It's the 8 ohm side that you need to be worried about.

An 8 ohm load drawing through a 100uF cap has its -3dB point at 200Hz. That's probably fine for this use case.

So, put a 100uF cap in series from the power amp, then two 33R resistors off the negative side of the cap toward the Left and Right channels on OHIS. They'll serve dual purpose: Allowing one headphone to get shorted to ground without killing the other, and they'll brint a 5v (did you mean watt?) signal down to about right for headphones.

put a 100uF cap in series...

No, it is indeed up to 5V signal (5V peak). Output power is 1W max

Thank you for the feedback, I ll crunch some numbers tomorrow and tell you what ๐Ÿ˜„

Also, I'm afraid that with serial resistors, I will have way more than 0dBV with higher impedance loads ๐Ÿ˜ฌ

Mark: The good news is, high impedance loads can handle the voltage better and will actually need it.

DrCampy: Yes, but then maybe you should update the document with the standard to provide some guidance? And also include more details about the acceptable voltages wrt the impedances ?

whew! that's a lot of copy and paste.

Use RFC 2119 key words

Use RFC 2119 key words in the standard description and mark them as such to remove ambiguity for people not familiar with usual RFC wording.

Write OHIS document

  • tl,dr: quick technical description of interface standard
  • Definition of problem we're addressing.
  • Detailed explanation of each part of the standard
    • Physical: RJ-45, shielded if possible. User and Radio sides.
    • Mic: how to convert from type to type, preserving balance when possible, etc.
    • Headphones: address mono vs stereo
    • Power: range of acceptable power, preferred power, labeling requirements.
    • PTT
  • Acceptable compromises:
    • Combining grounds
    • Source of power
  • Contacting us and Contributing to the standard.

Add alternative physical standards

Discussion has brought up that RJ-45 isn't a very rugged connector. Several alternatives have been proposed:

(To be clear: these are proposed as additional alternative standards, not to replace RJ-45. RJ-45 will remain the "default.")

EtherCON

https://www.neutrik.com/en/products/data/ethercon

Basically, an RJ-45 in an XLR shell. I like this for its backward compatibility. The only thing required in the standard is to mention that RJ-45 sockets could use EtherCON connectors instead, which would allow the user to choose EtherCON cables for ruggedized installs.

DE-9

https://en.wikipedia.org/wiki/D-subminiature

They're ubiquitous, inexpensive, very rugged, and people know how to use them.

My concern with DE-9 is that there's no existing standard for paired pins. So it would have to be a shielded cable, or risk picking up noise in the mic line. Even with a fully shielded cable, there's the risk of cross talk between headphones and mic.

Add to the document the following:

  • Pinouts: Make sure that paired signals are close to each other in the connector; a 1-to-1 mapping with RJ-45 pinout would have Mic+ and Mic GND split across the connector, and that's bad.
  • Male/Female conventions: At first blush, the Radio side should be female and the User side male. Because the Radio side provides 5vDC power; if it were male, it would risk accidental shorting of those pins.
  • Cables must be either paired, or shielded, or ideally both.

miniXLR 6-pin

http://www.arlancommunications.com/products/amateurRadio/radioSport/Headsets.asp
https://www.switchcraft.com/mini-xlr-connectors/?pg=1&mpp=96&n4=6

Chatting with David Bottom of Radio Sport, he STRONGLY encouraged use of the 6-pin miniXLR. It's an existing standard on headsets, is commonly available, and is very rugged. He's had very good experience with them.

The problem is they're only 6-pin:

  1. Mic GND
  2. PTT
  3. Mic+
  4. Left Speaker
  5. Right Speaker
  6. Speaker Common/PTT Gnd
  7. Cable Shield to connector shield. (Separate from Ground)

It combines Headphone GND and Power GND (which isn't the end of the world; at least it keeps Mic GND separate), and it does not provide any power pin.

Add to the document:

  • Pinout: For the love of bacon and all that is tasty, use the existing pinout listed above.
  • Male/Female convention, though I think this is pretty solidified: Cables are Female to Female, devices are Male.
  • Cables must be paired, or shielded, or both.

miniXLR 8-pin

https://www.switchcraft.com/mini-xlr-connectors/?pg=1&mpp=96&n4=8

An 8-pin miniXLR loses compatibility with the existing 6-pin standard, but allows us to remain electrically consistent with the RJ-45 "base" standard, and get all the other mechanical benefits of the miniXLR connector.

Add to the document:

  • Pinout: Probably start with the 6 pin and just add what we need.
  • Male/Female conventions. Same as 6 pin
  • Cables bla bla, same as 6 pin.

Reference Vcc supply

A common input voltage is 13.8v +/- 15%. But OHIS uses 5v as its Vcc.

Using an LDO will dissipate up to 2W of heat. Not desirable.

Design a switching buck supply:

  • as simple as possible, but no simpler.
  • commonly available parts
  • inexpensive
  • efficient
  • low noise (smp followed by LDO?)
  • capable of at least 200mA. More would be better so it can be used locally inside the radio adapter too.
  • open source, available for all to use.

Microphone spec levels, generation, and calibration

The OHIS spec calls out

The Microphone signal is a typical electret microphone signal: -45dBV +/- 3dbV into 600 to 1k ohm

Then goes on to describe the amplification needed for a dynamic mic

  1. Should the spec section 3.3 be more clear about what an acceptable mic signal level is? Specifically " -48dBV to -42 dBV into a 1000 ohm resistive load"

I wonder if later in the spec you could outline the intent and methods for achieving those levels, for example the reference circuitry.

  1. Are these dBV measurements measured as Peak voltage or RMS?

  2. Do you have any feedback on how to reliably generate audio into the mic to verify those levels? Or would you ultimately expect the end user to verify audio levels with signal reports and adjusting mic gain settings?

I think I noticed a mic level adjust pot on the Halibut user adapter product. I was curious how a "OHIS compliant/calibrated mic setup might vary from user to user based on talking loudness and mic handling (distance from mic, etc)

  1. Have you considered a recommended calibration procedure for a given mic and user adapter? I thought it would be cool to have a reference circuit that has a OHIS mic input, a bnc input for an signal/tone generator for calibration, maybe a fixed load and an oscilloscope output.

Then an end user could use a VU meter (even a few leds or an led bar segment, similar to an audio compressor meter) could help provide visual feedback that mic levels are appropriate for their hardware and talking style

Feedback from W6EL

Got a very good email from Elliott L, W6EL, who makes the following points (I'm paraphrasing since I don't have permission to paste his actual email publicly.)

1: Extend the standard to include GX16, same pin out as 8p8c

His concern is having an actual coaxial shielded mic line inside the bundle of other signals (specifically headphones), not just having a single shield over the whole bundle which would allow cross-talk between the headphones and mic lines. And building such a cable in a Modular connector is pretty much impossible (I agree with that.)

However, I strongly disagree that GX16 is the correct connector to use. I don't want to make YET ANOTHER INCOMPATIBLE use of that connector. Also, GX16 connectors are a royal PITA to acquire for use on PCBs (as me how I know).

Instead, OHIS already specifies the DE-9 as a Rugged connector option. I believe it addresses his expressed concerns (easy to solder coax to, easy to make custom cables) and addresses my concerns as well (not already a standard in audio, commonly available, still rugged (GX16 is as well)).

I've responded to Elliott with my counter argument and am seeing whether he has any further concerns, or a rebuttal.

2: Vcc spec should include noise tolerance.

He's absolutely right. Specify a ripple limit, and frequency.

3: Headset Level is vague

His concern is that different radios will have different level outputs, and that should be standardized.

I understand his point, and maybe the standard should be more clear on what "headphone level" is. It's currently specified as 0dBV into 16R load. Is this "correct?" Is there a better way to specify this? This is a low-impedance spec; what about high impedance cans that might require more voltage, but less current? What THD?

It's also not clear that that's for max volume. The ACTUAL listening volume is adjusted by the Radio device, not by the User device.

4: PTT voltage and current spec

He's absolutely right. Specify max pull-up voltage, min sink current capability, and max forward voltage drop. Make sure that specification works with BJTs, FETs, Optoisolators, contact switches, and relays.

Research proper Electret mic driving requirements

5vDC Bias through 2.2k is WAY TOO HOT for every radio I've used it on. Below is an example of what I measured by another radio.

With the FHM-3 hand-mic plugged in, the Flex 6400 has 1.8vDC at the Mic connector port.

Internally, the Mic+ goes through R1, a 2k series resistor, then branches two directions:

  1. Mic: The electret mic element, and a small chip capacitor (unknown value, but probably very small), are in parallel to the Mic- pin.
  2. Power filter: A .33uF electrolytic capo, and R2, another 2k resistor, in parallel, to Ground. (separate from Mic-).

The DC voltage across R1 is 1.10v (0.55mA), and the DC voltage across R2 is 0.70v (0.35mA). This means there's .20mA across the sum of leakage current on the caps, and through the electret mic element.

I don't know what the internal-to-the-Flex resistance and supply voltage are, but given the 0.55mA total current measured above, these are the common combinations that would work:

  • 1k, 2.3v
  • 2k, 2.9v
  • 3.33k, 3.3v
  • 5v would be 5.818k

Wait a sec, the "way too hot" here is the headset mic going straight into the Flex. This isn't my Electret driving circuit. I'm still filing this ticket to document the above stuff about the FHM-3.

Design an open source OHIS to Line Level adapter pair. (One for Radio, one for User.)

So you can convert from line level audio to OHIS. Both directions:

Line Level User Adapter

  • Takes mic audio from Line level, pads it down to mic level, blocks DC.
  • Takes headphone audio from OHIS, and just patches it through to line level.

Line Level Radio Adapter

  • Takes mic audio from OHIS, blocks DC, amplifies it up to Line Level.
  • Takes headphone audio from Line Level, runs it through a headphone amp.

Bonus points for including DC isolation: with audio transformers, or caps, or similar.

Research: Audio taper trim pots

A common problem that all OHIS manufacturers will run into is the lack of availability of audio taper trim pots, for use when matching levels between OHIS and devices.

AI8W suggests putting a fixed resistor in parallel with a linear pot to get a somewhat-not-really logarithmic taper. I'll research that and see what it does. (Easy to simulate, but I suspect someone already has done that.)

The other idea I came up with is to split the 10/90% audio taper into two separate pots stacked on top of each other, one 1/10 the resistance ("fine") of the other ("coarse"). Take the output from the sweep of the Coarse pot, and tie the sweep of the Fine pot to the midpoint between the two pots. For adjustment, turn the Fine pot all the way up, and use the Coarse adjustment to find your volume. If with the coarse all the way down it's still too loud, then start adjusting the fine.

OHIS Doc: Update the Mic level definitions

From #6 and #3

  • Update the Mic level definitions to be "between -42dBV to -48dBV".
  • Add an appendix with the VU meter design.
  • Update the dynamic mic preamp appendix to include the attenuator.

Design an Open Source in-line volume meter

The idea is that this device is a piece of test equipment, not needed for full time use. A club could have one for everyone to use to help them adjust their mic levels. Then, once adjusted, remove it from the circuit.

  • Has two RJ45 sockets in parallel. It's just a straight passthrough.
  • Uses power from Vcc and Power ground.
  • Has a VU meter on the Mic level, with fixed set points.
  • Has VU meters on Left and Right headphones, with fixed set points.
  • Include a power LED, maybe with a volt meter (which is basically a DC VU meter).
  • Include a PTT LED. Don't add an appreciable load to the PTT line, though. So control a MOSFET, or a comparator, or something similarly high impedance input. Don't just drive the LED off the PTT line directly.
  • Bonus points: Test points to measure: Mic/MicGnd, HP:L/HP:G, HP:R/HP:G, Vcc/Power Gnd/PTT

Design Mic pre-amp

Design a mic pre-amp to connect a dynamic mic to device expecting an electret.

I think this can be done using the bias power on the electret mic feed:

image

R2 and C2 are part of the device consuming the Electret mic. The node between R2, C2, R1, and T1 is the "mic" pin on HIS, and ground is "mic return". This only requires C1, R1, and T1 to turn a dynamic mic into an electret level signal.

...we just need to, ya know, pick R1 and T1. (C1 is likely to be a 1uF ceramic.)

HIS will specify standards, but will also allow direct connection to a radio that's already expecting an elecret element. So R2 and the voltage are likely to be all over the place.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.