Download here - CDMS
Transcript
Model 618 & 620 Adapters The DMA-to-PCI Mapping Registers translate the PCI DMA address into a physical PCI bus address. These registers must be initialized by a PCI processor to point to PCI memory. The PCI processor must also communicate to the VMEbus processor which DMA-to-PCI Mapping Registers were initialized. The VMEbus processor needs this information to form the starting remote DMA address value and to determine how long the DMA can be before it can program a DMA transfer. For information on how to program the DMA-to-PCI Mapping Registers, see section 5.6.1. 8.6.2 DMA CSRs To start a DMA transfer, the following DMA CSRs need to be programmed by a VMEbus master: DMA REGISTER Local DMA Address Remote DMA Address Local DMA Remainder Count Remote DMA Remainder Count Local DMA Packet Count Local DMA Command PROGRAMMING Load with the VMEbus address of the first location to be transferred Load bits 11-0 with A11 through A0 of the first PCI physical address to access. Load bits 23-12 with the starting DMA-to-PCI Mapping Register to use Load with the least significant 8 bits of the DMA length in bytes. This is the same as the DMA length in bytes modulo 256 Load with the same value as the Local DMA Remainder Count Register Load with the DMA transfer size in bytes divided by 256 Load with a bit mask indicating how the DMA is to be performed (write/read, block/non-block). Must be loaded twice: first, at the beginning of DMA programming, with all appropriate bit settings except the DMA Start bit (bit 7); then, again at the end of DMA programming with the same bits set as before plus the DMA Start bit. The second write starts the DMA. See figure on next page Using VMEbus Adapter Card Functions 139