Multiple audio DACs with PC compatibility

Multiple audio digital to analog converters (DACs) are provided to convert multiple digital audio streams to analog audio signals concurrently in a personal computer. Different digital audio streams are routed to each DAC and audio output device depending on priority, desired quality and the source of the audio stream.

FIELD OF THE INVENTION

The present invention relates to digital audio in computer systems, and in particular to handling multiple digital-to-analog converters concurrently in the same personal computer system.

BACKGROUND

Personal computers have long incorporated the ability to produce sound by means of an audio device that converts digital signals controlled by the computer to analog audio waveforms. These analog signals may then be played through a speaker internal to the computer, or amplified and played through external speakers. The device that converts digital signals to analog audio output most often takes the form of an add-in adapter card, that contains both circuitry to interface the board to the computer system bus and circuitry to convert digital signals received from the computer to an analog audio waveform and amplify it.

Inclusion of Compact Disc players within computers later led to audio adapter cards that included the ability to route analog signals. When playing conventional audio CDS, the analog signal provided by the CD player within the computer is routed to the audio adapter in analog form, where it is routed to an amplifier at the control of the computer and played through the attached speakers. Alternatively, the compact disc player can provide a digital signal to the audio adapter, which then converts it to analog audio by means of a digital-to-analog converter before amplification. Most audio adapters currently available have the capability to play either a single digital audio signal provided over the computer bus or analog information provided by the internal compact disc player, but not both digital and analog information or digital information from two different sources.

The steady growth in multimedia capability of computers has brought about the ability to play CD audio, audio to accompany motion video or games, telephone or other communication audio, and system audio information such as traditional beeps. However, current products do not allow selection of more than one source for conversion to analog audio at the same time because a single digital-to-analog converter is present on an adapter for each channel of a stereo system. No provision is made for a configurable means of prioritizing audio sources for playing through the audio adapter.

This lack of ability to handle more than one audio signal at the same time in a configurable manner causes significant problems in computer systems incorporating several audio sources. Relatively unimportant system beeps may interrupt a movie being viewed by means of a DVD player, while important telecommunications audio such as notice of a phone call or fax may not be played at all. There is a need for a computer system to handle more than one audio source at the same time, in a manner that the user can configure based on his predetermined priorities.

SUMMARY OF THE INVENTION

Multiple audio digital-to-analog converters (DACs) are provided to convert multiple digital audio streams to analog audio signals concurrently. Also provided is the ability for the user to configure the audio adapter such that certain audio sources are routed to each converter, and routed with a given priority.

In one embodiment, the adapter contains multiple DACs, such that a different digital audio stream may be routed to each DAC. In a further embodiment, the user may configure which digital audio streams are to be routed to which DAC, and with what priority the streams are routed. The audio adapter may also route an analog signal not provided by the DAC to an output, such as may be provided by a CD player, according to a user configuration of the routing portion of a controller.

In another embodiment, the audio adapter contains both a high-quality DAC and a standard-quality coder-decoder (CODEC). The CODEC has both the function of a standard-quality DAC and a standard-quality analog-to-digital converter (ADC). The high quality DAC is a more expensive converter than the CODEC, and is capable of producing higher quality output from high quality digital input signals. The audio adapter may route analog signals, such as from a CD player, from a microphone, or from another source such as the high-quality DAC to the output as well as to the CODEC. Analog signals so routed to the CODEC may be digitized by the CODEC and processed or combined with other digital audio signals the adapter routes to the CODEC.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanying drawings, which form a part of this description and show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may also be utilized to practice the invention, and structural, logical, and electrical changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

FIG. 1shows a block diagram of a computer system100according to the present invention. In this embodiment, processor102, system controller112, cache114, and data-path chip118are each coupled to host bus110. Processor102is a microprocessor such as a 486-type chip, a Pentium®, Pentium II® or other suitable microprocessor. Cache114provides high-speed local-memory data (in one embodiment, for example, 512 kB of data) for processor102, and is controlled by system controller112, which loads cache114with data that is expected to be used soon after the data is placed in cache112(i.e., in the near future). Main memory116is coupled between system controller114and data-path chip118, and in one embodiment, provides random-access memory of between 16 MB and 128 MB of data. In one embodiment, main memory116is provided on SIMMs (Single In-line Memory Modules), while in another embodiment, main memory116is provided on DIMMs (Dual In-line Memory Modules), each of which plugs into suitable sockets provided on a motherboard holding many of the other components shown inFIG. 1. Main memory116includes standard DRAM (Dynamic Random-Access Memory), EDO (Extended Data Out) DRAM, SDRAM (Synchronous DRAM), or other suitable memory technology. System controller112controls PCI (Peripheral Component Interconnect) bus120, a local bus for system100that provides a high-speed data path between processor102and various peripheral devices, such as graphics devices, storage drives, network cabling, etc. Data-path chip118is also controlled by system controller112to assist in routing data between main memory116, host bus110, and PCI bus120.

In one embodiment, PCI bus120provides a 32-bit-wide data path that runs at 33 MHZ. In another embodiment, PCI bus120provides a 64-bit-wide data path that runs at 33 MHZ. In yet other embodiments, PCI bus120provides 32-bit-wide or 64-bit-wide data paths that runs at higher speeds. In one embodiment, PCI bus120provides connectivity to I/O bridge122, graphics controller127, and one or more PCI connectors121(i.e., sockets into which a card edge may be inserted), each of which accepts a standard PCI card. In one embodiment, I/O bridge122and graphics controller127are each integrated on the motherboard along with system controller112, in order to avoid a board-connector-board signal-crossing interface and thus provide better speed and reliability. In the embodiment shown, graphics controller127is coupled to a video memory128(that includes memory such as DRAM, EDO DRAM, SDRAM, or VRAM (Video Random-Access Memory)), and drives VGA (Video Graphics Adaptor) port129.

