User Tools

Site Tools


x68000:dmac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
x68000:dmac [2017/09/11 09:53] – added DCR register neko68kx68000:dmac [2019/08/27 20:45] (current) – external edit 127.0.0.1
Line 19: Line 19:
 |+0x02|1.w| |---| |+0x02|1.w| |---|
 |+0x04|1.b|R/W|[[dmac#dcr|DCR]] - Device Control Register| |+0x04|1.b|R/W|[[dmac#dcr|DCR]] - Device Control Register|
-|+0x05|1.b|R/W|OCR - Operation Control Register| +|+0x05|1.b|R/W|[[dmac#ocr|OCR]] - Operation Control Register| 
-|+0x06|1.b|R/W|SCR - Sequence Control Register| +|+0x06|1.b|R/W|[[dmac#scr|SCR]] - Sequence Control Register| 
-|+0x07|1.b|R/W|CCR - Channel Control Register|+|+0x07|1.b|R/W|[[dmac#ccr|CCR]] - Channel Control Register|
 |+0x08|1.w| |---| |+0x08|1.w| |---|
-|+0x0A|1.w|R/W|MTC - Memory Transfer Control| +|+0x0A|1.w|R/W|[[dmac#mtc|MTC]] - Memory Transfer Control| 
-|+0x0C|1.l|R/W|MAR - Memory Address Register|+|+0x0C|1.l|R/W|[[dmac#mar|MAR]] - Memory Address Register|
 |+0x10|1.l| |---| |+0x10|1.l| |---|
-|+0x14|1.l|R/W|DAR - Device Address Register|+|+0x14|1.l|R/W|[[dmac#dar|DAR]] - Device Address Register|
 |+0x18|1.w| |---| |+0x18|1.w| |---|
-|+0x1A|1.w|R/W|BTC - Base Transfer Counter| +|+0x1A|1.w|R/W|[[dmac#btc|BTC]] - Base Transfer Counter| 
-|+0x1C|1.l|R/W|BAR - Base Address Register|+|+0x1C|1.l|R/W|[[dmac#bar|BAR]] - Base Address Register|
 |+0x20|1.l| |---| |+0x20|1.l| |---|
 |+0x24|1.b| |---| |+0x24|1.b| |---|
-|+0x25|1.b|R/W|NIV - Normal Interrupt Vector|+|+0x25|1.b|R/W|[[dmac#niv|NIV]] - Normal Interrupt Vector|
 |+0x26|1.b| |---| |+0x26|1.b| |---|
-|+0x27|1.b|R/W|EIV - Error Interrupt Vector|+|+0x27|1.b|R/W|[[dmac#eiv|EIV]] - Error Interrupt Vector|
 |+0x28|1.b| |---| |+0x28|1.b| |---|
-|+0x29|1.b|R/W|MFC - Memory Function Code|+|+0x29|1.b|R/W|[[dmac#mfc|MFC]] - Memory Function Code|
 |+0x2A|1.w| |---| |+0x2A|1.w| |---|
 |+0x2C|1.b| |---| |+0x2C|1.b| |---|
-|+0x2D|1.b|R/W|CPR - Channel Priority Register|+|+0x2D|1.b|R/W|[[dmac#cpr|CPR]] - Channel Priority Register|
 |+0x2E|1.w| |---| |+0x2E|1.w| |---|
 |+0x30|1.b| |---| |+0x30|1.b| |---|
-|+0x31|1.b|R/W|DFC - Device Function Code|+|+0x31|1.b|R/W|[[dmac#dfc|DFC]] - Device Function Code|
 |+0x32|3.w| |---| |+0x32|3.w| |---|
 |+0x38|1.b| |---| |+0x38|1.b| |---|
-|+0x39|1.b|R/W|BFC - Base Function Code|+|+0x39|1.b|R/W|[[dmac#bfc|BFC]] - Base Function Code|
 |+0x3A|1.l| |---| |+0x3A|1.l| |---|
 |+0x3E|1.b| |---| |+0x3E|1.b| |---|
-|+0x3F|1.b|R/W|GCR - General Control Register|+|+0x3F|1.b|R/W|[[dmac#gcr|GCR]] - General Control Register|
  
 ===== Register Descriptions ===== ===== Register Descriptions =====
Line 100: Line 100:
 |  2  |0| |  2  |0|
 |  1~0  |PCL - Peripheral control line \\ %00: Status input \\ %01: Status input with interrupt \\ %10: 1/8 pulse start \\ %11: ABORT input (forced termination)| |  1~0  |PCL - Peripheral control line \\ %00: Status input \\ %01: Status input with interrupt \\ %10: 1/8 pulse start \\ %11: ABORT input (forced termination)|
 +
 +---
 +
 +OCR<BOOKMARK:ocr> - Operation Control Register (+0x05)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  DIR  |  BIT  |  SIZE  ||  CHAIN  ||  REQG  ||
 +
 +^Bits^Description^
 +|  7  |DIR - Direction \\ %0: Memory->Device (MAR->DAR) \\ %1: Device->Memory (DAR->MAR)|
 +|  8  |BTD - Multiple block transfer DONE \\ %0: Normal operation \\ %1: If there is a DONE signal, forcibly transfer the next block.|
 +|  5~4  |SIZE - Operand size \\ %00: Byte (8-bits) \\ %01: Word (16-bits) \\ %10: Longword (32-bits) \\ %11: No pack size. Port size 8-bits. Byte (8-bits) transfer|
 +|  3~2  |CHAIN - Chaining mode \\ %00: No chain \\ %01: Unused \\ $10: Array chaining \\ %11: Link array chaining|
 +|  1~0  |REQG - Request generation method \\ %00: Speed limit auto request \\ %01: Max speed auto request \\ %10: External transfer request (by REQ line) \\ %11: Auto request first transfer, external request from second transfer onward.|
 +
 +Note: Channel #0, #1, and #3 should be used with external transfer request.
 +
 +---
 +
 +SCR<BOOKMARK:scr> - Sequence Control Register (+0x06)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|0||||MAC||DAC||
 +
 +^Bits^Description^
 +|  7~4  |0|
 +|  3~2  |MAC - Memory address count \\ %00: Do not change memory address register \\ %01: Increment memory address register each time transfer is done \\ %10: Decrement memory address register each time transfer is done \\ %11: Unused|
 +|  1~0  |DAC - Device address count \\ %00: Do not change device address register \\ %01: Increment device address register each time transfer is done \\ %10: Decrement device address register each time transfer is done \\ %11: Unused|
 +
 +---
 +
 +CCR<BOOKMARK:ccr> - Channel Control Register (+0x07)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  STR  |  CNT  |  HLT  |  SAB  |  INT  |  0  |||
 +
 +^Bits^Description^
 +|  7  |STR - Start operation \\ %1: Start operation|
 +|  6  |CNT - Continue operation \\ %0: No continuous operation \\ %1: Continuous operation|
 +|  5  |HLT - Halt operation \\ %1: Pause channel|
 +|  4  |SAB - Software abort \\ %1: Stop channel|
 +|  3  |INT - Interrupt enable \\ %0: Enable interrupt \\ %1: Disable interrupt|
 +|  2~0  |0| 
 +
 +---
 +
 +MTC<BOOKMARK:mtc> - Memory Transfer Counter (+0x0A) \\
 +Number of transfer operands.
 +
 +---
 +
 +MAR<BOOKMARK:mar> - Memory Address Register (+0x0C) \\
 +Start memory transfer address.
 +
 +---
 +
 +DAR<BOOKMARK:DAR> - Device Address Register (+0x14) \\
 +Start device transfer adddress.
 +
 +---
 +
 +BTC<BOOKMARK:BTC> - Base Transfer Counter (+0x1A) \\
 +Number of transfer blocks (the number of transfer information tables) in array chain mode.
 +
 +---
 +
 +BAR<BOOKMARK:BAR> - Base Address Register (+0x1C) \\
 +Start address of the transfer information table in array chain/link array chain mode.
 +
 +---
 +
 +NIC<BOOKMARK:niv> - Normal Interrupt Vector (+0x25) \\
 +Vector number to be used for interrupt generated when CSR ERR is %0.
 +
 +---
 +
 +EIV<BOOKMARK:eiv> - Error Interrupt Vector (+0x27) \\
 +Vector number to be used for the interrupt generated when CSR ERR is %1.
 +
 +---
 +
 +MFC<BOOKMARK:mfc> - Memory Function Code (+0x29)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  |||||  FC2  |  FC1  |  FC0  |
 +
 +^Bits^Description^
 +|  7~3  |0|
 +|  2~0  |Memory function code \\ %000: Unused \\ %001: User data \\ %010: User program \\ %011: Unused \\ %100: Unused \\ %101: Supervisor data \\ %110: Supervisor program \\ %111: Interrupt acknowledge|
 +
 +---
 +
 +CPR<BOOKMARK:cpr> - Channel Priority Register (+0x2D)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  ||||||  CP  ||
 +
 +^Bits^Description^
 +|  7~2  |0|
 +|  1~0  |CP - Channel priority \\ %00: Highest priority \\ %01: Second highest priority \\ %10: Third highest priority \\ %11: Lowest priority|
 +
 +---
 +
 +DFC<BOOKMARK:DFC> - Device Function Code (+0x31)
 +Same as MFC.
 +
 +---
 +
 +BFC<BOOKMARK:BFC> - Base Function Code (+0x39)
 +Same as MFC.
 +
 +---
 +
 +GCR<BOOKMARK:GCR> - General Control Register (+0x3F)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  ||||  BT  ||  BR  ||
 +
 +^Bits^Description^
 +|  7~4  |0|
 +|  3~2  |BT - Burst time \\ Number of DMA clock cycles per burst. \\ %00: 16 clocks \\ %01: 32 clocks \\ %10: 64 clocks \\ %11: 129 clocks|
 +|  1~0  |BR - Bandwidth threshold (band occupancy) \\ %00: 50% \\ %01: 25% \\ %10: 12.5%  \\ %11: 6.25% \\ Note: Only affects channels set to limited speed auto request mode|
 +
 +
 +
 +
x68000/dmac.1505087588.txt.gz · Last modified: 2019/08/27 20:44 (external edit)