LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I transfer more than 64 bit data from host to target?

Solved!
Go to solution

Hi all, I'm currently using PCIe-7851r fpga card to drive my device. There were 64 lines to be controlled. So what I did is generating the commands on the host pc and then transfer it to the target via DMA FIFO. The data type of the FIFO is U64, i.e. every one digit controls 64 DIO lines. But the question becomes complex when I transfer 66 line command. I tried to create 2 FIFOs, but I can hardly make the 2 FIFOs synchronized.

 

I think I might be able to create 2 U64 arrays, one contains the original 64 line command,s and the other contains the 2 line info (a waste). And then I interleave them in the host and decimate them in the target. There should be enough cycles to to this. But I dont think this is a good solution. Is there any better method? Thank you.

 

LabVIEW 2009, Windows XP, PCIe-7851R

 

Regards,

Bo

------------------------
My blog Let's LabVIEW.
0 Kudos
Message 1 of 4
(3,477 Views)

Help please~

------------------------
My blog Let's LabVIEW.
0 Kudos
Message 2 of 4
(3,453 Views)
Solution
Accepted by foolooo

Using the techniques highlighted in this tutorial:

 

http://zone.ni.com/devzone/cda/tut/p/id/4534

 

You could use code like this:

 

21596i23DD7FA19C488151

0 Kudos
Message 3 of 4
(3,429 Views)

Thank you, macaba! I just wonder will it take too long if I use the case structure to decimate the U8 data. I'll give it a shot. Cheers.

 

Regards,
Bo

------------------------
My blog Let's LabVIEW.
0 Kudos
Message 4 of 4
(3,417 Views)