Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

6601 dropping LSBs

Hello -
 
We've got a 6601 PCI card that's being used to characterize the stability of some crystal oscillators. We're essentially feeding a 10MHz TTL square wave into the board. The problem is, once the counter rolls past 16 million or so, the least significant bits start to get padded to zero. It appears that only the 24 MSBs are read out. We want to look at variations of 1 part in 100 million, so 24 bits isn't enough.
 
Various VIs in Labview (7.0 Express) all show this behavior. The first VI used DAQ assistant, but was scrapped due to flaky software timing. The latest version adapts one of the DAQmx examples: "Count Digital Events-Buffered-Continuous-Ext Clk". The signal comes in through ctr0, and ctr4 is used to create the sample clock. For the purposes of characterizing LSB dropping, a 10Hz sample clock is used.
 
Here's a data excerpt for illustration. The first column is the counter value; second column is the difference between counter samples; third column is the counter value in binary. This is the transition from 24 bits counted, to 25 bits.
 
14823821  1000018      111000100011000110001101
15823839  1000019      111100010111001111011111
16823858  1000018     1000000001011011000110010
17823876  1000020     1000011111111100010000100
18823896  1000016     1000111110011101011011000
19823912  1000020     1001011100111110100101000
 
When the counter value is 25 bits, the LSB always returns 0. When the counter value is 26 bits, the 2 LSBs always return 0, etc.
 
This appears to be a hardware limitation, but perhaps I've missed something. Advice would be greatly appreciated. Smiley Happy
 
Thanks,
Mike
0 Kudos
Message 1 of 5
(3,921 Views)
Hi Mike,

Which version of the DAQ driver are you using?  I would recommend first upgrading to DAQmx 8.0 and then if the problem persists let us know. 

I've never heard of a counter behaving like this.

Let us know what is going on after the drivers are installed,
0 Kudos
Message 2 of 5
(3,909 Views)
I've used the 6602 a lot and this doesn't ring any bells at all...  I'd tend to think that such a bug would show up on both the 6601 and 6602 because they are so similar.
 
Can you post code that produces the problem?  If so, I could try it on a 6602.
 
-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 3 of 5
(3,905 Views)
Otis: I'm using the drivers that came on the CD, which I'm fairly certain are 8.0. I'm only in the lab on Fridays; I'll make sure then.

Kevin: Since I'm only in the lab on Fridays, I'm afraid I don't have code to post at the moment. If you like, you could simply run a counter past 16 million or so (2^24) and see if similar behavior results; that would be a good sanity check.

Thanks,
Mike
0 Kudos
Message 4 of 5
(3,891 Views)

I think I figured it out. It was Write To Spreadsheet.vi -- it's internally routed with the single-precision datatype. I changed it to I32 and everything seems to be fine now.

Thanks for your time,

Mike

0 Kudos
Message 5 of 5
(3,878 Views)