This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCIexpress bridge at DM642/DM648

Other Parts Discussed in Thread: XIO2000A

Hi,

I try to connect a DM642 (DM648 in the future) to PCIexpress (and plug it into a PC). I tried to use a PEX 8112 PCI-PCIx bridge on a reference board (PEX8112 Fwd Riser) along with one of my DM642-prototype boards. Linux finds the card plugged in through the riser card. The communication towards the DSP seems to work as it does without the riser card. But the communication from DSP to the PC does not.

In my app, the PC-DM642 driver reserves memory that cannot be paged out from the OS. The adress of this section is sent to the DSP which copies Data into this memory using a master transfer. On the DM642 I use the CSL Library (csl_pci.h).

The transfer is setup using
  PCI_xfrConfigArgs(dspma, pcima, pcimc, trctl);
  PCI_xfrStart(PCI_WRITE);

After that I test the transfer status using
for(;;)
  xfrTestStatus = PCI_xfrTest();

The function returns 1 forever.

Searching in the csl sources I found that PCI_xfrTest just returns the value of the START bits in PCIMC register. It seems that the value the START bits is reset to 0 when the transfer is complete.

Can anyone tell me his experiences with connecting a DM642 or DM648 to PCIx using a PCIx-bridge? Can anyone recommend me a PCIx bridge?

best regards,

Thomas

  • Unfortunately I have not seen a DM642 implementation using a PCIx bridge, but this should certainly be possible. You may have already seen this but you may be interested in the old Valley Tech PCI drivers for the DM642 EVM, they may be able to help some in sorting out the issue.

  • Hi Bernie,

    Thanks for your reply. I already contacted the support department of PLX (the manufacturer of the PEX 8112). There might be a problem with the riser card I use. The bridge itself is transparent (as if it was not there) for the PC driver and for PC side initiated transfers and should behave the same way for DSP initiated master transfers.

    Concerning the driver: I switched quite long time back from ValleyTech drivers to SheldonInstruments, you can find the drivers here. You get the driver with full sourcecode. It has the same userspace-API under Windows and Linux, the same API for DM642, DM648, 6437 and 6467. The SheldoInstruments support is also good. I can recommend this package (but since it seems that you are somehow a guru you might know it ;-)

    There is a technote (sprab05) on connecting a different bridge (XIO2000A) to a DM646x that might help. I didnt dig into that.

    I'll post a reply here when I find out something new, best regards,

    Thomas