Hey,
I use the TI TMS320F28377SPZ with the c2000 Launchpad XL ver:1.0
The cpu works on 200Mhz, the low speed clk, that goes to the spi, works also on 200Mhz.
I use spi-B to interface with an external adc, the ADS8688 on a custom board. Below is the code to setup the spi-B module:
EALLOW;
//spi-b gpio configuration
// pullup enable
GpioCtrlRegs.GPBPUD.bit.GPIO63 = 0;
GpioCtrlRegs.GPCPUD.bit.GPIO64 = 0;
GpioCtrlRegs.GPCPUD.bit.GPIO65 = 0;
GpioCtrlRegs.GPCPUD.bit.GPIO66 = 0;
// async
GpioCtrlRegs.GPBQSEL2.bit.GPIO63 = 3;
GpioCtrlRegs.GPCQSEL1.bit.GPIO64 = 3;
GpioCtrlRegs.GPCQSEL1.bit.GPIO65 = 3;
GpioCtrlRegs.GPCQSEL1.bit.GPIO66 = 3;
// spi configuration
GpioCtrlRegs.GPBGMUX2.bit.GPIO63 = 3;
GpioCtrlRegs.GPCGMUX1.bit.GPIO64 = 3;
GpioCtrlRegs.GPCGMUX1.bit.GPIO65 = 3;
GpioCtrlRegs.GPCGMUX1.bit.GPIO66 = 3;
GpioCtrlRegs.GPBMUX2.bit.GPIO63 = 3;
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 3;
GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 3;
GpioCtrlRegs.GPCMUX1.bit.GPIO66 = 3;
EDIS;
//SPI-B
SpibRegs.SPICCR.bit.SPISWRESET = 0;
SpibRegs.SPICCR.bit.HS_MODE = 1;
SpibRegs.SPICCR.bit.SPICHAR = 0xF;
SpibRegs.SPICTL.bit.MASTER_SLAVE = 1;
SpibRegs.SPICTL.bit.TALK = 1;
SpibRegs.SPIBRR.bit.SPI_BIT_RATE = 5;//17;
//fifo
SpibRegs.SPIFFTX.all = 0xE040;
SpibRegs.SPIFFRX.all = 0x2044;
SpibRegs.SPIFFCT.all = 0x0;
SpibRegs.SPICCR.bit.SPISWRESET = 1;
If I check the signal on the scope, there are spurious pulses at the clk line that incorrectly trigger the ADS8688. These signals are visible without connection of the external board as well as on a different Launchpad board. spi-A and spi-C, with the same configuration, doen't show these spikes. Enclosed a figure of the scope:
Only if I reduce the speed, by setting SPI_BIT_RATE to around 100, the spikes disappear. What should I do to establish a reliable connection with the ADS8688?
Thank you for considering this issue,
Tom

