05-14-2010 03:04 AM
Here is the system I’d like to implement (see attached image). I expect it can be done using one or more NI modules controlled by LabView.
I have two sensors that I want to read with the following timing:
Every 2000 microseconds
Trigger an A/D conversion and serial data transfer on the two A/D converters.
Wait for T1 (3-100 microseconds).
Output a logic pulse (1-5 microseconds long) to another device.
Wait for T2 (3-100 microseconds).
Trigger an A/D conversion and serial data transfer on the two A/D converters.
The A/D converters are Analog Devices AD7767. They have 2.5V logic. They require a 1MHz master clock, and a separate serial transfer clock which I’d like to run at around 8-10MHz (meaning that the serial data would take about 2.4-3.0 microseconds to transfer). The converters are on physically separated small circuit boards (~ 20cm apart) with no direct cabling between the two small boards.
The logic pulse can have the same 2.5V logic levels but doesn’t have to be on the same logic levels as the A/Ds.
The simultaneity of the two converters is important. They must convert at the same time.
The relative timing of conversions doesn’t have to be accurate, but must be repeatable. T1 and T2 should be repeatable to within +/-100ns. The values set for T1 and T2 don’t have to be changed at run time.
The above system produces four 24bit values every 2000 microseconds. I need to be able to do simple mathematical operations on them (conversion to floating point, subtraction, division), display them on screen, and save them for further processing.
I have several stepper motors I’d like to control from within the same system. At least one of these needs to be micro-stepped (only by a factor of 8 or 16), so I’d need either
Since the stepper motor winding currents could be up to about 1 amp, I expect to have to use some external stepper drivers to provide the necessary current, and use a TTL level digital output from an NI board/module.
Can I use LabView with a digital I/O board to produce a pulse stream at 25KHz with the pulse width varying in 2.5 microsecond steps, or is this too fast? What timing jitter and pulse width variation should I expect on the output?
Alternatively, is there a function generator mode that I can use for a digital output that continuously repeats a digital pattern without need for continuous intervention from the controlling computer?
What modules would I need to implement this system? Is it possible to read and convert the 8-10 MHz synchronous serial data streams on a digital I/O board or do I need something more specialized?
Am I even going about this the right way?
05-17-2010
02:55 PM
- last edited on
02-11-2025
04:54 PM
by
Content Cleaner
Hi PWilson,
There are quite a lot of questions, so let me try to answer them in order:
Any of our multifunction cards (X-series and M-series) can output a pulse train at a given integer division of the master timebase frequency on a counter. Therefore, you can output this 1 Mhz clock out to the sensors.
Most of our card function with TTL 5V logic, where 0V corresponds to a low, and 5V a high. As long as 0V is a low for the sensor and 5V will not damage the card, this should work as well.
Serial is asynchronous communication, so it will be impossible to synchronize the inputs, but we can synchronize the output clock to the sensors. If it is very necessary to have the pulse arriving at the same time, you will want to ensure that the cable length and PCB trace lengths are identical. We do offer serial cards to input this data.
The output pulse train will have some inherent error from the master timebase, and this can be found in the M-series and X-series manuals.
We do offer stepper motor controllers in our Motion Control products. These might end up being more beneficial for your system.
We can create a variable frequency pulse train on a counter line, as seen in this community example. This will require using 2 counters, so I would suggest an X-series card, which has 4 accessible counters, and 4 more behind the scenes used for such pulse train counter applications.
The M and X-Series cards can also perform correlated DIO on port0 of the digital output with a preloaded pattern on the FIFO that regenerates automatically, and is stepped through at the specified sample clock rate.
Best,
05-18-2010 07:24 PM
Thanks for the reply, Adam.
I'm reading up on the X-series cards now. I think the digital waveform measurement mode may be suitable for collecting the synchronous serial output from the AD7767 converters. The combination of digital waveform generation (to generate the start convert and device trigger pulses) with digital waveform measurement (using the same clock) may be sufficient.
Regards,
Philip.