Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560

Sponsor

NEW! TMS320C6474: 3x the performance. 1/3 the cost. Three 1 GHz cores on 1 chip.

Discussion Groups

Discussion Groups | TMS320C6x | PCI Bus Mastering

Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

PCI Bus Mastering - rbkailash - Oct 11 20:24:00 2003



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





(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: PCI Bus Mastering - Jean-Michel MERCIER - Oct 14 12:13:00 2003


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




(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: PCI Bus Mastering - Jean-Michel MERCIER - Oct 14 12:48:00 2003


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.




(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: PCI Bus Mastering - Jean-Michel MERCIER - Oct 16 15:42:00 2003

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.

 
 
-----Message d'origine-----
De : BharathKailash Raghuraman [mailto:r...@yahoo.co.in]
Envoyé : jeudi 16 octobre 2003 16:53
Objet : RE: [c6x] PCI Bus Mastering

Hi
 
Thanks a lot for your reply. My board is the DP12 from Agelectronics. I have each DSP node with a PCI controller. Each node is connected by the PCI bus. I can use the PCI controller for arbiter rite? and communicate to other dsp using the pci controller of the other via the pci bus. Both initiator and target being DSP's.
 
Thanks
Bharath

Jean-Michel MERCIER <j...@ateme.fr> wrote:

rbkailash [mailto:r...@yahoo.co.in] 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.





(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: PCI Bus Mastering - Jean-Michel MERCIER - Oct 20 8:05:00 2003


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




(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )