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

Industry's highest performing at the lowest power DSPs now as low as $5.00*
Start development today!
*volume pricing for 10ku

Discussion Groups

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | TMS320C6x | DMA mode transfer on the 6201

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

  

Post a new Thread

DMA mode transfer on the 6201 - Flavio Plos - Oct 14 10:06:00 2002

hi everyone,

I need to have same suggestion about a tranfer from the Emif to the internal
data Ram througt a DMA channel. Actually, I have to tranfer a little extern FIFO
of samples connected to the Emif bus interface into the on-chip data memory of
the 6201 DSP, after that I'm going to perform a digital filtering.
Since the input transfer buffer (FIFO) is narrow (deep only six elements), and I
want that the CPU operate on a more larger buffer of samples, I need to put the
input samples into a countiguous buffer before precessing them (I think a
circular buffer would be too small !!). I' ve immediately thought about the
burst tranfer mode of a DMA channel with the option of auto initialization mode;
the truth of the matter is that I won't use the CPU to supply the changed reload
values every block tranfer .
Does anyone know if it's possible to configure the tranfer DMA that does it
whitout the intervention of the CPU !
At least, how do I manage the data memory so that ther's no contention between
the CPU and DMA. Thanks!



______________________________
Start your Android Ice Cream Sandwich development on TI's AM35x Sitara ARM Cortex-A8 processor today.



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

Re: DMA mode transfer on the 6201 - Phil Alder - Oct 14 13:38:00 2002

Flavio Plos schrieb:

> hi everyone,
>
> I need to have same suggestion about a tranfer from the Emif to the internal
data Ram througt a DMA channel.
> Actually, I have to tranfer a little extern FIFO of samples connected to the
Emif bus interface into the on-chip
> data memory of the 6201 DSP, after that I'm going to perform a digital
filtering.
> Since the input transfer buffer (FIFO) is narrow (deep only six elements), and
I want that the CPU operate on
> a more larger buffer of samples, I need to put the input samples into a
countiguous buffer before precessing them
> (I think a circular buffer would be too small !!). I' ve immediately thought
about the burst tranfer mode of a DMA
> channel with the option of auto initialization mode; the truth of the matter
is that I won't use the CPU to supply the
> changed reload values every block tranfer .
> Does anyone know if it's possible to configure the tranfer DMA that does it
whitout the intervention of the CPU !
> At least, how do I manage the data memory so that ther's no contention between
the CPU and DMA.
>
> Thanks!

to avoid contention between CPU and DMA, let the DMA issue an interrupt when it
completes the frame i.e. after
6 elements. in the ISR, you can process the data or set a control flag for the
application. alternatively, the CPU could
poll for the DMA transfer complete flag (somewhere in the DMA control register).

for transferring multiple frames, you can re-program reload registers before the
next transfer is kickstarted
or even while the transfer is running (as long as reload register access is
finished before DMA re-uses them).
the C6x1x EDMA features automatic linking of reload parameter sets such that the
EDMA re-programs itself
whithout CPU intervention. on C6x0x you can use the 2 reloads alternating and
have to live with an ISR:

refer to SPRU190 for more information on C6x DMA.
Rgds. Phil
--
Dipl.-Inf.
Phil Alder - Field Application Engineer
------------------------------------------------------------------
DSPecialists GmbH
Rotherstr. 22
10245 Berlin, Germany http://www.DSPecialists.de
------------------------------------------------------------------
DSPecialists - Making the impossible work!


______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



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