VGA port129can connect to industry-standard monitors such as VGA-type, SVGA (Super VGA)-type, XGA-type (eXtended Graphics Adaptor) or SXGA-type (Super XGA) display devices. Other input/output (I/O) cards having a PCI interface can be plugged into PCI connectors121.

In one embodiment, I/O bridge122is a chip that provides connection and control to one or more independent IDE connectors124–125, to a USB (Universal Serial Bus) port126, and to ISA (Industry Standard Architecture) bus130. In this embodiment, IDE connector124provides connectivity for up to two standard IDE-type devices such as hard disk drives, CDROM (Compact Disk-Read-Only Memory) drives, DVD (Digital Video Disk) drives, or TBU (Tape-Backup Unit) devices. In one similar embodiment, two IDE connectors124are provided, and each provide the EIDE (Enhanced IDE) architecture. In the embodiment shown, SCSI (Small Computer System Interface) connector125provides connectivity for up to seven or fifteen SCSI-type devices (depending on the version of SCSI supported by the embodiment). In one embodiment, I/O bridge122provides ISA bus130having one or more ISA connectors131(in one embodiment, three connectors are provided). In one embodiment, ISA bus130is coupled to I/O controller152, which in turn provides connections to two serial ports154and155, parallel port156, and FDD (Floppy-Disk Drive) connector157. In one embodiment, ISA bus130is connected to buffer132, which is connected to X bus140, which provides connections to real-time clock142, keyboard/mouse controller144and keyboard BIOS ROM (Basic Input/Output System Read-Only Memory)145, and to system BIOS ROM146.

FIG. 1shows one exemplary embodiment of the present invention, however other bus structures and memory arrangements are specifically contemplated.

A personal computer with multiple audio DACs is shown inFIG. 2. Multiple audio sources201generate digital audio signals that a controller203routes to multiple digital-to-analog converters204. The audio sources are selected from a group comprising CD players, microphones, DVD audio, computer-generated audio, audio provided through an external user input, or any other device capable of providing a digital audio signal to the controller.

In one embodiment, a user may configure the controller203to assign each digital audio signal to a specific digital-to-analog converter204. Digital audio signals from each source201are then routed only to the converter204to which the user has assigned the source. The user configures the controller203by means of hardware settings such as jumpers or switches, or may configure the controller via software, either by expressly identifying the settings in a table or by use of standard visual programming constructs.

In a further embodiment, a user configures the controller203to assign each digital audio signal a priority, so that if multiple digital audio signals assigned to the same converter are available to the controller the controller will route only the signal with the highest assigned priority to the assigned digital-to-analog converter204. The user alternatively assigns each digital signal a priority but not to a specific DAC204, so that the controller203will route the signal with the highest priority to the first available DAC, and the next highest priority signal to the second available DAC, and so on, until all DACs are in use and no longer available.

In another embodiment, the digital audio signals are conveyed from the digital source201to the controller203by means of a standard personal computer system bus202. In a different embodiment, the digital audio signals are conveyed from the digital source201to the controller203by means of a direct electrical or optical connection between the two.

The personal computer system claimed also includes a routing means or standard multiplexer205such that the user configures the controller203to route the outputs of each DAC to an assigned output. The outputs include a standard line output206, and a record output207. In a further embodiment, the routing means also routes analog signals not provided by the DACs204, such as from a TV tuner, external analog audio input or another analog audio source.

FIG. 3shows an embodiment of the invention where the digital audio sources comprise both standard quality digital audio sources301and high quality digital audio sources302. The standard quality digital audio sources are sources that provide standard quality digital signals such as computer program-generated sounds and system sounds. High quality digital audio sources may include sources of high quality digital signals such as CD players and DVD players. This embodiment also comprises at least one high quality DAC306and at least one standard quality DAC305.

In a preferred embodiment, the standard quality DAC305takes the form of a coder-decoder that contains both a 16-bit digital-to-analog converter and a 16-bit analog-to-digital converter, and the high-quality DAC takes the form of a 20-bit DAC.

The user configures the controller304to assign each quality of digital signal to a corresponding quality of converter. In such an embodiment, the high quality digital audio signals are assigned to the high-quality DAC306and the standard quality signals are assigned to the standard-quality DAC305. The user may also configure the controller to assign each digital signal source a priority, so that for the above embodiment with both a 16-bit and a 20-bit converter only the digital audio signal with the highest priority for the 20-bit converter is sent to the 20-bit converter, and only the digital audio signal with the highest priority for the standard 16-bit converter is sent to the 16-bit converter.

The above embodiments enable the personal computer to handle multiple DACs simultaneously, and to provide outputs for multiple digital audio sources from a single personal computer. A router307may route analog signals produced by the converters305and306to outputs such as a line output308or a record output309. The line and record outputs may be provided to the user through back panel output jacks on the computer, or though other means. The router307may take the form of a multiplexer that is controlled by the controller304. The user may configure the controller304to route the output from a specific DAC305or306to a desired output308or309by means of the router307. The controller304may direct the router307by means of hardware settings such as jumpers or switches that form a part of the personal computer, or by means of software that is executed on the personal computer.