03-30-2011 05:15 PM
Success! I suspected that the problem was caused by cross-coupling between digital lines at various interconnects, where breaks in shielding may occur (at cable ends, in the BNC connectors, etc). This explains why the problem diminished when I removed the BNC-2110.
I think the cross-couplings were strong enough (due to the high frequencies involved) to overwhelm whatever weak pull-ups were present on the other digital I/O ports, and the couplings were strong enough to cause some switching circuitry to activate (hence the nonlinear behavior I was seeing). So, I set all unused digital I/O ports to outputs in the low state.
Oddly enough, this did not fix the problem, but it did make a small difference. What did fix the problem was to set P1.6 as an output and write it HIGH. The fix persisted when I had the BNC-2110 connected and did a full loop-back test through an external BNC cable (through PFI12 into PFI0).
So, if you need to count narrow pulses at a low repetition rate and you are encountering a minimum rate that is detectable, try writing P1.6 HIGH first. I need to do more thorough testing to make sure this patches up all cases.
I hope that the NI engineers will take note and investigate what is really going on internally, rather than just leave this as a quick fix.
03-30-2011 05:32 PM
I tested the solution with my pulse generator. The narrowest pulses it can generate are 2 nanosecond, and I used a repetition rate of 1 Hz. The counter incremented once a second as expected.
03-31-2011 03:31 PM
Thanks for the update, glad everything is working out now.
Best Regards,