I currently have a SPORT setup in multichannel operation. It functions correctly most of the time. We have some hardware that switches the clock source that drives the external RFS/RSCLK of the SPORT. When the source of these external clock inputs is switched, there is some jitter on the lines (a clock stretch occurs). Most of the time the SPORT continues operating correctly. However, maybe 1 in 10 or 1 in 20 switches, the SPORT data bits get out of sync. That is the data bits git shifted out across channel boundaries such that the audio is completely corrupted. This continues indefinitely until a reset of the SPORTS is issued.
When scoping the RFS/RSCLK lines... it was noted that our RFS is being held high during the transmission of the frame. I suspect that this is causing the problem. My theory is that the jitter in the clocks causes the SPORT to look for a frame sync again, and because we are holding the frame sync high (not just pulsing it at the start of the frame) it locks onto a false frame sync in the middle of the frame.
Can someone from analog devices confirm that we should be pulsing the RFS high only at the beginning of the frame and not holding it high during the frame? The datasheet indicates that in multichannel operation we are forced to use "early frame" (not late) and all drawings of the early frame sync show it going low during the frame (only high at the actual frame start).
EDIT: A more concise version of my question: When using an external RFS, does the BF538 SPORT look for a rising edge of this signal or just any logic level high during the appropriate bit clock edge?
Can someone from analog devices confirm that we should be pulsing the RFS high only at the beginning of the frame and not holding it high during the frame?