08-19-2011 03:32 AM
We have an NI PCI-6229 DAQ card and we have modified the SPI Digital Waveform Library to communicate with a custom A/D converter chip.
Our goal is to log data from the chip as fast as possible and store them to a file for further processing. We are currently working with 100kHz SPI clock rate and each transaction needs 40 bits to complete (400 us). Our problem is that when running in continuous mode we can't initiate transactions faster than ~ 25 ms. Is this normal? This latency is observed even when running in a while loop only the part of the code that generates the waveform to the hardware.
We want to reduce this latency to minimum (< 1-2 ms if possible). Any feedback is much appreciated!
03-12-2012 01:42 AM
I have an application where i need to capture ADC data continuously using SPI communication .ADC used in this application is 12 bit ADC and it gives out data when CSB line is Low for 16 clock cycle .
CSB --> Low for 16 clk
MISO--> Connected to Serial data out of ADC
MOSI --> Not used
If i use Below attached code it works fine for few 100's of sample but if i need to capture more number of saple say 5000 or more sample it becomes very slow. Can some one help me out in creating SPI waveform for 100k sample and store it in 6552 onboard memory --->Send it to ADC --> store ADC captured data for 100k samples in onboard memory --> transfer this data to PC memory for post processing.
07-24-2012 07:29 AM
Dear, someone could help me? I believe that is simple, but I have not much knowledge in LabVIEW. I am using the example posted by David S. SPI for communication between Labview and a microcontroller. The microcontroller sends an 8-bit information, which I see in the graph as a waveform, but I need to show this information as a number, this is the result of a measure of microcnotrolador. How do this? I'm not so familiar with Labview.
12-14-2012 10:04 AM
i'm using "DAQmx SPI - Internal Clock.vi" from "Serial Protocols with Waveform Devices" downloaded at http://zone.ni.com/devzone/cda/epd/p/id/6200, i got a Cdaq9174 with NI 9401 and i want to generate a simple SPI waveform to use as source to test SPI reading capabilities on 4 DIO pins of a sbRIO 9602 configured to read data with SPI protocol.
I get error on Init IntClk Device.vi:
Error -200452 occurred at Property Node DAQmx Export Signal (arg 1) in Init IntClk Device.vi
Specified property is not supported by the device or is not applicable to the task.
Task Name: _unnamedTask<F>
Can you help me to solve this?
01-10-2013 02:18 PM - edited 01-10-2013 02:28 PM
First, thanks to David S. for writing this great SPI library.
I have read the entire thread. I am trying to implement a SPI master on a USB-6229 with labview 2011. I have read, executed and understood the correlated DO example. Likewise for the waveform-generating example that comes with the SDW. But, I am having trouble bridging a gap: how do I write the waveform produced by the SDW subVIs? No polymorphic version of DAQmx digital writes seems to be happy with it. Examining various posts in this thread, it looks like people are picking apart the SPI signal and writing it channel by channel using multiple discrete correlated tasks, one per SPI line. Is there a more elegant way of doing this?
I have attached a snippet of pared-down code showing the wire I am trying to understand: it's the output of the SDW SPI library, which has all SPI lines in one channel. I've tried every version of the DO write VI, but can't find one that will accept this wire (I can wire it, but I get runtime erros about the number of channels not matching). I've created my task with all 3 output channels, each initialized using "One channel for all lines" attribute, as instructed in the SDW documentation. I've ignored the MISO input line, as I don't need it.
In other words: how can I match the SPI SDW wire (multiple signals in one waveform) with the needs of DAQmx (one signal per waveform, perhaps as rows in a 2D array)?
01-21-2013 07:58 AM
I'd like to have a clarification about the SPI Digital Waveform Library.
Is it possible to use this library with the NI cDAQ-9191 mounting a NI9401 Digital I/O Module?
Christian_L ha scritto:
Please provide feedback, comments and questions on the SPI Digital Waveform reference library in this thread.
(posted by Christian on behalf of David)
02-26-2013 02:52 AM
I'm working on a SPI communication with an USB-6341. (With Correlated DIO)
After I set CS1 high (CS aktive high), I write 4 Bytes of Data to the device. Then I set CS2 high and would like to read Data from the device.
I'm able to send the 4 Bytes to the device (only one slave is set in the programm). -> Device reacts right.
When i set two slaves in the programm in the next step, i get error -200463 from the CorrDIO VI.
I have no idea what is wrong in my VI....