Published using Google Docs
User guide - DAS1
Updated automatically every 5 minutes

DAS1 (Dynamic Audio Sensor) user guide

If this guide is missing the answer to any question you may have, please don’t hesitate to ask us on the jAER users support forum.

(direct link to this doc)

Specifications

Getting started

Install drivers

Windows 10

Windows 7

Windows XP/Vista

Linux

Mac os X

Physical board configuration

Which board do I have?

Left and right

Configuration with jumpers - overview

DAS1 V4, early 2017

DAS1 V3  2015

Common to all DAS1 models

Power via USB or direct

Input via microphones or audio jack

Microphone preamps

Additional jumper connections

Tune the master bias

Software configuration of biases and hardware

Biases

Channel-specific control - equalizer and channel enable bits

Scanner and ADC

Mic Preamp

Config

jAER viewing modes

Cochleagram

Rolling cochleagram

Rolling cochleagram with ADC

Chip renderer

Space-time

Rolling space-time

Recording DAS1 data

Additional technical documents

This user guide covers DAS1 binaural silicon cochlea board, which contains the CochleaAMS1c chip.  This is a beta product intended for basic research. To ensure the best results out of your DAS1, obtain the latest version of the jAER software and preferably use an integrated developer environment (IDE) (e.g. netbeans) to run the latest code base.

Specifications

Specifications for this Cochlea model can be seen here:

http://inilabs.com/products/dynamic-audio-sensor/

This paper describes the intended functionality of the device:

Liu, S. C., van Schaik, A., Minch, B., & Delbruck, T. (2014). Asynchronous Binaural Spatial Audition Sensor With 2 64 4 Channel Output. Biomedical Circuits and Systems, IEEE Transactions on, 8(4), 453-464.

The device contains some experimental circuitry, which is not described in the above paper. We only support the features of the device described in this paper.

Getting started

  1. Unpack CochleaAMS1c.
  2. Check the physical configuration of the board.
  3. Install jAER, following the instructions in the jAER user guide.
  4. Plug in the CochleaAMS1c to your PC (or Mac) using a USB A-B cable.  
  5. Install the driver, if necessary.
  6. Run jAER.
  7. Select the correct chip class: From the Interface menu select the device CochleaAMS1c and from AEChip menu select ch.inizh.jaer.chip.cochlea.CochleaAMS1c.
  8. Check the software configuration of your device, using jAER.

Install drivers

Windows 10

1) Download zadig from https://zadig.akeo.ie/ .

2) select CochleaAMS1c, then select winusb driver. If the DAS does not appear in the list, select Options/List all devices

It is possible with Zadig to install the winusb driver for any device, e.g. your mouse. Make sure the DAS device CochleaAMS1c is the selected device!

3) Click on install

4) once installed, please have a look at the Windows device manager, it should be listed as a CochleaAMS1c

5) after successful installation, open jAER and use the AEChip/Customize AEChip Menu…. to add CochleaAMS1cV4 chip.

Use AEChip menu to select the CochleaAMS1cv4 AEChip:

6) Open the Hardware Configuration Panel using the button at lower left of jAER window

7) In the Hardware configuration window, use File/Load settings... to select the correct bias settings file, which is located at the root of jAER in biasgenSettings/CochleaAMS1c and is named CochleaAMS1cV4-offChipPreamp.xml:

 

The DAS1 should start to show that it is making events.

If timestamps are not advancing (the time at top left is not increasing), select the menu CochleaAMS1cV4/Timestamp master/Enable sync event input twice (so that the checkbox is unselected).

If it is not working, see Physical board configuration section. You may have jumpers in the wrong position.

Windows 7

Windows 7 steps are illustrated here. The DAS1 uses the Thesycon USB drivers; this device has not yet been migrated to use the libUSB drivers as for other inilabs devices..

First, make sure to have a checkout of the drivers/ folder, which is not located alongside the jAER_1.5/ folder! It can be downloaded with Git from:

https://github.com/inilabs/devices-bin/tree/master/drivers 

After you plug in the device, you should get a dialog asking if you want to browse for the driver yourself. If you don't get this option, open the Device Manager (Run "devmgmt.msc") and select "Update driver" for the unknown device.

1)

browseForDriverWin7.png

2)

