PCD-8 PCI CD/CDa 8-bit DMA Interface for PCI Local Bus Computers May 15, 2007 008-01182-04
PCD-8 8-bit DMA Interface User’s Guide Copyright, Trademarks, Disclaimer The information in this document is subject to change without notice and does not represent a commitment on the part of Engineering Design Team, Inc. The software described in this document is furnished under a license agreement or nondisclosure agreement. The software may be used or copied only in accordance with the terms of the agreement. Engineering Design Team, Inc.
Contents PCD8 8-bit DMA Interface ............................................................................................................................ 1 Related Documents ............................................................................................................................. 1 About the DMA Interface .............................................................................................................................. 1 About the Software and Firmware ....................
PCD8 8-bit DMA Interface The PCD8 8-bit DMA Interface implements a high-speed DMA channel between an external device and the PCI Bus host computer for the PCI SS/GS or PCI CD/CDa main boards. This document describes modifications made to the main board firmware to implement this eight-bit bidirectional parallel interface. To use this interface, the PCI SS/GS main board requires an RS-422, LVDS, or ECL mezzanine board; the PCI CD/CDa comes in either LVDS or RS-422 versions and requires no mezzanine board.
PCD8 8-bit DMA Interface User’s Guide About the Software and Firmware • The PCI FPGA communicates with the host computer over the PCI Bus. It implements the DMA engine, which transfers data between the board and the host computer, and loads its firmware on powerup from flash ROM located on the main board. • The UI FPGA transfers data between the user device and the PCI FPGA; in some instances, it also sends the data to the mezzanine board.
About the Software and Firmware PCD8 8-bit DMA Interface User’s Guide Compatible single-channel Xilinx configuration files must be loaded in the PCI Xilinx on the main boards. These are: cda1.bit PCI Xilinx configuration file for the PCI CDa. pcd20.bit PCI Xilinx configuration file for PCI CD-20 boards. pcd60.bit PCI Xilinx configuration file for PCI CD-60 boards. pciss1.bit Single-channel PCI Xilinx configuration file for PCI SS boards. pcigs1.
PCD8 8-bit DMA Interface User’s Guide About the Software and Firmware Software Initialization Files Software initialization files (having the extension .cfg) are editable text files that run like scripts to configure EDT boards so that they are ready to perform DMA. The commands in a software initialization file are defined in a C application named initpcd. When you invoke initpcd, you specify which software initialization file to use with the -f flag.
Configuring the PCD8 simple_write PCD8 8-bit DMA Interface User’s Guide Performs DMA output without using ring buffers. Data is therefore subject to interruptions, depending on system performance. simple_getdata Serves as an example of a variety of DMA-related operations, including reading the data from the connector interface and writing it to a file, as well as measuring input rate.
PCD8 8-bit DMA Interface User’s Guide Configuring the PCD8 Before loading the UI FPGA, however, you may wish to check the firmware in the PCI FPGA to ensure that it is correct and up-to-date. Checking the PCI FPGA Firmware When upgrading to a new device driver, or switching to a FPGA configuration file with special functionality, you may also need to reprogram the PCI interface flash PROM using pciload. The following procedure applies to standard firmware only.
Configuring the PCD8 PCD8 8-bit DMA Interface User’s Guide For a list of all pciload options, enter: pciload --help Loading the UI FPGA Firmware and Configuring the PCD8 The utility initpcd loads the UI FPGA configuration files, programs the registers, sets the clocks (if necessary), and gets the PCD8 mezzanine board ready to perform DMA. This utility takes, as an argument, a software initialization file, and then automatically runs the pertinent commands.
PCD8 8-bit DMA Interface User’s Guide Connector Pinouts Connector Pinouts Table 1 describes the connection from the PCI CD/CDa board to the cable. Table 1. PCI CD (pcd8_src.bit), PCI CDa (pcda8.
Connector Pinouts PCD8 8-bit DMA Interface User’s Guide Table 2 describes the connection from the PCI SS/GS board to the cable. Table 2. PCI SS/GS (pcda8.
PCD8 8-bit DMA Interface User’s Guide Register Modifications Register Modifications The registers are as described in the PCI CD/CDa User’s Guide except for the changes described below. Command Register In this register, bit 2 is different from its implementation in the PCI CD/CDa firmware. Size 8-bit I/O read-write Address 0x00 Access PCD_CMD Bit PCD_ Description 4–7 STAT_INT_EN A value of one enables the corresponding STAT bit to cause an interrupt when it is asserted.
Register Modifications PCD8 8-bit DMA Interface User’s Guide Interface Configuration Register In this register, bit 2 is different from its implementation in the PCI CD/CDa firmware. Size 8-bit I/O read-write Address 0x0F Access PCD_CONFIG Bit PCD_ Description 7 SETIDV Set input data valid (used for debugging). 6 PIOEN Enables programmed I/O. A value of 1 translates DMA channel buffers and enables the Programmed I/O Low Register and the Programmed I/O High Register.