I'm getting a 0.2% probability of a transmitted 16 bit word not being received correctly when I'm sending through the McBSP at about 600 Khz (SYSCLK = LSPCLK = 150 Mhz, CLKGDV = 255). I'm trying to locate the reason for this; I need I much lower per-word error probability than that. I'm using interrupts for each word transmitted/received.
One obvious possibility is that the system (which is also doing a lot of other stuff at maybe 33% CPU load) cannot keep up with the McBSP and run the McBSP ISRs fast enough as it's sending (in fact, this seems quite likely), sometimes resulting in buffer under/overruns. Can I do anything about this except rewriting my code and trying to use DMA channels to do the memory transfers instead?
Edit: I might add that I think I'm not getting much external interference, because the distance between the DSPs (on two dev boards) is very short and it's in an office environment.