| Electronic Components Datasheet Search |
|
MAC7200 Datasheet(PDF) 316 Page - Freescale Semiconductor, Inc |
|
|
|||||||||||||||||||||||||||||
MAC7200 Datasheet(HTML) 316 Page - Freescale Semiconductor, Inc |
|
316 / 976 page ![]() The SPP DMA Controller Module (SPP_DMA2) MAC7200 Microcontroller Family Reference Manual, Rev. 2 238 Freescale Semiconductor 6. dma_engine writes: TCD.saddr = 0x1010, TCD.daddr = 0x2010, TCD.citer = 1, 7. dma_engine writes: TCD.active = 0, 8. the channel retires -> one iteration of the major loop The DMA goes idle or services next channel. 9. second hardware (ipd_req) requests channel service, 10. the channel is selected by arbitration for servicing, 11. dma_engine writes: TCD.done = 0, TCD.start = 0, TCD.active = 1, 12. dma_engine reads: channel TCD data from local memory to internal register file, 13. the source to destination transfers are executed as follows: a) read_byte(0x1010), read_byte(0x1011), read_byte(0x1012), read_byte(0x1013), b) write_word(0x2010) -> first iteration of the minor loop c) read_byte(0x1014), read_byte(0x1015), read_byte(0x1016), read_byte(0x1017), d) write_word(0x2014) -> second iteration of the minor loop e) read_byte(0x1018), read_byte(0x1019), read_byte(0x101a), read_byte(0x101b), f) write_word(0x2018) -> third iteration of the minor loop g) read_byte(0x101c), read_byte(0x101d), read_byte(0x101e), read_byte(0x101f), h) write_word(0x201c) -> last iteration of the minor loop -> major loop complete 14. dma_engine writes: TCD.saddr = 0x1000, TCD.daddr = 0x2000, TCD.citer = 2 (TCD.biter), 15. dma_engine writes: TCD.active = 0, TCD.done = 1, DMAINT[n] = 1, 16. the channel retires -> major loop complete The DMAgoes idle or services the next channel. 12.2.6.5 TCD Status 12.2.6.5.1 Minor loop complete There are two methods to test for minor loop completion when using software initiated service requests. The first method is to read the TCD.citer field and test for a change. Another method may be extracted from the sequence shown below. The second method is to test the TCD.start bit AND the TCD.active bit. The minor loop complete condition is indicated by both bits reading zero after the TCD.start was written to a one. Polling the TCD.active bit may be inconclusive because the active status may be missed if the channel execution is short in duration. The TCD status bits execute the following sequence for a software activated channel: 1. TCD.start = 1, TCD.active = 0, TCD.done = 0 (channel service request via software) 2. TCD.start = 0, TCD.active = 1, TCD.done = 0 (channel is executing) 3. TCD.start = 0, TCD.active = 0, TCD.done = 0 (channel has completed the minor loop and is idle) or 4. TCD.start = 0, TCD.active = 0, TCD.done = 1 (channel has completed the major loop and is idle) |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |