Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
|
Hi I need some help with PCI Bus Mastering. My master and slave are both DSP's, running through them is a PCI bus. Can I transfer data in between them using the pci bus mastering techniques? If yes, then what are the essentials for this purpose?. thanks Bharath |
|
|
|
rbkailash [mailto:] wrote : > I need some help with PCI Bus Mastering. My master and slave are > both DSP's, running through them is a PCI bus. Can I transfer data > in between them using the pci bus mastering techniques? If yes, then > what are the essentials for this purpose?. 1/ A PCI Arbitrer 2/ Each DSP need to know the bus address of each other. You can't have the 2 DSPs communicate with each other if you don't have a PCI Arbitrer. DSPs can't act as PCI Arbitrer by default. PCI Arbitrer have to : - Process PCI configuration at startup (read PCI Configuration registers, allocates memory range, ...). - manage bus request - manage interrupt request Master and Slave only refer to transfer, better names for that coul bea Initiator and Target. Initiator is the device that request the bus and place the transfer on the bus (read or write). The target is the device that respond to the request. DSPs can act as master or slave at any time, even simultaneously if you want. This is just an application aspect. If your boards are inside a PC with an OS, it is enough. Both boards will be configured on the host PCI bus by the OS. Then all you will need is to have a mecanism on your host to read the physical address allocated to each DSP by the OS and to give that to the other DSP. At least, it seems that you will need a driver for your OS to do that. If you don't expect to have a host arbitrer, you will need to build this with external logic. If your system is fixed (always have those 2 DSPs on the PCI bus), configuration step can easily be achived by an FPGA. Interrupt management can also as well as bus request. Jean-Michel MERCIER -------------------------------------- dsp & imaging - www.ateme.com ATEME - 26 Burospace - 91573 BIEVRES Tel : +33 (0)1 69 35 89 73 (direct) Fax : +33 (0)1 60 19 13 95 |
|
Amrut Kunte wrote : > I have studied the DM642 PCI port. How can the DSP do > simultaneous SlaveWrite and >SlaveRead and MasterRead or > Write at the same time when there is only one PCI bus? Of course, this doesn't happens exactly at the same time. It is just like multi-tasking. The arbitrer is time-sharing the bus even if the 2 DSPs are request it for accessing the other DSP. The PCI interface inside the DSP doesn't prevent for receiveing a slave access while having a pending request to act as a master. Jean-Michel MERCIER -------------------------------------- dsp & imaging - www.ateme.com ATEME - 26 Burospace - 91573 BIEVRES Tel : +33 (0)1 69 35 89 73 (direct) Fax : +33 (0)1 60 19 13 95 Jean-Michel MERCIER <> wrote: rbkailash [mailto:] wrote : > I need some help with PCI Bus Mastering. My master and slave are > both DSP's, running through them is a PCI bus. Can I transfer data > in between them using the pci bus mastering techniques? If yes, then > what are the essentials for this purpose?. 1/ A PCI Arbitrer 2/ Each DSP need to know the bus address of each other. You can't have the 2 DSPs communicate with each other if you don't have a PCI Arbitrer. DSPs can't act as PCI Arbitrer by default. PCI Arbitrer have to : - Process PCI configuration at startup (read PCI Configuration registers, allocates memory range, ...). - manage bus request - manage interrupt request Master and Slave only refer to transfer, better names for that coul bea Initiator and Target. Initiator is the device that req uest the bus and place the transfer on the bus (read or write). The target is the device that respond to the request. DSPs can act as master or slave at any time, even simultaneously if you want. This is just an application aspect. If your boards are inside a PC with an OS, it is enough. Both boards will be configured on the host PCI bus by the OS. Then all you will need is to have a mecanism on your host to read the physical address allocated to each DSP by the OS and to give that to the other DSP. At least, it seems that you will need a driver for your OS to do that. If you don't expect to have a host arbitrer, you will need to build this with external logic. If your system is fixed (always have those 2 DSPs on the PCI bus), configuration step can easily be achived by an FPGA. Interrupt management can also as well as bus request. Jean-Michel MERCIER -------------------------------------- dsp & amp; imaging - www.ateme.com ATEME - 26 Burospace - 91573 BIEVRES Tel : +33 (0)1 69 35 89 73 (direct) Fax : +33 (0)1 60 19 13 95 _____________________________________ Yahoo! India Matrimony: Find your partner online. Post your profile. |
|
Bharath,
What you call a PCI controller is a PCI
interface
for a peripheral. It is not a PCI
arbitrer.
DP12 is supposed to be used inside a PC I
suppose.
So in this case, it is the PC that will do the
arbitration.
This mean that you cannot use that board
stand-alone.
I don't know how the DP12 is
architectured.
I understand that the PCI interface is not on
the DSP but
a separated chip.
In this case I don't know if and how this could
be handled.
You can have DSP to DSP communication using
the
PCI only if the DSP can be master on the
bus.
In that case, it will be able to read/write to
the other
DSP.
If this is not the case, it is likely that the
only transfers
available are DSP to/from PC
memory.
|
|
Bharath wrote : > Does C6701 have a PCI port ? I have this doubt because when I > was going through my DP12 board architecture, it has a PCI > controller interfaced to C6701 at the HPI. The PCI port is > interfaced to the processor by DMA controller. Can you > figure out what exactly is happening here ?\ C6701 doesn't have a PCI port. No C67 have. Only C6205 and C64x have PCI ports. From what you describe I understand that on the DP12, the C6701 is SLAVE from the PCI interface on the board. Because, the DSP cannot do outgoing access to the PCI interface through the HPI port, all PCI transfer on this board are under control of the PC Host. The PC host can probably do SLAVE access to the DSP memory through the HPI. It is also possible that using the internal DMA controller of the PCI Interface (you said it was a PLX PCI9054 if I remember) data transfer can be done using PCI DMA Master. If this is true, that does mean that, under the control of the PC driver, the PCI controller can come read/write DSP memory and write/read to PC memory without usage of any of the 2 CPU. But is is likely that you won't be able to achieve direct DSP-to-DSP communication using this link. You will need to use the PC Host as a communication code. Best regards, Jean-Michel MERCIER -------------------------------------- dsp & imaging - www.ateme.com ATEME - 26 Burospace - 91573 BIEVRES Tel : +33 (0)1 69 35 89 73 (direct) Fax : +33 (0)1 60 19 13 95 |