Does PCI-DIO-96 have DMA?

Does the the National Instruments PCI-DIO-96 have Dynamic Memory
Allocation? I was hoping to be able to have digital input be sampled by
the card asynchronously rather than have to force the computer to use
processing time to look for new inputs on the card.
Thanks.
-Tony

Tony,
Your PCI-DIO-96 Board does not has DMA. This board doesn't has any FIFO component on it so its not capable of configuring an on board buffer for later transfer to the computer buffer. The 653x family does have DMA, but the 650x family in which your PCI-DIO-96 board belongs to does not has DMA. You can find more information on each products catalog webpage in the datasheet link. (www.ni.com).
Your best approach with this board is performing handshaking I/O.
Good luck!...
Nestor Sanchez
Applications Engineer
National Instruments
Nestor
National Instruments

Similar Messages

  • Who has had a PCI-DIO-32HS card fail, ever?

    I've looked through the forum somewhat and I've found little concerning the card itself failing.  For instance, I found something about the card failing due to driving it with a TTL high before it was powered, but that was about it as far as actual death of the card.  Hence, I'm wondering if others besides myself, and therefore my design using the PCI-DIO-32HS, have killed or had the death of a PCI-DIO-32HS DAQ card and what was determined to be the root cause in your case(s).
    Also, by chance, did your card's death also take down the PC such that it wouldn't POST (Power On Self Test) until the card was removed?
    Thank you all.

    First, the issue has not been resolved yet. I still have boards dying. At $1500 a pop, this issue needs to be resolved.
    I was mistaken about two things said earlier: 1) The G card has now failed; therefore, the recovery was a fluke, and 2) I thought 8.x was installed in the design's PC, but as it turns out it has been 9.x. (The version numbers are tough to remember. Sorry. I think it's 9.1.7.) Is there a known issue with that one also?
    What I really want to know is why the original board I returned to NI failed. I want to know specifically what slot contacts are holding up the PC, keeping it from performing its POST? I don't want to hear any more suggestions for installing version x.y.z. without also having a specific reason for why it should work. These cards are too expensive. There's something very wrong with this design such that I can't keep the DAQ card alive using Traditional DAQ software that has run for years. The system works until (it seems) you think the problem's been resolved, and then whammo! An esoteric error number in a window is thrown up. (It's not just one error. The error can change as you try in vain to avoid cycling power as the only way out of the now dead software.) You can't run the software past a button click due to the error window, but yet the PC itself works fine...unless you cycle the power: NO POST.
    What on earth in this design could be killing these cards? The PCI slot was tested via substitution with a video card and there was no issue found. I just can't keep the DAQ card alive. Help! Trying version x.y.z of the driver is not a good enough solution. Running software should not just out of the blue blow up a DAQ card and cripple the PC only at power-up. Rather, there should be an error, some incompatibility indication before the card is dead. Frying a $1.5K card...eventually...is not how you find the source of an incompatibility issue. Like I said, HELP!
    I'm suspecting the software is creating a bus contention somehow which doesn't end in an error but, rather, an internally shorted IC, where I'm guessing it's the large NI ASIC just above the card edge due to the considerably noticeable heat generated while the PC tries to POST, a short that is undetectable except that the software stops working, but nevertheless a short that won't let the PC continue its POST if power is removed and then reapplied to the PC. It's like the software has had a "sacrifice(PCI-DIO-32HS, legacy_sw);" function embedded into it that only gets called under certain circumstances, circumstances that involve the power-up sequence of a PC. Help!

  • Does there have a Logic Analyzer.v​i for PCI-DIO-96​??

    I have read the manual of PCI-DIO-96 from your Web. I find that there is a Logic Analyzer.vi which is different from 32HS logic Analyzer.It is on Page 375 of the manual.Where can I get it??

    Hello,
    I'm not sure I understand what it was that you found in the PCI-DIO-96 user manual. Also, which version of the manual? You might just post a web url for it. I'm also not sure I am aware of such a program for the PCI-DIO-96. The PCI-DIO-96 is probably not capable of being a very good logic analyzer. The reason is because it supports handshake transfers rather than clocked inputs. This means that unless the external device is monitoring the OBF or ACK handshaking lines, you might miss datapoints.
    Russell
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • Hi. Unfortunately my ethernet card was not working anymore. This is the message "This computer does not appear to have any PCI Ethernet card. How can I fix it?

    Hi. Unfortunately my ethernet card was not working anymore. This is the message "This computer does not appear to have any PCI Ethernet card. How can I fix it?

    i would try an SMC reset, the following article tells how to do this:
    http://support.apple.com/kb/HT3964
    if it still gives that message, you need to take it to apple store or apple service provider to have a new card installed. the apple site gives listings of providers and stores in your area:
    https://locate.apple.com

  • Does Pavilion G6-2342DX have Bluetooth, PCIe and Thunderbolt?

    Hello,
    Does Pavilion G6-2342DX have Bluetooth, PCIe and Thunderbolt?
    And can somebody replace the optical drive of this laptop with another accessory?
    HP Pavilion G6-2343DX

    Hi:
    Below is the link to the product specs for the HP Pavilion g6-2342dx Notebook PC.
    http://h10025.www1.hp.com/ewfrf/wc/document?docname=c03736754&tmp_task=prodinfoCategory&cc=us&dlc=en...
    It does not come with built in bluetooth or bluetooth would be listed along with the 1x1 802.11b/g/n WLAN specification.
    You can:
    1. Replace the wireless card with a supported combination wireless/bluetooth card listed in chapter 3 of the service manual for your model.
    2. Purchase an external USB Bluetooth adapter.

  • How do I create an interrupt on the PCI-DIO-96 from an external signal connected to the lines PC0 or PC3 of a port?

    Hi everybody,
    we are currently using the PCI-DIO-96 for data acquisition from an old AT-DIO-32F card. All PPIs and ports work in mode 0 (standard input/output). The manual mentions the possibility to create an interrupt from an external signal connected to the lines PC0 and PC3 of port C from a PPI. To get the interrupt I have connected my interrupt service routine to the PCI-DIO-96, enabled the master interrupt enable bit in the interrupt configuration register 2 and enabled interrupt enable bits of every PPI chip in the interrupt configuration register 1. The interrupt should be generated if a signal low-to-high transition occurs on th
    e lines PC0 or PC3 of a PPI. We've simulated the signal low-to-high transition with an external voltage source connected to the line PC0. We actually saw in the memory that the line toggled from state low to state high, but no interrupt was generated. I don't have a guess what I am doing wrong. Perhaps anybody knows the solution of this problems.
    Thanks and best regards.
    Sven Jungnickel

    You may want to try disabling your USB or IEEE-1394 host controller. It's possible that one of these devices could be on the same interrupt as you DIO-96 and causing the interrupt to not be serviced.
    Regards,
    Erin

  • I want to check all functions of PCI 6534.I have read the user manual..I have some memory related questions.​Please help me for that.

    I want to check all functions of PCI 6534.I have read the user manual..I have some memory related questions.Please help me for that.
    1.)If i am using the continuous output mode.and the size of generated data is less than 32 MB.If i want to preload the memory,what should i do?I want that first of all i load all my data to onboard memory & then i want to make start the transfer between 6534 & peripheral.Is it possible?As per me it should be.Plz tell me how should i do this?I think that in normal procedure the transfer between 6534-peripheral & outputting data from pc buffer to onboard memory works parallely.But i don't want this.Is it poss
    ible?
    (2).Similarly in finite input operation(pattern I/O) is it possible to preload the memory and then i read it?Because i think that the PC memory will be loaded automatically when 6534 acquires the data and then when we use DIO read vi the pc buffer data will be transferred to application buffer.If this is true,i do not want this.Is it possible?
    (3) One more question is there if i am using normal operation onboard memory will be used bydefault right?Now if i want to use DMA and if i have data of 512 bytes to acquire.How will it work and how should i do it?Please tell me the sequence of operations.As per my knowledge in normal DMA operation we have 32 Bytes FIFO is there so after acquisition of 32 bytes only i can read it.How it will known to me that 32 bytes acquisition is complete?Next,If i want to acquire each byte separately using DMA interrupts what should i do?Provide me the name of sourse from which i can get details about onboard memory & DMA process of 6534 specifically
    (4).In 6534 pattern Input mode,if i want to but only 10 bits of data.and i don't want to waste any data line what should i do?

    Hi Vishal,
    I'll try to answer your questions as best I can.
    1) It is definitely possible to preload data to the 32MB memory (per group) and start the acquisition after you have preloaded the memory. There are example programs on ni.com/support under Example Code for pattern generation and the 6534 that demonstrate which functions to use for this. Also, if your PC memory buffer is less than 32MB, it will automatically be loaded to the card. If you are in continuous mode however, you can choose to loop using the on-board memory or you can constantly be reading the PC memory buffer as you update it with your application environment.
    2) Yes, your data will automatically be loaded into the card's onboard memory. It will however be transferred as quickly as possible to the DMA FIFO on the card and then transferred to the PC memory buffer through DMA. It is not going to wait until the whole onboard memory is filled before it transfers. It will transfer throughout the acquisition process.
    3) Vishal, searching the example programs will give you many of the details of programming this type of application. I don't know you application software so I can't give you the exact functions but it is easiest to look at the examples on the net (or the shipping examples with your software). Now if you are acquiring 512 bytes of data, you will start to fill your onboard memory and at the same time, data will be sent to the DMA FIFO. When the FIFO is ready to send data to the PC memory buffer, it will (the exact algorithm is dependent on many things regarding how large the DMA packet is etc.).
    4) If I understand you correctly, you want to know if you waste the other 6 bits if you only need to acquire on 10 lines. The answer to this is Yes. Although you are only acquiring 10 bits, it is acquired as a complete word (16bits) and packed and sent using DMA. You application software (NI-DAQ driver) will filter out the last 6 bits of non-data.
    Hope that answers your questions. Once again, the example code on the NI site is a great place to start this type of project. Have a good day.
    Ron

  • Basic questions about PCI-DIO-96

    Hi
    I am trying to write code to control a digital I/O board for the first time.
    I have a legacy board, PCI-DIO-96, as the code implies, it is a PCI digital I/O boiard with 96 I/O channels
    My first question is, what would be the drivers and development platform I should download for this board?
    I am planning to write my code in C++.
    The second question is, I am trying to write a very simple application to drive 96 solenoid valves through the board.
    Basically I need to use the board in output mode only.  No data gathering here.
    The application basically needs to open and close these valves  for a specified number of milliseconds.  So basically,
    I would be sending either 0 or 1 through the output channels, that's
    it.    If I send a "1" signal through the board, does
    that
    "toggle" the channel, meaning the channel will keep sending "1" through the ouput until I send another signal, or do I need
    to send the "1" signal every few milliseconds to simulate a constant "1" signal?
    Does anyone have code samples or know where I can find code samples illustrating this simple case?
    It would be greatly appreciated.
    I realize these are very basic questions, but I am new to hardware programming and I am on a deadline.
    Thank  you
    Kiko

    Hi Kiko,
    Great to see that you are asking questions here first, you definitely came to the right place.
    Since you are starting with a clean slate as far as knowing how to use this board we can start off on the right foot. 
    Download the latest version of the drivers for your board.  You can find the drivers here: NI-DAQmx Version 7.5 for Windows 2000/NT/XP
    After you have downloaded the drivers, power down the computer,
    insert your board, and power it back up.  The board should now be
    recognized and the drivers will install similarly to any new hardware
    would in Windows.
    Now it's just a matter of learning how to use the commands that you need to get started.
    I would recommend starting in the example files.  You can find
    some excellent examples that should do almost exactly what you are
    trying to do by looking in this path:
    C:\Program Files\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Digital\Generate Values
    Look for the example that best represents what it is you are trying to
    do.  You will notice that all of the examples have a general flow
    to how they call the board.
    Create a Task and Define what that task is meant to do
    Set the configuration for how exactly that task will operate
    Read/Write various values until a condition is met
    Close the Task
    Error Check all operations to assure that everything is working properly
    It's really not all that difficult and should you run into any problems or errors don't forget to search ni.com or the forums to see if others have run into similar issues to what you are facing.
    Regarding how the states for digital lines work.  The short answer
    is that if you set a digital line to high it will stay high until you
    set it back to low and vice versa.  For more details on everything
    digital check out our Digital Fundamentals page.
    Best of luck!
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Digital Handshaking with two PCI-DIO-32HS Cards

    Hardware: two PCI-DIO-32HS Cards
    Software: LabVIEW 5.1, NI DAQ 6.6
    Problem:
    I'd like to do burst digital handshaking with two PCI-DIO-32HS cards.
    One being used for sending bit stream while the other receive.
    Suppose I want to use burst handshake mode.
    How should I wire the connections?
    Where should I wire the REQ, and ACK line from the sending card?
    Should I wire REQ from card one to REQ of the other card?
    Also, how do I configure labVIEW VI to do burst handshaking mode.
    Can anyone send me a VI that can do this.
    Thanks a lot.

    Matt,
    I would recomend using the DIdoubleBufPatternGen.C examples that ships with NI-DAQ. You can find it in your \NI-DAQ\Examples\VisualC\Di folder. If you don't have this example on your machine, you can get it by running NI-DAQ Setup and selecting support for C/C++.
    This example does double buffering to allow you to continuously acquire data from your card. Data is transfered only when a full 1/2 buffer is ready. You can set how long to acquire data by setting the number of half buffers to read, or by modifying the read loop conditional parameters to fit you needs. See the NI-DAQ help on how to set you REQ pulse rate to 100kS/s.
    Nick W.
    www.ni.com/ask

  • How to use the PCI-DIO-32HS counter

    I have to create a SPI, I'd like to use counter, but the card doesn't answer, so Labview bug. Do you if there is programmable/configurable counter on this Card?

    Hello,
    The PCI-DIO-32HS does have a counter onboard. However the counter is only used for generating an internal clock in order to do pattern generation. You cannot program this counter in LabVIEW. If you need a counter, I would look at using an M Series Board, or a 660X board.
    Best regards,
    Justin T.

  • Installing PCI DIO 32HS 6533 card

    I'm back to using DAQ after 5 years on other things...
    I can't find the CD that came with my PCI DIO 32HS 6533 card (my desk is a
    meter high mess of paper, disks, broken cards...)
    I installed NI-DAQ from the CVI 5.5 CD but upon reboot I still get the
    "Windows found some new hardware" without being able to point it to the
    correct driver, and in addition I get a "Missing NICFQ32.DLL" error.
    Any help ?
    Guillaume Dargaud
    CNR/IFA
    http://sung3.ifsi.rm.cnr.it/~dargaud/
    http://sung3.ifsi.rm.cnr.it/~domec/
    http://sodarserver.ifa.rm.cnr.it/
    "Q: How many software engineers does it take to change a lightbulb ?
    A: It can't be done; it's a hardware problem."

    Go to www.ni.com choose download software then drivers and updates then NI-DAQ
    then 6.8.1 for Windows (if you have windows)
    "Guillaume Dargaud" wrote:
    >I'm back to using DAQ after 5 years on other things...>>I can't find the
    CD that came with my PCI DIO 32HS 6533 card (my desk is a>meter high mess
    of paper, disks, broken cards...)>I installed NI-DAQ from the CVI 5.5 CD
    but upon reboot I still get the>"Windows found some new hardware" without
    being able to point it to the>correct driver, and in addition I get a "Missing
    NICFQ32.DLL" error.>>Any help ?>----------------->Guillaume Dargaud>CNR/IFA>http://sung3.ifsi.rm.cnr.it/~dargaud/>http://sung3.ifsi.rm.cnr.it/~domec/>http://sodarserver.ifa.rm.cnr.it/>"Q:
    How many software engineers does it ta
    ke to change a lightbulb ?>A: It can't
    be done; it's a hardware problem.">

  • MAX 2.2 refuses to see PCI-DIO-96

    I am trying to install and configure PCI DIO-96. MAX 2.2 refuses to see it. I have uninstalled NI-DAQ (ver 6.9.2) with several times, both with and without the board in the computer. The device manager can see it and reports that it seems to be functioning normally. I
    have also tried reinstalling MAX. Is MAX broken? Does NI-DAQ continue to stay around inspite of being removed (de-installed)? is there any other way to configure and test the DIO-96?

    I have finally convinced MAX that there is a DIO-96 board in my system. However it is not by what I would call "normal" means. In MAX, I went to Tools>>NI-VISA>>VISA Options... and selected "Show all PXI/PCI devices accessable to VISA"
    Now after refreshing MAX, I can see the board but only through a VISA or PXI as an intermediary.
    PXI System
    PXI Bus 0
    PXI0::16::INSTR (PCI-DIO-96)
    I would rather NOT operate the board through this rather complicated looking VISA style interface
    if I can avoid it.
    Have I done something wrong by installing something I don't need (like VISA)? Can I get rid of it? How?

  • Why ACK should be deasserted sometimes during the data acquisition with PCI-DIO-32HS burst mode handshaking?

    My peripheral device sends 32-bit data to the DIO board serially with PCLK 6MHz, about 300,000 times totally. The phenomenan like I mentioned in the summary above happens, and it causes some data missings.
    Though I know ACK is not always asserted as somewhere in the NI database says, I want to know why it happens. if I can. I wonder if it is just inevitable or not.
    Do I only have to add some buffer memories to my device and make it watch on the ACK changing? Or, is there any other good way to avoid this problem?

    Hi,
    Burst mode handshaking protocol needs to conditions to be meet before data can be transfered. The PCI-DIO-32HS need to be ready to transfer data and the external device needs to be ready to transfer data.
    The ACK line tells the external device when the PCI-DIO-32HS is ready and the REQ line tells the PCI-DIO-32HS when the external device is ready. When both are ready data should be transfered. This is the nature of Handshaking, guarenteed data transfer (when both devices are ready), but not at a guarenteed rate. Handshaking means that the two devices communicate with each other to determine when to transfer data.
    The PCI-DIO-32HS ACK line is toggling low because the PCI-DIO-32HS is busy catching up with the given transfer and is not ready to receive m
    ore data at this time. The ACK line is not something you can control, it is controlled by the PCI-DIO-32HS.
    Your application may be better suited for use with Pattern I/O if you are not using the handshaking lines, ACK and REQ, to control the flow of data. Pattern I/O does not use handshaking lines and clocks data in on every rising edge of the clock. You may receive an error if your system can not keep up with the transfer rate.

  • Pci dio 32hs burst mode

    We would like to use simultaneous input output data acquisition using the
    burst mode protocol.
    The problem is that we notice that the operations are not simultaneous: first
    a group and after the second.
    We have try all tipe of pclk (internal and external) and we connect req1 and
    req2 to an external manual trigger to have the same handshaking signal to
    both the groups. We also try to differ the active high or low of both the
    groups parameters.
    In the vi attachment, you find the simple 2 groups acquisition chains and
    it's easy to see that if you use an external clock of 1 Khz with 3000 input-
    output samples, the total acquisition time would be 6 second instead of 3.
    For our application it's necessary to use this protocol
    (not the pattern
    generation that we have tested in continuos and it worked) so we would like
    to have a solution to this problem.
    Since the pci DIO 32HS's manual asserts that it's possible to have 2
    handshaking operation simultaneous we didn't aspect so many problems.
    Thank you for your time
    Pier

    Hi,
    Burst mode handshaking protocol needs to conditions to be meet before data can be transfered. The PCI-DIO-32HS need to be ready to transfer data and the external device needs to be ready to transfer data.
    The ACK line tells the external device when the PCI-DIO-32HS is ready and the REQ line tells the PCI-DIO-32HS when the external device is ready. When both are ready data should be transfered. This is the nature of Handshaking, guarenteed data transfer (when both devices are ready), but not at a guarenteed rate. Handshaking means that the two devices communicate with each other to determine when to transfer data.
    The PCI-DIO-32HS ACK line is toggling low because the PCI-DIO-32HS is busy catching up with the given transfer and is not ready to receive m
    ore data at this time. The ACK line is not something you can control, it is controlled by the PCI-DIO-32HS.
    Your application may be better suited for use with Pattern I/O if you are not using the handshaking lines, ACK and REQ, to control the flow of data. Pattern I/O does not use handshaking lines and clocks data in on every rising edge of the clock. You may receive an error if your system can not keep up with the transfer rate.

  • Stepper motor /Labwindow​s 5.5 /PCI DIO 96

    Hi all,
    How can I make a software with LabWibdows 5.5 and PCI-DIO-96 to command stepper motor (360step/360°, with 4 rotation/s) ?, the second part driver and a choice of the motor is not up to me.
    the choice of the signals is up to me :
    1. cw and ccw
    2. pulse and direction.
    wich method is best ?
    Any exemple with CVI is welcome ?
    Thanks

    Hi, I'm not sure whether this is the right place for asking this question or not and if not, then please guide me to the right place for asking such question. Thanks.
    I have a stepper motor with the Vector Network Analyzer Anritsu MS4623B. I got it up and running with the LabWindows/CVI. I need to sync the motion of the stepper motor with my data acquisition. Basically, I have to acquire the data in a way that in the start the motor will come back to home position wherever it was on the ball-screw linear positioning system and then I want to move it to the specific position to do the measurements (For Example, I want to measure the 40 GHz channel between 1m to 3m movement of a stepper motor on a linear positioning system (ball-screw)). I've interfaced the VNA with the PC using LabWindows/CVI and I've controlled the clockwise and anti-clockwise movements of the stepper motor using LabWindows/CVI but I'm unable to sync the system in a way that whenever I run the code, the motor will run back to the home position and then move to a specific measurement start position and move till the end position and in between do the increment and stop and acquire the data. Is there any one to help me please? It's really urgent please and I'm doing this thing first time so please guide me in a proper way. I shall really apprecaite that and will be highly obliged with you. Thanks for your time and concern.
    Thanks and Regards.

Maybe you are looking for

  • Problem in getting the output.

    I am able to get the output when i run the report program.But if i run the same program, via T-code ,its going back to the initial screen. Any help/input regarding this is highly appreciated. Thanks in advance. Regards, Booma

  • Oracle 11gR1 RAC in IBM p servers, VIOS or NOT

    Hi, Before IBM VIOS was certified by Oracle RAC last year, I always use two HBA ports and two NIC card ports on each node for redundancy purpose in the RAC implementation in IBM p series servers. I would like to hear other expert's opinion whether VI

  • Error 1256 The remote system is not avilable - REPL summary

    Hi all For the past 3 days I am getting the below  error  while checking the  AD replication.  our present setup is RDC and ADC was available in the same site.  and DR ADC was configured in  remote site. we have P2P link  connectivity  for OUR AD and

  • What version of UNICODE does JDK1.4.2 support?

    What version of UNICODE does JDK1.4.2 support? Is it UNICODE 3.0 or 3.1?

  • Where data not equal to something

    Guys how to retrieve record where emp_name is not equal to 'GEORGE_BUSH'; I mean select emp_name from emp where emp_name != 'george'; ignores emp_name = null too. what is the correct syntax. thanks ms