11-09-2011 11:12 AM
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:
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.
11-10-2011 07:35 PM
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:
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!
11-08-2013 11:20 AM
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