browseForDriverWin7-step2.png

3)

browseForDriverWin7-step3.png

4)

browseForDriverWin7-step4.png

5)

browseForDriverWin7-step5.png

6)

driverPanel.png

The driver is now installed correctly.

Windows XP/Vista

First, make sure to have a checkout of the drivers/ folder, which is not located alongside the jAER_1.5/ folder! It can be downloaded with Git from:

https://github.com/inilabs/devices-bin/tree/master/drivers 

The following applies to Windows XP, but Windows Vista/7 are similar. The basic installation can use our customized .inf driver installation, following these steps. After you plug in your CypressFX2 or CypressFX2LP based board follow these steps:

1) You will get the Found New Hardware dialog:

driver1.png

2) Tell it to install from a specific location:

driver2.png

3) Navigate to the drivers folder and select the correct folder for your device. e.g. for the silicon retinas, choose the folder drivers\windows\driverDVS_USBAERmini2, select OK, and click Next (Note that the actual folder name has changed compared with the screenshot shown below). You may need to select the proper 32/64 bit subfolder if the installer cannot search subfolders.

driver3.png

4) The installation should complete appropriately. Here is what happens for a CochelaAMS1c:

driver4.png

5) Now the Device Manager should show the device:

driver5.png

Linux

Driver is libusb, so no special steps should be required to install your system. This is true for both 32bit x86 and 64bit x86_64 versions. ARMv7-hf is also supported (Raspberry Pi, Pandaboard, ...).

However, it can happen that udev doesn't give your user access to USB devices it doesn't know about, in this case you just need to add an udev rules file and reload udev.

You can reload udev by either issuing the command udevadm control --reload or by rebooting your machine.

While everybody will need the 65-inilabs.rules file, the 66-inilabs_dev.rules file is only needed if you want to develop new device firmware or do major firmware upgrades.

Here an example for distributions like Fedora, which use SELinux tags to grant access:

/etc/udev/rules.d/65-inilabs.rules

# All Cochlea systems
SUBSYSTEM=="usb", ATTR{idVendor}=="152a", ATTR{idProduct}=="84[0-1]?", TAG+="uaccess"

/etc/udev/rules.d/66-inilabs_dev.rules
# Blank FX2 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", TAG+="uaccess"

And another one for other Linux distributions, which use standard permissions:

/etc/udev/rules.d/65-inilabs.rules

# All Cochlea systems
SUBSYSTEM=="usb", ATTR{idVendor}=="152a", ATTR{idProduct}=="84[0-1]?", MODE="0666"

/etc/udev/rules.d/66-inilabs_dev.rules
# Blank FX2 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", MODE="0666"

Mac os X

On Mac OS X 10.8+, the libusb driver is enabled by default and no special work is usually needed to access devices.

Physical board configuration

Some configurations of the DAS1 are done physically on the board.

Which board do I have?

The DAS1 board exists in various revisions, most notably, V2, V3 and V4.

DAS1 V4 was released in early 2017 and it looks as the following image:

Figure DAS1 V4 cochlea board

In order to operate correctly, in jAER it requires the selection of the CochleaAMS1cV4 class.

DAS1 V3/2/1 were released in 2015 and they need to be used with the older CochleaAMS1c chip class in jAER.

Left and right

By convention, in the image below we consider the microphone to the right to be the left microphone, and vice versa. The Left microphone is labelled on the board as MK1_AL and the right microphone is labelled as MK1_AR.

Configuration with jumpers - overview

DAS1 V4, early 2017

There are two modes of operation:

  1. Using the on-board microphone with off chip preamplification.
  2. Using direct jack input.

Mode 1. On-board microphones with off chip preamplification.

For the first mode of operation it is required to set the jumpers:

Default Configuration for input from onboard microphones with off chip pre-amplification. Red lines shows connections that are made by jumpers/cables. One jumper is used to short preamp0 with ausrc. A second cable is used to short off chip line on the green MIC1/MIC2 selector. A zoom of this configuration is shown in the following figure, only for the left channel.

Zoomed configuration for mode 1: on-board microphones with off chip preamplification

Mode 2. Direct jack input without pre-amplification.

