hi SysEngEric + David S!
SysEngEric - thanks for the info!
David S - I still think that there must be a way to change the vi's to work with the DAQ6534. Maybe we have to feedback one output signal to an input signal to be able to trigger an event?
Or is the effort to big?
thanks + br
Hi Priyatham -
If that's the case, then you may indeed be able to use your 6551. As I said in my previous post, "You could try to use the scripting engine to generate a series of single-bit waveforms in response to a repeated falling-edge (or rising-edge, for SPI modes 1 and 3) trigger. I don't know whether the trigger holdoff time or other device limitations would play into the performance of the system...[A]ny time you import the SCLK signal as your sample clock, you won't be oversampling anymore and cannot use the SDW library to generate your data."
You would be using the SCLK signal as a trigger here instead of a sample clock, but the last sentence is still true: the SDW library has no use for you in the configuration I suggested, because you'll be using tiny waveforms that each only represent one bit in the serial data stream. You don't need to control the timing between data bits or the assertion/deassertion of the CS line.
So try it out, and let us know whether it works!
Thankyou for the reply, that's a relief. Now let me make sure I understand it correctly. I have to set my HSDIO to acquire the SCLK from the DUT. I then have to use the negedge(for my application) of this signal as a trigger for the generation engine. The generation engine should be able to react to the trigger and generate the bit vectors that were previously loaded onto the onboard memory. Please correct me if I'm wrong somewhere.
Also I know how to use a generation engine to trigger the acquisition engine (via DataActiveEvent), but Im not sure how to do vice versa. It would be a great help if you can provide an example.
I am also trying to use PCI-6229 as master SPI to communicate with a microcontroller. I have read through the "Serial Protocol Communication Reference Design for Digital Waveform Devices" and downloaded the example, but I cannot get it to work properly. It seems to be missing one .vi from the utilities folder
"Get Terminal Name with Device Prefix.vi"
I am new to LabVIEW, so I may be missing something obvious, but I would like to view/run the example so I can understand and modify it to suit my application.
The 6534 does not support the Data Active Event (which was referenced earlier) so, you are correct in that you will need to use a data line to synchronize the two tasks. This can be done by appending a digital signal to the digital SPI waveform that contains a data high (1) in the beginning followed by enough zeros to match the length of the digital SPI waveform. Then you would need to route this signal to a PFI line to trigger your digital input task.
You can modify the digital signal in the SPI Close VI and using the Append Digital Signals VI. Remember though, if you add waveforms you need increase your channel count to account for this.
The example is built for the 6535/6/7 boards but you could try this out to see if you can get it working with your device.
I'm having one issue with the code you posted for SPI via HSDIO. I have been trying to modify it to my needs and somehow in the process I lost the acquisition from MISO. I have tied MISO to a toggling signal via AWG and it stays at 1 instead of acquiring that signal. It used to acquire and toggle before.
So I tried downloading a fresh copy of your code thinking it would solve the problem, but it didnt either. I'm attaching the code, can you please check it and let me know what the problem is?
Hi Priyatham -
Your code looks functionally identical to v1.0.1 of my "HSDIO SPI - Core Features" VI. I'm comparing the diagrams side-by-side, and there's no difference between them. I can only offer some suggestions:
Thanks for the reply -- at one point I had modified them to be 8 bit , but I changed it back to 16 bit. Right now I dont have my Slave device yet, so Im just trying to force a pulse wave via an AWG on to the MISO, and I can't get it there. My biggest concern is that I might have modified some sub VIs unintentionally, so its not working. For my purpose I dont need to modify any SDW Library VIs. I have tried to uninstall SDW library and install it again so that I have the unmodified ones, but that didnt work either. Now I'm thinking if I have modified any of the HSDIO VI's unintentionally. First pass I wanted to check if the problem is because of the top VI itself or any of the sub VIs. Is there any easy method to do this? Thanks for your help.
Thankyou so much for all your help. I have figured out the issues I had before. now I just got one issue regarding being able to act as a SPI slave. The issue in simple words is that, I want to trigger the generation engine on a signal while acquring the same signal. I want to start the dynamic data generation engine(SPI Slave dataout) on the chip select trigger, but at the same time I also want to acquire that signal so that I can view it in a graph along with the other acquired signals. To acquire a signal it should be connected to a DIO line and I cannot trigger my generation engine from a DIO line - to trigger, I should connect it to one of the PFI lines and I cannot acquire from a PFI line. Is there any way around this? One other reason why I do not want to connect that signal to the PFI line is that the PFI line is pulling it low when that signal actually has a pull - up. Is there any way to make a PFI line High Z?