RHS2116#
- Authors:
Jonathan P. Newman
- Version:
1
- IO:
Frame Source, Register Access
- ONIX ID:
31
Description#
The RHS2116 device acquires data and controls stimulation from an Intan RHS2116 bioamplifier and stimulator chip.
Fixed sampling rate: 30193.236714975847 kHz/channel
Real-time control of stimulation sequences
Real-time control of many acquisition registers (e.g. filter settings, artifact recovery parameters, etc.)
Register Programming#
Managed Registers#
Managed register access is provided at offset 0x10000.
Address |
Name |
Access |
Time of Effect |
POR Value |
Reset Action |
Description |
---|---|---|---|---|---|---|
0x10000 |
ENABLE |
R/W |
On Reset |
Implementation dependent, see hub documentation |
None |
The LSB is used to enable or disable the device data stream:
|
0x10001 |
MAXDELTAS |
R |
N/A |
Implementation dependent, see hub documentation |
None |
Maximum number of deltas in the delta table |
0x10002 |
NUMDELTAS |
R/W |
Immediate |
0 |
None |
Number of deltas in the delta table. Valid values are 0-MAXDELTAS. |
0x10003 |
DELTAIDXTIME |
W |
Immediate |
0 |
None |
The delta table index and corresponding application delta application time. Time value should increase monontonically with Index value. SEQERROR will be set to ‘1’ and headstage reset will be required, along with corrected stimulus defintion, in order to apply stimuli.
|
0x10004 |
DELTAPOLEN |
W |
Immediate |
0 |
None |
The polarity and enable vectors applied at time DELTATIMESAMPLES at DELTAIDXANDTIME[index]
|
0x10005 |
SEQERROR |
R |
N/A |
0 |
0 |
Invalid sequence encountered, the device requires a reset with an updated sequence definition. Stimulation on all channels in disabled until this occurs. |
0x10006 |
TRIGGER |
W |
Immediate |
0 |
0 |
Writing 1 to this register will trigger a stimulation sequence for this device. |
0x10007 |
FASTSETTLESAMPLES |
R/W |
Immediate |
10 |
None |
Number of round-robbin samples to apply charge balance following the conclusion of a stimulus pulse. 30 (1 msec) is the maximum. Typically set the 2.5/f_{h} where f_{h} is upper analog bandwidth of setting. |
0x10008 |
RESPECTSTIMACTIVE |
W |
Immediate |
1 |
None |
Determines when artifact recovery sequence is applied to this chip.
|
Unmanaged Registers#
Read and write access is provided to the registers detailed in the RHS2116 series datasheet.
Registers are 32-bits wide
Addresses and functions are determined by the RHS2116 datasheet
Reading and writing is not direct. Register values are stored in RAM and applied when the SPI controller encounters them.
Registers have various designations indicating when they are applied. The table below uses the following labels to define when a register change takes effect.
- RESET
Register value is applied after a reset.
- RT (Real-time)
Register value can be changed during operation. There is worst-case delay of ~400 usec for the application to occur. This occurs if there are concurrent SEQ register applications, which take precedence. Typically, the delay is ~170 usec.
- SEQ (Sequence)
Register programming is handled by the internal stimulus sequencer, which itself is configured using managed registers. These should not be manipulated externally.
Address |
Name |
Description |
POR Bits |
POR Value |
Time of Effect |
Access |
---|---|---|---|---|---|---|
0x00 |
BIAS |
ADC and MUX bias currents |
0000000011000100 |
ADC buffer bias = 3; MUX bias = 4 -> fs >440 kS/s |
RESET |
R/W |
0x01 |
FORMAT |
Conversion format |
0000010110001111 |
Unsigned |
RESET |
R/W |
0x02 |
ZCHECK |
Impediace check |
0000000000000000 |
Disabled |
RESET |
R/W |
0x03 |
DAC |
Impedance check DAC |
0000000000000000 |
Disabled |
RESET |
R/W |
0x04 |
BW0 |
Upper analog bandwidth 1 |
0000000000010001 |
RH1: sel2: 0; sel1: 17 -> upper cutoff 10 kHz |
RT |
R/W |
0x05 |
BW1 |
Upper analog bandwidth 2 |
0000000000010000 |
RH2: sel2: 0; sel1: 16 -> upper cutoff 10 kHz |
RT |
R/W |
0x06 |
BW2 |
Lower analog bandwidth A |
0011111000010000 |
RL_A: sel3: 1; sel2: 60; sel1: 16 -> lower cutoff 0.1 Hz |
RT |
R/W |
0x07 |
BW3 |
Lower analog bandwidth B |
0000000000010001 |
RL_B: sel3: 0; sel2: 0; sel1L: 17 -> lower cutoff 250 Hz |
RT |
R/W |
0x08 |
PWR |
Low-noise ephys amplifier power |
1111111111111111 |
All on |
RESET |
R/W |
0x09 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x0A |
SETTLE |
Amplifier fast settel state |
0000000000000000 |
No fast settle |
SEQ |
R/W |
0x0B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x0C |
LOWAB |
Select between RL_A and RL_B for each amplifier. |
1111111111111111 |
RL_A for every channel |
SEQ |
R/W |
0x0D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x0E |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x0F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x10 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x11 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x12 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x13 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x14 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x15 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x16 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x17 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x18 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x19 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1A |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1C |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1E |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x1F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x20 |
STIMENA |
Stim enable magic word A. |
1010101010101010 |
Enabled |
RESET |
R/W |
0x21 |
STIMENB |
Stim enable magic word B. Enabled. |
0000000011111111 |
Enabled |
RESET |
R/W |
0x22 |
STEPSZ |
Stimulator current step size |
0000000010100110 |
sel3: 0; sel2: 0; sel1: 38 -> 5 uA step |
RESET |
R/W |
0x23 |
STIMBIAS |
Stimulator circuit bias current |
0000000011101110 |
Pbias: 14; Nbias: 14 -> optimal for 5uA step |
RESET |
R/W |
0x24 |
RECVOLT |
Charge recovery target voltage |
0000000000000000 |
0 volts |
RESET |
R/W |
0x25 |
RECCUR |
Charge recovery current limit |
0000000000001001 |
sel3: 0; sel2: 0; se11: 9 -> 1uA |
RESET |
R/W |
0x26 |
DCPWR |
DC amplifier power |
1111111111111111 |
All on |
RESET |
R/W |
0x27 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x28 |
COMPLI |
Compliance monitor. Not currently implemented, register valye does not reflect COMPLI state. |
0000000000000000 |
N/A |
N/A |
R/W |
0x29 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x2A |
STIMON |
Stimulation on/off. |
0000000000000000 |
All off |
SEQ |
R/W |
0x2B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x2C |
STIMPOL |
Stimulation polarity. |
0000000000000000 |
All negative |
SEQ |
R/W |
0x2D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x2E |
RECOV |
Charge recovery switch state. Open. |
0000000000000000 |
Open |
SEQ |
R/W |
0x2F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x30 |
LIMREC |
Current-lmited charge recovery switch state. Open. |
0000000000000000 |
Open |
SEQ |
R/W |
0x31 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x32 |
FAULT |
Fault current detector. Not currently implemented, register valye does not reflect FAULT state. |
0000000000000000 |
N/A |
N/A |
R/W |
0x33 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x34 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x35 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x36 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x37 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x38 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x39 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3A |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3C |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3E |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x3F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x40 |
NEG00 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x41 |
NEG01 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x42 |
NEG02 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x43 |
NEG03 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x44 |
NEG04 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x45 |
NEG05 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x46 |
NEG06 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x47 |
NEG07 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x48 |
NEG08 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x49 |
NEG09 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4A |
NEG10 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4B |
NEG11 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4C |
NEG12 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4D |
NEG13 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4E |
NEG14 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x4F |
NEG15 |
Negative Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x50 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x51 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x52 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x53 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x54 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x55 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x56 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x57 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x58 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x59 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5A |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5C |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5E |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x5F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x60 |
POS00 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x61 |
POS01 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x62 |
POS02 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x63 |
POS03 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x64 |
POS04 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x65 |
POS05 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x66 |
POS06 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x67 |
POS07 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x68 |
POS08 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x69 |
POS09 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6A |
POS10 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6B |
POS11 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6C |
POS12 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6D |
POS13 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6E |
POS14 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x6F |
POS15 |
Positive Stimulation Current Magnitude |
0000000000000000 |
0 |
RT |
R/W |
0x70 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x71 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x72 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x73 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x74 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x75 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x76 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x77 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x78 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x79 |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7A |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7B |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7C |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7D |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7E |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
0x7F |
Reserved |
N/A |
0000000000000000 |
N/A |
N/A |
R/W |
Device To Host Data Frames#
Each frame transmitted to the host consists of a 16x AC ephys samples and 16x high-voltage DC samples for monitoring compliance and stimulation waveforms.
Host To Device Data Frames#
This device does not accept input frames. All write attempts will fail with an error.