I'm working with the TMS320VC5506 and have McBSP2 wired to act as a slave serial port, with the proper clock connected to CLKR2 and FSR2, but I cannot seem to get it to receive data. I have the pins set to be inputs, and supposedly have the McBSP2 using the external clock input and external frame sync input. I've used a logic analyzer to confirm that the external signals have the timing and polarity that I expect, but it still doesn't work. Obviously, I cannot probe the internal signals in the DSP, so it's difficult to determine what I have wrong, or if the chip simply doesn't support what I'm trying to do.
The only way I've been able to get it to work is to select CLKSTP mode and transmit dummy data on DX2, CLKX2, and FSX2. But the problem with this is that it takes DSP resources to general the dummy transmit data, and the real problem is that the internally-generated CLKX2 is not precisely aligned to the the incoming clock.
I note that the SPI slave mode actually uses CLKX2 as an input, not CLKR2. Also, it seems that FSX2 is used as the frame sync input rather than FSR2. I should be able to turn off CLKSTP mode (which makes the internal connections that circumvent CLKR2 and FSR2) and I would expect that the McBSP receive section should be able to run as a slave without SPI mode. Is there any problem with CLKR2 going inactive outside FSR2 active?
I could rewire my board to use CLKX2 as the clock input instead of CLKR2, and to use FSX2 as my frame sync input instead of FSR2, but this precludes me from using the transmit half of McBSP2 for optional output. I'd rather leave all of the X pins connected to alternate circuits, keeping the R pins independent. It there any reason why I cannot simply use the McBSP2 Receiver by wiring CLKR2, FSR2, DR2 and having the serial port slave to external clock, frame sync, and read data? I'm going to try to white-wire my board to use the transmit pins and CLKSTP, but I hope to learn whether my original goal is possible.
P.S. I've been able to use McBSP1 in CLKSTP mode with the exact same timing, so long as the transmitter and receiver are both active. So I know that my board is handling the 18 MHz clock, framing, and data signals without error. It's only isolated receiver functionality in slave mode that seems broken.