There are a number of NI cards that could fit this application. I guess a number of questons spring to mind.......
1. What data type do you need to generate / receive? ( TTL, LVDS, etc.)
2. Is the data serial or parallel and how many bits?
3. Does the DUT generate a clock signal output as well as the data output?
4. Do you need to change the generation frequency on the fly or is a short stop in generation acceptable?
If you can provide this information we can then work on the best solution for your application.
Many thanks for your reply
The voltage levels are TTL.
The data to be sent and received is just a one wire serial pulse train without any clocking of the data in/out. However i'm guessing that I will need to use an external clock to help sample the waveform.
The frequency doesn't have to be changed on the fly. It can be set then started.
The format of the data to be sent/received is undecided and may depend on the method of generation/receive that is used. The bits however cannot be more than 3 of the same logic level in a row.
How the received data is triggered is an essential part of the process I presume as at the moment I am unsure of the DUT in/out timedelay and there is no clock to sync with.
Is that more helpful?
This is most helpful. OK TTL is something that a lot of NI cards will do so that bit is fine. Serial data with no clock can present some problems. The generation of data is essentially easy as you just set the internal clock frequency of the generator card to the desired output data rate and away you go. The DUT will normally handle this kind of data stream by the use of a clock recovery circuit which recovers the clock rate from the data received. This is likely to be how your DUT will work and this is kind of backed up by the fact that you cannot have more than 3 bits at the same logic level in a row, otherwise the clock recovery circuit produces the wrong clock frequency. Now this is where the problems can come in, NI's products do not have clock recovery circuits built in so they will be unable to deal with the data receive side of your testing without some sort of external clock recovery circuit to provide an external clock to the receiving board unless the DUT output data is clocked at the same rate as the DUT input data. If the DUT output data rate is the same as the DUT Input data rate you can use the internal board clock that was used for generation and perform a "trigger when pattern matched" acquisition. If the DUT output data rate is different then you can replicate the DUT clock recovery circuit on some breadboard and use it to provide an external clock. Now to the boards: If the DUT Input / Output data rates are the same (albeit with a delay) you could use a single PCI-6541 or PCI-6551, if the data rates are different you will need two boards, one for TX one for RX. I suggest these boards because they are the only boards capable of fulfilling your requirement to vary the sample point of the bits coming out of the device.
Hope this helps,
I don't think that you necessarily need the higher memory cards as you can do Real Time Hardware comparison if you go for the 655x card. There is a great tutorial here http://zone.ni.com/devzone/conceptd.nsf/webmain/15de80989fd122188625704d007885ea#3 that explains this. It might be that this hardware compare is also available on the 654x card as well. The only time you may need the higher memory is if you want to store the received data as well for off line analysis.
Hope this helps,