I am using a DT9836 in a custom C++ app via the Open Layers Data Acquisition SDK. We supply the DT9836 with an external gated A/D Clock source and I'm having trouble with the hardware FIFO which is 2048 samples deep. The number of clock edges is not always an integer multiple of 2048 (n_clock_edges % 2048 != 0), and so my last buffer is not getting filled properly. After all clock edges arrive, the hardware subsystem seems to be waiting for additional clock edges to shift more (garbage) data into the FIFO to trigger a FIFO full condition and shift the data into the software buffer. For many application-specific reasons, I do not want to allow the clock source to continue beyond the desired number of samples, so I need a way to get the data out of the partially filled FIFO without sending more triggers. I don't see a way to do that with the DT Open Layers SDK. Is it possible?
One idea I had was to switch the clock source to internal to fill the FIFO and force the data out, but this is inelegant to say the least. Is there a better way?
Question
Keith Penney
Hi MCC/DAQ support,
I am using a DT9836 in a custom C++ app via the Open Layers Data Acquisition SDK. We supply the DT9836 with an external gated A/D Clock source and I'm having trouble with the hardware FIFO which is 2048 samples deep. The number of clock edges is not always an integer multiple of 2048 (n_clock_edges % 2048 != 0), and so my last buffer is not getting filled properly. After all clock edges arrive, the hardware subsystem seems to be waiting for additional clock edges to shift more (garbage) data into the FIFO to trigger a FIFO full condition and shift the data into the software buffer. For many application-specific reasons, I do not want to allow the clock source to continue beyond the desired number of samples, so I need a way to get the data out of the partially filled FIFO without sending more triggers. I don't see a way to do that with the DT Open Layers SDK. Is it possible?
One idea I had was to switch the clock source to internal to fill the FIFO and force the data out, but this is inelegant to say the least. Is there a better way?
Thanks in advance for your assistance.
-Keith Penney, Sandia National Laboratories
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now