Hi All,
We have an issue in EDMA3 Data transfer from EMIF address space. We are getting only around 8MB per sec.
We need to improve at least 3 times (23MBps) for our requirement. Capture some 8k samples on one shot from ADC.
We don’t need to repeat this to capture continuous data.
Processor: Davinci DM6467
Buss Interfaced: EMIF
Transfer Between: EMIF to DDR
Device Interfaced: LTC 2249 (14-bit ADC)
As we have only one device interfaced to EMIF we connected the ADC chip enable logic from the EMIF RD and CS3.
Please suggest how I can improve the capture rate.
Regards,
Satya.
result = davinci_request_dma(EDMA_DMA_CHANNEL_ANY, "A-SYNC_DMA0",callback1, NULL,&dma_ch, &tcc, event_queue);
davinci_set_dma_src_params(dma_ch, (unsigned long)(dmaphyssrc1),INCR, W8BIT);
davinci_set_dma_dest_params(dma_ch, (unsigned long)(dmaphysdest1),INCR, W8BIT);
davinci_set_dma_src_index(dma_ch, srcbidx, srccidx);
davinci_set_dma_dest_index(dma_ch, desbidx, descidx);
/* A Sync Transfer Mode */
davinci_set_dma_transfer_params(dma_ch, acnt, bcnt, ccnt, BRCnt, ASYNC);
/* Enable the Interrupts on Channel 1 */
davinci_get_dma_params(dma_ch, ¶m_set);
param_set.opt |= (1 << ITCINTEN_SHIFT);
param_set.opt |= (1 << TCINTEN_SHIFT);
davinci_set_dma_params(dma_ch, ¶m_set);
result = davinci_start_dma(dma_ch);