Ni 6602 Card, Configuration DIO and Counter in Register Level Programming

Hello,
I want to do register level programming with the NI 6602 card .
Which register determine a channel act as DIO or Counter.

Hi:
please refer to this link,why not using DAQmx driver?
NISH AE
Haifeng Xu

Similar Messages

  • Getting 2nd TIO of the PCI6602 to perform buffered event counting via register-level programming

    I got the first PCI6602 TIO to perform buffer event counting using interrupt. However, I could not get the second TIO working. I think I have initialized the proper registers in order to work with the second TIO, i.e.
    1. Addressing all registers of the second TIO at 0x800 offset.
    2. Binding the clock to counter 4-7 (set 0x00200000 to the Clock Configuration register). I am using the internal Timebase_3 clock which is 80MHz.
    3. Tried setting 0x8000 to the Global Interrupt Control register at both its offset location (with 0 offset) and with 0x800 offset (2nd TIO offset location).
    Am I missing something here? I got no interrupts from the PCI bus and I got 0xff
    ff when I tried to read the Status register.

    Al,
    I have been experimenting with the 6602, but I have not been able to see any of the interrupts generated by the counters. I have tried both TC mode and an external signal on a single GATE (G0). The Gi_Status_Register indicates that the interrupts are occuring (appropriately for each mode), but I can't see them on the bus (my interrupt handler is never invoked; cat /proc/interrupts shows 0 interrupts).
    Could you pass along any tips on how you did it?
    Thanks!
    -Rob

  • Ni 6602 Card, Configuration in Register Level Programming

    Hello,
    I want to do register level programming with the NI 6602 card .
    I want to use an x4 encoder reader and I want to use the continuous
    frequency generation.
    so i got the following tool to map the kernel space to the user space, so
    a simple shell script will do the job.
    http://www.linux.it/~rubini/software/phob/phob.html
    and than just using the provided function phob_io
    to programm the registers in a shell script:
    #!/bin/bash
    # shell script for init 6602 card with prf and encoder counter
    # set prf
    ../phob_io ''0:048=0000'' # Input Select Register
    ../phob_io ''0:00C=1109'' # Command Register
    ../phob_io ''0:038=00ffffff'' # Load A Register
    ../phob_io ''0:03C=00ffffff'' # Load B Register
    ../phob_io ''0:
    034=9218'' # Mode Register
    But don"t get any output as i expect, what is wrong?
    Do i have to set some othe registers, or write somthing to the PCI-Config?
    Does anyone has some sample configuration?
    Thanks
    Mario Behn
    Mario Behn
    Microwave Remote Sensing Laboratory Room 104
    University of Massachusetts
    Knowles Engineering Building
    Amherst, MA 01003-4410
    phone (413) 545-4675
    fax (413) 545-4652
    email [email protected]

    A typical project for one of the 660x RLP examples needs to include the following source code files:
    ../OSinterface/osiBus.cpp - generic register I/O interface used by the example code
    ../OSinterface/Linux/osiUserCode.cpp - OS specific adapter used by osiBus to access registers on the hardware in the specific OS
    ../ChipObjects/tTIO.cpp - abstraction of the chips and registers on the hardware into C++ classes and properties
    and one of the examples files, e.g.
    ../Examples/gpct_ex1.cpp - implementation of a specific operation, including all initialization of the hardware
    (The same is true for the examples for other boards although the names of the ChipObject and examples will be different.)
    Each of these files needs to be compiled to give y
    ou object files, and then all of the object files need to be linked together to build an application (executable binary). The errors you list seem to indicate that you are not using all of these files.
    There is more information on the RLP example architecture in the attached PDF document.
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
    Attachments:
    Register_Level_Programming_Architecture.pdf ‏165 KB

  • 660x DIO Register Level Programming

    I am working on a comedi/linux driver for the 6602, and can't figure out how to access the other 24 DIO lines (the ones shared with counter/timer).
    Firstly, I want to use the DIO lines for output, so I must configure them as such. The RLPM doesn't say anything more than a hint about how to configure these lines .
    It seems the answer lies in using 2 bits to set to IO_Config Register(s). The RLPM says that these registers contain 2 bits for configuration direction, but only lists functionality for 00 and 01; not 10 or 11. Is it possible that setting 11 or 10 sets these PFI lines for DIO?

    Hello!
    We don't do support on register-level programming but the problem you are experiencing might be due to tri-state on the ports?
    Please check this manual that covers register programming of the device you are using:
    http://digital.ni.com/manuals.nsf/websearch/47300C3471742AD0862570AE005E0AD1
    Regards,
    Jimmie Adolph
    Systems Engineer Manager, National Instruments Northern Region
    Bring Me The Horizon - Sempiternal

  • How can I communicate PXI-6509 by Static DIO Register-Level Programming?

    - How can I communicate PXI-6509 by Static DIO Register-Level Programming?
      PXI-6509 physically Port0 is connected to Port1.
      For checking all connections are correct for this case so I have used DAQmx Test Panel. Just in case everything is ok.
      In this case I interested in to communicate the PXI6509 by Register-Level Programming.  
      I have tried to use Open VISA Test Panel for sending and reading data (in MAX explorer) and
      use NI-Spy for checking communication data.
      The first step I configured Port0 to Outputs state and Port1 to Inputs state.
      The second step I setup Port0 to 0xAA.
      The third step I read back Port1 and expected data will be 0xAA but just only 0x0. Why???
       1              ViOut8(0x03D83318, 10, 0x00000041, 1)

    Hello!
    We don't do support on register-level programming but the problem you are experiencing might be due to tri-state on the ports?
    Please check this manual that covers register programming of the device you are using:
    http://digital.ni.com/manuals.nsf/websearch/47300C3471742AD0862570AE005E0AD1
    Regards,
    Jimmie Adolph
    Systems Engineer Manager, National Instruments Northern Region
    Bring Me The Horizon - Sempiternal

  • Register Level programming of the AT-DIO-32HS

    I am working with a piece of software that was written using the AT-DIO-32F card. The original programmer did NOT use the National Instruments driver with that card, but rather used a software library that allowed him to access and manipulate the registers directly on that board. The name of the library is called NTPORT (http://www.zealsoft.com/ntport/index.html).  He did this because he was not able to meet the timing requirements using the NI driver.
    We have to replace the AT-DIO-32F card with the AT-DIO-32HS card, and I would like to know if I can continue to do register level programming with the 32HS card.  I have found that I also can not meet my timing requirements using the driver that comes along with the 32HS card.
    I checked this web page (http://digital.ni.com/public.nsf/allkb/B08F4125A9325B3F862565CC0073E68F?OpenDocument), and did not find the AT-DIO-32HS listed. Does this mean I can not program its' registers ?
    Any feedback would be appreciated !!
    Thanks !!

    Hi Raminta-
    The Measurement Hardware Driver Development Kit (MHDDK) provides examples and register documentation for the 653x devices (which includes the AT-DIO-32HS).  The DIO-32F and DIO-32HS devices are quite similar, so it is possible that your existing code will work.  The resources on the MHDDK page should help you fill in any differences.
    Thanks-
    Tom W
    National Instruments

  • Documentation for register level programming of PCI-62XX cards

    I'm looking for documentation for register level programming of PCI-62xx series cards. Does such a document exist?
    Thanks

    Scott,
    At this time we do not have a comprehensive M Series RLP manual available.  I was not aware of any plans to deliver this document last month, so you may have been given some incorrect information, in which case I apologize.  Currently, we provide the register map along with several examples showing how to program the boards for different types of operations.  If you have any specific questions, you can post them to this forum where our developers and other customers can help out.  I hope this helps. 
    Jeremy

  • PCI6110: Mix NI-DAQ and register level programming

    Hi,
    is it possible to use high level NI-DAQ functions together with register level programming for the PCI6110 board? For example, to use NI-DAQ for AI and the GPCTRs and register level programming for AO.
    I had a look on the Measurement Hardware Driver Development Kit (DDK), but this doesn't seem to working together with NI-DAQ. Besides that, I don't want to reprogramm my whole DAQ-application, but use (AO) interrupts to synchronise the waveform generation to an external signal.
    Any hints?
    Regards,
    Christian Schuld

    Christian,
    It generally is not possible to use the MH DDK and NI-DAQ driver together. Because the NI-DAQ driver is not aware of the MH DDK and any changes you might be making on the hardware, it will likely reprogram or change certain registers or reset parts of the board that will invalidate your programming through the MH DDK. There may be cases where the two can coexist in an application depending on the specifics of the programming, but there are not any guidelines when that might be possible.
    If you can provide us more information about the details of your application and how you would like to synchronize the AO operation, we might be able to suggest a way to accomplish this using the NI-DAQ driver.
    Christian L
    NI Consulting Services
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Register level programing of the 6601 counter to connect signals to the rtsi bus

    I have need for more than 4 clocks and have several 6601 counter boards. I would like to use an additional board for the extra clock but need to send signals to the this board from the other. The most efficent way seems to be to use the rtsi bus to connect the 2 boards together. I am programing the counter boards at the register level  using a kernel module in linux. The register level porgramming manual explains how to connect different signals to the sourse pins of the clocks including the rtsi signals.  I have been successful in doing this but  can not find info on how to route the output signal of one clock  to the input of another using the rtsi bus. Using  web search I have seen ways to do this using labview and dqmx calls but nothing for programin at the register level. Thanks for any help on this problem.
    Jerrv

    Hi Jerry-
    Ed's post here has some info that seems related to your question.
    Tom W
    National Instruments

  • Problems configurin​g a port in niPXI-6509 card as input port using static DIO Register Level Programmer maual

    Hello ,
                 I am using a ni PXI-6509 card for my application. Since I have to compile my application in Interval Zero RTX, I am using the static DIO Register level programming using VISA. I have successfully configured the card to do output on  port0. But when I attempt to comfigure another port1(not the same as output) I can successflly configure it. But when I send 5V through the corresponding pins I donot get a value 1 in the Data register for that channel.
    the following i did to configure as Input...
    1) IO Select register set to 0 (for input as the manual suggests)
    2) read from IO data register.
    Do I need to do anything special to configure as input port.
    please suggest...
    Thanks
    Kuchi

    Hi Sathish,
    Given how much blatant, undisclosed, and unrepentant
    cross-posting [1] [2] [3] [4] [5] you've done to ask this question, I
    gave you the benefit of the doubt that you were new to the NI forums
    and didn't understand the etiquette of this community. However, looking
    at your profile, you've been around just over 8 years! How can you be
    so selfishly impolite?
    To your credit, you at least searched the forums to find (somewhat) relevant to which topics to reply, but as you said you 'tried the entire NI Site', I'm surprised that you missed the DDK home page [6] that has a link to the M Series register map.
    [1] Re: m series register programming in straight C
    http://forums.ni.com/ni/board/message?board.id=90&​message.id=1644#M1644
    [2] Re: Problems configuring a port in niPXI-6509 card as input port using static DIO Register Level Programmer maual
    http://forums.ni.com/ni/board/message?board.id=90&​message.id=1645#M1645
    [3] Re: Problem with writing to registers
    http://forums.ni.com/ni/board/message?board.id=90&​message.id=1646#M1646
    [4] Re: Is there a Register Level Programming manual for NI 625x PXI
    http://forums.ni.com/ni/board/message?board.id=270​&message.id=7661#M7661
    [5] Re: Where Can I find information about register level programming the PXI 6259?
    http://forums.ni.com/ni/board/message?board.id=250​&message.id=53551#M53551
    [6] Register Level Programming for OEM Customers
    http://digital.ni.com/express.nsf/bycode/exyv4w?op​endocument
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

  • NI PCI-6624 and NI PCI-6723 register-level programmer manual

    Hi,
    I am looking for NI PCI-6624 and NI PCI-6723 register-level programmer manual or QNX driver for these boards.
    Thanks in advance for any info related to the board's registers structure.

    Here is a link to a document that provides many resources on how to access register level programming with our DAQ devices:
    http://digital.ni.com/public.nsf/websearch/2D93070A3DDEFD7186256C59007289E6?OpenDocument
    Hopefully this will help.  There may be a better solution for your individual need.  What exactly are you trying to accomplish with the register level access?
    Jacob K
    Jacob K || Applications Engineer || National Instruments

  • How do I configure 128 channels of DIO and 128 channels of Analog output with the availabili​ty of 3 pci slots

    I have only 3 slots of PCI or 4 slots of ISA bus, I want to configure with the minimum possible modules to attain 128 channels of DIO and 128 channels of analog output. This is inturn fed to the PCM (Pulse code Modulator). The cards will be placed in industrial PC.

    Associate Engineer-Marketing,
    Using just those 3 PCI slots you're not going to be able to get the 128 analog output channels. You will probably want to go either the MXI-3 (PCI bus extender) to a PXI chassis or E Series DAQ card to a SCXI chassis for such a high channel count system. Which analog output cards and which digital I/O cards you will want depends on your application. You will have to decide whether you will need static or dynamic analog output as well as whether you need clocked digital I/O or not. I highly recommend contacting our internal sales department at 1-800-433-3488. They are great at helping specify systems.
    Ames
    Applications Engineering
    National Instruments

  • How do I program a NI 6602 card to send trigger pulses, one at each output port, triggered by an input trigger signal, using only one counter for each output port?

    Hello,
    I have managed to program a NI 6602 card in LabView to send pulses on three different output ports, one pulse on each output port (with individually chosen delays) for each input trigger pulse coming on a separate input port. It is the DAQmx Create Channel (CO-Pulse Generation-Time)-VI that I have used for this, see attached code. However, this VI controls both pulse delay and pulse width, and therefore uses two counters for each output port (although you only specify one counter in the VI input signals), as I understand.
    In my application though, I only need to have the delay chosen, the pulse width can be arbitrarily short, and thus I should only need one counter for each output port. How do I accomplish to program this in LabView?
    Best regards,
    Claes
    Attachments:
    Configure Side Camera Flash 1 Triggering.vi ‏47 KB

    Well you're welcome to do that--it will work just fine as long as you are configuring a start trigger.
    <rant>
    However, personally I really don't like putting multiple counter outputs in the same task.  I have seen so many people assume that the counter outputs would be synchronized due to having them in the same task when this is not the case (you need to configure a start trigger in order to synchronize the counter outputs even if they are in the same task).  This is the only case I can think of where multiple channels in a DAQmx task are not automatically synchronized.
    As an example:
    Running this on my PCIe X Series gives a measured 2 edge separation of 1 ms + {7.78 us - 10.11 us}.  This would likely be much worse on a bus with more latency (e.g. USB).
    The resulting output is close enough to what you might expect that it might go unnoticed, but really these counter outputs are not synchronized and it would be easy to glance at the code and not even think twice about it.  For the small amount of extra work on my end to create a separate task for each counter, it really clears up some ambiguity about what the counters are actually doing.  For me it's worth it.
    So again, for your case there really isn't a problem with having the counters in the same task since you are using an external start trigger anyway.  I have just gotten in the habit of avoiding doing this.
    </rant>
    Best Regards,
    John Passiak

  • Can the PCI-6602 card be configured for 3.3 volts?

    I would like to be able to configure my pci-6602 card to output 3.3 volt signals either in software or with MAX. Can this be done?

    The 6602 uses only 5V logic for it's driven outputs, but there is a Tri-State Enable feature which drives the output to high impedance instead of hi. This allows you to pull up the outputs to the required logic voltage.
    The Tri-State Enable is found using the wired OR map in the DIO Port Config.vi

  • Video Card and Video Card Configurations for MacBook Pro

    Does anyone know where I look to confirm which video card is in my MacBook Pro and also examine the current configurations and possibly look at configuration values for the video card.
    I'm kind of new to Mac, but on the Windows world I would right click on the screen and then navigate to the Advanced Video card configurations. Is there something analogous in the Mac world?
    Thanks again.

    Hi Jason,
    use the System Profiler app from the Applications/Utilities Folder to 'examine' the insides of your MBP.
    You can also click on the Apple Icon in the Top Menu, choose About This Mac and the the More (Further) Informations button. (I have a german OSX...).
    The only avaiable configuration options are found in the System Preferences (Display and Energy Savings).
    Have Fun
    Stefan

Maybe you are looking for