ATN-SB16 ATTENUATOR CONTROL

Version 2.10 - with STIM3A Output dB support

INTRODUCTION:

This ATN-SB16.ATN driver allows use of an SB16-family sound card as an attenuator only, ignoring its data aquisition and signal generation abilities. This allows an inexpensive sound card to be used as an attenuator in systems that otherwise use laboratory-type boards, which have no built-in attenuation controls.

NOTE that if you are using ATN-SB16 with STIM3A, the STIM3A Output dB control takes over to allow 0.01 dB resolution over the entire SB16 attenuator range. The ATN-SB16 control is then readout-only, showing the portion of the total attenuation due to the SB16 alone.

If you want to keep the controls separate, use the A:2 parameter on the STIM3A.GEN line in the DQA.CFG file.

This driver is not intended for use where the SB16 card is the main acquisition and signal generation device, since the SB16.ADC driver provides these functions.

Why not simply use the SB16.ADC driver for both acquisition and signal generation, and omit the laboratory-type boards completely? There are two main reasons: The first is that Sound Blasters are limited to the normal audio range. They don't allow sampling above 48 kHz, and they likewise can't generate signals at frequencies above half that (the Nyquist limit).

The second reason is that standard ISA Sound Blaster models can only produce 8-bit signals when they are acquiring 16-bit data, or vice-versa. (The CT417x models are exceptions: They can handle simultaneous 16-bit data in both directions.)

Additionally, the acquisition section has built-in filters for anti-aliasing, which are sometimes not wanted. Since this filtering is done in the DSP chip, not in the mixer, it doesn't affect operation as an attenuator. Most models thus have very good high-frequency response, well above the normal audio band. The Line output gives better response than the Speaker output, because it avoids the bandwidth limitations of the power amplifier.

Note, however, that there is still a low-frequency limit due to the normal AC-coupling of the inputs.

Various Creative Labs Sound Blaster models have differing mixer chip capabilities. This driver attempts to auto-detect the mixer type and use the appropriate functions.

In particular, most SB16/32/64 models (including AWE, etc) allow attenuator steps of 2 dB over a 138 dB range, whereas the CT417x (ViBRA 16X / WavEffects) models allow steps of 1.5 dB over a 90 dB range (plus Off).

