DSPRelated.com
Forums

Ext.port dma on ADSP 21065l

Started by sanjana0706 June 26, 2003
Hi all
My code requires transfer of data from the adc to the ext.mem of
21065l using dma and external port.I know that I use the external
handshake mode.
So the source is my ADC and dest is the ext.mem.so of the parameter
registers
i use the external ones to index the addresses in the ext.mem...
like
segment("seg_ext1")float *ptr1;
.....
........
asm("r0=_ptr1;");
asm("dm(EIEP0)=r0;");

asm("r0=1;");
asm("dm(EMEP0)=r0;");

asm("r0Q2;");
asm("dm(ECEP0)=r0;");

Suppose if I map the adc to the external memory bank 3 ....the
question what would be the address of the adc mapped how do i know
that...(suppose the address is 0x03007fff)then to which parameter
register for indexing..
how do i simulate such tranfers...does any have a sample code of
this way of transfer...
Thanks
sanjana



On Thu, 26 Jun 2003, sanjana0706 wrote:

> Hi all
> My code requires transfer of data from the adc to the ext.mem of
> 21065l using dma and external port.I know that I use the external
> handshake mode.
> So the source is my ADC and dest is the ext.mem.so of the parameter
> registers
> i use the external ones to index the addresses in the ext.mem...
> like
> segment("seg_ext1")float *ptr1;
> .....
> ........
> asm("r0=_ptr1;");
> asm("dm(EIEP0)=r0;");
>
> asm("r0=1;");
> asm("dm(EMEP0)=r0;");
>
> asm("r0Q2;");
> asm("dm(ECEP0)=r0;");
>
> Suppose if I map the adc to the external memory bank 3 ....the
> question what would be the address of the adc mapped how do i know
> that...(suppose the address is 0x03007fff)then to which parameter
> register for indexing..
> how do i simulate such tranfers...does any have a sample code of
> this way of transfer...

I think you need to use the dma request line instead of two address
lines. I don't think the dma engine can do external to external
otherwise.

Patience, persistence, truth,
Dr. mike



DMA engine can handle external <-> external, that's
what page 6-1 of sharc user manual says.

It by sure you can't use handshake mode.Because
external mem can't give handshaking signal
to the controller.

If your ADC data directly comes to the external port
buffer, I would suggest you use handshake mode to
transfer it to the internal memory of the processor.
And then do a master mode dma to tranfer it to
external memory.

Examples of DMA master mode operations include
transfers between internal memory and external memory
and transfers from internal memory to external
devices. In both cases, the data is set up in memory
so that the processor can run the complete sequence
without interaction with other devices.

Hope that help.

Regards

Liyju
____________________________________________
Things are difficlut before it becomes easy.
--- Mike Rosing <> wrote:
> On Thu, 26 Jun 2003, sanjana0706 wrote:
>
> > Hi all
> > My code requires transfer of data from the adc to
> the ext.mem of
> > 21065l using dma and external port.I know that I
> use the external
> > handshake mode.
> > So the source is my ADC and dest is the ext.mem.so
> of the parameter
> > registers
> > i use the external ones to index the addresses in
> the ext.mem...
> > like
> > segment("seg_ext1")float *ptr1;
> > .....
> > ........
> > asm("r0=_ptr1;");
> > asm("dm(EIEP0)=r0;");
> >
> > asm("r0=1;");
> > asm("dm(EMEP0)=r0;");
> >
> > asm("r0Q2;");
> > asm("dm(ECEP0)=r0;");
> >
> > Suppose if I map the adc to the external memory
> bank 3 ....the
> > question what would be the address of the adc
> mapped how do i know
> > that...(suppose the address is 0x03007fff)then to
> which parameter
> > register for indexing..
> > how do i simulate such tranfers...does any have a
> sample code of
> > this way of transfer...
>
> I think you need to use the dma request line instead
> of two address
> lines. I don't think the dma engine can do external
> to external
> otherwise.
>
> Patience, persistence, truth,
> Dr. mike >
> _____________________________________
> Note: If you do a simple "reply" with your email
> client, only the author of this message will receive
> your answer. You need to do a "reply all" if you
> want your answer to be distributed to the entire
> group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to > To Post: Send an email to
>
> To Leave: Send an email to > Archives: http://groups.yahoo.com/group/adsp
>
> Other Groups: http://www.dsprelated.com/groups.php3 > ">http://docs.yahoo.com/info/terms/


__________________________________