>> Updated: September 27, 2024 <<
Topics:
Think of the OneBox as three separate function units in one tidy package:
It's easy to set up; basically three steps:
There are additional details below, and in the Imec technical document:
Sync in SpikeGLX works by sending a single common 1 Hz square wave to one channel of each recording data stream. The rising edges of this wave can then be matched across streams, and paired edge offsets can be used to map event times from one stream to another (our TPrime tool does this mapping).
Quick notes about OneBox:
SMA 1 on the back panel is the OneBox SYNC port. It uses 0-5V TTL (digital) signals. This functions like the SMA connector labeled TRIG on the front of a PXI basestation, which also uses 0-5V TTL signals.
In SpikeGLX, on the Configuration dialog Sync tab, you can select one device in the run for Sync output. This can be a separate pulser device, an NI device, a OneBox, or a PXI module. All the other devices in that run must then be wired to receive that common shared Sync signal.
Any OneBox in a run that is not selected for Sync output is automatically programmed for Sync input, so that it will record the common shared Sync signal being generated by the selected output device. (This is also how PXI modules are programmed: they are inputs any time they are not an output).
PXI modules all live in the same PXI chassis and share signals among themselves using the chassis backplane. So only one PXI SMA should be connected whether bringing signals in or out of the chassis as a whole. However, if using more than one OneBox, there is no backplane connecting these, so you will need to cable up the SMA 1 connector of each OneBox in the run.
Even when Sync is disabled, OneBoxes (and PXI modules) are programmed for input at their Sync SMA. This allows you to record whatever 5V TTL signal you wish in the SY channels of each of the recorded data streams.
Briefly:
Plug imec headstage(s) here. They work just like the ports in PXI modules.
This front panel SMA is an alternate means to access analog output channel-0, if you don't want to use the breakout board.
The accessory breakout board provides access to the 12 analog input/output channels. Each channel can individually be configured for input (ADC) or output (DAC). Currently, in SpikeGLX, all channels are set for input.
Connect it using the provided SDR (shrunk delta ribbon) cable. Note that one end of the cable is labeled "Camera Side" but that does not matter in this application: Both ends are equivalent.
Access the 12 ADC/DAC channels using the BNC connectors or by attaching your custom ribbon cable to the connector block labeled "IO."
Ignore the pins labeled "LVDS." They are reserved for future expansion by imec and are currently unimplemented.
This front panel SMA is an alternate means to access analog input channel-0, if you don't want to use the breakout board.
Sync
ADC inputs
You need the proper FTDI driver for the FT601 chip in the OneBox...
Note that the OneBox does not use enclustra drivers. Those are only needed for PXIe basestations.
If you see an entry like this, you will install a driver for the first time.
If you see an entry like this,
then check the version of the driver: Right-click >> Properties >> Driver tab. If the version is 1.3.0.10, you're done. If the version is earlier, you must update it.
The downloaded file looks like "FTD3XXDriver_WHQLCertified_v1.3.0.10.zip."
Note: Once a driver is installed, the Device Manager entry like Fig 1. will vanish. That's normal.
Some motivating background. In the beginning you bought a PXI basestation module which you installed into a slot of your PXI chassis. Each module had four ports for plugging in headstages. The imec software references the headstages in your system according to their (slot,port) address.
Now come OneBoxes, which are basestations in a new package, although these have two instead of four ports. As we said, you can do a run with some probes plugged into PXI modules and some in OneBoxes. In order to unify things, we ask you to assign a slot number to each OneBox. This way, you are running a set of headstages of given (slot,port) regardless of where you plugged them in.
Note that each OneBox has a serial number (a.k.a. OneBox ID) sticker on the bottom. Use the Configure Slots button on the Devices tab of the Configuration dialog to assign a slot for that SN, and set other preferences.
Follow these steps:
Configure Slots
in the upper-left of the Configure dialog Devices
tab.This adds new rows into the main Probes
table in the Devices
tab. In this example there are three added rows:
We asked for 1 dock/port, so there are two new rows for probes: (slot,port,dock) = (21,1,1) and (21,2,1).
Row (21,ADC) lets you enable this OneBox's ADC recording stream.
Full details on the Configure Slots
dialog are here.
Please read the User Manual, but at least read these sections:
The reading will explain in general how output files are named and their data formats. Here we follow that up with an illustrative example.
Simple Example
Suppose you want to run with your OneBox (slot 21 in this example):
If you named the run AAA
, this would result in four data files:
The probe data files are the same as you would get from running that probe in a PXI module:
AAA
.g0_t0
.Probes
table imec0
.ap
indicates these are full-band data. Note that dual-band probes (such as NP 1.0) can generate both ap
and lf
files.AP
channels, followed by one SY
word containing error and sync data bits.Probe recording is the same whether you plug into OneBox or PXI!
However, the Obx
data file type is specific to OneBox. It's the SpikeGLX way of naming ADC streams recorded with OneBoxes. The first OneBox enabled in the table gets label obx0
, the next is obx1
and so on. In our example:
AAA
.g0_t0
.Probes
table obx0
.XA
channels, followed by a single XD
word containing the digital channel data, followed by one SY
word containing error and sync data bits.Probes plugged into OneBox work the same as in PXI. The governing sample clock for probes is in the headstage. All headstages run asynchronously, so you will need to align/sync data from different probes as always. The nominal sample rate for a headstage is ~30 KHz.
The ADC sample clock is in the OneBox. It runs at ~30303 Hz (non-adjustable).
As always, we recommend doing a calibration run for all the components you will enable in the same run. This greatly improves the estimates of their relative rates and will enable TPrime to accurately align the streams even for very long recording sessions. Find full discussion of synchronization and calibration here:
Note that clock rates vary with temperature so no single rate can accurately account for drift over long time spans. Rather, the common shared sync wave is used by the TPrime postprocessing tool to precisely determine current relative drift at any point in a run, provided the same sync wave edges can be paired. A good calibration ensures edges can be paired (based on the nominal rate estimate) even for long run durations. See help document: Sync: Aligning with Edges.
To run a probe with a OneBox:
enable
checkbox for that (slot,port,dock) in the Probes
table.Detect
.IM Setup
tab to set addition parameters for the probe.Detailed instructions for the IM Setup
tab are here.
To record an ADC input stream from a OneBox:
enable
checkbox for that (slot,ADC) in the Probes
table.Detect
.Obx Setup
tab to set addition ADC recording parameters.Detailed instructions for the Obx Setup
tab are here.
Don't forget to also:
- Set up your sync cabling
- Enable Sync on the
Sync
tab- Set your gate and trigger modes
- Name the run on the
Save
tab
If the OneBox stops talking, say, you see this error on clicking Detect
:
error 30 'USB IO error: 32'
It's usually simple to recover:
Sometimes just cycling OneBox power is enough.
fin