From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Re: PCIe 6537

Hi, 

 

I am trying to control a SDRAM using PCIe 6537 card and LabView. Is there any way in which I can send control signals to and from the memory using just the two.

 

Thank You. 

0 Kudos
Message 1 of 12
(4,286 Views)

Hey

You could control SDRAM using PCIe 6537, but you would need to know how to control the control lines. PCIe 6537 cannot do hardware compare though. If you are looking for specific hardware here is the bundle which will help you find the right hardware.

Good luck 

 

NI-khil

0 Kudos
Message 2 of 12
(4,258 Views)

Hey 8182746525,

 

Are you communicating with, or trying to control, a memory controller or will the 6537 talk directly with the SDRAM? Can you provide more details about what exactly you are trying to do, and how you plan to go about it? This will give everyone more of an idea of what kind of code to point you towards instead of generically telling you to look at the LabVIEW shipping examples or examples that are online.

 

Also, as NIkhyl pointed out we do have some code online that is targeted at communicating with memory, like this Memory Test Reference Design, but it was configured to use the NI 655x (or 6547/48) device, not the 6537, so it uses the HSDIO driver software instead of the DAQmx driver that the 6537 uses. The 655x and 6547/48 devices have a couple of features that the 6537 does not have to allow it to use the code in the Reference Design example program, such as Hardware Compare and Per Cycle Tristate. These features allow the device to set a memory address, write data to that address, and then read back the data at the memory address and compare it with what was written to it, all on the 655x hardware. You won't be able to compare the expected data response in hardware on the 6537, so you will have to compare the data in software instead. Also, depending on how your SDRAM works, or the memory controller, it might require that you write to it and then a few clock cycles later read from it, but this requires Per Cycle Tristate, which the 6537 does not have. If your device you are trying to control does not require that you have a quick turn around time on when you write to it and read from it, then you might be able to use the 6537, depending on other requirements.

 

Finally, as a high level "here's what you should do based off of info that you provided", if you just need to perform a generation, then you can set up data lines on the 6537 to generate the address lines, control lines, and data lines. Then you would do a simple generation of all of the data at once with a file or generate the data on the fly in your code.

 

I hope this helps. If you need further help, please provide more info about what you are trying to do and a little about how your hardware that you want to control works. Thanks, and have a great day.

 

Regards,

DJ L.

0 Kudos
Message 3 of 12
(4,250 Views)

Hi,

 

Thank you for your immediate reply. Actually SDRAM gets the data from another source which is the basically an ADC and PCIe 6537 has to just read the data from it. So I am trying to control the address and control lines of the memory using 6537. After reading the data from memory 6537 is used to store it in a PC.

 

I guess this should make it clear. 

Thank You. 

0 Kudos
Message 4 of 12
(4,244 Views)

Hey,

 

Do you have any timing diagrams of when the data you will be reading is valid? What is the access time of the data? To help you further this information will help us help you.

 

Also, to get you started, before going into details of what to put in your code, I would recommend that you start looking at some of the examples that ship with the DAQmx driver. First, when you have LabVIEW open, go to -> Help -> Find Examples. Then when the Example Finder is open, in the middle choose the Hardware Input and Output -> DAQmx -> Digital Generation -> Write Dig Chan or Write Dig Port. There are also other Generation examples in here that you can check out. The generation examples are going to be for the part of your code that you use for the control and address lines. Then you should also start looking at the Digital Measurements folder, and these examples are going to be for the actual data you read from your memory.

 

Here is an example online that shows how to do both a generation and an acquisition with the 6537. Even though this is not what you will be doing in your code, it will give you an idea of how to get started. But there are many things that you might have to implement into your code, like triggers or events, but without knowing more about how your SDRAM works, this is all I can suggest at this time.

 

Regards,

DJ L.

Message Edited by DJ L. on 01-06-2010 04:13 PM
0 Kudos
Message 5 of 12
(4,238 Views)

Hey,

     

The memory has an access time of 20ns and the ADC has conversion time of 40ns i.e. time required for the ADC to convert analog data to digital data(8 bits). According to this data, I am trying to address the memory with PCIe 6537 so that I can store in the data and also at the same time generating a clock for the ADC so that it gives me the 8bit data. How do I generate address from PCIe 6537 for the memory and also a clock for the ADC? Is there any way I can use the PFI lines to generate clock for the ADC.

 

Thank You. 

0 Kudos
Message 6 of 12
(4,061 Views)

Hello 8182746525,

 

Usually if you are going to be targeting a specific memory that means you are using a specific protocol.  Is this SPI or I²C?  Each protocol can be crafted in code, but these will not come shipped with the DAQmx driver.  Is this a relatively new card?  If so, I would consider upgrading to the 6551 as there are already prebuilt libraries and examples that have been built up for each of these protocols.  The question you would have to ask yourself is if the extra cost on hardware can be justified by the amount of time that you can save in development.  

 

As far as generating a clock you can use any of the digital lines to just produce a pulse train. Is there a specific reason why you wouldn't want to do that?

 

ColeR
Field Engineer
0 Kudos
Message 7 of 12
(4,031 Views)

Hi,

 I am using a VHDCI cable to connect my card to the PCB. 

You asked me use any one of the Digital I/O lines for generating a clock, I am geting an error when I try to generate continuos samples, that the card buffer is FULL. Is there a way in which I can increase the buffer size by modifying my code.

Can you help me by giving some example codes in order to generate pulse train from one of the digital lines.

Also the pulse train I am trying to generate, I wanted to control the frequency of the output. How can I do that?

 

Thank You.

0 Kudos
Message 8 of 12
(4,016 Views)

Hello 8182746525,

 

Check out the Cont Write Dig Chan-Pipelined Sample Clock.vi in the Example finder.  Exports your clock and shows how to write continuously. It just generates a digital waveform, so again, you'll have some coding to do if you're doing SPI or I²C.   
ColeR
Field Engineer
0 Kudos
Message 9 of 12
(3,995 Views)

Hello all!

 

I am using a hardware timed LabVIEW DAQmx device and the serial digital waveform library to comminicate with a microcontroller. For the microcontroller application I need a pause of some milliseconds. I don`t really know how to do that, since the VIs of the digital waveform library send N bits at once..( Send any lengh VI)

I already posted my question in the serial digital waveform libarary forum but was told that you guys in this form have more experience with DAQmx devices.....

I would appreciate evey help

 

Beste regards,

Katja

0 Kudos
Message 10 of 12
(3,522 Views)