This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi TI experts,
I want to control my peripheral device by SPI.
However, the CS pin has a high-low action every byte.
It causes the peripheral device not to perform correctly.
If CS pin keep low level, it can perform correctly.
How could I fix it issue?
Thanks for your time and reply.
BR,
Nian
Are you using 4 wire or 3 wire SPI? If 4 wire, you might need to switch to 3 and program the CS on your own.
Hello Nian,
Double check which SPI mode you have setup the SPI module to be in. If it's in the TI mode, CS will go high on the last SPI CLK of any given transfer. If you are in Motorola Format, CS pin will go high between transfers depending on the specific SPO and SPH settings. If SPH = 1, then the CS line should be held low throughout a continuous transfer. In other cases, it will raise high in between transfer to allow for peripheral write.
See section 17.2.3.1 in the TRM for details.
Hi Keith,
I using 4 wire. I know the method that switch to 3 and program the CS on my own, but I thought SPI could handle this CS low.
Hi Jace,
I modified SPH = 1 and CS pin was held low through transfer.
The waveform as below.
But there is a problem about SCLK signal is continued.
My peripheral device requires a interval between byte to byte, such as my second image of above post.
Could the MSPG01107 SPI implement it?
BR,
Nian
Nian,
If you need the pause, then you would need to setup with just a FIFO of 1 and fill between transfers I think. There is no setting within the peripheral to do such a pause. I'm not sure how the CS pin logic will hold for that use case. You may have to manually control it as well if going this route.