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 |
|
Ext.port dma on ADSP 21065l
Started by ●June 26, 2003
Reply by ●June 26, 20032003-06-26
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 |
|
Reply by ●June 27, 20032003-06-27
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/ __________________________________ |