DSPRelated.com
Forums

Sport0 Rx Interrupts die. Need help!

Started by n_ga...@mail.ru August 8, 2007
I use ADSP2191 Sport0 in multichannel mode (H.100) with autobuffering DMA
TFS/RFS external, SCLK external ... 8,192 mhz
I need to enable disable and reenable again Rx.
After boot and first sport setting up all goes o'k.
But when I try to disable sport, writing zero in RSPEN and
then enable it again RX intrrupts die.
I also tried a procedure described in anomaly list ( Anomaly 8 ), it doesn't help.
I also tried to zeroing all config registers of sport and reprogram them
again ...
Interrupts still die!!!

Pls!!!! Are anybody has a sample code for disable/enable SPORT...
Thank U in advance!
n...@mail.ru wrote:
> I use ADSP2191 Sport0 in multichannel mode (H.100) with autobuffering DMA
> TFS/RFS external, SCLK external ... 8,192 mhz
> I need to enable disable and reenable again Rx.

Why do you need to do that?

> After boot and first sport setting up all goes o'k.
> But when I try to disable sport, writing zero in RSPEN and
> then enable it again RX intrrupts die.
> I also tried a procedure described in anomaly list ( Anomaly 8 ), it doesn't help.
> I also tried to zeroing all config registers of sport and reprogram them
> again ...
> Interrupts still die!!!

Serial port flakiness seems to be a common problem. It was with the
218x family and presumably is with the 2191 too (though I have never
personally used it). It's still a problem with the Blackfins too.

ADI suggest that if (for whatever reason) serial ports appear to die
then stopping them and restarting them will fix the problem. I have
never managed to fix the problem reliably this way. The only reliable
way seems to be to do a full hardware reset and re-boot of the DSP
(which is also not so easy unless yor hardware has been designed
to support this).

A while ago someone on comp.dsp said they could fix the problem by
forcing the interrupt. This is something I have never tried, but
maybe it will work for you.

http://preview.tinyurl.com/26vc4f

Regards
--
Adrian Hey