Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

how firmware VISA basedcan pay advantage of fast data streaming of PCIe/PXIe plaform

ello I am a firmware engineer. I need to write a firmware for an arbitrary waveform generator. I use NI VISA to send/receive binary data form the instrument(viMoveInxx/viMoveOutxx functions). The new card will be with PCIe/PXIe possibility. I want be sure that the data streaming will be faster than possible ( include possibility of DMA transfer or/and use memory on the PCIe chip -PLX8311). How I do this? Thanks for help Dina Hertzog
0 Kudos
Message 1 of 16
(4,681 Views)

Hi Dina,

 

I am not sure I hear a specific question you are asking. Using NI VISA sounds like the right idea. It sounds like you have a new card that you are trying to make compatible with NI VISA.

 

Are you coding the firmware for the card in LabVIEW?

 

Is there any specific NI VISA or LabVIEW information you are looking for in coding your firmware?

 

By default, our PCI/e cards use DMA to transfer data from the FIFO to the buffer.

 

Best,

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 2 of 16
(4,658 Views)

Dina,

 

I found this link - let me know if it is helpful.

Using and Troubleshooting the GPIB-VXI/C

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 3 of 16
(4,655 Views)

I write firmware for a new PXIe card. I already write VISA based firmware for PCI/PXI platform and this new card is PCIe/PXIe platform and it is very important to pass a lot of data faster to/from the card.
I now success to read the serial configuration EEPROM.
I create inf/ini files with the National wizard driver. I specified that it is a PCIe platform (see the ini file) but in MAX when I check attribute the IsPCIExpress attribute return false value(also in C program when I check VI_ATTR_PXI_EXPRESS) why?

0 Kudos
Message 4 of 16
(4,642 Views)

With the VISA Driver Development Wizard, we make it so your card can communicate with MAX. It looks like it is appearing in your VISA test panel.  This does not change the firmware that is on the card. Writing firmware for a third party PXIe card is outside of the scope of what National Instruments supports.

 

Also, in your .inf file there is no mention of it being a PXIe card - in every class it is listed as a PCI/VXI/PXI card.

 

Is the card working the way you expect? Are you just not getting the high speed transfer rate you are hoping for?

 

Is this being used in a PXIe chassis? Or is it being installed in a PCIe slot on your computer?

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 5 of 16
(4,626 Views)

Hi

  Thanks for response

   

  The final card will be in PXIe chassis. Now I work with an evaluation card from PLX with the bridge that will be in our card

(PXE8311). I try to undrestand how to communicate wtih the bridge with VISA ( PLX provide a non NI VISA driver and API but we want a NI VISA firmware for our instrunment) . This card is connected to PCIe connector of my own computer. I work with Windows XP OS and visual 6 compiler

 

Perhaps I don't need to understand so deep the bridge and the attributes ...

But if I use ViMoveOutXX like with our old PXI//PCI instrument the VISA will use DMA automaticly? like if the PXIExpress attribute is FALSE?

 

I know it seem a naive query but I like to understand how the firmware works....

Thanks

Dina 

0 Kudos
Message 6 of 16
(4,613 Views)

Dina,

 

Whether the device uses DMA or not is a internal device attribute and is not controlled by the NI-VISA driver. By default, I believe all of our PCI/e devices use DMA to communicate from the FIFO to the RAM buffer. 

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 7 of 16
(4,599 Views)

Hi

Thanks! Like I think I need to put the PLX register to DMA.....I shall continue my own investigation and if I have new queries I will go back ...

A lot of thanks

Dina

0 Kudos
Message 8 of 16
(4,592 Views)

Hello

Have a nice WE?

Icontinue my investigation...

Ther PEX8311 has configuration register in offset more than 0xff (0x100 etc...) but with VISA if I try to read from this offset I receive a BFFF0051 error( invalid offset) 

How I may readd ( and write these configurations registers?)

Thanks

 

0 Kudos
Message 9 of 16
(4,577 Views)

Hi Dina,

 

I never asked you, but was assuming that you have been basing your development off of this white paper:

http://www.ni.com/white-paper/4713/en

 

Are you setting the offset correctly when you develop the driver? Or is there a limitation of the driver you are trying to circumvent?

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 10 of 16
(4,560 Views)