Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI8451 SPI data transfer speed and SCLK setup time adjustment

I'm using NI USB-8451 SPI bus to do communication. I can not reach the speed of communication 4MHz (NI USB-8451 module advertises speeds up to 12MHz). Actrually the data transfer speed is much slower than 4/8 Mb/s. The 16k*16bit data cost around 800ms while it should be 128ms if the data transfer achieves 4Mhz speed. In the manual there is a SPI timing clock figure like this:

timing.png

 

 In the 4Mhz communication case,  the t2 should be 0.25us. I wonder whether the low data transfer speed is due to t1,t3 and t4 since they occupy too much "dead time". If my guess is right, is there any method to reduce the t1,t3 or t4, espetially t3? I know that in the advanced API there is a way to add delay while I did not figure out how to reduce delay(t3).  If my guess is wrong, what is the exactly maximum data transfer speed NI8451 can support? (not the clock rate)

 

 Thanks for help.

 

0 Kudos
Message 1 of 3
(4,955 Views)

On the 8451 I'm not aware of any way to modify these timings on such a low level.  However, as you said, you have the ability to drive that SCLK signal at a rate up to 12MHz. This rate is specified using the SPI Configuration Property node:

 

SPI configuration property.png

 

When using SPI, you will transfer 1 bit of data per rising edge of the SCLK.  Because of this, the transfer speed will be equal to the speed of SCLK.  If the SCLK is being driven at a rate of 12MHz, your transfer speed will be 12MHz as well.  I hope this answers your question!

0 Kudos
Message 2 of 3
(4,937 Views)

Hi everyone. Im using the SPI communication with 8451 and Im having the same situation., since the serial flash memory I need to program is big enough, t3 (SCLK Setup time) and other "dead time" which I think is the time when buffer on the 8451 needs to be re-filled those are killing my expectation on the final results. I can't see a way to decrease t3 (~10uSec) and in the same way Im seeing something like buffering up to 100~110 bytes then, a ~1.5mSec delay appears on the signal waveforms. Did somebody have good results trying to avoid this?

 

Thank you.

Javier

Download All
0 Kudos
Message 3 of 3
(4,517 Views)