PARTNO 31XXXX ; NAME U123 ; DATE August 14, 1991 ; REV 1 ; DESIGNER Dave Haynie ; COMPANY Commodore ; ASSEMBLY A3000+ ; LOCATION West Chester ; /************************************************************************/ /* */ /* A3000+ DSP3210 Serial Bus Protocol Converter */ /* */ /************************************************************************/ /* Allowable Target Device Types: 22V10-10 */ /************************************************************************/ /* Clock: OCK (Serial output clock) */ /************************************************************************/ /* Free Pins: 9(I),10(I),11(I) */ /************************************************************************/ /* HISTORY */ /* DBH Aug 14: Completely new. */ /************************************************************************/ /** Inputs **/ PIN 1 = OCK ; /* Serial output clock */ PIN 2 = DO ; /* Serial data output */ PIN 3 = !OLDN ; /* Negative output load strobe */ PIN 5 = DC ; /* Data/Command mode */ PIN 6 = DI ; /* Serial data input */ PIN 7 = DEV1 ; /* Device address */ PIN 8 = DEV0 ; PIN 13 = ILDP ; /* Positive input load strobe */ /** Outputs **/ PIN 14 = !EXP0 ; /* Device 2 select */ PIN 15 = !EXP1 ; /* Device 3 select */ PIN 16 = PLICS ; /* Device 0 select */ PIN 17 = AIOTSIN ; /* Part of device 1 select */ PIN 18 = AIODC ; /* Data/Command for device 1 */ PIN 21 = OLDP ; /* Positive output load strobe */ /** Bidirectionals **/ PIN 19 = AIOFSYNC ; /* Device 1 frame synch */ PIN 20 = SY ; /* Serial frame synch */ PIN 22 = !ILDN ; /* Negative input load strobe */ PIN 23 = ICK ; /* Serial input clock */ /** Declarations and Intermediate Variable Definitions **/ /* The audio select can be calculated by the process of elimination. */ AIOCS = !PLICS & !EXP0 & !EXP1; /** Logic Equations **/ /* The phone-line interface is device 0. */ PLICS = !DC & !DEV1 & !DEV0 # DC & PLICS; /* The expansion connector gets devices 2 and 3. */ EXP0 = !DC & DEV1 & !DEV0 # DC & EXP0; EXP1 = !DC & DEV1 & DEV0 # DC & EXP1; /* The Audio device, when selected, sees DC on its private DC line. At all other times, that line should be kept low, in command mode. */ AIODC = AIOCS & DC; /* When the audio device is selected, and we're in command mode, SY is routed to TSIN. When selected and in data mode, the audio device frame sync is routed to TSIN. */ AIOTSIN = AIOCS & !DC & !SY # AIOCS & DC & AIOFSYNC; /* The SY and AIOFSYNC are similar, but opposite polarities. In command mode, the DSP3210 sources SY; in data mode, the audio CODEC sources AIOFSYNC. */ SY = !AIOFSYNC; SY.OE = AIOCS & DC; AIOFSYNC = !SY; AIOFSYNC.OE = AIOCS & !DC; /* The phone-line interface requires inverted load strobes. It supplies the input load strobe, the DSP3210 supplies the output load strobe. */ OLDP = OLDN; ILDN = ILDP; ILDN.OE = PLICS; /* The serial input clock needs to be driven from OCK when we're not in Expansion mode. */ ICK = OCK; ICK.OE = !EXP0;