Hello, I have McBSP on evmdm6437 working as SPI slave, and sometimes it is not working properly, sometimes, when it receives clocks from the master, he does not read the data or transmit anything, it is like it is in reset state for a while, and an instant after he just "wake up" and begin to work properly. It only happen in some transmittion, for example, I need to do 4 transmissions:
-First and second are achieved perfectly
-Third needs a lot of clocks (for example, I need to transmit like 100 bytes, and it needs like 4000 bytes before start transmit) from the master until McBSP "wake up" and begin to serve the transmision well
-Fourth transmission works without problems.
And always fails in the third transmission. I have checked all the McBSP registers in the middle of a "bad" transmission (when McBSP is not able to read either transmit), and are equal to a good transmission. I have checked pinmux registers and no changes either. So it looks like everything is just the same, but not working well in that third transmission.
More data: I use Edma to server the McBSP and I am integrating this McBSP transmissions in a third part application, so probably this malfunction is caused for that "external code", but I wonder what registers could I check because, it is not like the transmission is not working, because if my EDMA channel was not serving well the McBSP, I still would be able to read the DRR register in the middle of a bad transmission. I mean:
-I stop when McBSP is not working well in the third transmission. Just in the middle of that "bad" transmission. Master is sending always 0x55, for example, and I just read in DRR the last byte of the second transmission, not 0x55. So is not EDMA fault, it is like the McBSP would be in reset state; but again, I can tell that the registers of McBSP are with no changes and McBSP is not in reset. If I write at that moment something in DXR, anything is tranmitted either.
-I am quite sure that the McBSP is well configured, as I have check it for a long transmission with the master in another application and works without no error in a very long transmission.
So, directly to the spot: if McBSP is not able to read or transmit in that moment, this would mean that something is "pulling down" the McBSP. My question is what other registers should I check to see that McBSP is really activated... I am missing something? I guessed that with McBSP registers were enough... just in case I have checked too the pinmux, but they are always the same, plus the third part application that I am modifying does not use McBSP or its pins.
Regards and thank you in advance