|
EDT PCI interfaces are high-performance, high-speed direct memory access (DMA) boards, and the devices they connect to range from low to very high speed/high bandwidth. As such, they can demand a little or a lot from the host computer in terms of memory speed, display performance, and most importantly, PCI Bus bandwidth. Because of this, it is important that the host system meets the system requirements outlined on the EDT data sheets.
Because of the wide range of devices and applications, the actual resources required can vary greatly. In many cases, a modern Intel or AMD computer that meets the basic system requirements will be more than adequate. But in some situations, the device being connected to and the demands of the application dictate a system that's tuned to the task at hand.
When setting out to get the best system for a given application, people often go straight for the one with the most CPU horsepower. But for high-bandwidth DMA boards, CPU speed is not necessarily the best gauge, since DMA is virtually independent of the CPU, so PCI bus bandwidth is the most common bottleneck. That means you need to pay as much attention to PCI bus specifcations as to CPU horsepower when choosing a system for your EDT board application. More on that below.
Devices connected to EDT PCI interface boards typically send data at a fixed rate, and EDT boards are capable of streaming data to host memory at device speeds of up to ~100MB/sec (33Mhz boards), or 200+ MB/sec (66 MHz boards in a 66Mhz or faster PCI slot), or faster with PCI Express boards. When connecting to a device that reads or writes data at speeds of around 80 MB/sec or less, a single standard PCI bus system is generally adequate, assuming there are no other bus "hogs", such as SCSI controllers or PCI video boards sharing the bus with the EDT board. But when approaching bandwidth limits, particularly in conjunction with other PCI I/O devices, the EDT board can saturate the host computer's PCI bus.
When this happens, data will be dropped from the EDT's DMA stream, and timeouts (data gets lost and the read call times out after waiting for a predetermined period for all of the requested data to arrive) will occur. For these reasons, EDT recommends a system with at least one 66Mhz or faster PCI or PCI-X bus, and preferably multiple busses.
Higher-speed, dual PCI bus systems are not generally a feature in desktop computers, so it's usually necessary to go with a workstation or server that has some 66Mhz or faster slots. Unfortunately, determining whether a given computer even has dual PCI busses is not always straightforward. But with many systems it is possible to infer indirectly. If the manufacturer's spec sheet does NOT specify the clock speed or number of busses (not slots) in the computer, then its a pretty safe bet that all slots are on a single, standard 33Mhz bus. Systems that have different speed slots -- say, one 33Mhz conventional PCI slot and one or more 100 MHz PCI-X slots are guaranteed to have separate PCI busses, since all slots on a given bus need to run at the same speed. It is because of this dual bus "side effect" of PCI + PCI-X computers that EDT recommends a system with at least one high-speed PCI or PCI-X bus for high-demand applications, even if the EDT board is a 33MHz device. If PCI bus bandwidth is an issue due to bus contention with another PCI bus "hog", then a system with multiple busses will likely solve the problem since it allows separation of the EDT interface's PCI data stream from other PCI I/O data traffic. Putting two or more EDT PCI boards in the same system will result in the same bandwidth sharing issues, so the dual-bus solution would apply in that case as well.
EDT PCI boards designed before 2001 run at 33Mhz. All newer boards are 66Mhz or faster. See the specifications on the data sheet for your product to find out its bus clock speed. 66Mhz boards will run in 33Mhz slots but will only achieve their optimal performance in a 66Mhz or faster PCI or PCI-X slot. Note that the presence of a 33Mhz board in another slot on the same bus will throttle the whole bus back to 33Mhz.
To determine whether a standard bus will work, you should calculate the total data rate from the device or devices. When calculating bandwidth, be sure to count bytes, not data words or pixels. For example a CCD camera with a 20MHz pixel clock, 10 bits per pixel and 2 taps is actually sending out 4 bytes of data for every clock cycle, or 20 x 2 x 2 = 80 megabytes per second.
A 33Mhz board (or a 66Mhz board in a 33Mhz bus) can transfer data reliably up to around 90 megabytes per second, so assuming no other significant traffic on the bus, the above example would be within most systems' capabilities. However there wouldn't be much room for other bus activity before encountering bandwidth saturation.
Things get tougher when you have other significant bus activity. For example, many imaging applications require simultaneous saving of images to a SCSI Raid disk. If the SCSI interface is on the same bus as the EDT board, you'll saturate the bus. Using a system with 2 PCI buses, and isolating the EDT board on its own bus is the typical solution in this situation.
Another limitation that sometimes shows up relates to OS system interrupts. Each buffer (or frame, in the case of a camera) generates an interrupt to tell the software when the buffer is full, and the OS's interrupt scheduler needs to be able keep up. If it doesn't, some buffers (frames) may be missed. The achievable interrupt rate is highly dependent on OS as well as other interrupt traffic (mouse movement interrupts for example) but maximum reliable rates for a single EDT board/device are typically in the 1000-2000 KHz range. If your device / application exceeds this rate, you can work around the problem by either increasing the amount of data per buffer by, for example, grabbing two images frames per buffer in the case of a digital video board. Other workarounds exist; contact EDT if you need help with this.
PCI Express is the new standard for high-bandwidth data transfer. EDT has 4 and 8 lane boards -- see the individual datasheets for details.
As with PCI, PCI Express speeds are highly dependent on the motherboard and chipset; to date the systems tested measure out to a maximum of 800MB-1.3GB/sec with an 8-lane LX board, 800MB-1.1GB/sec with an 8-lane DV board.
The PCI Bus sharing issues discussed above for PCI do not apply on PCI Express.
(Note that EDT's PCIe4 DV C-link uses 32-bit transfers, limiting its total maximum throughput to approximately 220 MB/sec.)
Some system manufacturers (e.g. Dell) dedicate one or more PCI Express slots to display graphics use only on some of their systems, and our PCI Express boards will not work in these slots. These slots are typically labeled "graphics" in the system specifications, but you should contact your motherboard manufacturer to find out specifically which slots are available for general purpose I/O.
EDT 4-lane boards will fit in 1, 4, 8 or 16 lane slots. EDT 8-lane boards will fit in 1, 8, or 16-lane slots. In 8 or 16 lane slots the boards will work at their rated bandwidth. In 1-lane slots the bandwidth will be reduced to roughly 1/8th the maximum.
8-lane boards will not fit into 4-lane slots that follow the PCI Express specification, due to the location of the edge connector dividers. To get around this, some system manufacturers provide slots with an open back end of the slot, and EDT 8-lane boards should work in these slots. Another variation is to provide an 8 or 16 lane slot but wire it as 4-lane, thus working around the physical differences and allowing boards of different # of lanes to electrically negotiate down to the lowest common denominator. In any case, users should verify any non-standard configuration.
|