Skip to content

Commit

Permalink
Add RHS2116 Headstage Page (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
cjsha authored Jul 3, 2024
1 parent 7bb5d3f commit 4d32d2e
Show file tree
Hide file tree
Showing 15 changed files with 4,649 additions and 38 deletions.
4 changes: 2 additions & 2 deletions source/Getting Started/troubleshooting.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _troubleshooting:

:orphan:

.. _troubleshooting:

.. toctree::
:hidden:

Expand Down
63 changes: 31 additions & 32 deletions source/Hardware Guide/Headstages/headstage-64/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ Features
:align: center
:alt: ONIX Headstage-64 v1.1.

Data Link Serializaiton
Data Link Serialization
**********************************
For details on data serialiation and headstage gateware, have a look at the
:ref:`serialization` page, which describes how coax headstages operatate in
For details on data serialization and headstage gateware, have a look at the
:ref:`serialization` page, which describes how coax headstages operate in
general terms. Headstage-64 has the following coaxial link properties:

.. table::
Expand All @@ -62,12 +62,11 @@ general terms. Headstage-64 has the following coaxial link properties:
+------------------------+--------------------+----------+----------+----------+

.. warning:: \*Do not exceed 6.3 VDC at the coaxial input to the headstage. Make
sure you make this measurement at the headstage (see: :ref: `Measuring headstage voltage`) to
sure you make this measurement at the headstage (see :ref:`measure_voltage`) to
account for a potential voltage drop in the tether. Exceeding this voltage can
permanently damage the
headstage.
permanently damage the headstage.

.. note:: Have a look at the :ref:`tethers` page for more detials on mirco-coax
.. note:: Have a look at the :ref:`tethers` page for more details on micro-coax
headstage tethers

Electrophysiology & Auxiliary Analog Inputs
Expand All @@ -77,21 +76,22 @@ headstage-64 uses a 64-channel, BGA-packaged `Intan RHD2164
sampling rate of 30 kHz/channel (including auxiliary channels). Specifically,
it provides:

- 64x ephys channels which are exposed via a mezzanine connector on the bottom
of the headstage and can be used to record from most passive probes (e.g.
tetrodes, silicon probe arrays, tungsten microwires, steel EEG wires, etc) -
3 auxiliary channels
- 2x auxiliary channels (0.1-2.45V input range) are pinned out on the bottom of
the headstage to an unpopulated mezzanine connector and solder-able test
points
- A 3rd auxilary analog channel is tied to the electrical stimulator's current
measurement circuit via a selectable solder jumper on the bottom of the
board. This jumper can be desoldered and instead a series resistor added to
allow low-frequency LFP recordings as per pg. 26 of the RHD2000 datasheet.

.. attention:: The headstage connector pinout (ADC input mapping, stimulation
connections, etc) is located on `this Google sheet
<https://docs.google.com/spreadsheets/d/11wRDYOqHN5lPb03yUdfXfK0zvaDYsVetplaNK-R90Gg/edit#gid=663991061>`__.
- 64 ephys channels exposed via a mezzanine connector on the bottom
of the headstage and can be used to record from most passive probes (e.g.
tetrodes, silicon probe arrays, tungsten microwires, steel EEG wires, etc.)

- 3 auxiliary channels:

- 2x auxiliary channels (0.1-2.45V input range) are pinned out on the bottom of
the headstage to an unpopulated mezzanine connector and solder-able test
points

- A 3rd auxiliary analog channel is tied to the electrical stimulator's current
measurement circuit via a selectable solder jumper on the bottom of the
board. This jumper can be desoldered and instead a series resistor added to
allow low-frequency LFP recordings as per pg. 26 of the RHD2000 datasheet.

.. attention:: The headstage connector pinout (ADC input mapping, stimulation connections, etc) is located on `this Google sheet <https://docs.google.com/spreadsheets/d/11wRDYOqHN5lPb03yUdfXfK0zvaDYsVetplaNK-R90Gg/edit#gid=663991061>`__.

3D Position Tracking
**********************
Expand All @@ -116,13 +116,13 @@ to set up tracking,
environments more than 2 basestations are required to get full coverage, any
configuration is possible so long 2 basestations have a line of site to the
headstage and are no more than 4 meters away. For this, there are lots of
options for ready-made, adjustable basestation mounts availble on Amazon and
options for ready-made, adjustable basestation mounts available on Amazon and
elsewhere.
#. Serial into each of the basestations using the USB connection on the back
and set up a terminal connection using ``screen /dev/ttyACM0 115200`` or
similar
#. Once connected you can hit Tab to see commands
#. Set the mode of of each base staiton to a different value using
#. Set the mode of of each base station to a different value using
``mode n`` where ``n`` is the desired mode (1-16). The only requirement is
that each basestation have a unique mode.

Expand All @@ -142,7 +142,7 @@ Hz.

Neural Stimulation
****************************
headstage-64 provides onboard electrical and optical stimulatus generators.
headstage-64 provides onboard electrical and optical stimulus generators.
Stimulus trains can be parameterized in a similar way to the master-8 or pulse
pal.

Expand All @@ -158,19 +158,19 @@ This driver can be used for LEDs or laser diodes. It provides 800-mA per
channel. The cathodic connections can be paralleled to increase max current.
The maximum peak current in 1.6 Amps. However, if you deliver this current for
a significant amount of time, the headstage will shutdown due to an
over-temperture condition. The optical stimulator is only appropriate for low
over-temperature condition. The optical stimulator is only appropriate for low
duty-cycle pulse-type stimulation.

Electical Stimulation
~~~~~~~~~~~~~~~~~~~~~~
The electrical stimulation cicuit is an improved Howland current pump followed by
The electrical stimulation circuit is an improved Howland current pump followed by
an precision current measurement circuit. The current pump is supplied by +/-15V
rails and can supply up to +/- 2.5 mA. The output current is defined as:

.. warning:: The headstage must be supplied by 5.5V, :ref:`measured at the DC couping
inductor <measure_voltage>`, to use electrical stimulation. If the voltage is less
than this, stimulus pulses will fail to acheive target currents and this will result
in charge imblance, which can damage neural tissue.
than this, stimulus pulses will fail to achieve target currents and this will result
in charge imbalance, which can damage neural tissue.

.. code-block:: none
Expand All @@ -190,9 +190,8 @@ rails and can supply up to +/- 2.5 mA. The output current is defined as:
Bill of Materials
****************************
- The interactive BOM is `here <../../../_static/boms/headstage-64_1r3_bom.html>`__
- The complete BOM (including vendor part numbers) is located on `this google
sheet
- `Interactive BoM <../../../_static/boms/headstage-64_1r3_bom.html>`__
- The complete BOM (including vendor part numbers) is located on `this google sheet
<https://docs.google.com/spreadsheets/d/1F-KWcdvH_63iXjZf0cgCfDiFX6XXW3qw6rlR8DZrFpQ/edit#gid=138167638>`__

.. note:: Have a look at the :ref:`tether_voltage` page for more details on probing and verifying headstage power voltages
1 change: 1 addition & 0 deletions source/Hardware Guide/Headstages/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Here you will find information on **ONIX headstages**.
headstage-64/index
headstage-neuropix-1
headstage-neuropix-1e
rhs2116.rst
tether-voltage

.. important:: ONIX expands the concept of a headstage compared to what you
Expand Down
130 changes: 130 additions & 0 deletions source/Hardware Guide/Headstages/rhs2116.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
#################
RHS2116 Headstage
#################

.. image:: /_static/images/rhs2116/rhs2116.webp
:align: center
:height: 300px
:alt: ONIX rhs2116

|
The RHS2116 Headstage is a serialized headstage for small animals with 32 channels which can independently be configured as stimulator outputs or amplifier inputs. The RHS2116 can be used with passive probes (e.g. silicon arrays, EEG/ECOG arrays, etc) using a 36-Channel Omnetics EIB. To learn how to use the RHS2116 headstage in software, refer to the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device` software guide. For technical information, refer to the :doc:`/Hardware Guide/Datasheets/rhs2116` datasheet.

.. warning:: There are multiple headstage hardware revisions. The revision number is printed on the PCB. You can use the `compatibility matrix <https://docs.google.com/spreadsheets/d/1LwEOlOkL_HJKeTmNJFVIlItzVeCZDzOt_9Up_rA36Ic/edit?usp=sharing>`__ to find host hardware for your headstage.

********
Features
********

* Two RHS2116 ICs for a combined 32 reconfigurable i/o ephys channels

* Max stimulator current: 2.55mA

* Sample rate: 30193.2367 Hz

* Stimulus active and stimulus trigger pins

* On-board Lattice Crosslink™ FPGA for real-time data arbitration

.. _rhs2116_data_link_serialization:

***********************
Data Link Serialization
***********************

For details on data serialization and headstage gateware, have a look at the
:ref:`serialization` page, which describes how coax headstages operate in
general terms. The RHS2116 headstage has the following coaxial link properties:

.. table::
:widths: 50 80 50 50 50

+------------------------+--------------------+----------+----------+----------+
| Parameter | Value | Min | Max | Unit/ |
| | | | | Type |
+========================+====================+==========+==========+==========+
| FPGA | LIF-MD6000-6UMG64I | | | |
+------------------------+--------------------+----------+----------+----------+
| Serializer | TI DS90UB933 | | | Coaxial |
+------------------------+--------------------+----------+----------+----------+
| Supply Voltage | 4.0 | 3.4 | 4.35* | Volts |
+------------------------+--------------------+----------+----------+----------+
| Hub Clock Frequency | 50 | | | MHz |
+------------------------+--------------------+----------+----------+----------+

.. warning:: \*Do not exceed 4.35 VDC at the coaxial input to the headstage. Make
sure you make this measurement at the headstage (see :ref:`measure_voltage`) to
account for a potential voltage drop in the tether. Exceeding this voltage can
permanently damage the headstage.

.. note:: Have a look at the :ref:`tethers` page for more details on micro-coax headstage tethers

*****************
Electrophysiology
*****************

RHS2116 headstage uses two 16-channel `Intan RHS2116
<https://intantech.com/>`__ bioamplifier chip. The chip is operated at a fixed
sampling rate of 30 kHz/channel. These 32 ephys channels are exposed via a 36 pin `Omnetics connector <https://www.omnetics.com/wp-content/uploads/2022/01/A79025-001.pdf>`__ at the edge of the headstage and can record from most passive probes (e.g. tetrodes, silicon probe arrays, tungsten microwires, steel EEG wires, etc.) as well as stimulate.

Getting Started
===============

#. `Install Bonsai <https://bonsai-rx.org/docs/articles/installation.html>`__ and :doc:`Install Bonsai.ONIX </Software Guide/Bonsai.ONIX/Installation>`

#. :doc:`Get Started with Bonsai </Software Guide/Bonsai.ONIX/GettingStarted>`

#. Establish hardware connections

#. Gather Materials

* RHS2116 headstage

* ONIX acquisition system

* Coaxial tether

#. Set the ONIX headstage switch off

#. Connect RHS2116 headstage using the coaxial tether

#. Gently thread on the SMA connector into the ONIX headstage port

#. Gently press the x.fl coax connector onto the RHS2116 headstage

#. Set the correct voltage according to the table in the :ref:`rhs2116_data_link_serialization` section

#. Set the ONIX headstage switch on

#. Either:

* Configure the RHS2116Device node properties and run the workflow on the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device` page if you want to collect data

* Configure the RHS2116TriggerDevice node properties and run the workflow on the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice` page if you want to trigger stimulus

* Stimulus trains can be parameterized in a similar way to the master-8 or pulse pal. Refer to the :ref:`stimulator_configurator` section of the documentation for more info.

..
RHS2116 Pinout
==============
.. image:: /_static/images/rhs2116/rhs2116-omnetics-pinout.webp
:align: center
:height: 300px
:alt: ONIX rhs2116 omnetics

|
.. image:: /_static/images/rhs2116/rhs2116-bottom-pinout.webp
:align: center
:height: 300px
:alt: ONIX rhs2116 bottom pinout

*****************
Bill of Materials
*****************

- `Interactive BoM <../../_static/boms/headstage-rhs2116_bom.html>`__ (a csv BoM can be downloaded from this page)

.. note:: Have a look at the :ref:`tether_voltage` page for more details on probing and verifying headstage power voltages
2 changes: 2 additions & 0 deletions source/Hardware Guide/Headstages/tether-voltage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ ground pin and either terminal of the large inductor on the headstage.

.. image:: ../../_static/images/tether-voltage/measure-voltage-np1e.webp

.. image:: ../../_static/images/tether-voltage/measure-voltage-rhs2116.webp

Rebooting
--------------------------
If you have slowly increased the voltage supplied to a headstage, but it does
Expand Down
4 changes: 2 additions & 2 deletions source/Hardware Guide/PCIe Host/bracket-assembly.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _pcie_host_bracket_assembly:

:orphan:

.. _pcie_host_bracket_assembly:

.. toctree::
:hidden:

Expand Down
4 changes: 2 additions & 2 deletions source/Hardware Guide/PCIe Host/programming-with-jtag.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _pcie_host_program_over_jtag:

:orphan:

.. _pcie_host_program_over_jtag:

.. toctree::
:hidden:

Expand Down
2 changes: 2 additions & 0 deletions source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ Parameters available through the property pane are as follows:
the sequence on this device. To synchronize stimulation across
RHS2116 chips, use :ref:`bonsai_rhs2116triggerdev`

.. _stimulator_configurator:

Configuration GUI
_________________________
The **RHS2116 Configuration GUI**, which is a part of the
Expand Down
63 changes: 63 additions & 0 deletions source/_static/boms/headstage-rhs2116.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
"Id";"Designator";"Package";"Quantity";"Designation";"Supplier and ref";
1;"U2,U6";"INTAN_QFN44-7.0x7.0x0.8_P0.5";2;"RHS2116";;;
2;"";"OE-LOGO-7X5";1;"";;;
3;"L7,L2,L1";"L_0402_1005Metric";3;"BLM15AX102SN1D";;;
4;"J6";"IDC-Header_2x05_P2.54mm_Vertical";1;"SBH11-PBPC-D05-ST-BK";;;
5;"C41,C27,C29,C40,C37,C38";"C_0201_0603Metric";6;"1uF";;;
6;"SW1";"MITSUMI_R-668049";1;"R-668049";;;
7;"L5,L6,L19,L20,L17,L18";"L_0201_0603Metric";6;"BLM03AX102SN1D";;;
8;"C65,C66";"C_0603_1608Metric";2;"10uF";;;
9;"U8";"LATTICE_ufcBGA64C40P8X8_3.5X3.5X1.0";1;"LIF-MD6000-6UMG64I";;;
10;"R15";"R_0201_0603Metric";1;"49.9";;;
11;"U7";"TI_RHB0032P";1;"DS90UB953A-Q1";;;
12;"R2,R17,R1";"R_0201_0603Metric";3;"1k";;;
13;"C20,C12,C23,C21,C19,C62,C31,C32,C30";"C_0402_1005Metric";9;"0.1uF";;;
14;"C67,C18";"C_0805_2012Metric";2;"47uF";;;
15;"R7,R8";"R_0201_0603Metric";2;"2k";;;
16;"R20,R22,R19,R21";"R_0201_0603Metric";4;"4.7k";;;
17;"C16,C22,C8,C14,C33,C7,C9,C15,C58";"C_0201_0603Metric";9;"10nF";;;
18;"R18";"R_0603_1608Metric";1;"0";;;
19;"TP3";"TestPoint_Pad_D0.6mm";1;"HVOUT_{A}";;;
20;"TP6";"TestPoint_Pad_D0.6mm";1;"+2.5V";;;
21;"C68,C11,C69,C36,C43,C39,C45,C4,C49,C47,C44,C48,C6,C5,C42,C46";"C_0201_0603Metric";16;"0.1uF";;;
22;"J4";"MILLMAX_850-10-003-40-001000";1;"850-10-003-40-001000";;;
23;"L3";"L_1210_3225Metric";1;"CBC3225T101MR";;;
24;"U4";"ONSEMI_567JZ_WLCSP4-0.64x0.64";1;"NCP163AFCT330T2G";;;
25;"U10";"ONSEMI_567JZ_WLCSP4-0.64x0.64";1;"NCP163AFCT120T2G";;;
26;"L9,L8";"L_0402_1005Metric";2;"BLM15PX601SN1D";;;
27;"R9,R14";"R_0201_0603Metric";2;"10k";;;
28;"R4";"R_0201_0603Metric";1;"78.7k,1%";;;
29;"REF**";"OE_LOGO-NOTXT-MASK-3.5x2.5";1;"OE_LOGO-NOTXT-MASK-3.5x2.5";;;
30;"TP4";"TestPoint_Pad_D0.6mm";1;"+3.3V";;;
31;"J5";"ONIXJTAG-RevA";1;"PINHD-1x7_ONIXJTAG-RevA";;;
32;"L4";"L_0805_2012Metric";1;"CIG21L4R7MNE";;;
33;"L15,L10,L13,L16,L12,L11,L14";"L_0201_0603Metric";7;"BLM03PX121SN1D";;;
34;"C35,C52,C34,C17,C51";"C_0402_1005Metric";5;"1uF";;;
35;"R3";"R_0201_0603Metric";1;"39.2,1%";;;
36;"R23";"R_0201_0603Metric";1;"22";;;
37;"TP9";"TestPoint_Pad_D0.6mm";1;"~{CS}_{Flash}";;;
38;"J1";"HIROSE_X.FL-R-SMT-1";1;"CONMHF4-SMD-G-T";;;
39;"G***";"LOGO";1;"LOGO";;;
40;"C13";"C_0402_1005Metric";1;"47nF";;;
41;"D1";"ROHM_SML-P11MTT86R";1;"SML-P11UTT86R";;;
42;"R16";"R_0201_0603Metric";1;"0";;;
43;"U9";"ONSEMI_567JZ_WLCSP4-0.64x0.64";1;"NCP163AFCT180T2G";;;
44;"F1";"LITTLEFUSE_0402";1;"0402L020SL";;;
45;"C64,C26,C63,C61,C25";"C_0402_1005Metric";5;"4.7uF";;;
46;"U1";"LINEAR_SON50P300X500X80-19N-D";1;"LTC3265";;;
47;"C28,C60";"C_0201_0603Metric";2;"10pF";;;
48;"C54,C55,C57,C56,C53";"C_0402_1005Metric";5;"2.2uF";;;
49;"JP1";"SolderJumper-2_0201_Open_Pad";1;"Jumper_2_Open";;;
50;"U11";"WINBOND_USON8-2x3x0.6";1;"W25Q80EWUXIE";;;
51;"R11,R12";"R_0201_0603Metric";2;"125k";;;
52;"C24,C59";"C_0402_1005Metric";2;"0.47uF";;;
53;"R5";"R_0201_0603Metric";1;"?";;;
54;"C2,C1,C50,C3";"C_0402_1005Metric";4;"10uF";;;
55;"R6";"R_0201_0603Metric";1;"40.2k,1%";;;
56;"U5";"TI_SIP0008B";1;"TPS826951";;;
57;"R13,R10";"R_0201_0603Metric";2;"604k";;;
58;"TP2";"TestPoint_Pad_D0.6mm";1;"GPIO1";;;
59;"TP8";"TestPoint_Pad_D0.6mm";1;"+1.2V";;;
60;"C10";"C_0201_0603Metric";1;"22nF";;;
61;"U12";"MICROCHIP_VFLGA4-2.0x1.6";1;"DSC6011JI1A-050.0000";;;
62;"J2";"OMNETICS_A79025-001";1;"A79025-001";;;
Loading

0 comments on commit 4d32d2e

Please sign in to comment.