Technical discussions related to Analog Devices DSPs (including Blackfin, TigerSHARC, SHARC and ADSP-21xx DSPs).
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