In 2004 Intel introduced a new High Definition audio system specification to replace the ageing AC’97 system. They called this the HDA (High Definition Audio) system, and was designed to be compatible with the Microsoft UAA (Universal Audio Architecture) present in contemporary Windows operating systems, and which offers a unified interface to applications requiring sound services.


Improvements over the old design include support for multi-streaming, higher resolution D/A and A/D converters, higher sampling-rates, and a greater number of inputs/outputs to the outside world which also allows for full surround-sound (up to 7.1 channels). Facilities for automatic jack-sensing is also included.


Much of the HDA and UAA documentation deals with the digital and interface details, there is little clue of how the mixer/codec hardware is configured, which is the main subject we are interested in. So, I am basing my presentation here on information gleaned from hardware data sheets published by Realtek, one of the most popular manufacturers of the HDA mixer/codec chip. There are several versions of the chip available, each varying by the number of I/O channels supported, and the number of A/D and D/A converters they contain, but their architecture is basically similar. Other manufacturers may have their own hardware implementation but, to comply with the HDA specification, the functionality must be the same. I have based my generic schematic diagram on a basic 5.1 channel capability with one digital (S/PDIF) output - a more elaborate diagram would be difficult to read, but you should be able to imagine how adding more I/O channels and more A/D and D/A converters would look.


The routing of signals through the mixer/codec are handled by digitally-controlled mute functions, under the control of its driver.


Play controls - (See button below schematic to highlight in diagram.)

These are the play-volume sliders and mute-buttons that you see in the Audio Manager facility (opened from the System Tray), and relate to analogue inputs that you have provided externally. Those inputs that are digitally created (wave, midi etc) have their volumes changed digitally as their sliders are adjusted, and are mixed digitally before being output from PCM1. Here they are added to the analogue mix and output via a master-volume control to the designated front speaker output.


Record Control -(See button below schematic to highlight in diagram.)

It appears from the Audio Manager that there is no separate volume control for inputs, just Mute buttons. There is, however an overall recording volume control, which precedes the A/D converter.


Stereo Mix - (See button below schematic to highlight in diagram.)

This is a control that appears as part of the recording settings. When it is enabled, everything that you hear out of the (front) speakers is available for recording. This means that it is possible to mix various inputs (analogue and digital) and adjust their individual levels and balance using the Play controls, and record the result to the PC.


Initially I thought this mode may have been handled digitally but, since the speaker volume control affects the recording level, it is most likely that it is the mixer/codec hardware that provides it - similar to AC’97. It uses a ‘loopback’ connection in the I/O blocks.     


It seems that recent PCs, especially with Win7 and later operating systems, have the Stereo Mix facility disabled as a result of pressure from the entertainment industry enforcing Digital Rights Management. There is much to read on this topic in forums on the web, with advice on methods to overcome the problem and recommendations for applications to download which bypass the block.


Jack Sensing

Each of the I/O jacks is equipped with an isolated switch which detects when a plug is inserted. When detected, you can choose from a list the type of device plugged in, be it an input or an output. The configuration is remembered, and the routing and amplification of signals adjusted accordingly.


The sensing and encoding of the jack’s states is carried out on the motherboard by the parallel combination of resistors connected to each jack’s switch. It is the resulting value of resistance that is read by the mixer/codec chip which gives the clue as to which jacks are occupied. The maximum number of jacks is 8, and this is divided up into 2 sets of 4, so there are two resistance-measuring channels on the chip. For reasons of brevity, the whole system of jack-encoding is shown as a single block on the diagram.  


Not all motherboards support this facility however, and some restrict sensing to only the front-panel jacks. Also, some mixer/codec chips do not support all I/O types on all jacks. Given this, the best approach seems to be to plug in your devices and see what happens.


HD Audio

I/O Block


This contains buffers, amplifiers and switches to allow jacks to be either inputs or outputs. There is also the possibility of looping the output back to the input, which is used when Stereo Mix is selected. This routing is only available when the output chosen is for front speakers.


When headphones are chosen for an output, a headphone amplifier is switched in which provides enough power to drive headphones of about 32 ohms impedance.


There is usually an option in the Audio Manager to suppress speaker outputs when headphones are plugged in.

RECORD
Record

To illuminate the above discussions, click on the buttons below to highlight how they relate in the schematic diagrams.

A second click will remove the highlight.