Red lines shows connections that are made by jumpers/cables. One jumper is used to short directin with ausrc. A second cable is used to short direct input line on the green MIC1/MIC2 selector. Finally the audio out is sent to the on-chip preamplifiers. A zoom of this configuration is shown in the following figure, only for the left channel.

Zoomed configuration for mode 2: direct jack input.

DAS1 V3  2015

This picture shows the cochlea board, highlighting pin names, and their default configuration

cochlea_board.jpg

DAS1 V3

Common to all DAS1 models

Power via USB or direct

The PCB draws about 300mA from 5V VBUS on power up, which drops to 190mA when initialized and running.  This is near USB limit, if you experience power issues you can provide power (5V) via the Main Power switch. Main power jumper supplies VBUS to board (see Cochlea’s board section).

Input via microphones or audio jack

The input signal can be provided via on-board microphones or via a jack audio input. For each channel (left or right) if you plug in a jack input then this cuts off the on-board microphone; if no jack is plugged in then the input comes from the on-board microphone.

Microphone preamps

There are three options for preamplification:

The above options can be chosen separately for each channel (left vs right). Use jumpers to select preamp/direct connections. Three banks of jumpers are relevant, and all must be set correctly in order to achieve the desired configuration:

Jumper

JP14/JP24

JP1

JP9

Notes

Using off-chip MAX9814

Connect

Pre

off-chip

Power off the on-chip preamp by turning off biases Ibias10pAmp and Ibias20pAmp (see biases)

Direct, e.g. to sound card

Connect

Dir

direct

Using on-chip preamp

Open

open

on-chip

The on-chip preamp output is always connected to the basilar membrane input; jumpers 14 and 24 should be disconnected.

Additional jumper connections

Check that these jumpers on the board are in the position as shown in the images below. These jumpers sets some biases to the rail values.

Tune the master bias

The master bias current is controlled through a potentiometer on the board (this is the fundamental current from which all other bias currents are derived, see Biasing). The DAS1 comes with the master bias already tuned, however if you experience problems with the biases you should check that the master bias current is in the correct range. To do so, turn the potentiometer screw; RW clockwise (counterwise)  to increase (decrease) the master bias current. Check the voltage across the point RX (close to the potentiometer) to AGND. Make sure that the voltage is in the range between 300/400mV. The master bias current has a global influence on all cochlea’s parameters as it defines their reference value.

Software configuration of biases and hardware

Many configurations of the device, including on-chip analogue biases, are set via software - we recommend jAER’s biases and hardware configuration dialogue for this.The jAER user guide gives detailed instructions in how to use the software. This section assumes familiarity with the software and explains features specific to the DAS1.

In jAER, open the HW Configuration tab, by clicking on View -> Biases / Hardware Configuration (or HW Configuration at the bottom right of the live AEViewer). Load a hardware configuration using File -> Load settings. You can find the standard configuration files under:

jAER / biasgenSettings / CochleaAMS1c

These default biases are suitable for many situations:

CochleaAMS1cH2-offChipPreamp.xml

By default your cochlea comes with off-chip preamplification settings. If you select on-chip pre-amplification then you should instead use:

CochleaAMS1cH2-onChipPreamp.xml

The configuration options are explained in the following sections. Note the different tabs of the Hardware configuration tab.

Biases

The meaning of the biases are explained in the biasing guide.

The Basic controls tab allows you to easily experiment with the basic parameters of the device:

biases_cochlea.png

The Expert controls tab has two tabs, on-chip biases and off-chip biases.

On-chip biases:

Off-chip biases:

Channel-specific control - equalizer and channel enable bits

The DAS1 includes a DAC locally to each channel for fine-tuning of Q-factor. Adjusting these biases can help to compensation for mismatch along the cascade. Here is the equalizer tab:

Each slider represents one DAC. The DACs are 5 bit - consequently, each slider can be moved vertically to one of 32 positions. The higher the slider, the higher the Q factor. The upper bank of DACs is for the second-order sections (SOS), and the lower bank is for the experimental band-pass filters (BPF). Within each bank, the channel numbering increases from left to right (from high to low frequency). Within each bank there are 128 sliders, one for each channel for each of left and right. Left channels are even numbered and right channels are odd numbered.

