NSC LM4560VJD

LM4560
Advanced PCI Audio Accelerator
General Description
LM4560 is an advanced PCI audio accelerator providing full
legacy compatibility, wavetable synthesis, DirectMusic, DirectSound, and DirectSound3D on a single chip for the highperformance, cost-sensitive consumer market. It supports
Sound Blaster functionality and is fully PC98 compliant.
The LM4560 integrates a 64-voice wave table engine with
per voice effect processing capability. It supports the upcoming Microsoft™ DirectMusic API and is fully compatible with
DLS Level 1 (downloadable samples) specification. The
LM4560 is optimized for Microsoft Windows™ 98 and Windows NT5.0 WDM streaming architecture with re-routable
end-point support. The LM4560 includes DirectSound3D acceleration hardware for ITD (Interaural Time Difference), IID
(Interaural Intensity Difference), Pan, Delay, and Doppler
hardware.
The LM4560 supports Sound Blaster Pro/16 DOS games
while improving gaming audio quality. The LM4560 supports
both the legacy analog gameport and a Digital Enhanced
Game Port. When coupled with DirectInput™ driver, the Digital Enhanced Game Port can save up to 12% of the CPU
overhead nominally required by a conventional analog game
port. The LM4560 employs a high precision 26-bit digital
mixer, providing an accurate 20-bit output and higher than 90
dB signal-to-noise ratio when used with high quality AC97
Rev 1.03 and Rev 2.0 codecs.
The LM4560 is designed with aggressive power management. It is PCI Bus Power Management Interface (PPMI
1.0)-compliant. The LM4560 supports multiple Rev 2.0 AC97
codecs, which are useful for notebook docking systems.
With a low power, 3.3V process and a space conscious 100
TQFP package, the LM4560 is also well suited for Notebook
systems.
In summary, the LM4560 provides a balanced combination
of features and performance to the end-user. By combining
PCI bus mastering for DirectSound acceleration, Hardware
Wave table synthesizer, Digital Enhanced Game Port and
DirectSound 3D audio acceleration. It delivers high performance, high quality audio, high-end features with efficient
power management in a space-efficient 100 TQFP package.
Features
n PCI 2.1-compliant with Bus Mastering optimized for
multiple stream operation
n On-chip per voice cache minimizes PCI bandwidth
n Up to 20X improvement over ISA DMA on PCI bus
bandwidth utilization
Advanced Wavetable Synthesizer
n Wavetable synthesis with 64-voices polyphony, which
supports all combinations of stereo/mono, 8-/16-bits,
and signed/unsigned samples
n Per channel volume, pitch shift, left/right pan, tremolo,
vibrato and envelope control (32 channels in hardware)
n Per channel effect process ing and effect volume control
for reverb, chorus, and echo
n DLS1-compliant Downloadable Samples support
Legacy Compatibility
n Legacy game audio support with SoundBlaster Pro/16
compatibility on the PCI bus
n Legacy DMA support on PCI Bus with DDMA-enabled or
standard (non-DDMA) PCI chipsets
n FM through realtime FM-to-wavetable conversion
n MPU-401 compatible UART for external or internal
synthesis
n General MIDI/GS command interpretation for wavetable
& effect synthesis
High Quality Audio and AC97 Support
n CD quality audio with higher than 90 dB signal-to-noise
ratio using an external high quality AC97 codec
n AC97 support with full duplex, independent sample rate
converter for audio recording and playback
n On-chip sample rate converter ensures all internal
operation at 48 kHz
n High precision internal 26-bit digital mixer with 16- and
20-bit digital audio output
Advanced Streaming Architecture
n Microsoft WDM Streaming architecture compliant and
“Re-routable endpoint” support
n Three stereo capture channels
n AC97 stereo recording channel through AC-link
DirectSound 3D
n 64-voices DirectSound channels
n 32-voices DirectSound3D accelerator with IID, ITD, and
Doppler effects on 3D positional audio buffers
n DirectSound accelerator for volume, pan, and pitch shift
control on streaming or static buffers
Telephony & Modem
n Full duplex speaker phone with AC97 2.0 audio-modem
codec
n Fax-modem with host based software
Extras
n Fully Plug and Play PCI controller and software
n Digital Enhanced Game port enables an analog joystick
to emulate digital joystick performance using the
National Semiconductor-provided DirectInput driver. This
eliminates up to 12% CPU overhead wasted on joystick
polling.
TRI-STATE ® is a registered trademark of National Semiconductor Corporation.
Microsoft™ is a trademark of Microsoft Corporation.
Windows ® is a registered trademark of Microsoft Corporation.
DirectInput™ is a trademark of Microsoft Corporation
© 1998 National Semiconductor Corporation
DS100910
www.national.com
LM4560 Advanced PCI Audio Accelerator
December 1998
Features
n Configuration installation, and diagnostics under real
mode DOS, WindowsWindows 95, and Windows 98
DOS box
n Windows 3.1, 95, NT4.0, Windows 98/NT5.0
configuration, installation, and mixer program
n 1, 2, 4, or 8 Mbytes General MIDI (GM)/General Sound
(GS) compliant sample Library
(Continued)
n DirectX timer for video/audio synchronization
n Forward pin-compatible with future PCI audio
accelerators
n 100-pin TQFP package
n 3.3V operation
Software Support
n Complete DirectX driver suite (DirectSound3D,
DirectSound, DirectMusic, and DirectInput) for Windows
95 and Windows 98/NT 5.0
Block Diagram
DS100910-1
3.3.1 I/O Access Mode
3.3.2 Memory Access Mode
3.4 Audio Processor Register Description
3.4.1 DMA Registers
3.4.1.1 DMAR0 (Legacy DMA Playback Buffer Base Register Port1)
3.4.2 Legacy Sound Blaster/Adlib Registers
3.4.3 Legacy MPU-401 Registers
3.4.4 Legacy Gameport Register
Table of Contents
1.0 Pin Description
1.1 Package Diagram
1.2 Pin Description
2.0 Functional Decription
2.1 Device Overview
3.0 Register Description
3.1 PCI Configuration Register Map
3.1.1 PCI Configuration Register Description
3.1.1.1 Device ID & Vendor ID
3.4.5
3.4.6
3.4.7
3.4.8
3.1.1.2 Status & Command
3.1.1.3 Class Code & Revision ID
3.1.1.5 Audio IO Base Register
3.1.1.6 Audio MEM Base Register
3.4.9 Wave Engine Registers
3.4.9.31 F4h_A (EBUF1) ( Bank A Only)
4.0 Functional Description
3.1.1.7 Subsystem ID & Subsystem vendor ID
3.1.1.8 PCIPM Capability List Pointer Register
3.1.1.9 Max_Lat, Min_Gnt, Interrupt Pin & Interrupt Line
4.1 Wave Engine
4.1.1 Scheduler
4.1.2 Address Engine
3.1.1.10 DDMA Slave Configuration Register
3.1.1.11 Legacy audio/power management configuration
3.1.1.13 Power management capability register (PMC)
3.1.1.14 Power management control/status
(PMCSR) & PMCSR_BSE & Data
3.2 Audio Processor Register Map
3.3 Audio Processor Register Access Mode
www.national.com
Serial Interface Control Register
Misc and Status Register
OPL3 Channel Status Register
S/PDIF & GPIO Registers
4.1.3 Envelope Engine
4.1.4 Interpolation & Volume Adjustment
4.1.5 Digital Mixer
register
4.1.6 LFO
4.1.7 Recording
2
Table of Contents
5.1.2.1 Slave read/write timing
6.0 Device Configuration
6.1 Overview
(Continued)
4.1.8 PCI Buffer/Sample Cache
4.1.9 CODEC Buffer/Sample FIFO
4.1.10 Legacy Channel Playback/Recording
4.2 Legacy Audio
6.2 Configuration and GPIO Registers
7.0 Device Specifications
7.1 Absolute Maximum Ratings
4.2.1 SB Engine:
4.3 Serial Interface
4.3.1 AC-97 Interface
7.2 Capacitance
7.3 Electrical Characteristics
7.4.1 Timing Table
4.3.2 I2S Interface
4.3.3 S/PDIF
4.4 Power Management
7.4.2 PCI Signals
Physical Dimensions
List of Figures
Figure 1. 100-Pin TQFP Package
4.4.1 Power Management For D0–D3 States
4.4.2 D0–D3 State Transition Table
5.0 Signals and Timing
5.1.2 Timing
Figure 2. LM4560 Block diagram
Figure 3. Wave Engine Block Diagram
3
www.national.com
1.0 Pin Description
1.1 PACKAGE DIAGRAM
Top View
DS100910-2
FIGURE 1. 100-Pin TQFP Package
www.national.com
4
1.0 Pin Description
(Continued)
Symbol
Symbol
Pin(s)
Type
Pin(s)
Type
VDD
20, 39,
52, 53,
69, 83,
100
IN
3.3V Power Supply
VSS
11, 30,
48, 60,
75, 90
IN
Ground
Description
CLKRUN
85
I/O
Clock Run. An active low
signal used for power
management on
motherboards only. It is
not assigned a pin on the
PCI connector.
PME
91
OUT
Power Management
Event. An active low
signal used for power
management for add in
cards or motherboards. It
is assigned a pin on the
PCI connector.
TC
78
IN
Terminal Count. This
input is asserted by the
DMA controller to indicate
the end of a DMA
transfer. The signal is
only effective during a
DMA access cycle.
IDSEL
2
IN
Initialization Device
Select. An active high
allows reads to the PCI
devices configuration
registers.
PCI BUS INTERFACE SIGNALS (51)
AD[31:0]
92–99,
3–10,
21–28,
31–38
I/O
PCI Address/Data Bus.
A time-multiplexed
address data bus.
C/BE[3:0]
1, 12,
19, 29
I/O
PCI Command/Byte
Enable. Defines the type
of AD bus transaction
type.
13
I/O
Cycle Frame. A PCI
transaction begins and
ends with the FRAME
signal.
FRAME
Description
PCI BUS INTERFACE SIGNALS (51)
1.2 PIN DESCRIPTION
IRDY
14
I/O
Initiator Ready. An active
low indicates the cycle
initiator is ready to send
or receive data.
TRDY
15
I/O
Target Ready. An active
low indicates that the
target is read to complete
the current transaction.
DEVSEL
16
I/O
Device Select. An active
low indicates the target
has decoded its address.
STOP
17
I/O
STOP. An active low
indicates the target wants
the initiator to stop data
during the current data
phase.
PAR
18
I/O
Parity. Generates an
even parity for the
AD[31.0].
RST
86
IN
Reset. A low active signal
which resets the PCI
device.
INT
84
OUT
PCICLK
87
IN
Clock. The clock that
drives the PCI timing.
GNT
88
IN
Grant. An active low
signals the master has
access to the PCI bus.
REQ
89
OUT
MPU-401 INTERFACE SIGNALS (2)
MIDIOUT
50
OUT
MIDI Data Out. Sends
midi data to the midi
connector.
MIDIIN
49
IN
MIDI Data In. Receives
midi data from an
optocoupler.
AC97 CODEC INTERFACE SIGNALS (6)
ACRST
57
OUT
ACCLK
55
IN
AC97 Bit Clock. A
12.288 MHz clock from
the codec. This is used to
synchronize the data
streams to and from the
codecs.
ACSYNC
56
I/O
AC97 Sync. Used to start
the data frame used to
format the serial data to
and from the codecs.
ACDI1
58
IN
Primary CODEC Serial
Data Input. This receives
serial data in from the
primary codec.
ACDI2
59
IN
Secondary CODEC
Serial Data Input. This
receives serial data in
from the secondary
codec.
Interrupt. An active low
signals in interrupt to the
CPU.
Request. An active low
indicates the master
wants access to the PCI
bus.
5
AC97 Master Reset. An
active low which resets
the internal circuitry of
AC97 codecs.
www.national.com
1.0 Pin Description
Symbol
Pin(s)
Type
transmitter sends 20 bits stereo and the receiver receives 20
stereo. When the I2S data in receives more than 20 bits, the
lsb’s are truncated. If the receiver receives less than 20 bits,
zeros are appended to the lsbs.
2.1.1.3.3 The SPDIF output only supports Mode 0 consumer
20 bit audio data that is sampled at 48 kHz. If the receiver
needs fewer bits, then the lsbs will be truncated.
2.1.1.3.4 The GPIO pins are 5V tolerant programmable I/O
pins. They can be programmed to either inputs or output via
a register at offset 7Ch. On power up all the pins default to
inputs.
(Continued)
Description
AC97 CODEC INTERFACE SIGNALS (6)
ACDO
54
OUT
AC97 serial data out.
This output sends serial
data to codec(s).
I2S INTERFACE (7)
I2SBCKI
82
IN
I2S Receiver Bit Clock
I2SLRCKI
81
IN
I2S Receiver L/R Clock
I2SDI
80
IN
I2S Receiver Data
I2SBCKO
79
OUT
I2S Transmitter Bit
Clock
I2SLRCKO
78
OUT
I2S Transmitter L/R
Clock
I2SDO
77
OUT
I2S Transmitter Data
MCLK
76
OUT
I2S Transmitter Master
Clock
If any of the GPIO pins are used for hardware control pins,
the best programming procedure would be to leave the i/o
pins as inputs, then set the output bits to highs or lows, then
change the selected I/O pins to outputs. This will avoid the
possibility of glitches on the output. Since the pins power up
as inputs, they will be floating and so 30 kΩ resistors are
needed to put the pin into a know state on power up.
The inputs can be read from the same register 7Ch. The
CPU must poll the 7Ch to see if any of the inputs have
changed state.
2.1.1.3.5 The Game port pins are 5V tolerant I/O pins and
support the standard dual analog joysticks.
The enhanced mode works will all normal analog input joysticks. The CPU can read internal counters rather than measuring the time constants of each of the X, Y inputs with software timing loops.
2.1.1.3.6 The LM4560 supports the standard MPU 401 uart
mode midi interface.
S/PDIF TRANSMITTER (1)
SPDO
51
OUT
S/PDIF transmitter
output
GAME PORT PINS (8)
GD[7:4]
47:44
IN
Gameport data
GD[3:0]
43:40
IN
Gameport data
GENERAL-PURPOSE I/O (8)
GPIO[7:0]
68:61
I/O
General-purpose
input/output
NO CONNECTIONS (5)
NC
70:74
No connections
2.0 Functional Description
2.1 DEVICE OVERVIEW
2.1.1 The LM4560 is composed of several functional blocks.
There is a PCI bus interface, a wave engine, I/O interfaces
and legacy support hardware.
2.1.1.1 The PCI bus interface includes all the logic that talks
to the PCI bus, handles the PCI bus cycles, reports PCI configuration block and PCI power management. The EEPROM
interface for supporting the SubSystem and SubVendor ID
fields for PCI card vendors is located here.
2.1.1.2 The wave engine supports all the logic necessary to
synthesize wave table voices / instruments. The sample rate
converter is used to pitch shift the samples and rate convert
pcm streams. For example converting from 44.1 ksps CD
audio to 48ksps DAT pcm. The wave engine is also used to
play back WDM streams and for the legacy PC audio functions. There are three mixers in the wave engine, the main
mixer, and mixers for chorus and reverb sends.
2.1.1.3 The I/O ports include the AC97 Rev 2.0 I/O, the I2S
I/O, the SPDIF out, GPIOs, gameport and MPU401 midi I/O.
2.1.1.3.1 The AC97 port supports two AC97 codecs. The primary codec must be Rev 1.03, 2.0 or 2.1. The secondary codec must be Rev 2.0 or 2.1.
2.1.1.3.2 The I2S port supports data out at 48 KSPS only
and inputs at rates from 8 to 48 KSPS. Output can come
from I2S L/R Output Buffer or SURR L/R Output FIFO. The
input data rate can be determined by reading the 13 lsbs of
register 0xCC. The sample rate = (I2S_DELTA)*60. The
www.national.com
6
3.0 Register Description
3.1 PCI CONFIGURATION REGISTER MAP
Offset
+3h
+2h
00h
Device ID
04h
Status
+1h
Command
08h
Class Code
0Ch
BIST
Revision ID
Header Type
Latency Timer
10h
Audio IO Base Address
14h
Audio Memory Base Address
18–28h
Subsystem ID
Subsystem Vendor ID
30h
RSVD
34h
RSVD
Cap_Ptr
38h
RSVD
MAX_LAT
MIN_GNT
40h
44h
Interrupt Pin
Interrupt Line
DDMA Slave CFG
PM_Timer
PM_CFG
48h
RSVD
DCh
E0h
Cache Line Size
RSVD
2Ch
3Ch
+0h
Vendor ID
PMC
Power Value Data
written
LEGACY_IOBASE
INT_VEC
INTA_SNOOP_ENA
PM_Next_Ptr
PMCSR_BSE
only
PM_Cap_ID
PMCSR
3.1.1.4 BIST, Header Type, Latency Timer & Cache Line
Size:
PCI Configuration
Address:
0Ch–0Fh
Default:
00000000h
Description:
Bit 15–12: R/W
The rest bits: hardwired to 0
3.1.1 PCI Configuration Register Description
3.1.1.1 Device ID & Vendor ID
PCI Configuration
Address:
00h–03h
Default:
001B100Bh
Description: read/write, can be
CFG46h[6]=1
Bit 31–16 device ID: default 001Bh
Bit 15–0 vendor ID: default 100Bh
LEGACY_DMA
when
3.1.1.5 Audio IO Base Register:
PCI Configuration
Address:
10h–13h
Default:
00000001h
Description:
Bit 31–8: R/W Audio IO base
Bit 7–1: Hardwire to 0
Bit 0: Hardwire to 1
3.1.1.2 Status & Command:
PCI Configuration
Address:
04h–07h
Default:
02900000h
Description:
Bit 2–0: R/W
Bit 28: TA Received target abort. Write 1 to clear.
Bit 29: MA Received master abort. Write 1 to clear.
Bit 20: PM PCI Power Management support, hardwired to 1
3.1.1.6 Audio MEM Base Register:
PCI Configuration
Bit 23, 25: hardwired to 1
The rest bits: hardwired to 0
Address:
14h–17h
Default:
00000000h
Description:
Bit 31–12: R/W Audio MEM base
Bit 11–0: Hardwire to 0
3.1.1.3 Class Code & Revision ID:
PCI Configuration
Address:
08h–0Bh
Default:
04010001h
Description: read only
3.1.1.7 Subsystem ID & Subsystem vendor ID:
PCI Configuration
Address:
2Ch–2Fh
Bit 7–0: 01 revision ID
Default:
001B100Bh
Description: read only
Bit 31–24: 04 Base class: Multimedia
Bit 23–16: 01 Sub-class: Audio device
Bit 15–8: 00 Interface
Bit 31–16: subsystem ID: default 001Bh
Bit 15–0: subsystem vendor ID: default 100Bh
7
www.national.com
3.0 Register Description
1: ADLIBBase = 038Ch–038Fh
bit 3
(Continued)
3.1.1.8 PCIPM Capability List Pointer Register:
0: ADLIBBase disable
1: ADLIBBase enable
bit 4
PCI Configuration
Address:
34h–37h
Default:
000000DCh
0: GAMEBase = 0200h–0207h
1: GAMEBase = 0208h–020Fh
bit 5
Description: Read Only
3.1.1.9 Max_Lat, Min_Gnt, Interrupt Pin & Interrupt
Line:
PCI Configuration
Address:
3Ch–3Fh
0: GAMEBase disable
1: GAMEBase enable
bit 6
Default:
18020100h
Description:
Bit 7–0: INT line R/W
Bit 15–8: INT pin hardwired to 01
0: MPU401Base = 0330h–0333h
1: MPU401Base = 0300h–0303h
bit 7
0: MPU401Base disable
1: MPU401Base enable
legacy DMA decoding 45h
Bit 23–16: Min_Gnt hardwired to 02
Bit 31–24: Max_Gnt hardwired to 18
bit 0
0: DMA channel 1 trapping
1: DMA channel 0 trapping
bit 1
0: DMA trapping
disable 1: DMA trapping enable
bit 2
0: DMA status handle mode A (slave only)
1: DMA status handle mode B (bus master)
bit 3
0: DMA status retry OK
1: DMA status retry error
If bit 3 is set, bus interface will not respond to IO8 operation
any more unless the status retry error bit is cleared by writing
1 to this bit.
bit 4 DMAREG_RD_EN_
0: Response to DMAREG(00h–03h, 83h/87h) Read when
CFG45[1] is 1;
1: Never response to DMAREG(00h–03h, 83h/87h) Read.
bits 5–7 reserved
when DMA trapping is enable, chip will decode the following
I/O port
DMA channel 1 trapping
read 2,3
3.1.1.10 DDMA Slave Configuration Register
PCI Configuration
Address: 40h–43h
Type:
Read/Write
Default: 00000000h
Bit 0: DDMA Slave Channel Access Enable Control
0 disabled
1 enabled
When disabled, the DDMABase is not usefull and the PCM
sample playback control registers cannot be accessed
through DDMA Slave channel method.
When enabled, LM4560 can behave like a DDMA Slave
channel device. DDMA Master will transfer the legacy DMA
controller channel specific information to the related DDMA
Slave channel control register when software trying to program the legacy DMA controller register.
Bit 2..1 Legacy DMA Transfer Size Control, Read Only as 00
00 8 bit transfer, legacy
Bit 3 Non Legacy Extended Addressing Control (Fully 32 bit
Addressing)
0 disabled
1 enabled
Bit 31..4 DDMABase
3.1.1.11 Legacy audio/ power management
configuration:
PCI Configuration
Address: 44h–47h
Type:
Read/Write
Default:
write snoop 2,3
write snoop 8–Fh
write snoop 83h
DMA channel 0 trapping
read 0,1
write snoop 0,1
E2000000h
legacy I/O decoding 44h
bit 0:
0: SBBase = 0220h–022Fh
1: SBBase = 0240h–024Fh
write snoop 8–Fh
write snoop 87h
when DMA trapping is enable, the chip will handle DMA status read (I/O read port 8) depending on the DMA status
mode bit.
bit 1
0: SBBase disable
1: SBBase enable
DMA status handle mode A:
LM4560 will decode I/O read port 8 if StatusRDY is active,
otherwise, it will ignore the cycle.
DMA status handle mode B:
bit 2
0: ADLIBBase = 0388h–038Bh
www.national.com
8
3.0 Register Description
0: Disable
1: Enable
(Continued)
When StatusRDY is not active, the chip will retry DMA status
reads if it is not the current active bus master. Whenever chip
retry the DMA status read from other bus master, it will also
generate a bus request for the DMA status read. When the
DMA status read cycle generated by chip is terminated normally, the chip will write the status data by asserting the StatusWR signal.
If chip retries a DMA status read from other bus master 3
times without getting the bus ownership or proper data, it will
set the status error bit high which will terminate the pending
DMA status read request internally and ignore the all DMA
status read cycle by the other bus master.
When audio engine receives the StatusWR signal, it will assert the StatusRDY signal and allow the chip to decode I/O
read port 8 normally. The audio engine will de-assert the StatusRDY after each DMA status read.
If enabled, when the Inactivity Timer is expired, PME will be
asserted.
Inactivity Timer Expiration Control 47h
bit 0–7 Inactivity timer expiration base (in seconds)
Each time when audio engine enters into D2 state, the Inactivity timer will load the base count from this register and start
counting at 1s clock rate. When the MSB of the counter goes
from high to low timer has expired. When not in the D2 state,
the timer is reset.
3.1.1.12 INT Acknowledge Snoop Register:
PCI Configuration
Address:
48h–4Bh
Default:
00000000h
Description: Read/Write
Bit 0 (INTA_SNOOP_ENA) Interrupt Acknowledge Snooping
Enable bit.
0: Disable
1: Enable
Bit 15–7 (INT_VEC) Interrupt Vector to be matched.
All other bits are reserved.
Note: All I/O decoding is 16 bits, write snooping happens only once even with
multiple write retry cycles. Write snooping means chip will decode the
cycle to the audio engine without generating the DEVSEL signal or
TRDY on the PCI bus.
Power Management Configuration (PM_CFG) 46h
Bit 0 (DCC_EN) Dynamic Clock Control Enable
0: Disable
1: Enable. CLKRUN scheme will be enabled.
Bit 1 (DC_PM_EN_) Digital Controller Power Management
Enable
0: Enable When enabled, Audio_clk can be shut off or turn
on according to PM_ST.
1: Disable
Bit 2 (DC_RST) Digital Controller Software Reset
0: normal
1: Reset Digital Controller
Bit 3 (AC_PM_EN_) Analog CODEC Power Management
Enable
0: Enable
If enabled, AC97 bit clock can be shut off according to
PM_ST
1 Disable
Bit 4 (WAKE_EN1) Primary CODEC Wake-up Enable
Read/Write. Powered with Vaux. Cleared when H/W reset or
S/W reset.
0: disable
1: enable
3.1.1.13 Power Management Capability Register (PMC):
PCI Configuration
Address:
DCh–DFh
Default:
66010001h
Description: Read Only
Bit 7–0 (PM_Cap_ID) Power management capability identifier, read only as 01h.
Bit 15–8 (PM_Next_Ptr) Next data structure item list pointer
in the PCI header, read only as 00h
Bit 31–16 (PM_CAP) Power management capability register, read only as E611h.
Bit 31–27 (PME_Support) PME supported PM_ST, read only
as 01100b, indicates that PME can be asserted in D2, D3
hot.
Bit 26 (D2_Support) Read only as 1, indicates D2 supported.
Bit 25 (D1_Support) Read only as 1, indicates D1 supported.
Bit 24–22 Reserved. Read only as 000b.
Bit 21 (DSI) Device Specific Initialization. Read only as 0.
Bit 20 (Vaux) Auxiliary Power Source. Read only as 0.
Bit 19 (PME_clk) PME clock. Read only as 0, indicates that
no PCI clock is required to generate PME.
Bit 18–16 (Version) Read only as 001b, indicates PPMI v1.0
compliance.
When CODEC_PD = 1, BCLK keeps low, a rising edge of
ACDI1 will set WAVE_EV to high
Bit 5 (WAKE_EN2) Secondary CODEC Wake-up Enable
Read/Write. Powered with Vaux. Cleared when H/W reset or
S/W reset.
0: disable
3.1.1.14 Power management control/status register
(PMCSR) & PMCSR_BSE & Data:
PCI Configuration
1: enable
When CODEC_PD = 1, BCLK keeps low, a rising edge of
ACDI2 will set WAVE_EV to high
Bit 6 (ID_WR_EN) Chip IDs write enable
Address:
E0h–E3h
Default:
00000000h
Description: Read/Write
Bit 31–24 (Data) Read only as 00h.
0: Vendor ID, Device ID, Subsystem vendor ID & Subsystem
ID are read only
1: Vendor ID, Device ID, Subsystem vendor ID & Subsystem
ID are writeable.
Bit 7 (TIMER_PME_EN) Inactivity Timer assert PME enable
Bit 23–16 (PMCSR_BSE) Read only as 00h.
Bit 15–0 (PMCSR) Power Management Control/Status Register
Bit 15 (PME_Status) Read/Write-Clear.
9
www.national.com
3.0 Register Description
1: PME is enabled to be asserted.
Bit 7–2 Reserved. Read only as 000000b.
Bit 1–0 (PM_ST) Power State. Read/Write.
(Continued)
0: (Default) Normal (PME is controlled by bit[8] PME_En)
1: PME can be asserted independent of bit[8] (PME_En).
Writing 0 to this bit has no effect.
Writing 1 to this bit will clear this bit, and also cause chip to
stop asserting PME.
Read will return current Power State, write will set to new
state.
00 D0
01 D1
10 D2
11 D3 hot
Bit 14–13 (Data_Scale) Read only as 00b.
Bit 12–9 (Data_Select) Read only as 0000b.
Bit 8 (PME_En) Read/Write.
0: (Default) PME is disabled to be asserted.
3.2 AUDIO PROCESSOR REGISTER MAP:
IO Offset
+3h
+2h
+1h
+0h
00h
DMAR3
DMAR2
DMAR1
DMAR0
DMAR4
04h
DMAR7
DMAR6
DMAR5
08h
DMAR11
DMAR10
DMAR9
DMAR8
0Ch
DMAR15
DMAR14
DMAR13
DMAR12
10h
SBR3/SBR1
SBR2
SBR1/SBR3
SBR0
14h
RSVD
SBR6
SBR5
SBR4
RSVD
18h
RSVD
SBR7
RSVD
1Ch
SBR10
SBR9
RSVD
SBR8
20h
MPUR3
MPUR2
MPUR1
MPUR0
RSVD
RSVD
GAMER1
GAMER0
RSVD
ASR2
RSVD
ASR1
ASR6
ASR5
RSVD
ASR4
24h–2Ch
RSVD
30h
34h
GAMER2
38h
GAMER3
3Ch
RSVD
40h
ACWR
44h
ACRD
48h
SCTRL
4Ch
ACGPIO
50h
ASR0
54h
58h
ASR3
5Ch
60h
AOPLSR0
70h
SPDIF_CS
74h
RSVD
78h
SubSystem ID
7Ch
PCI ID read
80h
START_A
84h
STOP_A
88h
DLY
8Ch
SIGN_CSO
90h
CSPF_A
94h
CEBC
98h
AIN_A
SubVendor ID
GPcontrol
GPO
9Ch
EINT
A0h
GC
A4h
AINTEN_A
A8h
MUSICVOL
WAVEVOL
ACh
SBDELTA/SBDELTA_R
RSVD
www.national.com
GPI
CIR
10
3.0 Register Description
IO Offset
+3h
B0h
MISCINT
B4h
START_B
B8h
STOP_B
BCh
CSPF_B
C0h
SBDMAL
C4h
C8H
(Continued)
+2h
+1h
+0h
SBDMAC
SCE2R
RSVD
SBDD
SBCTRL
STIMER
CCh
LFO_CTRL_B
D0h
ST_TARGET
D4h
RSVD
D8h
AINT_B
DCh
AINTEN_B
LFO_CT_B
RSVD + I2S_DELTA
Bank A: Channel Register
ARAM_A (CIR < 32)
E0h
CSO
E4h
CPTR + LBA
FMS+ALPHA(11:8)
E8h
ESO
ALPHA(7:0)
DELTA
ECh
LFO_CTRL
LFO_CT
FMC+RVOL[6:1]
RVOL[0]+CVOL
F0h
GVSEL + PAN
VOL
CTRL + Ec(11:8)
Ec(7:0)
FMS+ALPHA(11:8)
ALPHA(7:0)
F4h
EBUF1
F8h
EBUF2
FCh
RSVD
Bank B: Channel Register
ARAM_B (CIR > =32)
E0h
CSO
E4h
CPTR + LBA
E8h
ESO
ECh
ATTRIBUTE
DELTA
FMC+RVOL[6:1]
RVOL[0]+CVOL
CTRL + VOL(11:8)
VOL(7:0)
ERAM_B (CIR > =32)
F0h
GVSEL + PAN
F4h
RSVD
F8h
RSVD
FCh
RSVD
LFO_INIT(Bank A)
There are 4 byte registers in ADLIB I/O Base. Physically,
those registers are alaised to Audio Base Reg10h–13h.
3.1.1.15 I/O Access Mode:
3.1.1.15.1 Audio I/O Base:
The Audio Processor requires a 256-byte PCI I/O space. The
base address (called the Audio I/O Base) resides in PCI
Configuration Register 10h.
All audio processor registers (00h–FFh) can be accessed by
host in an I/O cycle with address: Audio I/O Base+offset.
3.1.1.15.4 Legacy Gameport I/O Base:
If CFG_REG44h[4] is ‘0’, Gameport I/O Base is 200h; if
CFG_REG44h[4] is ‘1’, Gameport I/O Base is 208h.
There are 8 byte registers in Gameport I/O Base. Physically,
those registers are identical to Audio Base Reg30h–37h.
3.1.1.15.2 Legacy SB I/O Base:
3.1.1.15.5 Legacy MPU401 I/O Base:
If CFG_REG44h[0] is ‘0’, SB I/O Base is 220h; if
CFG_REG44h[0] is ‘1’, SB I/O Base is 240h.
Controlled by CFG_REG44h[6], Audio Processor response
to either of two legacy MPU401 I/O address spaces. If
CFG_REG44h[6] is ‘0’, MPU401 I/O Base is 330h; if
CFG_REG44h[6] is ‘1’, MPU401 I/O Base is 300h.
There are 4 byte registers in MPU401 I/O Base. Physically,
those registers are identical to Audio Base Reg20h–23h.
There are 16 byte registers in SB I/O Base. Physically, those
registers are aliased to Audio Base Reg10h–1Fh.
3.1.1.15.3 Legacy ADLIB I/O Base:
If CFG_REG44h[2] is ‘0’, ADLIB I/O Base is 388h; if
CFG_REG44h[2] is ‘1’, ADLIB I/O Base is 38Ch.
11
www.national.com
3.0 Register Description
(Continued)
82Ch
Channel 1: REG_ECh
3.1.1.15.6 Legacy DMA Snooping:
830h
Channel 1: REG_F0h
If CFG_REG45h[1] is ‘1’, Audio Processor will trap either of
Legacy DMA channel 0 or 1 by snooping legacy DMA register 00h–0Fh write cycle and response to read cycle.
834h
Channel 1: REG_F4h
Physically, these 16 byte registers are identical to Audio
Base Reg00h–0fh.
3.1.1.15.7 DDMA Base:
Audio Processor is also a DDMA slave which has a DDMA
base in CFG_REG40h and has 16 byte registers. Physically,
these 16 byte registers are identical to Audio Base
Reg00h–0fh.
Reserved
200h–
.
.
.
.
7FFh
800h–
.
.
.
.
FFFh
Reserved
ARAM & ERAM
.
.
.
.
Name
Description
DMAR0–3
Legacy DMA Playback Buffer
Base Register
DMAR4–6
Legacy DMA Playback Byte
Count Register
DMAR7
Legacy DMA Playback Misc.
Register
DMAR8
Legacy DMA Controller
Command/Status Register
DMAR9
Reserved Register
DMAR10
Legacy DMA Single Channel
Mask Port
DMAR11
Legacy DMA Channel
Operation Mode Register
DMAR12
Legacy DMA Controller
First_Last Clear Port
DMAR13
Legacy DMA Controller
Master Clear Port
DMAR14
Legacy DMA Controller Clear
Mask Port
DMAR15
Legacy DMA Controller
Multi-Channel Mask Register
LDATA: Data bus
On-Chip ARAM, ERAM Address Map
3.4.1.1 DMAR0 (Legacy DMA Playback Buffer Base
Register Port1)
Address: DDMASlaveBase + 0h or AudioBase + 0h or
0000h / 0002h
Size:
8 bits
ARAM and ERAM are mapped in range of 800h–FFFh:
800h
Channel 0: REG_E0h
804h
Channel 0: REG_E4h
808h
Channel 0: REG_E8h
80Ch
Channel 0: REG_ECh
810h
Channel 0: REG_F0h
814h
Channel 0: REG_F4h
818h
Channel 0: REG_F8h
81Ch
Channel 0: REG_FCh
820h
Channel 1: REG_E0h
824h
Channel 1: REG_E4h
828h
Channel 1: REG_E8h
www.national.com
.
.
.
.
DMA Register Map
3.1.1.16.2 On-chip Memory Direct R/W:
On-chip SRAM, such as ARAM, ERAM, can be accessed by
host directly (instead of index mode). The ARAM & ERAM
are mapped to 800h–FFFh.
4K-byte Memory Address Map
100h–1FFh
Channel 1: REG_FCh
3.3.1 DMA Register:
These 16-byte registers can be accessed on Audio Base (I/O
or MEM), on DDMA Base or in DMA Snooping mode.
3.1.1.16.1 Memory Mapped I/O:
The 256 byte Audio IO space is mapped to 000h–0FFh of
Audio MEM space bit to bit exactly. All audio processor registers can be accessed by host in a memory cycle with address: Audio MEM Base+offset.
256 byte register
Channel 1: REG_F8h
83Ch
3.3 AUDIO PROCESSOR REGISTER DESCRIPTIONS:
3.1.1.16 Memory Access Mode:
Audio Processor requires a 4 K-byte PCI Memory space.
The base address (we call it Audio MEM Base) resides in
PCI Configuration Register 14h.
000h–0FFh
838h
Type:
Read/Write
Default: 00h
Write: Legacy DMA Playback Buffer Base Address 7–0
Legacy DMA Playback Buffer Current Transfer Address 7–0
Read: Legacy DMA Playback Buffer Current Transfer Address 7–0
The PCI bus interface circuit should response to I/O read to
0000h or 0002h on the PCI bus only when DMASnoopEn is
active.
12
3.0 Register Description
The PCI bus interface circuit should response to I/O read to
0003h or 0001h on the PCI bus only when DMASnoopEn is
active.
(Continued)
3.4.1.2 DMAR1 (Legacy DMA Playback Buffer Base
Register Port2)
Address: DDMASlaveBase + 1h or AudioBase + 1h or
0000h / 0002h
3.4.1.6 DMAR5 (Legacy DMA Playback Byte Count
Register 2)
Address: DDMASlaveBase + 5h or AudioBase + 5h or
0001h / 0003h
Size:
8 bits
Type:
Read/Write
Default: 00h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write: Legacy DMA Playback Buffer Base Address 15–8
Legacy DMA Playback Buffer Current Transfer Address
15–8
Read: Legacy DMA Playback Buffer Current Transfer Address 15–8
The PCI bus interface circuit should response to I/O read to
0000h or 0002h on the PCI bus only when DMASnoopEn is
active.
Write: Legacy DMA Playback Byte Base Count 15–8
Legacy DMA Playback Current Byte Count 15–8
Read: Legacy DMA Playback Current Byte Count 15–8
The PCI bus interface circuit should response to I/O read to
0003h or 0001h on the PCI bus only when DMASnoopEn is
active.
3.4.1.7 DMAR6 (Legacy DMA Playback Byte Count
Register 3)
Address: DDMASlaveBase + 6h or AudioBase + 6h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write: Legacy DMA Playback Byte Base Count 23–16
Legacy DMA Playback Current Byte Count 23–16
Read: Legacy DMA Playback Current Byte Count 23–16
This register is intended for system which has DDMA Master.
Any time when legacy DMA playback is not running, this register must be reset to 0 by software driver.
3.4.1.3 DMAR2 (Legacy DMA Playback Buffer Base
Register Port3)
Address: DDMASlaveBase + 2h or AudioBase + 2h or
0087h / 0083h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write: Legacy DMA Playback Buffer Base Address 23–16
Legacy DMA Playback Buffer Current Transfer Address
23–16
Read: Legacy DMA Playback Buffer Current Transfer Address 23–16
The PCI bus interface circuit should response to I/O read to
0087h or 0083h on the PCI bus only when DMASnoopEn is
active.
3.4.1.8 DMAR7 (Legacy DMA Playback Misc. Register)
Address: DDMASlaveBase + 7h or AudioBase + 7h
Size:
8 bits
Type:
Read/Write
Default: 00h
3.4.1.4 DMAR3 (Legacy DMA Playback Buffer Base
Register Port4)
Address: DDMASlaveBase + 3h or AudioBase + 3h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write: Legacy DMA Playback Buffer Base Address 31–24
Legacy DMA Playback Buffer Current Transfer Address
31–24
3.4.1.9 DMAR8 (Legacy DMA Controller Command /
Status Register)
Address: DDMASlaveBase + 8h or AudioBase + 8h or
0008h
Size:
8 bits
Type:
Read Only
Default: 00h
Read: Legacy DMA Playback Buffer Current Transfer Address 31–24
This register is intended for system which has DDMA Master.
Any time when legacy DMA is running, this register must be
reset to 0 by software driver.
Read: status register for implemented legacy 8237-A DMA
channel.
Implementation of this register maintains the compatibility
with legacy 8237-A status register. However, when reading
this register, the return value should be different for I/O read
to (DDMASlaveBase + 8h), I/O read to (AudioBase +8h) and
I/O read to (0008h). I/O read to (DDMASlaveBase + 08h) is
normally initiated by DDMA Master. I/O read to (AudioBase +
08h) is normally initiated by our debug program. The DDMA
Master will take the responsibility to combine the return
value of each DMA Slave Channel in the system and return
the final resultant byte to response to the PCI I/O read to
0008h initiated by Host/PCI Bridge. The PCI bus interface
circuit should response to I/O read to 0008h on the PCI bus
only when DMASnoopEn is active.
3.4.1.5 DMAR4 (Legacy DMA Playback Byte Count
Register 1)
Address: DDMASlaveBase + 4h or AudioBase + 4h or
0001h / 0003h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write : Legacy DMA Playback Byte Base Count 7–0
Legacy DMA Playback Current Byte Count 7–0
Read: Legacy DMA Playback Current Byte Count 7–0
13
www.national.com
3.0 Register Description
Type:
Write Only
Write : master clear register for implemented legacy 8237-A
DMA channel.
Writing to this register has the effect of hardware reset to the
implemented legacy 8237-A DMA channel. Implementation
of this register maintains the register compatibility with
legacy 8237-A DMA controller for system with or without
DDMA Master. For system which has DDMA Master, it is the
DMA Master’s responsibility to write to this register when a
write to legacy 8237-A master clear register (I/O write to
000Dh) is on the PCI Bus. When snooping legacy 8237-A
register operation is enabled, any I/O write to 000Dh should
clear several legacy flags such as First_Last flag.
(Continued)
3.4.1.10 DMAR10 (Legacy DMA Single Channel Mask
Port)
Address: AudioBase + 0Ah or 000Ah
Size:
8 bits
Type:
Write Only
Default: 00h
Write: channel mask register for implemented legacy 8237-A
DMA channel.
Writing to this register will affect the legacy DMA operation of
the LM4560, implementation of this register maintains the
register compatibility with legacy 8237-A DMA channel mask
register. For system which has a DDMA Master, it is the DMA
Master’s responsibility to update the legacy channel mask
bit, DMAR15.0 with address (DMASlaveBase + Fh) when a
I/O write to 000Ah occurred on PCI Bus. When snooping a
legacy 8237-A register operation is enabled, any I/O write to
000Ah should be snooped to DMAR15.0.
3.4.1.14 DMAR14 (Legacy DMA Controller Clear Mask
Port)
Address: AudioBase + 0Eh or 000Eh
Size:
0 bits
Type:
Write Only
Write: multi-channel mask clear port for implemented legacy
8237-A DMA channel.
Writing to this register will affect the legacy DMA operation.
Implementation of this register maintains the register compatibility with legacy 8237-A DMA multi-channel clear mask
register. For system which has DDMA Master, it is the DMA
Master’s responsibility to update the legacy channel mask bit
DMAR15.0 with address (DMASlaveBase + Fh) when a I/O
write to 000Eh occurred on PCI Bus. When snooping legacy
8237-A register operation is enabled, any I/O write to 000Eh
will reset DMAR15.0 to 0.
3.4.1.11 DMAR11 (Legacy DMA Channel Operation
Mode Register)
Address: DMASlaveBase + 0Bh or AudioBase + 0Bh or
000Bh
Size:
8 bits
Type:
Read/Write
Default: 00h
Write: channel mode register for implemented legacy 8237-A
DMA channel.
Writing to this register will affect the legacy DMA operation of
the LM4560, implementation of this register maintains the
register compatibility with legacy 8237-A DMA channel mode
register for system with or without DDMA Master. For system
which has DDMA Master, it is the DMA Master’s responsibility to update this register when an I/O write to 000Bh occurred on PCI Bus. When snooping legacy 8237-A register
operation is enabled, any I/O write to 000Bh should be
snooped to this register if the channel number matches the
snooping legacy DMA channel number.
Read : This register can only be read out through AudioBase
+ 0Bh port.
3.4.1.15 DMAR15 (Legacy DMA Controller
Multi-Channel Mask Register)
Address: DMASlaveBase + 0Fh or AudioBase + 0Fh or
000Fh
Size:
1 bit
Type:
Write Only
Default: 0b
Write: multi-channel mask register for implemented legacy
8237-A DMA channel.
Implementation of this register maintains the register compatibility with legacy 8237-A DMA controller for system with
or without DDMA Master. For system which has DDMA Master, it is the DMA Master’s responsibility to write DMAR15
when a write to legacy 8237-A multi-channel mask register
(I/O write to 000Fh) is on the PCI Bus. When snooping
legacy 8237-A register operation is enabled, any I/O write to
000Fh should update the mask flag for the implemented
legacy 8237-A DMA channel.
3.4.1.12 DMAR12 (Legacy DMA Controller First_Last
Flag Clear Port)
Address: AudioBase + 0Ch or 00Ch
Size:
0 bits
Type:
Write Only
Write: first_last flag clear register for implemented legacy
8237-A DMA channel.
Writing to this register will clear the flag signal First_Last.
Implementation of this register maintains the register compatibility with legacy 8237-A DMA controller for system without DDMA Master. For system which has DDMA Master, it is
the DMA Master’s responsibility to implement this flag. When
snooping legacy 8237-A register operation is enabled, any
I/O write to 000Ch should clear First_Last flag.
3.4.2 Legacy Sound Blaster/Adlib Register:
These 16-byte registers can be accessed on Audio Base (I/O
or MEM), SB Base, or ADLIB Base.
3.4.1.13 DMAR13 (Legacy DMA Controller Master Clear
Port)
Address: DMASlaveBase + 0Dh or AudioBase + 0Dh or
000Dh
3.4.2.1 SBR0 (Legacy FmMusic Bank 0 Register Index /
Legacy FmMusic Status)
Address: AudioBase + 10h or SBBase + 0h or SBBase +
08h or ADLIBBase + 0h
Size:
8 bits
Type:
Read/Write
Default: 00h
Size:
Write
0 bits
www.national.com
14
3.0 Register Description
Bit7..0
X
ister will be set 1 when timer2 is overflowed. If bit 0 is set 1,
bit 7 and 6 of FmMusic Status register will be set 1 when
timer1 is overflowed.
(Continued)
Legacy FmMusic Bank 0 Register
Index
3.4.2.2 SBR1 (Legacy FmMusic Bank 0 Register Data
Port)
Read
Bit 7
1
FmMusic Timer Interrupt Flag (Equal
to Bit 6 + Bit 5)
Bit 6
1
FmMusic Timer 1 Overflowed Flag
Bit 5
1
FmMusic Timer2 Overflowed Flag
Bit 4..0
0
Reserved
Address: AudioBase + 11h or SBBase + 1h or SBBase +
09h or ADLIBBase + 1h or AudioBase + 13h or
SBBase + 3h or ADLIBBase + 3h
Size:
8 bits
Type:
Default:
Relative Internal Function Register File
In order to emulate the legacy FmMusic(YMF262 or OPL3)
function, a 512 bytes register file (RAM) must be implemented. By legacy access method, this register file has two
banks and the bank index is specified by SBR0 and SBR2
respectively. This register file is byte-wide format, read/write
RAM which has no high speed operation requirement.
Bit 7..0
Legacy FmMusic Bank 0 Register
(indexed by SBR0) Data
When writing to this register, if SBR0 is B0h–B8h and bit 5 of
the content (indexed by SBR0) is changed from 0 to 1 or vice
versa, or SBR0 is BDh and any one of bit 4–0 of the content
(indexed by SBR0) is changed from 0 to 1 or vice versa, an
OPL3 Bank0 Key On/Off Dirty Flag will be set in the Audio
Status Registers ASR0 and AOPLSR0.
Relative Internal Functional Register Extracted From
Legacy FmMusic Bank 0 Register File
FmMusic-TIMER1
Bank Index: 02h
Size:
8 bits
Type:
Read/Write
Default:
00h
Bit 7..0
Bit 7..0
Reset Bit 7–5 of Legacy FmMusic
Status Register
Bit 6
1
Reset Timer1 Overflow Flag
Bit 5
1
Reset Timer2 Overflow Flag
Bit 4–2
0
Reserved
Bit 1
1
Enable Timer 2
Legacy FmMusic Bank 1 Register
Index
Legacy FmMusic Bank 1 Register
(indexed by SBR2) Data
When write to this register, if SBR2 is B0h–B8h and bit 5 of
the content (indexed by SBR2) is changed from 0 to 1 or vice
versa, an OPL3 Bank1 Key On/Off Dirty Flag will be set in
Audio Status Registers ASR0 and AOPLSR0.
04h
8 bits
Read/Write
00h
1
X
3.4.2.4 SBR3 (Legacy FmMusic Bank 1 Register Data
Port)
Address: AudioBase + 11h or SBBase + 1h or ADLIBBase
+ 1h or AudioBase + 13h or SBBase + 3h or
ADLIBBase + 3h
Size:
8 bits
Type:
Read/Write
Default: XXh
Bit 7..0
X
Timer2 Preset Value
If enabled, Timer2 counter will increase every 4096 AC97 bitclock (12.288 MHz). When overflow occurs, this value is reloaded into the counter.
FmMusic-Timer-CONTROL
Bit 7
X
3.4.2.3 SBR2 (Legacy FmMusic Bank 1 Register Index)
Address: AudioBase + 12h || SBBase + 2h || ADLIBBase +
2h
Size:
8 bits
Type:
Read/Write
Default: 00h
Bit 7..0
X
Timer1 Preset Value
If enabled, Timer1 counter will increase every 1024 AC97 bitclock (12.288 MHz). When overflow occurs, this value is reloaded into the counter.
FmMusic-TIMER2
Bank Index: 03h
Size:
8 bits
Type:
Read/Write
Default:
00h
Bank Index:
Size:
Type:
Default:
Read/Write
XXh
X
3.4.2.5 SBR4 (Legacy Sound Blaster Mixer Register
Index)
Address: AudioBase + 14h or SBBase + 4h
Size:
8 bits
Type:
Read/Write
Default: 00h
Bit 7..0
Bit 0
1
Enable Timer 1
Bit 7–5 must be self-cleared to 0 after it is written as 1.
When bit 1 or 0 is set from 0 to 1, the corresponding timer
counter will load its preset value and start counting. When
these bits are zero, the respective timer counter will stop
counting. If bit 1 is set 1, bit 7 and 5 of FmMusic Status reg-
X
Legacy SB16 / SBPRO Mixer
Register Index
3.4.2.6 SBR5 (Legacy Sound Blaster Mixer Register
Data Port)
Address: AudioBase + 15h or SBBase + 5h
Size:
8 bits
Type:
Read/Write
Default:
15
XXh
www.national.com
3.0 Register Description
Bit 7..0
X
3.4.2.10 SBR9 (Legacy Sound Blaster ESP Data Ready
/ IRQ Acknowledge Port 1)
(Continued)
Address: AudioBase + 1Eh or SBBase + Eh
Size:
1 bit
Type:
Read Only
Legacy SB16 / SBPRO Mixer
Register (indexed by SBR4) Data
Port
Default:
3.4.2.7 SBR6 (Legacy Sound Blaster ESP Reset Port)
Address: AudioBase + 16h or AudioBase + 17h or SBBase
+ 6h or SBBase + 7h
Size:
Type:
1 bit
Write Only
Bit 0
1
Bit 7
Enter Legacy SB16 / SBPRO ESP
Reset State
Escape From SB16 / SBPRO ESP
Reset State
ESP Reset should do the following things:
Reset ESP to no operation status and clear ESP Busy Flag.
b. Stop wave engine SB channel operation.
Reset any flags that may affect the next command execution.
Bit 7
X
Data returned by Legacy SB16 /
SBPRO ESP Read Operation
3.4.3.1 MPUR0 (Legacy MPU-401 Data Port / IRQ
Acknowledge Port)
Address: AudioBase + 20h or MPU401Base + 0h
Size:
8 bits
Type:
Read/Write
Default: FEh
Read
The Command (Operator) or Data
(Operand) Written to Legacy SB
ESP.
0
Legacy SB ESP is Available For
Next Command / Data
1
Legacy SB ESP is Busy
Data is not available on SBR7.
Data is available on SBR7.
3.4.3 Legacy MPU-401 Register
These 4-byte registers can be accessed on Audio Base (I/O
or MEM), or MPU401 Base.
Bit 7..0
Read
Bit 7
0
1
Bit 6..0
X
Reserved
Reading this register will clear the interrupt generated by the
ESP for BX type legacy SB DMA command. After SBR7 has
been read, bit 7 of this register will reset to 0 (no data). If the
next read data is available at SBR7, bit 7 of this register will
again be set to 1.
3.4.2.9 SBR8 (Legacy Sound Blaster Command / Status
Port)
Address: AudioBase + 1Ch or AudioBase + 1Dh or SBBase
+ Ch or SBBase + Dh
Size:
8 bits
Type:
Read/Write
Default: 00h
Write
Bit7..0
Data is not available on SBR7
Data is available on SBR7
3.4.2.11 SBR10 (Legacy Sound Blaster ESP Data Ready
/ IRQ Acknowledge Port 2)
Address: AudioBase + 1Fh or SBBase + Fh
Size:
1 bit
Type:
Read Only
Default: 00h
3.2.8 SBR7 (Legacy Sound Blaster ESP Data Port)
Address: AudioBase + 1Ah or AudioBase + 1Bh or SBBase
+ Ah or SBBase + Bh
Size:
8 bits
Type:
Read Only
Default: 00h
1
0
1
Bit 6..0
X
Reserved
Reading this register will clear the interrupt generated by the
ESP for NON-BX type legacy SB DMA command. After
SBR7 has been read, bit 7 of this register will reset to 0 (no
data) until the next read data is available and set bit 7 of this
register.
0
Bit7..0
00h
MPU-401 Acknowledge Byte or
External MIDI Input Data in MIDI-IN
FIFO;
Write
Bit 7..0
MIDI Output Data
When internal loopback mode is enabled, reading this port
will not update the MIDI-IN FIFO read counter.
Bit 6..0
X
Reserved
After the command / data has been written to the ESP Command / DATA port, bit 7 of this status register will be set to 1
(busy). After ESP has processed the written command / data
and waiting for the next one, bit 7 of this status register will
be reset to 0 (not busy). Any acknowledge byte must be
readback before any new command is issued. ESP will be
set busy after this port has ever been written and will be set
not busy if the command/status has been read four times.
3.4.3.2 MPUR1 (Legacy MPU-401 Command / Status
Port)
Address: AudioBase + 21h or MPU401Base + 1h
Size:
8 bits
Type:
Default:
Read/Write
80h
Read MPU-401 Status
www.national.com
16
3.0 Register Description
Bit 7
Bit 6
Bit 5
Bit 4
(Continued)
0
Ack. Byte is available or External
MIDI Input Data is Available in
MDI-IN FIFO;
1
NO Acknowledfe Byte or External
MIDI Input Data;
0
Ready for MIDI Data Output or New
MIDI Command
1
MIDI-OUT FIFO is Full
0
MIDI-IN FIFO is not Full
1
MIDI-IN FIFO is Full
0
MPU401 engine is at PASS-THRU
mode
1
MPU401 engine is at UART mode
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3..0
RESERVED
Write MPU-401 Command
Bit 7..0
Bit 3
Command to MPU-401 MIDI
Controller;
3.4.3.3 MPUR2 (MPU-401 Operation Control / Status
Register)
Address: AudioBase + 22h or MPU401Base + 2h
Size:
8 bits
Type:
Bit 7..3 Read/Write
Bit 2.00 Read Only
Default: 10h
Read MPU-401 MIDI Engine Current Status
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
MIDI-IN FIFO Source From External
MIDI-IN Pad;
1
MIDI-IN FIFO Source From
MIDI-OUT FIFO;
0
External MIDI-OUT Pad Source From
MIDI-OUT FIFO;
1
External MIDI-OUT Pad Source From
External MIDI-IN Pad;
0
Regular MIDI Clock is being used;
1
Fast MIDI Clock (12.288 MHz) is
being used;
0
MPUR0 Disconnect From MIDI-OUT
FIFO;
1
Connect MPUR0 to MIDI-OUT FIFO;
0
Interrupt will be generated When
MIDI-IN FIFO is not Empty;
1
Interrupt will not be generated When
MIDI-IN FIFO is not Empty;
Bit 2
Bit 1..0
0
MIDI-IN FIFO Source From External
MIDI-IN Pad;
1
MIDI-IN FIFO Source From
MIDI-OUT FIFO;
0
External MIDI-OUT Pad Source From
MIDI-OUT FIFO;
1
External MIDI-OUT Pad Source From
External MIDI-IN Pad;
0
Regular MPU401 MIDI Clock is being
used;
1
Fast MPU401 MIDI Clock (12.288
MHz) is being used;
0
Disconnect MPUR0 From MIDI-OUT
FIFO When at Pass-Thru Mode;
1
Connect MPUR0 to MIDI-OUT FIFO
When at Pass-Thru Mode;
0
Genarate Interrupt When MIDI-IN
FIFO is not Empty;
1
Do Not Generate Interrupt When
MIDI-IN FIFO is not Empty;
0
External MIDI-OUT Source from
Internal MIDI-OUT
1
Force External MIDI-OUT Output
Pad to Stay at High Level
RESERVED
3.4.3.4 MPUR3 (MPU-401 MIDI-IN FIFO Access Port)
Address: AudioBase + 23h or MPU401Base + 3h
Size:
8 bits
Type:
Read Only
Default: 00h
Read
Bit 7..0
MIDI Data Serialized In MIDI-IN FIFO
3.4.3.5 Implementation Note:
After power up reset, MPU-401 MIDI engine is at passthrough mode. MPU-401 MIDI engine will only execute the
following two commands when at pass-through mode.
Command Code: 3Fh
Function:
Enter_UART Mode from Pass-Through
Mode
Behavior:
Return acknowledge byte (0FEh) in
MPUR0, generate an interrupt if switch to
UART mode successfully. Reading
MPUR0 will clear this interrupt.
Command Code: FFh
Function:
MIDI Reset
Behavior:
Return acknowledge byte (0FEh) in
MPUR0, generate an interrupt and stay
in Pass-Through mode. Reading MPUR0
will clear this interrupt.
0
MPU401 Midi-out buffer full flag is
not masked at loop back mode;
1
MPU401 Midi-out buffer full flag is
masked at loop back mode;
0
MIDI-OUT FIFO is Empty;
1
MIDI-OUT FIFO is Not Empty;
MPU-401 MIDI engine will only execute the following command when at UART mode.
Command Code: FFh
0
MIDI-IN FIFO is Empty;
Function:
1
MIDI-IN FIFO is not Empty
Write MPU-401 MIDI Engine Operation Control
Behavior:
17
Enter Pass-Through Mode from UART
Mode
Flush MIDI-IN FIFO, go to Pass-Through
Mode;
www.national.com
3.0 Register Description
(Continued)
When MPU-401 MIDI engine is at internal loopback operation state (MPUR3.7 is set 1), MPUR1.7 is masked from
MIDI-IN FIFO state automatically. This means if MIDI-IN
FIFO is not empty, MPUR1.7 is still reading as 1. When
MIDI-IN FIFO is full, MIDI clock will be stopped until MIDI-IN
FIFO is not full.
Bit 2
Bit 1
3.4.4 Legacy Gameport Register
These 16-byte registers can be accessed on Audio Base (I/O
or MEM), or Gameport Base.
Bit 0
3.4.4.1 GAMER0 (Gameport Control Register)
Address: AudioBase + 30h
Size:
Type:
Default:
2 bits
Read/Write
0b
Bit 6
0 Disable Testmode for Enhanced Mode Gameport
1 Enable Testmode for Enhanced Mode Gameport
Bit 5..0 X Reserved;
When Bit 6 is set, the gamecounter will overflow every 1024
AC97 Bitclk. Bit 6 is only useful when Bit 7 is set. Bit 7 will be
automatically cleared if there are any I/O operation to
GAMER1.
Trigger the Legacy Gameport I/O
Read Cycle
Bit 6
Bit 5
Bit 4
Bit 3
0
Joystick B Button 1 Pressed (Input
Pad Stay at Low Level);
1
Joystick B Button 1 Released (Input
Pad Stay at High Level);
0
Joystick B Button 0 Pressed (Input
Pad Stay at Low Level);
1
Joystick B Button 0 Released (Input
Pad Stay at High Level);
0
Joystick A Button 1 Pressed (Input
Pad Stay at Low Level);
1
Joystick A Button 1 Released (Input
Pad Stay at High Level);
0
Joystick A Button 0 Pressed (Input
Pad Stay at Low Level);
1
Joystick A Button 0 Released (Input
Pad Stay at High Level);
0
Joystick B Y-Axies Input Pad Stay at
High Level
1
Joystick B X-Axies Input Pad Stay at
Low Level
0
Joystick A Y-Axies Input Pad Stay at
High Level
1
Joystick A Y-Axies Input Pad Stay at
Low Level
0
Joystick A X-Axies Input Pad Stay at
High Level
1
Joystick A X-Axies Input Pad Stay at
Low Level
The game position latches can be read in word or
double word format. These latches should be frozen
when reading and be freed after reading.
3.4.5 Serial Interface Control Register:
These 16-byte registers can only be accessed on Audio
Base (I/O or MEM).
3.4.5.1 ACWR (AC-97 Mixer Write Register)
Address: AudioBase + 40h
Size:
32 bits
Type:
www.national.com
Joystick B X-Axies Input Pad Stay at
High Level
3.4.4.5 Implementation Note
Any I/O operation to legacy GAMEBase will function as normal gameport mode. At enhanced gameport mode
(GAMER0.7 is set 1), when the 16 bit game counter overflowed, the external pad for joystick A&B X-Y Axies State will
stop drived low, then game counter will counting up from
zero with AC97 bitclock (12.288 MHz ). Each game position
latch (4 * 16 bits) will store the game counter value when its
corresponding axies state pad recharged from low to high.
When the game counter overflowed, the game position latch
will be set to the overflowed value (0FFFFh) if its corresponding axies state pad is still low.
Read
Bit 7
0
3.4.4.4 GAMER3 (Enhanced Gameport Position
Register 2)
Address: AudioBase + 38h
Size:
32 bits
Type:
Read Only
Default: 00000000h
Bit 31..16 Joystick B Y-Axies Position Latch Value (16 bit unsigned)
Bit 15..0 Joystick B X-Axies Position Latch Value (16 bit unsigned)
3.4.4.2 GAMER1 (Legacy Gameport I/O Register)
Address: AudioBase + 31h or GAMEBase + 0 - 7h
Size:
8 bits
Type:
Read/Write
Default: 00h
Write
X
Joystick B Y-Axies Input Pad Stay at
Low Level
3.4.4.3 GAMER2 (Enhanced Gameport Position
Register 1)
Address: AudioBase + 34h
Size:
32 bits
Type:
Read Only
Default: 00000000h
Bit 31..16 Joystick A Y-Axies Position Latch Value (16 bit unsigned)
Bit 15..0 Joystick A X-Axies Position Latch Value (16 bit unsigned)
Bit 7
0 Disable Enhanced Digital Gameport;
1 Enable Enhanced Digital Gameport;
Bit 7..0
1
18
Read/Write
3.0 Register Description
Default:
0: Normal
(Continued)
1: Warm Reset CODEC
When write ‘1’ to this bit, pin ACSYNC should be driven to
high for at least 1µs.
00000000h
Write
Bit 7..0
X
Bit 1 (CRST_CODEC) CODEC Cold Reset Command
0: Normal
1: Cold Reset CODEC
index of the AC-97 mixer register to
be written;
Bit 7 = 0 for Primary CODEC;
When write ‘1’ to this bit, pin ACRST should be driven to low
for at least 1µs.
Bit 2 (MCLK_SEL) MCLK clock rate select for I2S Output
Bit 7 = 1 for Secondary CODEC.
Bit 14..7
X
reserved
Bit 15
0
do nothing
1
write AC-97 mixer register (indexed
by bit 7..0) with bit 31..16;
X
data to be written into AC-97 mixer
register;
Bit 6..0
X
index of the AC-97 mixer register to
be written;
Bit 14..7
X
reserved
Bit 15
0
ready to write AC-97 mixer register
1
busy writing AC-97 mixer (indexed
by Bit 7..0);
X
data to be written into AC-97 mixer
register.
Bit 31..16
0: MCLK = 12.288M
1: MCLK = 6.144M
Bit 3 (PCMOUT_SEL) PCM Output Select (Primary/
Secondary)
0: PCM Output up to Primary CODEC request
1: PCM Output up to Secondary CODEC request
Bit 4 (DBLRATE_EN) CODEC Double Rate Enable
Read
Bit 31..16
0: Disable
1: Enable
Bit 5 (SPDIF_EN) S/PDIF Output Function Enable
0: Disable
If disabled, the clocks of SPDIF transmitter should be shut
down.
1: Enable
Bit 6 (I2SOUT_EN) I2S Output Function Enable
0: Disable
If disabled, the clocks of I2S transmitter should be shut
down.
1: Enable
Bit 7 (I2SIN_EN) I2S Input Function Enable
0: Disable
If disabled, the clocks of I2S receiver should be shut down.
1: Enable
Bit 8 (PCMIN_SEL) PCMIN Slot Select
0: Primary CODEC PCMIN slot input to PCMIN_A buffer
1: Secondary CODEC PCMIN slot input to PCMIN_A buffer
Bit 9 (LINE1IN_SEL) LINE1IN Slot Select
0: Primary CODEC LINE1IN slot input to LINE1IN buffer
1: Secondary CODEC LINE1IN slot input to LINE1IN buffer
3.4.5.2 ACRD (AC-97 Mixer Read Register)
Address: AudioBase + 44h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Write
Bit 7..0
X
index of the AC-97 mixer register to
be read;
Bit 7=0 for Primary CODEC;
Bit 7=1 for Secondary CODEC.
Bit 14..7
X
reserved
Bit 15
0
do nothing
1
read AC-97 mixer register (indexed
by bit 7..0) with bit 31..16;
X
reserved
Bit 6..0
X
index of the AC-97 mixer register to
be read;
Bit 14..7
X
reserved
Bit 15
0
bit 31..16 is valid data of the AC
mixer register (indexed by bit 7..0)
1
busy reading AC-97 mixer register
(indexed by Bit 7..0);
X
AC-97 mixer register contents.
Bit 31..16
Read
Bit 31..16
Bit 10 (MIC_SEL) MIC Slot Select
0: Primary CODEC MIC slot input to MIC buffer
1: Secondary CODEC MIC slot input to MIC buffer
Bit 11 (LINE2IN_SEL) LINE2IN Slot Select
0: Primary CODEC LINE2IN slot input to LINE2IN buffer
1: Secondary CODEC LINE2IN slot input to LINE2IN buffer
Bit 12 (HSETIN_SEL) HSETIN Slot Select
0: Primary CODEC HSETIN slot input to HSETIN buffer
1: Secondary CODEC HSETIN slot input to HSETIN buffer
Bit 13 (GPIOIN_SEL) GPIOIN Slot Select
0: Primary CODEC GPIOIN slot input to GPIOIN buffer
3.4.5.3 SCTRL (Serial INTF Control Register)
1: Secondary CODEC GPIOIN slot input to GPIOIN buffer
Address: AudioBase + 48h
Size:
32 bits
Type:
Read/Write
Bit 15–14 Secondary CODEC ID
Default: 01
Bit 16 (PCMOUT_EN) PCMOUT L/R Slot Enable, Default: 1
0: Disable
Default: 00014000h
Bit 0 (WRST_CODEC) CODEC Warm Reset Command
19
www.national.com
3.0 Register Description
1: Enable
Bit 14–5 reserved
Bit 15 (COMMAND/STATUS)
(Continued)
1: Enable (Default)
Bit 17 (SURROUT_EN) SURROUT L/R Slot Enable
0: Disable
1: Enable
This bit is status when read.
0 ready to output AC-97 Slot 12
1 busy
Bit 18 (CENTEROUT_EN) CENTEROUT Slot Enable
0: Disable
1: Enable
This bit is command when write
0 do nothing
1 output AC-97 Slot 12
Bit 31..16 (ACGPIO_OUT) data to be written into AC-97
through output Slot 12;
Bit 19 (LFEOUT_EN) LFEOUT Slot Enable
0: Disable
1: Enable
Bit 20 (LINE1OUT_EN) LINE1OUT Slot Enable
0: Disable
1: Enable
Bit 21 (LINE2OUT_EN) LINE2OUT Slot Enable
3.4.6 Misc and Status Register
0: Disable
1: Enable (If DBLRATE_EN is 0)
Bit 22 (HSETOUT_EN) HSETOUT Slot Enable
0: Disable
1: Enable (If DBLRATE_EN is 0)
Bit 23 (GPIOOUT_EN) GPIOOUT Slot Enable
0: Disable
1: Enable (If DBLRATE_EN is 0)
Bit 24 (CODECA_RDY) Primary CODEC Ready flag (Read
only)
0: Not ready
1: Ready
Bit 25 (CODECB_RDY) Secondary CODEC Ready flag
(Read only)
0: Not ready
1: Ready
Bit 26 (CODEC_PD) CODEC Power Down State flag Read
only.
0: Normal
1: CODEC is in power down mode
When PM_ST enters D3, this bit will be set.
Other bits are reserved
Address: AudioBase + 50h
Size:
32 bits
Type:
Read Only
These 16-byte registers can only be accessed on Audio
Base (I/O or MEM).
3.4.6.1 ASR0 (TSAudio Status Register)
Default: 00000000h
Bit 2..0 LegacyCMD
000 stop: No any operation. No contribution to Digital Mixer
001 run: Normal operation.
010 silent_DMA : SBCL will count; CA, CBC won’t count.
No data fetching. No interpolation. No contribution to Digital
Mixer
011 reserve
100 silent_SB: SBCL, CA & CBC will count as the same as
run mode.
No data fetching. No interpolation. No contribution to Digital
Mixer
101pause: SBCL, CA & CBC don’t change.
let SBALPHA unchanged, CACHE_HIT=1
drive current LD (or LD_L, LD_R) to Digital Mixer
110 reserve
111 direct play: SBCL, CA & CBC don’t change.
drive SBDD to Digital Mixer
Bit 3
0: SB DMA loop disable
1: SB DMA loop enable
Bit 4
3.4.5.4 ACGPIO (AC97 General Purpose IO Register)
Address: AudioBase + 4Ch
Size:
32 bits
Type:
Read/Write
0: playback
1: recording
Default: 00000000h
Bit 0 Reseved.
Bit 5
0: unsigned data format
1: signed data format
Bit 6
Bit 1 (GP_IRQ1) Primary CODEC GPIO_INT register
This bit will be updated with Primary input Slot 12 bit 0 of every AC97 frame.
0: mono
1: stereo
Bit 2 (GP_IRQ2) Secondary CODEC GPIO_INT register
This bit will be updated with Secondary input Slot 12 bit 0 of
every AC97 frame.
Bit 7
0: 8-bit data format
1: 16-bit data format
Bit 9..8
Bit 3 (GP_INT1_En) Primary CODEC GPIO_INT Enable
0: Disable
1: Enable
Bit 4 (GP_INT2_En) Secondary CODEC GPIO_INT Enable
0: Disable
www.national.com
00: SB ESP Engine Command Port Not Busy
01: SB ESP Engine Command Port Busy
20
3.0 Register Description
10: SB ESP DMA Test Busy
1: Don’t generate IRQ when legacy recording block length
expired.
Bit 29 (MPU_BUF_SEL) MPU401 Output Buffer Select
11: SB ESP Command Buffer Full
Bit 10
0: SB ESP Engine at Digital Audio Off State
0: 8-byte
1: 128-byte
Bit 31..30 (Read only) Chip Capability Bits
1: SB ESP Engine at Digital Audio On State
Bit 11
0: SB ESP DMA Command is not valid
These two bits are connected to the invert of two bonding option pads (padt1, padt0). Padt1, padt0 are two input pad with
pull-high resistor which can be bonded to GND.
1: SB ESP DMA command is valid
Bit 12
0: SB ESP has no ack byte
00 (Default) Full functioned level (64-channel + effect +
AC97 v2.0)
01 Enhanced level (64-channel + effect + AC97 v1.03)
10 Standard level (64-channel + AC97 v1.03)
(Continued)
1: SB ESP has ack byte that needs to be read out
Bit 13
0: SB ESP is not at Direct Recording Mode
1: SB ESP is at Direct Recording Mode
11Entry level (32-channel + AC97 v1.03)
Bit 24..16 will be cleared after this register is read.
Only one bit of Bit 21 and Bit 20 can be set 1 by implemented
SB ESP Engine at any time.
Only one bit of Bit 23 and Bit 22 can be set 1 by implemented
SB ESP Engine at any time.
Bit 14
0: SB Mixer Register MX0E.1 is 0
1: SB Mixer Register MX0E.1 is 1
Bit 15
0: AC-97 codec is not ready
1: AC-97 codec is ready
Bit 16
1: OPL3 Bank
0: Key On/Off
Bit 17
1: OPL3 Bank1 Key On/Off
Bit 18
1: SB PRO Mixer Register Update
Bit 19
1: SB16 Mixer Register Update
Bit 20
1: SB Engine Sample Rate Set By Time Constant Most Recently
Bit 21
1: SB Engine Sample Rate Set By Frequency Most Recently
Bit 22
1: SB16 Command Captured Most Recently (Bx or Cx Type
Command Captured)
Bit 23
1: SB PRO Command Captured Most Recently (Non-Bx or
Cx Type Command Captured)
Bit 24
1: SB Mixer Soft-Reset
Bit 26..25
00: SB ESP is at get operator state
3.4.6.2 ASR1 (Legacy Sound Blaster Frequency Read
Back Register)
Address: AudioBase + 54h
Size:
16 bits
Type:
Read Only
Default: 00h
Bit 15..0 Sample Frequency Set by SB Command 41h or 42h
3.4.6.3 ASR2 (Legacy Sound Blaster Time Constant
Read Back Register)
Address: AudioBase + 56h
Size:
8 bits
Type:
Read Only
Default: 00h
Bit 7..0 Time Constant Value Set by SB Command 40h
3.4.6.4 ASR3 ( TSAudio Scratch Register)
Address: AudioBase + 58h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
3.4.6.5 ASR4 (TSAudio Version Control Register)
Address: AudioBase + 5Ch
Size:
8 bits
Type:
Read Only
Default:
80h
3.4.6.6 ASR5 (SB ESP Version High Byte Control
Register)
Address: AudioBase + 5Eh
01: SB ESP is at get first operand state
11: SB ESP is at get second operand state
10: SB ESP is at get third operand state
Bit 27
1: SB ESP is at special DMA mode
Bit 28
(LREC_IRQ_MASK) Legacy Recording IRQ MASK
0: Generate IRQ when legacy recording block length expired.
Size:
4 bits
Type:
Default:
Read/Write
4h
3.4.6.7 ASR6 (SB ESP Version Low Byte Control
Register)
Address: AudioBase + 5Fh
Size:
4 bits
21
www.national.com
3.0 Register Description
Hardwired to 00b
(Continued)
Type:
Read/Write
3.4.8.2 GPIO (General Purpose IO Register)
Default:
2h
Address:
Size:
Type:
Default:
3.4.7 OPL3 Channel Status Register
These 4-byte registers can only be accessed on Audio Base
(I/O or MEM).
Bit 31..24 reserved
Bit 23..16 GPControl[7:0]
3.4.7.1 AOPLSR0 (OPL3 Emulation Channel Key On/Off
Trace Register)
Address: AudioBase + 60h
Size:
32 bits
Type:
Default:
Read Only
00000000h
Bit 8–0
1
Bank0 channel 8–0 key on/off event
captured.
Bit 13–9
1
OPL3 rhythm channel 4–0 key
on/off event captured
Bit 14
X
Reserved
0
Bank0
1
Bank1
1
Bank1 channel 8–0 key on/off event
captured
Bit 15
Bit 24–26
0: Input GPI[7:0] = GP_PIN[7:0]
1: Output GP_PIN[7:0] = GPO[7:0]
Bit 15..8 GPO[7:0]
Bit 7..0 GPI[7:0]
All reserved bits return 0 when read.
3.4.9 Wave Engine Register
These 128-byte registers can be accessed on AudioBase
(Audio I/O Base or Audio MEM Base).
64 voice channels are classified into two banks.
Bank A: channel 0–31 (optimized for MIDI)
Bank B: channel 32–63 (optimized for Wave, WDM Stream,
DirectX buffer, I2S, S/PDIF, MODEM, Handset, Recording,
Microphone, Main Mixer Capture, Reverb Send, Chorus
Send, AC97 SURR, AC97 CENTER/LFE)
Each channel in Bank A can only be programmed as a playback channel with individual EM (envelope modulation), individual LFO AM and individual LFO FM.
Channels in Bank B have more flexibility. Each of them can
be programmed as a Normal PB channel with global LFO
AM and LFO FM but without EM, or as a Special PB channel,
or as a REC channel, or as a REC_PB channel. Bit[31:19] of
RegEC_B is Channel ATTIBUTE.
(Whichbank) Read only
Bit 31–25
X
Reserved
All the flags will be cleared after this register is read.
3.4.8 S/PDIF & GPIO Register
This register can only be accessed on Audio Base (I/O or
MEM).
3.4.8.1 SPDIF_CS (S/PDIF Channel Status Register)
Address: AudioBase + 70h
Size:
32 bits
Type:
Read/Write
Default: 02000000h
Bit 0 (PRO) Professional flag
Hardwired to 0
Bit 1 (Audio) Audio content flag
3.4.9.1 STAR_A (START Command and Status Register
for Bank A)
Address: AudioBase + 80h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
This register and STOP_A are used as Bank A channel start/
stop command register when they are written, and used as
Bank A channel running/stopped status register when they
are read. Bit n is for channel n.
Reading from this I/O port will return the running/stopped
status of Bank A 32 voice channels.
Hardwired to 0
Bit 2 (Copy) Copyright
Read/Write, Default: 00b
Bit 5–3 (Emphasis)
Read/Write, Default: 000b
Bit 7–6 (Mode) Hardwired to 00b
Bit 15–8 (L & Category)
0: Stopped.
When bit n is read as ‘0’, it means any operation of channel
n, including address generation, sample data fetching, interpolation, and envelope calculation is stopped. And this channel has no contribution to the digital mixer.
This bit will be reset from ‘1’ to ‘0’ in four cases.
Read/Write, Default: 00h
Bit 19–16 (Source Num)
(1) when a ‘1’ is written to the corresponding bit in register
STOP_A .
(2) when out of data, i.e. when sample loop disabled and
CSO (Current Sample Offset) ≥ ESO (End Sample Offset).
when Ec (current envelope) drops down to −63.984375 dB.
when current envelope buffer is in delay-stop mode, and
EDLY count down to ‘0’.
Read/Write, Default: 0h
Bit 23–20 (Channel Num)
Read/Write, Default: 0h
Bit 27–24(Fs) Sample rate
Hardwired to 2h (48KHz)
Bit 29–28 (Clock Acc) Clock Accuracy
Read/Write, Default: 00b
1: Running.
When bit n is read as ‘1’, it means channel n is working.
Bit 31–30 Reserved
www.national.com
AudioBase + 7Ch
32 bits
Read/Write
00000000h
22
3.0 Register Description
Write ‘1’: set to ‘1’
When channel n is stopped, bit n will be reset to ‘0’.
(Continued)
This bit will be set from ‘0’ to ‘1’ only when a ‘1’ is written to
the corresponding bit in register START_A.
Writing to this I/O port means issuing a start command to address engine and envelope engine in expected channel.
3.4.9.5 CSPF_A (Bank A Current Sample Position Flag)
Address: AudioBase + 90h
Size:
Type:
Default:
0: Ignore.
A ‘0’ written to bit n will not change the status of channel n.
1: Start.
A ‘1’ written to bit n will start channel n’s address engine and
envelope engine and also set the status bit n to ‘1’.
This register will show a flag which indicates the Bank A’s
current sample is in a range between ESO/2 to ESO or in a
range before ESO/2 (ESO is offset from loop begin to loop
end). And this flag will be used for sample data double buffering control. Bit n is for channel n.
3.4.9.2 STOP_A (Channel STOP Command and Status
Register for Bank A)
0: Before ESO/2
1: From ESO/2 to ESO
Address: AudioBase + 84h
Size:
32 bits
Type:
Read/Write
When channel n is stopped, bit n will be reset to ‘0’.
3.4.9.6 CEBC (Current Envelope Buffer Control) (for
Bank A only)
Address: AudioBase + 94h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Reading from this register will return current envelope buffer
flags of 32 channels of Bank A, which indicate currently envelope engine is using parameters from EBUF1 or EBUF2.
Bit n is for channel n.
0: Buffer 1
1: Buffer 2
Writing ‘1’ to bit n of this register will toggle the flag in channel n and force envelope engine to change buffer. Writing ’0’
to bit n won’t change anything in channel.
0: Ignore
1: Toggle
Default: 00000000h
Reading from this I/O port will return the same value as from
the last register START_A.
Writing to this I/O port means issuing a stop command to address engine and envelope engine in expected channel.
0: Ignore.
A ‘0’ written to bit n will not change the status of channel n.
1: Stop.
A ’1’ written to bit n will stop channel n’s address engine and
envelope engine, and also reset the corresponding status bit
to ‘0’.
3.4.9.3 DLY (Delay Flag of Bank A)
Address: AudioBase + 88h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
When read, this register will show the delay status of each
channel of Bank A. Bit n is for channel n.
0: normal
This bit will toggle from ‘1’ to ‘0’ when envelope engine
change from a delay mode buffer to a non-delay mode
buffer. When channel n is stopped, bit n will be reset to ‘0’.
1: channel is currently in delay mode (address engine kept
stopped but envelope engine is running).
This bit will toggle from ‘0’ to ‘1’ only when envelope engine
begin to deal with a delay mode buffer.
When channel n is stopped, bit n will be reset to ‘0’.
3.4.9.7 AINT_A (Bank A Address Engine Interrupt)
Address: AudioBase + 98h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Any bits toggled from ‘0’ to ‘1’ will result in a IRQ.
Reading from this I/O port will return the address INT status
of Bank A’s 32 channels. Bit n is for channel n.
When write,
0: ignore (don’t change)
1: set to ‘1’
0: No INT
1: INT
This bit will be set in 2 cases:
When CSO (current sample offset) ≥ ESO (end sample offset), and ENDLP_IE (end of loop INT enable bit in Global
Control register) =1 and AINTEN_A bit n is set 1 for channel
n.
When CSO (current sample offset) ≥ ESO/2 (middle of
ESO), and MIDLP_IE (middle of loop INT enable bit in Global Control register) =1 and AINTEN_A bit n is set 1 for channel n.
3.4.9.4 SIGN_CSO (Sign bit of CSO) (for Bank A only)
Address: AudioBase + 8Ch
Size:
32 bits
Type:
Default:
32 bits
Read/Write
00000000h
Read/Write
00000000h
This register is used to store the sign bits of 32 channel’s
CSO of Bank A, with ‘0’ means current sample address is
greater than or equal to LBA(Loop Begin Address), while ‘1’
means current sample address is less than or equal to LBA.
This register can be programmed with an initial status and
will be updated by address engine.
Write ‘0’: ignore (don’t change)
Writing ‘1’ to bit n of this register will reset this bit.
0: Ignore.
A ‘0’ written to bit n will not change the status of this bit.
1: reset
23
www.national.com
3.0 Register Description
if(DMASNOOPCS_==0 & ADR[7:0] = 8 & Data_rdy_ == 0 &
StatusRDY==1)
(Continued)
A ‘1’ written to bit n will reset this bit.
StatusRDY = 0;
Bit 27 Test_loopback: This bit is used for wave engine loopback testing.
0: normal
3.4.9.8 EINT (Envelope Engine Interrupt Eegister) (for
Bank A only)
Address: AudioBase + 9Ch
Size:
32 bits
Type:
Read/Write
1: force recording engine get new data from playback FIFO
instead of aclink.
Bit 26 Debugging Mode
Default: 00000000h
Any bits toggled from ‘0’ to ‘1’ will result in a IRQ.
Reading from this I/O port will return the envelope INT status
of 32 channels of Bank A. Bit n is for channel n.
0: Normal
1: Chip is in Debugging Mode.
In Debugging Mode, 20 pins (including 8 pins of GPIO, 1 pin
of SPDIF, 6 pins of I2S and 5 NC pins) are used as output to
monitor 40 internal important signals.
0: No INT
1: INT
Detail in Appendix B.
Bit 25–24 EXPROM Map Mode
This bit will be set in 2 cases:
When envelope buffer toggled, and ETOG_IE ( envelope
toggle INT enable bit in Global Control register ) =1.
When Ec (current envelope) ≤ FFFh (−63.984375 dB), and
EDROP_IE (envelope dropping to −63.984375 dB INT enable bit in Global Control register) =1.
Writing ‘1’ to bit n of this register will reset this bit.
0: Ignore.
A ‘0’ written to bit n will not change the status of this bit.
1: reset
A ‘1’ written to bit n will reset this bit.
00: 000h–1FFh of EXPROM is mapped to AudioMemBase
800h–FFFh low 16 bits;
800h–9FFh of EXPROM is mapped to AudioMemBase
800h–FFFh high 16 bits;
01: 200h–3FFh of EXPROM is mapped to AudioMemBase
800h–FFFh low 16 bits;
A00h–BFFh of EXPROM is mapped to AudioMemBase
800h–FFFh high 16 bits;
10: 400h–5FFh of EXPROM is mapped to AudioMemBase
800h–FFFh low 16 bits;
C00h–DFFh of EXPROM is mapped to AudioMemBase
800h–FFFh high 16 bits;
11: 600h–7FFh of EXPROM is mapped to AudioMemBase
800h–FFFh low 16 bits;
E00h–FFFh of EXPROM is mapped to AudioMemBase
800h–FFFh high 16 bits.
Bit 23 EXPROM Dump Mode Enable
0: Disable
1: Enable
If enabled, EXPROM(4096x12bit) is mapped to AudioMemBase according to bit[25:24], i.e. the content of EXPROM
can be read out through AudioMem Read cycle.
Bit 22–21 Test mode bits
00: normal mode (chip works normally in this mode)
01: test mode 1
3.4.9.9 GC & CIR (Global Control & Channel Index)
Address: AudioBase + A0h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bits 31–30 are used to control Legacy Recording channel
when record to mono sample.
00: left
01: right
10: (left+right+1)/2
11: reserved.
Bits 29–28 are IO 0008-read handling control bits.
00: never assert StatusRDY
01: StatusRDY = DMATCReached
10: StatusRDY = DMATCReached | LegacyDRQ
11: in this case, handshaking with StatusWR and manipulation of return byte should been done.
StatusRDY keep ‘0’ when initialization.
If(StatusWR == 1) {
StatusRDY = 1;
if(DMAChannel==0) {
ReturnByte[7:0]=
10: test mode 2
11: test mode 3
The detail descriptions on test mode 1, 2, and 3 are given in
Appendix B.
Bit 20 Main Mixer Output Control
0 Main Mixer L/R → PCM L/R Output FIFO
1 Main Mixer L/R → MMC L/R Output Buffer
Bit 19 S/PDIF Out Control
0 S/PDIF L/R Output Buffer → S/PDIF L/R transmitter
1 PCM L/R Output FIFO → S/PDIF L/R transmitter
{InputByte[7:5], DMAR8[4], InputByte[3:1], DMAR8[0]};
}
Bit 18 I2S Out Control
0 I2S L/R Output Buffer → I2S transmitter
1 SURR L/R Output FIFO → I2S transmitter
else {
ReturnByte[7:0] =
{InputByte[7:6], DMAR8[5], InputByte[4],
Bit 17 PCMIN_B Mixing Enable/Disable
0 PCMIN_B Mixing Disable
InputByte[3:2], DMAR8[1], InputByte[0]};
}
}
www.national.com
1 PCMIN_B Mixing Enable
24
3.0 Register Description
Default: 00000000h
This register will control address engine interrupt for each
channel of Bank A. Bit n is for channel n.
0: disable address engine interrupt for channel n
(Continued)
Note: Controlled by PCMIN_SEL in Reg48h, either of Primary CODEC PCMIN slot or Secondary CODEC PCMIN slot will come into 3-level PCMIN_A buffer. And if PCMIN_B Mixing bit is enabled, the other slot will
come into 1-level PCMIN_B buffer and will be mixed into Main Mixer.
1: enable address engine interrupt for channel n
Bit 16 64-Channel Mode
0 Legacy Mode
3.4.9.11 MUSICVOL & WAVEVOL (Global Music Volume
& Global Wave Volume)
Address: AudioBase + A8h
Size:
32 bits
1 64-Channel Mode
Bit 15–10 is used for global control.
Bit 15 (EDROP_IE) is INT enable bit for current envelope
dropping to −63.984375 dB.
Type:
Read/Write
Default: 00008080h
MUSICVOL (Bit 3–16) is global music left/right volume in format of 6.2
0: disable
1: enable
Bit 14 (ETOG_IE) is INT enable bit for envelope buffer toggling.
0: disable
1: enable
Bit 13 (MIDLP_IE) is INT enable bit for middle of loop.
0: disable
1: enable
Bit 12 (ENDLP_IE) is INT enable bit for end of loop.
0: disable
1: enable
Bit 11 (UNDERUN_IE) is INT enable bit for playback underrun.
0: disable
1: enable
When playback FIFO is empty, if this bit is set as ‘1’, an IRQ
will be issued.
Bit 10 (OVERUN_IE) is INT enable bit for recording overrun.
0: disable
1: enable
When recording FIFO is full, if this bit is set as ‘1’, an IRQ will
be issued.
Bit 9 (Pause/Resume) is Pause/Resume command bit.
Read: 0: Engine hasn’t been paused yet.
1: Engine has been paused already.
Write: 0: Resume Engine.
1: Pause Engine.
When host writes ‘1’, this bit may not show ‘1’ immediately.
Engine will try to get paused as soon as possible. After engine has been paused already, this bit will be set to ‘1’. Once
host writes ‘0’, this bit will be reset to ‘0’ immediately and engine will work normally.
Bit 8 (RST_Stimer) is used to reset playback sample timer
counter.
Bit 23–16 music left volume
0 0 dB (no attenuation)
FFh −63.75 dB (mute)
Bit 31–24 music right volume
0 0dB (no attenuation)
FFh −63.75 dB (mute)
WAVEVOL (Bit 15–0) is global wave left/right volume in format of 6.2
Bit 7–0 wave left volume
0 0 dB (no attenuation)
80h –32 dB (default)
FFh −63.75 dB (mute)
Bit 15–8 wave right volume
0 0 dB (no attenuation)
80h –32 dB (default)
FFh − 63.75 dB (mute)
3.4.9.12 SBDELTA/DELTA_R (Sample Change Step for
Legacy Playback & Recording)
Address: AudioBase + ACh
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bit15–0 (SBDELTA/SBDELTA_R): SBDELTA: Fs/F48k in
4.12 format.
SBDELTA_R: F48k/Fs in 4.12 format.
Bit 31–16: Reserved.
3.4.9.13 MISCINT (Miscellaneous Int & Status)
Address: AudioBase + B0h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bit[7:0] (read only) are interrupt request bits. All of these six
bits form signal AUDIO_INT.
AUDIO_INT = PB_UNDERUN_IRQ | REC_OVERUN_IRQ |
SB_IRQ | MPU401_IRQ | OPL3_IRQ | ADDRESS_IRQ | ENVELOPE_IRQ | ST_IRQ | ACGPIO_IRQ
Bit 0 (PB_UNDERUN_IRQ) is playback FIFO underrun IRQ
bit. Active high.
Bit[0] = UNDERUN_IE & Bit[8].
When read, return 0;
write 1 will reset STimer.
Bits 5–0 (CIR) is the channel index which is used to select a
channel for access. 00h selects channel 0, 1Fh selects
channel 31, 3Fh selects channel 63.
All other bits are reserved.
3.2.9.10 AINTEN_A (Bank A Address Engine Interrupt
Enable)
Address: AudioBase + A4h
Size:
Type:
Bit 1 (REC_OVERUN_IRQ) is recording overrun IRQ bit. Active high.
Bit[1] = OVERUN_IE & Bit[9].
32 bits
Read/Write
25
www.national.com
3.0 Register Description
3.4.9.14 STAR_B (START Command and Status
Register for Bank B)
(Continued)
Bit 2 (SB_IRQ) is sound blaster IRQ bit. Active high.
Address: AudioBase + B4h
Size:
32 bits
Type:
Read/Write
Bit[2] = sbirq (signal from Legacy Audio block)
Bit 3 (MPU401_IRQ) is MPU401 IRQ bit. Active high.
Bit[3] = mpu401irq (signal from Legacy Audio block)
Default: 0000h
This register and STOP_B are used as Bank B channel start/
stop command register when they are written, and used as
Bank B channel running/stopped status register when they
are read. Bit n is for channel n.
Reading from this I/O port will return the running/stopped
status of Bank B 32 voice channels.
0: Stopped.
Bit 4 (OPL3_IRQ) is OPL3 timer IRQ bit. Active high.
Bit[4] = timerirq & opltimer_ie
Bit 5 (ADDRESS_IRQ) is Wave-table Address Engine IRQ
bit. Active high.
Bit[5] = ( | AINT_A[31:0] ) | ( | AINT_B[31:0] )
Bit 6 (ENVELOPE_IRQ) is Wave-table Envelope Engine IRQ
bit. Active high.
When bit n is read as ‘0’, it means any operation of channel
n, including address generation, sample data fetching, interpolation, and envelope calculation is stopped. And this channel has no contribution to the digital mixer. This bit will be reset from ‘1’ to ‘0’ in four cases.
(1) when a ‘1’ is written to the corresponding bit in register
STOP_B.
(2) when out of data, i.e. when sample loop disabled and
CSO (Current Sample Offset) ≥ ESO (End Sample Offset).
when Ec (current envelope) drops down to −63.984375 dB.
when current envelope buffer is in delay-stop mode, and
EDLY count down to ‘0’.
1: Running.
When bit n is read as ‘1’, it means channel n is working. This
bit will be set from ‘0’ to ‘1’ only when a ‘1’ is written to the
corresponding bit in register START_B.
Writing to this I/O port means issuing a start command to address engine and envelope engine in expected channel.
0: Ignore.
A ‘0’ written to bit n will not change the status of channel n.
1: Start.
A ‘1’ written to bit n will start channel n’s address engine and
envelope engine and also set the status bit n to ‘1’.
Bit[6] = | EINT[31:0]
Bit 7 (ST_IRQ) is Sample Timer IRQ bit. Active high.
Bit[7] = ST_IRQ_En | ST_TARGET_REACHED
Bit [9:8] (read/write) are current status bits of wave-table &
legacy audio engine.
Bit 8 (PB_UNDERUN) is playback FIFO underrun status bit.
Active high.
This bit will be set to ‘1’ if playback is running & FIFO is
empty & f48 clock is coming.
Bit 9 (REC_OVERUN) is recording overrun status bit. Active
high.
This bit will be set to ’1’ if recording is running & rec_req_ is
active & data_rdy haven’t come.
Bit 10 (mixer_underflow_flag) is a flag which indicates the result of mixer accumulator is less than 80000h.
This bit will be set to ‘1’ once accumulator underflows.
Write ‘1’ will clear this bit.
Bit 11 (mixer_overflow_flag) is a flag which indicates the result of mixer accumulator exceeds 7FFFFh.
This bit will be set to ‘1’ once accumulator overflows.
Write ‘1’ will clear this bit.
Bit 15 (ST_TARGET_REACHED) is a flag with ‘1’ indicates
STIMER counter has been equal to ST_TARGET.
This bit will be set to ‘1’ once STIMER counter is equal to
ST_TARGET.
Write ‘1’ will clear this bit.
Bit 16 (PB_24K_MODE) is playback 48k/24k mode control
bit.
0: (default) Wave engine drives sample to CODEC at 48 kHz
1: Wave engine drives sample to CODEC at 24 kHz (in this
mode, Delta should be programmed twice as that in 48Khz
mode).
Bit 17 (opltimer_ie) is OPL3 timer interrupt enable bit.
3.4.9.15 STOP_B (Channel STOP Command and Status
Register for Bank B)
Address: AudioBase + B8h
Size:
32 bits
Type:
Read/Write
Default: 0000h
Reading from this I/O port will return the same value as from
the last register START_B.
Writing to this I/O port means issuing a stop command to address engine and envelope engine in expected channel.
0: Ignore.
A ‘0’ written to bit n will not change the status of channel n.
1: Stop.
0: disable
1: enable
Bit 23 (ST_IRQ_En) is ST IRQ enable bit.
0: disable
1: enable
A ‘1’ written to bit n will stop channel n’s address engine and
envelope engine, and also reset the corresponding status bit
to ‘0’.
Bit 24 (ACGPIO_IRQ) is AC97 GPIO interrupt request.
ACGPIO_IRQ = Reg4Ch[1] & Reg4Ch[3] | Reg4Ch[2] &
Reg4Ch[4].
3.4.9.16 CSPF_B (Bank B Current Sample Position
Flag)
Address: AudioBase + BCh
All other bits are reserved bits.
Size:
Type:
Default:
www.national.com
26
32 bits
Read/Write
00000000h
3.0 Register Description
0 unsigned data format
(Continued)
1 signed data format
Bit 4
0 playback
This register will show a flag which indicates the Bank B’s
current sample is in a range between ESO/2 to ESO or in a
range before ESO/2 (ESO is offset from loop begin to loop
end). And this flag will be used for sample data double buffering control. Bit n is for channel n.
1 recording
Bit 3 sound blaster DMA loop enable control
0 loop disabled.
0: Before ESO/2
1: From ESO/2 to ESO
When channel n is stopped, bit n will be reset to ‘0’.
1 loop enabled.
Bit 2..0 LegacyCMD
000 stop: No any operation. No contribution to Digital Mixer
3.4.9.17 SBBL & SBCL (Sound Blaster Base Block
Length & Current Block Length)
Address: AudioBase + C0h
Size:
Type:
Default:
SBBL(Bit
001 run: Normal operation.
010 silent_DMA : SBCL will count; CA, CBC won’t count. No
data fetching. No interpolation. No contribution to Digital
Mixer
32 bits
Read/Write
00000000h
31–16) is sound blaster base block length
011 reserve
100 silent_SB : SBCL, CA & CBC will count as the same as
run mode. No data fetching. No interpolation. No contribution
to Digital Mixer
101 pause: SBCL, CA & CBC don’t change.
let SBALPHA unchanged, CACHE_HIT=1 drive current LD
(or LD_L, LD_R) to Digital Mixer
110 reserve
111 Direct_playback: SBCL, CA & CBC don’t change.
drive SBDD to Digital Mixer
All other bits are reserved bits.
SBCL(Bit 15–0) is current value of sound blaster block
length counter
If sound blaster DMA loop is enabled (SBCTRL[3]=1), every
time when SBCL changed from 0 to FFFFh, a INT will be issued, the contents of SBCL is reloaded from SBBL, and
DMA operation continues.
If sound blaster DMA loop is not enabled (SBCTRL[3]=0),
every time when SBCL changed from 0 to FFFFh, a INT will
be issued, the contents of SBCL is reloaded from SBBL, and
set LegacyCMD to 101(pause).
SBCTRL bit 7 is used to determine the counter operation
mode (byte count or word count). The counter is a count
down counter.
3.4.9.19 STimer (Playback Sample Timer)
Address: AudioBase + C8h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bit 31–0 (STimer) will show current state of the sample timer
counter which will count up every f48k clock and will be reset
when RST_Stimer bit being written. Active high.
3.4.9.18 SBCTRL & SBE2R & SBDD (Sound Blaster
Control)
Address:
AudioBase + C4h
Size:
32 bits
Type:
Read/Write
Default:
00000000h
Description SBE2R (Sound Blaster DMA Testing Byte Data
Register)
SBDD (Sound Blaster Direct Playback Date
Register)
SBCTRL (Sound Blaster Control)
SBE2R(Bit 31–24) is sound blaster DMA testing byte command data port (write only)
Any time after Bit 31–24 has ever been written, E2Status
(source from wave engine) will be set high. E2Status will be
cleared after the testing byte has been sent to the system location.
SBDD(Bit 15–8) is sound blaster direct mode playback data
port
SBCTRL(Bit 7–0) is legacy sound blaster voice in/out control
register
Bit 7
3.4.9.20 LFO_B And I2S_DELTA (Bank B Low
Frequency Oscillator Control)
Address: AudioBase + CCh
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bit 31–27 Reserved–Read Only 00000b
Bit 26–16 is used for Bank B LFO control.
Bit 26 (LFO_E_B) is Bank B LFO enable bit.
0: disabled
1: enabled
Bits 25–24 (LFO_R_B) is clock rate select of Bank B LFO
counter.
00: LFO counter clock rate is 48 kHz
01: LFO counter clock rate is 48 kHz/4
10: LFO counter clock rate is 48 kHz/16
0 8 bit data format
1 16 bit data format
11: LFO counter clock rate is 48 kHz/64
Bits 23–16 (LFO_INIT_B)is the initial value of the Bank B
LFO counter which will count down to 0 then reload.
Bit 6
0 mono
1 stereo
Bit 5
Bit 15–13 reserved.
Bit 12–0 (I2S_DELTA) (Read only) This register returns the
auto-detected DELTA of I2S input (fi2s/f48k).
27
www.national.com
3.0 Register Description
ALPHA — Sample interpolation coefficient (12
bits)
(Continued)
3.4.9.21 ST_TARGET (Sample Timer Target)
FMS — Frequency Modulation Step (4 bit)
Bits 31–16 (CSO) is the offset of current sample relative to
loop begin sample.
Bits 15–4 (ALPHA) is sample interpolation coefficient, which
stands for the linear interpolation ratio between current
sample and the next one.
Bits 3–0 (FMS) is Frequency Modulation Step.
Address: AudioBase + D0h
Size:
32 bits
Type:
Read/Write
Default: 00000000h
Bit 31–0 (ST_TARGET) is used to store a pre-set value.
Once STIMER counter reaches that value, an IRQ called
ST_IRQ will be issued if ST_IRQ_En = 1.
3.4.9.25 E4h (LBA) (for Bank A & Bank B)
This register can be accessed in index mode or direct access mode.
3.4.9.22 AINT_B (Bank B Address Engine Interrupt)
Address: AudioBase + D8h
Size:
Type:
Address:
32 bits
Read/Write
Default: 00000000h
Any bits toggled from ‘0’ to ‘1’ will result in a IRQ.
Reading from this I/O port will return the address INT status
of Bank B’s 32 channels. Bit n is for channel n.
0: No INT
1: INT
This bit will be set in 2 cases:
When CSO (current sample offset) ≥ ESO (end sample offset), and ENDLP_IE (end of loop INT enable bit in Global
Control register) =1 and AINTEN_B bit n is set 1 for channel
n.
When CSO (current sample offset) ≥ ESO/2 (middle of
ESO), and MIDLP_IE (middle of loop INT enable bit in Global Control register) =1 and AINTEN_B bit n is set 1 for channel n.
Writing ‘1’ to bit n of this register will reset this bit.
0: Ignore.
A ‘0’ written to bit n will not change the status of this bit.
1: reset
A ‘1’ written to bit n will reset this bit.
Size:
AudioBase + E4h (index mode) || Audio MEM
Base + 804h + 20h*CIR (direct access mode,
CIR: channel index)
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: Loop
Begin
Address
(31
bits)
&
CPTR — Cache Pointer (1 bit)
Bit 31 (CPTR) is reserved for internal use of cache control.
Bits 30–0 is the linear address of loop begin sample.
It should be word aligned when sample type is 16-bit Mono
or 8-bit Stereo; and should be double word aligned when
sample type is 16-bit Stereo.
3.4.9.26 E8h (ESO & DELTA) (for Bank A & Bank B)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + E8h (index mode) || Audio MEM
Base + 808h + 20h*CIR (direct access mode,
CIR: channel index)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: ESO — End Sample Offset (16 bits)
DELTA — Sample rate ratio (16 bits)
Bits 31–16 (ESO) is the offset of loop end sample relative to
loop begin sample.
Bits 15–0 (DELTA) is sample change step in format 4.12
(Four bits integer, 12 bits fraction), which stands for the frequency ratio: Fs/48 kHz, while Fs is the sum of sample rate
and pitch shifting rate.
3.4.9.23 AINTEN_B(Bank B Address Engine Interrupt
Enable)
Address: AudioBase + DCh
Size:
32 bits
Type:
Read/Write
Default: 00000000h
This register will control address engine interrupt for each
channel of Bank B. Bit n is for channel n.
3.4.9.27 ECh_A (Bank A LFO_CTRL & LFO_CT & FMC
& RVOL & CVOL) (Bank A Only)
This register can be accessed in index mode or direct access mode.
0: disable address engine interrupt for channel n
1: enable address engine interrupt for channel n
3.4.9.24 E0h (CS0 & ALPHA & FMS) (for Bank A & Bank
B)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + E0h (index mode) || Audio MEM
Base + 800h + 20h*CIR (direct access mode,
CIR: channel index)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: CSO — Current Sample Offset (16 bits)
Address:
AudioBase + ECh (index mode) || Audio MEM
Base + 80Ch + 20h*CIR (direct access mode,
CIR: channel index) (CIR < 32)
Size:
32 bits
Type:
Default:
Read/Write
XXXXXXXXh
Description: LFO_CTRL — Per Channel LFO Control (8 bit)
LFP_CT — Per Channel LFP working counter
(8 bits)
FMC — Per Channel FM control (2 bit)
RVOL — Reverb Send Linear Volume (7 bit)
www.national.com
28
3.0 Register Description
11 (REC_PB) Recording to system memory and playback to
mixer
This channel is a Recording channel which records sample
data to system memory and playback to Main Mixer in the
mean time. In this case, bit[29:26] is used to select recording
type; bit[25:24] is used to control how MONO sample is generated when recording; and bit[23:19] is used to enable/
disable individual functions.
Bit[29:26] Channel Type Select
(Continued)
CVOL — Chorus Send Linear Volume (7 bit)
Bit[31:28] (SIN) Sine wave value.
Bit[27] (SIN_S) sign bit of sine wave.
0: positive
1: negative
Bit[26] (SIN_D) SIN counter direction bit.
0: up
when Bit[31:30] is 00: (Normal PB)
xxxx reserved
when Bit[31:30] = 01: (Special PB)
1: down
Bit[25:24] (LFO_R) LFO counter clock rate select bits.
00: 48 kHz
0000 playback to MODEM LINE1 Output FIFO
0001 playback to MODEM LINE2 Output FIFO
0010 playback to PCM L/R Output FIFO
01: 48 kHz/4
10: 48 kHz/16
11: 48 kHz/64
Bit[23:16] (LFO_CT) LFO working counter.
0011 playback to HSET Output FIFO
0100 playback to I2S L/R Output Buffer
0101 playback to CENTER/LFE Output FIFO
0110 playback to SURR L/R Output FIFO
0111 playback to SPDIF L/R Output FIFO
other reserved
when Bit[31:30] = 1x: (REC or REC_PB)
0000 recording from MODEM LINE1 Input FIFO 0001
recording from MODEM LINE2 Input FIFO
0010 recording from PCM L/R Input FIFO
0011 recording from HSET Input FIFO
0100 recording from I2S L/R Input FIFO
0101 recording from MIC Input FIFO
0110 main mixer capture from PCM L/R Output FIFO
0111 main mixer capture from MMC L/R Output Buffer
1000 Reverb Send
1001 Chorus Send
other reserved
BIT[25:24]Special Playback Channel to FIFO data flow select / Recording to MONO control
When channel is in Special PB mode, this register is used to
select input source of a stereo playback slot pairs such as
PCM L/R, SURR L/R, CENTER/LFE, I2S L/R and SPDIF
L/R. The input source of L/R can be from one channel or can
be from two independent channels.
When channel is in REC or REC_PB mode, this register is
used to control how MONO sample is generated.
when Bit[31:30] = 00 (Normal PB)
xx never used
when Bit[31:30] = 01 (Special PB)
Bit[15:14] (FMC) FM modulation control bits.
00: FMA = (FMS * SIN) >> 3
01: FMA = (FMS * SIN) >> 2
10: FMA = (FMS * SIN) >> 1
11: FMA = (FMS * SIN) >> 0
Bit[13:7] (RVOL) Reverb Send Linear Volume
format: 1.6, 7Fh stands for 2x gain, 40h stands for no gain no
attenuation, 00h stands for mute.
Bit[6:0] (CVOL) Chorus Send Linear Volume
format: 1.6, 7Fh stands for 2x gain, 40h stands for no gain no
attenuation, 00h stands for mute.
3.4.9.28 ECh_B (Bank B ATTRIBUTE & FMC & RVOL &
CVOL) (Bank B Only)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + ECh (index mode) || Audio MEM
Base + 80Ch + 20h*CIR (direct access mode,
CIR: channel index) (CIR≥32)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: FMC — Per Channel FM control (2 bit)
RVOL — Reverb Send Linear Volume (7 bit)
CVOL — Chorus Send Linear Volume (7 bit)
Bit[31:19] (ATTRIBUTE) Channel attribute
Bit[31:30] PB/REC Select
00 (Normal PB) Normal playback
This is a normal playback channel in Bank B with Global Volume, Channel Volume, PAN, SRC, FM/AM features. In this
case, bit[29:19] doesn’t matter.
00 Channel L/R to FIFO L/R
In this case, channel is acting as a stereo channel, data flow
is like
Channel Left → FIFO Left
Channel Right → FIFO Right
01 (Special PB) Special playback
This channel can be one of several kinds of special playback
channels. Bit[29:26] is used to select special playback type;
bit[24:25] is used to select data flow from channel to FIFO;
and bit[23:19] is used to enable/disable individual functions.
10 (REC) Recording to system memory
01 Channel L to FIFO L
Data flow:
Channel Left → FIFO Left
10 Channel R to FIFO R
Data flow:
Channel Right → FIFO Right
This channel can be one of several kinds of recording channels. Bit[29:26] is used to select recording type; bit[25:24] is
used to control how MONO sample is generated when recording; bit[23] is used to enable/disable SRC; bit[22:19]
doesn’t matter.
11 reserved
29
www.national.com
3.0 Register Description
1: right.
Bits 29–24 is the attenuation value in format of 4.2. 3Fh
stand for mute.
Bits 23–16 (VOL) is channel volume attenuation in format of
5.3. 00h stands for 0 dB attenuation, FFh stands for mute.
Bits 15–12 are control bits.
(Continued)
when Bit[31:30] = 1x (REC or REC_PB)
00: left,
01: right
10: (left+right+1)/2
11: reserved.
Bit[23] SRC Enable
0 disable
Bit 15 selects 8/16 bit sample data
0: 8-bit data
1: 16-bit data
Bit 14 selects mono/stereo sample data
0: mono
1: stereo
1 enable
Bit[22] FM and AM Enable
0 disable
1 enable
Bit[21] PAN Enable
0 disable
1 enable
Bit 13 selects unsigned/signed sample data
0: unsigned
1: signed
Bit 12 is loop mode enable bit.
0: disable
1: enable
Bit 11–0 (Ec) is current envelope in format of 6.6 (Six bits integer and six bits fraction). 00h stands for 0 dB, FFh stands
for −63.984375 dB.
Bit[20] Channel Volume Enable
0 disable
1 enable
Bit[19] Global Volume Enable
0 disable
1 enable
Bit[18:16] reserved
Bit[15:14] (FMC) FM modulation control bits.
00: FMA = (FMS * SIN) >> 3
01: FMA = (FMS * SIN) >> 2
10: FMA = (FMS * SIN) >> 1
11: FMA = (FMS * SIN) >> 0
Bit[13:7] (RVOL) Reverb Send Linear Volume
format: 1.6, 7Fh stands for 2x gain, 40h stands for no gain no
attenuation, 00h stands for mute.
Bit[6:0] (CVOL) Chorus Send Linear Volume
format: 1.6, 7Fh stands for 2x gain, 40h stands for no gain no
attenuation, 00h stands for mute.
3.4.9.30 F0h_B (Bank B GVSEL & PAN & VOL & CTRL
& Bank A LFO_INIT)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + F0h (index mode) || Audio MEM
Base + 810h + 20h*CIR (direct access mode,
CIR: channel index) (CIR < 32)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: GVSEL — Global Volume Select (1 bit)
PAN — Positioning Attenuation (7 bits)
VOL — Volume Attenuation (12 bits)
CTRL — Control (4 bits)
LFO_INIT — Bank A per channel LFO counter
initial and reload value(8 bit)
Bit 31 (GVSEL) is global volume select bit.
0: select MUSICVOL
1: select WAVEVOL
Bits 30–24 (PAN) is Positioning attenuation control.
Bit 30 selects attenuated channel.
3.4.9.29 F0h_A (Bank A GVSEL & PAN & VOL & CTRL
& Ec) (for Bank A only)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + F0h (index mode) || Audio MEM
Base + 810h + 20h*CIR (direct access mode,
CIR: channel index) (CIR < 32)
Size:
Type:
32 bits
Read/Write
0: left,
1: right.
Bits 29–24 is the attenuation value in format of 4.2. 3Fh
stand for mute.
Default:
XXXXXXXXh
Description: GVSEL — Global Volume Select (1 bit)
PAN — Positioning Attenuation (7 bits)
VOL — Volume Attenuation (8 bits)
Bits 23–16 (LFO_INIT) is Bank A per channel LFO counter
initial and reload value.
CTRL — Control (4 bits)
Ec — Curent Envelope (12 bit)
Note: Any time when host write to RegECh[26:16] (LFO_CT), LFO_INIT
should be written with the same value.
Bits 15–12 are control bits.
Bit 31 (GVSEL) is global volume select bit.
0: select MUSICVOL
1: select WAVEVOL
Bits 30–24 (PAN) is Positioning attenuation control.
Bit 15 selects 8/16 bit sample data
0: 8-bit data
1: 16-bit data
Bit 14 selects mono/stereo sample data
Bit 30 selects attenuated channel.
0: left,
www.national.com
0: mono
1: stereo
30
3.0 Register Description
In this mode, the layout of this register is completely the
same as in DEC mode. Engine works in the same way except that the ramp direction is from −64 dB to 0 dB.
10: Delay mode
In this mode, bits 27–26 are used to select sub-mode:
(Continued)
Bit 13 selects unsigned/signed sample data
0: unsigned
1: signed
Bit 12 is loop mode enable bit.
00: Delay_hold
01: Delay_start
10: Delay_stop
0: disable
1: enable
Bit 11–0 (VOL) is channel volume attenuation in format of
6.6. 000h stands for 0 dB attenuation, FFFh stands for mute.
11: reserved
19–0 is used as EDLY which store the current state of a 20bit delay counter, bits 25–20 are of no use. Every 48 kHZ
clock, EDLY decrease 1. During all the time this buffer active,
Ec keep unchanged.
In Delay_hold sub-mode, when EDLY =00000h, engine will
toggle current buffer flag in global register CEBC.
In Delay_start sub-mode, when EDLY =00000h, engine will
reset DLY flag register.
In Delay_stop sub-mode, when EDLY =00000h, engine will
reset start/stop flag register.
11: Still mode
In this mode, Ec keep unchanged, buffer never toggle automatically. Only when CEBC is written, buffer may toggle.
3.4.9.31 F4h_A (EBUF1) (Bank A Only)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + F4h (index mode) || Audio MEM
Base + 814h + 20h*CIR (direct access mode,
CIR: channel index) (CIR < 32)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: Envelope Buffer 1
This register and next one provide envelope double buffer.
Bit 31–30 (AMS_H) is Amplitude Modulation Step High part.
Bits 29–28 (EMOD) define operation mode.
00: DEC mode (ramp from 0 dB to −64 dB)
In this mode, bits 7–0 of this register are used as ECNT
which stores current state of a 8-bit counter; bits 15–8 of this
register are used as EINIT which provides initial value of that
8-bit counter; bits 27–16 of this register are used as EAMT
which is the absolute ramping amount with range from 0 dB
to 63 and 63/64 dB. Every 48 kHz clock, ECNT decrease 1;
every time when ECNT=00h, it reload EINIT, EAMT decrease 1, and Ec decrease 1; every time when EAMT=00h,
envelope engine will toggle buffer flag in global register
CEBC.
01: INC mode ( ramp from −64 dB to 0 dB )
3.4.9.32 F8h_A (EBUF2) (Bank A Only)
This register can be accessed in index mode or direct access mode.
Address:
AudioBase + F8h (index mode) || Audio MEM
Base + 818h + 20h*CIR (direct access mode,
CIR: channel index) (CIR < 32)
Size:
32 bits
Type:
Read/Write
Default:
XXXXXXXXh
Description: Envelope Buffer 2
EBUF2 is totally as the same as EBUF1 except that bits
31–30 are AMS_L (Amplitude Modulation Step Low part).
4.0 Functional Description
DS100910-1
FIGURE 2. LM4560 Block Diagram
31
www.national.com
4.0 Functional Description
•
•
•
•
•
•
•
•
•
•
(Continued)
4.1 WAVE ENGINE
Feature:
•
•
64 voice synthesis
Each voice channel typically consumes 0.25% PCI bandwidth
•
8/16 bits, mono/stereo, unsigned/signed samples at arbitrary sample rate
•
•
•
Unlimited length of wave samples
Internal 26 bits computation, DAC driven up to 20 bits
Double buffering envelope curve
Pitch shifting
0–6 Hz low frequency oscillator
FM/AM modulation
Chorus, Reverb effect
Recording/Playback full-duplex
Main Mixer capture
Microphone channel capture
I2S interface
S/PDIF interface
Modem data rate conversion
DS100910-4
FIGURE 3. Testing Specification Standard
4.1.1 Scheduler
Wave engine process SRC (Sample Rate Conversion), EM (Envelope Modulation), FM (Frequency Modulation), AM (Amplitude
Modulation) and DM (Digital Mixing) channel by channel. A central controller called Scheduler will decide the processing sequence of up to 64 playback channels (including up to 10 special channels) and 1 legacy playback/recording channel.
To optimize PCI bus utilization, Scheduler decides each channel’s priority according to the following rules:
•
•
Legacy playback/recording channel always has the highest priority.
www.national.com
32
Channels which require PCI bus cycle, i.e. cache miss
channels, have higher priority.
4.0 Functional Description
•
(Continued)
• Channels which don’t require PCI bus cycle, i.e. cache hit
channels and I2StoMIX channel, have lower priority.
Channels which depend on other channel’s result, i.e.
Main Mixer Capture channel, Chorus Send channel and
Reverb Send channel, have the lowest priority.
Basically, all operation of one channel include address generation, data reading/writing, interpolation, per channel LFO, low frequency FM/AM, Envelope calculation, PAN, volume adjusting and mixer accumulation. We call it Channel Operation. After all
channel’s operation are done, the mixing result will be sent to FIFO. We call this Mixing Loop.
Before each Mixing Loop, Scheduler scans cache hit/miss flags of all active channels to decide the processing sequence of the
current Loop.
4.1.2 Address Engine
Address generation, data reading/writing, per channel LFO, low frequency FM and interpolation coefficient calculation are processed by Address Engine.
Terms:
CCI (6 bits) — Current Channel Index
CPTR (1 bit) — Cache Pointer
ESO (16 bits) — Ending Sample Offset (relative to loop begin sample)
CSO (16 bits) — Current Sample Offset (relative to loop begin sample)
CSO_SIGN (1 bit) — Sign bit of CSO
CAO (18 bits) — Current Address Offset (relative to loop begin address)
LBA (32 bits) — Loop Begin Address
CSA (32 bits) — Current Sample Address
FMS (4 bits) — Frequency Modulation Step
FMC (2 bit) — Frequency Modulation Control
SIN (4 bits) — current state of sin counter
FMA (8 bits) — Frequency Modulation Amount
BL (2 bits) — Burst read Length
DELTA (15 bits) — Sample increment number per 48 kHz clock (format 3.12)
ALPHA (12 bits) — Interpolation coefficient, i.e. fractional part of CSO
NEWCSO (16 bits) — the next CSO
NEWALPHA (12 bits) — the next ALPHA
The procedure of address engine is described as following:
(1) Load RegE0h // read FMS, CSO, ALPHA from ARAM
Load RegE4h // read LBA from ARAM
if (8 bit && MONO) CAO = CSO;
else if (16 bit && STEREO) CAO = CSO << 2;
else CAO = CSO << 1;
FMA = SIN*FMS;
(3) Load RegE8h // read ESO, DELTA, CPTR from ARAM
if(Cache miss)
{ // calculate address CSA = LBA + (CSO_SIGN==0) ? CAO : −CAO; // 32 bit addition }
BL is decided by CSA[1:0] and data_type[2:1];
(data_type[2:0] refers to bit[15:13] of channel register F0h)
BL
CSA[1:0]=00
CSA[1:0]=01
CSA[1:0]=10
CSA[1:0]=11
Data_type[2:1]=00
1
1
1
2
Data_type[2:1]=01
1
2
2
2
Data_type[2:1]=10
1
2
2
2
Data_type[2:1]=11
2
3
3
3
BL (Burst Length)
Update RegE8h with new CPTR
Update RegECh with new LFO_CTRL & LFO_CT
33
www.national.com
4.0 Functional Description
(Continued)
4.1.3 Envelope engine
Low frequency AM, Envelope calculation and PAN are processed by Envelope Engine.
Terms:
Ec (12 bits) — Current envelope value in format of 6.6
AMS_H (2 bits) — Higher 2 bits of AMS
AMS_L (2 bits) — Lower 2 bits of AMS
AMS (4 bits) — Amplitude Modulation Step in format of 0.004 (right aligned with Ec)
SIN (4 bits) — current state of sin counter
AMA (8 bits) — Amplitude Modulation Amount in format of 2.6
VOL (8 bits) — Volume Attenuation per channel in format of 5.3
GVSEL (1 bit) — Global volume select bit
MUSICVOL_L (8 bits) — global music volume attenuation Left (6.2)
MUSICVOL_R (8 bits) — global music volume attenuation Right (6.2)
WAVEVOL_L (8 bits) — global wave volume attenuation Left (6.2)
WAVEVOL_R (8 bits) — global wave volume attenuation Right (6.2)
Eva (12 bits) — Current envelope after Volume attenuation
ATTNU_L (8 bits) — Left attenuation.
ATTNU_R (8 bits) — Right attenuation.
PAN (7 bits) — Positioning Attenuation (4.2 with one select bit)
EL (12 bits) — Left channel envelope value after PAN(6.6)
ER (12 bits) — Right channel envelope value after PAN(6.6)
VL (12 bits) — Left channel volume after anti-log operation
VR (12 bits) — Right channel volume after anti-log operation
EMOD (3 bits) — Envelope operation mode
ECNT (8 bits) — Envelope ramp counter
EINIT (8 bits) — Initial value of ECNT
EAMT (12 bits) — Envelope ramp amount
EDLY (20 bits) — Envelope delay counter
CEBF (1 bit) — Current Envelope Buffer Flag
4.1.4 Interpolation & Volume Adjusting
This multiply-add block process interpolation & volume adjusting.
Terms:
D1 (16 bits) — Current sample data (in MONO mode)
D1_L (16 bits) — Current sample data Left (in Stereo mode)
D1_R (16 bits) — Current sample data Right (in Stereo mode)
D2 (16 bits) — Sample data next to D1 (in MONO mode)
D2_L (16 bits) — Sample data next to D1_L (in Stereo mode)
D2_R (16 bits) — Sample data next to D1_R (in Stereo mode)
D (16 bits) — Data after interpolation (in MONO mode)
D_L (16 bits) — Data after interpolation Left (in Stereo mode)
D_R (16 bits) — Data after interpolation Right (in Stereo mode)
VL (12 bits) — Dry volume (Left)
VR (12 bits) — Dry volume (Right)
CVOL(7 bits) — Chorus Send Volume
RVOL(7 bits) — Reverb Send Volume
VDl (signed 20 bits) — volume adjusted Dry data (left)
VDr (signed 20 bits) — volume adjusted Dry data (right)
CSDl (signed 17 bits) — Chorus Send data (left)
CSDr (signed 17 bits) — Chorus Send data (right)
RSDl (signed 17 bits) — Reverb Send data (left)
RSDr (signed 17 bits) — Reverb Send data ( right )
1) Data conversion:
www.national.com
34
4.0 Functional Description
(Continued)
If sample is stereo, there are two data inputs — D_L and D_R, if sample is mono, only one data input — D. All this data should be
converted to 16-bit signed format.
Conversion from unsigned data to signed data should be implemented by inverting the MSB.
Decimal
16-bit unsigned
16-bit signed
32767
FFFFh
7FFFh
2
8002h
0002h
1
8001h
0001h
0
8000h
0000h
−1
7FFFh
FFFFh
−2
7FFEh
FFFEh
−32768
0000h
8000h
conversion from unsigned data to signed data
Conversion from 8-bit data to 16-bit data should be implemented by scaling data range from [−128, 127] to [−32768, 32767], i.e.
adding eight ‘0’ to LSB.
Decimal
in
8-bit
unsigned
8-bit
signed
Decimal
out
16-bit
signed
127
FFh
7Fh
32512
7F00h
2
82h
02h
512
0200h
1
81h
01h
256
0100h
0
80h
00h
0
0000h
−1
7Fh
FFh
−256
FF00h
−2
7Eh
FEh
−512
FE00h
−128
00h
80h
−32768
8000h
conversion from 8-bit data to 16-bit data
4.1.5 Digital Mixer
There are three Digital Mixer — Main, Chorus and Reverb.
Terms:
ADl — (signed 26 bits) Main Mixer accumulator data (left channel)
ADr — (signed 26 bits) Main Mixer accumulator data (right channel)
CADl — (signed 23 bits) Chorus Mixer accumulator data (left channel)
CADr — (signed 23 bits) Chorus Mixer accumulator data (right channel)
RADl — (signed 23 bits) Chorus Mixer accumulator data (left channel)
RADr — (signed 23 bits) Chorus Mixer accumulator data (right channel)
(1) Main Mixer:
20-bit VDl, VDr should be expanded to 26-bit before addition.
Before ADl, ADr are sent to M_FIFO, 26-bit data should be converted to 20-bit with overflow and underflow consideration.
(2) Chorus Mixer:
17-bit CSDl, CSDr should be expanded to 23-bit before addition.
Before CADl, CADr are sent to C_FIFO, 23-bit data should be converted to 16-bit with overflow and underflow consideration.
17-bit RSDl, RSDr should be expanded to 23-bit before addition.
Before RADl, RADr are sent to R_FIFO, 23-bit data should be converted to 16-bit with overflow and underflow consideration.
4.1.6 LFO
LFO (Low Frequency Oscillator) is used to generate a low frequency sine wave, with which the sample wave is modulated in both
frequency domain and amplitude domain.
Each channel of Bank A has it’s own LFO, but all Bank B channels share one global LFO.
An 8-bit programmable counter (LFO counter) is employed for frequency control. It’s clock rate can be selected to be 48 kHz, 12
kHz, 3 kHz or 750 Hz .
A 4-bit incremental/decremental counter (SIN counter) is used to generate sine wave — sin[3:0] with one sign bit — SIN_S. Everytime an 8-bit LFO counter counts down to ‘0’, the SIN counter will count up or down once and the LFO counter will reload
LFO_INIT.
The SIN counter works like the following:
35
www.national.com
4.0 Functional Description
www.national.com
(Continued)
SIN[3:0]
SIN_S
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
A
0
B
0
C
0
D
0
E
0
F
0
E
0
D
0
C
0
B
0
A
0
9
0
8
0
7
0
6
0
5
0
4
0
3
0
2
0
1
0
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
A
1
B
1
C
1
D
1
E
1
F
1
E
1
D
1
C
1
36
4.0 Functional Description
(Continued)
SIN[3:0]
SIN_S
B
1
A
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
One cycle of SIN counter
4.1.7 Recording
A down sampling SRC is used for recording.
4.1.8 PCI Buffer/Sample Cache
PCI Buffer (or called Sample Cache) is a 128x32 bit SRAM which is designed to reduce consumption of PCI bus bandwidth. Each
wave channel has two double words of buffer. The playback channel uses it as a pre-fetch buffer, while the recording channel
uses it as a post-write buffer.
4.1.9 CODEC Buffer/Sample FIFO
Between the Wave Engine and the CODEC, there’s another SRAM (128x20 bit) called the CODEC Buffer (or the Sample FIFO)
which is for synchronization between wave engine and serial interface for optimization of PCI bus utilization.
This 128-word CODEC buffer is partitioned into several sections:
Section
Size
Address
Description
PLAYBACK
PCM_L Out FIFO
PCM Left Playback FIFO
PCM_R Out FIFO
PCM Right Playback FIFO
SURR_L Out FIFO
Surround Left Playback FIFO
SURR_R Out FIFO
Surround Right Playback FIFO
CENTER Out FIFO
Center Playback FIFO
LFE Out FIFO
LFE Playback FIFO
LINE1 Out FIFO
MODEM Line1 Output FIFO
LINE2 Out FIFO
MODEM Line2 Output FIFO
HSET Out FIFO
Handset Output FIFO
I2S_L Out Buffer
I2S Left Output Buffer
I2S_R Out Buffer
I2S Right Output Buffer
SPDIF_L Out Buffer
S/PDIF Left Output Buffer
SPDIF_R Out Buffer
S/PDIF Right Output Buffer
RECORDING
PCM_L In Buffer
PCM Left Recording Buffer
PCM_R In Buffer
PCM Right Recording Buffer
LINE1 In Buffer
Modem Line1 Input Buffer
LINE2 In Buffer
Modem Line2 Input Buffer
MIC In Buffer
Microphone Input Buffer
HSET In Buffer
Handset Input Buffer
REVERB_L SEND Buffer
Reverb Left Send Buffer
REVERB_R SEND Buffer
Reverb Right Send Buffer
CHORUS_L SEND Buffer
Chorus Left Send Buffer
CHORUS_R SEND Buffer
Chorus Right Send Buffer
37
www.national.com
4.0 Functional Description
(Continued)
Table CODEC Buffer Partitioning
4.1.10 Legacy Channel Playback/Recording
This function block is intended to emulate legacy DMA using PCI bus master engine.
All parameters used by this Legacy Channel are stored in register.
TABLE 1. LBL (Legacy Burst Length)
LBL CA[1:0]
00
01
10
11
SB_Data_type[2:1]=00
1
1
1
2
SB_Data_type[2:1]=01
1
2
2
2
SB_Data_type[2:1]=10
1
2
2
2
SB_Data_type[2:1]=11
2
3
3
3
LBL1 BA[1:0]
00
01
10
11
SB_Data_type[2:1]=00
1
1
1
1
SB_Data_type[2:1]=01
1
1
1
2
SB_Data_type[2:1]=10
1
1
1
2
SB_Data_type[2:1]=11
1
2
2
2
TABLE 2. LBL1 (Legacy Burst Length)
4.2 LEGACY AUDIO
The legacy Audio includes the SB Engine, OPL3 trapping, MPU-401 interface and Gameport.
4.2.1 SB Engine
4.2.1.1 Legacy SB ESP I/O Procedure
4.2.1.1.1 SB ESP Read Data Procedure
4.2.1.1.2 SB ESP Write Procedure
4.2.1.1.3 SB ESP Reset Procedure
4.2.1.1.4
4.2.1.1.5 Legacy SB Interrupt Acknowledge Procedure
4.2.1.2 Legacy Sound Blaster Compatible Digitized Sound Transfer Method
4.2.1.2.1 Direct Mode
SB ESP is programmed to do audio input/output on each command. All delay time is controlled by CPU delay loop or timer interrupt. Only 8-bit mono input/output is supported.
Input:
a. ESP_Write(20h)
b. Next 8-bit mono PCM = ESP_Read()
c. Wait until next sample time, go to a.
4.2.1.2.2 DMA Mode
•
Normal DMA Mode
SB ESP is programmed to make one transfer with a
specified block size. At the end of transfer, the SB ESP
www.national.com
38
4.0 Functional Description
Send the exit continuous command. The SB ESP will exit
continuous DMA mode at the end of current block and
terminate the transfer.
(Continued)
will generate an interrupt and wait for next command.
• Continuous DMA Mode
SB ESP is programmed to make continuous transfer to/
from CODEC. After each transfer of a specified block
size, the SB ESP will generate an interrupt and continue
the next transfer of the same block size after the interrupt
is acknowledged.
There are two ways to terminate continuous DMA mode
transfer.
Program the SB ESP to switch to normal DMA mode
transfer. At the end of the current DMA transfer, the SB
ESP will exit from continuous DMA mode and continue to
transfer using the specified normal DMA mode.
•
Special DMA Mode
Once SB ESP is in the special DMA mode, it will not accept any further commands or data until the DMA mode is
terminated by the following two methods:
Non-continuous special DMA mode will exit special DMA
mode automatically at the end of transfer.
For continuous special DMA mode, a SB ESP_Reset() is
needed to exit special DMA mode. The SB ESP_Reset()
will only stop special DMA transfer, all other parameters
remain the same.
4.2.1.3 Legacy Sound Blaster Compatible Digitized Sound Sampling Rate Setup
4.2.1.3.1
4.2.1.3.2 Set Sampling Rate By Time Constant
Time constant = 256d − (1,000,000d / (channel * sampling rate))
4.2.1.3.3 Set Sampling Rate By Sampling Frequency
Frequency = 4 kHz to 48 kHz, either mono or stereo
4.2.1.4 Legacy Sound Blaster Esp Engine Digital Audio Command Set
0xh Reserved
1xh Set Audio Output Mode for 8 Bit Playback
2xh Set Audio Input Mode for 8 Bit Recording
3xh Reserved
4xh Set Sample Rate and Continuos/Special DMA Block Length
5xh Reserved
6xh Reserved
7xh SB ADPCM Playback
8xh Output Silence
9xh 8 Bit Special DMA Mode Playback/Record
Axh Reserved
Bxh 16-Bit DMA Audio I/O
Cxh 8-Bit DMA Audio I/O
Dxh Control DMA and Speaker
Exh SB ESP Version and Diagnostic Test
Fxh SB ESP Test
All 8-bit SB ESP command is unsigned PCM playback/recording command except Cxh command.
All 8-bit SB ESP command is mono playback/recording command except command 14h, 1Ch , 9xh and Cxh
4.2.1.5 8-Bit Playback Only Command 1Xh
SB ESP uses SBMX0E.1 to do mono/stereo playback.
SBMX0E.1 = 0 for mono playback
1 for stereo playback
4.2.1.5.1 Command Bit Definition
Bit 30 Direct or Normal DMA Mode
1 Continuous DMA Mode
Bit 20 Direct Mode
1 DMA Mode
Bit 10 8-Bit Data PCM
1 Reserved
Bit 00 Normal
39
www.national.com
4.0 Functional Description
(Continued)
1 Reserved
4.2.1.5.2 Command 10h
Function: 8-bit direct mode playback
4.2.1.5.3 Command 14h
Function: 8-bit normal DMA playback
Length = number of bytes to be transferred - 1
SB ESP will generate an interrupt after the specified length of data has been transferred.
4.2.1.5.4 Command 16h/17h
Function: SB ADPCMDMA playback
Length = number of bytes to be transferred - 1
These two commands are not supported.
4.2.1.5.5 Command 1Ch
Function: 8-bit continuous DMA playback
SB ESP will generate an interrupt after each block length of data has been transferred.
4.2.1.5.6 Command 1Eh/1Fh
Function: SB ADPCMDMA playback
These two commands are not supported.
4.2.1.6 8-Bit Recording Only Command 2xh
SB ESP uses SBMX0E.1 to do mono/stereo recording.
SBMX0E.1 = 0 for mono recording.
1 for stereo recording.
4.2.1.6.1 Command Bit Definition
Bit 3
0 Direct Mode or Normal DMA Mode
1 Continuous DMA Mode
Bit 2
0 Direct Mode
1 DMA Mode
Bit 1 X reserved
Bit 0 X reserved
4.2.1.6.2 Command 20h
Function: 8-bit direct mode recording
4.2.1.6.3 Command 24h
Function: 8-bit normal DMA recording
Length = number of bytes to be transferred - 1
SB ESP will generate an interrupt after the specified length of data has been transferred.
4.2.1.6.4 Command 2Ch
Function: 8-bit continuous DMA recording
SB ESP will generate an interrupt after each block length of data has been transferred.
4.2.1.7 Set Sample Rate And Continuous/Special Dma Block Length Command 4xh
4.2.1.7.1 Command 40h
Function: Set Sample Rate by Time Constant
Time_Constant = 256d − (1,000,000d / (Channel * Sampling Rate))
Channel = 1 for mono or SB16 command, 2 for stereo of SBPRO command
www.national.com
40
4.0 Functional Description
(Continued)
4.2.1.7.2 Command 41h
Function: Set Playback Sample Rate by Frequency
Sampling Frequency = 4 kHz to 48 kHz, either mono or stereo
4.2.1.7.3 Command 42h
Function: Set Recording Sample Rate by Frequency
Sampling Frequency = 4 kHz to 48 kHz, either mono or stereo
4.2.1.7.4 Command 48h
Function: Set Block Length for Continuous and Special DMA
Length = number of bytes to be transferred - 1
SB ESP will generate an interrupt after the specified block length of data has been transferred.
4.2.1.8 SB ADPCM Playback Only Command 7xh
4.2.1.8.1 Command 72–77h
Function: SB ADPCM normal DMA playback
Length = number of bytes to be transferred - 1
These commands are not supported, the implemented SB ESP engine will behave like its normal operation except silent the output and do not perform the bus mastering operation.
4.2.1.8.2 Command 7A–7Fh
Function: SB ADPCM continuous DMA playback
These commands are not supported, the implemented SB ESP engine will behave like its normal operation except silent the output and do not perform the bus mastering operation.
4.2.1.9 Output Silence Command 8xh
4.2.1.9.1 Command 80h
Function: Silence Digital Audio for a Duration
Duration = number of sample rate count - 1
After the specified duration elapses, SB ESP will generate an interrupt. During silence period, SB ESP output middle range data
to CODEC (8000h).
4.2.1.10 Special DMA Playback/Recording Command 9xh
All special DMA mode use command 48h to set the transfer block size. The non-continuous special DMA mode will interrupt the
CPU at the end of the transfer block and wait for new command. Use SB ESP_Reset( ) to end the continuous special DMA, all
other parameters remain the same after the SB ESP_Reset( ).
SB ESP uses SBMX0E.1 to do mono/stereo playback.
SBMX0E.1 = 0 for mono playback
1 for stereo playback
MX0E.1 default value is 0 after power up reset or mixer reset
SB ESP uses command A0h/A8h to set mono/stereo recording state.
Mono recording after SB ESP command A0h
Stereo recording after SB ESP command A8h
Default recording state after power up reset or ESP_Reset() is mono.
4.2.1.10.1 Command Bit Definition
Bit 3
0 Special DMA Playback
1 Special DMA Recording
Bit 2 X reserved
Bit 1 X reserved
Bit 0
0 Continuous DMA
1 Non-Continuous DMA
41
www.national.com
4.0 Functional Description
(Continued)
4.2.1.10.2 COMMAND 90H
Function: 8-bit continuous special DMA playback
SB ESP will generate an interrupt after each block length of data has been transferred.
4.2.1.10.3 Command 91h
Function: 8-bit non-continuous special DMA playback
SB ESP will generate an interrupt after the specified block length of data has been transferred.
For non-continuous special DMA playback, every time when SB ESP receives the 91h command, SB ESP will use the block
length that most recently set by command 48h to begin the special DMA transfer.
4.2.1.10.4 Command 98h
Function: 8-bit continuous special DMA recording
SB ESP will generate an interrupt after the specified block length of data has been transferred.
4.2.1.10.5 Command 99h
Function: 8-bit non-continuous special DMA recording
SB ESP will generate an interrupt after the specified block length of data has been transferred.
4.2.1.11 16-Bit Audio Playback/Recording Command Bxh
4.2.1.11.1 Command Bit Definition
Bit 3
0 Playback
1 Recording
Bit 2
0 Non-Continuous DMA
1 Continuous DMA
Bit 1 X Reserved
Bit 0 X Reserved
4.2.1.11.2 Command B0h/B1h/B2h/B3h/B4h/B5h/B6h/B7h
Function: 16-bit audio playback
Mode
Bit 7..6 X reserved
Bit 5
0 mono
1 stereo
Bit 4
0 unsigned PCM (0–8000h–FFFFh)
1 signed PCM (8000h–0–7FFFh)
Bit 3..0 X reserved
Length = number of words to be transferred -1
For non-continuous DMA, SB ESP will generate an interrupt and terminate the DMA transfer after the specified length of data has
been transferred.
For continuous DMA, SB ESP will generate an interrupt after each specified block length of data has been transferred.
4.2.1.11.3 Command B8h/B9h/BAh/BBh/BCh/BDh/BEh/BFh
Function: 16-bit audio recording
Mode
Bit 7..6 X reserved
Bit 5
0 mono
1 stereo
Bit 4
0 unsigned PCM (0–8000h–FFFFh)
1 signed PCM (8000h–0–7FFFh)
www.national.com
42
4.0 Functional Description
(Continued)
Bit 3..0 X reserved
Length = number of words to be transferred -1
For non-continuous DMA, SB ESP will generate an interrupt and terminate the DMA transfer after the specified length of data has
been transferred.
For continuous DMA, SB ESP will generate an interrupt after each specified block length of data has been transferred.
4.2.1.12 8-Bit Audio Playback/Recording Command Cxh
4.2.1.12.1 Command Bit Definition
Bit 3
0 Playback
1 Recording
Bit 2
0 Non-Continuous DMA
1 Continuous DMA
Bit 1 X Reserved
Bit 0 X Reserved
4.2.1.12.2 Command C0h/C1h/C2h/C3h/C4h/C5h/C6h/C7h
Function: 8-bit audio playback
Procedure:
1. SB ESP_Write(C0h/C1h/C2h/C3h/C4h/C5h/C6h/C7h)
2. SB ESP_Write(Mode)
3. SB ESP_Write(Length.low)
4. SB ESP_Write(Length.high)
Mode
Bit 7..6 X reserved
Bit 5
0 mono
1 stereo
Bit 4
0 unsigned PCM (0–80h–FFh)
1 signed PCM (80h–0–7Fh)
Bit 3..0 X reserved
Length = number of bytes to be transferred -1
For non-continuous DMA, SB ESP will generate an interrupt and terminate the DMA transfer after the specified length of data has
been transferred.
For continuous DMA, SB ESP will generate an interrupt after each specified block length of data has been transferred.
4.2.1.12.3 Command C8h/C9h/CAh/CBh/CCh/CDh/CEh/CFh
Function: 8-bit audio recording
Mode
Bit 7..6 X reserved
Bit 5
0 mono
1 stereo
Bit 4
0 unsigned PCM (0–80h–FFh)
1 signed PCM (80h–0–7FFh)
Bit 3..0 X reserved
Length = number of words to be transferred -1
For non-continuous DMA, SB ESP will generate an interrupt and terminate the DMA transfer after the specified length of data has
been transferred.
For continuous DMA, SB ESP will generate an interrupt after each specified block length of data has been transferred.
43
www.national.com
4.0 Functional Description
(Continued)
4.2.1.13 8/16-Bit Audio Dma Operation Control Command Dxh
4.2.1.13.1 Command D0h
Function: Pause Non-Bx Type Command DMA Transfer
The DMA request is stopped after this command. Internal FIFO will continue running until the FIFO is empty (playback) or full
(record). The DMA request will resume after command D4h or any of new DMA command is captured by SB ESP. This command
is no use to Bx type command DMA transfer.
4.2.1.13.2 Command D1h
Function: Set Digital Audio On Status Flag for D8 Command
4.2.1.13.3 Command D3h
Function: Set Digital Audio Off Status Flag for D8 Command
Digital audio status flag is off after system reset or SB ESP_Reset().
4.2.1.13.4 Command D4h
Function: Resume Non-Bx Type Command DMA Transfer
The DMA request that is suspended by the command D0h is enabled again. The internal FIFO is working as usual. This command
is no use to Bx type command DMA transfer.
4.2.1.13.5 Command D5h
Function: Pause Bx Type Command DMA Transfer
The DMA request is stopped after this command. Internal FIFO will continue running until the FIFO is empty (playback) or full
(record). The DMA request will resume after command D6h or any of new DMA command is captured by SB ESP. This command
is no use to non-Bx type command DMA transfer.
4.2.1.13.6 Command D6h
Function: Resume Bx Type Command DMA Transfer
The DMA request that is suspended by the command D5h is enabled again. The internal FIFO is working as usual. This command
is no use to non-Bx type command DMA transfer.
4.2.1.13.7 Command D8h
Function: Get Digital Audio Status Flag
4.2.1.13.8 Command D9h
Function: Exit Current Bx Type Command Continuous DMA Transfer
Causes the SB ESP to finish the current block, then cease transferring. Use this command while the DMA is transferring the last
block of audio data from/to the SB ESP. SB ESP-Reset() or any of new DMA command should reset this flag.
4.2.1.13.9 Command DAh
Function: Exit Current Non-Bx Type Command Continuous DMA Transfer
Causes the SB ESP to finish the current block, then cease transferring. Use this command while the DMA is transferring the last
block of audio data from/to the SB ESP. SB ESP-Reset() or any of new DMA command should reset this flag.
4.2.1.14 SB ESP Version and Diagnostic Command Exh
4.2.1.14.1 Command E0h
Function: SB ESP Read/Write Diagnostic Test
4.2.1.14.2 Command E1h
Function: Get SB ESP Version Number
SB PRO Version 3.02
SB16 Version 4.02
Major Version = ASR5 (Default 04h)
Minor Version = ASR6 (Default 02h)
4.2.1.14.3 Command E2h
Function: DMA testing
www.national.com
44
4.0 Functional Description
(Continued)
E2h command is used to compute the subroutine’s starting address for digital sound playback or recording according to the dedicated algorithm. The resultant byte should be sent back to system memory via legacy DMA operation method (two bytes transferred in all). After E2h is received, ESP will be set busy if E2Status (source from wave engine) is set active.
4.2.1.14.4 Command E4h
Function: Send Test Byte for Command E8h
4.2.1.14.5 Command E8h
Function: Get Test Byte Sent by Command E4h
4.2.1.15 SB ESP Testing Command FXh
4.2.1.15.1 Command F2h
Function: Generate an interrupt for test
SB ESP will generate an interrupt immediately after this command.
4.2.1.15.2 Command F8h
Function: SB ESP data read test
4.2.1.16 Digitized Sound Data Format and Order
4.2.1.16.1 PCM Sound Data Format
Length
Format
8 Bit
Unsigned FFh
8 Bit
Signed
16 Bit
Unsigned FFFFh
16 Bit
Signed
Max. Value
Min. Value
0h
7Fh
Mid. Value
80h
80h
0h
0h
7FFFh
8000h
8000h
0h
4.2.1.16.2 PCM Sound Data Order
4.2.1.16.2.1 8-Bit Mono
N
N+1
N+2
N+3
N+4
PCM 0
PCM 1
PCM 2
PCM 3
PCM 4
4.2.1.16.2.2 8-Bit Stereo for 1xh and 9xh Type Command
2N
2N+1
2(N+1)+0
2(N+1)+1
2(N+2)+0
PCM 0.R
PCM 0.L
PCM 1.R
PCM 1.L
PCM 2.R
4.2.1.16.2.3 8-BIT STEREO FOR CXH TYPE COMMAND
2N
2N+1
2(N+1)+0
2(N+1)+1
2(N+2)+0
PCM 0.L
PCM 0.R
PCM 1.L
PCM 1.R
PCM 2.L
4.2.1.16.2.4 16-Bit Mono
2N
2N+1
2(N+1)+0
2(N+1)+1
2(N+2)+0
LOW
HIGH
LOW
HIGH
LOW
PCM 0
PCM 0
PCM 1
PCM 1
PCM 2
4N
4N+1
4N+2
4N+3
4(N+1)+0
LOW
HIGH
LOW
HIGH
LOW
PCM 0.L
PCM 0.L
PCM 0.R
PCM 0.R
PCM 1.L
4.2.1.16.2.5 16-Bit Stereo
4.2.1.17 Legacy Sound Blaster Mixer Register
The legacy SB mixer register are accessed through indirect addressing method, where the SBR4 stores the index of addressed
register and SBR5 stores the register content to be read/write. In the following description, MXxx represents a mixer register
whose index is xx.
45
www.national.com
4.0 Functional Description
(Continued)
All of the legacy sound blaster mixer register except MX80, MX81 and MX82 are implemented virtually using the opl3 emulation
RAM (512 bytes). Please refer to section 2.3 to get detailed description of the virtual implementation method.
The implemented MX80, MX81 are all read/write registers. Contents of MX80 and MX81 must be consistent with header 1 interrupt line configuration register. MX80 and MX81 can be accessed through AudioBase based port. MX82 is a part of the Audio interrupt status register.
4.2.1.18 Implementation Note For Legacy Sound Blaster Mixer
4.2.1.18.1
To ease our design and maintain the game compatibility on mixer volume set, writing to the legacy sound blaster mixer
register will set a dirty flag, and this flag will inform the software which one of the AC97 mixer should be updated and
then update it using AudioBase based programming port.
When any one of the SBPRO mixer registers (mixer index from 00h–2Fh) has been updated, a SBPRO volume update dirty flag
will be set at Audio Status Register ASR0.
When any one of the SB16 mixer registers (mixer index from 30h–4Fh) has been updated, a SB16 volume update dirty flag will
be set at Audio Status Register ASR0.
Any time when legacy sound blaster mixer is mixer-reset, a mixer soft-reset dirty flag will be set at Audio Status Register ASR0.
All the SB16 / SBPRO mixer register (index from 02h to 4fh) are implemented using part of the opl3 emulation RAM(512bytes).
Any of the unused RAM cell (mixer index above 48h) can be used as the scratch registers for specific purpose and that’s user
defined.
The AC97 internal mixer registers are accessed via another AudioBase based port. (See 4. AC 97)
Bit 3..0 16 level CD-Audio volume for left and right channel
Read
Bit 7..4 left CD-Audio volume
4.2.1.19 SBPRO Mixer Register
MX00 Mixer Reset
Write only
Any write to this port will reset MX00-MX4f to default value.
SB ESP_Reset() does not affect any of the mixer register.
When this port is written, a SB mixer soft-reset dirty flag will
be set in ASR0.
MX02 Master Volume
Default 808h
Write
Bit 7..4 reserved
Bit 3..0 16 level master volume for left and right channel
Read
Bit 7..4 master volume for left channel
Bit 3..0 master volume for right channel
MX04 Digital Audio Volume
Default 88h
Write
Bit 7..4 16 level left digital audio volume
Bit 3..0 right CD-Audio volume
MX0A Microphone Volume
Default 00h
Write
Bit 7..3 reserved
Bit 2..0 8 level microphone volume
Read
Bit 7..3 reserved
Bit 2..0 microphone volume
MX0C Digital Audio Input Control
Default 00h
Dummy read/write register
Bit 7,6 reserved
Bit 5
input filter enable
Bit 4
reserved
Bit 3
input filter high/low
Bit 3..0 16 level right digital audio volume
Read
Bit 7..4 left digital audio volume
Bit 3..0 right digital audio volume
Bit 2,1 input source
Bit 0
reserved
Input filter enable and input filter high/low are dummy read/
write bits for SB PRO compatibility.
MX06 Music Volume
Default 88h
Input filter enable: 0 - input low-pass filter on, 1 - off
Input filter high/low: 0 - low filter (3.2 kHz low pass), 1 - high
filter (8.8 kHz low pass)
Input source
Write
Bit 7..4 reserved
Bit 3..0 16 level music volume for left and right channel
Read
Bit 2 Bit 1
Bit 7..4 left music volume
Bit 3..0 right music volume
MX08 CD-Audio Volume
0
0
1
1
Default 00h
Write
Bit 7..4 reserved
MX0E Digital Audio Output Control
Default 00h
Bit 7,6 reserved
www.national.com
46
0
1
0
1
Microphone
CD-Audio
Microphone
External Line-In
4.0 Functional Description
Bit 5
Bit 7..3 32 level master left volume
Bit 2..0 reserved
(Continued)
output filter enable
0
mute
31
0 dB (maximum volume)
MX31 Master Right Volume
Bit 4..2 reserved
Bit 1
stereo switch
Bit 0
reserved
Default 90h
Read/Write
Bit 7..3 32 level master right volume
Output filter enable is dummy read/write bit for SB PRO compatibility.
Output filter enable: 0 - output low-pass filter on, 1 - off
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
Stereo switch: 1 - stereo output, 0 - mono output
Stereo switch is no use for SB ESP command Bxh and Cxh.
MX22 Master Volume
MX32 Digital Audio Left Volume
Default 90h
Read/Write
Bit 7..3 32 level digital audio left volume
Default 88h
Write
Bit 7..4 16 level master left volume
Bit 3..0 16 level master right volume
Read
Bit 7..4 master left volume
Bit 3..0 master right volume
MX24 Digital Audio Volume
Default 88h
Write
Bit 7..4 16 level left digital audio volume
Bit 3..0 16 level right digital audio volume
Read
Bit 7..4 left digital audio volume
Bit 3..0 right digital audio volume
MX26 Music Volume
Default 88h
Write
Bit 7..4 16 level music left volume
Bit 3..0 16 level music right volume
Read
Bit 7..4 music left volume
Bit 3..0 music right volume
MX28 CD-Audio Volume
Default 00h
Write
Bit 7..4 16 level CD-Audio left volume
Bit 3..0 16 level CD-Audio right volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
MX33 Digital Audio Right Volume
Default 90h
Read/Write
Bit 7..3 32 level digital audio right volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
MX34 Music Left Volume
Default 90h
Read/Write
Bit 7..3 32 level music left volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
MX35 Music Right Volume
Default 90h
Read/Write
Bit 7..3 32 level music right volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
MX36 CD-Audio Left Volume
Read
Bit 7..4 CD-Audio left volume
Bit 3..0 CD-Audio right volume
MX2E External Line Volume
Default 00h
Read/Write
Bit 7..3 32 level CD-Audio left volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
Default 00h
Write
Bit 7..4 16 level external line-in left volume
Bit 3..0 16 level external line-in right volume
Read
Bit 7..4 external line-in left volume
MX37 CD-Audio Right Volume
Default 00h
Read/Write
Bit 7..3 32 level CD-Audio right volume
Bit 2..0 reserved
Bit 3..0 external line-in right volume
4.2.1.20 SB16 Mixer Register
0
mute
31
0 dB (maximum volume)
MX38 External Line Left Volume
Default 00h
MX30 Master Left Volume
Default 90h
Read/Write
47
www.national.com
4.0 Functional Description
Bit 7 reserved
(Continued)
Bit 6 dummy read/write bit
Bit 5 music right enable
Bit 4 dummy read/write bit
Read/Write
Bit 7..3 32 level external line left volume
Bit 2..0 reserved
0
mute
Bit 3 external line right enable
Bit 2 dummy read/write bit
Bit 1 CD-Audio right enable
31
0 dB (maximum volume)
MX39 External Line Right Volume
Default 00h
Bit 0 microphone enable
0
mute
1
enable audio input
Read/Write
Bit 7..3 32 level external line right volume
Bit 2..0 reserved
MX3F Input Left Mixer Gain
Default 00h
Read/Write
0
mute
31
0 dB (maximum volume)
MX3A Microphone Volume
Default 00h
Bit 7,6
Bit 6
0
0
gain = 1
0
1
gain = 2
1
0
gain = 4
1
1
gain = 8
MX40 Input Right Mixer Gain
Default 00h
Read/Write
Bit 7,6 input right mixer gain control
Bit 5..0 reserved
Bit 7
Bit 6
0
0
gain = 1
0
1
gain = 2
1
0
gain = 4
1
1
gain = 8
MX41 Output Left Mixer Gain
Default 00h
Read/Write
Bit 7,6 4 level output left mixer gain
Bit 5..0 reserved
Bit 7
Bit 6
0
0
gain = 1
0
1
gain = 2
1
0
gain = 4
1
1
gain = 8
MX42 Output Right Mixer Gain
Read/Write
7
6
5
4
3
reserved
Bit 7
Read/Write
Bit 7..3 32 level microphone volume
Bit 2..0 reserved
0
mute
31
0 dB (maximum volume)
MX3B PC Speaker/Mono Input Volume
Default 00h
Read/Write
Bit 7,6 4 level PC Speaker/Mono input volume
Bit 5..0 reserved
0
mute
3
0 dB (maximum volume)
MX3C Output Mixer Control
Default 1Fh
Read/Write
Bit 7..5 reserved
Bit 4
external line left enable
Bit 3
external line right enable
Bit 2
CD-Audio left enable
Bit 1
CD-Audio right enable
Bit 0
microphone enable
0
mute
1
enable audio output
MX3D Input Mixer Left Control
Default 15h
Bit
Bit
Bit
Bit
Bit
input left mixer gain control
Bit 5..0
reserved
music left enable
dummy read/write bit
external line left enable
dummy read/write bit
Default 00h
Read/Write
Bit 7,6 4 level output right mixer gain
Bit 5..0 reserved
Bit 2 CD-Audio left enable
Bit 7
Bit 6
Bit 1 dummy read/write bit
Bit 0 microphone enable
0
mute
1
enable audio input
0
0
gain = 1
0
1
gain = 2
1
0
gain = 4
1
1
gain = 8
MX43 Microphone Automatic Gain Control (AGC)
Default 00h
MX3E Input Mixer Right Control
Default 0Bh
Read/Write
www.national.com
48
4.0 Functional Description
(Continued)
Read/Write
Bit
7..1
Bit 0
AGC disable
1
AGC enable
MX44 Treble Left Control
Default 80h
Read/Write
Bit 4
1
IRQ11 is used as legacy SB interrupt
line
Bit 3
1
IRQ10 is used as legacy SB interrupt
line
Bit 2
1
IRQ7 is used as legacy SB interrupt
line
Bit 1
1
IRQ5 is used as legacy SB interrupt
line
Bit 0
1
1
MPU-401 MIDI interrupt request
Bit 1
1
Sound Blaster Bx type command DMA
interrupt request
Bit 0
1
Sound Blaster Non-Bx type command
DMA interrupt request
SB ESP Address: 7h
Size: 8 bits
Type: Write Only For SB ESP
Read Only For Wave Engine
Default: 00h
Bit 7..0 testing byte that will be transferred to system location
specified by DMAR0–3.
After this register has ever been written, E2Status (source
from wave engine) will be set high. E2Status will be cleared
after the testing byte has been sent to the system location.
4.2.1.22.2.3 SBDMAC SB DMA Current Block Length Low
Byte
SB ESP Address: 0h
Size: 8 bits
IRQ9 is used as legacy SB interrupt
line
Only 1 bit of this register can be set 1 at any one time
Content of this register must be consistent with header 1 interrupt line configuration register.
MX81 Sound Blaster DMA Channel Setup Register
Default 00h
Read/Write
Bit
7..2
Bit 2
4.2.1.22 Interface With Wave Engine
4.2.1.22.1 Interfaced Register
All registers that physically implemented in wave engine are
addressed using the 3-bit wide address line and 8-bit wide
unidirectional data line initiated by Sound Blaster ESP Emulation Engine. These registers are considered to be the peripheral registers of implemented SB ESP engine.
4.2.1.22.2 SB ESP DMA Control Register
4.2.1.22.2.1 SBDMPD Direct Mode Playback Data Register
SB ESP Address: 6h
Size: 8 bits
Type: Write Only For SB ESP
Read Only For Wave Engine
Default: 80h
Bit 7..0 Direct Mode Playback Data
Any time after this register has ever been written, a DirectModePlay internal flag will be set by wave engine. This flag
will be cleared when ESPRESET is active or
LegacyDMARun is active. When this flag is active, the unsigned 8 bit PCM data will be output to AC-97 Codec.
4.2.1.22.2.2 SBE2R DMA Testing Byte Register
reserved (read as 1)
IRQ12 is used as legacy SB interrupt
line
reserved
0: no interrupt
1: interrupt triggered
4.2.1.21 SB16 Configuration/Status Register
MX80 Sound Blaster Interrupt Setup Register
Default 00h
Read/Write
1
1
Bit
7..3
Read/Write
Bit 7..4 16 level treble right control
Bit 3..0 reserved
MX46 Bass Left Control
Default 80h
Read/Write
Bit 7..4 16 level bass left control
Bit 3..0 reserved
MX47 Bass Right Control
Default 80h
Read/Write
Bit 7..4 16 level bass right control
Bit 3..0 reserved
Bit 5
Bit 0
legacy DMA channel 1 is used as
legacy SB DMA channel
MX82 Sound Blaster Interrupt Status Register
Default 00h
Read Only
Bit 7..4 16 level treble left control
Bit 3..0 reserved
MX45 Treble Right Control
Default 80h
Bit
7..6
1
legacy DMA channel 0 is used as
legacy SB DMA channel
Only 1 bit of this register can be set 1 at any one time
Content of this register must be consistent with CR1 on SB
DMA channel setup.
reserved
0
Bit 1
reserved (read as 0)
Type: Write Only For SB ESP
Read Only For Wave Engine
49
www.national.com
4.0 Functional Description
Bit 2..0 X legacy channel working mode
000 stop
001 run
(Continued)
Default: FFh
Bit 7..0 Low Byte of SB DMA Current Block Length Remained - 1
4.2.1.22.2.4 SBDMAC SB DMA Current Block Length High
Byte
SB ESP Address: 1h
Size: 8 bits
Type: Write Only For SB ESP
010 silent audio
011 reserved
100 silent DMA
101 pause
110 reserved
111 direct mode play
Read Only For Wave Engine
Default: 07h
4.3 SERIAL INTERFACE
4.3.1 AC-97 Interface
Bit 7..0 High Byte of SB DMA Current Block Length Remained - 1
4.2.1.22.2.5 SBDMAL SB DMA Base Block Length Low Byte
SB ESP Address: 2h
4.3.2 I2S Interface
4.3.3 S/PDIF
Size: 8 bits
Type: Write Only For SB ESP
Read Only For Wave Engine
4.4 POWER MANAGEMENT
Term:
Header standard PCI configuration space standard header
type 0
HIFW
host interface write
HRST H/W Reset on PCI bus
SRST S/W Reset
D0
Audio Device Run: DC97, AC97 and PCI INTF at
full power on state
D1
Audio Device Pause: DC97 clock off
D2
Audio Device Close: DC97 clock off, Inactivity
Timer running, AC97 clock is about to be turned off
D3hot Audio Device Clock Off: DC97 clock off, AC97 clock
off, PCI clock keep running
D3cold Audio Device Power Off: VCC is taken off.
Default: FFh
Bit 7..0 Low Byte of SB DMA Base Block Length - 1
4.2.1.22.2.6 SBDMAL SB DMA Base Block Length High Byte
SB ESP Address: 3h
Size: 8 bits
Type: Write Only For SB ESP
Read Only For Wave Engine
Default: 07h
Bit 7..0 High Byte of SB DMA Base Block Length - 1
SBDMAL, SBDMAC are byte count when SBCTRL Bit 7 is 0.
SBDMAL, SBDMAC are word count when SBCTRL Bit 7 is
1.
When SBDMAC changed from 0 to FFFFh, a SBBLOVER interrupt signal should be generated and sent to SB ESP engine. Also the SBDMAC is reload from SBDMAL.
4.2.1.22.2.7 SBCTRL SB DMA Running Mode and Data Format Register
SB ESP Address: 4h
Size: 8 bits
Type: Write Only For SB ESP
Read Only For Wave Engine
Default: 00h
4.4.1 Power Management for D0–D3 State
When at D0 state, DC97, AC97 and PCI INTF are running
normally. After power on reset, audio device is at D0 state.
Once enter D1 state, if DC_PM_EN_ (PM_CFG bit[1]) = 0,
clock of DC97 will be shut off and kept staying low after audio engine enters Pause or Stop state, i.e., Audio_clk will be
shut off when Audio_idle flag is set.
Once enter D2 state, DC97 clock will be turned off as the
same way as in D1 state. And also, the Inactivity Timer begins to count immediately.
When the counter expired (around 30 seconds later after enter D2 state), if Timer_PME_EN (PM_CFG bit[7]) = 1, a PME
will be issued; otherwise, no PME issued but PM_ST will be
set to 11b (D3) by chip.
Once enter D3 state, if AC_PM_EN_ (PM_CFG bit) = 0, the
bit clock of AC97 will be shut off after a H/W power down
command sequence through AC-link generated by DC97.
A one shot signal called ac97pm_pulse (generated by PM
logic) is used to inform DC97 to generate those power down
sequences.
Bit 7
0: 8 bit data format
1: 16 bit data format
Bit 6
0: mono
1: stereo
Bit 5
0: unsigned data format
1: signed data format
Bit 4
0: playback
1: recording
Bit 3
4.4.2 D0–D3 State Transition Table
0: stop running after current block length expired
1: continue running after current block length expired
www.national.com
50
Present
State
Next
State
State Change Way
D3cold
D0
HRST
D3hot
D0
SRST
4.0 Functional Description
Present
State
Next
State
(Continued)
State Change Way
D0
D1
HIFW
D2 or
D1
D0
HIFW
Present
State
Next
State
D0
D2
HIFW
D2
D3
HIFW or Inactivity Timer expires
D0
D3
HIFW
State Change Way
5.1.2 Timing
The timing descriptions of host interface signals. All signal’s transition edges are respected to the rising edge of PCICLK. The
setup time and hold time requirements are illustrated in Figure 4.
DS100910-5
FIGURE 4. Setup Time and Hold Time of All Signals
5.1.2.1 Slave Read/Write Timing
Slave read/write means that host performs I/O read/write operation to audio block while audio block acts as a bus slave. Data
transition occurs at the rising edge of PCICLK while both chip select signal and DATARDY are active. They are two-clock wait
states from chip select signal and DATARDY.
Timing diagram are printed into file: sl_io_rd.ps and sl_io_wr.ps .
5.1.2.2 Master Read/Write
There’s one clock wait state of IRDY which means: 1) IRDY can be asserted in 2 clocks after FRAME is asserted; 2) IRDY has
to be de-asserted for 1 clock after each of data transferring.
Timing diagram are printed into file: ma_mem_rd1.ps, ma_memrd2.ps, ma_mem_rd3.ps, ma_mem_wr2.ps and
ma_mem_wr3.ps.
51
www.national.com
Absolute Maximum Ratings (Note 1)
Output Voltage (VO)
Storage Temperature (TSTG)
Power Dissipation (PD)
Lead Temperature (TL)
(Soldering, 10 seconds)
If Military/Aerospace specified devices are required,
please contact the National Semiconductor Sales Office/
Distributors for availability and specifications.
Supply Voltage (VDD)
Input Voltage (VI)
−0.5V to 4.0V
−0.5V to 5.5V +0.5V
−0.5V to VDD +0.5V
−65˚C to +165˚C
1W
+200˚C
7.2 CAPACITANCE
TA = 0˚C to 70˚C, Vdd = 3.3V ± 5%, VSS = 0V (Note 2)
Symbol
Max
Units
CIN
Input Pin Capacitance
Parameter
Conditions
Min
Typ
10
pF
CICLK
Clock Input Capacitance
12
pF
CIO
I/O Pin Capacitance
f = 1 MHz
10
pF
CO
Output Pin Capacitance
f = 1 MHz
10
pF
Note 1: “Absolute Maximum Ratings” are those values beyond which the safety of the device cannot be guaranteed. They are not meant to imply that the devices
should be operated at these limits. The table of “Electrical Characteristics” specifies conditions of device operation.
Note 2: Capacitance limits are guaranteed by simulation but are not tested.
7.3 ELECTRICAL CHARACTERISTICS
TA = 0˚C to 70˚C, Vdd = 3.3V ± 5%, VSS = 0V
Symbol
Parameter
Conditions
VDD = 3.3V, VIL = 0.5V,
VIH = 2.4V, No Load
Min
Typ
Max
Units
20
35
50
mA
ICC
VDD Average Supply Current
VIH
Input High Voltage
1.65
5.5
V
VIL
Input Low Voltage
−0.5
1.0
V
3.2
3.4
V
1.65
Vdd
V
CORE (3.3V Only)
CVcc
Core Supply Voltage
I/O - 3.3V Signalling Environment
Vih
Input High Voltage
Vil
Input Low Voltage
Voh
Output High Voltage
Vol
Output Low Voltage
1.0
2.97
V
V
0.33
V
Gameport I/O DC Characteristic (for pull up resistor values of 2.5k to 10kΩ)
Vtranlh
For Schmitt trigger I/O, Input
voltage at trigger point (output is
Vcc/2
When input goes
from low to high
2.1
V
Vtranhl
For Schmitt trigger I/O, Input
voltage at trigger point (output is
Vcc/2
When input goes
from high to low
1.3
V
7.4.1 Timing Table
TA = 0˚C to 70˚C, Vdd = 3.3V ± 5%, VSS = 0V
Symbol
Parameter
Min
Max
Units
PCI Clock
Tcyc
CLK Cycle Time
30
Thigh
CLK High Time
14
16
ns
ns
Tlow
CLK Low Time
14
16
ns
Tskew
CLK Skew
−2
2
ns
Tcyc
ACCLK Cycle Time
72
Thigh
ACCLK High Time
36
45
ns
Tlow
ACCLK Low Time
36
45
ns
AC’97 Clock
www.national.com
52
ns
7.4.1 Timing Table
(Continued)
TA = 0˚C to 70˚C, Vdd = 3.3V ± 5%, VSS = 0V
Symbol
Parameter
Min
Max
Units
PCI Reset
Trst_low
RST# low time after power stable
Trst_clk
RST# low time after PCICLK stable
1
ms
100
µs
AC’97 Reset (Cold and Warm)
Trst_low
Trst2clk
ACRST_low time
ACRST_ inactive to ACCCLK
starts
Tsync_high ACSYNC high time
Tsync2clk
ACSYNC_ inactive to ACCCLK
starts
1
µs
162.8
ns
1
µs
162.8
ns
7.4.2 PCI Signals
PCI Inputs: AD31:0, CBE#3:0, FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, IDSEL#, PAR, GNT#
PCI Outputs: AD31:0, CBE#3:0, FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, IDSEL#, PAR, REQ#, INTA#
Point-to-Point Signals: REQ#, GNT#
Symbol
Parameter
Min
Max
Units
Tval_bus
CLK to PCI output Valid Delay_
bussed signals
2
11
ns
Tval_ptp
CLK to PCI output Valid Delay_
point to point signals
2
12
ns
Ton
PCI Output float to active
2
Toff
PCI Output active to float
28
ns
AD0:31
bus
Condition
ns
PCI Input set up time to CLK_
bussed signals
9
ns
Tsu
GNT
PCI Input set up time to
CLK_GNT#
12
ns
Tsu
REQ
PCI Input set up time to
CLK_REQ#
12
ns
PCI Input hold time from CLK
0
ns
Tsetup
Setup from edge of ACCLK
10
ns
Thold
Hold from edge of ACCLK
10
ns
Th
AC’97 Signals
53
www.national.com
LM4560 Advanced PCI Audio Accelerator
Physical Dimensions
inches (millimeters) unless otherwise noted
100-Pin Thin Plastic Quad Flatpak
Order Number LM4560VJD
NS Package Number VJD100A
LIFE SUPPORT POLICY
NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein:
2. A critical component in any component of a life support
1. Life support devices or systems are devices or sysdevice or system whose failure to perform can be reatems which, (a) are intended for surgical implant into
sonably expected to cause the failure of the life support
the body, or (b) support or sustain life, and whose faildevice or system, or to affect its safety or effectiveness.
ure to perform when properly used in accordance
with instructions for use provided in the labeling, can
be reasonably expected to result in a significant injury
to the user.
National Semiconductor
Corporation
Americas
Tel: 1-800-272-9959
Fax: 1-800-737-7018
Email: [email protected]
www.national.com
National Semiconductor
Europe
Fax: +49 (0) 1 80-530 85 86
Email: [email protected]
Deutsch Tel: +49 (0) 1 80-530 85 85
English Tel: +49 (0) 1 80-532 78 32
Français Tel: +49 (0) 1 80-532 93 58
Italiano Tel: +49 (0) 1 80-534 16 80
National Semiconductor
Asia Pacific Customer
Response Group
Tel: 65-2544466
Fax: 65-2504466
Email: [email protected]
National Semiconductor
Japan Ltd.
Tel: 81-3-5639-7560
Fax: 81-3-5639-7507
National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.