Jump to content

Contributions:RHX

From BCI2000 Wiki
Revision as of 20:57, 12 August 2025 by Rlellis (talk | contribs) (Synopsis)

Synopsis

The Intan RHS has four SPI ports (with each port labelled A,B,C,D) which can program, stimulate, and record data from connected RHS chips. Each chip controls 16 channels, with up to two chips per port. Over all four ports, a total of 8 chips (128 channels) can be simultaneously controlled.

The expansion board includes up to 16 digital input and output channels and 8 analog input (ADC) and output channels (DAC). The digital and analog outputs can be programmed for stimulation, and the data from the digital and analog inputs can be recorded.

The digital input and output data is recorded in two streams ("DigIn" and "DigOut", respectively). These streams consist of 16 bit unsigned integers with each bit representing the logic input/output. These values are computed in MSb format, with the greatest bit being controlled by channel 0. For example, a logic pulse recorded by channel 0 would result in a value of 2^15 (=1000 0000 0000 0000), while a logic pulse recorded from channel 15 would result in a value of 2^0 (=0000 0000 0000 0001).

Similarly, stimulation information from each headstage is recorded in the streams: "HeadstageAStim": The bit for the corresponding channel is set to 1 if stimulating, 0 otherwise. "HeadstageAChargeRecov": The bit for the corresponding channel is set to 1 if charge recovery is active, 0 otherwise "HeadstageAStimPol": The bit for the corresponding channel is set to 1 if the stimulation current is positive, 0 if negative or inactive "HeadstageAAmpSettle": The bit for the corresponding channel is set to 1 if the amplifier settle circuitry is active, 0 otherwise. ... (Repeated for headstages A-D)

Each of these streams contains a 32 bit unsigned integer, with a similar format to the "DigIn" and "DigOut" streams--for example, if channel 0 on headstage A is currently stimulating, a value of 2^31 will be recorded to "HeadstageAStim", and if channel 31 on headstage A is currently stimulating a value of 2^0 will be recorded to "HeadstageAStim".

Parameters

SamplingRate: Due to the RHS's ability to only take on discrete sampling rates, a value matching one of the following must be used for this parameter (given in Hz): 1000, 1250, 1500, 2000, 2500, 3000, 3333, 4000, 5000, 6250, 8000, 10000, 12500, 15000,20000 ,25000, 30000.

SampleBlockSize: The API provided by Intan only reads data in chunks of 128. Therefore, values that are multiples of 128 must be used for this parameter.

ConnectionType: Determines type of connection to be used. For devices with a XEM7310 module (which can be found via the connected device list given in the Intan RHX application or by looking at the specifications for the device in use), use ControllerStimRecord. Otherwise, depending on the USB connection, choose USB2 or USB3.



Stimulation Configuration Parameters:

Channels: Specifies the channels which the configuration applies to. Accepted formats are of the following: For a range of sequential channels, an input of "A-B" will result in the configuration being uploaded to channels A,A+1...B. For a single channel, one may simply input the channel number as "A". For channels that are not sequential, one may input "{A-B,C,D-E,..}". This will upload the configuration to channels A,A+1..B,C,D,D+1...E... . Lists of this form must use commas to separate channel values/ranges.

Trigger: Specifies the source which triggers stimulation. This can either be one of the digital or analog inputs, or a state. Accepted input is: "digx", "anax", or "state", where x is an integer between 1 and 8 (all independent of capitalization). If "state" is used, "State Trigger Value" must be specified.

State Trigger Value: If using a state as a trigger, this section determines the condition for the state to trigger stimulation.