Supported Hardware

To record behavioral and neuronal response data during an experiment, and to control the presentation of visual targets and other stimuli, Maestro must interact with a number of different peripheral devices installed in the host computer. A data acquisition board is obviously essential, and a timestamping digital I/O device is needed to record spike times and to control a number of auxiliary "latched" digital devices. Other devices drive the various target stimulus platforms supported by Maestro. In this section we discuss the program's current hardware requirements, the recommended hardware configuration, and a list of alternative legacy boards that are still supported in version 3.x (but not in 4.x).

Functional requirements

    • Analog input (AI). An AI device is a required element in any Maestro installation. Eye and head movement signals and neurophysiological response data are recorded by this device. The device must provide 16 channels at 12-bit or 16-bit resolution. Maestro configures all channels (gain, polarity, voltage reference settings) in non-referenced, single-ended (NRSE) mode to encode a bipolar voltage range of +/-10V from a floating signal source. The AI device must be capable of scanning all 16 channels at 1KHz while simultaneously scanning AI<15> at 25KHz (for optional high-resolution recording of the extracellular electrode voltage trace). If the device uses a single input amplifier time-multiplexed among the scanned channels (a typical DAQ design), it must sample all 16 inputs during the first 100µs of each 1-ms scan period. The idea here is to sample all 16 input signals as simultaneously as possible. The device should provide a FIFO for storing sampled data until it is polled by Maestro, and it must be able to generate an interrupt at the beginning of every scan epoch.

    • Analog output (AO). As of Version 3.0, the AO device is only needed to control the servo driving the rotating turntable on which the animal sits. If the rig lacks a turntable, this device need not be present. The device must have at least one 12- or 16-bit output, preferably more. It must support asynchronous, "immediate-mode" updates of individual output channels once per millisecond.

    • Digital IO with event timestamping (DIO). The DIO device is another required element in any Maestro installation. It must provide a minimum of 16 inputs and 16 outputs, and it must be capable of timestamping the arrival times of "events" on any input channel. An "event" is defined as the rising edge of a TTL pulse at the input. For each such event, the device must store an event mask and a 32-bit event time. The event time is the # of clock ticks since the timestamping operation was initiated, while each bit N in the event mask indicates whether an event occurred (bit set) on DI<N> during the corresponding event time. The device must support a minimum event clock interval of 10µs (this is the interval used in Maestro), and it cannot miss TTL pulses with widths as short as 1-3µs. The DIO device's 16 digital outputs are used to drive a number of auxiliary digital devices in the laboratory apparatus. The device must be able to update the DO channels at any time while simultaneously executing the timestamping function. In addition, it must provide a "data ready" signal, i.e, an additional TTL output that is strobed (active high pulse) whenever the DO channels are updated.

    • XYScope controller (Maestro 3.x only). This controller runs on a dedicated digital signal processor (DSP) card and is connected to an external XY video output box, which ultimately drives the X-axis, Y-axis, and trigger inputs of a large vector analog oscilloscope. During startup, Maestro loads the DSP with a custom firmware program that implements the scope controller's unique functionality. Maestro 3.x supports two alternative DSP products from Spectrum Signal Processing, the Dakar F5 and the Detroit C6x. Maestro 4.x does NOT provide support for these boards. Aside from the fact that there are no more working large-screen analog oscilloscopes available for use as XYScope displays, these old DSP cards require a conventional PCI slot no longer included in new workstations.

    • RMVideo network adapter. RMVideo runs on a Linux workstation and is integrated with Maestro to support framebuffer video targets on a color CRT display. It acts as a video "server" to Maestro as client, with the two programs communicating over a private, point-to-point Ethernet link. A network interface card (NIC) is needed on both the RMVideo and Maestro sides to realize this connection. A 100Mbps NIC is adequate; 1Gbps is probably overkill. An RTX-supported NIC is a must on the Maestro side, which relies on the RTX TCP/IP package and RTX-supplied network drivers for real-time network communications.

    • EyeLink network adapter. As of v3.2.0, Maestro is loosely integrated with the EyeLink 1000+ eye tracker from SR Research. Maestro communicates with the EyeLink's "Host PC" over a point-to-point Ethernet link similar to that used for the connection with RMVideo. A 100Mbps or 1Gbps NIC will serve here. Unlike the RMVideo NIC, this network adapter is NOT managed by RTX. Instead, it is serviced by a Win32 thread running in Maestro's GUI process.

Recommended hardware configuration for Maestro 4.x

Maestro 4.x does not offer support for legacy ISA and conventional PCI boards that were still technically supported in Maestro 3.x, including the DSP cards that control the XYScope display platform. Therefore, a Maestro 4.x workstation must use RMVideo as its stimulus platform and requires the following peripherals:

  • PCIe-6363: This multi-function IO board from National Instruments serves triple-duty. With 32 16-bit analog inputs, four 16-bit analog outputs, 48 digital IO channels, four 32-bit counters, and digital input change detection circuitry, it handles the AI, AO, and DIO event timer functions for Maestro. It is also housed on the PCI Express (x1) bus, which has replaced PCI as the defacto bus-communications standard on PCs. Furthermore, it supports message-signaled interrupts (MSI), a critical new feature that makes it much easier to configure a PC to run Maestro (see right-hand panel).

  • Intel Gigabit CT Desktop Adapter (or any network card based on the Intel 82574L chipset). This RTX64-compatible NIC is probably more than we need, but it is inexpensive and, most importantly, it also supports message-signaled interrupts. RTX64 supports many other NICs; for a complete list, consult the RTX64 documentation on IntervalZero's website (see document entitled "RTX64 Supported Network Interface Cards").

  • A second network card is required if you will use Maestro with the EyeLink 1000+ eye tracker. Any modern 100Mbps or 1Gbps network card will do here, as long as Windows 10 supports it.

