Hello,
I have worked for hours to understand a program realised with old driver version (before DaqMx i think) (or it's just low level acces ?). It is used to generate and acquire simultaneously data on digital input\output. In our case it's for high speed SPI communication (We tested the NI Usb Spi module but not responding to our needs because can go fast but we can't modify internal timings like TncsOn, Tclch, etc...).
So after we have created a pattern that match the ncs, clk and sdi, we are writting it to output and also acquire sdo. However we have some problem with this program :
First, it's old drivers, so one day it could become a problem. I find on NI site some information to transform to new version but for a such complex principle i have big difficulties.
Second is that even in actual version of driver, it works a little bad. There seems to have some problems in the simultaneous principle when we try to go fast. I'm using a 6534 card that can go up to 20Mhz, but if i use this max frequency, it doesn't work, at best i can have a resoltion of 100ns, after that genrated sdi,clk,ncs have some problems, some data are not updated.
I put the concerned file that pemits to write and read, but i dont understand some of the parameters like number of "balayages" (sorry i'm in france) or buffer usage (what is it and is used for), handshaking is also mysterious even with NI explanations.
Why isn't there a function in daqmx (like writting a waveform for exemple) that permits to read and write simultaneously easyly instead of using rtsi bus that is difficult to apprehend ? Is the 6534 able to write and read at 10 Mhz ? Somebody have similar exemple to pass this program to new version of DaqMx ?
Thanks in advance for your help. I hope i can upgrade it, but mainly understand handshaking principe and simultaneous generation and acquisition to make better programs.
Eric Arnould.