Intel High Definition Audio
Intel High Definition Audio (also called HD Audio or Azalia) is a specification for the audio sub-system of personal computers. It was released by Intel in 2004 as successor to their AC'97 PC audio standard. During development it had the codename "Azalia".
Features of the specification include:
- Up to 15 input and 15 output streams
- Up to 16 PCM audio channels per stream
- Sample resolutions of 8–32 bits
- Sample rates of 6–192 kHz
- Support for audio codecs (e.g., ADC, DAC), modem codecs, and vendor-defined codecs
- Discoverable codec architecture
- Fine-grained codec power-control
- Audio jack detection, sensing, and retasking
Operating system support
Microsoft Windows XP SP3 and later Windows versions include a Universal Audio Architecture (UAA) class driver which supports audio devices built to the HD Audio specification. There are UAA drivers for Windows 2000 and Windows XP SP2 as well. macOS has full support with its AppleHDA driver. Linux also supports HD Audio controllers, as do the OpenSolaris, FreeBSD, NetBSD and OpenBSD operating systems.
Like AC'97, HD Audio is a specification that defines the architecture, link frame format, and programming interfaces used by the controller on the PCI bus and by the codec on the other side of the link. Implementations of the host controller are available from at least Intel, Nvidia, and AMD. Codecs which can be used with such controllers are available from many companies, including Realtek, Conexant (which bought out Analog Devices' SoundMAX division), Integrated Device Technology (IDT) (acquired from SigmaTel), VIA, Wolfson Microelectronics, and formerly C-Media.
Front panel connector
Computer motherboards often provide a connector to bring microphone and headphone signals to the computer's front panel. Intel provides a specification for that header, but the signal assignments are different for AC'97 and HD Audio headers.
The pin assignments for the AC'97 and HD Audio connectors are:
|Pin||AC'97||HD Audio (HDA)|
||PORT 1L||Audio, left, port 1|
||PORT 1R||Audio, right, port 1|
|4||AUD_GND||Ground||PRESENCE#||HDA dongle/connector detection, active low|
|5||FP_OUT_R||Audio out, right, out (headphone-level capable), front panel||PORT 2R||Audio, right, port 2|
|6||FP_RETURN_R||Audio, right, return (when jack is unconnected), front panel||SENSE1_RETURN||Port 1 jack detection|
|7||AUD_5V||Power, +5 V||SENSE_SEND||Jack detection sense, resistance multiplexed|
|8||KEY||Not present, physical key||KEY||Not present, physical key|
|9||FP_OUT_L||Audio, left, out (headphone-level capable), front panel||PORT 2L||Audio, left, port 2|
|10||FP_RETURN_L||Audio, left, return (when jack is unconnected), front panel||SENSE2_RETURN||Port 2 jack detection|
The HDA 3.5 mm subminiature audio connectors differ from connectors used in AC'97 specification and general audio equipment. A regular 3.5 mm audio jack (which is used in AC'97) typically has 5 pins: one pin for ground, two pins for stereo signal and two pins for return signal. When there is no plug in the jack, the two stereo signals are connected to their return pins. When a plug is inserted, the stereo signals contact the respective channels on the plug and are disconnected from the jack's return pins.
In the AC'97 design, the audio output is sent to the jack. If the headphones are not plugged in, the jack directs the audio to the return pins that are connected to the speakers. When a headphone is plugged into the front panel jack, the audio signal goes to the headphones; the return pins are disconnected, so no audio signal goes to the speakers. For the microphone jack, the return signal pins ground the microphone input when the microphone is not plugged in. Many motherboards with AC'97 audio need two jumpers to short the pins in case no front panel audio module is connected.
The HDA 3.5 mm jack is slightly different; it does not have the two return audio signals; instead it has an isolated switch that senses the presence of a plug in the jack. When the plug is inserted, the isolated switch informs the motherboard, and the codec sends audio to the headphones. When the plug is not inserted, the codec sends the audio directly to the speakers (the audio does not go out to the front panel and then loop back to the speakers). A similar isolated switch is used to detect when a microphone has been plugged in.
HD Audio can sense the presence of an audio dongle. A 10 kilohm pull-up resistor is attached to pin 4 (PRESENCE#). When the HDA dongle is plugged in, it pulls pin 4 to ground with a 1 kilohm resistor. The motherboard can determine if the dongle is plugged in by examining the logic level on pin 4. If the motherboard does not detect the presence of an HDA dongle, then it should ignore SENSE1_RETURN (pin 6) and SENSE2_RETURN (pin 10) signals. In AC'97, pins 2 and 4 are audio ground, but pin 4 is often disconnected. Consequently, an HDA motherboard would not detect the presence of an AC'97 dongle with a disconnected pin 4.
Intel warns that HDA dongles should be used with HDA motherboards:
It is strongly recommended that motherboard designers only use Intel HD Audio analog front panel dongles with the Intel HD Audio analog front panel header to insure that the jack detection and dynamic re-tasking capability is preserved. Passive AC’97 analog front panel dongles (ones which leave the 5V Analog pin-7 line unconnected on the dongle) may be used with the Intel HD Audio analog front panel header. But note that the front panel jack detection and re-tasking functionality will be lost as the AC’97 jacks cannot support connection to the SENSE line. In addition, software must be aware that an AC’97 dongle is being used with an Intel HD Audio analog header since the software might need to dedicate codec ports that are connected to the header to meet the product’s intended functionality.
The different signal assignments can cause trouble when AC'97 front-panel dongles are used with HDA motherboards and vice versa. An AC'97 dongle returns audio on pins 6 and 10 rather than a digital plug sensing signals. Consequently, a loud audio passage may make the HDA motherboard with AC'97 dongle believe that headphones and microphones are being plugged and unplugged hundreds of times per second. An AC'97 motherboard with an HDA dongle will route the AC'97 5 V audio supply (pin 7; silence) to the speakers instead of the desired left and right audio signals.
To avoid this, some motherboards allow choosing between HDA and AC'97 front panels in the BIOS. Even though the actual audio hardware is HD Audio, it will allow using the AC'97 front panel that way. Likewise, some modern enclosures have both an "AC'97" and an "HDA" plug at the end of the front-panel audio cable.
- Smith, Tony (16 April 2004). "Intel completes hi-def audio spec". The Register. SITUATION PUBLISHING LIMITED. Retrieved 14 January 2014.
- "High Definition Audio Specification 1.0a" (PDF). Intel Corporation. 2010. p. 17.
- Microsoft Knowledge Base Article 888111
- OpenSolaris Boomer Project Page, 2009
- snd_hda. Man.freebsd.org (2012-01-25). Retrieved on 2013-07-28.
- Manual Pages: azalia. Openbsd.org (2012-03-15). Retrieved on 2013-07-28.
- AMD SB600 Product Information Page, 2009
- ALC888 Product Page, 2009
- Conexant - PC HD-Audio
- Intel Corporation (February 2005), Front Panel I/O Connectivity Design Guide (PDF), Version 1.3, pp. 19–25
- Intel Corporation 2005, p. 20
- Intel Corporation 2005, p. 21
- Intel Corporation 2005, p. 25
- Intel Corporation 2005, p. 24
- Intel Corporation 2005, p. 19