Other Parts Discussed in Thread: TMS570LS0332,
Hello TI guys,
I am working with two TI devices and currently having issues with the SPI Communication between them.
I have the TMS570LS0332 device configured as the Master SPI with the following Configs:
- WDelay = 25ns
- Polarity = Even
- ParityEna = Disabled
- WaitEna = DIsabled
- ShiftDir = LSB First
- Polarity = 0
- Phase = 0
- Prescale = 15 -> 5Mhz (Vclk = 80MHz)
- Charlen = 16 bits
And the TMS320F280049C configured as:
- Polarity = 1
- HS_Mode = 1
- SPI_Char = 0xF (16 bits)
- OverrrunIntEna = 0
- Clk Phase = 1
- Master Slave = Slave
- Talk = 1 (Enabled)
- SpiIntEna = 0
- Fifo Enhancements Enabled as follows:
- Write 0 to reset
- SPIFFENA = Enhancements Enabled
- Release transmit Fifo from reset
- TXFFIENA = 0 (interrupt disabled)
- SPI_OFFTX = SPI FIFO Can resume transmit or receive.
So, both devices are sharing information between them, however I have a checksum verification of the data being transmitted/received and noticed that sometimes the data which the C2000 reads
arrive with minus 1 in hexadecimal (for example, transmitted: 0x7DF5 vs Received: 0x7DF4). I have tried different SPI Modes (playing with the Polarity and CLK Phase of both devices) and there is no effect.
I also tried to change the Char len to 8bits but no effect.
In conclusion I am not 100% of what is happening, because the info is being shared between the devices but losing information which causes noisy log faults in my System.
From my point of view it seems like if that at the end of the transfer, the bits are not being properly read/transmitted (but I have no idea on how to fix it, it may be I have something wrong configured)
Do you have any ideas on what could be happening?
Kind Regards,
-Ariel