This driver does not directly configure PnP (Plug 'n Play) cards. It reads the base address of the card from the BLASTER environment string, which should be set by a PnP configuration manager such as CTCM, or via a SET BLASTER= line in your AUTOEXEC.BAT FILE.

You can override this address via the A: parameter on the ATN-SB16.ATN line of the DQA.CFG file, but that doesn't actually change the card setting.

The A: parameter may be needed if you are using a second sound card, or you use another configuration manager that doesn't set the BLASTER string. You will then need to use another method to determine the base address of the card.

The control menu for this board is activated by CTRL-F10... think of "F10-uator" as a mnemonic.

ATTENUATOR PERFORMANCE (typical):

                   CT1740          CT3600          CT4170
                    SB16          SB32 PnP        ViBRA 16X
 Output:         Line   Spkr     Line   Spkr     Line   Spkr

 Max Input, Vpp:  2.7   3.3       3.0   3.0       2.3   3.8

 Unity Gain dB:  -18   -32       -18   -32       -12   -24

 Output Noise (broadband) at unity gain, RMS mV:
                0.18  0.27      0.12  0.18      0.25  0.50

 Frequency
 Response, kHz:
    -1 dB         60    12        29    12        90    75
    -3 dB        110    22        53    22      >140   125
    -6 dB       >140    35        90    35      >140  >140

 Left-Right Leakage, dB:
     1 kHz      >-73   -53      >-70   -54     >-73    -54
    20 kHz       -62   -49       -67   -58     >-73    -54
    40 kHz       -57   -50       -66   -63      -70    -56
    60 kHz       -55   -51       -66   -69      -69    -56
    80 kHz       -50   -52       -67  >-73      -71    -56
   100 kHz       -50   -53       -67  >-73     >-73    -58

NOTES:

  • Leakage measured as Right output re: 1 Vpp Left input, with both Left and Right attenuators set to unity gain. With Right attenuator set to Off, leakage typically decreases by an additional 20 dB.

  • Standard 6-foot mini-plug to RCA paired cables were used for input and output connections.

  • Broadband noise includes high-frequency components from video and other system sources. No attempt was made to shield the cards or try other ISA slots.

  • CT1740 thumbwheel set to maximum (fully DOWN) for all measurements.

  • Actual attenuation versus setting was very accurate for all models.

CONFIGURATION PARAMETERS:


PARAMETER OVERVIEW:

This driver allows you to specify certain parameters on the ATN-SB16.ATN line, which may be any line after the 4th in the DQA.CFG file. Each parameter is given as a letter and colon, followed immediately by a value. Use one or more spaces to separate parameters. For example:
    ATN-SB16.ATN    A:h220  S:C  U:D
The order of the parameters is not important.

Daqarta will read the BLASTER environment string, if it is present, and use that to set the Address. If the mixer chip uses a different address than the DSP, which is a possibility with PnP models, then the BLASTER string will also include an M value which Daqarta will use. Setting an A: value on the ATN-SB16.ATN line will cause that value to be used in preference to the equivalent BLASTER value. A special A:M parameter allows you to set a different mixer address.

For PnP cards, a configuration manager such as CTCM.EXE must appear in CONFIG.SYS or AUTOEXEC.BAT to configure the PnP card properly before Daqarta runs. This actually sets the physical address of the card, and without it the card is invisible to your system. CTCM also sets the BLASTER environment string.

You may need to override the BLASTER settings if there is more than one sound card in your system, since there will be only one BLASTER string in the environment. You can view the BLASTER string by entering SET at the DOS prompt.

On most systems, you can probably omit all parameters from the ATN-SB16.ATN line and just accept the BLASTER values and driver defaults when you are getting started. (Daqarta will exit with an error message if it finds conflicts.) Later you can add parameters for advanced features.

If you place the .ATN line too early in the DQA.CFG file, Daqarta will exit with:

 'Non-ADC module must not appear before 5th line of
     DQA.CFG file.'
You can check to see which parameters have been set, either via the configuration line or by default, by checking the board information summary available via the ALT-H Plug-In Help system.


A: ADDRESS:

Use this to tell Daqarta the base I/O address for your SB16 board.

You only need to give this parameter if the BLASTER string in your DOS environment is not correct. This normally appears as a SET BLASTER= line in AUTOEXEC.BAT for non-PnP cards. For PnP cards BLASTER is set by the CTCM configuration manager that may be invoked from either AUTOEXEC.BAT or from CONFIG.SYS. You can view all the strings in the environment by entering SET at the DOS prompt.

The A parameter in the BLASTER string must correspond to the base address of the card, whether set via jumpers on the card or by CTCM for a PnP card. The most likely reason for the BLASTER string being wrong is that you have more than one sound card installed, and the single BLASTER string is for another card.

If you do need to give the A: parameter here, note that all Daqarta parameters require a colon, and that you should use an 'h' prefix before hexadecimal values, as in:

 ATN-SB16.ATN    A:h240
Compare this to the BLASTER format, which would be just A240. The default address for ATN-SB16.ATN is hex 220, which will be used if there is no BLASTER string and no A: parameter.

Daqarta checks at the address given, and if it does not find a valid Sound Blaster-compatible board there it exits with a message giving the address it tried:

  'Sound Blaster 16/32/64 attenuator board not found at 0240h.'
The only exception is if you set A:0 to allow viewing of this board Help system without having a board installed or properly configured.

If it finds a board at the given address, Daqarta checks the DSP version number. The DSP is the Digital Signal Processing chip that controls the sampling process, but the version number is used here to indicate general mixer capabilities since there is no explicit mixer test. This driver requires DSP version 4.00 or above, which indicates a 16-bit model. If it is less than that, Daqarta will exit with a message telling you what was found and what was needed, as in:

    'Attenuator board found with DSP version 02.10.'
    'Requires Sound Blaster 16/32/64, version 4.00 or above.'

SEPARATE MIXER ADDRESS:

Sometimes PnP cards may be configured with the mixer functions in a different address range than the base (DSP) address given by the A: parameter (or the A parameter in BLASTER). In that case, the BLASTER environment will also have an M parameter present. This driver normally responds to that automatically, but if you have more than one card there will only be a single BLASTER string. If the card that you want to use with this driver is not the one in the string, and if it has a different mixer address, then besides giving the A: parameter you must also give an A:M parameter.

For example, if you want to use a card with a base address of 240h and a mixer address of 260h, you would give:

 ATN-SB16.ATN   A:h240   A:Mh260
Note the 'h' before the value to indicate hexadecimal. If you give an A: parameter but no A:M parameter, then the mixer address is assumed to be the same as the base address... the usual case.

PnP ADDRESS DETERMINATION:

PnP (Plug 'n Play) models don't use jumpers to select the base address. A special PnP configuration manager must be run first to set the address of the board, as well as the IRQ and DMA levels... there are no jumpers for these on the board.

The configuration manager does this via a cumbersome process involving a single pair of I/O ports through which any PnP device in the system may be queried as to its capabilities, and then appropriately configured. Prior to this, the board is "invisible" to your system.

There are two aspects of the PnP configuration that are important here:

  • Configuring the board with a configuration manager.
  • Determining what that configuration is, in order to set the ATN-SB16.ATN line of DQA.CFG properly. You will only need to do this if you have more than one sound card, and the PnP configuration manager does not set the BLASTER environment string for the one you want.

The normal Creative installation process should have provided a DOS Configuration Manager called CTCM.EXE, which will have been inserted into your CONFIG.SYS or AUTOEXEC.BAT file. (DWCFGMG.SYS is an alternate PnP manager that may be used in CONFIG.SYS, but it uses 1700 bytes of low DOS memory whereas CTCM does not, and doesn't set the BLASTER string in the DOS environment.)

If you have a Windows 9x system, it should be in your C:\WINDOWS\DOSSTART.BAT file. This is the file that is supposed to perform tasks similar to AUTOEXEC.BAT when you select 'Start ... Shut Down ... Restart in MS-DOS Mode'.

Some newer Creative CD-ROMs don't install CTCM.EXE on a Windows 9x system. Instead, each time Windows performs the 'Restart in MS-DOS Mode', it runs CTPNP.EXE. This will refuse to configure your board, reporting that your PnP configuration has changed and instructing you to run Windows again... endlessly.

In this case you must manually install CTCM.EXE from a DOS / Windows 3.1 setup. The problem is that even though there is a complete WIN31 installation directory present on the Creative CD, you can't install anything from it on a Windows 9x system! Creative is aware of this problem, but the best they can suggest for now is visiting their Website and downloading a 700 Kbyte file called CTCMBBS.EXE which has the entire set of Windows 3.1 files, from which you can select CTCM.EXE. At present, it's at:

http://www.soundblaster.com/creative/patches/ctcmbbs.exe

You might instead find a Windows 3.1 system to install your board in temporarily, and then just copy CTCM.EXE from that. Since CTCM.EXE is not board-specific, you could also use a copy from another system, even one with a different Creative PnP board.

Each time CTCM.EXE runs, it creates a little file called CTPNP.CFG in the directory it's invoked from. That would be the root directory if running from AUTOEXEC.BAT or CONFIG.SYS in a DOS system, or C:\WINDOWS if running from DOSSTART.BAT in Windows 9x.

CTPNP.CFG is a plain ASCII text file that can be viewed with any text editor or word processor. Look for a section that starts with the name of your board in brackets, such as:

 [SB16]
 Disable=0
 Csn=1
 CardId=CTL0044
 Serial=1001511f
 LogDev=0
 Port0=220
 Port1=330
 Port2=388
 Irq0=5
 Dma0=1
 Dma1=5

The first sound card listed is evidently the one used to set the BLASTER string. Enter SET at the command prompt to see all the environment strings. The above card would appear as:

 BLASTER=A220 I5 D1 H5
 
The environment will have only a single BLASTER line, even if you have more than one sound card in your system. If the card you want to use is not the one on the BLASTER line, you will need to locate its entry in CTPNP.CFG and use the Port0 value to set the A: parameter.

In the above example, Port0=220 translates to A:h220. (Don't forget the colon, or the 'h'!) All you would need is:

 ATN-SB16.ATN   A:h220
(Actually, you would not even need to give the A: parameter in this example, since hex 220 is the value Daqarta assumes.)

Since this card is used only as an attenuator, the IRQ and DMA settings are not used, only the base address.

Under rare circumstances, you may need to change the PnP settings used by CTCM in a DOS system. Creative provides the CTCU Configuration Utility for this purpose, which should have been installed in the same directory as CTCM. Use this with caution, and be sure to run the Test option to avoid conflicts with other hardware.


F: HELP FILE OMIT:

This driver normally attempts to load this associated Help file on start-up, and exits with an error message if it can't find it. Setting F:0 on the ATN-SB16.ATN configuration line tells the driver not to look for the file. You would probably only want to use this option if you are really short of DOS memory, since loading the Help file only increases memory use by a few hundred bytes for its separate link stack and directory. (The file itself shares the text buffer of the Main Help file.)

Note that ALL Help files, including main, can be omitted via an F:0 parameter on the INIT line (first line) of the DQA.CFG file. If this is present, no individual module Help will be loaded.


K: KEEPING OR CLEARING REGISTERS ON QUIT

(Non-PnP Models)

Sound Blasters have special on-board registers for IRQ and DMA settings that are not needed for attenuation control. This driver attempts to clear those registers, to prevent conflicts with IRQ and DMA usage by other boards.

The typical situation is where you are using Daqarta with a laboratory-type acquisition board like the DAS-16, and the Sound Blaster is serving as an attenuator. The IRQ and DMA channel that you select for the lab board must not conflict with the Sound Blaster, but if you are short on available settings that may be difficult. Since the Sound Blaster settings aren't needed for the attenuator, clearing them resolves the problem.

When you Quit Daqarta, these registers are normally restored, on the assumption that you may be using the Sound Blaster with software that needs these to be set. For example, you might wish to use the Sound Blaster as the acquisition board with Daqarta, instead of the lab board.

But on the other hand, you may wish to keep the Sound Blaster IRQ and DMAs disabled. This would be the case if you wanted to use the lab board with some software other than Daqarta. You can tell Daqarta to keep these settings clear by giving the K:0 parameter:

    ATN-SB16.ATN    K:0

PnP MODELS:

PnP models behave differently: The IRQ and DMA registers can only be written by the PnP configuration manager, which is normally done automaticaly at boot time. ATN-SB16.ATN can't disable those settings, so it doesn't need a K: parameter to restore them later.

Unfortunately, there is no standard utility available to disable selected parts of a PnP device, like only the IRQ and DMA settings, even though it is technically feasible. You must make sure that the Sound Blaster doesn't use the same IRQ and DMA settings as any other device, and change one or the other if there is a conflict.

The PnP configuration manager will do this automatically if both devices are PnP. Otherwise, you will need to use a special utility like ICU (Intel Configuration Utility) or CTCU (Creative Technology Configuration Utility) to tell the configuration manager about the other device so that it can adjust the PnP device to avoid conflicts.


O: OUTPUT OFFSET (0 dB Reference):

The 0 dB setting on an attenuator implies that the output and input are equal. (dB = 20 * log(Vout / Vin), so if Vout and Vin are equal, their ratio is 1 and the log of 1 is 0.)

But the various SB16/32/64 models have differing baseline gains, in addition to the attenuation, so in this case the 0 dB setting merely means "minimum attenuation" or "maximum output level". To actually have unity gain, you would need to increase the attenuation by the amount of this gain. Some typical unity gain values are shown in the Performance table.

The O: parameter allows you to specify up to 60 dB of offset in the control, to compensate for this baseline gain or simply to adjust levels to a convenient reference. So, for example, if you use:

    ATN-SB16.ATN    O:18
then when you set 0 dB you will actually be getting -18 dB relative to the full gain condition. The control range will then run from 0 to 120 dB before going to Off, instead of the 0 to 138 dB you would get with O:0.

O:18 is the standard default setting, since most models have 18 dB of switchable gain that is thereby simply avoided. If you need this extra gain, use a lower O: value. (Negative values are ignored.)

CT417x models (ViBRA 16X / WavEffects) don't have this switchable gain, and they have a shorter control range due to smaller step sizes (1.5 dB versus 2.0), so the default setting is O:0. But they do have a fixed gain of 12 dB for the Line output, so you could set O:12 to get rid of that. The control range would then run from 0 to 78 dB instead of 0 to 90.

All models have additional gain for the Speaker output, whether this is via a separate jack or a jumper selection. If you are using this output, you may want to use a larger O: value. (In general, the speaker output has reduced high frequency response, so you may want to avoid it if you need to work above the audio range.)


S: SOURCE PRESET (Line / CD):

At start-up, this ATN-SB16.ATN driver assumes you will be using the Line inputs as the signal source for the attenuator. You may toggle this between Line and CD at any time during operation via the menu control, but if you want to force the start-up default to CD you can do this with the S: parameter, as in:
 ATN-SB16.ATN    S:C

U: UP SCROLL PREFERENCE:

Many users naturally think of attenuation controls in the same sense as ordinary "volume" or "level" controls, where "up" always gives higher level output. This is the default setting for Daqarta attenuation modules. Level is shown in negative dB, so when you scroll up to get higher output you get less-negative dB values. Maximum output is at 0 dB.

Others prefer that "up" actually increase the attenuation, since that is the variable being controlled. You can tell Daqarta to use that convention via the U:1 parameter, as in:

    ATN-SB16.ATN    U:1
With this option the maximum output is still 0 dB, but now you must scroll DOWN to get to there from the starting Off (high attenuation) state. Attenuation is shown in positive dB.

This is simply a matter of personal preference.

Note that for direct entry, you never need to include a minus sign... it will be ignored if you do, regardless of which option has been chosen.


CONTROL MENU:


ATTENUATION CONTROLS:

Controls the dB setting of the indicated Left or Right channel.

NOTE that if you are using ATN-SB16 with STIM3A, the STIM3A Output dB control takes over to allow 0.01 dB resolution over the entire SB16 attenuator range. This ATN-SB16 control is then readout-only, showing the portion of the total attenuation due to the SB16 alone.

If you want to keep the controls separate, use the A:2 parameter on the STIM3A.GEN line in the DQA.CFG file.

If you have used the U:1 parameter option, then scrolling up will give increasing attenuation, which means less output. The default will give decreasing negative dB values as you scroll up, which means more output.

For direct entry, you never need to enter a minus sign.

The maximum attenuation and step size are determined by the Sound Blaster model. CT417x (ViBRA 16X / WavEffects) models have 1.5 dB steps up to 90 dB maximum, whereas other models have 2.0 dB steps up to 138 dB maximum.

If you enter or scroll to a value beyond the maximum attenuation, the display will show 'Off' and the output will be muted. In that case the total attenuation will be more than 120 dB.


SOURCE CONTROL:

This toggle control selects either the Line or CD inputs as the signal source for the attenuator. The default is Line, unless overridden by the S:C parameter. The Line setting is always shown with a highlight, and CD is not, to allow for quick verification of the desired setting.


 8-1-01     (Version 2.10)  Added support for STIM3A Output dB
            control, allowing 0.01 dB resolution over the full
            attenuator range.

 5-22-99    Initial release.

ATN-SB16.ATN INDEX:

NOTE: The actual Daqarta ATN-SB16.ATN index allows you to move through it by hitting the first letter of any entry. We apologize for this "dumbed-down" Web substitue: You may scroll through it as usual, select a letter from the following line, or simply use your browser's "Find" function to search this page.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A:

 Address Parameter A: 
 Address Parameter, Mixer A:M 
 Attenuation Control 
 Attenuation / Level Preference 

B:

 BLASTER String, and Base Address 

C:

 CD Input (S:C Parameter) 
 Configuration Parameters 
 Configuration Manager, PnP 
 Control Menu 

D:

 dB Control 
 dB Reference 

F:

 F: Parameter (Help File Omit) 
 Frequency Response 

H:

 Help File Parameter F: 

I:

 Input Level, Maximum 
 Introduction 

K:

 K: Keeping IRQ and DMA after Quit 

L:

 Leakage, Left-Right 
 Level, Maximum Input 
 Line/CD Input Preset S: 
 Line/CD Input Toggle 

M:

 Menu Controls 
 Mixer, Separate Address 
 Model Differences, Controls 
 Model Differences, Performance 
 Mute, Output 

N:

 Noise 

O:

 Output Offset Parameter O: 
 Overload, Input Level 

P:

 Parameters, Configuration 
 Performance 
 PnP Address Determination 

Q:

 Quit, Keeping IRQ and DMA After

R:

 Revision History

S:

 Scroll Direction Preference 
 Source Control 
 Source Preset (Line / CD) 
 Step Size, Attenuation 

U:

 Up Scroll Parameter U: 
 Unity Gain Attenuation 
 Unity Gain Offset Parameter O: 

V:

 ViBRA Control Range Differences 
 ViBRA Gain Offset 

W:

 Windows PnP Configuration 

Z:

 Zero dB Reference 

GO:

Questions? Comments? Contact us!

We respond to ALL inquiries, typically within 24 hrs.
INTERSTELLAR RESEARCH: Over 20 Years of Innovative Instrumentation
© Copyright 1999 - 2001 by Interstellar Research - tech@daqarta.com