Microelectronics | ISA AUDIO INTERFACE

Synopsis

As I previously said in the synopsis of the ISA I/O Interface project, I'd like to replace all of the industrially built ISA cards. In the meantime I have reconsidered my initial thoughts and I am a little bit unsure about the video and the network cards. They are very nice and while I'm pretty sure I can do a VGA card, I'm not so sure about the Ethernet one. But that's a different discussion altogether. Sure thing, an ISA audio interface card would make for another nice project. In other words: a Sound Blaster-compatible DIY card.

Here are the hardware specifications.

  • 16-bit Digital Audio COder/DECoder
  • OPL3 FM Synthesis
  • IDE CD-ROM Interface
  • Plug and Play (PnP) support
  • External EEPROM for custom configurations
  • Software MUTE switch
  • Minimal Glue Logic
  • ISA-board class construction

With this design I went for chips that are relatively easy to find, either new or salvaged from old ISA cards. In fact this card features a small number of chips altogether. Which is great by any means.

As always you can find the bill of materials (BOM) below after the schematics and the computer simulations of the final printed circuit board layouts. Talking about schematics, most of it is based on application notes and original datasheets. I did some quick reverse engineering of some existing SoundBlaster clones for knowing the MIDI and game port signaling circuits. Other than that, everything is straightforward. It might appear that the schematic is a bit crowded with parts. Especially passive components. As much as I tried to minimize this, I couldn't. The analog signal processing requires a bunch of operational amplifiers and related passive circuitry (filters, compensators, dividers, couplings, NFB, and so on).

The main motivation for building this audio interface ISA card is the fact that back in the early '90s I wanted a sound card (or Sound Blaster, as we all knew them back then anyway) so bad that I almost imagined the music and sounds of Wolfenstein 3-D when I was shooting enemies left and right. I ended up acquiring an ESS1868 AudioDrive based sound card. But that happened only somewhere around 1996 or 1997. To my surprise, it didn't cost that much anyway. To this point I remember the revelation that I had when I plugged the card in the 386 machine. I finally had a PC with sound capabilities. Then I had multiple sound cards over the years. In fact I lost track of them once they became an embedded feature on each and every mainboard. These days, however, I do have some experience in system design thus I decided to build one myself.

In fact, to be honest, my first contact with an audio card was when I heard an AZTECH 16 Sound Blaster clone back in 1994. It was surreal. I played Duke Nukem 2 and Wolfenstein 3-D ... with sound. Also Doom. Well this one actually enabled me to see computer games in a whole different way. The graphics and sounds were exceptional for that period of time. I like them even now. But that's another discussion.

Let's move on then.

This project is in its final stage.
Current iteration of ASSY. 2486-AIF-401 is VER. 1.1 REV. B
I decided to keep it a long time in review so that I can correct all errors and produce the -- expensive -- prototype PCB only once.

* * *

Laudatur ab his, culpatur ab illis. This project is provided as-is and is not for commercial purposes. It reflects my experimental work in microcomputer system design and should be treated as such. I release the schematic and circuit boards to the public for educational purposes. I did all this on my expense and in my free time. So if you like my work, please consider a donation.

Schematics

Fig. 1: Electrical Principial Schematic

Printed Circuit Boards

Fig. 2: Top Silkscreen

Fig. 3: Top Silkscreen

Fig. 4: Top Layer Printed Circuit Board

Fig. 5: Inner Bottom Layer Printed Circuit Board

Fig. 6: Inner Top Layer Printed Circuit Board

Fig. 7: Bottom Layer Printed Circuit Board

Fig. 8: Top Layer Printed Circuit Board - Simulation

Fig. 9: Bottom Layer Printed Circuit Board - Simulation

Bill of Materials (BOM)

The following list contains the parts that are required to assemble this ISA audio interface card.

ISA AUDIO INTERFACE
IdentifierValueQtyNotesMouser Number
Printed Circuit BoardASSY. 2486-AIF-4011VER. 1.1 REV. BOrder from OSHPark
IC1OPTi 82C9241Sound ControllerOrder from eBay
IC2Crystal CS4231A1Audio CodecOrder from eBay
IC3Yamaha YMF262M1OPL3 FM SynthesizerOrder from eBay
IC4Yamaha YAC5121Audio DACOrder from eBay
IC5, IC674ALS2452Octal Bus Transceiver595-SN74ALS245AN
IC7, IC9, IC10MC330783Operational Amplifier595-MC33078P
IC8MC341191Operational AmplifierOrder from eBay
IC11, IC12NE55342Operational Amplifier595-NE5534P
IC1393C56A1Serial EEPROM579-93C56A-E/P
IC14NJM21001Operational Amplifier513-NJM2100D
IC15UA78051Positive Regulator595-UA7805CKCS
T1, T22N39062Small Signal Transistor512-2N3906BU
T32N39041Small Signal Transistor512-2N3904BU
D1-D31N41483Small Signal Diode78-1N4148
C1-C17, C28, C30, C36, C38-C40, C49, C64, C66, C68, C70, C74, C95-C98100 nF / 50 V33MLCC80-C322C104M5R-TR
C18, C19, C22, C23, C26, C27, C42, C43, C47, C48, C51, C52, C56, C57, C72, C731 uF / 50 V16Film Capacitor505-MKS2B041001C00JS
C20, C21, C60, C61, C65, C67, C69, C71, C75, C81, C82, C93, C94, C100-C10710 uF / 25 V21Tantalum Capacitor80-T350E106M025AT
C24, C251.2 nF / 100 V2MLCC80-C315C122J1R
C292.7 nF / 50 V1MLCC80-C315C272K5R
C31, C34, C35, C37, C41, C50, C993.3 uF / 25 V7Tantalum Capacitor80-T350B335K025AT
C32220 nF / 50 V1MLCC80-C322C224J5R
C33470 pF / 50 V1MLCC80-C315C471K5R
C44, C53, C91, C921 uF / 35 V4Tantalum Capacitor80-T350A105K035AT
C45, C46, C54, C55, C62, C63, C76, C113, C11447 pF / 50 V9MLCC80-C315C470J5G
C58, C591.8 nF / 100 V2MLCC80-C315C182K1R
C77-C8027 pF / 100 V4MLCC80-C315C270G1G
C83-C8610 nF / 50 V4MLCC80-C315C103J5R
C87-C9051 pF / 25 V4MLCC80-C315C510K3G5TA
C108, C10947 uF / 16 V2Tantalum Capacitor80-T350J476M016AT
C110, C1111 nF / 50 V2MLCC80-C315C102F5G
C11222 pF / 50 V1MLCC80-C315C220J5G
C115-C118560 pF / 50 V4MLCC80-C315C561K5R7301
R1-R4, R20, R25, R37-R405.1 kΩ10Carbon Resistor291-5.1K-RC
R5, R6, R56-R591.5 kΩ6Carbon Resistor291-1.5K-RC
R7, R8, R11, R17, R18, R22, R2347 kΩ7Carbon Resistor291-47K-RC
R9, R10, R29, R308.2 kΩ4Carbon Resistor291-8.2K-RC
R12, R474.7 kΩ1Carbon Resistor291-4.7K-RC
R13, R35, R36, R41, R53, R6110 kΩ6Carbon Resistor291-10K-RC
R1416 kΩ1Carbon Resistor291-16K-RC
R15, R16, R48, R4947 Ω4Carbon Resistor291-47-RC
R19, R21, R24, R2622 kΩ4Carbon Resistor291-22K-RC
R27, R28680 Ω2Carbon Resistor291-680-RC
R31, R3218 kΩ2Carbon Resistor291-18K-RC
R33, R3475 Ω2Carbon Resistor291-75-RC
R423.3 kΩ1Carbon Resistor291-3.3K-RC
R43100 Ω1Carbon Resistor291-100-RC
R441.2 kΩ1Carbon Resistor291-1.2K-RC
R45, R462.2 kΩ2Carbon Resistor291-2.2K-RC
R50, R5133 Ω2Carbon Resistor291-33-RC
R52, R55, R601 kΩ3Carbon Resistor291-1K-RC
R54100 kΩ1Carbon Resistor291-100K-RC
RN1, RN29 x 4.7 kΩ2Bussed Resistor Network652-4610X-1LF-4.7K
RN34 x 1 kΩ1Bussed Resistor Network652-4605X-1LF-1K
RA14 x 2.2 kΩ1Resistor Array652-4608X-2LF-2.2K
L1-L22BL03RN222Ferrite Bead81-BL03RN2R1P1A
X124.576 MHz1Quartz CrystalHC-49/U-S24576000ABJB
X216.9344 MHz1Quartz Crystal695-HC49US-169-U
X314.31818 MHz1Quartz Oscillator520-TCH1431-X
F11.1 A1Resettable Fuse576-16R110BU
LED15 mm Red LED1CD Activity Indicator755-SLR-56VC3F
LED25 mm Green LED1Sowftare Configured Indicator755-SLR-56MC3F
IC Socket68-pin PLCC1IC2575-682444
IC Socket20-pin2IC5, IC6575-193320
IC Socket8-pin8IC7-IC14575-193308
REL1A-5W-K1Miniature DPDT Relay817-A-5W-K
JP1, JP2, JP53-pin Header3Jumper649-68001-203HLF
JP3, JP4, JP6, JP72-pin Header3Jumper649-68001-202HLF
J72-pin Header1Header649-68001-202HLF
J8, J9, J104-pin Header3Header649-68001-204HLF
J1-J43.5 mm Jack4Stereo, Switched490-SJ1-3545N
J515-pin Connector1Female D-Sub617-09682537612
J640-pin Connector1Header617-09185405324
ScrewScrewlock 4-40 UNC2For J5617-09670019941

