Tool/software: Code Composer Studio
Hello,
The SPI interface with vinculum is differs from most other implementations in that it uses a 13 clock sequence to transfer a single byte of data. The first step is to send 0x1800 to establish a communication.
When i send this data from LPC2148 processor then communication establish. But when send from TMS320F28027 communication isn't establish. Because data is not transmitting in such way as transmit by LPC2148, i attached pics to clear my issue. First, 2 pics show Transmission of 0x1800 from LPC 2148 to vinculum (13 clock sequence) and the third one show the transmission of 0x1800 from TMS320F28027 to vinculm (13 clock sequence)
void SSPIInit_Vdrive(void)
{
SpiaRegs.SPICCR.all = 0x000C; // Reset on,CLK Polarity : data is output on rising edge, 13-bit char length
SpiaRegs.SPICTL.all = 0x000E; // Data is output one half-cycle before the first rising edge of the SPICLK, master mode, enable talk, and SPI int disabled.
SpiaRegs.SPIBRR = 0x0005;
SpiaRegs.SPICCR.all = 0x008C; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission
SpiaRegs.SPIFFTX.all = 0xE040;
SpiaRegs.SPIFFRX.all = 0x2040;
SpiaRegs.SPIFFCT.all = 0x0;
}
void SPI_Tx (void)
{
SpiaRegs.SPITXBUF = 0x1800 << 3;
}