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. As of Maestro 4.x, only two boards are required and supported -- the PCIe-6363 multifunction DAQ board, and a network interface card supported by RTX.
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.
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.
Maestro 4.x and 5.x do 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/5.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.
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.