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 |
|
The problem about C6203 XBus
Started by ●October 17, 2003
Reply by ●October 17, 20032003-10-17
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 |