2017-08-29 10:15 AM
Hello,
I am trying to get eMIOS channel to capture an input in SAIC mode (Falling Edge) then trigger DMA channel after each capture in order for the DMA to copy the time stamp from the UC register A to a data buffer.
Note: time stamps are taken from Counter Bus A which is driven by UC23, the counter is working and the SAIC mode is also working.
My problem is that eMIOS does not trigger DMA at all, i am only able to trigger DMA manually through SSRT register (DMA enable bit is set in the eMIOS UC25 & UC26 control register).
Target: SPC58EC80E3
Target Application: DMA Triggered by eMIOS Channels
eMIOS link with eDMA:
eMIOS_0 ... Unified_Channel_25 ... eDMA Channel 0
eMIOS_0 ...
Unified_Channel_26 ... eDMA Channel 1
Kindly advice of the possible reasons for the failure of eMIOS to trigger the DMA copy.
Best Regards,
Islam Sehsah
#edma #spc58ec80e3 #saic #spc58 #dma #emios2017-08-30 05:56 AM
Hello Islam ,
I am checking with experts.
Did you set correctly the DMA Interrupt ?
There are some useful examples in SPC5Studio even for SPC56,SPC57 ... (Cf DMA Test Application)
Best regards
Erwan
2017-08-30 08:04 AM
Hello Erwan,
The DMA triggering is now working fine, the problem was that the BCTU was not enabled so the trigger was not routed from eMIOS to DMA, as soon as i turned the BCTU on the triggering worked.
Now i have another issue, i need to reload the counter bus with zero value after each capture, my application is capturing falling edges in a channel (UC25) and at each capture its taking time stamps from Counter Bus A into the DMA destination buffer, but i need this time stamps to be reset after each capture, can i do this in SAIC mode or is it available in other modes or is it not available at all to reload Counter Bus A with Zero after the capture ?
2017-09-01 07:56 AM
Hello Islam,
it is not possible to automatically reset the counter when a rising/falling edge occurs. You have to manage the counter via software.
Best Regards,
Luigi