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.
Configuration with jumpers - overview
Input via microphones or audio jack
Software configuration of biases and hardware
Channel-specific control - equalizer and channel enable bits
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 for this Cochlea model can be seen here:
http://inilabs.com/products/dynamic-audio-sensor/
This paper describes the intended functionality of the device:
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.
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 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)
2)
3)
4)
5)
6)
The driver is now installed correctly.
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:
2) Tell it to install from a specific location:
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.
4) The installation should complete appropriately. Here is what happens for a CochelaAMS1c:
5) Now the Device Manager should show the device:
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"
On Mac OS X 10.8+, the libusb driver is enabled by default and no special work is usually needed to access devices.
Some configurations of the DAS1 are done physically on the board.
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.
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.
There are two modes of operation:
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.
This picture shows the cochlea board, highlighting pin names, and their default configuration
DAS1 V3
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).
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.
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. |
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.
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.
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.
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:
The Expert controls tab has two tabs, on-chip biases and off-chip biases.
On-chip biases:
Off-chip biases:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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