At the bottom of this tab are the killbits - the “ganglion” of 4 neurons attached to each channel can be individually deactivated with this control. In the above example, all the LPF neurons (those driven from the half-wave rectified outputs of the second-order sections) are activated and all the BPF neurons are deactivated (the default setting). In the following example, these have been altered, by clicking and dragging with the left or right mouse buttons:

 

You can also use the all and none buttons to disable and enable an entire bank at once.

Scanner and ADC

In the DAS1 up to V3, various analogue test points within the chip could be brought out to an external 4-channel ADC. (On the V4 board, this facility has been removed, since its primary purpose was debugging). For each of these ADC channels, a selection of internal signals can be easily bridged with a jumper, according to the following schematic:

Clearly, further combinations are achievable using wires for bridging. The signals are as follows:

To choose the cochlea channel, in jAER, choose the scanner tab of the Biases/hardware configuration dialogue:

You can choose to enable continuous scanning, in which case the output of each channel will be output in sequence, incremented on each stroke of the CPLD clock; alternatively, you can choose which channel to output from, using the slider below.

Also, make sure that the ADC is enabled, by ticking ADCenabled on the ADC tab of the Biases/Hardware configuration dialogue:

To visualise the ADC data, use the rolling cochleagram with ADC display method.

If you log data whilst the ADC is running, the AEDAT file will contain a timestamped event for each sample. See here for the file format. Please note that as the selection of ADC inputs is manual, jAER has no knowledge of where the ADC inputs come from, and consequently, if data is logged whilst the ADC is enabled then logged files should be manually annotated to say what the signals in the ADC came from, as this is information is not stored in the file.

Mic Preamp

Use the Mic Preamp tab of the Expert controls tab to control the preamplifiers:

If you are using the on-chip pre-amp then you should select one of 4 levels of gain from the upper radio control.

If you are using the off-chip MAX9814 then use the lower section of the dialogue to modify its settings.

Config

jAER viewing modes

jAER offers 6 different modes for viewing live or recorded data from DAS1. These are explained in the jAER user guide, and summarised here. You switch between these modes either using the 3 key, or selecting them from View -> Display method.

Cochleagram

On the X-axis is there is time; a frame’s worth of data is displayed at once. On the Y-axis are channels from 0 up to 63. Outputs from the 4 neurons of each ganglion, and from SOS vs BPF, and from left vs right, are all merged onto single pixels. Green and red are used for the left and right channels. Where these overlap there is yellow. The FS parameter is not used.

Rolling cochleagram

This display mode is similar to the cochleagram mode, except that a frame’s worth of data as defined for the cochleagram is added from left to right until the screen fills, and then the screen is blanked and the process repeats. The FS parameter is used to control the number of frame’s worths of data are added before the process repeats. In fact 2^FS packets are squeezed into a single screen.

NB: If spikes appear only on the first column of the cochleagram the timestamp counter need to be set. Do so by clicking on ‘reset timestamp’ from Timestamp menu. The spikes should start rolling again.

Rolling cochleagram with ADC

This is the same as the rolling cochleagram mode, above, except that there is a lower panel which visualises samples from the ADC, if these are enabled. The ADC has 4 channels and these are output in different colours, as shown by the controls at the bottom of the panel.

Chip renderer

The X-axis is the 64 channels. The Y-axis is the different cell types. The top half are the LPF neurons and the bottom half are the experimental BPF neurons. Within each half, the top half are the right neurons and the bottom half are the left neurons. Within each quarter, there are 4 rows, one for each of the neurons in the respective ganglion. Any cell which produced a spike within the frame is coloured (red for right, green for left), and the FS parameter defines the number of spikes which had to arrive within a frame to produce a fully coloured cell.

Space-time

This gives a 3D view which you can rotate. The axes are x - the 64 channels, y - the 16 cell types, as defined above in the chip renderer display method, and t - time. More recent events are coloured red and older events are coloured green.

Rolling space-time

In this view there is a 3D rendering which you can rotate, with axes defined as above, but the data is rolled out along the time axis one frame’s worth at a time, where the FS parameter defines the number of frame’s worths of data there are, as in the rolling cochleagram display method, above.

Recording DAS1 data

Use jAER to log data in the .aedat file format. The jAER repository contains scripts for importing these files into matlab or python. The file format is explained here:

http://inilabs.com/support/software/fileformat/#h.b6cs448dhp9

Additional technical documents