Why MSI?

Since its inception, one of the most painful tasks in setting up a new PC to run Maestro was configuring the system so that the AI data acquisition card and the RMVideo network adapter each obtained exclusive access to one of the 16 hardware interrupt lines (IRQs), which are shared among all the devices in the machine. The BIOS and operating system offer little control over IRQ assignments, so we often had to disable many standard devices (like USB and sound card) and move the devices to different PCI slots until each was given exclusive access to an IRQ.

With message-signaled interrupts, this problem goes away: MSI, unlike the IRQ pins, are not a shared resource! As long as you use the new devices that support MSI, it is much easier to configure a workstation to run Maestro.

Recommended hardware configuration for Maestro 3.x

The primary thrust behind the development and release of Maestro 3.0 was to catch up with advances in Windows/RTX and peripheral hardware. Therefore, we strongly recommend that when you migrate to Maestro 3.0, you also invest in the current recommended peripherals:

    • PCIe-6363. See above.

    • Intel Gigabit CT Desktop Adapter. See above. While this adapter supports both MSI and MSI-eXtended modes, be sure to configure it in MSI mode only under RTX2011. In early testing we found that the RTX2011-supplied driver for this adapter, RtE1000.dll, failed frequently if the card was configured in MSI-X mode. 32-bit RTX supports other NICs -- consult the RTX documentation for a list (see document entitled "RTX Supported Network Interface Cards", and be sure to select an NIC that is supported by RTX2011 or earlier).

    • A second network card is required if you will use Maestro with the EyeLink 1000+ eye tracker. Any modern 100Mbps or 1Gbps network card will do here, as long as Windows 7 supports it.

    • Detroit C6x (optional). This PCI-based DSP card from Spectrum Signal Processing has been the primary XYScope controller in the Lisberger lab since 2000. It has one 200MHz processing node with a Texas Instruments' TMS320C6201 fixed-point DSP. In addition to its DSP~LINK3 bus interface with the rig's XY video output box, the Detroit motherboard provides the TMS320C6201 with several banks of high-speed RAM, including a bank of 512K x 32-bit global asynchronous SRAM that is shared with a PCI bus interface for communications with the host CPU. Note that the Detroit is out of production and is no longer supported by Spectrum.

Legacy boards (Maestro 3.x only)

Below is a list of various devices that were used in version of Maestro prior to 3.0. They are still supported -- although they have not been fully tested --in Maestro 3.x. All rely on obsolete peripheral buses -- the ISA and PCI standards. Support for these boards was discontinued in Maestro 4.0.

    • PCI-6070E (formerly PCI-MIO-16E1): A National Instruments 12-bit, 1.25M samples/sec multi-function data acquisition card for the PCI bus. Supports 16 single-ended or 8 differential input channels. The PCI-MIO-16E1 was the only supported AI device in Maestro 1.0 and 2.0. As of 2011, it is two generations out-of-date, more expensive to purchase than its modern replacements, and housed on the fast-disappearing PCI bus.

    • AT-AO-10: A 12-bit, 10-channel general-purpose AO board for the ISA bus from National Instruments. This was used a lot back in the hey-day of the optic bench targets Fiber1 and Fiber2. Those targets are no longer supported in Maestro 3, and the AT-AO-10 is long obsolete.

    • PD2-AO-8/16: A 16-bit, 8-channel general-purpose AO board for the PCI bus from United Electronic Industries. Intended as a PCI-based replacement for the AT-AO-10.

    • Lisberger Technologies' timer board: A 16-input, 16-output timestamping card for the ISA bus. Steve Lisberger designed and manufactured this card to meet Maestro's stringent demands for precise timing of action potentials. It was the "workhorse" DIO event timer for many years in the lab, but it is quite old and no longer available.

    • M62 DSP: A custom firmware program was developed to emulate the event timestamping and digital output capabilities of the Lisberger timer device on the PCI-based M62 DSP card from Innovative Integration. However, this solution was never adopted in our lab because we were able to continue to find new PCs with an ISA slot for the Lisberger card.

    • Dakar: The Dakar F5 Carrier board from Spectrum Signal Processing features an embedded TMS320C44 floating-point DSP and can support up to 7 additional C4x processing nodes in TIM40 modules. However, as employed in Maestro, only the baseboard is required. Since the Dakar's processor is significantly slower than that on the Detroit C6x, we recommend that it be used only if the video output box's clock can be set to 1MHz rather than 10MHz.

    • Other NICs: Theoretically, you should be able to use any network adapter that is officially supported by RTX 2011 We have successfully used these network adapters in past versions of Maestro: 3Com EtherLink 10/100 Mbps PCI Network Interface Card (model numbers 3C905B-TX-NM and 3C905C-TXM); Intel PRO/100+ Management Adapter (8255x chipset); Intel PRO/100 S Adapter (8255x). None of these older cards support message-signaled interrupts, however.