DSPRelated.com
Forums

The problem about C6203 XBus

Started by zj40932 October 17, 2003
Hi everyone,

Now I have a problem about TMS320C6203 XBUS in my project.
I hope you can give me some advice and help.

We design a C6203 DSP system, with a fifo connecting to the DSP
and the external interface by XBUS. The DSP reads data from fifo by
xbus. And i know that reading data by xbus must be through DMA way.
ALthough I setup the DMA registers many times,the DMA never happen.

I searched the discussion in the group,and i found that the
discussing
by Hugang is useful to me. I setup the registers and some pins
again,
but still cannot solve the problem.

Please give me some advice and help. Thank you.
zhangjian
10/17/03

The following is my setup mode in details:
1: pull up 0: pull down
DSP_XD9(fifo mode): 1(glueless)
DSP_XD10(XARB mode): 1(internal XBUS arbiter enabled)
DSP_XD11(Host mode): 1(external host interface is in synchronous)
DSP_XD12(RWPOL mode): 0(write is active-high)
DSP_XD13(BLPOL mode): 0(xblast is active-high)

and other pins in xbus is setup to disable the host port:
XCLKIN :pull up
/XBE[3:0]/XA[5:2]: pull down
/XAS: pull up
XRDY:pull up
XW/R: pull up
XBLAST:pull up
XHOLD:pull down
XHOLDA:pull down
XCNTL:pull up
XBOFF: pull down
/XCS:pull up and the registers of DMA and XBUS is:
*(int *)XBUS_GCTL=0xF800;
*(int *)XBUS_CE3=0xFFFF3F53;

DMA_configArgs(hDma0,
0x00000041, // prictl
0x00000000, // secctl
((Uint32)0x70000000), // src
(Uint32)0x80000000, // dst
0x00008000); // xfrcnt



Zhang Jian-

> Now I have a problem about TMS320C6203 XBUS in my project.
> I hope you can give me some advice and help.
>
> We design a C6203 DSP system, with a fifo connecting to the DSP
> and the external interface by XBUS. The DSP reads data from fifo by
> xbus. And i know that reading data by xbus must be through DMA way.
> ALthough I setup the DMA registers many times,the DMA never happen.
>
> I searched the discussion in the group,and i found that the
> discussing
> by Hugang is useful to me. I setup the registers and some pins
> again, but still cannot solve the problem.

Are you using host to set all XBus transfer registers, for both R/W? This is
the
most reliable method. For an example of what it looks like on Logic Analyzer,
go
here:

http://www.signalogic.com/index.pl?page=logic

Once you initiate the transfer, then XBus uses DMA internally to complete. You
should not need to set up DMA on the C6203 code. But, your logic interface to
XBus
is critical. It must be very fast and use double-edge clocks, and your
state-machine
100% reliable. Otherwise, you can lock up the state-machine in the C6203 and if
you
do that -- game over.

Jeff Brower
system engineer
Signalogic > Thank you.
> zhangjian
> 10/17/03
>
> The following is my setup mode in details:
> 1: pull up 0: pull down
> DSP_XD9(fifo mode): 1(glueless)
> DSP_XD10(XARB mode): 1(internal XBUS arbiter enabled)
> DSP_XD11(Host mode): 1(external host interface is in synchronous)
> DSP_XD12(RWPOL mode): 0(write is active-high)
> DSP_XD13(BLPOL mode): 0(xblast is active-high)
>
> and other pins in xbus is setup to disable the host port:
> XCLKIN :pull up
> /XBE[3:0]/XA[5:2]: pull down
> /XAS: pull up
> XRDY:pull up
> XW/R: pull up
> XBLAST:pull up
> XHOLD:pull down
> XHOLDA:pull down
> XCNTL:pull up
> XBOFF: pull down
> /XCS:pull up
>
> and the registers of DMA and XBUS is:
> *(int *)XBUS_GCTL=0xF800;
> *(int *)XBUS_CE3=0xFFFF3F53;
>
> DMA_configArgs(hDma0,
> 0x00000041, // prictl
> 0x00000000, // secctl
> ((Uint32)0x70000000), // src
> (Uint32)0x80000000, // dst
> 0x00008000); // xfrcnt