TLV320AIC23EVM User`s Guide

User’s Guide
June 2001
Digital Audio Products
SLEU003
IMPORTANT NOTICE
Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue
any product or service without notice, and advise customers to obtain the latest version of relevant information
to verify, before placing orders, that information being relied on is current and complete. All products are sold
subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those
pertaining to warranty, patent infringement, and limitation of liability.
TI warrants performance of its products to the specifications applicable at the time of sale in accordance with
TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary
to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except
those mandated by government requirements.
Customers are responsible for their applications using TI components.
In order to minimize risks associated with the customer’s applications, adequate design and operating
safeguards must be provided by the customer to minimize inherent or procedural hazards.
TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other
intellectual property right of TI covering or relating to any combination, machine, or process in which such
products or services might be or are used. TI’s publication of information regarding any third party’s products
or services does not constitute TI’s approval, license, warranty or endorsement thereof.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations and notices. Representation
or reproduction of this information with alteration voids all warranties provided for an associated TI product or
service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.
Resale of TI’s products or services with statements different from or beyond the parameters stated by TI for
that product or service voids all express and any implied warranties for the associated TI product or service,
is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.
Also see: Standard Terms and Conditions of Sale for Semiconductor Products. www.ti.com/sc/docs/stdterms.htm
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265
Copyright  2001, Texas Instruments Incorporated
EVM IMPORTANT NOTICE
Texas Instruments (TI) provides the enclosed product(s) under the following conditions:
This evaluation kit being sold by TI is intended for use for ENGINEERING DEVELOPMENT
OR EVALUATION PURPOSES ONLY and is not considered by TI to be fit for commercial use.
As such, the goods being provided may not be complete in terms of required design-,
marketing-, and/or manufacturing-related protective considerations, including product safety
measures typically found in the end product incorporating the goods. As a prototype, this
product does not fall within the scope of the European Union directive on electromagnetic
compatibility and therefore may not meet the technical requirements of the directive.
Should this evaluation kit not meet the specifications indicated in the EVM User’s Guide, the
kit may be returned within 30 days from the date of delivery for a full refund. THE FOREGOING
WARRANTY IS THE EXCLUSIVE WARRANTY MADE BY SELLER TO BUYER AND IS IN
LIEU OF ALL OTHER WARRANTIES, EXPRESSED, IMPLIED, OR STATUTORY,
INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE.
The user assumes all responsibility and liability for proper and safe handling of the goods.
Further, the user indemnifies TI from all claims arising from the handling or use of the goods.
Please be aware that the products received may not be regulatory compliant or agency
certified (FCC, UL, CE, etc.). Due to the open construction of the product, it is the user’s
responsibility to take any and all appropriate precautions with regard to electrostatic
discharge.
EXCEPT TO THE EXTENT OF THE INDEMNITY SET FORTH ABOVE, NEITHER PARTY
SHALL BE LIABLE TO THE OTHER FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES.
TI currently deals with a variety of customers for products, and therefore our arrangement with
the user is not exclusive.
TI assumes no liability for applications assistance, customer product design, software
performance, or infringement of patents or services described herein.
Please read the EVM User’s Guide and, specifically, the EVM Warnings and Restrictions
notice in the EVM User’s Guide prior to handling the product. This notice contains important
safety information about temperatures and voltages. For further safety concerns, please
contact the TI application engineer.
Persons handling the product must have electronics training and observe good laboratory
practice standards.
No license is granted under any patent right or other intellectual property right of TI covering
or relating to any machine, process, or combination in which such TI products or services
might be or are used.
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265
Copyright  2001, Texas Instruments Incorporated
EVM WARNINGS AND RESTRICTIONS
It is important to operate this EVM within the specified input and output ranges described in
the EVM User’s Guide.
Exceeding the specified input range may cause unexpected operation and/or irreversible
damage to the EVM. If there are questions concerning the input range, please contact a TI
field representative prior to connecting the input power.
Applying loads outside of the specified output range may result in unintended operation and/or
possible permanent damage to the EVM. Please consult the EVM User’s Guide prior to
connecting any load to the EVM output. If there is uncertainty as to the load specification,
please contact a TI field representative.
During normal operation, some circuit components may have case temperatures greater than
60°C. The EVM is designed to operate properly with certain components above 60°C as long
as the input and output ranges are maintained. These components include but are not limited
to linear regulators, switching transistors, pass transistors, and current sense resistors. These
types of devices can be identified using the EVM schematic located in the EVM User’s Guide.
When placing measurement probes near these devices during operation, please be aware
that these devices may be very warm to the touch.
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265
Copyright  2001, Texas Instruments Incorporated
Related Documentation From Texas Instruments
Preface
Read This First
About This Manual
How to Use This Manual
This document contains the following chapters:
Chapter 1—Introduction to the TLV320AIC23EVM Control Software
Chapter 2—EVM Board Overview
Chapter 3—Software Functional Overview
Chapter 4—Host GUI Application
Chapter 5—DSP Application
Chapter 6—Host Software Development Support
Related Documentation From Texas Instruments
A number of reference sources were used in the development of this
document. The documents used are listed below:
TI document: TLV320AIC23, Stereo Audio CODEC, 8 to 96-kHz, With
Integrated Headphone Amplifier, June 2001, literature number SLWS106.
TI document: TLV320DAC23, Stereo Audio D/A Converter, 8 to 96-kHz,
With Integrated Headphone Amplifier, June 2001, literature number
SLES001.
iii
Trademarks
This equipment is intended for use in a laboratory test environment only. It
generates, uses, and can radiate radio frequency energy and has not been
tested for compliance with the limits of computing devices pursuant to subpart
J of part 15 of FCC rules, which are designed to provide reasonable protection
against radio frequency interference. Operation of this equipment in other
environments may cause interference with radio communications, in which
case the user at his own expense will be required to take whatever measures
may be required to correct this interference.
Trademarks
Windows is a registered trademark of Microsoft Corporation. All other trademarks are the property of their respective owners.
iv
Contents
Contents
1
Introduction to the TLV320AIC23EVM Control Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1
Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
2
EVM Board Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Digital Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Analog Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Connectors and Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
Configuration for DSP Connection With Supplied Software . . . . . . . . . . . . . . . . . . . . . . .
2.6
Configuration for USB Connection With USB Audio Support . . . . . . . . . . . . . . . . . . . . . .
2-1
2-2
2-2
2-2
2-3
2-4
2-5
3
Software Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Software Component Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
Host GUI Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3
DSP Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4
Host Software Development Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3-2
3-2
3-2
3-3
4
Host GUI Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Main Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Digital Control Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Analog Control Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Registers Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1
4-2
4-2
4-6
4-7
4-8
4-9
5
DSP Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
6
Host Software Development Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1
User Mode API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.2 API Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3 API Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
Board Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 PPC Driver API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-1
6-2
6-2
6-3
6-3
6-8
6-8
6-9
v
Contents
A
BOMs, Board Layers, and Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.1 TLV320AIC23EVM Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2 TLV320DAC23EVM Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
A.3 Board Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
A.3 TLV320AIC23EVM and TLV320DAC23EVM Schematics . . . . . . . . . . . . . . . . . . . . . . . . A-18
Figures
2–1
2–1
4–1
4–2
4–3
4–4
4–5
6–1
A–1
A–2
A–3
A–4
A–5
A–6
A–7
A–8
TLV320AIC23 EVM Board Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
TLV320AIC23 EVM Board Audio Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Main Dialog, Phones Volume Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Main Dialog, Line Volume Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Digital Control Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Analog Control Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Registers Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
C54x DSK/EVM Host Software Development Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Top Silkscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
Bottom Silkscreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Drill Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Copper Layer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
Copper Layer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Copper Layer 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16
Copper Layer 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17
TLV320AIC23EVM and TLV320DAC23EVM Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
Tables
5–1
6–1
vi
DSP Application Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
User Mode API Calls Used by the AIC23 Codec Tester EVM Software . . . . . . . . . . . . . . . 6-3
Chapter 1
Introduction to the TLV320AIC23EVM
Control Software
This document covers the user software provided with the TLV320AIC23EVM
board based on the TI TLV320AIC23 (hereafter referred to as AIC23) or the
TLV320DAC23 (hereafter referred to as DAC23). Except where noted the
AIC23 applies to both the TLV320AIC23 and the TLV320DAC23. This
software is composed of host software for an Intel-based PC running Windows
9Xt, NT 4.0t, or 2000[1]t and target software for the C54x DSP. The
function, operation, and implementation of the software are described. A
description of the TLV320AIC23 EVM board’s connectors and jumpers is also
provided, along with instructions on how to configure the board for use with the
TLV320AIC23 EVM user software or as a stand-alone USB audio device.
The TLV320AIC23 EVM platform is useful for the TLV320AIC23 and the
TLV320DAC23 device evaluations. The provided software allows users to
exercise the various modes and features of the AIC23 codec and DAC23 audio
DAC. The provided software is not intended to be used as the starting point
for production applications.
Topic
1.1
Page
Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
[1] The TLV320AIC23EVM user software was developed on Windows 2000 and tested on Windows 2000 Windows Me.
Introduction to the TLV320AIC23EVM
1-1
Acronyms
1.1 Acronyms
1-2
ADC
Analog-to-digital converter
AIC
Analog interface circuit
API
Application programming interface
DAC
Digital-to-analog converter
DDK
Driver development kit
DLL
Dynamic link library
DSK
DSP starter kit
DSP
Digital signal processor
EVM
Evaluation module
GUI
Graphical user interface
HPI
Host port interface
JTAG
Joint test action group
OS
Operating system
PCI
Peripheral component interconnect
PPC
Parallel port controller
TBC
Test bus controller
TI
Texas Instruments
VxD
Virtual device driver
Chapter 2
EVM Board Overview
The TLV320AIC23 EVM is designed to facilitate evaluation of the performance
and functionality of the TLV320AIC23 codec and the TLV320DAC23 audio
DAC.
Topic
Page
2.1
Digital Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.2
Analog Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.3
Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.4
Connectors and Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.5
Configuration for DSP Connection With Supplied Software . . . . . . . 2-4
2.6
Configuration for USB Connection With USB Audio Support . . . . . 2-5
EVM Board Overview
2-1
Digital Interfaces
2.1 Digital Interfaces
The TLV320AIC23 EVM has three digital interfaces:
- DSP interface: This interface is compatible with the daughter-card con-
nector of TI DSP DSKs. The supplied user software supports C54x DSPs
on DSK/EVM boards with a parallel port interface.
- USB interface: The TLV320AIC23 EVM features a TUSB3200 USB con-
troller. The firmware implements the USB audio device class, which
makes it possible to play back sound files (MP3, WAV) from a Windowst
PC. The supplied user software does not utilize the USB interface.
- SPDIF interface: An onboard SPDIF transceiver can be used to connect
the AIC23 or DAC23 to a coaxial SDIF source or preamplifier. The firmware for this part is still in development. The supplied user software does
not utilize the SPDIF interface.
2.2 Analog Interfaces
The TLV320AIC23 EVM has the following analog interfaces:
-
Microphone in (AIC23 only)
Line in
Headphone out
Line out
2.3 Power Supply
There are three ways to power up the TLV320AIC23 EVM:
- Separate supplies: For highest performance, separate supplies for analog
and digital can be connected to the TLV320AIC23 EVM.
- 7-V dc input. The TLV320AIC23 EVM has one connector for a 7-V to 9-V
power supply such as a wall-plug adapter.
- DSP daughter-card connector. This option is convenient to evaluate the
functionality of the data converter if (small) signal degradation due to the
power supply from the DSP board is acceptable.
2-2
Connectors and Jumpers
2.4 Connectors and Jumpers
Figure 2–1 shows the location of the TLV320AIC23 EVM connectors, jumpers,
LEDs, and reset button.
Figure 2–1. TLV320AIC23 EVM Board Diagram
J1
J3
J15
JU8
J13
JU2
J4
J14
JU1
J9
SW1
JU7
J8
J11
J6
J10
J5
JU5
JU6
JU4
JU3
J7
J12
J2
Connectors:
LEDs:
J1,
J2:
DSP interface (McBSPs, power supply)
D2:
3.3-V indicator
J3:
3.3-V digital power supply
D3:
5-V indicator
J4:
3.3-V analog power supply
D4:
USB active
J5:
Left line in
J6:
Right line in
Switch:
J7:
Microphone in (AIC23 only)
SW:
J8:
Left line out
J9:
Right line out
J10:
Headphone out
J11:
SPDIF in
J12:
SPDIF out
J13:
7-V to 9-V dc power supply
J14:
5-V power supply
J15:
USB connector
Reset button
Jumpers:
JU1:
Voltage regulators enable. Remove if external supplies on J4, J13, and J14 are used.
JU2:
Connects digital and analog ground planes. Always keep the jumper inserted.
JU3:
DSP interface select. Insert jumper for DSP interface.
JU4:
SPDIF interface select. Insert jumper for SPDIF interface.
JU5:
Left channel internal/external headphone amplifier select. Left position: external amplifier;
right position: internal amplifier.
JU6:
JU7:
Right channel internal/external headphone amplifier select. Left position: external amplifier;
right position: internal amplifier.
I2C/SPI select. Left position: SPI, use SPI for DSP interface; right position.: use I2C for USB and SPDIF.
JU8:
Flash write protection. Insert jumper to write-protect the flash (holds USB firmware).
EVM Board Overview
2-3
Configuration for DSP Connection With Supplied Software
Figure 2–2. TLV320AIC23 EVM Board Audio Connection Example
USB SOURCE
Speaker Pair #1 (RCA)
J1
J3
J15
JU8
JU2
J4
J13
J14
JU1
J9
SW1
JU7
J8
J11
J6
JU4
JU3
J7
J10
J5
JU5
JU6
J12
J2
Audio Source
MIC
CD
DVD
PC
Speaker Pair #2 or
Head Phones
(3.5mm/Mini Stereo)
Note: Use Powered
Speakers Only
2.5 Configuration for DSP Connection With Supplied Software
The TLV320AIC23 EVM is compatible with the daughter-card connectors on
many TI DSP EVMs and DSKs. The following example is based on a
TMS320VC5402 DSK from Texas Instruments.
The supplied user software supports C54x DSPs on DSK/EVM boards with a
parallel-port interface.
For jumper connections regarding left and right positions, it is assumed users
are holding the TLV320AIC23 EVM so they can read the TI logo.
In order to use the TLV320AIC23 EVM with the DSP DSK, the DSP interface
must be selected:
JU1: In, enable voltage regulators
JU2: In, connect analog and digital ground planes
JU3: In, select DSP interface
JU4: Out, do not select SPDIF interface
JU5: Right position, select internal headphone amplifier
JU6: Right position, select internal headphone amplifier
2-4
Configuration for USB Connection With USB Audio Support
JU7: Left position, select SPI control interface
JU8: In, write-protect flash memory
Connect an analog audio signal source to the line inputs (J5 and J6) and a
headphone or speakers to the headphone connector (J10).
The DSP interface uses McBSP0 for the digital audio data and McBSP1 for the
control interface. The supplied user software uses the DSP format of the
AIC23/DAC23—FS + 32 bit data (16 bit left and 16 bit right channel) in master
mode for the digital audio interface. All the clock signals (BCLK, LRCIN,
LRCOUT) are generated by the data converter. McBSP1 is used in SPI mode.
2.6 Configuration for USB Connection With USB Audio Support
The TLV320AIC23 EVM is compatible with the daughter-card connectors on
many TI DSP EVMs and DSKs. The following example is based on a
TMS320VC5402 DSK from Texas Instruments.
The supplied AIC23 codec tester software does not use the USB interface. The
USB interface is used with the built-in USB audio class driver in Windows 98,
Windows 98 SE, and Windows 2000.
For jumper connections regarding left and right positions, it is assumed that
users are holding the TLV320AIC23 EVM so they can read the TI logo.
In order to use the TLV320AIC23 EVM with the DSP DSK, the DSP interface
must be selected:
JU1: In, enables voltage regulators
JU2: In, connects analog and digital ground planes
JU3: Remove this jumper for USB mode.
JU4: Out, do not select SPDIF interface.
JU5: Right position, selects internal headphone amplifier
JU6: Right position, selects internal headphone amplifier
JU7: Right position, selects I2C control interface
JU8: In, write-protects flash memory
EVM Board Overview
2-5
Configuration for USB Connection With USB Audio Support
After selecting the DSP interface, follow these steps:
1) Connect the USB cable to a PC and to the TLV320AIC23 EVM USB connector. Connect a headphone or speakers to the headphone connector
(J10). No external power is needed, power is supplied via the USB connection.
2) If the PC is running Windows 98, Windows 98 SE, or Windows 2000, it
recognizes the USB connection immediately after it is made. When
clicking on the speaker icon, the volume control menu comes up. In the
lower left hand of the volume menu the words USB device appear. This
assures users that the PC recognizes the TLV320AIC23 EVM as a USB
audio device.
3) Load an audio player. The media player included with Windows may be
used. Another player is Winamp, which may be downloaded from
http://www.winamp.com/
4) Load a music source file (MP3 or WAV). A source for music from the internet can be found at http://shoutcast.com/. Play the selected music
source.
5) The music is heard from the attached headphones or speakers.
2-6
Chapter 3
Software Functional Overview
This chapter describes the user software for the TLV320AIC23 EVM.
Topic
Page
3.1
Software Component Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2
Host GUI Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.3
DSP Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.4
Host Software Development Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Software Functional Overview
3-1
Software Component Summary
3.1 Software Component Summary
The user software developed for the TLV320AIC23 EVM can be divided into
three main areas:
Host GUI application
DSP application
Host software development support
The following paragraphs describe the components of each of these areas.
3.2 Host GUI Application
The host GUI application (aic23.exe) provides the user interface to control the
TLV320AIC23 EVM via the DSP application running on the C54x DSK/EVM.
When aic23.exe is executed, the menu bar will read AIC23 Codec Tester. The
host GUI application communicates with the DSP over the parallel port
interface.
The host GUI application supports both high-level user-friendly control of the
AIC23 and low-level register control of the AIC23. The main dialog controls
sample rate selection, playback (i.e., tone generation), playback and record
(i.e. loopback), and volume. Secondary dialogs are used to control the digital
and analog audio paths and to provide direct register access.
The host GUI application sends commands to the DSP application over the
C54x DSK/EVM parallel port interface. The DSP application modifies the
AIC23 state in response to the commands it receives.
3.3 DSP Application
The DSP application (aic23.out) runs on a C54x DSK/EVM. It initializes the
DSP and the DSK/EVM peripherals (McBSPs), it configures the AIC23, and
then it enters a command loop where it receives commands from the host GUI
application over the C54x DSK/EVM parallel port interface. Each command is
processed to completion and then it polls for the next command.
The supported commands are: RESET, TEST (host communication),
REG_WRITE, WRITE_ALL (e.g. registers), PLAY (a tone of specified
frequency), RECORD (AIC23 only) (e.g., playback and record), and STOP
(the current PLAY or RECORD (AIC23 only) command).
The PLAY and RECORD (AIC23 only) commands are DMA-driven via
callback routines that run continuously until a STOP command is received.
3-2
Host Software Development Support
3.4 Host Software Development Support
The host software development support enables the host GUI application to
communicate with the DSP application running on the C54x DSK/EVM. This
support consists of an application-programming interface (API) DLL that
provides user-callable functions, and a set of drivers supporting access to the
hardware under Windows 9X, NT 4.0, or 2000.
The user-mode API is implemented in evmdsk54x.dll. This DLL provides a
common user-mode interface across all Win32 operating systems. The ring-3
DLL communicates with the driver that handles all the OS-specific details and
direct board accesses.
The hardware drivers are implemented in ppc54x.dll, dlportio.dll, and
dlportio.sys. These drivers handle the OS-specific details and provide a
consistent interface to the user-mode DLL. This arrangement allows host
applications to be executed on any Win32 platform without recompilation.
Software Functional Overview
3-3
3-4
Chapter 4
Host GUI Application
The host GUI application (aic23.exe) provides the user interface to control the
TLV320AIC23 EVM via the DSP application running on the C54x DSK/EVM.
The AIC23.exe executable file resides in the Bin directory of the AIC23 software distribution CD or in the Software directory of the TLV320AIC23EVM CD.
There is no need to install the AIC23.exe application, as all needed files reside
in the Bin or in the Software directory and the application can be run directly
from that location.
If you are running on Windows NT 4.0 or Windows 2000 and you have not
installed the C54x DSK/EVM support software, then you must install the
dlportio driver prior to running AIC23.exe. The dlportio driver provides
low-level access to the DSK/EVM parallel port interface. To install the dlportio
driver, run the dlportio.exe installation program located in the Bin directory.
Topic
Page
4.1
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.2
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Host GUI Application
4-1
Operation
4.1 Operation
The host GUI application supports both high-level user-friendly control of the
AIC23 and low-level register control of the AIC23. The main dialog controls
sample rate selection, playback (i.e., tone generation), record (AIC23 only)
and playback (i.e., loopback), and volume. Secondary dialogs are used to
control the digital and analog audio paths and provide direct register access.
You may exit the application in any of the following ways:
Hit the Esc key while the main dialog has focus.
Click the X button in the upper right corner of the main dialog.
Hit the Alt+F4 keys while the main dialog has focus.
Select the Close item from the main dialog’s system menu.
4.1.1
Main Dialog
The main dialog is shown in Figures 4–1 and 4–2.
Figure 4–1. Main Dialog, Phones Volume Selected
4-2
Operation
Figure 4–2. Main Dialog, Line Volume Selected
The main dialog allows control of the AIC23 functions described in the
following subsections.
4.1.1.1
Sampling Rate
The sampling rate is selected with the Fs group of radio buttons. Selecting a
new sampling rate puts the new rate into effect immediately. Sampling rates
of 8, 32, 44.1, 48, 88.2, and 96 kHz are supported. If a tone is playing or Record
& Playback (i.e., loopback) is running when the sampling rate is changed, the
tone or loopback is stopped prior to the change and restarted after the change.
4.1.1.2
Volume
Volumes for the Line-In inputs and headphone outputs are controlled with the
Volume group of controls. The appearance of the Volume group of controls
varies depending on whether the Phones or Line radio button is selected.
When Phones is selected, the headphones output volume is controlled, and
Zero Cross check boxes appear next to the Left and Right volume sliders to
control the AIC23’s zero-cross detect feature on the headphone outputs.
When Line is selected, the line-In input volume is controlled, and Mute check
boxes appear next to the Left and Right volume sliders to control the AIC23’s
mute feature on the line-in inputs.
You can switch back and forth between controlling the line or phones volume,
as their settings are preserved as you switch between them.
The Left and Right volume sliders operate in linear AIC23 register units. For
phones, the range is 0 to 80, and 47 is added to the values before they are
written to the AIC23’s registers. For line, the range is 0 to 31.
Host GUI Application
4-3
Operation
The Left and Right volume sliders can be locked by selecting the L/R Lock
check box. When locked, the sliders move in unison, i.e., when you move one
of the sliders the other slider moves the same distance in the same direction,
until it hits the end of the range.
The Balance slider allows you to selectively decrease the volume of one
channel at a time. Moving the slider left of center decreases the right channel
volume. Moving it right of center decreases the left channel volume. Clicking
the Center button centers the slider.
When L/R Lock is selected and the Balance slider is centered, the AIC23’s
feature that simultaneously loads the left and right channel volume registers
with a single register write is enabled.
The Default button resets all the volume controls to their default state (for the
current line or phones selection only).
4.1.1.3
Play Tone
The Play Tone controls allow you to play a tone of specified frequency. Enter
the desired frequency in the Ft edit control and click on the Start button. Once
the Start button has been clicked it changes to a Stop button. Clicking the Stop
button without changing the Ft value stops the tone playback. For
convenience, if you change the Ft value and click Stop, the new frequency is
put into effect.
The valid range of tone frequencies that can be played is sampling-rate
dependent. If you select a value that is out of range, a message box is
displayed indicating the valid range. The range in Hz is (SRate / 2048 ) + 1 to
(SRate / 2) – 1, with an upper limit of 20,000. The 2048 value is the size of the
PCM data buffer used to hold the waveform data for the tone in the DSP
application.
If a tone is playing when the sampling rate is changed, the tone is stopped prior
to the change and restarted after the change with a new waveform appropriate
for the new sampling rate.
The Play Tone and Record & Playback functions are mutually exclusive, i.e.
only one may be running at a time. If you start one while the other is running,
then the first one is stopped.
4.1.1.4
Record and Playback
The Record & Playback controls allow you to perform a loopback
record(AIC23 only)/playback operation, or separate record and play
operations.
For loopback analog input is accepted from the Line-In or Mic (AIC23 only)
inputs, converted to digital format with the TLV320AIC23’s ADC, and
immediately converted back to analog output with the TLV320AIC23 or
TLV320DAC23’s DAC on the Line-Out and Headphones outputs. The digital
data stays within a 2048 byte DSP internal memory data buffer; it is not
transferred to the host.
4-4
Operation
The Loop button starts loopback running. Once the Loop button has been
clicked, it changes to a Stop button. Clicking the Stop button stops the
loopback operation.
For recording (AIC23 only), analog input is accepted from the Line-In or Mic
inputs, converted to digital format with the TLV320AIC23’s ADC, and the digital
data is stored within a 64-Kbyte DSK/EVM external memory data buffer; it is
not transferred to the host.
The Record (AIC23 only) button starts record running. Once the Record
(AIC23 only) button has been clicked, it changes to a Stop button. Clicking the
Stop button stops the record operation.
For playback, the digital data is read from the 64-Kbyte DSK/EVM external
memory data buffer and converted back to analog output with the AIC23’s
DAC on the Line-Out and Headphones outputs.
The Play button starts playback running. Once the Play button has been
clicked, it changes to a Stop button. Clicking the Stop button stops the
playback operation.
The Play button is initially disabled when the application is started. It is enabled
once you have recorded some audio.
Select the Repeat checkbox to automatically repeat playback each time it
finishes.
The amount of time that can be recorded and played back is limited by the size
of the 64-Kbyte data buffer used to hold the PCM data and the current
sampling rate. The available time is shown in seconds to the right of the Rec
duration: text.
If you change the sampling rate between recording and playback, the audio
will not sound correct when played back. No sampling rate conversion is
performed on the recorded data when the sampling rate is changed.
The Record and Playback and the Play Tone functions are mutually exclusive,
i.e., only one may be running at a time. If you start one while the other is
running, the first one is stopped.
4.1.1.5
Input Selection
Select the input source by selecting either the Line or Mic (AIC23 only) radio
button. The input source may be changed while loopback or record is running,
in which case the change takes immediate effect.
The TLV320AIC23’s Mic Boost feature is enabled with the Mic Boost check
box.
The TLV320AIC23’s Mic Mute feature is enabled with the Mic Mute check box.
4.1.1.6
Comm Test
The Comm Test button initiates a simple communication test that verifies that
the host GUI application is properly communicating with the DSP application.
Host GUI Application
4-5
Operation
If communication is operating, correctly then clicking the Comm Test button
should result in the three LEDs on the C54x DSK/EVM board blinking in
succession ten times. Finally the read and write bandwidth of the parallel port
connection to the DSK/EVM (in bytes per second) is measured and reported
in a message box.
4.1.1.7
Reset Codec
The Reset Codec button resets and reconfigures the AIC23.
4.1.1.8
Reset DSP
The Reset DSP button resets the DSP, downloads the DSP application, and
resets and reconfigures the AIC23.
4.1.1.9
Secondary Dialog Access
The Digital Control, Analog Control, and Registers secondary dialogs are
accessed by clicking their respective buttons.
The secondary dialogs are modal dialogs, e.g., the main dialog does not
respond to an input while a secondary dialog is open.
Changes made to the AIC23 register set affecting the controls on the main
dialog are reflected in the main dialog control state when the secondary dialog
is closed. That is, the main dialog control state is updated to match the register
state when the secondary dialog is closed.
The secondary dialogs are covered in the following sections.
4.1.2
Digital Control Dialog
The Digital Control dialog provides the interface to control the functionality
covered by the AIC23’s digital audio path control register.
The Digital Control dialog is shown in Figure 4–3.
Figure 4–3. Digital Control Dialog
Select the Enable ADC High Pass Filter (AIC23 only) checkbox to enable the
TLV320AIC23’s ADC high-pass filter.
4-6
Operation
Select the Enable Soft Mute checkbox to enable the AIC23’s DAC soft mute
control.
Select the appropriate Deemphasis Control radio button to control the AIC23’s
DAC digital filter deemphasis.
Changes made on this dialog take immediate effect. You may accept the
changes with the OK button, or cancel them with the Cancel button. Canceling
the changes restores the AIC23 register state to what it was when the dialog
was first opened.
4.1.3
Analog Control Dialog
The Analog Control dialog provides the interface to control the functionality
covered by the AIC23’s analog audio path control register.
The Analog Control dialog is shown in Figure 4–4.
Figure 4–4. Analog Control Dialog
The Input Selection controls duplicate some of the functionality that appears
on the main dialog. Select the input source by selecting either the Line or Mic
(AIC23 only) radio button. The input source may be changed while loopback
is running, in which case the change takes immediate effect. The
TLV320AIC23’s Mic Boost feature is enabled with the Mic Boost check box.
The TLV320AIC23’s Mic Mute feature is enabled with the Mic Mute check box.
Select the Enable Side Tone checkbox to enable the AIC23’s sidetone feature
that sums the Mic (AIC23 only) input into the Line Out and Headphone
outputs. Select the appropriate Attenuation radio button to control the degree
of attenuation applied to the sidetone signal.
Host GUI Application
4-7
Operation
Select the Enable Bypass checkbox to enable the AIC23’s bypass feature that
sums the Line Input into the Line Out and Headphone outputs.
Select the Select DAC checkbox to enable the AIC23’s DAC Select feature
that sums the DAC output into the Line Out and Headphone outputs.
Changes made on this dialog take immediate effect. You may accept the
changes with the OK button, or cancel them with the Cancel button. Canceling
the changes restores the AIC23 register state to what it was when the dialog
was first opened.
4.1.4
Registers Dialog
The Registers dialog provides direct access to the AIC23’s registers.
The Registers dialog is shown in Figure 4–5.
Figure 4–5. Registers Dialog
Changes made on this dialog take effect only on OK or Apply. You may accept
the changes with the OK button, or cancel them with the Cancel button.
Canceling the changes restores the AIC23 register state to what it was when
the dialog was first opened. You may cancel your changes even after applying
them.
Changes made to the AIC23 register set affecting the controls on the main
dialog are reflected in the main dialog control state when the Registers dialog
is closed. That is, the main dialog control state is updated to match the register
state when the Registers dialog is closed.
4-8
Implementation
Note that you do not have complete control over the LR/RLINBOTH and the
LR/RLHPBOTH values, or over the L/RHPVOL values, once the Registers
dialog has been closed. In order to function correctly, the main dialog must
keep the BOTH values consistent with the current state of the main dialog
controls; it cannot preserve the values established by the Registers dialog.
Also, any L/RHPVOL values less than 47 are forced to 47 by the main dialog.
This should have no perceptible effect since the AIC23 defines all values of 47
or less as mute values.
4.2 Implementation
The host GUI application resides in the Software\AIC23GUI subdirectory in
the TLV320AIC23 EVM software distribution.
The host GUI application is a Win32 C++ MFC-based application.
The host GUI application is built using the Microsoft Visual Studio 6.0 (with
Service Pack 4) IDE development environment. Load the workspace into the
IDE, select the Win32 Release or Win32 Debug configuration, and select the
Rebuild All item from the Build menu. This builds all host application
executables, including AIC23.exe, evmdsk54x.dll, and ppc54x.dll. The DSP
application must be built and its binary application file (AIC23.out) must be
available prior to building the host application. The DSP application binary is
bound into AIC23.exe as a resource to assure that it is available when
AIC23.exe is run.
The application is implemented in the following source files:
Aic23.h/cpp
Aic23dlg.h/cpp
Analog.h/cpp
Digital.h/cpp
Register.h/cpp
Aic23reg.h/cpp
Msngr.h/cpp
MsngrStdafx.h
Resource.h
Aic23.rc
The application class, CAic23App
The main dialog class, CAic23Dlg
The analog control dialog class, CAnalogCtrl
The digital control dialog class, CDigitalCtrl
The registers dialog class, CControlRegisters
The AIC23 register access class, Aic23Reg
The host/DSP message communication class,
MSVC precompiled header configuration file
Resource control id definitions
Resource definitions
The CAic23App application class is a standard AppWizard generated
template class with nothing of interest to note in its implementation.
The CAic23Dlg main dialog class consists of initialization methods, a set of
message map driven message handler routines to respond to the controls on
the dialog, and a set of support methods. Dialog initialization starts with the
OnInitDialog method. OnInitDialog calls the SetupDSP method to initialize the
C54x DSK/EVM and download the DSP application, then it calls the DialogInit
method to initialize the state of the dialog and the AIC23. The SetupDSP
method calls the C54x DSK/EVM Win32 user mode API routines
(evmdsk54x_open, evmdsk54x_hpi_open, evmdsk54x_reset_board, and
evmdsk54x_coff_load) to initialize the DSP. The Aic23Reg::updateReg and
updateAll methods are used to write to the AIC23 registers. The
Host GUI Application
4-9
Implementation
Msngr::sendMsg method is used to send a message (i.e. command) to the
DSP application. The message handlers respond to their particular control and
modify the state of the application and AIC23 registers, and/or send DSP
commands as appropriate for that control and the present context.
The CAnalogCtrl, CDigitalCtrl, and CControlRegisters classes are
implemented in the usual manner, with initialization occurring in their
OnInitDialog method, and a set of message-map-driven message handler
routines to respond to the controls on the dialog. The message handlers
respond to their particular control and modify the state of the application and
AIC23 registers as appropriate. The OnInitDialog method saves a copy of the
AIC23 registers on entry to the dialog so that they may be restored if the user
selects the Cancel button to exit the dialog.
The Aic23Reg class writes to the AIC23 registers by sending REG_WRITE
and WRITE_ALL commands to the DSP using the Msngr::sendMsg method.
A local in-memory copy of the register set is maintained to support modifying
a subset of the bits in a given register.
The Msngr class sends commands to the DSP by writing commands and their
parameters into a command buffer in DSP memory with the evmdsk54x_write
and evmdsk54x_write_single C54x DSK/EVM Win32 user mode API routines.
Prior to writing a command, the command field in the command buffer is polled
with the evmdsk54x_hpi_read_single routine to see if the buffer is available,
i.e., the DSP is not busy processing a command. A value of zero in the
command field means that the DSP is ready to accept a new command. The
Msngr class writes the parameters first and the command field last. The DSP
is in a loop polling the command field. When it sees the command field become
nonzero, it begins processing the command; it sets the command field to zero
when it completes the command, which allows the host to write the next
command to the buffer.
4-10
Chapter 5
DSP Application
This chapter describes the operation and implementation of the aic23.out DSP
application.
Topic
Page
5.1
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
DSP Application
5-1
Operation
5.1 Operation
The DSP application (aic23.out) runs on a C54x DSK/EVM. It initializes the
DSP and the DSK/EVM peripherals (McBSPs), configures the AIC23, and
then enters a command loop where it receives commands from the host GUI
application over the C54x DSK/EVM parallel port interface. Each command is
processed to completion and then the application polls for the next command.
The supported commands are: RESET, TEST (host communication),
REG_WRITE, WRITE_ALL (e.g. registers), TONE (play a tone of specified
frequency), LOOP (e.g., record and playback), RECORD (to a memory
buffer), PLAY (from a memory buffer), and STOP (the current TONE, LOOP,
PLAY, or RECORD command). The command parameters are presented in
Table 5–1.
Table 5–1. DSP Application Command Parameters
Command
Parameters
RESET
None
TEST
None
REG_WRITE
UINT16 AIC23 register index and register value
WRITE_ALL
UINT16 [10] AIC23 register value array
TONE
UINT32 sampling rate in Hz
UINT16 frequency in Hz
LOOP
UINT32 sampling rate in Hz
RECORD
UINT32 sampling rate in Hz
PLAY
UINT32 sampling rate in Hz
UINT16 repeat flag (1 = repeat)
STOP
UINT16 Full reset flag (1 = full reset)
The RESET command performs a full reset and reconfiguration of the
McBSPs and the AIC23.
The TEST command blinks the three LEDs on the DSK/EVM on/off ten times
in succession.
The REG_WRITE command writes a specified value to a single AIC23
register.
The WRITE_ALL command writes the entire AIC23 register set.
The TONE command generates a buffer of PCM data for a tone of specified
frequency and then plays the data through the AIC23 DAC until the STOP
command is received.
The LOOP command reads a buffer of PCM data via the AIC23 ADC and then
plays the data through the AIC23 DAC repeatedly until the STOP command
is received.
The RECORD command reads buffers of PCM data via the AIC23 ADC and
stores the data in a 64K external memory buffer until either the STOP
command is received or the 64K buffer is full.
5-2
Implementation
The PLAY command reads buffers of PCM data from a 64K external memory
buffer and then plays the data through the AIC23 DAC until either the STOP
command is received or the 64K of data is exhausted.
Once started, the TONE, LOOP, PLAY, and RECORD commands are
DMA-driven via callback routines that run continuously until the STOP
command is received.
The STOP command reconfigures the McBSPs and breaks the continuous
callback process to stop the playback of PCM data through the AIC23 DAC.
Also, it can optionally perform a full reset and reconfiguration of the AIC23.
5.2 Implementation
The DSP application resides in the Software\AIC23DSP subdirectory in the
TLV320AIC23 EVM software distribution.
The DSP application is built using the TI Code Composer Studio for the C5000
version 1.20 IDE. Load the project into the IDE and select the Rebuild All item
from the Project menu to build the application.
The DSP application is a C BIOS II-based application implemented in the
following source files:
Main.c
The application entry point, command loop and handlers
Msg.h
Command buffer, AIC23 registers and sample rate
definitions
Type.h
Basic type definitions used by Main.c
Tidc_api.c
Data converter wizard generated API code
Tidc_api.h
Data converter wizard generated interface to Tidc_api.c
Taic23_ob.c
Data converter TAIC23 object initialization and access
routines
Taic23_fn.h
Data converter wizard-generated interface to
Taic23_ob.c
Dc_conf.h
Data converter wizard-generated configuration file
Aic23cfg.s54
Code Composer generated configuration file
The DSP interface uses McBSP0 for the digital audio data and McBSP1 for the
control interface. The DSP application uses the DSP format of the
AIC23/DAC23 (FS + 32-bit data (16 bit left and 16 bit right channel) in master
mode for the digital audio interface. All the clock signals (BCLK, LRCIN,
LRCOUT) are generated by the data converter. McBSP1 is used in SPI mode.
The application entry point is the main routine in Main.c. The main routine first
initializes the DSK/EVM and application variables, and then initializes the
McBSPs and blinks the LEDs to provide visual feedback that the application
is running. Finally, it enters the command loop, calling the getCmd routine to
DSP Application
5-3
Implementation
poll for a command from the host; then a command is received calling the
processCommand routine to process it. The getCmd routine is a simple
routine that polls the command field of the command buffer in a tight loop until
it is nonzero. The processCommand routine is a simple dispatch routine
consisting of a switch statement that calls the appropriate command handler
routine, depending on which command was received.
The RESET command is implemented by calling dc_configure to perform a full
reset and reconfigure the McBSPs and the AIC23.
The TEST command is implemented by calling the blink routine to blink the
DSK/EVM LEDs.
The REG_WRITE and WRITE_ALL commands are implemented by calling
the aic23_write_reg data converter routine to write the register values.
The TONE command is implemented by calling the signal routine to generate
PCM waveform data for the specified tone frequency, then calling the data
converter dc_wblock routine to initiate an interrupt-driven DMA transfer from
the PCM data buffer to the AIC23 DAC. When the data transfer is complete,
the wcallback routine is called, which initiates another transfer from the same
data buffer if the STOP command has not been received.
The LOOP command is implemented by calling the data converter dc_rblock
routine to read PCM data from the input source into a data buffer via the AIC23
ADC, and then calling the data converter dc_wblock routine to initiate an
interrupt-driven DMA transfer from the PCM data buffer to the AIC23 DAC.
When the read data transfer is complete, the rcallback routine is called; this
routine initiates another transfer to the same data buffer if the STOP command
has not been received. When the write data transfer is complete, the wcallback
routine is called, which initiates another transfer from the same data buffer if
the STOP command has not been received.
The RECORD (AIC23 only) command is implemented by calling the data
converter dc_rblock routine to read PCM data from the input source into a
small internal memory data buffer via the AIC23 ADC. When the read data
transfer is complete, the rcallback routine is called; this routine copies the data
from the internal memory buffer to a 64K external memory buffer and then
initiates another transfer to the same internal data buffer if the STOP command
has not been received.
The PLAY command is implemented by calling the data converter dc_wblock
routine to write PCM data from the small internal memory data buffer to the
AIC23 DAC. When the write data transfer is complete, the wcallback routine
is called, this routine copies data from the 64K external memory buffer to the
internal memory buffer and then initiates another transfer from the same
internal data buffer if the STOP command has not been received.
The STOP command is implemented by setting a global flag variable that
indicates to the PLAY and RECORD (AIC23 only) callback routines that their
activity has been stopped. The STOP command also performs either a full or
partial reset, depending on the value of its parameter. The full reset is the same
as that performed by the RESET command. The partial reset reconfigures the
McBSPs, but does not reset or reconfigure the AIC23.
5-4
Implementation
Full and partial resets are supported because it was determined that the full
reset causes an audible click or pop to occur as a result of the reset and
reconfigure of the AIC23. Specifically, writing a zero to the POWEROFF bit (bit
7) of the power down control register in order to power up the AIC23 causes
the click/pop. This can be observed by manually changing the state of the bit
on the host GUI application’s Registers dialog. This annoying click/pop is
avoided by using the partial reset when starting or stopping the PLAY and
RECORD (AIC23 only) commands. The full reset is used by the RESET
command when initializing the application and when changing the sampling
frequency.
DSP Application
5-5
5-6
Chapter 6
Host Software Development Support
Figure 6–1 provides a block diagram of the C54x DSK/EVM software components and their relationships. The nonshaded, shadowed boxes represent the
software that comprises the host software development components for the
C54x DSK/EVM. The dashed-outline boxes are the components used by the
TLV320AIC23 EVM host software.
The user mode API is shown in the center of the block diagram. This API is
provided as a Win32 user mode DLL that enables users to access and control
the TLV320AIC23 EVM from the user’s own host applications. This DLL is
common across all Windows platforms, so host applications are not
OS-specific. The user mode API Win32 DLL is implemented in the
evmdsk54x.dll executable. The evmdsk54x.dll source is located in the
5402DSK\ evmdsk54xdll subdirectory in the TLV320AIC23 EVM software
distribution.
The low-level board drivers are shown in the bottom center of the block
diagram. These drivers provide OS-specific board support for Windows 9X,
NT 4.0, and Windows 2000. These drivers present a common interface to the
user mode DLL. The OS-independent parallel port driver used by the
TLV320AIC23 EVM software is implemented in the ppc54x.dll, dlportio.dll, and
dlportio.sys executables. The ppc54x.dll source is located in the 5402DSK\
ppc54xdll subdirectory in the TLV320AIC23 EVM software distribution.
The left side of the block diagram shows the debugger support which consists
of a DLL that enables the TI code composer debugger to communicate with
the TLV320AIC23 EVM’s and DSK’s JTAG TBC over the parallel port or the
TLV320AIC23 EVM’s JTAG TBC over the PCI bus.
Topic
Page
6.1
User Mode API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.2
Board Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Host Software Development Support
6-1
User Mode API
Each software component is discussed in detail in the following subsections.
Figure 6–1. C54x DSK/EVM Host Software Development Block Diagram
Code
Composer
Debugger
DSP
Flash Utility
Board Control
Utility
DSP Application
Loader Utility
Board Confidence
Test Utility
Win32 Console
Applications
Debugger
SCIF
Port
(Win32 DLL)
User Mode API
Win32 DLL
Board Drivers
Win95/98
VxD Driver
NT 4.0
Kernel Driver
OS-Independent
Parallel Port Driver
C54x DSK/EVM Board
C54
User Library
Power On
Self-Test
Peripherals
Library
6.1 User Mode API
6.1.1
Functional Overview
A common Win32 DLL (emvdsk54x.dll) provides the user mode interface to
the C54x DSK/EVM. This DLL provides the API that allows host application
code to run on any supported version of Windows without recompilation. The
intelligent processing of C54x DSK/EVM registers and handling of data
transfers is performed by the DLL. The DLL makes calls to the board driver to
get access to the board’s resources and PCI configuration registers (EVM
only). The advantage of this approach is that the board drivers can support
different types of C54x DSK/EVM boards in the future, such as
special-purpose or multiple-DSP versions, and code maintenance can be
done in one place. This eliminates the need of distributing various versions of
the low-level drivers. A DLL is easy to update since it only involves copying
over the previous version.
The common API user mode DLL provides the following capabilities:
Open board connection with exclusive option (includes board
initialization)
Board initialization
Close board connection
Board resetting
6-2
User Mode API
6.1.2
DSP reset control
Board information (number and type of DSPs, revision, etc.)
Loading of C54x COFF application from a file using HPI
Read/write C54x memory using HPI
Read/write GP bus registers (EVM only)
Generation of interrupt to C54x
Enabling and disabling of interrupts from C54x EVM/DSK
Hot swap software support (switch read/LED control)
DLL error display control (enable/disable/redirection)
DLL revision information
API Summary
Table 6–1 provides a summary of the API function calls that are used by the
TLV320AIC23 EVM software. Parameters and parameter type definitions are
described in later sections. API function calls not used by the TLV320AIC23
EVM user software are not covered here. See the appropriate C54x DSK/EVM
software user’s guide document for full details on this interface.
Table 6–1. User Mode API Calls Used by the AIC23 Codec Tester EVM Software
6.1.3
Evmdsk54x_close()
Close a driver connection to a board
evmdsk54x_reset_board()
Completely reset a board
evmdsk54x_coff_load()
Load a COFF image into DSP memory
evmdsk54x_hpi_open()
Open the HPI for a DSP
Evmdsk54x_open()
Open a driver connection to a board
evmdsk54x_hpi_close()
Close the HPI for a DSP
evmdsk54x_hpi_read()
Read DSP memory using the HPI
evmdsk54x_hpi_write()
Write DSP memory using the HPI
evmdsk54x_hpi_read_single()
Read a single 16-bit value from DSP memory
evmdsk54x_hpi_write_single()
Write a single 16-bit value to DSP memory
API Detail
This section provides the details of the API calls, including function prototypes
and parameter descriptions. Parameter definitions are provided as
appropriate. Details of type definitions and enumerations are covered in the
appropriate C54x DSK/EVM software user’s guide document.
Host Software Development Support
6-3
User Mode API
6.1.3.1
evmdsk54x_open()
- Description
J
Open a driver connection to a board.
- Prototype
J
DLL32_ENTRY HANDLE evmdsk54x_open(int board_index,
EVMDSK54X_BOARD_TYPE boardType,
EVMDSK54X_OPEN_TYPE openType,
BOOL exclusive_flag);
- Parameters
6.1.3.2
J
board_index—corresponds to the board number for which the handle
is requested.
J
exclusive_flag—indicates exclusive ownership of the board.
J
boardType—Specifies whether the board is a TYPE_C5402_DSK or
a TYPE_C5410_DSK.
J
openType—Specifies either a parallel or PCI connect. Note that the
5402 DSK only supports a parallel connection. If a PCI
connection is specified for the DSK, an
INVALID_HANDLE_VALUE is returned.
evmdsk54x_close()
- Description
J
Close a driver connection to a board
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_close(HANDLE hDevice);
- Parameters
J
6.1.3.3
hDevice—Board handle returned from the call to evmdsk54x_open.
evmdsk54x_reset_board()
- Description
J
Resets the board to a known state.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_reset_board(HANDLE hDevice);
- Parameters
J
6-4
hDevice—Board handle returned from the call to evmdsk54x_open.
User Mode API
6.1.3.4
evmdsk54x_coff_load()
- Description
J
Load a COFF image into DSP memory.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_coff_load(HANDLE hDevice,
LPVOID lp_hpi,
char *filename,
BOOL verboseFlag,
BOOL clear_bss_flag,
BOOL dump_flag,
ULONG dspNum);
- Parameters
6.1.3.5
J
hDevice—Board handle returned from the call to evmdsk54x_open.
J
lp_hpi—A pointer to the HPI map object returned from the call to
evmdsk54x_hpi_open().
J
filename—The name of the COFF file.
J
verboseFlag—Display basic COFF file information via the standard
output stream.
J
clear_bss_flag—Initialize all bss section variable to zero.
J
dump—Display all data via the standard output stream.
J
dspNum—Specifies the DSP to load the COFF file into. Allows up to
four DSPs to be supported on a board.
evmdsk54x_hpi_open()
- Description
J
Opens the host port interface (HPI) to the DSPs and assures mutual
exclusion to the DSPs HPI as well as memory.
- Prototype
J
DLL32_ENTRY LPVOID evmdsk54x_hpi_open(HANDLE hDevice);
- Parameters
J
6.1.3.6
hDevice—Board handle returned from the call to evmdsk54x_open.
evmdsk54x_hpi_close()
- Description
J
Closes the host port interface (HPI) to the DSP.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_hpi_close(LPVOID pBd_);
- Parameters
J
pBp—Handle returned from the call to evmdsk54x_hpi_open.
Host Software Development Support
6-5
User Mode API
6.1.3.7
evmdsk54x_hpi_read()
- Description
J
Read DSP memory using the HPI.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_hpi_read(LPVOID pBp,
PULONG p_buffer,
PULONG p_length,
ULONG src_addr,
int memSpace,
ULONG dspNum);
- Parameters
6.1.3.8
J
pBp—Handle returned from the call to evmdsk54x_hpi_open.
J
p_buffer—Pointer to the buffer to read data into.
J
p_length—Number of 16-bit words to read.
J
src_addr—DSP memory address to read from.
J
memSpace—Indicates whether to read from DATA memory or
from PROGRAM memory.
J
dspNum—Specifies the DSP number. Allows up to four DSPs to be
supported on a board.
evmdsk54x_hpi_write()
- Description
J
Write DSP memory using the HPI.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_hpi_write(LPVOID pBp,
PULONG p_buffer,
PULONG p_length,
ULONG dest_addr,
int memSpace,
ULONG dspNum);
- Parameters
6-6
J
pBp—Handle returned from the call to evmdsk54x_hpi_open.
J
p_buffer—Pointer to the buffer to read data into.
J
p_length—Number of 16-bit words to write.
J
src_addr—DSP memory address to read from.
J
memSpace—Indicates whether to write to data memory or
program memory.
J
dspNum—Specifies the DSP number. Allows up to four DSPs to be
supported on a board.
User Mode API
6.1.3.9
evmdsk54x_hpi_read_single()
- Description
J
Read a single 16-bit value from DSP memory.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_hpi_read_single(LPVOID pBp,
PULONG p_data,
ULONG src_addr,
int memSpace,
ULONG dspNum);
- Parameters
J
pBp—Handle returned from the call to evmdsk54x_hpi_open.
J
p_data—Pointer to the buffer to read data into.
J
src_addr—DSP memory address to read from.
J
memSpace—Indicates whether to read from DATA memory or
from PROGRAM memory.
J
dspNum—Specifies the DSP number. Allows up to four DSPs to be
supported on a board.
6.1.3.10 evmdsk54x_hpi_write_single()
- Description
J
Write a single 16-bit value to DSP memory.
- Prototype
J
DLL32_ENTRY BOOL evmdsk54x_hpi_write_single(LPVOID pBp,
PULONG p_data,
ULONG dest_addr,
int memSpace,
ULONG dspNum);
- Parameters
J
pBp—Handle returned from the call to evmdsk54x_hpi_open.
J
p_data—Pointer to the buffer to read data into.
J
dest_addr—DSP memory address to write to.
J
memSpace—Indicates whether to write to data memory or
program memory.
J
dspNum—Specifies the DSP number. Allows up to four DSPs to be
supported on a board.
Host Software Development Support
6-7
Board Drivers
6.2 Board Drivers
6.2.1
Functional Overview
The board drivers for the C54x DSK/EVM provide the low-level software
interface to the DSK/EVM board. These low-level drivers are not intended to
be directly accessible to user mode applications. A user mode Win32 DLL that
provides a consistent API across all supported Windows platforms hides the
details of accessing these low-level drivers.
The TLV320AIC23 EVM user software does not directly use the board drivers.
It adheres to the recommended programming model, using only the user mode
Win32 DLL to access the C54x DSK/EVM. For this reason, this section of the
document is kept brief, providing only an overview of the functionality
supported by the board drivers.
The purpose of the board driver functions is to allow the user mode DLL to
access and control the C54x DSK/EVM. These functions provide a basic
interface that provides access to the board in all supported Windows
environments. The user mode DLL provides intelligent processing and control
functions that call low-level board driver functions to access board resources
and PCI/PPC configuration data.
The following list summarizes the board driver capabilities:
OS Support—Three drivers will be developed: an NT kernel driver to
support NT 4.0 and Windows 2000, a virtual device driver (VxD) to support
Windows 9X (both for PCI access), and an OS independent low-level
driver for parallel port access. The drivers provide OS-specific driver
functions in addition to the board-related functions. The NT driver will be
usable without administrator privileges.
Host Port Interface Access—Read, write, send interrupt, and receive in-
terrupt routines are provided. These allow applications to access the
C54x’s HPI for board configuration and application loading.
JTAG TBC Register Access—JTAG TBC registers are mapped to host
application accessible address space via PCI for the TLV320AIC23 EVM
or accessible via the parallel port for TLV320AIC23 EVM and DSK. This
allows applications, such as the debugger, to use the on-board TBC. This
will be an exclusive operation per target board to prevent multiple applications from simultaneously accessing the same TBC device.
Interrupt Handling—The receipt of an interrupt from the C54x DSK/EVM
sets Win32 events to notify the user mode code of an interrupt occurrence.
Board Reset—This is accomplished by accessing a register on the C54x
DSK/EVM platform. This resets all of the target board, except for the C54x
device itself. It does not reset the PCI bus (EVM only) or the host system.
DSP Reset—This is accomplished by accessing a register on the C54x
DSK/EVM platform. This resets the DSP, which is necessary to control
application loading over the parallel port (DSK only) or the PCI bus (EVM
only).
6-8
Board Drivers
6.2.2
PPC Driver API
This API is provided with the C54x DSK or TLV320AIC23 EVM to support
access via the parallel port. The software is more of a DLL than a driver. It
translates calls into command sequences for transmission via the dlportio
parallel port driver. The PPC driver API is not covered here since the
TLV320AIC23 EVM user software does not directly access this interface. For
details of this interface see the appropriate C54x DSK/EVM software user’s
guide document.
Host Software Development Support
6-9
6-10
Appendix A
BOMs, Board Layers, and Schematics
Topic
Page
A.1
TLV320AIC23EVM Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
A.2
TLV320DAC23EVM Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
A.3
Board Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
A.4
TLV320AIC23EVM and TLV320DAC23EVM Schematics . . . . . . . . . . A-18
BOMs, Board Layers, and Schematics
A-1
TEXAS INSTRUMENTS SEMICONDUCTORS
Item
Number
DESCRIPTION
REF
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR
ALT. PART
NUMBER
MFG/
VENDOR
1
TLV320AIC23PW
U1
1
Texas Instruments
TLV320AIC23PW
TI
2
TPA102
U8
1
Texas Instruments
TPA102DGNR
TI
3
TPS7133D, 3.3V LDO REGULATOR
8–SOP
U10, U11
2
Texas Instruments
TPS7133QD
TI
296–2658–5
Digi-Key
4
TPS76750D, 5.0V 1A LDO REG 8–SOP
U9
1
Texas Instruments
TPS76750QD
TI
296–2739–5
Digi-Key
5
SN74AHCU04ADGVR
U7
1
Texas Instruments
SN74AHCU04DGVR
TI
6
SN74ALB16244DGGR
U5, U6
2
Texas Instruments
SN74ALB16244DGGR
TI
7
TUSB3200
U3
1
Texas Instruments
TUSB3200CPAH
TI
SEMICONDUCTORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
8
RECTIFIER 1 AMP
50V SMA SMD
D1
1
Diodes Inc.
S1AT
S1ADITR–ND
Digi-Key
9
LED GREEN DIFF
1206 SMD
D2, D4
2
Chicago Miniature
CMD15–21VGD/TR8
L62305TR–ND
Digi-Key
10
LED H.E. RED DIFF
1206 SMD
D3
1
Chicago Miniature
CMD15–21VRD/TR8
L62301TR–ND
Digi-Key
11
CS8427 CZ
U2
1
Crystal Semiconductor
CS8427 CZ
CS8427 CZ
Insight
12
AT24C64–10TC–2.7
U4
1
Microchip Technology
24LC64
24LC64–I/SN–ND
Digi-Key
13
6MHz
X1
1
ESC INC.
ECS–60–32–4
X413–ND
Digi-Key
ALTERNATE PART
NUMBER
AT24C64–10TC–2.7 /
ATMEL
TLV320AIC23EVM Bill of Materials
A-2
A.1 TLV320AIC23EVM Bill of Materials
A.1 TLV320AIC23EVM Bill of Materials (continued)
CAPACITORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART
NUMBER
VENDOR PART
NUMBER
VENDOR
CAP 33PF 50V CERM CHIP 0805
SMD
C46, C47
2
Panasonic
ECJ–2VC1H330J
PCC330CGTR–ND
Digi-Key
15
CAP 47PF 50V CERM CHIP 0805
SMD
C10, C12, C14,
C44, C45
5
Panasonic
ECJ–2VC1H470J
PCC470CGTR–ND
Digi-Key
16
CAP 100PF 50V CERM CHIP 0805
SMD
C49
1
Panasonic
ECJ–2VC1H101J
PCC101CGTR–ND
Digi-Key
17
CAP 1000PF 50V CERM CHIP 0805
C48
1
Panasonic
ECJ–2VC1H102J
PCC102CGTR–ND
Digi-Key
18
CAP 2200PF 50V CERM CHIP 0805
C38
1
Panasonic
ECJ–2VB1H222K
PCC222BNTR–ND
Digi-Key
19
CAP 10000PF 50V CERM CHIP 0805
C35, C36
2
Panasonic
ECJ–2VB1H103K
PCC103BNTR–ND
Digi-Key
20
CAP 68000PF 50V CERM X7R 0805
C37
1
Panasonic
ECJ–2YB1H683K
PCC1838TR–ND
Digi-Key
21
CAP 0.1UF 50V CERAMIC X7R 0805
C1, C3, C5, C7,
C8, C9, C18,
C24, C25, C26,
C27, C28, C30,
C32, C33, C34,
C39, C40, C42,
C43, C50, C51,
C52, C53, C54,
C55, C56, C57
28
Panasonic
ECJ–2YB1H104K
PCC1840TR–ND
Digi-Key
22
CAP 0.47UF 35V TANT TE Series
C11, C13, C16,
C17
4
Panasonic
ECS–T1VY474R
PCS6474TR–ND
Digi-Key
23
CAP 1.0UF 25V TANT TE Series
C15, C20
2
Panasonic
ECS–T1EY105R
PCS5105TR–ND
Digi-Key
24
CAP 10UF 6.3V TANT TE Series
C19, C23, C29,
C31
4
Panasonic
ECS–T0JY106R
PCS1106TR–ND
Digi-Key
25
CAP 10UF 16V TANT TE Series
C2, C4, C6
3
Panasonic
ECS–T1CX106R
PCS3106TR–ND
Digi-Key
26
CAP 220UF 25V ELECT VS SMD
C21, C22
2
Panasonic
ECE–V1EA221UP
PCE3187TR–ND
Digi-Key
PCS5474TR–ND/
Digi-Key
A-3
TLV320AIC23EVM Bill of Materials
BOMs, Board Layers, and Schematics
14
ALTERNATE PART
NUMBER
RESISTORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
27
RES 0.0 OHM 1/10W 5% 0805 SMD
R43 DO NOT
INSTALL
1
Panasonic
ERJ–6GEY0R00V
P0.0ATR–ND
Digi-Key
28
RES 22.1 OHM 1/10W 1% 0805 SMD
R37, R38
3
Panasonic
ERJ–6ENF22R1V
P22.1CTR–ND
Digi-Key
29
RES 75.0 OHM 1/10W 1% 0805 SMD
R25
1
Panasonic
ERJ–6ENF75R0V
P75.0CTR–ND
Digi-Key
30
RES 100 OHM 1/10W 1% 0805 SMD
R12, R14, R27
3
Panasonic
ERJ–6ENF1000V
P100CTR–ND
Digi-Key
31
RES 301 OHM 1/10W 1% 0805 SMD
R26
1
Panasonic
ERJ–6ENF3010V
P301CTR–ND
Digi-Key
32
RES 681 OHM 1/10W 1% 0805 SMD
R4
1
Panasonic
ERJ–6ENF6810V
P681CTR–ND
Digi-Key
33
RES 1.00K OHM 1/10W 1% 0805 SMD
R3, R41
2
Panasonic
ERJ–6ENF1001V
P1.00KCTR–ND
Digi-Key
34
RES 1.50K OHM 1/10W 1% 0805 SMD
R39
1
Panasonic
ERJ–6ENF1501V
P1.50KCTR–ND
Digi-Key
35
RES 3.01K OHM 1/10W 1% 0805 SMD
R40
1
Panasonic
ERJ–6ENF3011V
P3.01KCTR–ND
Digi-Key
36
RES 5.11K OHM 1/10W 1% 0805 SMD
R5, R6, R7, R8,
R11, R28
6
Panasonic
ERJ–6ENF5111V
P5.11KCTR–ND
Digi-Key
37
RES 10.0K OHM 1/10W 1% 0805 SMD
R1, R2, R9, R10,
R23, R24, R34,
R35, R36, R42
10
Panasonic
ERJ–6ENF1002V
P10.0KCTR–ND
Digi-Key
38
RES 20.0K OHM 1/10W 1% 0805 SMD
R16, R18, R19,
R20
4
Panasonic
ERJ–6ENF2002V
P20.0KCTR–ND
Digi-Key
39
RES 47.5K OHM 1/10W 1% 0805 SMD
R13, R15, R21,
R22, R29, R30,
R31, R32
8
Panasonic
ERJ–6ENF4752V
P47.5KCTR–ND
Digi-Key
40
RES 100K OHM 1/10W 1% 0805 SMD
R33
1
Panasonic
ERJ–6ENF1003V
P100KCTR–ND
Digi-Key
TLV320AIC23EVM Bill of Materials
A-4
A.1 TLV320AIC23EVM Bill of Materials (continued)
A.1 TLV320AIC23EVM Bill of Materials (continued)
INDUCTORS, TRANSFORMERS, FERRITE BEADS
Item
Number
REFERENCE
DESIGNATORS
DESCRIPTION
MFG
QTY
VENDOR PART
NUMBER
MFG PART NUMBER
41
FERRITE BEAD
FB1, FB2, FB3,
FB4, FB5
5
Panasonic
EXC–ML20A390U
42
TRANSFORMER
TR1
1
Mini–Circuits
T1–1T–KK81
P10191TR–ND
VENDOR
Digi-Key
Mini–Circuits
Jacks, Connectors, Switches, Headers
Item
Number
REFERENCE
DESIGNATORS
DESCRIPTION
MFG
QTY
MFG PART
NUMBER
VENDOR PART
NUMBER
VENDOR
TERM BLOCK VERT 2POS 5.08MM PCB
J3, J4, J14
3
On Shore
Technology
EDZ500/2DS
ED1975–Nd
Digi-Key
44
SAMTEC–TFM–140
J1, J2
2
SAMTEC
TFM–140–01–S–D
TFM–140–01–S–D
Arrow
45
RCA PHONO JACK, PCB
J5, J8
2
DGS
16PJ097
46
RCA PHONO JACK, PCB
J11, J12
2
DGS
16PJ097
Mouser
47
RCA PHONO JACK, PCB
J6, J9
2
DGS
16PJ097
Mouser
48
MICROPHONE
J7
1
DGS
161–3101
Mouser
49
PHONE JACK, 3.5mm STEREO
J10
1
DGS
161–3504
Mouser
50
CONN 2.1MM PWRJACK RT ANGLE PCB
J13
1
Switchcraft Inc.
RAPC722
SC1153–ND
Digi-Key
AU–Y1007
AE1085–ND
Digi-Key
A-5
51
USB_TYEB–RA
J15
1
Assmann
Electronics
52
SWITCH LIGHT TOUCH 160GF SMD
SW1
1
Panasonic
EVQ–PPBA25
P8086STR–ND
Digi-Key
53
ST SINGLE M HEADER GOLD 01 POS
TP1, TP2, TP3, TP4, TP5,
TP6, TP7, TP8, TP9, TP10,
TP11, TP12, TP13, TP14,
TP15, TP16, TP17, TP18,
TP19, TP20
20
Sullins Electronics
PZC01SAAN
S1011–01–ND
Digi-Key
54
ST SINGLE M HEADER GOLD 02 POS
JU1, JU2, JU3, JU4, JU8
5
Sullins Electronics
PZC02SAAN
S1011–02–ND
Digi-Key
55
ST SINGLE M HEADER GOLD 03 POS
JU5, JU6, JU7
3
Sullins Electronics
PZC03SAAN
S1011–03–ND
Digi-Key
TLV320AIC23EVM Bill of Materials
BOMs, Board Layers, and Schematics
43
TEXAS INSTRUMENTS SEMICONDUCTORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR
ALT. PART
NUMBER
MFG/
VENDOR
1
TLV320DAC23PW
U1
1
Texas Instruments
TLV320AIC23PW
TI
2
TPA102
U8
1
Texas Instruments
TPA102DGNR
TI
3
TPS7133D, 3.3V LDO REGULATOR
8–SOP
U10, U11
2
Texas Instruments
TPS7133QD
TI
296–2658–5
Digi-Key
4
TPS76750D, 5.0V 1A LDO REG 8–SOP
U9
1
Texas Instruments
TPS76750QD
TI
296–2739–5
Digi-Key
5
SN74AHCU04ADGVR
U7
1
Texas Instruments
SN74AHCU04DGVR
TI
6
SN74ALB16244DGGR
U5, U6
2
Texas Instruments
SN74ALB16244DGGR
TI
7
TUSB3200
U3
1
Texas Instruments
TUSB3200CPAH
TI
SEMICONDUCTORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
8
RECTIFIER 1 AMP
50V SMA SMD
D1
1
Diodes Inc.
S1AT
S1ADITR–ND
Digi-Key
9
LED GREEN DIFF
1206 SMD
D2, D4
2
Chicago Miniature
CMD15–21VGD/TR8
L62305TR–ND
Digi-Key
10
LED H.E. RED DIFF
1206 SMD
D3
1
Chicago Miniature
CMD15–21VRD/TR8
L62301TR–ND
Digi-Key
11
CS8427 CZ
U2
1
Crystal Semiconductor
CS8427 CZ
CS8427 CZ
Insight
12
AT24C64–10TC–2.7
U4
1
Microchip Technology
24LC64
24LC64–I/SN–ND
Digi-Key
13
6MHz
X1
1
ESC INC.
ECS–60–32–4
X413–ND
Digi-Key
ALTERNATE PART
NUMBER
AT24C64–10TC–2.7/
ATMEL
TLV320DAC23 Bill of Materials
A-6
A.2 TLV320DAC23EVM Bill of Materials
A.2 TLV320DAC23EVM Bill of Materials (continued)
CAPACITORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART
NUMBER
VENDOR PART
NUMBER
VENDOR
CAP 33PF 50V CERM CHIP 0805
SMD
C46, C47
2
Panasonic
ECJ–2VC1H330J
PCC330CGTR–ND
Digi-Key
15
CAP 47PF 50V CERM CHIP 0805
SMD
C10, C12, C14,
C44, C45
5
Panasonic
ECJ–2VC1H470J
PCC470CGTR–ND
Digi-Key
16
CAP 100PF 50V CERM CHIP 0805
SMD
C49
1
Panasonic
ECJ–2VC1H101J
PCC101CGTR–ND
Digi-Key
17
CAP 1000PF 50V CERM CHIP 0805
C48
1
Panasonic
ECJ–2VC1H102J
PCC102CGTR–ND
Digi-Key
18
CAP 2200PF 50V CERM CHIP 0805
C38
1
Panasonic
ECJ–2VB1H222K
PCC222BNTR–ND
Digi-Key
19
CAP 10000PF 50V CERM CHIP 0805
C35, C36
2
Panasonic
ECJ–2VB1H103K
PCC103BNTR–ND
Digi-Key
20
CAP 68000PF 50V CERM X7R 0805
C37
1
Panasonic
ECJ–2YB1H683K
PCC1838TR–ND
Digi-Key
21
CAP 0.1UF 50V CERAMIC X7R 0805
C1, C3, C5, C7,
C8, C9, C18,
C24, C25, C26,
C27, C28, C30,
C32, C33, C34,
C39, C40, C42,
C43, C50, C51,
C52, C53, C54,
C55, C56, C57
28
Panasonic
ECJ–2YB1H104K
PCC1840TR–ND
Digi-Key
22
CAP 0.47UF 35V TANT TE Series
C11, C13, C16,
C17
4
Panasonic
ECS–T1VY474R
PCS6474TR–ND
Digi-Key
23
CAP 1.0UF 25V TANT TE Series
C15, C20
2
Panasonic
ECS–T1EY105R
PCS5105TR–ND
Digi-Key
24
CAP 10UF 6.3V TANT TE Series
C19, C23, C29,
C31
4
Panasonic
ECS–T0JY106R
PCS1106TR–ND
Digi-Key
25
CAP 10UF 16V TANT TE Series
C2, C4, C6
3
Panasonic
ECS–T1CX106R
PCS3106TR–ND
Digi-Key
26
CAP 220UF 25V ELECT VS SMD
C21, C22
2
Panasonic
ECE–V1EA221UP
PCE3187TR–ND
Digi-Key
PCS5474TR–ND / DigiKey
A-7
TLV320DAC23EVM Bill of Materials
BOMs, Board Layers, and Schematics
14
ALTERNATE PART
NUMBER
RESISTORS
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
MFG
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
27
RES 0.0 OHM 1/10W 5% 0805 SMD
R43 DO NOT
INSTALL
1
Panasonic
ERJ–6GEY0R00V
P0.0ATR–ND
Digi-Key
28
RES 22.1 OHM 1/10W 1% 0805 SMD
R37, R38
3
Panasonic
ERJ–6ENF22R1V
P22.1CTR–ND
Digi-Key
29
RES 75.0 OHM 1/10W 1% 0805 SMD
R25
1
Panasonic
ERJ–6ENF75R0V
P75.0CTR–ND
Digi-Key
30
RES 100 OHM 1/10W 1% 0805 SMD
R12, R14, R27
3
Panasonic
ERJ–6ENF1000V
P100CTR–ND
Digi-Key
31
RES 301 OHM 1/10W 1% 0805 SMD
R26
1
Panasonic
ERJ–6ENF3010V
P301CTR–ND
Digi-Key
32
RES 681 OHM 1/10W 1% 0805 SMD
R4
1
Panasonic
ERJ–6ENF6810V
P681CTR–ND
Digi-Key
33
RES 1.00K OHM 1/10W 1% 0805 SMD
R3, R41
2
Panasonic
ERJ–6ENF1001V
P1.00KCTR–ND
Digi-Key
34
RES 1.50K OHM 1/10W 1% 0805 SMD
R39
1
Panasonic
ERJ–6ENF1501V
P1.50KCTR–ND
Digi-Key
35
RES 3.01K OHM 1/10W 1% 0805 SMD
R40
1
Panasonic
ERJ–6ENF3011V
P3.01KCTR–ND
Digi-Key
36
RES 5.11K OHM 1/10W 1% 0805 SMD
R5, R6, R7, R8,
R11, R28
6
Panasonic
ERJ–6ENF5111V
P5.11KCTR–ND
Digi-Key
37
RES 10.0K OHM 1/10W 1% 0805 SMD
R1, R2, R9, R10,
R23, R24, R34,
R35, R36, R42
10
Panasonic
ERJ–6ENF1002V
P10.0KCTR–ND
Digi-Key
38
RES 20.0K OHM 1/10W 1% 0805 SMD
R16, R18, R19,
R20
4
Panasonic
ERJ–6ENF2002V
P20.0KCTR–ND
Digi-Key
39
RES 47.5K OHM 1/10W 1% 0805 SMD
R13, R15, R21,
R22, R29, R30,
R31, R32
8
Panasonic
ERJ–6ENF4752V
P47.5KCTR–ND
Digi-Key
40
RES 100K OHM 1/10W 1% 0805 SMD
R33
1
Panasonic
ERJ–6ENF1003V
P100KCTR–ND
Digi-Key
TLV320DAC23 Bill of Materials
A-8
A.2 TLV320DAC23EVM Bill of Materials (continued)
A.2 TLV320DAC23EVM Bill of Materials (continued)
INDUCTORS, TRANSFORMERS, FERRITE BEADS
Item
Number
REFERENCE
DESIGNATORS
DESCRIPTION
MFG
QTY
VENDOR PART
NUMBER
MFG PART NUMBER
41
FERRITE BEAD
FB1, FB2, FB3,
FB4, FB5
5
Panasonic
EXC–ML20A390U
42
TRANSFORMER
TR1
1
Mini–Circuits
T1–1T–KK81
P10191TR–ND
VENDOR
Digi-Key
Mini–Circuits
Jacks, Connectors, Switches, Headers
Item
Number
REFERENCE
DESIGNATORS
DESCRIPTION
MFG
QTY
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
TERM BLOCK VERT 2POS 5.08MM
PCB
J3, J4, J14
3
On Shore Technology
EDZ500/2DS
ED1975–Nd
Digi-Key
44
SAMTEC–TFM–140
J1, J2
2
SAMTEC
TFM–140–01–S–D
TFM–140–01–S–D
Arrow
45
RCA PHONO JACK, PCB
J5, J8
2
DGS
16PJ097
Mouser
46
RCA PHONO JACK, PCB
J11, J12
2
DGS
16PJ097
Mouser
47
RCA PHONO JACK, PCB
J6, J9
2
DGS
16PJ097
Mouser
48
MICROPHONE
J7
1
DGS
161–3101
Mouser
49
PHONE JACK, 3.5mm STEREO
J10
1
DGS
161–3504
Mouser
50
CONN 2.1MM PWRJACK RT ANGLE
PCB
J13
1
Switchcraft INC.
RAPC722
SC1153–ND
Digi-Key
51
USB_TYEB–RA
J15
1
Assmann Electronics
AU–Y1007
AE1085–ND
Digi-Key
52
SWITCH LIGHT TOUCH 160GF SMD
SW1
1
Panasonic
EVQ–PPBA25
P8086STR–ND
Digi-Key
A-9
TLV320DAC23EVM Bill of Materials
BOMs, Board Layers, and Schematics
43
Jacks, Connectors, Switches, Headers (continued)
Item
Number
DESCRIPTION
REFERENCE
DESIGNATORS
QTY
20
Sullins Electronics
PZC01SAAN
S1011–01–ND
Digi-Key
MFG
MFG PART NUMBER
VENDOR PART
NUMBER
VENDOR
53
ST SINGLE M HEADER GOLD 01 POS
TP1, TP2, TP3, TP4, TP5,
TP6, TP7, TP8, TP9, TP10,
TP11, TP12, TP13, TP14,
TP15, TP16, TP17, TP18,
TP19, TP20
54
ST SINGLE M HEADER GOLD 02 POS
JU1, JU2, JU3, JU4, JU8
5
Sullins Electronics
PZC02SAAN
S1011–02–ND
Digi-Key
55
ST SINGLE M HEADER GOLD 03 POS
JU5, JU6, JU7
3
Sullins Electronics
PZC03SAAN
S1011–03–ND
Digi-Key
TLV320DAC23 Bill of Materials
A-10
A.2 TLV320DAC23EVM Bill of Materials (continued)
Board Layers
A.3 Board Layers
Figure A–1. Top Silkscreen
A-11
Board Layers
Figure A–2. Bottom Silkscreen
A-12
Board Layers
Figure A–3. Drill Drawing
A-13
Board Layers
Figure A–4. Copper Layer 1
A-14
Board Layers
Figure A–5. Copper Layer 2
A-15
Board Layers
Figure A–6. Copper Layer 3
A-16
Board Layers
Figure A–7. Copper Layer 4
A-17
TLV320AIC23EVM and TLV320DAC23EVM Schematics
A.4 TLV320AIC23EVM and TLV320DAC23EVM Schematics
Figure A–8. TLV320AIC23EVM and TLV320DAC23EVM Schematics
A-18
Download PDF