How to reduce inter-byte delay in ECSPI of i.MX 6SoloX cortex M4

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to reduce inter-byte delay in ECSPI of i.MX 6SoloX cortex M4

Jump to solution
852 Views
manikandanps
Contributor I

Hi,

I am using ECSPI of i.MX 6SoloX in M4 core. The application is executing in OCRAM. ECSPI is configured as master for 1MHz speed, ecspiClockPhaseSecondEdge,ecspiClockPolarityActiveHigh with the following additional register settings:

ECSPI_PERIODREG = 0;

Start Mode Control is enabled in ECSPI_CONREG_REG;

SS_CTL is enabled in master mode;

I have a byte array of 13 bytes ( formatted in little endian ) with values ranging from 0 to 12. I need to shift this out via ECSPI starting from 0 to 12. Since the hardware fifo is 64 words wide, i selected BURST_LENGTH in ECSPIx_CONREG as 7 for single byte burst and i i write into ECSPIx_TXDATA register continously without checking the status on ECSPIx_STATREG register but, i see ~ 5 micro second delay between each byte in the clock, chip select is continuous for the entire transaction (13 bytes) though.  If i have to increase the BURST_LENGTH field then, i need to do the endian conversion.  Where is this 5 micro second delay coming from ? is this the burst delay ? how to avoid this delay ? Actual transaction is as below:

pastedImage_2.png

but the expected (this is from a different make) is this: 

pastedImage_1.png

Thanks,

Manikandan P S

0 Kudos
1 Solution
640 Views
igorpadykov
NXP Employee
NXP Employee

Hi Manikandan

could you check ECSPI_PERIODREG register.

If this will not help, seems increasing BURST_LENGTH field is only option.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
641 Views
igorpadykov
NXP Employee
NXP Employee

Hi Manikandan

could you check ECSPI_PERIODREG register.

If this will not help, seems increasing BURST_LENGTH field is only option.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
640 Views
manikandanps
Contributor I

hi igor,

ECSPI_PERIODREG register is already set to 0 and doesn't help.

Thanks,

Manikandan P S

0 Kudos