Engineer To Engineer Note EE-96
Technical Notes on using Analog Devices’ DSP components and development tools
Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp
Copyright 1999, Analog Devices, Inc. All rights reserved. Analog Devices assumes no responsibility for customer product design or the use or application of customers’ products
or for any infringements of patents or rights of others which may result from Analog Devices assistance. All trademarks and logos are property of their respective holders.
Information furnished by Analog Devices Applications and Development Tools Engineers is believed to be accurate and reliable, however no responsibility is assumed by Analog
Devices regarding the technical accuracy of the content provided in all Analog Devices’ Engineer-to-Engineer Notes.
Interfacing Two AD73311 Codecs to the ADSP-218x
Talkthrough Program for 2 cascaded 73311:
European DSP Apps, E. A.
Tested on SK 2185-Board, 03/98
Hardware Information:
- CODECS are attached to DSP’s SPORT 0
- Cascade circuitry: see AD73311 Data Sheet and below
- DSP's internally generated SCLK1 feeds Master Codec's MCLK
- Codecs' reset and SE lines are controlled per Flip-Flop via fl0 and fl1 respectively
- The 2 D-Flip-Flops synchronise Codecs' SE and reset to MCLK
- Programmable flag PF2 (not on the diagram) of the ADSP-218x is used to clear the 2 Flip-Flop sections
(corresponding to Codec reset and SE)
ADSP-218x connected
to 2 AD73311 Codecs
in cascade
a
{*******************************************************************}
.module/RAM/ABS=0 talkthru;
.const SPORT1_Autobuf= 0x3fef;
.const SPORT1_RFSDIV= 0x3ff0;
.const SPORT1_SCLKDIV= 0x3ff1;
.const SPORT1_Control_Reg= 0x3ff2;
.const SPORT0_Autobuf= 0x3ff3;
.const SPORT0_RFSDIV= 0x3ff4;
.const SPORT0_SCLKDIV= 0x3ff5;
.const SPORT0_Control_Reg= 0x3ff6;
.const SPORT0_TX_Channels0= 0x3ff7;
.const SPORT0_TX_Channels1= 0x3ff8;
.const SPORT0_RX_Channels0= 0x3ff9;
.const SPORT0_RX_Channels1= 0x3ffa;
.const TSCALE= 0x3ffb;
.const TCOUNT= 0x3ffc;
.const TPERIOD= 0x3ffd;
.const DM_Wait_Reg= 0x3ffe;
.const System_Control_Reg= 0x3fff;
.var/dm/ram/circ data[2];
{^data -> codec2;
^data+1 -> codec1}
.var/dm/ram/circ init_cmds[10];
.var/dm stat_flag;
.init init_cmds:
{ CR DEV REG REG }
{ DW ADD ADD DATA }
{ |+ --- *** ======== }
{ |+ --- *** ======== }
b#1000100100000011, {reg B,2 b#10 001 001 00000011 }
b#1000000100000011, {reg B,1 b#10 000 001 00000011 }
{ CRB4:6 DMCLK=MCLK; }
{ CRB2:3 00 -> SCLK = DMCLK/8}
b#1000101011111001, {reg C,2 b#10 001 010 11111001 5VEN }
b#1000001011111001, {reg C,1 b#10 000 010 11111001 }
0x8b40, {reg D,2 b#10 001 011 01000000}
{-6dB output gain & 0dB input gain}
EE-96 Page 2
Technical Notes on using Analog Devices’ DSP components and development tools
Phone: (800) ANALOG-D, FAX: (781) 461-3010, FTP : ftp.analog.com, EMAIL: dsp.support@analog.com