Alternatively you can use the following link to the Mouser project that I created for this ISA card. It should make ordering of parts and removing typing faults pretty easy.

Mouser Project: ISA AUDIO INTERFACE

Lately I have observed that Mouser discontinued some of the parts in the list above. If you decide to build this project, then you need to find alternatives. It is out of my scope to maintain the correctness of the parts list above.

Assembly Instructions and Notes

Here is a list of things you need to pay attention to should you decide to build such ISA audio interface card.

  • Inspect the printed circuit board once you receive it. Normally OSHPark produces very good quality boards but one never knows. There must be absolutely no short circuits on the printed tracks. If the PCB is faulty then it can damage other ISA cards that you might install in the system.
  • Carefully observe polarity of the tantalum electrolytic capacitors on the silkscreen. I made sure there is no error on the printout. Tantalum capacitors will violently explode and burst in fire if mounted in reverse, possibly injuring you.
  • Take your time to solder all the components on the board. There are a lot of solder points and if you don't have patience in general, then this project might not be for you.
  • Use a temperature-controlled soldering station and quality solder. Take care not to leave solder bridges as any short circuit will most likely lead to failures.
  • In order to ease-up the PCB assembly, I would suggest mounting parts in the following order: OPTi 82C924, YMF262M, YAC512, diodes, resistors, quartz crystals, quartz oscillator, IC sockets, relay, resistor networks, MLCC capacitors, tantalum capacitors, film capacitors, LED, connectors, jumpers, pin headers, connectors, ferrite beads.
  • There is no need for a heatsink on the +5 V regulator. By design, the PCB actually acts as a big heatsink.
  • At the end, clean any flux residues with isopropyl alcohol.
  • In case you decide to experiment with option ROMs then make sure you configure the ROM address range accordingly. It must not interfere with other ROMs installed in the system.

Principle of Operation

This 16-bit audio interface is PC AT compatible by all means. That means all games and audio-manipulation software written originally for the PC AT platform will be fully compatible with this sound card.

The block diagram allows for a better understanding of the principle of operation.

Fig. 1: System Block Diagram

The sound card is controlled by the OPTi 82C924 sound controller integrated circuit. This chip has the following features.

  • ISA PC AT Bus Interface
  • Sound Blaster Pro-compatible Digital Audio Processor
  • MIDI Interface
  • Windows Sound System Interface
  • FM Synthesizer Interface
  • Wave Table Synthesizer Interface
  • Game Port Interface and Timing
  • Codec/Mixer Interface
  • CD-ROM Interface
  • Modem Interface
  • Software Programmable IRQ and DMA Selection
  • Power-Down Mode for reduced power consumption

The digital audio processor is the Crystal Semiconductor CS4231A chip. It has the following features.

  • 16-bit Audio Converters and On-chip Filtering for Record and Playback
  • Windows Sound System-compatible Codec
  • ADPCM Compression/Decompression
  • MPC Level 2-compatible Mixer
  • Dual DMA Registers for Full Duplex Operation
  • On-chip FIFO for Higher Performance
  • Selectable Serial Audio Data Port

The Adlib-compatible sound section is centered around the Yamaha YMF262 FM synthesis chip. It has the following features.

  • Register Compatibility with OPL2 FM Sound Source
  • Up to six sounds can be used as four-operator melody sounds
  • 18 simultaneous melody sounds and six two-operator melody sounds, or six four-operator melody sounds, three two-operator melody sounds and five rhythm sounds
  • Eight selectable waveforms
  • 4 channel sound output
  • LFO for vibrato and tremolo effects
  • Two programmable timers

The complete FM synthesis chain is completed by the YAC512 digital to analog converter (DAC).

The above specifications appear to be complicated. And they probably are. From my point of view, I am only interested in interconnecting all these components into a usable ecosystem that would enable sound for the games of the '90s.

CD-ROM interface is constructed along two octal bus transceivers and the 82C924 CD-ROM control signaling.

Interface Connectors Description

Following are described all the interface connectors and their respective pinouts.

