Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Can't regenerate data at 20 MHz on pci 6534

Hi all,

I continually attempted to get a clock frequency of 20 MHz from the internal clock on the PCI 6534 board, whilst trying to regenerate. I could get a clock freq of around 3.3 MHz with the signal regenerating continuouslly as I wanted, yet as the frequency was increased above 3.3 MHz the signal would not regenerate continuouslly, but regenerate for a little amount of time and then stop on the last peice of data of the array to be transfered.
I then tried an external clock to see if it was an internal clock problem and this operated in the same way with the signal dropping out at around 3.3 MHz. I am using all ports with ports 0-1 as a 16 bit output port, port 2 as a 8 bit output port and port 3 as a 8 bit input port. I am also wrting my code in Borland C++.
I have configured the board to regenerate with the following code. I have set the number of samples per sec to the max of the external clock which is 10 MHz at the moment, and I have the external clock being input on PFI2 (pin2), as seen in the code below.

        DAQmxErrChk (DAQmxCreateTask("",&taskHandle1));
        DAQmxErrChk (DAQmxCreateDOChan(taskHandle1,port1,"",DAQmx_Val_ChanForAllLines));
        DAQmxErrChk (DAQmxSetWriteRegenMode(taskHandle1, DAQmx_Val_AllowRegen));
        DAQmxErrChk (DAQmxSetSampTimingType(taskHandle1, DAQmx_Val_SampClk));
        DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle1,"/Dev1/PFI2",10000000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,10000000));

If anyone could assist me that would be greatlly appreciated.

Thankyou in advance,


Simon
0 Kudos
Message 1 of 2
(3,221 Views)
Hello Simon,

Are you given any type of error when the pattern output regenerates for a little amount of time and then stops on the last piece of data of the array to be transferred?  I am wondering if the data is not actually being written to the onboard memory of the card or if its just a problem with how the task is configured for regeneration.  There are some caveats to the onboard memory size used for pattern output with the NI-6534, as discussed in the following knowledgebase:

KB
34GMACU6: PCI/PXI 6524 Continuous Pattern Output

Here is also some information about how the timebases are used for pattern I/O for the NI-653x devices:

KB
2NOBPORY: Which Timebases are Available on the 653X Digital Boards for Pattern I/O?

KB 30K9L06I: Performance Benchmarks For The High-Speed Digital I/O - NI 653x

Unfortunately, since support for these devices was recently added for the NI-DAQmx driver, there are not many text-based example programs showing how to configure the NI-653x devices for continuous pattern I/O.  What programming language are you using these DAQmx functions within?  Could you attach a small example program that shows how you configure, write to, start, monitor, and stop your task?

Regards,
Travis Gorkin
Applications Engineering
National Instruments
www.ni.com/support
0 Kudos
Message 2 of 2
(3,205 Views)