05-24-2006 03:51 PM
Second Card(Device3)Read Card
The write card is put into a tristate mode during read operations.
Having problems to read data within a data strobe of 250nano seconds and read/write pulse of 350nano seconds.
Need to read the data on the bus 150nano seconds after the the data strobe goes low and read/write goes high.
Below are some of the functions being used in my code.
Write_WFM16 (Module_Strobe, 10, 12, x0202, 16, 18); //Sets up the module ID of 02
Write_WFM16 (Address_Strobe, 10, 12, xFF00, 16, 18); //sends address 00 on A/B bus
Write_WFM16 (Data_Strobe, 10, 12, D_xFF55, 16, 18); //sends data FF(B)00(A) on A/B bus
Write_WFM16 (Address_Strobe, 10, 12, xFF00, 16, 18); //sends address 00 on A/B bus
ReadAB_Bus();
Fmt (Read_data, "%x[w4p0]",read_data[0]);//w4 insures a 4bytes, p0 patches any blank characters
05-25-2006 05:28 PM
Hi,
Are you running into any specific errors during your application or is this strictly a timing issue? I recommend using some of the shipping examples that come with the DAQmx driver. There are a couple of good digital input and digital output examples in the CVI Example Finder. These are located in Help >> Find Examples >> Hardware Input >> DAQmx. The digital output examples are in the digital generation directory and the digital input examples are in the digital measurements directory.
Regards,
Hal L.
05-26-2006 06:50 AM
This is strictly a timing issue. After the datastrobe & read/write waveforms are sent the data is present 40 nano second on the buss. Any low level transition decays to a high level.
Example: During our test there is a device that we send HEX 55. This data is then latched into the device. The next step is to read the HEX 55 value back from the device, changing the direction of the data on the buss using the read/write line. It seems like the only way we can read this data is if it is present on the buss for longer than 4milliseconds of greater. The only way this test works is if we change are read/write waveform so that it produces a read/write pulse of that pulse width.
Our end customer has a buss requirement of (datastrobe 250nano seconds & read/write 350nano seconds). We need to meet these requirements.
thanks
05-30-2006 03:48 PM
Hi,
I would like to make sure that I have a good high level understanding of your application. This involves two 6534's as well as a 3rd party DUT. Your first 6534 will output data to the DUT and after some time the DUT will reply with some data. This data is read by the second 6534 and you are tristating the first 6534 at the same time. Please let me know if any of this is incorrect. Also, would it be possible for you to test this application without tristating one of the 6534's on the fly? I think that this could be causing some of the delays that you are running into.
Regards,
Hal L.
05-31-2006 10:36 AM
If I disable the tristate mode, the output will all go high and the NI6534 reads all FFFF. NI indicated that we needed to connect the RTSI cable between the two units. This will help in syncronizing the two cards in the system. But, having trouble trying to get this to work. Idea is to trigger the read card when the read/write lines go high and capture the data on the BUSS.
Note: Using LW CVI example : FiniteAI.C as a reference tool.
Any help is appreciated.
THANKS
06-01-2006 03:53 PM
Hi,
I would really like to help you on this one. However, I'm still curious if I have your system setup correct from my previous post. Was my assessment of your overall application correct? Please let me know and I'll continue to help you with this.
Regards,
Hal L.
06-22-2006 08:13 AM
06-22-2006 08:28 AM