Tool/software: Code Composer Studio
Hello,
I'm trying to use the PM_BissC_System test project found in Control Suite to read a 26 bit encoder, then transmit the data from one launchpad to another using SPI-A. Data does transmit from one board to the other correctly, but when the data received by the second launchpad is sent to a DAC pin to view the output on an oscilloscope, it's apparent that the transmitted data frequently drops down to zero from the integer it was previously transmitting. If--instead of using the BissC project-- I use the SPI_loopback_cpu01 project in control suite (with the only modification of disabling loopback) to send integers 0-65535 linearly, this data drop problem still occurs. If I up the transmission baud rate by changing SPIBRR from 127 to 30, this data dropping phenomenon goes away. So, logically, I went back to the original scheme with the encoder hooked up and tried increasing the baud rate on SPI-A to get rid of the data drops. However, if I decrease SPIBRR past a value of 79, the PM_BissC_SystemTest code stops reporting position data.
Are the SPI-B and SPI-A ports between encoder/launch1 and launch1/launch2, respectively, interfering with each other if their baud rates get too close (i.e. if receive-from-encoder baud rate gets to close to transmit-to-launch2 baud rate)? I tried varying the receive baud rate on launch2 but this did not have much effect. Additionally, the CLK polarities for the spi-A and spi-B are reversed, but if I make them the same only garbage, nonsensical data gets transferred, with a lot of data drops.
How can I read the encoder via SPI-B and also transmit the data to another pad via SPI-A at sufficient data transmission rates such that these data losses do not occur? I attached a picture of the oscilloscope screen demonstrating the data drops.
Thanks for any help you can provide,
Tyler Ambrico
