Written by
Gary Solomon
Sr. Staff Engineer
Platform Architecture Lab
gary_solomon@ccm.jf.intel.com
* Other product and corporate names may be trademarks of other companies and are used only for explanation and to the owners' benefit, without intent to infringe.
Features defined as optional in the AC '97 Component Specification allow for more design freedom on the part of the audio subsystem vendor, however the implementation of these optional features in some cases may dictate a matched controller/codec from the same manufacturer. The implementation of the optional modem line codec is one such example where a matched controller datapump may be required.
The majority of optional features have been defined in a manner that allows for differentiated implementations to be visible to the audio driver in a standard way. The AC '97 common software interface enables these optional features to be interoperable as well.
This short paper highlights the areas where increased interoperability can be designed into AC '97 solutions.
To support interoperability the games compatible AC '97 controller must be capable of digitally mixing and sample rate converting to the AC-link's fixed 48Kss rate (either in software or in hardware) the PCM (wave) and music synthesis sample streams. The resultant stereo stream is then transmitted across the AC-link using the allocated PCM left and PCM right playback audio output frame slots. 8 or 16 bit stereo sample streams are handled transparently. The AC '97 controller provides sample data once every 20.8 uS for both left and right PCM output frame slots; the data is MSB justified.
Legacy games have been known to create special sound effects by directly changing the stream's sample rate "on the fly". In order to achieve compatibility with this technique, sample rate conversion (SRC) for rates other than 8.0, 11.025, 16.0, 22.05, 32.0, and 44.1Kss may be required in the controller.
If a given composite digital output stream is mono, it is the AC '97 controller's responsibility to pass along each mono sample in both the left and right PCM sample slots for each valid audio output frame.
In addition, legacy mixer register I/O references must map transparently to and from the AC '97 native mixer register file.
_______________________________________
1Pulse Code Modulation
2Direct Memory Access
3Signal to Noise Ratio
4Though it would be advantageous to do so.
Additionally there are several optional features that have been defined in such a way that, with care, they can be supported while also maintaining interoperability.
These optional interoperable features include:
Tone Control (i.e., bass and treble), if supported, provides two 4-bit fields that encode a 16 step graduated scale for bass and treble. Actual tone control implementations may differ, however the programming "knobs" have been standardized.
Loudness boost, simulated stereo and 3D stereo enhancement if supported, provide on/off bits in the General Purpose Register. As for the tone controls, each vendor's implementation and the perceived experience for each of these features may be different but the software interface is common for all.
In the case of 3D stereo enhancement, numerous vendor-specific 3D enhancement techniques are accommodated which could yield even more differentiated results, while still being interoperable via a common programming interface.
The proper sequencing of power for each of the codec's subsections could mean the difference between hearing, or not hearing, "pops" and "clicks" upon activation of the audio subsystem.
The Intel AC '97 team would like feedback from audio hardware vendors in this area. Your feedback will allow us to put out a recommended sequencing that the audio driver could target. This would help to make quiet activation of the AC '97 audio subsystem an interoperable feature as well5.
_______________________________________
5Intel will not consider or treat any such feedback as the confidential information of the party providing it, and Intel shall be free to use any such feedback at its discretion.
The common footprint defined for the AC '97 codec allows for the one time placement and tuning of a design which could then be "CAD cut" and reused across an OEM's product line, which should shorten their time to market.
An OEM may want to consider a dual package printed circuit board layout which could accommodate either 48-pin or 64-pin versions of the AC '97 Codec. This would increase the number of AC '97 codec designs that the OEM can choose from. Care was taken by the AC '97 specification development partners in choosing the pinouts for both options to make this dual pad layout approach feasible for the OEMs.
The AC '97 Codec's generic capacitor pins can be used internally to support 3D stereo enhancement, tone control, or other vendor specific functions. The specific use of each capacitor pin is left up to the AC '97 vendor. However, in order to support an interoperable codec layout, the following are recommended:
a = open, b = capacitor
The following are a few of the ideas that we would like your feedback on:
Please address your feedback to audio97@intel.com.
* Legal Stuff © 1997 Intel Corporation