Programming The Mcdma Controller; Reference Information; Technical Support Assistance - Lattice Semiconductor ispLever Core Multi-Channel DMA Controller User Manual

Table of Contents

Advertisement

Lattice Semiconductor

Programming the MCDMA Controller

Programming the core to achieve the desired functionality is very similar in both the 8237 and non-8237 modes.
The differences lie in the address map and the name of the registers
For the 8237 mode, the steps to program the core are:
• Disable the controller through the command register
• Program the Mode Register
– Select the channel to be programmed
– Set the features on the channel to programmed, such as transfer mode, read/write/verify transfer, address
increment/decrement, etc.
• Write into the Address Registers and Word Count Register
– Set the base source address register
– Set the number of transfer to be performed in the Word Count Registers.
• Enable the controller
For the non-8237 mode, the steps to program the core are:
• Disable the controller
• Set Input ain
– The first 3 bits of ain, ain[2:0], selects which registered to be programmed. The rest of the bits select
which channel to be programmed.
• Program the Mode and Channel control registers of all the channels
• Write into the Address registers and Word Count register
• Enable the controller
The core remains in the idle state (SI) as long as DMA transfers are not requested. While in state SI, the dreq sig-
nals are sampled. When an unmasked DMA request is presented, the core enters the active state. The request can
be either a software or hardware request.
Although the internal registers can be programmed in state S0, or before the hlda signal is asserted, it is a good
practice to program the internal registers only while the core is in the Idle state (SI). The functionality of the control-
ler is not guaranteed to be deterministic if the internal registers are accessed during an active DMA cycle.

Reference Information

• ispLEVER Software User Manual, Lattice Semiconductor Corporation
• 8237A High Performance Programmable DMA Controller, Intel Corporation, September 1993.

Technical Support Assistance

Hotline: 1-800-LATTICE (North America)
+1-503-268-8001 (Outside North America)
e-mail:
techsupport@latticesemi.com
Internet: www.latticesemi.com
Multi-Channel DMA Controller User's Guide
23

Advertisement

Table of Contents
loading

Table of Contents