DSPRelated.com
Forums

Open drain output to serial port data input

Started by Unknown April 17, 2006
Hello,

I want to know if it is licit to connect an opn drain output from
some device (W682510 voice codec by Winbond) to the RXD0 pin on
serial port 0 of an ADSP-2181, and in affirmative case, which value
to use for the pullup resistor.

At the beginning I thought it was OK, but have not been able to make
it work. DSP to codec is OK, I am generating a sinusoid from a table
in the DSP, via u-law companding, to the codec. I can see the sine
wave with an o'scope on the codec's analog output.

However, if I feed the codec's analog input with a sinewave, I just
get 0xE0A1 (-8031) in the DSPs memory. If I attach an o'scope probe
to the PCMT1 pin of the codec (digital serial output, u-law
companded), which is attached to the RXD0 pin of the DSP, pulled up
with a resistor (I have tried 1k, 10k, 33k), I can see the signal
pattern changing, but still get the same value: 0xE0A1.

If I set the analog input to 0V I can see the digital pattern
11111111 or 01111111, which correspond to +Zero and -Zero signal and
is OK, but I still get the value in the DSP: 0xE0A1

But if I remove the pullup and perform a digital loopback connecting
the TXD0 (sinewave, 8 bit uLaw companded) pin to the RXD0 pin, now I
get the correct values in the DSP memory, the same ones as on the
transmit buffer, and plotting I see the sinewave.

All of your suggestions are very welcome.

JaaC