INTERFACE CONNECTORS DESCRIPTION
IdentifierValueNotesPinout
J1AUXAuxiliary Input1 - Ground
2 - Right Channel Input
3 - Switched Ground
4 - Switched Ground
5 - Left Channel Input
J2MICMicrophone Input1 - Ground
2 - Right Channel Input
3 - Switched Ground
4 - Switched Ground
5 - Left Channel Input
J3LINE-INLine Input1 - Ground
2 - Right Channel Input
3 - Switched CD-ROM Right Channel Input
4 - Switched CD-ROM Left Channel Input
5 - Left Channel Input
J4LINE-OUTLine Output1 - Ground
2 - Right Channel Output
3 - Switched Ground
4 - Switched Ground
5 - Left Channel Output
J5GAME/MIDIGame/MIDI Port1 - VCC
2 - /B1 (Button 1)
3 - X1 (X-axis, J#1)
4 - Ground (Button 1)
5 - Ground (Button 2)
6 - Y1 (Y-axis, J#1)
7 - /B2 (Button 2)
8 - VCC
9 - VCC
10 - /B3 (Button 3)
11 - X2 (X-axis, J#2)
12 - MIDI Transmit Data
13 - Y2 (Y-axis, J#2)
14 - /B4 (Button 4)
15 - MIDI Receive Data
J6IDE CD-ROMIDE CD-ROM Interface1 - /RESET
2 - VSS
3 - CDD7
4 - CDD8
5 - CDD6
6 - CDD9
7 - CDD5
8 - CDD10
9 - CDD4
10 - CDD11
11 - CDD3
12 - CDD12
13 - CDD2
14 - CDD13
15 - CDD1
16 - CDD14
17 - CDD0
18 - CDD15
19 - VSS
20 - NC
21 - NC
22 - VSS
23 - /XIOW
24 - VSS
25 - /XIOR
26 - VSS
27 - I/ORDY (disableable)
28 - NC
29 - NC
30 - VSS
31 - IRQ15 (disableable)
32 - /I/OCS16
33 - CA1
34 - NC
35 - CA0
36 - CA2
37 - /XCS
38 - /XACK
39 - /CDACT
40 - VSS
J7CDACTCD Activity LED1 - LED Cathode
2 - LED Anode
J8SPK INPC-Speaker Input1 - Speaker Data Input
2 - NC
3 - Ground
4 - NC
J9SPK OUTPC-Speaker Output1 - Positive Output
2 - Negative Output
3 - Positive Output
4 - Negative Output
J10CD-ROM INCD-ROM Input1 - Left Channel Input
2 - Ground
3 - Ground
4 - Right Channel Input

ISA Card Configuration

I have provided some basic card configuration options under the form of jumpers.
The star (*) symbol signifies the default option.

ISA CARD CONFIGURATION
IdentifierValueNotesConfiguration
JP1CLOCKSound Controller Clock1-2: ISA
2-3: Internal (*)
JP2MICMicrophone1-2: Stereo (*)
2-3: Mono
JP3CONFIGCard ConfigurationCL: EEPROM
OP: Software (*)
JP4MODEOperating ModeCL: Non Plug and Play
OP: Plug and Play (*)
JP5MUTELine Output Muting1-2: Disabled (*)
2-3: Software
JP6I/ORDYI/O Ready SignalCL: Enabled
OP: Disabled (*)
JP7IRQ15Interrupt Request 15CL: Enabled
OP: Disabled (*)

Construction and Pictures

The PCBs have arrived from the Factory. Now on to the assembly procedure. As with all large PCBs, the pictures present a certain amount of barrel distortion. I took them with my Nokia 6.1 mobile phone.

This is the bare 4-layer PCB.

Details. The soldermask has small random optical defects. Thankfully most of them will be obscured by parts.

More details. I like the way the layout looks.

Let's align the audio controller on the SMD pads.

Sound controller is soldered in. Yamaha LSI chips are soldered as well. I used the same DIY solder-drag method and as always it gives good results.

Small signal diodes are the first non-SMD parts that I soldered.

All resistors are soldered in place.

More parts are soldered.

MLCC and tantalum capacitors are now in place.

Miscellaneous parts were soldered.

Film capacitors and interface connectors are in position.

I finished planting all the parts. Then I inserted all ICs in their appropriate sockets.

Very high quality operational amplifiers for line outputs.

I am waiting for some CS4231A-KL that I bought from eBay. In the meantime I am using an Analog Devices AD1845JP chip. And it works perfectly.

CD-ROM interface. I am eager to test this at some point but I need to find an IDE CD-ROM somewhere. I know I have one. Hope it still works.

Most -- if not all -- CD-ROM devices don't have the activity /DASP signal wired to the connector. But I provided an LED for that too. I might just route the output from the CD-ROM frontal LED to the 40-pin IDE connector, in the drive itself. But we will see about this.

High quality Panasonic ECQ series film capacitors are used for audio coupling purposes.

Software configured LED looks nice for sure. But I have to write my own drivers for it or it won't ever light up. That is a project for the winter, or some rainy days -- er, weeks.

The finished audio interface.

Next I tested the sound card. It worked from the first try. The ISA-PnP routines correctly detect this card as a generic OPTi sound card. The noise floor is very low. The sound is great! Heavy and clean.

Versions and Revisions

This section lists the project version and revision history.

VER. 1.1 REV. B

  • Fully functional initial production version

Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A