Hi Colleagues,
Is there anybody who used ATXmega E-series EDMA? I'd like to ask some questions regarding EDMA settings? Best regards... robiw
ATXmega E-series EDMA - settings.
Are you sure there aren't app notes for the new features like Events and DMA and so on?
Usually when Atmel introduce a new peripheral feature they produce notes to show how it could be used.
Another approach is to see if there's anything in "Start". It may be able to show you some DMA using example code.
Hi Clawson.
In fact I read some datasheets regarding EDMA but they are not so clear like those for simple Mega/Tiny. I have some doubts regarding EDMA settings. I'd like to have automatic ADC transfer from ADC.CH0 register to array in memory. robiw
I didn't find any notes or examples for EDMA, only for DMA but there are some important differences. robiw
I didn't find any notes or examples for EDMA
On the Product Page:
https://www.microchip.com/wwwproducts/en/ATXMEGA32E5 (you didn't say a part, so I picked one at random)
Go to the 'Documents' Tab, then:
AN_8046 - AVR1304: Using the XMEGA DMA Controller
AN_8071 - AVR1001: Getting Started With the XMEGA Event System
do they help ?
EDIT
also
http://asf.atmel.com/docs/latest/xmega.drivers.edma.example_2.xmega_e5_xplained/html/modules.html
https://www.avrfreaks.net/forum/xmega-e-series-edma-and-dac
Hi,
He he, I read them all. Whilst event system is nearly the same like in others but the EDMA i much more diffrent. No apps from Atmel...robiw
It would be helpful if you had said what you'd read - then you wouldn't just get repeats of stuff you'd already seen!
Have you seen the ones I added in the EDIT ?
I read them all except " https://www.avrfreaks.net/forum/xmega-e-series-edma-and-dac". It might be helpful. In fact I have some doubts if should I use peripheral or standard mode for EDMA and where are source/dest addresses among all registers. r
Is the EDMA similar to any of the SAM chips ... ?
Sorry, I don't know if it is...r
...after a while... I found it very usefull viewing Atmel Start...r
Hi,
I'd like to have the EDMA transfer from ADC CH0 to memory which is triggered by every ADC conversion complete. I have prepared settings as follows. Could you check them?
//Enable and configure DMA EDMA.CTRL = EDMA_ENABLE_bm| //EDMA Enabled EDMA_CHMODE_STD02_gc| //Channels 0 and 2 in standard configuration EDMA_DBUFMODE_DISABLE_gc| //No double buffer enabled EDMA_PRIMODE_RR0123_gc; //Round robin on all channels EDMA.CH0.ADDR = (uint16_t) &ADCA.CH0RES; //Channel Source Address for Standard Channels EDMA.CH0.ADDRCTRL = //Source Address Control for Standard Ch. EDMA_CH_RELOAD_BURST_gc| //Reload at end of each burst transfer EDMA_CH_DIR_INC_gc; //Increment EDMA.CH0.DESTADDR = (uint16_t) Buffer; //Channel Destination Address for Standard Channels EDMA.CH0.DESTADDRCTRL = //Destination Address Control for Standard Channels Only EDMA_CH_DESTRELOAD_TRANSACTION_gc| //Reload at end of each transaction EDMA_CH_DESTDIR_INC_gc; //Increment EDMA.CH0.TRFCNT = sizeof(Buffer); //Channel Block Transfer Count for Standard Ch. EDMA.CH0.TRIGSRC = EDMA_CH_TRIGSRC_ADCA_CH0_gc; //ADCA CH0 as trigger EDMA.CH0.CTRLA = EDMA_CH_SINGLE_bm| //Channel Single Shot Data Transfer EDMA_CH_BURSTLEN_bm; //Channel 2-bytes Burst Length EDMA.CH0.CTRLA |= EDMA_CH_ENABLE_bm; //Channel Enabled; EDMA.CH0.CTRLB = EDMA_CH_TRNIF_bm|EDMA_CH_TRNINTLVL_HI_gc; //High level Interrupt
robiw