Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

My Reg level program needs deviceID for NI 6025 E card as per PCI local BUS spec

I am involved in a project which uses NI E series 6025 multifunction PCI card. I need to use register level programming. To find the base address of the card I need to know the Vendor and Device ID of this card as laid out in the PCI local bus specs. This issue is referred to in chapter 4 page 4 of the PCI E series Register-level programmer manual for multifunction i/o boards. (The Vendor ID is declared to be 0x1093). Since NI PCI boards are fully compatible with the PCI local bus standards this information would be available with them. I could use NI DAQ and not worry about the registers but my project,I am sure,will get hurt.
Kasturi
0 Kudos
Message 1 of 13
(3,663 Views)
Greetings Kasturi,
There are several ways to determine the PCI Device ID of your board.
One is to use NI-VISA, see the "Measurement Hardware Driver Development Kit Frequently Asked Questions" page for instructions. Basically you tell NI-VISA to show all registered devices within the system (by default this includes many PCI-based NI devices including all DAQ devices), then take a look at them.

Another method would be to use a PCI bus scanner (lspci is a good one on Linux, Windows has several commercial ones though you can find a free one if you dig through Microsoft's Hardware Compatibility Tests).

Finally, if you are familiar
with Windows drivers, digging through the Windows Registry or NI-DAQ INF files will also tell you the number.

Here is a head start: For the PCI-6025E, the device ID looks to be 0x2A80 (0x2AB0 for the PXI-6025E). You can look these up by searching the nidaq*.inf files for 6025E. I hope that helps.

Sincerely,
Jeremiah Cox
Platform Services Product Support Engineer
National Instruments -- http://www.ni.com/ask
0 Kudos
Message 2 of 13
(3,663 Views)
Also see:
"Register Programming a PCI Device and Finding the Correct Address" http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/15f094f65a17e3af8625660d0018a20a?OpenDocument
"Using the PXI Driver Development Wizard and NI-VISA to Register-Level Program a PXI/PCI Device under Windows" http://zone.ni.com/devzone/conceptd.nsf/webmain/ADF3152837E2B4A486256B5600642AC7?opendocument
0 Kudos
Message 3 of 13
(3,663 Views)
Hello Jeremiah,
Thank you for the device number. That was a big help. Next : can I use the Inport and Outport vi's (Advanced Programming) with Labview 5.1 for programming 6025E card at register level. A more detailed question is pertinent only if this is possible. So I'll wait for your response. Thanks again.
abhijay
0 Kudos
Message 4 of 13
(3,663 Views)
Hello abhijay,
As I recall, the Inport and Outport VI's have two limitations in this regard. One is that they only work on Windows 9x. Second, they are implemented as IO-space accessors (inp, outp). IO-space accessors can communicate with legacy devices such as onboard serial and parallel ports, but most PCI devices (including our E-Series boards) use memory spaces that require a memory space accessor. I would highly recommend that you install NI-VISA and use it for your register-based programming. Try reading trough some of the links I posted in my comment above that explain how to use VISA to do this. I also recommend the VISA Interactive Control (VISAIC) for initial prototyping and testing of your RLP commands and to get familiar with
VISA -- see "http://zone.ni.com/devzone/conceptd.nsf/webmain/9CA6BAEFC0AB483686256ADF007C2ECD?opendocument".

Sincerely,
Jeremiah Cox
Staff Product Support Engineer -- Platform Services
National Instruments -- http://www.ni.com/ask
0 Kudos
Message 5 of 13
(3,663 Views)
Hi Jeremiah,
Thanks. Will plough through NI-VISA and associated documents and get back to you
Abhijay
0 Kudos
Message 6 of 13
(3,663 Views)
Hi Jeremiah,
Thanks. Will plough through NI-VISA and associated documentation and get back to you
abhijay
0 Kudos
Message 7 of 13
(3,663 Views)
Hai Jeremiah,

I am also trying to write the drivers for NI 6014 using register level programming. I am also encountering the problem of getting the base address of 6014 card. For this i require the deviceID of NI6014 card.

Also, if u can suggest some procedure for obtaining the base address of NI 6014 card.
As far as i know, the procedure involves writing vendorID and deviceID into registers _AX, _BX, _CX, _DX and _FLAGS. Also u have to generate an interrupt.
Does this 2 functions(writing to registers and generating interrupts) is possible in CVI 5.0.1.

Kindly suggest on above.

regards,

Amit Kumar
Project Engineer.
Automotive Electronics Dept.
Automotive Research Association of India.
Pune, India.
amit.aed@araiindia.com OR karl
e.aed@araiindia.com
0 Kudos
Message 8 of 13
(3,663 Views)
Hello Amit,
I would recommend reading "DAQ Register-Level Programming Resources" as well as all of the links I provided above in my previous replies. My opinion is that using NI-VISA to program your board would make your program smaller and faster to implement (VISA takes care of finding the base address and also supports interrupts, both which are nontrivial otherwise). Visit the links I have listed above or search for NI-VISA and PCI on our front page and you will find many resources that answer your question.

Sincerely,
Jeremiah Cox
Staff Product Support Engineer -- Platform Services
National Instruments -- http://www.ni.com
0 Kudos
Message 9 of 13
(3,480 Views)
Hi Jeremiah,
Thanks for the clarifications. I still need ur help.
I am working on win3.11 OS. i want to use NI 6014 for my application. Unfortunately, NI DAQ doesn't have support for NI 6014 in win3.11 OS.
I am having NI CVI 5.0.1 with which NI VISA 1.1 came. Can i use the above configuration to write the drivers for NI 6014.

regards,


Amit Kumar
Project Engineer,
AED, ARAI
Pune, India.
amit.aed@araiindia.com OR karle.aed@araiindia.com"
0 Kudos
Message 10 of 13
(3,480 Views)