Cirrus Extra SurroundTM, Cirrus Original
Surround 6.1 (C.O.S. 6.1)
THX Surround EXTM, THX Ultra2 Cinema
12-Channel Serial Audio Inputs
Integrated 8K Byte Input Buffer
Powerful 32-bit Audio DSP
Customer Software Security Keys
Large On-chip X,Y, and Program RAM
Supports SDRAM, SRAM, FLASH
memories
16-channel PCM output
Dual S/PDIF Transmitters
SPI Serial, and Motorola®and Intel®Parallel
Host Control Interfaces
GPIO support for all common sub-circuits
TM
TM
and DTS Virtual 5.1
TM
TM
TM
Description
The CS49400 Audio Decoder DSP is targeted as a marketspecific consumer entertainment processor for AV Receivers
and DVD Audio/Video Players. The device is constructed using
an enhanced version of the CS49300 Family DSP audio
decoder followed by a 32-bit programmable post-processor
DSP, which gives the designer the ability to add product
differentiation through the Cirrus Framework
structure and Framework module library. Dolby Digital Pro
Logic II, DTS Digital Surround, MPEG Multichannel, and Cirrus
Original Surround 6.1 PCM Effects Processor (capable of
generating such DSP audio modes as: Hall, Theater, Church)
are included in the cost of the CS49400 Family DSP. Additional
algorithms available through the Crystal Ware
Licensing Program, give the designer the ability to further
TM
deliver end-product differentiation.
The CS49400 contains sufficient on-chip SRAM to support
decoding all major audio decoding algorithms available today
including: AAC Multichannel, DTS 96/24, DTS-ES 96/24. The
CS49400 also supports a glueless SDRAM/SRAM for
increased all-channel delays. The SRAM interface also
supports connection to an external byte-wide EPROM for code
storage or Flash memory thus allowing products to be fieldupgradable as new audio algorithms are developed.
This chip, teamed with Crystal Ware
library, Cirrus digital interface products and mixed signal data
converters, enables the conception and design of next
generation digital entertainment products.
Dolby Digital, Dolby Digital EX, AC-3, Dolby Pro Logic, Dolby Pro Logic II, Dolby Digital EX Pro Logic II, Dolby Surround, Dolby Surround Pro Logic
II, Surround EX, Virtual Dolby Digital and the “AAC” logo are trademarks and the “Dolby” and the double-”D” symbol are registered trademarks of
Dolby Laboratories Licensing Corporation. DTS, DTS Digital Surround, DTS-ES Extended Surround, DTS 96/24, DTS-ES 96/24, DTS Neo:6, and
DTS Virtual 5.1 are trademarks and the “DTS”, “DTS Digital Surround”, “DTS-ES”, “DTS 96/24”, “DTS-ES 96/24”, “DTS Neo:6”, “DTS Virtual 5.1” logos
are registered trademarks of the Digital Theater Systems Corporation. The “MPEG Logo” is a registered trademark of Philips Electronics N.V. THX
Ultra2 Cinema, Timbre-Matching, Re-EQ, Adapative Decorrelation and THX are trademarks or registered trademarks of Lucasfilm, Ltd. Surround EX
is a jointly developed technology of THX and Dolby Labs, Inc. AAC (Advanced Audio Coding) is an “MPEG-2-standard-based” digital audio
compression algorithm (offering up 5.1 discrete decoded channels for this implementation) collaboratively developed by AT&T, the Fraunhofer
Institute, Dolby Laboratories, and the Sony Corporation. In regards to the MP3 capable functionality of the CS494XX Family DSP (via downloading
of mp3_ab_494xxx_vv.uld application code) the following statements are applicable: “Supply of this product conveys a license for persona l, private
and non-commercial use. MPEG Layer-3 audio decoding technology licensed from Fraunhofer IIS and THOMSON Multimedia.” VMAx is a registered
trademark of Harman International. The LO GIC7 logo and LOGIC7 are registered trademarks of Lexicon. SRS CircleSurround, SRS Circle Suround
II, SRS T ruSurround, and SRS TruSurround XT are trademarks of SRS Labs, Inc. The HDCD logo, HDCD, High Definition Compatible Digital and
Pacific Microsonics are either registered trademarks or trademarks of Pacific Microsonics, Inc. in the United States and/or other countries. HDCD
technology provided under license from Pacific Microsonics, Inc. This product’s software is covered by one or more of the following in the United
States: 5,479,168; 5,638,074; 5,640,161; 5,872,531; 5,808,574; 5,838,274; 5,854,600; 5,864,311; and in Australia: 669114; with other patents
pending. Intel is a registered trademark of Intel Corporation. Motorola is a registered trademark of Motorola, Inc. I
Semiconductor. Purchase of I
Philips I2C Patent Rights to use those components in a standard I2Csystem.“Crystal Ware”, “Cirrus Framework”, “Cirrus Extra Surround”, “Cirrus
Triple Crossover Bass Management”, “Cirrus Quadruple Crossover Bass Management” and “Cirrus Original Surround 6.1” are trademarks and “Cirrus
Logic” is a registered trademarks of Cirrus Logic, Inc. All other names are trademarks, registered trademarks, or service marks of their respective
companies.
Preliminary product information describes products which are in production, but for which full characterization data is not yet available. Advance
product information describes products which are in development and subject to develo pment changes. Cirrus Logic, Inc. has made best efforts to
ensure that the information contained in this document is accurate an d reliable. However, the information is subject to change without notice and is
provided “AS IS” without warranty of any kind (express or implied). No responsibility is assumed by Cirrus Logic, Inc. for the use of this information,
nor for infringements of patents or other rights of third parties. This document is the property of Cirrus Logic, Inc. and implies no license under patents,
copyrights, trademarks, or trade secrets. No part of this publication may be copied, reproduced, stored in a retrieval system, or transmitted, in any
form or by any means (electronic, mechanical, photographic, or otherwise) without the prior written consent of Cirrus Logic, Inc. Items from any Cirrus
Logic website or disk may be printed for use by the user. However, no part of the printout or electronic files may be copied, reproduced, store d in a
retrieval system, or transmitted, in any form or by any means (electronic, mechanical, photographic, or otherwise) without the prior written consentof
Cirrus Logic, Inc.Furthermore, no part of this publication may be used as a basis for manufacture or sale of any items without the prior written consent
of Cirrus Logic, Inc. The names of products of Cirrus Logic, Inc. or other vendors an d suppliers appearing in this document may be trademarks or
service m arks of their respective owners which may be registered in some jurisdictions. A list of Cirrus Logic, Inc. trademarks and service marks can
be found at http://www.cirrus.com.
2
C Components of Cirrus Logic, Inc., or one of its sublicensed Associated Companies conveys a license under the
Table 31. Example Values to be Sent to DSPAB After Download or Soft Reset................................86
Table 32. Example Values to be Sent to DSPC After Download or Soft Reset..................................86
6
1.0 CHARACTERISTICS AND SPECIFICATIONS
Note: All data sheet minimum and maximum timing parameters are guaranteed over the rated voltage and
temperature. Actual production testing is performed at T
=25°C with an appropriate guardband to
A
guarantee minimum and maximum timing specifications over rated voltage and temperature.
1.1 Absolute Maximum Ratings
(VSS, VSSSD, PLLVSS = 0 V; all voltages with respect to 0 V)
ParameterSymbolMinMaxUnit
DC power supplies:Core supply
PLL supply
Memory supply
||PLLVDD| – |VDD||
Input current, any pin except suppliesI
Digital input voltage on I/O pins powered from VDDV
Digital input voltage on I/O pins powered from VDDSDV
Storage temperatureT
VDD
PLLVSS
VDDSD
in
ind
insd
stg
–0.3
–0.3
–0.3
-
2.7
2.7
3.6
0.3
V
V
V
V
-±10mA
-3.6V
-3.6V
–65150°C
Caution:Operation at or beyond these limits may result in permanent damage to the device. Normal operation
is not guaranteed at these extremes.
1.2 Recommended Operating Conditions
(VSS, VSSSD, PLLVSS = 0 V; all voltages with respect to 0 V)
ParameterSymbolMinTypMaxUnit
DC power supplies:Core supply
PLL supply
Memory supply
VDD
PLLVSS
VDDSD
||PLLVDD| – |VDD||
Ambient operating temperatureT
A
1.3 Digital D.C. Characteristics for VDD Level I/O
(TA=25°C;VDD = 2.5 V; measurements performed under static conditions.)
ParameterSymbolMinTypMaxUnit
High-level input voltageV
Low-level input voltageV
High-level output voltage at I
Low-level output voltage at I
= –2.0 mAV
O
=2.0mAV
O
Input leakage current (all pins without internal pullup resistors except CLKIN)
Input leakage current (pins with internal pull-up
resistors, CLKIN)
OH
I
IH
IL
OL
in
2.0--V
--0.8V
VDD × 0.9--V
--VDD× 0.1V
--10µA
2.37
2.37
3.15
2.5
2.5
3.3
2.63
2.63
3.45
0.3
0-70°C
50µA
V
V
V
V
7
1.4 Digital D.C. Characteristics for VDDSD Level I/O
(TA=25°C;VDDSD = 3.3 V±; measurements performed under static conditions.)
ParameterSymbolMinTypMaxUnit
High-level input voltageV
Low-level input voltageV
High-level output voltage at I
Low-level output voltage at I
= –2.0 mAV
O
=2.0mAV
O
Input leakage current (except all pins with internal pull-
I
IH
IL
OH
OL
in
0.65xVDDSDV
0.35xVDDSDV
0.9xVDDSDV
0.1xVDDSDV
10µA
up)
Input leakage current (all pins with internal pull-up)50µA
1.5 Power Supply Characteristics
(TA=25°C; VDD, PLLVDD = 2.5 V; VDDSD = 3.3 V;measurements performed under operating conditions)
Address setup before FCS and FRD low or FCS and FWR low
Address hold time after FCS
and FRD low or FCS and FWR
T
ias
T
iah
high
Read
Delay between FRD then FCS low or FCS then FRD low
Data valid after FCS
FCS
and FRD low for read(Note 1)
Data hold time after FCS
Data high-Z after FCS
FCS
or FRD high to FCS and FRD low for next read (Note 1)
FCS
or FRD high to FCS and FWR low for next write (Note 1)
and FRD lowT
or FRD high
or FRD high
T
T
T
T
T
icdr
idd
irpw
idhr
idis
T
ird
irdtw
Write
Delay between FWR then FCS low or FCS then FWR low
Data setup before FCS
FCS
and FWR low for write(Note 1)
Data hold after FCS
FCS
or FWR high to FCS and FRD low for next read (Note 1)
FCS
or FWR high to FCS and FWR low for next write (Note 1)
or FWR high
or FWR high
T
T
T
T
T
T
icdw
idsu
iwpw
idhw
iwtrd
iwd
Notes: 1. Certain timing parameters are normalized to the DSP clock period, DCLKP. DCLKP = 1/DCLK. The
DSP clock can be defined as follows:
5-ns
5-ns
0-ns
-21ns
DCLKP + 10-ns
5-ns
-22ns
2*DCLKP + 10-ns
2*DCLKP + 10-ns
0-ns
20-ns
DCLKP + 10-ns
5-ns
2*DCLKP + 10-ns
2*DCLKP + 10-ns
10
Internal Clock Mode:
DCLK ~ 60MHz before and during boot, i.e. DCLKP ~ 16.6ns
DCLK ~ 86 MHz after boot, i.e. DCLKP ~ 11.6ns
It should be noted that DCLK for the internal clock mode is application specific. The application code
users guide should be checked to confirm DCLK for the particular application.
A1:0F
DATA7:0
F
F
F
F
A1:0F
CS
WR
RD
T
ia h
T
ias
T
icdr
T
idd
idhr
T
idis
T
irpw
T
ird
T
Figure 3. Intel®Parallel Host Mode Slave Read Cycle for DSPAB
T
ird tw
F
DATA7:0
F
F
F
WR
CS
RD
T
iah
T
ias
T
icdw
T
iwpw
T
id hw
T
idsu
T
iw d
T
iwtrd
Figure 4. Intel®Parallel Host Mode Slave Write Cycle for DSPAB
Address setup before CS and RD low or CS and WR low
Address hold time after CS
and RD low or CS and WR low
Read
Delay between RD then CS low or CS then RD low
Data valid after CS
and RD low
T
ias
T
iah
T
icdr
T
idd
DCLKP+15-ns
DCLKP-ns
0-ns
-2*DCLKP+25ns
and RD low for read(Note 1)
CS
Data hold time after CS
Data high-Z after CS
CS
or RD high to CS and RD low for next read(Note 1)
CS
or RD high to CS and WR low for next write(Note 1)
or RD high
or RD high
T
T
T
T
irpw
idhr
idis
T
ird
irdtw
2*DCLKP-ns
DCLKP+10-ns
-2*DCLKP+10ns
2*DCLKP+10-ns
2*DCLKP+10-ns
Write
Delay between WR then CS low or CS then WR low
Data setup before CS
CS
and WR low for write(Note 1)
Data hold after CS
CS
or WR high to CS and RD low for next read(Note 1)
CS
or WR high to CS and WR low for next write(Note 1)
or WR high
or WR high
T
T
T
T
T
T
icdw
idsu
iwpw
idhw
iwtrd
iwd
0-ns
2*DCLKP+10-ns
2*DCLKP-ns
DCLKP-ns
2*DCLKP+10-ns
2*DCLKP+10-ns
Notes: 1. Certain timing parameters are normalized to the DSP clock, DCLKP, in nanoseconds. DCLKP =
1/DCLK. The DSP clock can be defined as follows:
Internal Clock Mode:
DCLK ~ 60MHz before and during boot, i.e. DCLKP ~ 16.6ns
DCLK ~ 86 MHz after boot, i.e. DCLKP ~ 11.6ns
12
It should be noted that DCLK for the internal clock mode is application specific. The application code
users guide should be checked to confirm DCLK for the particular application.
A1:0
DATA7:0
CS
WR
RD
A1:0
DATA7:0
CS
RD
T
iah
T
ias
T
icdr
T
idhr
T
idd
T
idis
T
irpw
T
ird
Figure 5. Intel®Parallel Host Slave Mode Read Cycle for DSPC
Delay between FDS then FCS low or FCS then FDS low
Data valid after FCS
and FRD low with R/W high)
T
T
T
T
mas
mah
mcdr
mdd
5-ns
5-ns
0-ns
-21ns
and FDS low for read(Note 1)
FCS
Data hold time after FCS
Data high-Z after FCS
FCS
or FDS high to FCS and FDS low for next read (Note 1)
FCS
or FDS high to FCS and FDS low for next write(Note 1)
or FDS high after read
or FDS high after read
T
mrpw
T
T
T
T
mrdtw
mdhr
mdis
mrd
DCLKP + 10-ns
5-ns
-22ns
2*DCLKP + 10-ns
2*DCLKP + 10-ns
Write
Delay between FDS then FCS low or FCS then FDS low
Data setup before FCS
FCS
and FDS low for write(Note 1)
R/W
setup before FCS AND FDS low
R/W
hold time after FCS or FDS high
Data hold after FCS
FCS
or FDS high to FCS and FDS low with R/W high for
or FDS high
or FDS high
T
mcdw
T
mdsu
T
mwpw
T
mrwsu
T
mrwhld
T
mdhw
T
mwtrd
0-ns
20-ns
DCLKP + 10-ns
5-ns
5-ns
5-ns
2*DCLKP + 10-ns
next read(Note 1)
or FDS high to FCS and FDS low for next write(Note 1)
FCS
T
mwd
2*DCLKP + 10-ns
Notes: 1. Certain timing parameters are normalized to the DSP clock, DCLKP, in nanoseconds. DCLKP =
1/DCLK. The DSP clock can be defined as follows:
Internal Clock Mode:
DCLK ~ 60MHz before and during boot, i.e. DCLKP ~ 16.6ns
DCLK ~ 86 MHz after boot, i.e. DCLKP ~ 11.6ns
14
It should be noted that DCLK for the internal clock mode is application specific. The application code
users guide should be checked to confirm DCLK for the particular application.
A1:0F
T
mah
DATA7:0
F
CS
F
R/W
F
DS
F
T
T
mas
mrwsu
T
mcdr
T
mdhr
T
mdd
T
mdis
T
mrpw
T
mrd
Figure 7. Motorola®Parallel Host Slave Mode Read Cycle for DSPAB
A1:0F
T
mas
F
DATA7:0
FF
CS
F
R/W
F
DS
T
T
mcdw
T
mrwsu
mdsu
T
mah
T
mdhw
T
mwpw
T
mwd
T
mrdtw
T
mrwhld
T
mrwhld
T
mwtrd
Figure 8. Motorola®Parallel Host Slave Mode Write Cycle for DSPAB
or DS high to CS and DS low for next write(Note 1)
or DS high after read
or DS high low after read
T
mrpw
T
T
T
T
mrdtw
mdhr
mdis
mrd
2*DCLKP-ns
DCLKP+ 10-ns
-2*DCLKP+10ns
2*DCLKP+10-ns
2*DCLKP+10-ns
Write
Delay between DS then CS low or CS then DS low
Data setup before CS
CS
and DS low for write(Note 1)
R/W
setup before CS AND DS low
R/W
hold time after CS or DS high
Data hold after CS
CS
or DS high to CS and DS low with R/W high for next read
or DS high
or DS high
T
mcdw
T
mdsu
T
mwpw
T
mrwsu
T
mrwhld
T
mdhw
T
mwtrd
0-ns
2*DCLKP+10-ns
2*DCLKP-ns
DCLKP-ns
5-ns
DCLKP-ns
2*DCLKP+10-ns
(Note 1)
CS or DS high to CS and DS low for next write(Note 1)
T
mwd
2*DCLKP+10-ns
Notes: 1. Certain timing parameters are normalized to the DSP clock, DCLKP, in nanoseconds. DCLKP =
1/DCLK. The DSP clock can be defined as follows:
16
Internal Clock Mode:
DCLK ~ 60MHz before and during boot, i.e. DCLKP ~ 16.6ns
DCLK ~ 86 MHz after boot, i.e. DCLKP ~ 11.6ns
It should be noted that DCLK for the internal clock mode is application specific. The application code
users guide should be checked to confirm DCLK for the particular application.
indicates the maximum speed of the hardware. The system designer should be
sck
aware that the actual maximum speed of the communication port may be limited by the DSP application
code. The relevant application code user’s manual should be consulted for the software speed
limitations.
2. Data must be held for sufficient time to bridge the transition time of FSCCLK.
3. FINTREQ
goes high only if there is no data to be read from the DSP at the rising edge of FSCCLK for
the second-to-last bit of the last byte of data during a read operation as shown.
4. If FINTREQ
goes high as indicated in (Note 3), then FINTREQ is guaranteed to remain high until the
next rising edge of FSCCLK. If there is more data to be read at this time, FINTREQ
again. Treat this condition as a new read transaction. Raise chip select to end the current read
transaction and then drop it, followed by the 7-bit address and the R/W
a new read transaction.
sck
css
scl
sch
cdisu
cdih
scdov
scrh
scrl
sccsh
t
csht
cscdo
-2MHz
20-ns
150-ns
150-ns
50-ns
50-ns
-40ns
-200ns
0-ns
20-ns
200-ns
20ns
goes active low
bit (set to 1 for a read) to start
18
sccsh
t
A6
csht
t
LSB
LSB
tri-state
cscdo
t
scrl
t
675
scdov
07
62
MSB
R/W
A0A6A5
t
MSB
scdov
t
scrh
t
Figure 11. SPI Control Port Slave Mode Timing (DSPAB)
cdih
1
scl
t
0
css
t
sch
t
f
t
r
t
t
cdisu
t
FCS
FSCCLK
FSCDIN
FSCDOUT
FINTREQ
19
1.13 Switching Characteristics — SPI Control Port Slave Mode (DSPC)
indicates the maximum speed of the hardware. The system designer should be
sck
aware that the actual maximum speed of the communication port may be limited by the software. The
relevant application code user’s manual should be consulted for the software speed limitations.
2. Data must be held for sufficient time to bridge the transition time of SCCLK.
sck
css
scl
sch
cdisu
cdih
scdov
scrh
scrl
sccsh
sccsl
t
csht
cscdo
-5MHz
4*DCLKP-ns
4*DCLKP-ns
4*DCLKP-ns
DCLKP-ns
DCLKP+20-ns
-3*DCLKP+20ns
-DCLKPns
DCLKP-ns
2*DCLKP+15-ns
10ns
4*DCLKP-ns
DCLKPns
20
Figure 12. SPI Control Port Slave Mode Timing (DSPC)
21
1.14 Switching Characteristics — Digital Audio Input (DSPAB)
Notes: 1. Certain timing parameters are normalized to the DSP clock, DCLK, in nanoseconds. The DSP clock can
be defined as follows:
Internal Clock Mode:
DCLK ~ 60MHz before and during boot, i.e. DCLKP ~ 16.6ns
DCLK ~ 86 MHz after boot, i.e. DCLKP ~ 11.6ns
It should be noted that DCLK for the internal clock mode is application specific. The application code
users guide should be checked to confirm DCLK for the particular application.
CMPCLK
FDAT[7:0]
T
cmps u
T
cmpc lk
4*DCLKP + 10ns
10ns
10ns
T
cmphld
Figure 16. Parallel Data Timing
25
1.18 Switching Characteristics — Digital Audio Output
SCLK0, SCLK1 period for Master or Slave mode(Note 2)T
sclk
SCLK0, SCLK1 duty cycle for Master or Slave mode(Note 2)4555%
Master Mode (Output A1 Mode)(Note 2, 3)
SCLK0, SCLK1 delay from MCLK rising edge, MCLK as an
T
sdmi
input
LRCLK0, LRCLK1 delay from SCLK0, SCLK1 transition,
T
lrds
respectively(Note 4)
AUDATA7–0 delay from SCLK0, SCLK1 transition(Note 4)T
adsm
Slave Mode (Output A0 Mode)(Note 5)
Time from active edge of SCLK0, SCLK1 to LRCLK0, LRCLK1
T
stlr
transition
Time from LRCLK0, LRCLK1 transition to SCLK0, SCLK1
T
lrts
active edge
AUDATA7–0 delay from SCLK0, SCLK1 transition(Note 4)T
adss
Notes: 1. DSPC has two Digital Audio Output modules having analogous signal names ending in 0 and 1. Both
DAO ports share a common MCLK but have independent SCLKs and LRCLKs.
2. Master mode timing specifications are characterized, not production tested.
3. Master mode is defined as the CS49400 driving both SCLK0, SCLK1, LRCLK0, and LRCLK1. When
MCLK is an input, it is divided to produce SCLK0, SCLK1, LRCLK0 and LRCLK1.
4. This timing parameter is defined from the non-active edge of SCLK0 and SCLK1. The active edge of
SCLK0 and SCLK1 is the point at which the data is valid.
5. Slave mode is defined as SCLK0, SCLK1, LRCLK0 and LRCLK1 driven by an external source.
40-ns
40-ns
15ns
10ns
10ns
10-ns
10-ns
15ns
26
MCLK (Input)
T
mclk
SCLK0,1 (Output)
T
T
sdmo,
sdmi
SCLK 0,1
(Output)
T
sclk
T
lrds
LRCLK 0,1
(Output)
T
adsm
AUDATA7:0
Master Mode (Output A1) Output Clock Timing and Digital Audio
Output Data
SCLK 0,1
(Input)
T
T
lrts
sclk
T
stlr
LRCLK 0,1
(Input)
T
adss
AUDATA7:0
Slave Mode (Output A0) Output Clock Timing and Digital Audio
Output Data
Figure 18. Digital Audio Output Data, Input and Output Clock Timing
Figure 26. SDRAM Controller Timing Diagram - Auto Refresh Cycle
33
2. OVERVIEW
•HDCD
®
The CS49400 is a 24-bit fixed-point decoder DSP
followed by a 32-bit fixed point programmable
post-processor DSP. The decoder portion of the
CS49400 is referred to as “DSPAB”. The postprocessor DSP is referred to as “DSPC”. Both
DSPAB and DSPC include their own dedicated
peripherals such as serial and parallel control ports,
and serial audio interfaces. DSPC also has a
externalmemoryinterfacewhichsupports
SRAM/SDRAM/EPROM.
All the decoding/processing algorithms listed
below require delivery of PCM or IEC61937packed compressed data via I2S or LJ formatted
digital audio to the CS49400. Today the CS49400
willsupportallofthefollowing
decoding/processing standards:
•PCM Pass-Through/PCM Upsampler
•Dolby Digital™(with Dolby Pro Logic)
•Dolby Digital Pro Logic II
•Dolby Digital EX
™
•Dolby Digital EX Pro Logic II
™
™
™
•MPEG-2, Advanced Audio Coding Algorithm
(AAC)
•MPEG Multichannel
•MPEG Multichannel with Dolby Pro Logic II
™
•MPEG-1/2, Layer III (MP3)
All ofthe aboveaudio decoding/processing
algorithms and the associated application notes
(AN208 and their corresponding appendices) are
available through the Crystal Ware
TM
Software
Licensing Program. Please refer to AN208 for the
latest listing of application codes for DSPAB.
DSPC is unique to DSPAB in the sense that the
designer may choose to just load a standard or
enhanced application code (.ULD file) from the
Crystal Ware Software Library or if they have
accesstotheCirrusFrameworkDSPC
Development Kit, they may choose to build their
own application code from a variety of modules. A
DSPCapplicationcodecontainsallofthe
necessarypost-processingmodules,suchas
Crossbar Mixer, Pro Logic Module, Bass Manager
Module, and Audio Manager (Kernel). A module is
just a single processing module, such as Tone
Control, Parametric/Graphic EQ, or Dolby Pro
Logic matrix decoder. DSPC on the CS49400 will
support the following post-processing application
codes and/or modules:
•Standard Post-Processor (includes the follow-
ing modules all compiled into one .ULD file):
Downmixer module, Dualzone module, Crossbar Mixer module, 7.1 Channel Bass Manager
module, Audio Manager module (Volume
Control, Trim Control and Channel Remap),
and Delay module
•DTS Digital Surround™
•DTS 96/24™ (Front-end Decoder)
•DTS Digital Surround™ withDolby Pro Logic II™
•DTS-ES Extended Surround
™
(DTS-ES Discrete 6.1 and DTS-ES Matrix 6.1)
•DTS-ES 96/24
•DTS Neo:6
•LOGIC7
™
(Front-end Decoder)
™
®
•SRS Circle Surround™II
34
•Advanced Post-Processor (includes the all of
the standard post-processing modules plus the
Tone Control module, Parametric EQ module,
Re-EQ module in all compiled into one .ULD )
•Dolby Pro Logic
•Dolby Pro Logic II
•SRS Circle Surround II
•DTS Neo:6
•LOGIC7
®
™
™
™
™
•THX®Surround EX™ 7.1 Channel
Post-Processor
•THX®Ultra2 Cinema™7.1 Channel
Post-Processor
•Cirrus Extra Surround
•Cirrus Original Multichannel Surround
™
™
•Virtual Dolby Digital™/Virtual Dolby Digital
Pro Logic II
•VMAx VirtualTheater
•HDCD
™
Virtualizer Module
™
Virtualizer Module
®
Multichannel Decoder
•DVD-Audio/Video and Multichannel SACD
Bass Management
™
•DTS/DTS-ES 96/24
•DTS/DTS-ES 96/24
®
THX
Ultra2 Cinema
Back-End Decoder
™
Back-End Decoder with
™
All of the above audio post-processing applications
codes and/or Cirrus FrameworkTM modules and
the associated application notes (AN209 and the
associated appendices) are available through the
Crystal WareTM Software Licensing Program. All
standardorenhancedpost-processingcode
modules are only available to customers who
TM
qualify for the Cirrus Framework
CS49400
Family DSPC Programming Kit. Please refer to
AN209 for the latest listing of application codes
and Cirrus FrameworkTM modules available for
DSPC.
2.1 DSPAB
2.2 DSPC
DSPC is a 32-bit, general-purpose, fixed-point
RAM-based processor which includes on-chip
ROM tables. It has been designed with a generous
amount of on-chip program and data RAM, and has
all necessary peripherals required to support the
lateststandardsinconsumerentertainment
productssuchasAVreceiversandDVDAudio/Video players.
DSPC has on-chip data and program RAM, and
both external SDRAMand SRAM memory
interfaces. These interfaces can be used to expand
the data memory. DSPC also has its own 8-channel
digital audio input for post-processing PCM from a
Multichannel Super Audio CD (SACD) input or
DVD-Audio/Video input, via high-performance
A/Ds or from some other type of multichannel
digital input, capable of delivering 4 stereo digital
audio channels such as IEEE1394 (a.k.a. I-Link
or Firewire®). Data can be delivered to this port
using the standard audio formats (I
can be controlled serially using the SPI standard or
via Parallel host control port using the Motorola
or Intel®standard. DSPC has a Digital Audio
output port that has eight stereo serial data outputs
for a total of 16 channels. Data can be delivered
from these outputs in serial I
of these outputs (AUDAT3, AUDAT7) can be
configuredasaIEC60958-formatS/PDIF
transmitter.
2
S or LJ). DSPC
2
S or LJ format. Two
®
®
DSPAB is an enhanced version of the CS49300. It
was designed to have legacy code support for all
decoder applications developed for the CS49300. It
includes performance enhancements such as the
ability to decode AAC without the need for
external SRAM memory. DSPAB has a Digital
Audio Input (DAI) and a Compressed Data Input
2
(CDI) port for data delivery in either I
SorLJ
format. DSPAB can be controlled serially using the
SPI standard and can also be controlled via a
®
Parallel host control port using the Motorola
®
Intel
communication standards.
or
This document focuses on the electrical features of
the CS49400. The features are described from a
hardwaredesignperspective.Itshouldbe
understood that not all of the features portrayed in
this document are supported by all of the versions
of application code available. The application code
user’s guides should be consulted to determine
which hardware features are supported by the
software.
Please note that a download of application software
is required each time the part is powered up. This
term should be interpreted as meaning the transfer of
application code into the internal memory of the part
35
from either an external microcontroller or through
one of the boot procedures listed in Section 8.
3. TYPICAL CONNECTION DIAGRAMS
Four typical connection diagrams have been
presented to illustrate using the part with the
different communication modes available. They
are as follows:
Figure 27, "SPI Control with External Memory 144 Pin Package" on page 38.
®
Figure 28, "Intel
Parallel Control Mode - 144 Pin
Package" on page 39.
®
Figure 29, "Motorola
Parallel Control Mode - 144
Pin Package" on page 40.
The following should be noted when viewing the
typical connection diagrams:
Note: The pins are grouped functionally in each
of the typical connection diagrams. Please be
aware that the CS49400 symbol may appear
differently in each diagram.
The external memory interface is supported
when a serial or parallel communication mode
has been chosen.
3.1 Multiplexed Pins
The CS49400 incorporates a large amount of
flexibility into a 144 pin package. The pins are
internally multiplexed to serve multiple purposes.
Some pins are designed to operate in one mode at
power up, and serve a different purpose when the
DSP is running. Other pins have functionality
which can be controlled by the application running
on the DSP. In order to better explain the behavior
of the part, the pins which are multiplexed have
been given multiple names. Each name is specific
to the pin’s operation in a particular mode.
In this document, pins will be referred to by their
functionality. Section 12“Pin Description” on
page 86 describes each pin of the CS49400 and lists
all of its names. Please refer to this section when
exact pin numbers are in question.
3.2 Termination Requirements
The CS49400 incorporates open drain pins which
mustbepulledhighforproperoperation.
FINTREQ
and INTREQ are always open drains
which requires a pull-up for proper operation.
Due to the internal, multiplexed design of the pins,
certain signals may or may not require termination
depending on the mode being used. If a parallel
host communication mode is not being used, all
parallel control pins must be terminated or driven
as these pins will come up as high impedance
inputs and will be prone to oscillation if they are
left floating. The specific termination requirements
may vary since the state of some of the GPIO pins
will determine the communication mode at the
rising edge of reset (please see Section 6 “Control”
on page 41 for more information). For the explicit
termination requirements of each communication
mode please see the typical connection diagrams.
Generally a 3.3k Ohm resistor is recommended for
open drain and mode select pins. A 10k Ohm
resistor is sufficient for all other unused inputs.
3.3 Phase Locked Loop Filter
The internal phase locked loop (PLL) of the
CS49400 requires an external filter. The topology
of this filter is shown in the typical connection
diagrams. The component values are shown below.
Care should be taken when laying out the filter
circuitry to minimize trace lengths and to avoid any
high frequency signals. Any noise coupled onto the
filter circuit will be directly coupled into the PLL,
which could affect performance.
Reference DesignatorValue
C12.2uF
C21200pF
C368pF
R13k Ohm
Table 1. PLL Filter Component Values
36
4. POWER
4.2 Analog Power Conditioning
The CS49400 requires a 2.5V digital power supply
for the core logic and 2.5V I/O and a 2.5V analog
power supply for the internal PLL. For systems
with external memory that runs on 3.3V, a 3.3V
digital power supply is required on the VDDSD
pins along with four digital grounds on VSSSD.
There are seven digital power pins, VDD1 through
VDD7, along with seven digital grounds, VSS1
through VSS7. There is one analog power pin,
PLLVDD, and one analog ground, PLLVSS. The
recommendations given below for decoupling and
power conditioning of the CS49400 will help to
ensure reliable performance.
4.1 Decoupling
It is necessary to decouple the power supply by
placing capacitors directly between the power and
ground of the CS49400. Each pair of power/ground
pins (VDD1/VSS1, etc.) should have its own
decouplingcapacitors.Therecommended
procedure is to place both a 0.1uF and a 1uF
capacitor as close as physically possible to each
power pin. The 0.1uF capacitor should be closest to
the part (typically 5mm or closer).
In order to obtain the best performance from the
CS49400’s internal PLL, the analog power supply
PLLVDD must be as noise-free as possible. A
ferrite bead and two capacitors should be used to
filter the VDD to generate PLLVDD. This power
scheme isshowninthe typicalconnection
diagrams.
4.3 Ground
For two layer circuit boards, care should be taken
to have sufficient ground between the DSP and
parts in which it will be interfacing (DACs, ADCs,
S/PDIF Receivers, microcontrollers, and especially
external memory). Insufficient ground can degrade
noise margins between devices resulting in data
integrity problems.
4.4 Pads
The CS49400 has two different I/O voltage levels.
All signal pins not associated with the External
SRAM/SDRAM memory interface operate from
the 2.5V supply and are 3.3V tolerant. The external
SRAM/SDRAM memory interface operates at
3.3V only. However, if the external memory
interface is not used VDDSD1-4 may be connected
to 2.5V.
37
MICROCONTROLLER
SPI
INTERFACE
ADC OR SPDIF RX
ADC
ADCs
OSCILLATOR
+2.5 VA
C1
C2
NOTE:
1. A capacitor pair (.01uF and 0.1uF) must
be supplied for each power pin.
2. The digital supply (+2.5 VD) is filtered.
to obtain the analog suply (+2.5 VA).
Figure 29. Motorola®Parallel Control Mode - 144 Pin Package
5. CLOCKING
The CS49400clock managerincorporatesa
programmable phase locked loop (PLL) clock
synthesizer. The PLL takes an input reference
clock and produces all the clocks required to run
the DSP and peripherals.
In A/V Receiver designs, the CLKIN pin is
typically connected to a 12.288MHz oscillator.
The clock manager is controlled by the DSPAB
application software. The software user’s guide for
theapplicationcodebeingusedshouldbe
referenced for which CLKIN input frequency is
supported.
6. CONTROL
Control of the CS49400 can be accomplished
through one of three methods. The CS49400
supports SPI serial communication and Motorola®
and Intel® byte-wide parallel communication.
Both DSPAB and DSPC have their own control
ports. Only one of the three communication modes
can be selected for control. Both DSPAB and
DSPCusethesamecommunicationmode.
However, please note that the 100-pin package
only supports SPI serial communication. The states
of the FHS[2:0] for DSPAB and UHS[2:0] for
DSPC, sampled at the rising edge of RESET,
determine the communication interface (Table 2.)
144-Pin Package
FHS2
(Pin 7)
101Serial SPI
11 0
11 1
FHS2
(Pin 6)
101Serial SPI
FHS1
(Pin 13
FHS1
(Pin 10
Table2.HostModesforDSPAB
FHS0
(Pin 12)
)
100-Pin Package
FHS0
(Pin 9)
)
.
Host Interface Mode
8-bit Intel
8-bit Motorola
Host Interface Mode
®
®
144-Pin Package
UHS2
(Pin 143)
101Serial SPI
110
111
UHS2
(Pin 99)
101Serial SPI
UHS1
(Pin 2)
UHS1
(Pin 2)
Table 3. Host Modes for DSPC
UHS0
(Pin 1)
100-Pin Package
UHS0
(Pin 1)
Host Interface Mode
8-bit Intel
8-bit Motorola
Host Interface Mode
®
®
Whichever host communication mode is used, host
control of the CS49400 is handled through the
applicationsoftwarerunningontheDSP.
Configuration and control of the CS49400 decoder
and its peripherals are indirectly executed through
a messaging protocol supported by the downloaded
applicationcode. Inotherwords, successful
communication can only be accomplished by
following the low level hardware communication
format and high level messaging protocol. The
specifications of the messaging protocol can be
found in any of the software user’s guides, such as
AN208 and AN209.
The system designer only needs to read the
subsection describing the communication mode
being used. Please note that the communication
protocol might be slightly different for DSPAB and
DSPC.
Thefollowingsectionswillexplaineach
communicationmodeinmoredetail.Flow
diagrams will illustrate read and write cycles.
The timing diagrams shown demonstrate relative
edge positions of signal transitions for read and
write operations.
6.1 Serial Communication
6.1.1 SPI Communication for DSPAB
SPI communication with DSPAB is accomplished
with five communication lines: chip select, serial
control clock, serial data in, serial data out, and an
interrupt request line that signals DSPAB has data
to transmit to the host. Table 4 lists the mnemonic,
41
pin name, and pin number of each of these signals
on DSPAB.
MnemonicPin Name144-Pin
Package,
Pin
Number
Chip SelectFCS1511
Serial ClockFSCCLK65
Serial Data InFSCDIN44
Serial Data Out FSCDOUT76
Interrupt
RequestFINTREQ
Table 4. SPI Communication Signals for DSPAB
1612
100-Pin
Package,
Pin
Number
6.1.1.1 Writing in SPI for DSPAB
When writing to the device in SPI the same
protocol will be used whether writing a byte, a
message, or even an entire executable download
image. The examples shown in this document can
be expanded to fit any write situation. Figure 30,
"SPI Write Flow Diagram for DSPAB" on page 42
shows a typical write sequence:
SPI START: FCS (LOW)
for DSPABdefaultsto1000000b. It is
necessary to clock this address in prior to any
transfer in order for DSPAB to accept the write.
In other words a byte of 0x80 should be clocked
into the device preceding any write. The 0x80
byte represents the 7-bit address 1000000b,
with the least significant bit set to 0 to designate
a write.
3) The host should then clock data into the device
most significant bit first, one byte at a time. The
data byte is transferred from the shift register to
the DSP input register on the falling edge of the
eighth serial clock. For this reason, the serial
clock should default to low so that eight
transitions from low to high to low will occur
for each byte. A 32 µS byte to byte latency must
be obeyed during run time.
4) When all of the bytes have been transferred,
chip select should be raised to signify an end of
write. Once again it is crucial that the serial
clock transitions from high to low on the last bit
of the last byte before chip select is raised, or a
loss of data will occur.
WRITE ADDRESS BYTE
WITH MODE BIT
SET TO 0 FOR WRITE
WRITEDATABYTE
MORE DATA?
N
SPI STOP: FCS (HIGH)
Figure 30. SPI Write Flow Diagram for DSPAB
Y
The following is a detailed description of an SPI
write sequence with DSPAB.
1) An SPI transfer is initiated when chip select
) is driven low.
(FCS
2) This is followed by a 7-bit address and the
read/write bit set low for a write. The address
Thesamewriteroutinecouldbeusedtosenda
single byte, a message, or an entire application
code image. From a hardware perspective, it makes
no difference whether communication is by byte or
multiple bytes of any length as long as the correct
hardware protocol is followed.
6.1.1.2 Reading in SPI for DSPAB
A read operation is necessary when DSPAB signals
that it has data to be read. DSPAB does this by
dropping its interrupt request line (FINTREQ
When reading from the device in SPI, the same
protocol will be used whether reading a single byte
or multiple bytes. The examples shown in this
document can be expanded to fit any read situation.
Figure 32, "SPI Read Flow Diagram for DSPAB"
on page 44 shows a typical read sequence:
The following is a detailed description of an SPI
read sequence with DSPAB.
read/write bit set high for a read. The address
for DSPABdefaultsto 1000000b.Itis
necessary to clock this address in prior to any
transfer in order for DSPAB to acknowledge
the read. In other words a byte of 0x81 should
be clocked into the device preceding any read.
The 0x81 byte represents the 7-bit address
1000000b, and the least significant bit set to 1
to designate a read.
4) After the falling edge of the serial control clock
(FSCCLK) for the read/write bit, the data is
ready to be clocked out on the control data out
pin (FCDOUT). Data clocked out by the host is
valid on the rising edge of FSCCLK. Data
transitions occuron thefalling edge of
FSCCLK. The serial clock should be default
low so that eight transitions from low to high to
low will occur for each byte.
5) If FINTREQ
is still low, another byte should be
clockedoutofDSPAB.Pleaseseethe
discussion below for a complete description of
FINTREQ
6) When FINTREQ
behavior.
is released, the chip select
line of DSPAB should be taken high to end the
read transaction.
Understanding the role of FINTREQ
is important
forsuccessfulcommunication.FINTREQ
guaranteed to remain low (once it has gone low)
until the second to last rising edge of FSCCLK of
the last byte to be transferred out of DSPAB. If
thereisnomoredatatobetransferred,FINTREQ
will go high at this point. For SPI this is the rising
edge for the second to last bit of the last byte to be
transferred.Aftergoinghigh,FINTREQ
guaranteed to stay high until the next rising edge of
FSCCLK. This end of transfer condition signals the
host to end the read transaction by clocking the last
data bit out and raising FCS
low after the second to last rising edge of FSCCLK,
)
. If FINTREQ is still
the host should continue reading data from the
serial control port.
It should be noted that all data should be read out of
the serial control port during one transaction or a
loss of data will occur. In other words, all data
should be read out of the chip until FINTREQ
signals the last byte by going high as described
above. Please see Section 6.1.3“FINTREQ
Behavior: A Special Case” on page 48 for a more
detailed description of FINTREQ
behavior.
is
is
44
Figure 31, "SPI Timing for DSPAB" on page 43
timing diagram shows the relative edges of the
control lines for an SPI read and write.
SPISTART:SCS(LOW)
6.1.2 SPI Communication for DSPC
SPIcommunicationwiththeDSPCis
accomplished with five communication lines: chip
select, serial control clock, serial data in, serial data
out, and an interrupt request line that signals DSPC
has data to transmit to the host. Table 5 lists the
mnemonic, pin name, and pin number of each of
these signals on DSPC.
MnemonicPin Name144-Pin
Package,
Pin
Number
Chip SelectSCS13593
Serial ClockSCCLK14298
Serial Data InSCDIN13694
Serial Data OutSCDOUT14097
Host BusyHINBSY141N/A
Interrupt
RequestINTREQ
Table 5. SPI Communication Signals for DSPC
33
100-Pin
Package,
Pin
Number
6.1.2.1 Writing in SPI for DSPC
When writing to the device in SPI the same
protocol will be used whether writing a byte, a
message or even an entire executable download
image. The examples shown in this document can
be expanded to fit any write situation. Figure 33,
"SPI Write Flow Diagram for DSPC" on page 45
shows a typical write sequence
WRITE ADDRESS BYTE
WITH MODE BIT
SET TO 0 FOR WRITE
WRITE 4 DATA BYTES
MORE DATA?
Y
N
SPI STOP: SCS (HIGH)
Figure 33. SPI Write Flow Diagram for DSPC
HINBSY
(HIGH)?
Y
N
1) An SPI transfer is initiated when chip select
(SCS
) is driven low.
2) This is followed by a 7-bit address and the
read/write bit set low for a write. The address
for DSPC defaults to 1000001b. It is necessary
to clock in this address prior to any transfer in
order for DSPC to accept the write. In other
words a byte of 0x82 should be clocked into the
device preceding any write. The 0x82 byte
represents the 7-bit address 1000001b, and the
least significant bit set to 0 to designate a write.
3) The host should then clock data into the device
most significant bit first, four bytes at a time.
The data byte is transferred to the DSP on the
falling edge of the eighth serial clock. For this
The following is a detailed description of an SPI
write sequence with DSPC.
45
reason, the serial clock should default to low so
that eight transitions from low to high to low
will occur for each byte.
4) When all 4 data bytes have been transferred,
chip select should be raised to signify an end of
write. Once again it is crucial that the serial
clock transitions from high to low on the last bit
of the last byte before chip select is raised, or a
loss of data will occur.
5) If more data needs to be sent, the host must
verify that the HINBSY pin is low before it
sends more data to DSPC. Note the HINBSY
pin is available only on the 144 pin devices. A
32 µS byte to byte latency must be obeyed
during run time for the 100 pin devices.
The same write routine could be used to send a 4byte message or an entire application code image.
From a hardware perspective, communication must
be in 4-byte multiples.
6.1.2.2 Reading in SPI for DSPC
A read operation is necessary when DSPC signals
that it has data to be read. DSPC does this by
dropping its interrupt request line (INTREQ
When reading from the device in SPI, the same
protocol will be used whether reading a single byte
or multiple bytes. The examples shown in this
document can be expanded to fit any read situation.
Figure 35, "SPI Read Flow Diagram for DSPC" on
page 46 shows a typical read sequence:
The following is a detailed description of an SPI
read sequence with DSPC.
1) An SPI read transaction is initiated by DSPC
dropping INTREQ
, signaling that it has data to
be read.
2) The host responds by driving chip select (SCS
low.
3) This is followed by a 7-bit address and the
read/write bit set high for a read. The address
for DSPC defaults to 1000001b. It is necessary
to clock this address in prior to any transfer in
) low.
N
INTREQ (LOW )?
Y
SCS LOW
WRITE ADDRESS BYTE
WITH MODE BIT SET TO
1FORREAD
READ 4 DATA BYTES
INTREQ STILL LOW?
N
SCS HIGH
Figure 35. SPI Read Flow Diagram for DSPC
Y
order for DSPC to acknowledge the read. In
other words a byte of 0x83 should be clocked
into the device preceding any read. The 0x83
byte represents the 7 bit address 1000001b, and
the least significant bit set to 1 designates a
read.
4) After the falling edge of the serial control clock
(SCCLK) for the read/write bit, the data is
)
ready to be clocked out on the control data out
pin (CDOUT). Data clocked out by the host is
valid on the rising edge of SCCLK and data
transitions occur on the falling edge of SCCLK.
The serial clock should default to low so that
eight transitions from low to high to low will
occur for each byte.
5) If INTREQ is still low after 4 bytes, another 4
bytes should be clocked out of DSPC.
high for one period of FSCCLK and then goes low
again before the end of the read cycle.
6) When INTREQ
is released, the chip select line
of DSPC should be taken high to end the read
transaction.
All messages read back from DSPC will be in 4byte multiples.
6.1.3 FINTREQ Behavior: A Special Case
When communicating with DSPAB there are two
types of messages which force FINTREQ
low. These messages are known as solicited
messages and unsolicited messages. For more
information on the specific types of messages that
require a read from the host, one of the application
code user’s guides should be referenced.
In general, when communicating with DSPAB,
FINTREQ
will not go low unless the host first
sends a read request command message. In other
words the host must solicit a response from the
DSP. In this environment, the host must read from
DSPAB until FINTREQ
FINTREQ
pin has gone high it will not be driven
goes high again. Once the
low until the host sends another read request.
When unsolicited messages, such as those used for
Autodetect, have been enabled, the behavior of
FINTREQ is noticeably different. DSPAB will
drop the FINTREQ
pin whenever it has an
outgoing message, even though the host may not
have requested data.
There are three ways in which FINTREQ
affected by an unsolicited message:
1) During normal operation, while FINTREQ
high, DSPAB could drop FINTREQ to indicate an
outgoing message, without a prior read request.
2) The host is in the process of reading from
DSPAB, meaning that FINTREQ is already low.
An unsolicited message arrives which forces
FINTREQ
to remain low after the solicited
message is read.
3) The host is reading from DSPAB when the
unsolicited message is queued, but FINTREQ
to go
can be
is
goes
In case (1) the host should perform a read operation
as discussed in the previous sections.
In case (2) an unsolicited message arrives before
the second to last FSCCLK of the final byte
transfer of a read, forcing the FINTREQ
pin to
remain low. In this scenario the host should
continue to read from DSPAB without a stop/start
condition or data will be lost.
In case (3) an unsolicited message arrives between
the second to last FSCCLK and the last FSCCLK
of the final byte transfer of a read. In this scenario,
FINTREQ
will transition high for one clock (as if
the read transaction has ended), and then back low
(indicating that more data has queued). This final
case is the most complicated and shall be explained
in detail.
There aretwo constraints whichcompletely
characterize the behavior of the FINTREQ
pin
during a read. The first constraint is that the
FINTREQ
pin is guaranteed to remain low until the
second to last FSCCLK (FSCCLK number N-1) of
the final byte being transferred from DSPAB (not
necessarily the second to last bit of the data byte).
The second constraint is that once the FINTREQ
pin has gone high it is guaranteed to remain high
until the rising edge of the last FSCCLK (FSCCLK
number N) of the final byte being transferred from
DSPAB (not necessarily the last bit of the data
byte). If an unsolicited message arrives in the
window of time between the rising edge of the
second to last FSCCLK and the final FSCCLK,
FINTREQ
will drop low on the rising edge of the
final FSCCLK as illustrated in the functional
timing diagram shown for the SPI read cycle.
FINTREQ
behavior for SPI communication is
illustrated in Figure 31, "SPI Timing for DSPAB"
on page 43. When using SPI communication, the
FINTREQ
pin will remain low until the rising edge
of FSCCLK for the data bit D1 (FSCCLK N-1), but
it can go low at the rising edge of FSCCLK for data
bit D0 (FSCCLK N) if an unsolicited message has
48
arrived. If no unsolicited messages arrive, the
FINTREQ pin will remain high after rising.
Ideally, the host will sample FINTREQ
on the
falling edge of FSCCLK number N-1 of the final
byte of each read response message. If FINTREQ
is sampled high, the host should conclude the
current read cycle using the stop condition defined
for the communication mode chosen. The host
should then begin a new read cycle complete with
the appropriate start condition and the chip address.
If FINTREQ is sampled low, the host should
continue reading the next message from DSPAB
without ending the current read cycle.
When using automated communication ports,
however, the host is often limited to sampling the
status of FINTREQ after an entire byte has been
transferred. Inthis situationalow-high-low
transition (case 3) would be missed and the host
will see a constantly low FINTREQ
pin. Since the
host should read from DSPAB until it detects that
FINTREQ
has gone high, this condition will be
treated as a multiple-message read (more than one
read response is provided by DSPAB). Under these
conditions a single byte of 0x00 will be read out
before the unsolicited message.
The length of every read response is defined in the
user’s manual for each piece of application code.
Thus, the host should know how many bytes to
expect based on the first byte (the OPCODE) of a
read response message. It is guaranteed that no read
responses will begin with 0x00, which means that a
NULL byte (0x00) detected in the OPCODE
position of a read response message should be
discarded. Please see an Application Code User’s
Guide for an explanation of the OPCODE.
It is important that the host be aware of the
presence of NULL bytes, or the communication
channel could become corrupted.
When case (3) occurs and the host issues a stop
condition before starting a new read cycle, the first
byte of the unsolicited message is loaded directly
into the shift register and 0x00 is never seen.
Alternatively, if case (3) occurs and the host
continues to read from DSPAB without a stop
condition (a multiple message read), the 0x00 byte
must be shifted out of DSPAB before the first byte
of the unsolicited message can be read.
In other words, if a host can only sample FINTREQ
after an entire byte transfer the following routine
should be used if FINTREQ
is low after the last
byte of the message being read:
1) Read one byte
2) If the byte = 0x00 discard it and skip to step 3.
If the byte != 0x00 then it is the OPCODE for
the next message. For this case skip to step 4.
3) Read one more byte. This is the OPCODE for
the next message.
4) Read the rest of the message as indicated in the
previous sections.
49
6.2 Parallel Host Communication for
DSPAB
•Flow diagram and description for a parallel
byte read
The parallel host communication modes of DSPAB
provide an 8-bit interface to the DSP. An Intel-style
parallel mode and a Motorola-style parallel mode
are supported. The host interface is implemented
using four communication registers within DSPAB
asshown inTable 6, “Parallel Input/Output
Registers for DSPAB,” on page 51.
When the host is downloading code to DSPAB or
configuring the application code, control messages
will be written to (and read from) the Host Message
register. The Host Control register is used during
messaging sessions to determine when DSPAB can
accept another byte of control data, and when
DSPAB has an outgoing byte that should be read.
All communication to DSPAB after download is in
24-bit words. Reads and writes are done in
multiplesof3-bytetransactions.A3-byte
transactionisaccomplishedbydoingthree
consecutive byte reads or byte writes.
The PCM Data and Compressed Data registers are
used strictly for the transfer of audio data. The host
cannot read from these two registers. Audio data
written to registers 11b and 10b are transferred
directly to the internal FIFOs of DSPAB. When the
level of the PCM FIFO reaches the FIFO threshold
level, the MFC bit of the Host Control register will
be set. When the level of the Compressed Data
FIFO reaches the FIFO threshold level, the MFB
bit of the Host Control register will be set. Writing
data directly to the FIFOs is only supported in
specific applications. To see if an application
supports this feature, consult the appropriate
Application Note.
A detailed description for each parallel host mode
will now be given. The following information will
be provided for the Intel mode and Motorola mode:
The four registers of DSPAB’s parallel host mode
are not used identically. The algorithm used for
communicating with each register will be given as
a functional description, building upon the basic
read and write protocols defined in the Motorola
and Intel sections. The following will be covered:
•Flow diagram and description for a control
write
•Flow diagram and description for a control read
6.2.5 Intel Parallel Host Communication
Mode for DSPAB
The Intel parallel host communication mode is
implemented using the pins given in Table 6.
Parallel host communication is available only on
the 144-pin package part.
HOSTMSG7–0Host data to and from the DSP. A read or write of this register operates handshake bits be-
tween the internal DSP and the external host. This register typically passes multibyte messages
carrying microcode, control, and configuration data (messages are written MSB first). HOSTMSG is physically implemented as two independent registers for input and output (Read and
write).
6.2.2 Host Control (CONTROL) Register, A[1:0] = 01b
76543210
ReservedCMPRSTPCMRSTMFCMFBHINBSYHOUTRDYReserved
ReservedAlways write a 0 for future compatibility.
CMPRSTWhen set, initializes the CMPDATA compressed data input channel. Writing a one to this bit
holds the port in reset. Writing zero enables the port. This bit must be low for normal operation.
(Write only)
PCMRSTWhen set, initializes the PCMDATA linear PCM input channel. Writing a one to this bit holds the
port in reset. Writing zero enables the port. This bit must be low for normal operation. (Write
only)
MFCWhen high, indicates that the PCMDATA input buffer is almost full. (Read only)
MFBWhen high, indicates that the CMPDATA input buffer is almost full. (Read only)
HINBSYSet when the host writes to HOSTMSG. Cleared when the DSP reads data from the HOSTMSG
register. The host reads this bit to determine if the last host byte written has been read by the
DSP. (Read only)
HOUTRDYSet when the DSP writes to the HOSTMSG register. Cleared when the host reads data from
the HOSTMSG register. The DSP reads this bit to determine if the last DSP output byte has
been read by the host. (Read only)
ReservedAlways write a 0 for future compatibility.
6.2.3 PCM Data Input (PCMDATA) Register, A[1:0] = 10b
host read a message. When the code supports
FINTREQ notification, the FINTREQ pin is
asserted (driven low) when the DSP has an
outgoing message for the host.
FINTREQ is useful for informing the host of
unsolicitedmessageswithoutpolling.An
unsolicited message is defined as a message
generated by the DSP without an associated host
read request. Unsolicited messages are used to
notify the host of conditions such as a change in the
incoming audio data type (e.g. PCM --> AC-3).
Most unsolicited messages must be specifically
enabled by setting the appropriate bit in the
application’s manager, enabling autodetection, or
enabling other host notification capabilities.
6.2.5.1 Writing a Byte in Intel Mode for DSPAB
Information provided in this section is intended as
a functional description of how to write control
information to DSPAB. The system designer must
ensure that all of the timing constraints of the Intel
Parallel Host Mode Write Cycle are met.
The flow diagram shown in Figure 36 illustrates
the sequence of events that define a one-byte write
in Intel mode. The protocol presented in Figure 36
will now be described in detail.
1) The host must first drive the FA1 and FA0
register address pins of DSPAB with the
address of the desired Parallel I/O Register. The
address must be maintained for the duration of
the write cycle.
Host Message: FA[1:0]==00b.
Host Control:FA[1:0]==01b.
PCMDATA:FA[1:0]==10b.
CMPDATA:FA[1:0]==11b.
2) The host then indicates that the selected register
will be written. The host initiates a write cycle
by driving the FCS
and FWR pins low.
3) The host drives the data byte to the FDAT[7:0]
pins of DSPAB.
4) Once the setup time for the write has been met,
the host ends the write cycle by driving the FCS
and FWR pins high.
6.2.5.2 Reading a Byte in Intel Mode for DSPAB
Information provided in this section is intended as
a functional description of how to read control
information from DSPAB. The system designer
must ensure that all of the timing constraints of the
Intel Parallel Host Mode Read Cycle are met.
The flow diagram shown in Figure 37 illustrates
the sequence of events that define a one-byte read
in Intel mode. The protocol presented in Figure 37
will now be described in detail.
1) The host must first drive the FA1 and FA0
register address pins of DSPAB with the
address of the desired Parallel I/O Register.
Note that only the Host Message register and
the Host Control register can be read. The
address must be maintained for the duration of
the read cycle.
Host Message: FA[1:0]==00b.
Host Control:FA[1:0]==01b.
2) The host initiates a read cycle by driving the
and FRD pins low (bus must be tri-stated
FCS
52
ADDRESS A PARALLEL I/O REGISTER
(FA[1:0] SET APPROPRIATELY)
FCS (LOW)
FRD (LOW)
READ BYTE FROM
FDAT[7:0]
FCS (HIGH)
FRD (HIGH)
Figure 37. Intel Mode, One-Byte Read Flow Diagram
for DSPAB
before this occurs).
3) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the value of
the selected register from the FDAT[7:0] pins
of DSPAB.
4) The host should now terminate the read cycle
by driving the FCS
and FRD pins high.
6.2.6 Motorola Parallel Communication
Mode for DSPAB
The Motorola parallel host communication mode is
implemented using the pins given in Table 7.
Parallel host communication is available only on
the 144-pin package part .
The HOUTRDY bit of the Host Control Register
(A[1:0] = 01b) indicates that the DSP has a
message for the host to read. The FINTREQ
can be controlled by the application code, and
allows for another method of requesting that the
host read a message. When the code supports
FINTREQ
notification, the FINTREQ pin is
asserted (driven low) whenever the DSP has an
outgoing message for the host.
pin
MnemonicPin Name144-Pin
Package,
Pin
Number
Chip SelectFCS15
Data StrobeFDS
Read or Write SelectFR/W
Register Address Bit 1FA14
Register Address Bit 0FA06
Interrupt RequestFINTREQ
DATA7FDAT79
DATA6FDAT614
DATA5FDAT518
DATA4FDAT419
DATA3FDAT322
DATA2FDAT224
DATA1FDAT127
DATA0FDAT029
Table 7. Motorola Mode Communication Signals for
DSPAB
FINTREQ
is useful for informing the host of
12
13
16
unsolicited messages. An unsolicited message is
defined as a message generated by the DSP without
an associatedhostreadrequest.Unsolicited
messages are used to notify the host of conditions
such as a change in the incoming audio data type
(e.g. PCM --> AC-3). Most unsolicited messages
must be specifically enabled by settingthe
appropriate bit in the application’s manager,
enabling autodetection, or enabling other host
notification capabilities.
6.2.6.1 Writing a Byte in Motorola Mode
Information provided in this section is intended as
a functional description of how to write control
information to DSPAB. The system designer must
ensure that all of the timing constraints of the
Motorola Parallel Host Mode Write Cycle are met.
The flow diagram shown in Figure 38 illustrates
the sequence of events that define a one-byte write
in Motorola mode. The protocol presented in
Figure 38 will now be described in detail.
1) The host must drive the FA1 and FA0 register
address pins of DSPAB with the address of the
53
address of the desired Parallel I/O Register. The
address must be maintained for the duration of
the read cycle.
Host Message: FA[1:0]==00b.
Host Control:FA[1:0]==01b.
PCMDATA:FA[1:0]==10b.
CMPDATA:FA[1:0]==11b.
2) The host indicates that this is a write cycle by
driving the FR/W
pin low.
protocol presented in Figure 39 will now be
described in detail.
1) The host must drive the FA1 and FA0 register
address pins of DSPAB with the address of the
desired Parallel I/O Register. Note that only the
Host Message register and the Host Control
register can be read. The address must be
maintained for the duration of the read cycle.
Host Message:FA[1:0]==00b.
Host Control:FA[1:0]==01b.
3) The host initiates a write cycle by driving the
FCS
and FDS pins low.
4) The host drives the data byte to the FDAT[7:0]
pins of DSPAB.
5) Once the setup time for the write has been met,
the host ends the write cycle by driving the FCS
and FDS pins high.
6.2.6.2 Reading a Byte in Motorola Mode
The flow diagram shown in Figure 39, "Motorola
Mode, One-Byte Read Flow Diagram for DSPAB"
on page 54 illustrates the sequence of events that
define a one-byte read in Motorola mode. The
FR/W (LOW)
ADDRESS A PARALLEL I/O REGISTER
(FA[1:0] SET APPROPRIATELY)
FCS (LOW)
FDS (LOW)
2) The host indicates that this is a read cycle by
driving the FR/W pin high.
3) The host initiates the read cycle by driving the
and FDS pins low (bus must be tri-stated
FCS
by this time).
4) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the value of
the selected register from the FDAT[7:0] pins
of DSPAB.
5) The host should now terminate the read cycle
by driving the FCS
6.2.7 Procedures for Parallel Host Mode
Communication for DSPAB
00b) using the selected communication mode
(Intel or Motorola).
6.2.7.1 Control Write in a Parallel Host Mode
for DSPAB
When writing control data to DSPAB, the same
protocol is used whether the host is writing a
control message or an entire executable download
image. Messages sent to DSPAB should be written
most significant byte first. Likewise, downloads of
the application code should also be performed most
significant byte first.
The example shown in this section can be
generalized to fit any control write situation. The
generic function ‘Read_Byte_*()’ is used in the
following example as a generalized reference to
either Read_Byte_MOT() (read a byte in Motorola
mode) or Read_Byte_INT() (read a byte in Intel
mode), and ‘Write_Byte_*()’ is a generic reference
to Write_Byte_MOT() (write a byte in Motorola
mode) or Write_Byte_INT() (write a byte in Intel
mode). Figure 40 shows a typical write sequence.
The protocol presented in Figure 40 will now be
described in detail.
1) When the host is communicating with DSPAB,
the host must verify that DSPAB is ready to
accept a new control byte. If DSPAB has not
read the previous byte from the control port, it
will be unable to receive another byte.
2) In order to determine whether DSPAB is ready
to accept a new control byte the host must read
the HINBSY bit of the Host Control Register
(bit 2 in FA[1:0]=01b) using the selected
communication mode (Intel or Motorola). If
HINBSY is high, then the DSP is not prepared
to accept a new control byte, and the host
should poll the Host Control Register again. If
HINBSY is low, then the host may write a
control byte into the Host Message Register.
4) If the host would like to write any more control
bytes to DSPAB, the host should once again
poll the Host Control Register (return to step 1).
6.2.7.2 Control Read in a Parallel Host Mode
for DSPAB
When reading control data from DSPAB, the same
protocol is used whether the host is reading a single
byte, a 6 byte message, or a string of messages.
During the boot procedure, a handshaking protocol
is used by DSPAB. This handshake consists of a 3
byte write to DSPAB followed by a 1 byte response
from the DSP. The host must read the response byte
and act accordingly. The boot procedureis
discussed in Section 8 “Boot Procedure” on page
71.
Duringregularoperation(atrun-time),the
responses from DSPAB will always be 6 bytes in
length.
READ_BYTE_*(HOST
CONTROL REGISTER)
Y
HINBSY == 1
N
WRITE_BYTE_*(HOST
MESSAGE REGISTER)
Y
MORE BYTES
TO WRITE?
N
FINISHED
3) Once the host knows that the DSP is ready for
a new control byte, it should write the control
byte to the Host Message Register (FA[1:0] =
Figure 40. Typical Parallel Host Mode Control
Write Sequence Flow Diagram for DSPAB
55
The example shown in this section can be used for
any control read situation. The generic function
‘Read_Byte_*()’ is used in the following example
asageneralizedreferencetoeither
Read_Byte_MOT()(Motorolabyteread)or
Read_Byte_INT() (Intel byte read). Figure 41
shows a typical read sequence. The protocol
presented in Figure 41 will now be described in
detail.
FINTREQ = 0?
(optional)
Y
READ_BYTE_*( HOST
CONTROL REGISTER)
HOUTRDY == 1
Y
READ_BYTE_*( HOST
MESSAGE REGISTER)
N
DSPAB has an outgoing message. Note that
even with the use of FINTREQ, HOUTRDY
must be checked to ensure that the current byte
isreadytobereadbythehostduringtheread
process. Please note that the state of FINTREQ
is undefined during boot, and it is valid only
once the application code is loaded.
2) The host reads the Host Control Register
(FA[1:0] = 01b) in order to determine the state
of the communication interface.
3) In order to determine whether DSPAB has an
outgoing control byte that is valid, the host
must check the HOUTRDY bit of the Host
Control Register (bit 1, FA[1:0] = 01b). If
HOUTRDY is high, then the Host Message
Register contains a valid message byte for the
host. If HOUTRDY is low, then the DSP has
not placed a new control byte in the Host
Message Register, and the host should poll the
Host Control Register again.
Y
Figure 41. Typical Parallel Host Mode ControlRead
Sequence Flow Diagram for DSPAB
1) Optionally, FINTREQ
MORE BYTES TO
READ?
N
W AIT 100 MICROSEC
READ_BYTE_*( HOST
CONTROL REGISTER)
Y
HOUTRDY == 1
N
FINISHED
going low may be used
as an interrupt to the host to indicate that
4) Once the host knows that the DSP is ready to
provide a new response byte, the host can
safely read a byte from the Host Message
Register (FA[1:0] = 00b) using the appropriate
communication protocol (Motorola or Intel).
5) If the host expects to read any more response
bytes, the host should once again check the
HOUTRDY bit (return to step 1). Messages
from the application code (post-download) on
the DSP will always be 6 bytes, unless
otherwise stated in the associated Application
Note.
6) After the response has been read the host
should wait at least 100 uSand check
HOUTRDY one final time. If HOUTRDY is
high once again this means that an unsolicited
message has come during the read process and
the host has another message to read (i.e. skip
back to step 4 and read out the new message). It
is the host’s responsibility to insure that any
pending messages are read from the DSP.
56
Failure to do this may cause the DSP’s output
message buffer to overflow, corrupting any
pending outbound messages.
6.3 Parallel Host Communication for DSPC
The parallel host communication modes of DSPC
provide an 8-bit interface to the DSP. An Intel-style
parallel mode and a Motorola-style parallel mode
are supported. The host interface is implemented
using four communication registers within DSPC
asshown inTable 8, “Parallel Input/Output
Registers for DSPC,” on page 58. The HOSTMSG
register is a 32 bit register.Since there are only
eight data pins, only one byte can be transferred at
a time, but a full 32 bits are transferred in each read
or write to this register.
When the host is downloading code or configuring
the application code in DSPC, control messages
must be written to (and read from) the Host
Message register 32 bits at a time. The HINBSY
pin and the HINBSY bit in the Host Control
register are used during messaging sessions to
determine when DSPC can accept another 32-bit
word of control data. The HINBSY pin and the
HINBSY bit (in the Host Control register) go high
when the host writes 32 bits (4 bytes) to the
HOSTMSGregister.TheHINBSY pinand
HINBSY bit go low when DSPC reads the 32 bit
data from the register. The INTREQ pin goes low
and the HOUTRDY bit (in the Host Control
register) goes high when DSPC has an message that
must be read by the host.
The HOSTDATA1 and HOSTDATA2 registers
are used strictly for the transfer of audio data to
DSPC. The host cannot read from these two
registers. Support of these registers is DSPC
application code specific, see the appropriate
Application Note for availability.
A detailed description for each parallel host mode
will now be given. The following information will
be provided for the Intel mode and Motorola mode:
•The pins of DSPC which must be used for proper communication
•Flow diagram and description for a parallel
byte write
•Flow diagram and description for a 32-bit word
(4-byte) write
•Flow diagram and description for a parallel
byte read
•Flow diagram and description for a 32-bit word
(4-byte) read
The four registers of DSPC’s parallel host mode are
not used identically. The algorithm used for
communicating with each register will be given as
a functional description, building upon the basic
read and write protocols defined in the Motorola
and Intel sections. The following will be covered:
The HOSTMSG register is a 32-bit register that is
used to read from or write to DSPC. It is read and
written in 4-byte transactions. This register passes
MS_BYTEThis is the most significant byte (bits 31:24).
BYTE_BThis is BYTE_B (bits 23:16).
BYTE_AThis is BYTE_A (bits 15:8).
LS_BYTEThis is the least significant byte (bits 7:0).
all the code, control and configuration data to and
from DSPC. Messages are read and written
MS_BYTE first.
6.3.2 Host Control (CONTROL) Register, A[1:0] = 01b
HINBSYThis bit is the Host Input Ready signal. It is set when the host writes to the HOSTMSG register.
It is cleared when DSPC reads the HOSTMSG register. This bit is also pinned out on the
HINBSY pin. Read only by the host and DSPC.
HOUTRDYThis bit is set when DSPC writes data to the HOST_MSG register, and indicates that the DSP
has a pending message for the host. The HOUTRDY bit is cleared when the host reads the
HOSTMSG register. The bit is inverted and pinned out on the INTREQ
host and DSPC
HOSTDATA2_7–0 The host writes data to DSPC at this address. (Write only)
Table 8. Parallel Input/Output Registers for DSPC
58
6.3.5 Intel Parallel Host Communication
Mode for DSPC
The Intel parallel host communication mode is
implemented using the pins given in Table 9.
Parallel host communication is available only on
the 144-pin package version of the CS49400.
TheINTREQpinisasserted(drivenlow)
whenever the DSP has an outgoing message for the
host. This same information is reflected by the
HOUTRDY bit of the Host Control Register
(A[1:0] = 01b).
ADDRESS A PARALLEL I/O REGISTER
(A[1:0] SET APPROPRIATELY)
CS (LOW)
WR (LOW)
WRITEBYTETO
HDAT[7:0]
INTREQ
is useful for informing the host of
unsolicited messages. An unsolicited message is
defined as a message generated by the DSP without
an associated host read request.
Table 9. Intel Mode Communication Signals for DSPC
120
121
3
141
6.3.5.1 Writing a Byte in Intel Mode for DSPC
Information provided in this section is intended as
a functional description of how to write control
information to DSPC. The system designer must
ensure that all of the timing constraints of the Intel
Parallel Host Mode Write Cycle are met.
The flow diagram shown in Figure 42 illustrates
the sequence of events that define a one-byte write
in Intel mode. One-byte writes should only be
perfomed to the Host Control and Host Data
registers. The protocol presented in Figure 42 will
now be described in detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register. The address is
latched on the falling edge of CS
.
Host Control:A[1:0]==01b.
Host Data1:A[1:0]==10b.
Host Data2:A[1:0]==11b.
2) The host initiates a write cycle by driving the
CS
and WR pins low.
3) The host drives the data byte to the HDAT[7:0]
pins of DSPC.
4) Once the setup time for the write has been met,
the host ends the write cycle by driving the WR
and CS pins high.
59
6.3.5.2 Writing a 32-bit (4-byte) Word in Intel
Mode for DSPC
Information provided in this section is intended as
a functional description of how to write control
information to DSPC. The system designer must
ensure that all of the timing constraints of the Intel
Parallel Host Mode Write Cycle are met.
ADDRESS A PARALLEL I/O REGISTER
(A[1:0] SET APPROPRIATELY)
CS (LOW)
RD (LOW)
The flow diagram shown in Figure 43 illustrates
the sequence of events that define a 4-byte write in
Intel mode. 32-bit (4-byte) writes should only be
used to write to the Host Message register. The
protocol presented in Figure 43 will now be
described in detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register (both low for
A1=A0=0). The address must be maintained
for the duration of the write cycle, and is
latched on the falling edge of CS
and WR.
Host Message:A[1:0]==00b.
2) The host initiates a write cycle by driving the
CS and WR pins low.
3) The host drives the most significant data byte
(bits 31:24) to the HDAT[7:0] pins of DSPC.
4) Once the setup time for the write has been met,
the host drives WR
high to strobe in the most
significant data byte.
5) The host drives WR
low.
READ BYTE FROM
HDAT[7:0]
CS (HIGH)
RD (HIGH)
Figure 44. Intel Mode, One-Byte Read Flow Diagram
for DSPC
10) Once the setup time for the write has been met,
the host drives WR high to strobe in the data
byte.
11) The host drives WR
low.
12) The host drives the least significant data byte
(bits 7:0) to the HDAT[7:0] pins of DSPC.
13) Once the setup time for the write has been met,
the host drives WR
high to strobe in the data
byte.
14) The host drives CS
high to end the write
transaction.
6) The host drives the next most significant data
byte, BYTE_B (bits 23:16), to the HDAT[7:0]
pins of DSPC.
7) Once the setup time for the write has been met,
the host drives WR
high to strobe in the data
byte.
8) The host drives WR
low.
9) The host drives the next most significant data
byte, BYTE_A (bits 15:8), to the HDAT[7:0]
pins of DSPC.
60
6.3.5.3 Reading a Byte in Intel Mode for DSPC
Information provided in this section is intended as
a functional description of how to read control
information from DSPC. The system designer must
ensure that all of the timing constraints of the Intel
Parallel Host Mode Read Cycle are met.
The flow diagram shown in Figure 44 illustrates
the sequence of events that define a one-byte read
in Intel mode. One-byte reads should only be done
with the Host Control register. The protocol
presented in Figure 44 will now be described in
detail.
ADDRESS A PARALLEL I /O REGISTER
(A[ 1: 0] SET APPROPRIATEL Y)
CS ( LOW)
WR ( L OW)
WRITE MS_BYTE TO
HDAT[ 7 : 0]
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register (A1=0, A0=1).
Note that only the Host Control register can be
read using a byte read. The address must be
maintained for the duration of the read cycle,
and is latched on the falling edge of CS
.
Host Control:A[1:0]==01b.
WR (HI GH)
WR ( L OW)
WRITE BYTE_B TO
HDAT[ 7 : 0]
WR (HI GH)
WR ( L OW)
WRITE BYTE_A TO
HDAT[ 7 : 0]
WR (HI GH)
WR ( L OW)
WRITE LS_BYTE TO
HDAT[ 7 : 0]
2) The host initiates a read cycle by driving the CS
and RD pins low (bus must be tri-stated by this
time).
3) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the value of
the selected register from the HDAT[7:0] pins
of DSPC.
4) The host should now terminate the read cycle
by driving the CS
and RD pins high.
6.3.5.4 Reading a 32-bit (4-byte) Word from
DSPC in Intel Mode
Information provided in this section is intended as
a functional description of how to read control
information from DSPC. The system designer must
ensure that all of the timing constraints of the Intel
Parallel Host Mode Read Cycle are met.
The flow diagram shown in Figure 45, "Intel
Mode, 32-Bit (4-Byte) Read Flow Diagram for
DSPC" on page 62 illustrates the sequence of
events that define a 4-byte read in Intel mode. 4byte (32-bit) reads should only be done with the
Host Message register. The protocol presented in
Figure 45 will now be described in detail.
WR (HI GH)
CS ( HI GH)
Figure 43. Intel Mode, 32-bit (4-byte) Write Flow
Diagram for DSPC
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register (A1=A0=0). Note
that only the Host Message register can be read
using a 4-byte read cycle. The address must be
maintained for the duration of the read cycle,
and is latched on the falling edge of CS.
Host Message:A[1:0]==00b.
61
ADDRESS A PARALLEL I/O REGISTER
(A[ 1:0] SET APPROPRI ATELY)
2) The host initiates a read cycle by driving the CS
and RD pins low (bus must be tri-stated by this
time).
CS ( LOW)
RD (LOW)
READ MS_BYTE FROM
HDAT[ 7:0]
RD (HIGH)
RD (LOW)
READ BYTE _B FROM
HDAT[ 7:0]
RD (HIGH)
RD (LOW)
READ BYTE _A FROM
HDAT[ 7:0]
RD (HIGH)
RD (LOW)
3) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the most
significant data byte (bits 31:24) from the
HDAT[7:0] pins of DSPC.
4) The host drives RD high to indicate that the
data byte has been read.
5) The host drives RD
low to clock out the next
data byte.
6) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read BYTE_B (bits
23:16) from the HDAT[7:0] pins of DSPC.
7) The host drives RD
high to indicate that the
data byte has been read.
8) The host drives RD
low to clock out the next
data byte.
9) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read BYTE_A
(bits 15:8) from the HDAT[7:0] pins of DSPC.
10) The host drives RD
high to indicate that the
data byte has been read.
11) The host drives RD
low to clock out the next
data byte.
READ LS_BYTE FROM
HDAT[ 7:0]
RD (HIGH)
CS (HI GH)
Figure 45. Intel Mode, 32-Bit (4-Byte) Read Flow
Diagram for DSPC
62
12) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the least
significant databyte (bits 7:0) from the
HDAT[7:0] pins of DSPC.
13) The host drives RD high to indicate that the
data byte has been read.
14) The host should now terminate the read cycle
by driving the CS
pin high.
6.3.6 Motorola Parallel Host
Communication Mode for DSPC
The Motorola parallel host communication mode is
implemented using the pins given in Table 10.
R/W (LOW)
ADDRESS A PARALLEL I/O REGISTER
(A[1:0] SET APPROPRIATELY)
MnemonicPin Name144-Pin
Package,
Pin
Number
Chip SelectCS129
Data StrobeDS
Read or Write SelectR/W
Register Address Bit 1A1139
Register Address Bit 0A0130
Interrupt RequestINTREQ
Host BusyHINBSY
DATA7HDAT795
DATA6HDAT696
DATA5HDAT596
DATA4HDAT4103
DATA3HDAT3105
DATA2HDAT2112
DATA1HDAT1115
DATA0HDAT0116
Table 10. Motorola Mode Communication Signals for
DSPC
120
121
3
141
Parallel host communication is available only on
the 144-pin package part. The INTREQ pin is
asserted (driven low) whenever the DSP has an
outgoingmessagefor thehost.Thissame
information is reflected by the HOUTRDY bit of
the Host Control Register (A[1:0] = 01b).
INTREQ
is useful for informing the host of
unsolicited messages. An unsolicited message is
defined as a message generated by DSPC without
an associated host read request.
CS (LOW)
DS (LOW)
WRITE BYTE TO
HDAT[7:0]
CS (HIGH)
DS (HIGH)
Figure 46. Motorola Mode, One-Byte Write Flow
Diagram for DSPC
6.3.6.1 Writing a Byte in Motorola Mode for
DSPC
Information provided in this section is intended as
a functional description of how to write control
information to DSPC. The system designer must
ensure that all of the timing constraints of the
Motorola Parallel Host Mode Write Cycle are met.
The flow diagram shown in Figure 46 illustrates
the sequence of events that define a one-byte write
in Motorola mode. One byte writes should only be
used with the Host Control and Host Data registers.
The protocol presented in Figure 46 will now be
described in detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register. The address is
latched on the falling edge of CS
.
Host Control:A[1:0]==01b.
Host Data1:A[1:0]==10b.
Host Data2:A[1:0]==11b.
2) The host indicates that this is a write cycle by
driving the R/W
pin low.
63
3) The host initiates a write cycle by driving the
and DS pins low.
CS
4) The host drives the data byte to the HDAT[7:0]
pins of DSPC.
5) Once the setup time for the write has been met,
the host ends the write cycle by driving the DS
and CS pins high.
6.3.6.2Writing a 32-bit (4-byte) Word in
Motorola Mode for DSPC
Information provided in this section is intended as
a functional description of how to write control
information to DSPC. The system designer must
ensure that all of the timing constraints of the
Motorola Parallel Host Mode Write Cycle are met.
The flow diagram shown in Figure 43 illustrates
the sequence of events that define a 32-bit (4-byte)
write in Motorola mode. 32-bit (4-byte) writes
should only be done to the Host Message register.
The protocol presented in Figure 43 will now be
described in detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired parallel I/O register (A1=A0=0). The
address must be maintained for the duration of
the write cycle, and is latched on the falling
edge of CS
.
ADDRESS A PARALLEL I/O REGISTER
R/W (LOW)
(A[1:0] SET APPROPRIATELY)
CS (LOW)
DS (LOW)
WRITE MS_BYTE TO
HDAT[7:0]
DS (HIGH)
DS (LOW)
WRITEBYTE_BTO
HDAT[7:0]
DS (HIGH)
DS (LOW)
WRITEBYTE_ATO
HDAT[7:0]
DS (HIGH)
Host Message:A[1:0]==00b.
2) The host indicates that this is a write cycle by
driving the R/W
pin low.
3) The host initiates a write cycle by driving the
and DS pins low.
8) Once the setup time for the data has been met,
the host latches this byte in by driving DS
high.
ADDRESS A PARALLEL I/O REGISTER
R/W (HIGH)
(A[1:0] SET APPROPRIATELY)
9) The host drive DS
low.
10) The host drives the next most significant data
byte, BYTE_A (bits 15:8), to the HDAT[7:0]
pins of DSPC.
11) Once the setup time for the data has been met,
the host latches this byte in by driving DS
12) The host drive DS
low.
high.
13) The host drives the least significant data byte
(bits 7:0) to the HDAT[7:0] pins of DSPC.
14) Once the setup time for the data has been met,
the host latches this byte in by driving DS
high.
15) The host ends the write cycle by driving the CS
pin high.
6.3.6.3 Reading a Byte in Motorola Mode for
DSPC
Information provided in this section is intended as
a functional description of how to write control
information to DSPC. The system designer must
ensure that all of the timing constraints of the
Motorola Parallel Host Mode Read Cycle are met.
The flow diagram shown in Figure 48 illustrates
the sequence of events that define a one-byte read
in Motorola mode. Single byte reads should only be
done with the Host Control register. The protocol
presented in Figure 48 will now be described in
detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register (A1=0, A0=1).
The address must be maintained for the
duration of the read cycle, and is latched on the
falling edge of CS
Host Control:A[1:0]==01b.
2) The host indicates that this is a read cycle by
driving the R/W
.
pin high.
CS (LOW)
DS (LOW)
READ BYTE FROM
HDAT[7:0]
CS (HIGH)
DS (HIGH)
Figure 48. Motorola Mode, One-Byte Read Flow
Diagram for DSPC
3) The host initiates a read cycle by driving the CS
and DS pins low (bus must be tri-stated by this
time).
4) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the value of
the selected register from the HDAT[7:0] pins
of DSPC.
5) The host should now terminate the read cycle
by driving the CS
and DS pins high.
6.3.6.4Reading a 32-bit (4-byte) word from
DSPC in Motorola mode
Information provided in this section is intended as
a functional description of how to read control
information from DSPC. The system designer must
ensure that all of the timing constraints of the
Motorola Parallel Host Mode Read Cycle are met.
The flow diagram shown in Figure 49, "Motorola
Mode, 32-Bit (4-Byte) Read Flow Diagram for
DSPC" on page 66 illustrates the sequence of
events that define a 32-bit (4-byte) read in
Motorola mode. Reading a 32-bit (4-byte) word
should only be done with the Host Message
65
ADDRESS A PARALLEL I/O REGISTER
R/W (HIGH)
(A[1:0] SET APPROPRIATELY)
CS (LOW)
DS (LOW)
READ MS_BYTE TO
HDAT[7:0]
register. The protocol presented in Figure 49 will
now be described in detail.
1) The host must first drive the A1 and A0 register
address pins of DSPC with the address of the
desired Parallel I/O Register (A1=A0=0). Note
that only the Host Message register can be read
using 4-byte reads. The address must be
maintained for the duration of the read cycle,
and is latched on the falling edge of CS.
2) The host indicates that this is a read cycle by
driving the R/W pin high.
3) The host initiates a read cycle by driving the CS
and DS pins low (bus must be tri-stated by this
time).
4) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the most
significantbyte(bits31:24)fromthe
HDAT[7:0] pins of DSPC.
5) The host indicates the byte has been read by
driving DS high.
6) The host latches out the next byte by driving
low.
DS
7) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the next most
significant byte, BYTE_B (bits 23:16), of the
selected register from the HDAT[7:0] pins of
DSPC.
8) The host indicates the byte has been read by
driving DS
high.
9) The host latches out the next byte by driving
DS
low.
10) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the next most
significant byte, BYTE_A (bits 15:8), of the
selected register from the HDAT[7:0] pins of
66
DSPC.
11) The host indicates the byte has been read by
driving DS
high.
12) The host latches out the next byte by driving
low.
DS
generic reference to Write_Word_MOT() (write a
32-bitwordinMotorolamode)or
Write_Word_INT() (write a 32-bit word in Intel
mode). Figure 50 shows a typical write sequence.
The protocol presented in Figure 50 will now be
described in detail.
13) Once the data is valid (after waiting the
appropriatetimespecifiedinthetiming
specifications), the host can read the least
significant byte (bits 7:0) of the selected
register from the HDAT[7:0] pins of DSPC.
14) The host indicates the byte has been read by
driving DS high.
15) The host should now terminate the read cycle
by driving the CS
pin high.
6.3.7 Procedures for Parallel Host Mode
Communication for DSPC
6.3.7.1 Control Write in a Parallel Host Mode
for DSPC
When writing control data to DSPC, the same
protocol is used whether the host is writing a
control message or an entire executable download
image. Messages sent to DSPC should be written
most significant byte first. Likewise, downloads of
the application code should also be performed most
significant byte first.
The example shown in this section can be
generalized to fit any control write situation. The
generic function ‘Read_Byte_*()’ is used in the
following example as a generalized reference to
either Read_Byte_MOT() (read a byte in Motorola
mode) or Read_Byte_INT() (read a byte in Intel
mode), and ‘Write_Byte_*()’ is a generic reference
to Write_Byte_MOT() (write a byte in Motorola
mode) or Write_Byte_INT() (write a byte in Intel
mode).Similarly,thegenericfunction
‘Read_Word_*()’ is used in the following example
asageneralizedreferencetoeither
Read_Word_MOT()(reada32-bitwordin
Motorola mode) or Read_Word_INT() (read a 32bit word in Intel mode), and ‘Write_Word_*()’ is a
1) When the host is communicating with DSPC,
the host must verify that DSPC is ready to
accept a new 32-bit control word. If DSPC has
not read the previous word from the control
port, it will be unable to receive another word.
2) In order to determine whether DSPC is ready to
accept a new 32-bit control word the host must
read the HINBSY bit of the Host Control
Register (bit 2 in FA[1:0]=01b) using the
selectedcommunicationmode(Intelor
Motorola). If HINBSY is high, then the DSP is
not prepared to accept a new control word, and
the host should poll the Host Control Register
again. If HINBSY is low, then the host may
write a control word (32-bits) into the Host
READ_BYTE_*(HOST
CONTROL REGISTER)
Y
HINBSY == 1
N
WRITE_WORD_*(HOST
MESSAGE REGISTER)
Y
Figure 50. Typical Parallel Host Mode Control
Write Sequence Flow Diagram for DSPC
MORE BYTE S
TO WRITE?
N
FINISHED
67
Message Register.
3) Once the host knows that the DSP is ready for
a new control word, it should write the 32-bit
control word to the Host Message Register
(FA[1:0]=00b)usingtheselected
communication mode (Intel or Motorola).
4) If the host would like to write any more 32-bit
control words to DSPC, the host should once
again poll the Host Control Register (return to
step 1).
6.3.7.2 Control Read in a Parallel Host Mode
for DSPC
When reading control data from DSPC, the same
protocol is used whether the host is reading a single
32-bit word, or a string of message words.
Reads and writes to the Host Message Register are
always 32-bits (4-bytes), and reads of the Host
Control Register are always a single byte.
The example shown in this section can be used for
any control read situation. The generic function
‘Read_Word_*()’ is used in the following example
asageneralizedreferencetoeither
Read_Word_MOT() (Motorola 32-bit word read)
or Read_Word_INT() (Intel 32-bit word read).
Figure 51 shows a typical read sequence. The
protocol presented in Figure 51 will now be
described in detail.
FINTREQ = 0?
READ_BYTE_*( HOST
CONTROL REGISTER)
HOUTRDY == 1
READ_WORD_*( HOST
MESSAGE REGISTER)
Y
MORE W ORDS TO
READ?
WAIT 100 MICROSEC
READ_BYTE_*( HOST
CONTROL REGISTER)
HOUTRDY == 1
FINISHED
Y
N
Y
N
Y
N
1) Optionally, INTREQ
going low may be used as
an interrupt to the host to indicate that DSPC
has an outgoing message.
2) The host reads the Host Control Register
(A[1:0] = 01b) in order to determine the state of
the communication interface.
3) In order to determine whether DSPC has an
outgoing control word that is valid, the host
must check the HOUTRDY bit of the Host
Control Register (bit 1, A[1:0] = 01b). If
HOUTRDY is high, then the Host Message
Register contains a valid 32-bit word for the
host. If HOUTRDY is low, then the DSP has
68
Figure 51. Typical Parallel Host Mode ControlRead
Sequence Flow Diagram for DSPC
not placed a new control word in the Host
Message Register, and the host should poll the
Host Control Register again.
4) Once the host knows that the DSP is ready to
provide a new 32-bit response word, the host
can safely read a word from the Host Message
Register (A[1:0] = 00b) using the appropriate
communication protocol (Motorola or Intel).
5) If the host expects to read more 32-bit response
words, the host should once again check the
HOUTRDY bit (return to step 1).
6) After the response has been read the host
should wait at least 100 uSand check
HOUTRDY one final time. If HOUTRDY is
high once again this means that an unsolicited
message has come during the read process and
the host has another message to read (i.e. skip
back to step 4 and read out the new message). It
is the host’s responsibility to insure that any
pending messages are read from the DSP.
Failure to do this may cause the DSP’s output
message buffer to overflow, corrupting any
pending outbound messages.
7. EXTERNAL MEMORY
The system designer has the option of using
external memory. The external memory interface is
implemented with two controllers. The SRAM
controller allows the DSP to autoboot from a
parallel FLASH or EEPROM device. The SRAM
and SDRAM controllers are used to extend the data
memory of the DSP during runtime. A system can
use a FLASH/EEPROM device for autoboot, and
either SRAM or SDRAM for runtime memory. The
application user’s guide for a particular code load
will inform the system designer if memory is
required, and will specify the memory type and
speed. If no mention is made of external memory,
then external memory is not required for that
application.TheSDRAMinterfaceisnot
available on the 100-pin device.
The signals for the external memory interface
are listed in Table 11.andTable 12.
For both controllers, memory access speed is
controlled by the DSP clock setting which is
constrained by the application code. The SRAM
interface is capable of in-system programming a
FLASH device. Wait states are available to support
slower FLASH/EEPROM and SRAM devices. The
SRAM interface supports 1Mx8 addressable space.
We recommend 12nS or better SRAM for optimal
performance. The SDRAM interface supports
16Mbit parts organized as 512k x 16bits x 2 banks
which yields a 1Mx16 addressable space. The burst
SD_DATA0SDRAM Data 034
SD_DATA1SDRAM Data 135
SD_DATA2SDRAM Data 236
SD_DATA3SDRAM Data 337
SD_DATA4SDRAM Data 438
SD_DATA5SDRAM Data 540
SD_DATA6SDRAM Data 643
SD_DATA7SDRAM Data 744
SD_DATA8SDRAM Data 856
SD_DATA9SDRAM Data 955
SD_DATA10SDRAM Data 1054
SD_DATA11SDRAM Data 1153
SD_DATA12SDRAM Data 1252
SD_DATA13SDRAM Data 1349
SD_DATA14SDRAM Data 1447
length is fixed to 8. We recommed SDRAM with a
CAS latency of 2 for optimal performance. The
refresh rate and the mode register of the SDRAM
must be set before Kickstart. Refer to Table 14,
“SDRAM Config Register,” on page 70 for details
on the SDRAM config register. The SDRAM is
initialized after Kickstart.
7.1 Configuring SRAM Timing Parameters
Since not all SRAM manufacturers conform to the
exact same timing specifications, it is necessary to
configuretheDSPtomatchthetiming
specifications of the particular SRAM that is used
in your design. This message must be sent before
Kickstarting the downloaded DSPC application
code.
Hex
Mnemonic
SRAM_CONTROLLER_TIMING
0xaaa = 0www wwrr rrre (in binary)
w = SRAM_FLASH_WR_CYCLE vari-
able found in the SRAM Switching char-
acteristics table in Section 1.19.
r = SRAM_FLASH_RD_CYCLE variable
found in the SRAM Switching character-
istics table in Section 1.19.
e = SRAM Enable/Disable = 0/1.
Default, aaa = 0x000
Table 13. SRAM Controller Timing
Mnemonic
SDRAM_CONFIG
aaaa = Auto refresh setting.
Forexamplefora16
µS refresh period
and a DCLK of 86 Mhz the value pro-
grammed should be:
-6
16X10
X 86X106= 0x(1376) = 0x0560
bbb = Mode register setting. These bits
set the 12 least significant bits in the
mode register. The bits are to the follow-
ing by default:
bits(2..0) = 011 = Burst length 8.
bit3 = 0 = Sequential Burst Type.
bits(6..4) = 010 = CAS latency of 2.
bits(8..7) = 00 = Mode Register Set.
bit9 = 0 = Write Burst.
bit(12..10) = 000 = reserved
e = SDRAM Enable/Disable
=0001/0000.
Default, 0xaaaabbbe = 0x0560008c0
Table 14. SDRAM Config Register
Message
0x8100000F
0x00000aaa
Hex
Message
0x81000017
0xaaaabbbe
70
8. BOOT PROCEDURE
In thissection theprocess ofbooting and
downloading to the CS49400 will be covered as
well as how to perform a soft reset. There are two
ways to boot the DSP:
•Host Controlled MasterBoot
•Host Boot Via DSPC
Each of these boot procedures will be described in
detail with pseudocode. The flow charts use the
following messages:
•Write-C_* Write to DSPC
•Read-C_* Read from DSPC
•Write-AB_* Write to DSPAB
C_SLAVE_MODE0x80 00 00 00
C_MASTER_BOOT_FLASH
1110 wwww wrrr rrAA
b
c
AAAA AAAA AAAA AAAA
Where
w = SRAM_FLASH_WR_CYCLE
variable found in the SRAM Switch-
ing characteristics table in Section
1.19.
r = SRAM_FLASH_RD_CYCLE
variable found in the SRAM Switch-
ing characteristics table in Section
1.19.
A = 18-bit start address/4
0xEw cb AA AA
•Read-AB_*ReadfromDSPAB
Note:When reading from DSPAB the host must
wait for FINTREQ
cycle. When reading from DSPC the host must
wait for INTREQ
cycle.
Note:The * can be replaced by SPI, INTEL, or
MOT depending on the mode of host
communication. For each case the general
download algorithm is the same.
to fall before starting the read
to fall before starting the read
Table 16, and Table 17 define the boot write
messages and boot read messages in mnemonic and
actual hex value for DSPAB and DSPC. These
messages will be used in the boot sequence
MNEMONICVALUE
AB_APP_START0x03
AB_APP_FAILURE0xF0
Table 15. Application Messages from DSPAB
MNEMONICVALUE
C_RESERVED0x00 00 00 00
C_SOFT_RESET0x40 00 00 00
Table 16. Boot Write Messages for DSPC
Table 16. Boot Write Messages for DSPC (Continued)
MNEMONICVALUE
C_BOOT_START0x00 00 00 01
C_BOOT_SUCCESS0x00 00 00 02
C_APP_START0x00 00 00 04
C_BOOT_ERROR_CHECKSUM0x00 00 00 FF
INVALID_BOOT_TYPE0x00 00 00 FE
Table 17. Boot Read Messages from DSPC
8.1 Host Controlled Master Boot
A host controlled master boot is a sequence where
a host instructs the DSP to load application code
into itself from external memory. External memory
can either be FLASH or SPI EEPROM.
TheflowchartgiveninFigure 52,"Host
Controlled Master Boot (Downloading both a
DSPABApplicationCodeandaDSPC
Application Code)" on page 72 demonstrates the
interaction required by the microcontroller when
placing the DSP into a host controlled master
mode.
1) A download sequence is started when the host
holds the mode pins appropriately (UHS[2:0]
and FHS[1:0]) and toggles RESET
(Downloading both a DSPAB Application Code and a DSPC Application Code)
72
toDSPC.Thesupportedmessagesare
described in Table 16. This message tells
DSPC where to get the DSPAB image from.
Currently theC_MASTER_BOOT_FLASH
message is supported and allows booting from
external byte-wide flash or eprom.
3) If the initialization was successful DSPC sends
out the C_BOOT_START message and the
host must proceed to step 4. If initialization
fails the host must re-try steps 1 through 3 and
if failure is met again, the communication
timing and protocol should be inspected.
4) AfterreceivingtheC_BOOT_START
message, the host must release control of the
communication interface and wait for INTREQ
to go low.
to go low.
Note:DSPC will autoboot DSPC. After this
DSPC will release control of the communication
interface, but only when in SPI Master Boot
Mode.
9) The end of the .ULD file contains a four byte
checksum. If the checksum is good after the
download,DSPCwillsenda
C_BOOT_SUCCESS message to the host. If
the checksum was bad, DSPC responds with
the C_BOOT_ERROR_CHECKSUM message
and waits for a hard reset.
10) After reading out the C_BOOT_SUCCESS
message,thehostmustsendthe
C_SOFT_RESET message which will cause
the application code to reset and allow the
downloaded application to run.
Note: DSPC will autoboot DSPAB. After this
DSPC will release control of the communication
interface, but only when in SPI Master Boot
Mode.
5) The end of the .ULD file contains a three byte
checksum. If the checksum is good after the
download,DSPCwillsenda
C_BOOT_SUCCESS message to the host. If
the checksum was bad, DSPC responds with
the C_BOOT_ERROR_CHECKSUM message
message and waits for a hard reset.
6) After reading out the C_BOOT_SUCCESS
message,thehostmustsendasecond
C_MASTER_SOURCE_MODE boot message
to DSPC. This messages tells DSPC where the
to get image for DSPC.
7) If the initialization was successful DSPC sends
out the C_BOOT_START message and the
host must proceed to step 8. If initialization
fails the host must re-try step 6. If failure is met
again, the communication timing and protocol
should be inspected.
11) If the soft reset was successful, DSPC sends out
a C_APP_START message the hostcan
proceed to step 12. If DSPC does not send an
the application start message, the host must retry the whole procedure again.
12) Next the host can send hardware and software
configuration messages for DSPC.
13) At this point the application code on DSPC is
running and the host needs to configure
DSPAB.
14) The host must read the AB_APP_START
message from DSPAB. If DSPAB does not
send an the application start message the host
must re-try the whole procedure again, starting
with step 1.
15) The host must send hardware and software
configuration messages for DSPAB, ending
with the kickstart message.
16) At this point the application code on DSPAB is
running.
8) AfterreceivingtheC_BOOT_START
message, the host must release control of the
communication interface and wait for INTREQ
Note: Hardware configuration messages are
used to define the behavior of the DSP’s audio
ports. A more detailed description of the
different hardware configurations can be found
73
in the Section 10 “Hardware Configuration” on
page 78.
Note: The software configuration messages
are specific to each application. The application
code user’s guide for each application provides
a list of all pertinent configuration messages.
Writing the KICKSTART message to DSPAB
begins the audio decode process.
the host should re-try step 6. If failure is met
again, the communication timing and protocol
should be inspected.
8) AfterreceivingtheC_BOOT_START
message,thehostshouldwritethe
downloadable image for DSPC.
8.2 Host Boot Via DSPC
A host controlled boot via DSPC is a sequence
where the host boots DSPAB and DSPC through
DSPC with two separate images (.ULD files).
Figure 53, "Host Boot Via DSPC" on page 75
demonstrates the interactionrequired by the
microcontroller.
1) A download sequence is started when the host
holds the mode pins appropriately (UHS[2:0]
and FHS[1:0]) and toggles RESET.
2) Thehostmustthensendthe
C_SLAVE_MODE boot message to DSPC.
This causes DSPC to initialize itself.
3) If the initialization was successful DSPC sends
out a C_BOOT_START message. The host
should proceed to step 4. If initialization fails,
the host should re-try steps 1 through 3 and if
failure is met again, the communication timing
and protocol should be inspected.
4) AfterreceivingtheC_BOOT_START
message,thehostshouldwritethe
downloadable image for DSPAB(.ULD file) to
DSPC.
5) The host must wait for INTREQ
read the message from DSPC.
6) After reading out the C_BOOT_SUCCESS
message,thehostmustthensendthe
C_SLAVE_MODE message to DSPC once
more. This causes DSPC to initialize itself and
get ready to accept a stream.
7) If the initialization was successful DSPC sends
out a C_BOOT_START message. The host
should proceed to step 8. If initialization fails,
to go low and
9) The host must wait for INTREQ
to go low and
read the message from DSPC.
10) After reading out the C_BOOT_SUCCESS
message.Thehostmustsendthe
C_SOFT_RESET message which will cause
the application code to reset and allow the
downloaded application to run.
11) If the soft reset was successful, DSPC sends out
a C_APP_START message the hostcan
proceed to step 8. If DSPC does not send an the
application start message, the host must re-try
the whole procedure again.
12) Next the host can send hardware and software
configuration messages for DSPC.
13) At this point the application code on DSPC is
running and the host needs to configure
DSPAB.
14) The host must read the AB_APP_START
message from DSPAB. If DSPAB does not
send an the application start message the host
mustre-trythewholeprocedureagain,
beginning at setp 1.
15) The host must send hardware and software
configuration messages for DSPAB.
16) At this point the application code on DSPAB is
running.
Note: Hardware configuration messages are
used to define the behavior of the DSP’s audio
ports. A more detailed description of the
different hardware configurations can be found
in the Section 10 “Hardware Configuration” on
page 78.
Note: The software configuration messages
are specific to each application. The application
code user’s guide for each application provides
74
START
RESET(LOW)
WA IT 10 uS
RESET(HIGH)
WRITE-C_*
(C_SLAVE_MODE)
INTR EQ L OW ?
Y
READ-C_*(C_MESSAGE)
MSG
==C_BOOT_STA RT
Y
WR ITE-C_* (.ULD FILE ,FILE
SIZE) for DSP AB
INTR EQ L OW ?
Y
READ-C_*(C_MESSAGE)
MSG==
C_BOOT_S UCCES S
WRITE-C_*
(C_SLAVE_MODE)
N
N
N
N
TIMEOUT
AFTER (5 mS)
EXIT(ERROR)
TIMEOUT
AFTER (5 mS)
EXIT(ERROR)
READ-C_*(C_MESSAGE)
MSG==
C_BO OT_SUCCE SS
WRITE-C_*(C_SOFT_RESET)
INTR EQ L OW ?
Y
READ-C_*(C_MESSAGE)
MSG==
C_APP_START
Y
WRITE-C_*(C_HW _CONFIG_MSG,
WRITE-C_*(C_SW_CONFIG_MSG,
MSG_SIZE)
MSG_SIZE)
WRITE-C_*(KICKSTART,
MSG_SIZE)
C_APPLICATION_RUNNING
READ-AB_*(AB_MESSAGE)
Y
FINTREQ LOW ?
HOUTRDY HI?
Y
N
N
N
EXIT(ERROR)
AFTER (5 mS)
N
EXIT(ERROR)
AFTER (5 mS)
TIMEOUT
TIMEOUT
INTR EQ L OW ?
Y
READ-C_*(C_MESSAGE)
MSG
==C_BOOT_STA RT
Y
WR ITE-C_* (.ULD FILE ,FILE
SIZE) for DSP C
INTR EQ L OW ?
Y
N
N
N
TIMEOUT
AFTER (5 mS)
WRITE-AB_*(AB_HW_CONFIG_MSG,
EXIT(ERROR)
TIMEOUT
AFTER (5 mS)
WRITE-AB_*(AB_SW_CONFIG_MSG,
Figure 53. Host Boot Via DSPC
MSG==
AB_AP P_STA RT
Y
MSG_SIZE)
MSG_SIZE)
WRITE-AB_*(KICKSTART,
MSG_SIZE)
AB_APPLICATION_RUNNING
N
EXIT(ERROR)
75
a list of all pertinent configuration messages.
Writing the KICKSTART message to DSPAB
begins the audio decode process.
9. SOFT RESETTING THE CS49400
Soft resetting the CS49400 uses a combination of
software and hardware. This method of resetting
the DSP is usually referred to as a “soft reset” even
though it involves toggling the reset pin due to the
fact that a soft reset message is sent to the DSP. To
soft reset the device, a previous application code
must have been downloaded without power cycling
the DSP. Figure 54, "Host Controlled Master
Softreset" on page 77 describes the soft reset
procedure. The main purpose behind a soft reset is
to take advantage of the fact that all AC-3 based
codes can accept both AC-3 compressed data as
well as PCM data. This allows for a the host to
reconfigure the AC-3 application code for PCM or
AC-3 without having to completely redownload the
same application code.
9.1 Host Controlled Master Soft Reset
This reset procedure isused torestart the
application code that has already been loaded on
the DSP. All writes and reads with the CS49400
should follow the protocol given in Section 8
“Boot Procedure” on page 71.
1) A Soft Reset sequence is started when the host
holds the mode pins appropriately (UHS[2:0]
and FHS[1:0]) and toggles RESET.
2) The host must send the C_SOFT_RESET
message to DSPC. This causes the application
code on DSPAB and DSPC to reset and allow
the downloaded application to run.
3) If the soft reset was successful, DSPC sends out
a C_APP_START message the hostcan
proceed to step 4. If DSPC does not send an the
application start message, the host must re-try
the whole procedure again.
4) The host can send hardware and software
configuration messages for DSPC.
5) At this point the application code on DSPC is
running and the host needs to configure
DSPAB.
6) Next the host must wait for FINTREQ to go
low and read the AB_APP_START message
from DSPAB. If DSPAB does not send an the
application start message the host must re-try
the whole procedure again, beginning from step
1.
7) The host must send hardware and software
configuration messages for DSPAB.
8) At this point the application code on DSPAB is
running.
76
START
RESET(LOW)
WAIT 10 uS
RESET(HIGH)
W RITE-C_*(C_SOFT_RESET)
INTR E Q LO W ?
Y
READ-C_*(C_MESSAGE)
MSG==
C_APP_START
Y
WRITE-C_*(C_HW_CONFIG_MSG,
MSG_SIZE)
WRITE-C_*(C_SW_CONFIG_MSG,
MSG_SIZE)
WRITE-C_*(KICKSTART,
MSG_SIZE)
C_APPLICATION_RUNNING
N
AFTER (5 mS)
N
EXIT(ERROR)
TIMEOUT
FINTREQ LOW?
Y
READ-AB_*(AB_MESSAGE)
MSG==
AB_APP_START
Y
WRITE-AB_*(AB_HW_CONFIG_MSG,
MSG_SIZE)
WRITE-AB_*(AB_SW_CONFIG_MSG,
MSG_SIZE)
W R ITE-A B_*(K IC KS TA R T,
MSG_SIZE)
AB_APPLICATION_RUNNING
N
AFTER (5 mS)
N
EXIT(ERROR)
TIMEOUT
Figure 54. Host Controlled Master Softreset
77
10. HARDWARE CONFIGURATION
11.1 Digital Audio Formats
After download or soft reset, and before kickstart,
the host has the option of changing the default
hardware configuration. (Please see the Audio
Manager in the Application Messaging Section of
any Application Code User’s Guide for more
information on kickstarting.)
Hardware configuration messages are used to
physically reconfigure the hardware of the audio
decoder, as in enabling or disabling address
checking fortheserial communicationport.
Hardware configuration messages are also used to
initialize the data type (i.e., PCM or compressed)
and format (e.g., I
2
S, left justified, etc.) for digital
data inputs, as well as the data format and clocking
options for the digital output port.
In general, the hardware configuration can only be
changed immediately after download or after soft
resetandbeforekickstart.However,some
applications provide the capability to change the
input ports without affecting other hardware
configurations, after sending a special Application
Restart message. (Please see the Audio Manager in
any Application Code User’s Guide to determine
whethertheApplicationRestartmessageis
supported.)
11. DIGITAL INPUT AND OUTPUT
DATA FORMATS
The CS49400 supports a wide variety of data input
and output data formats through various input and
output ports. Hardware availability is entirely
dependent on whether the software application
code being used supports the required mode. This
data sheet presents most of the modes available
with the CS49400 hardware. This does not mean
that all of the modes are available with any
particularpieceofapplicationcode.The
Application Code User’s Guide for the particular
code being used should be referenced to determine
if a particular mode is supported. In addition if a
particular mode is desired that is not presented,
please contact your local FAE as to its availability.
This subsection will describe some common audio
formats that the CS49400 supports. It should be
noted that the input ports use up to 24-bit PCM
resolution and 16-bitcompressed dataword
lengths. The output port of the CS49400 provides
up to 24-bit PCM resolution.
11.1.1 I2S
Figure 55, "I2S Format" on page 79 shows the I2S
2
format. For I
S, data is presented most significant
bit first, one FSCLKN1 delay after the transition of
FLRCLKN1, and is valid on the rising edge of
FSCLKN1. For the I
2
S format, the left subframe is
presented when FLRCLKN1 is low; the right
subframe is presented when FLRCLKN1 is high.
FSCLKN1 is required to run at a frequency of 48Fs
or greater on the input ports.
11.1.2 Left Justified
Figure 56, "Left Justified Format (Rising Edge
Valid SCLK)" on page 79 shows the left justified
format with a rising edge FSCCLK. Data is
presented most significant bit first on the first
FSCLKN1 after an FLRCLKN1 transition and is
valid on the rising edge of FSCLKN1. For the left
justified format, the left subframe is presented
when FLRCLKN1 is high and the right subframe is
presented when FLRCLKN1 is low. The left
justified format can also be programmed for data to
be valid on the falling edge of FSCLKN1.
FSCLKN1 is required to run at a frequency of 48Fs
or greater on the input ports.
11.2 Digital Audio Input Port
The digital audio input port (DAI) on DSPAB, is
used for both compressed and PCM digital audio
data input. In addition this port supports a special
clocking mode in which a clock can be input to
directly drive the internal 33 bit counter. Table 18,
“Digital Audio Input Port,” on page 79 shows the
78
pin names, mnemonics and pin numbers associated
with the DAI.
Pin NamePin Description144-Pin
Package,
Pin
Number
FSDATAN1Serial Data In13184
FSCLKN1
FSTCCLK2
FLRCLKN1Frame Clock11985
Serial Bit Clock
Secondary STC
Clock
Table 18. Digital Audio Input Port
13481
100-Pin
Package,
Pin
Number
The DAI is fully configurable including support for
2
S and left-justified formats. DAI is programmed
I
forslaveclocks,whereFLRCLKN1and
FSCLKN1 are inputs. All DAI configuration
messagesmustbesenttoDSPAB.
11.3 Compressed Data Input Port
The compressed data input port (CDI) on DSPAB
can be used for both compressed and PCM data
input. Table 19 shows the mnemonic, pin name,
and pin number of the pins associated with the CDI
port on the CS49400.
The CDI port is fully configurable for all data
formatsincluding:I
multichannel formats. FLRCLKN2 and FSCLKN2
on the CDI port are programmed to be inputs. All
CDI configuration messages must be sent to
DSPAB.
2
S,left-justifiedand
Pin NamePin Description144-Pin
Package,
Pin
Number
FSDATAN2
CMPDAT
FSCLKN2
CMPCLK
FLRCLKN2
CMPREQ
Serial Data In
Compressed Data
In
Serial Bit Clock11178
Frame Clock
Data Request Out
Table 19. Compressed Data Input Port
11879
11780
100-Pin
package,
Pin
Number
11.4 Input Data Hardware Configuration
for CDI and DAI on DSPAB
Both data format (I2S, Left Justified) and data type
(compressed or PCM) are required to fully define
the input port’s hardware configuration. The DAI
and the CDI are configured by the same group of
messagessincetheirconfigurationsare
interrelated. The naming convention of the input
hardware configuration is as follows:
INPUT ABC
where A, B, C and are the parameters used to fully
define the input port. The parameters are defined as
follows:
A - Data Type
B-DataFormat
C - SCLK Polarity
FLRCLKN1
FSCLKN1
FSDATAN1MSBLSB
FLRCLKN1
LeftRight
Figure 55. I2SFormat
LeftRight
FSCLKN1
FSDATAN1MSBLSB
Figure 56. Left Justified Format (Rising Edge Valid SCLK)
MSBLSB
MSBLSBMSB
79
The following tables show the different values for
each parameter as well as the hex message that
needs to be sent. When creating the hardware
configuration message, only one hex message
should be sent per parameter. It should be noted
that the entire B parameter hex message must be
sent, even if one of the input ports has been defined
as unused by the A parameter.
per sub-frame. The DSP always uses 24-bit
resolution for PCM input. Systems having less
than 24-bit resolution will not have a problem
as the extra bits taken by the DSP will be under
the noise floor of the input signal for left
justified and I
input, data is always taken in 16 bit word
lengths.
2) If the clocks to the audio ports are known to be
corrupted, such as when a S/PDIF receiver goes
out of lock, the DSP should undergo an
application restart (if applicable), soft reset, or
hard reset. All three actions will result in the
input FIFO being reset. Failure to do so may
result in corrupted data being latched into the
2
S formats. For compressed
80
input FIFO and may result in corrupted data
being heard on the outputs.
be sent to DSPC to configure and enable the SAI
port.
Corruption is only an issue when PCM data is
being delivered. When compressed data is
beingdelivered,therearesyncwords
embedded in the data stream to which the DSP
can lock. Certain application codes that are
capable of processing PCM may now have a
special featurecalled “PCMRobustness”
which prevents the corruption described above,
but you should still use a FIFO reset to ensure
good data.
11.5 Serial Audio Input
The Serial Audio Input (SAI) provides four stereo
inputs to DSPC. The SAI can be used to postprocess PCM data from a multichannel Super
Audio CD input or DVD Audio/Video input via
high-performanceA/Ds.Table 19showsthe
Pin NamePin Description144-Pin
Package,
Pin
Number
SCLKNSerial Bit Clock8660
LRCLKNFrame Clock8559
SDATAN3Serial Data In 37955
SDATAN2Serial Data In 28056
SDATAN1Serial Data In 18157
SDATAN0Serial Data In 08258
The Digital Audio Output port (DAO) can transmit
up to 16 channels of PCM data that are fully
configurable into standard audio format. It also has
two IEC60958 pins that provide CMOS level bi
phase encoded outputs. Table 25 shows the signals
associated with the DAO. As with the input ports
the clocks and data are fully configurable via
hardware configuration. All DAO configuration
messages must be sent to DSPC.
Pin NamePin Description144-Pin
Number
MCLK
Master Clock9968
100-Pin
Number
mnemonic, pin name and pin number of the pins
associated with the SAI port on the CS49400.
The SAI has 4 stereo data inputs that are fully
configurableincludingsupportforI2S,leftjustified and multichannel formats. The SAI port
operates in slave mode only with LRCLKN and
SCLKN as inputs. Processing on the CDI and DAI
ports must be disabled before the SAI port is
enabled. Either the input D0 or D1 message must
SCLK1
LRCLK1
AUDATA7,X
MT958B
AUDATA6
AUDATA5
AUDATA4
Serial Bit Clock for
AUDATA 4-7
Frame Clock for
AUDATA 4-7
Serial Data Out 7,
IEC60958 Trans-
mitter
Serial Data Out 69365
Serial Data Out 59466
Serial Data Out 410271
Table 25. Digital Audio Output Port
9867
8761
9264
81
Pin NamePin Description144-Pin
Number
100-Pin
Number
different MCLK frequencies. (All values are
expressed in terms of the sampling frequency, Fs.)
SCLK0Serial Bit Clock for
AUDATA 0-3
LRCLK0
AUDATA3,X
MT958A
AUDATA2
AUDATA1
AUDATA0
Table 25. Digital Audio Output Port (Continued)
Frame Clock for
AUDATA 0-3
Serial Data Out 3,
IEC60958 Trans-
mitter
Serial Data Out 210774
Serial Data Out 110976
Serial Data Out 011077
10472
10875
10673
MCLK is the master clock and is firmware
configurable to be either an input or an output. If
MCLK is to be used as an output, the internal PLL
must be used. As an output MCLK can be
configured to provide a 128Fs, 256Fs, or 512Fs
clock, where Fs is the output sample rate.
SCLK0 is the bit clock used to clock data out on
AUDATA0,AUDATA1,AUDATA2and
AUDATA3. LRCLK0 is the data framing clock
whose frequency is typically equal to the sampling
frequencyforAUDATA0,AUDATA1,
AUDATA2 and AUDATA3.
SCLK1 is the bit clock used to clock data out on
AUDATA4,AUDATA5,AUDATA6and
AUDATA7. LRCLK1 is the data framing clock
whose frequency is typically equal to the sampling
frequencyforAUDATA4,AUDATA5,
AUDATA6 and AUDATA7.
LRCLK0, LRCLK1, SCLK0 and SCLK1 can be
configured as either inputs (Slave) or outputs
(Master). A valid MCLK is required for all output
modes. When LRCLK0, LRCLK1, SCLK0 and
SCLK1 are configured as outputs, they are derived
from MCLK. Whether MCLK is configured as an
input or an output, an internal divider from the
MCLK signal is used to produce LRCLK0,
LRCLK1, SCLK0 and SCLK1. The ratios shown
in Table 26 give the possible SCLK values for
MCLK
(Fs)
128XX
384XXX
256XXXX
512XXXXX
324864128256512
Table 26. MCLK/SCLK Master Mode Ratios
SCLK (Fs)
Both the AUDAT0 and AUDAT4 Digital Audio
Output porst are configurable to provide output for
two,four,orsixchannelsofPCMdata.
AUDATA1,AUDATA2,AUDATA3,
AUDATA5, AUDATA6 and AUDATA7 are only
capable of outputting two channels of PCM data.
TypicallyAUDATA[0:7]areconfiguredfor
outputting either left justified or I
2
S formatted data.
In a standard 5.1 channel AVR, AUDATA0,
AUDATA1 and AUDATA2 are used to output the
six discrete channels (Left, Center, Right, Left
Surround, Right Surround, and Subwoofer).
AUDATA3canbeusedwithAUDATA0,
AUDATA1 and AUDATA2 to support 7.1 output.
Alternatively AUDATA3 and AUDATA7 can be
used for dual zone support. AUDATA3 and
AUDATA7 are multiplexed with the XMT958
output so only one can be used at any one time.
PleaserefertoAN208,AN209andtheir
corresponding appendices for information about
which output modes are supported, as this is
specific to each application code.
11.6.1 S/PDIF Outputs
Both AUDATA3 and AUDATA7 digital audio
output ports are unique, in that they can serve either
an additional output for I2S or Left Justified PCM
data OR as IEC60959 bi-phase mark encoded data
S/PDIF transmitters. When either of these ports are
configured as a S/PDIF transmitter, the MCLK
required for such functionality can be provided
from either the internally locked PLL or from an
82
MCLKinput.Allconsumerchannelstatus
information can be included in the S/PDIF stream,
provided that the particular application code
supports this functionality.
When configured as a S/PDIF transmitter, the
designer should understand that in order for these
ports to be fully IEC60958 compliant, the outputs
would need to be buffered through an RS422
device or an optocoupler as its outputs are only
CMOS driven.
11.7 Output Data Hardware Configuration
The DAO naming convention is as follows:
OUTPUT ABCD,
where the parameters are defined as:
A - DAO Mode (Master/Slave for LRCLK0,
LRCLK1, SCLK0 and SCLK1)
B-DataFormat
C - MCLK, SCLK, LRCLK Frequency
The following tables show the different values for
each parameter as well as the hex message that
needs to be sent. When creating the hardware
configuration message, only one hex message
should be sent per parameter.
The single hardware configuration message that
must be sent to the CS49400 after download or soft
reset should be a concatenation of the messages in
the previous sections. The complete hardware
configuration message should be created by taking
a message for each parameter (where the default is
not acceptable) and concatenating the messages
together. No messages need to be sent if the default
configurationforaparticularparameteris
acceptable. This example can be easily expanded to
fit other system requirements.
Thisisthedefaultconfigurationsono
configuration message is required.
Concatenating the messages together gives the
hardwareconfigurationmessageshownin
Table 31, “Example Values to be Sent to DSPAB
After Download or Soft Reset,” on page 85, which
should be sent to DSPAB after download or soft
reset. Table 32, “Example Values to be Sent to
DSPC After Download or Soft Reset,” on page 85,
which should be sent to DSPC after download or
soft reset.
WORD#VAL UEWORD#VALUE
10x80021070x80021A
Table 31. Example Values to be Sent to DSPAB After
CS49400 clock input. This pin accepts an external clock input signal that is used to drive the
internal core logic. When in internal clock mode (CLKSEL == VSS), this input is connected to
the internal PLL from which all internal clocks are derived. When in external clock mode
(CLKSEL == VDD), this input is connected to the DSP clock. Alternatively, a 12.288 mhZ
crystal oscillator can be connected between XTALI and XTALO. INPUT
XTALO — Crystal Oscillator Output
Crystal oscillator output. OUTPUT
CLKSEL — DSP Clock Select
This pin selects the internal source clock. When CLKSEL is low, CLKIN is connected to the
internal PLL from which all internal clocks are derived. When CLKSEL is high, the PLL is
bypassed and the external clock directly drives all input logic. INPUT
FDAT7 — DSPAB Bidirectional Data Bus
FDAT6
FDAT5
FDAT4
FDAT3
FDAT2
FDAT1
FDAT0
In parallel host mode, these pins provide a bidirectional data bus to DSPAB. These pins have
an internal pull-up.
BIDIRECTIONAL - Default: INPUT
FA0, FSCCLK — Host Parallel Address Bit Zero or Serial Control Port Clock
In parallel host mode, this pin serves as one of two address input pins used to select one of
four parallel registers. In serial host mode, this pin serves as the serial control clock signal,
specifically as the SPI clock input. INPUT
88
FA1, FSCDIN — Host Address Bit One or SPI Serial Control Data Input
In parallel host mode, this pin serves as one of two address input pins used to select one of
four parallel registers. In SPI serial host mode, this pin serves as the data input. INPUT
FHS1, FRD
FHS0, FWR
FCS
— Host Parallel Chip Select, Host Serial SPI Chip Select
FHS2, FSCDIO, FSCDOUT — Mode Select Bit 2 or Serial Control Port Data Input and Output, Par-
allel Port Type Select
,FR/W— Mode Select Bit 1 or Host Parallel Output Enable or Host Parallel R/W
DSPAB control port mode select bit 1. This bit is one of 3 control port select bits that are
sampled on the rising edge of RESET
parallel host mode, this pin serves as the active-low data bus enable input. In Motorola parallel
host mode, this pin serves as the read-high/write-low control input signal. In serial host mode,
this pin can serve as the external memory active-low data-enable output signal.
BIDIRECTIONAL - Default: INPUT
,FDS— Mode Select Bit 0 or Host Write Strobe or Host Data Strobe
DSPAB control port mode select bit 0. This bit is one of 3 control port select bits that are
sampled on the rising edge of RESET
parallel host mode, this pin serves as the active-low data-write-input strobe. In Motorola
parallel host mode, this pin serves as the active-low data-strobe-input signal. In serial host
mode, this pin can serve as the external-memory active-low write-enable output signal.
BIDIRECTIONAL - Default: INPUT
In parallel host mode, this pin serves as the active-low chip-select input signal. In serial host
SPI mode, this pin is used as the active-low chip-select input signal. INPUT
to determine the control port mode of DSPAB. In Intel
to determine the control port mode of DSPAB. In Intel
DSPAB control port mode select bit 2. This bit is one of 3 control port select bits that are
sampled on the rising edge of RESET
mode this pin serves as the data output pin. In parallel host mode, this pin is sampled at the
rising edge of RESET
Motorola type bus. BIDIRECTIONAL - Default: INPUT
FINTREQ
FSCLKN1, STCCLK2
FLRCLKN1 — PCM Audio Input Sample Rate Clock
— Control Port Interrupt Request
Open-drain interrupt-request output. This pin is driven low to indicate that the DSP has
outgoing control data that should be read by the host.
OPEN DRAIN I/O - Requires 3.3K Ohm Pull-Up
— PCM Audio Input Bit Clock
Digital-audio bit clock input. FSCLKN1 operates asynchronously from all other DSPAB clocks.
In master mode, FSCLKN1 is derived from DSPAB
of FSCLKN1 can be programmed by the DSP.
BIDIRECTIONAL - Default: INPUT
to configure the parallel host mode as an Intel type bus or as a
to determine the control port mode of DSPAB. In SPI
’s internal clock generator. The active edge
89
Digital-audio frame clock input. FLRCLKN1 typically is run at the sampling frequency.
FLRCLKN1 operates asynchronously from all other DSPAB clocks. The polarity of FLRCLKN1
for a particular subframe can be programmed by the DSP.
BIDIRECTIONAL - Default: INPUT
FSDATAN1 — PCM Audio Data Input One
Digital-audio data input that can accept from one compressed line or 2 channels of PCM data.
FSDATAN1 can be sampled with either edge of FSCLKN1, depending on how FSCLKN1 has
been configured. INPUT
CMPCLK, FSCLKN2 — PCM Audio Input Bit Clock
Digital-audio bit clock input. FSCLKN2 operates asynchronously from all other DSPAB clocks.
TheactiveedgeofFSCLKN2canbeprogrammedbytheDSP.
BIDIRECTIONAL - Default: INPUT
CMPDAT, FSDATAN2 — PCM Audio Data Input Number Two
Digital-audio data input that can accept either one compressed line or 2 channels of PCM
data. FSDATAN2 can be sampled with either edge of FSCLKN2, depending on how FSCLKN2
has been configured.
BIDIRECTIONAL - Default: INPUT
FDBCK — Reserved
This pin is reserved and should be pulled up with an external 3.3k resistor. INPUT
FDBDA — Reserved
This pin is reserved and should be pulled up with an external 3.3k resistor.
BIDIRECTIONAL - Default: INPUT
PLLVDD — PLL Supply Voltage
2.5 V PLL supply.
PLLVSS — PLL Ground Voltage
PLL ground.
RESET
— Master Reset Input
Asynchronous active-low master reset input. Reset should be low at power-up to initialize the
DSP and to guarantee that the device is not active during initial power-on stabilization periods.
At the rising edge of reset the host interface mode of DSPAB is selected contingent on the
stateoftheFHS0,FHS1,andFHS2pins.Attherisingedgeofresetthehostinterfacemode
of DSPC is selected contingent on the state of the UHSO, UHS1, and UHS2 pins. If reset is
low all bidirectional pins are high-Z inputs. INPUT
TEST — Reserved
90
This should be tied low for normal operation. INPUT
MCLK — Audio Master Clock
Bidirectional master audio clock. As an output, MCLK provides a low jitter oversampling clock.
MCLK supports all standard oversampling frequencies. BIDIRECTIONAL - Default: INPUT
SCLK0 — Audio Output Bit Clock
Bidirectional digital-audio output bit clock for AUDATA0, AUDATA1, AUDATA2, and AUDATA3.
As an output, SCLK0 can provide 32 Fs, 64 Fs, 128 Fs, 256 Fs, or 512 Fs frequencies and is
synchronous to MCLK. As an input, SCLK0 is independent of MCLK.
BIDIRECTIONAL - Default: INPUT
SCLK1 — Audio Output Bit Clock
Bidirectional digital-audio output bit clock for AUDATA4, AUDATA5, AUDATA6, and AUDATA7.
As an output, SCLK1 can provide 32 Fs, 64 Fs, 128 Fs, 256 Fs, or 512 Fs frequencies and is
synchronous to MCLK. As an input, SCLK1 is independent of MCLK.
BIDIRECTIONAL - Default: INPUT
LRCLK0 — Audio Output Sample Rate Clock
Bidirectional digital-audio output frame clock for AUDATA0, AUDATA1, AUDATA2, and
AUDATA3. As an output, LRCLK0 can provide all standard output sample rates up to 192 kHz
and is synchronous to MCLK. As an input, LRCLK0 is independent of MCLK.
BIDIRECTIONAL - Default: INPUT
LRCLK1 — Audio Output Sample Rate Clock
Bidirectional digital-audio output frame clock for AUDATA4, AUDATA5, AUDATA6, and
AUDATA7. As an output, LRCLK1 can provide all standard output sample rates up to 192 kHz
and is synchronous to MCLK. As an input, LRCLK1 is independent of MCLK.
BIDIRECTIONAL - Default: INPUT
AUDATA0 — Digital Audio Output 0
PCM digital-audio data output. OUTPUT
AUDATA1 — Digital Audio Output 1
PCM digital-audio data output. OUTPUT
AUDATA2 — Digital Audio Output 2
PCM digital-audio data output. OUTPUT
AUDATA3, XMT958A — Digital Audio Output 3, S/PDIF Transmitter
91
CMOS level output that outputs a biphase-mark encoded (S/PDIF) IEC60958 signal or digital
audio data which is capable of carrying two channels of PCM digital audio. OUTPUT
AUDATA4, GPIO28 — Digital Audio Output 4, General Purpose I/O
PCM digital-audio data output. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
AUDATA5, GPIO29 — Digital Audio Output 5, General Purpose I/O
PCM digital-audio data output. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
AUDATA6, GPIO30 — Digital Audio Output 6, General Purpose I/O
PCM digital-audio data output. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
AUDATA7, XMT958B, GPIO31 — Digital Audio Output 7, S/PDIF Transmitter, General Purpose I/O
CMOS level output that contains a biphase-mark encoded (S/PDIF) IEC60958 signal or digital
audio data which is capable of carrying two channels of PCM digital audio. This pin can also
act as a general-purpose input or output that can be individually configured and controlled by
DSPC. BIDIRECTIONAL - Default: OUTPUT
DBCK — Debug Clock
Must be tied high to 3.3k ohm resistor. INPUT
DBDA — Debug Data
Must be tied high to 3.3k ohm resistor. BIDIRECTIONAL - Default: INPUT
SLCKN, GPIO22 — PCM Audio Input Bit Clock, General Purpose I/O
Digital-audio bit clock that is an input. SCLKN operates asynchronously from all other DSPAB
clocks. The active edge of SCLKN can be programmed by the DSP. This pin can act as a
general-purpose input or output that can be individually configured and controlled by DSPC.
Digital-audio frame clock input. LRCLKN operates asynchronously from all other DSPAB
clocks. The polarity of LRCLKN for a particular subframe can be programmed by the DSP.
This pin can act as a general-purpose input or output that can be individually configured and
controlled by DSPC. BIDIRECTIONAL - Default: INPUT
SDATAN0, GPIO24 — PCM Audio Input Data, General Purpose I/O
Digital-audio PCM data input. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
SDATAN1, GPIO25 — PCM Audio Input Data, General Purpose I/O
92
Digital-audio PCM data input. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
SDATAN2, GPIO26 — PCM Audio Input Data, General Purpose I/O
Digital-audio PCM data input. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
SDATAN3, GPIO27 — PCM Audio Input Data, General Purpose I/O
Digital-audio PCM data input. This pin can act as a general-purpose input or output that can
be individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
This pin serves as the serial SPI clock input. INPUT
SCDIN — SPI Serial Control Data Input
In SPI mode this pin serves as the data input pin. INPUT
SCDOUT, SCDIO — Serial Control Port Data Input and Output
In SPI mode this pin serves as the data output pin. BIDIRECTIONAL - Default: OUTPUT in
SPI mode
INTREQ
— Control Port Interrupt Request
Open-drain interrupt-request output. This pin is driven low to indicate that DSPC has outgoing
control data and should be serviced by the host.
OPEN DRAIN I/O - Requires 3.3K Ohm Pull-Up
93
HDATA7, GPIO7 — DSPC Bidirectional Data Bus, General Purpose I/O
HDATA6, GPIO6
HDATA5, GPIO5
HDATA4, GPIO4
HDATA3, GPIO3
HDATA2, GPIO2
HDATA1, GPIO1
HDATA0, GPIO0
In parallel host mode, these pins provide a bidirectional data bus. These pins can also act as
general purpose input or output pins that can be individually configured and controlled by
DSPC. These pins have an internal pull-up. BIDIRECTIONAL - Default: INPUT
A0, GPIO13
A1, GPIO12 — Host Address Bit 1, General Purpose I/O
,DS,GPIO10— Host Write Strobe, Host Data Strobe, General Purpose I/O
WR
— Host Parallel Address Bit 0, General Purpose I/O
In parallel host mode, this pin serves as the LS Bit of a two bit address input used to select
one of four parallel registers. This pin can act as a general-purpose input or output that can be
individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
In parallel host mode, this pin serves as the MS Bit of a two bit address input used to select
one of four parallel registers. This pin can act as a general-purpose input or output that can be
individually configured and controlled by DSPC. BIDIRECTIONAL - Default: INPUT
In Intel parallel host mode, this pin serves as the active-low data bus enable input. In Motorola
parallel host mode, this pin serves as the read-high/write-low control input signal. This pin can
act as a general-purpose input or output that can be individually configured and controlled by
DSPC. This pin has an internal pull-up. BIDIRECTIONAL - Default: INPUT
In Intel parallel host mode, this pin serves as the active-low data bus enable input. In Motorola
parallel host mode, this pin serves as the read-high/write-low control input signal. In serial host
mode, this pin can serve as a general purpose input or output bit. This pin can act as a
general-purpose input or output that can be individually configured and controlled by DSPC.
This pin has an internal pull-up.
BIDIRECTIONAL - Default: INPUT
,GPIO9— Host Parallel Chip Select, General Purpose I/O
CS
In parallel host mode, this pin serves as the active-low chip-select input signal. This pin can
act as a general-purpose input or output that can be individually configured and controlled by
DSPC. This pin has an internal pull-up. BIDIRECTIONAL - Default: INPUT
94
HINBSY, GPIO8 — Input Host Message Status, General Purpose I/O
This pin indicates that serial or parallel communication data written to the DSP has not been
read yet. This pin can act as a general-purpose input or output that can be individually
configured and controlled by DSPC. This pin has an internal pull-up. BIDIRECTIONAL -
Default: OUTPUT
SD_DATA15, EXTA18 — SDRAM Data Bus, SRAM External Address Bus
SD_DATA14, EXTA17
SD_DATA13, EXTA16
SD_DATA12, EXTA15
SD_DATA11, EXTA14
SD_DATA10, EXTA13
SD_DATA9, EXTA12
SD_DATA8, EXTA11
SDRAM data bus 15:8. SRAM external address bus 18:11. OUTPUT
SD_DATA7, EXTD7 — SDRAM Data Bus, SRAM External Data Bus
SD_DATA6, EXTD6
SD_DATA5, EXTD5
SD_DATA4, EXTD4
SD_DATA3, EXTD3
SD_DATA2, EXTD2
SD_DATA1, EXTD1
SD_DATA0, EXTD0
SDRAM data bus 7:0. SRAM external data bus 7:0. BIDIRECTIONAL - Default: INPUT
SD_ADDR10, EXTA10 — SDRAM Address Bus, SRAM External Address Bus
SD_ADDR9, EXTA9
SD_ADDR8, EXTA8
SD_ADDR7, EXTA7
SD_ADDR6, EXTA6
SD_ADDR5, EXTA5
SD_ADDR4, EXTA4
SD_ADDR3, EXTA3
SD_ADDR2, EXTA2
SD_ADDR1, EXTA1
SD_ADDR0, EXTA0
SDRAM address bus 10:0. SRAM external address bus 10:0. OUTPUT
95
SD_CLK_OUT — SDRAM Clock Output
SDRAM clock output. OUTPUT
SD_CLK_IN — SDRAM Re-timing Clock Input
SDRAM re-timing clock input. INPUT
SD_CLK_EN — SDRAM Clock Enable
SDRAM clock enable. OUTPUT
SD_BA, EXTA19 — SDRAM Bank Address Select, SRAM External Address Bus
SDRAM bank address select. SRAM external address bus 19. OUTPUT
SD_CS
— SDRAM Chip Select
SDRAM chip select. OUTPUT
SD_RAS
— SDRAM Row Address Strobe
SDRAM row address strobe. OUTPUT
SD_CAS
— SDRAM Column Address Strobe
SDRAM column address strobe. OUTPUT
SD_WE
— SDRAM Write Enable
SDRAM write enable. OUTPUT
SD_DQM1 — SDRAM Data Mask 1
SDRAM data mask 1. OUTPUT
SD_DQM0 — SDRAM Data Mask 2
SDRAM data mask 0. OUTPUT
NV_CS
NV_OE
96
,GPIO14— SRAM Chip Select, General Purpose I/O
SRAM/Flash chip select. This pin can act as a general-purpose input or output that can be
individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
,GPIO15— SRAM Output Enable, General Purpose I/O
SRAM/Flash output enable. This pin can act as a general-purpose input or output that can be
individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
NV_WE,GPIO16— SRAM Write Enable, General Purpose I/O
SRAM/Flash write enable. This pin can act as a general-purpose input or output that can be
individually configured and controlled by DSPC. BIDIRECTIONAL - Default: OUTPUT
UHS2, CS_OUT, GPIO17 — Mode Select Bit 2, External Serial Memory Chip Select,
General Purpose I/O
DSPC control port mode select bit 2. This pin is sampled at the rising edge of RESET
one of three pins used to select the control port mode. In serial control port mode, this pin can
serve as an output to provide the chip-select for a serial EEPROM. This pin can act as a
general-purpose input or output that can be individually configured and controlled by DSPC.
BIDIRECTIONAL - Default: INPUT
UHS0, GPIO18 — Mode Select Bit 0, General Purpose I/O
DSPC control port mode select bit 0. This pin is sampled at the rising edge of RESET
one of three pins used to select the control port mode. This pin can act as a general-purpose
input or output that can be individually configured and controlled by DSPC.
BIDIRECTIONAL - Default: INPUT
UHS1, GPIO19 — Mode Select Bit 1, General Purpose I/O
DSPC control port mode select bit 1. This pin is sampled at the rising edge of RESET
one of three pins used to select the control port mode. This pin can act as a general-purpose
input or output that can be individually configured and controlled by DSPC.
BIDIRECTIONAL - Default: INPUT
GPIO20 — General Purpose I/O
This pin can act as a general-purpose input or output that can be individually configured and
controlled by DSPC. This pin has an internal pull-up.
BIDIRECTIONAL - Default: INPUT
and is
and is
and is
GPIO21 — General Purpose I/O
This pin can act as a general-purpose input or output that can be individually configured and
controlled by DSPC.This pin has an internal pull-up.
CS494002-CQ 144-pin, accommodates SRAM/SDRAM
CS494502-CQ 100-pin, external SRAM memory interface only (no SDRAM), no parallel-control ports, no
FLASH programming.
(Contact the factory for the 100-pin package pin-out and dimension drawing)
Tem p R an ge 0-7 0º C for both parts
98
14. PACKAGE DIMENSIONS
14.1 144-Pin LQFP Package
D1
D
E
E1
1
Note: See Legend Below
e
Θ
L
DIMMINNOMMAXMIN
B
A
A1
Figure 59. 144-Pin LQFP Package Drawing
INCHESMILLIMETERS
A---0.550.063---
A10.0020.0040.0060.05
B0.0070.0080.0110.17
D0.8540.866 BSC0.87821.70
D10.7830.787 BSC0.79119.90
E0.8540.866 BSC0.87821.70
E10.7830.787 BSC0.79119.90
e0.0160.0200.0240.40
Θ0.000°4°7.000°0.00°
L0.0180.0240.0300.45
99
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.