Warning: Declaration of action_plugin_importoldchangelog::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/importoldchangelog/action.php on line 24 Warning: Declaration of action_plugin_safefnrecode::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/safefnrecode/action.php on line 16 Warning: Declaration of action_plugin_importoldindex::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/importoldindex/action.php on line 21 Warning: Declaration of action_plugin_popularity::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/popularity/action.php on line 21 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/auth.php on line 377 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/auth.php on line 656 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/auth.php on line 656 Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/auth.php on line 656 Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/actions.php on line 187 userguide [siliconretina]

User Tools

Site Tools


userguide

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

userguide [2013/09/17 08:41]
tobi [DVS128_PAER Documentation]
userguide [2013/10/30 23:48] (current)
tobi
Line 2: Line 2:
  
 {{dvs128-032.jpg?w=400|DVS128 camera systems}} {{dvs128-032.jpg?w=400|DVS128 camera systems}}
 +{{:20130918-135744.jpg?400|DVS128_PAER camera}}
 +===== Tmpdiff128 Vision Sensor Camera models =====
  
- +There are three camera models all built around the same **//Tmpdiff128//** dynamic vision sensor chip: The **//DVS128//**, the **//DVS128_PAER//**, and the **//eDVS128//**
- +
-==== Tmpdiff128 Vision Sensor Camera models ==== +
- +
-There are three camera models all built around the same //Tmpdiff128// dynamic vision sensor chip: The //DVS128//, the //DVS128_PAER//, and the //eDVS128//. +
  
   * The **DVS128** camera has a high-speed USB2.0 interface capable of full speed (up to 2Meps) AER data capture and a strong plastic case with integrated tripod mount and camera sync connector pins. The DVS128 is intended for jAER-based PC applications.   * The **DVS128** camera has a high-speed USB2.0 interface capable of full speed (up to 2Meps) AER data capture and a strong plastic case with integrated tripod mount and camera sync connector pins. The DVS128 is intended for jAER-based PC applications.
   * The** DVS128_PAER** is a bare-board camera that offers parallel AER connectors for direct interfacing of the DVS sensor to other AER systems, supporting two connector standards (Rome and CAVIAR). It has a full-speed USB2.0 controller that allows configuration of the camera biases and sniffing of AER data up to 100keps. However, the USB function is only intended to monitor the camera output because the USB interface is designed to passively monitor the AER bus without affecting communication with other hardware.   * The** DVS128_PAER** is a bare-board camera that offers parallel AER connectors for direct interfacing of the DVS sensor to other AER systems, supporting two connector standards (Rome and CAVIAR). It has a full-speed USB2.0 controller that allows configuration of the camera biases and sniffing of AER data up to 100keps. However, the USB function is only intended to monitor the camera output because the USB interface is designed to passively monitor the AER bus without affecting communication with other hardware.
-  * The **eDVS128** camera is an embedded camera that integrates the Tmpdiff128 sensor chip with a 32-bit microcontoller. [[https://wiki.lsr.ei.tum.de/nst/programming/edvsgettingstarted|Please see here for the eDVS (embedded dynamic vision sensor).]]+  * The **eDVS128** camera is an embedded camera that integrates the Tmpdiff128 sensor chip with a 32-bit microcontoller. [[https://wiki.lsr.ei.tum.de/nst/programming/edvsgettingstarted|Please see here for the eDVS128 (embedded dynamic vision sensor).]]
  
 Most of the information on this userguide page applies to all three camera models. However, some features, such as firmware update and LED functionality, are specific to models. Most of the information on this userguide page applies to all three camera models. However, some features, such as firmware update and LED functionality, are specific to models.
Line 19: Line 17:
  
 Biases are found in the [[http://jaer.svn.sourceforge.net/viewvc/jaer/trunk/biasgenSettings/|biasgenSettings folder]]. Use //tmpdiff128.xml// for the original bare boards and one of the //DVS128*.xml// for the new DVS128 sensors. Biases are found in the [[http://jaer.svn.sourceforge.net/viewvc/jaer/trunk/biasgenSettings/|biasgenSettings folder]]. Use //tmpdiff128.xml// for the original bare boards and one of the //DVS128*.xml// for the new DVS128 sensors.
- 
- 
-===== DVS128 Camera Firmware Updates ===== 
- 
-The DVS128 firmware (CypressFX2 software and CPLD configuration) can be updated easily (although firmware updates always have some element of risk).   
- 
-The [[https://sourceforge.net/apps/trac/jaer/browser/trunk/deviceFirmwarePCBLayout/CypressFX2/firmware_FX2LP_DVS128/CHANGELOG.txt|change log]] shows the firmware revision information.  
- 
-==== IMPORTANT ====  
-  - firmware updates were previously broken when running jAER using the standard JRE. Make sure you have updated your working copy before attempting firmware update! 
-  - Firmware updates have only been tested with a single DVS128 plugged in. 
- 
-You can check which firmware version you have and then optionally update. Do this by using the USB menu (with the DVS128 plugged in): 
- 
-{{:updatefirmware1.png|DVS128 firmware update}} {{:updatefirmware2.png|Version check}} 
- 
-The [[https://jaer.svn.sourceforge.net/svnroot/jaer/trunk/deviceFirmwarePCBLayout/CypressFX2/firmware_FX2LP_DVS128/CHANGELOG.txt|DVS128 firmware changelog]] records changes to DVS128 firmware. Updating firmware is always risky and if something goes wrong you may need to return the camera for a new EEPROM (for which we will charge.) If you elect to update, you should see a progress bar followed by success: 
- 
-{{:updatefirmware3.png|Firmware update progress}} {{:updatefirmware4.png|Firmware update success}} 
- 
- 
- 
- 
- 
- 
- 
- 
  
 ===== Optics ===== ===== Optics =====
  
-The [[http://www.ini.uzh.ch/~tobi/resources/|lens mount]] shown above for the integrated lens mount in the DVS128 camera and the DVS128_PAER is designed for **CS mount lenses**. If you have a C-mount lens (which can be identified from a marking on the lens), you will need to get an C to CS converter adapter that moves the lens further from the chip. The chip requires lens designed for 1/2 inch imagers (die size is 6.0x6.3mm and active area is 5.12x5.12mm. In any case, the field of view is larger than that of common 1/3 inch imagers for which many lens are sold.+(This information applies to all camera models, but the eDVS has an M12x0.5mm lens) The [[http://www.ini.uzh.ch/~tobi/resources/|lens mount]] shown above for the integrated lens mount in the DVS128 camera and the DVS128_PAER is designed for **CS mount lenses**. If you have a C-mount lens (which can be identified from a marking on the lens), you need to use the C to CS converter adapter ring (normally supplied with the device) that moves the lens further from the chip. The chip requires lens designed for 1/2 inch imagers (die size is 6.0x6.3mm and active area is 5.12x5.12mm. In any case, the field of view is larger than that of common 1/3 inch imagers for which many lens are sold.
  
 The field of view (**FOV**) depends on the focal length **L** of the lens and the size **W** of the pixel array. The angular FOV (AFOV) is given by  The field of view (**FOV**) depends on the focal length **L** of the lens and the size **W** of the pixel array. The angular FOV (AFOV) is given by 
Line 67: Line 38:
 ^  lens focal length \\ (mm)  ^  AFOV\\  horizontal or vertical\\ (deg)  ^  AFOV diagonal\\  (deg)  ^  LFOV  \\  (cm)  ||| ^  lens focal length \\ (mm)  ^  AFOV\\  horizontal or vertical\\ (deg)  ^  AFOV diagonal\\  (deg)  ^  LFOV  \\  (cm)  |||
 ^ | | | distance 10 cm | distance 30 cm | distance 100 cm | ^ | | | distance 10 cm | distance 30 cm | distance 100 cm |
-^ 2.6 | 89.1 | 125.7 | 19.7 | 59.1 | 196.9 | +^ 2.6 | 89.1 | 108.6 | 19.7 | 59.1 | 196.9 | 
-^ 3.6 | 70.8 | 99.9 | 14.2 | 42.7 | 142.2 | +^ 3.6 | 70.8 | 90.3 | 14.2 | 42.7 | 142.2 | 
-^ 4 | 65.2 | 92.0 | 12.8 | 38.4 | 128.0 |+^ 4 | 65.2 | 84.3 | 12.8 | 38.4 | 128.0 |
 ^ 4.5 | 59.3 | 77.6 | 11.4 | 34.1 | 113.7 | ^ 4.5 | 59.3 | 77.6 | 11.4 | 34.1 | 113.7 |
-^ 6 | 46.2 | 65.2 | 8.5 | 25.6 | 85.3 | +^ 6 | 46.2 | 62.2 | 8.5 | 25.6 | 85.3 | 
-^ 8 | 35.5 | 50.0 | 6.4 | 19.2 | 64.0 | +^ 8 | 35.5 | 48.7 | 6.4 | 19.2 | 64.0 | 
-^ 12 | 24.1 | 34.0 | 4.3 | 12.8 | 42.7 |+^ 12 | 24.1 | 33.6 | 4.3 | 12.8 | 42.7 |
 ^ 25 | 11.7 | 16.5 | 2.0 | 6.1 | 20.5 | ^ 25 | 11.7 | 16.5 | 2.0 | 6.1 | 20.5 |
  
 +===== Hints on biasing =====
  
 +(This information applies to all camera models.) The default biases //DVS128Slow.xml// or //Tmpdiff128.xml// (in the Biases are found in the [[http://jaer.svn.sourceforge.net/viewvc/jaer/trunk/biasgenSettings/|biasgenSettings folder]].) are suitable for many situations. These settings can be saved to a location of your choice and then opened from the Biasgen File/Load settings... dialog. After that the settings will be stored as your default preferences. Other settings are stored in files starting with the device class name in jAER.
  
-===== Camera synchronization =====+You can open the Biasgen window from the button at the bottom of the JAERViewer window or from the View menu.
  
-Multiple cameras can be synchronized to microsecond time-stamp precisionTo connect cameras, you can use coax cables together with t-connectors and the Pomona Electronics 5069 coax breakout adaptor with 0.025" pin connectors (e.g. http://www.digikey.com/product-search/en?x=-1075&y=-87&lang=en&site=us&KeyWords=pomona+5069 or http://www.testpath.com/Items/Breakout-BNC-Female-to-0025-in-Square-Pin-Sockets-113-531.htm)+The most recent loaded or saved bias settings are persistent--the next time you start the jAERViewer application you will get the most recent saved bias valuesIf you wish to export these more permanently you can do so with the //File/Save settings...// dialog**If you change biases without saving, then your changes will be lost.**
  
-Electrical synchronization capabilities depend on the camera version.+The Biasgen control panel support unlimited Undo and Redo, including reversion to saved settings, so you can feel safe about playing with the settings.
  
-=== DVS128 cameras ===+The View menu allows disabling unneeded views of the bias values, e.g. the bit values.
  
-The DVS128 cameras can be precisely synchronized so that simultaneous events from two cameras will receive exactly the same timestamps. The camera have the capability that one camera can be the master timestamp source which clocks the the other's timestamp counter. +===== Controlling the biases =====
  
-For synchronization, cameras with a firmware version number >= 11 should be used, older firmware versions are not synchronized properly if the USB load is high.  +The biases control panel has two tabs: //Basic controls// and //Expert controls//
-To enable this functionality, the cameras must be connected so that the **OUT** of the master is connected to the **IN** of the slave(s). If the cameras are connected to the same computer, the ground pins do not have to be connected (to avoid possible ground loops). If the cameras are connected to different computers, the ground pins should be connected as shown below.+
  
-Starting from firmware version 11, the timestamp master camera has to be selected in software.  +The Basic controls tab looks like this:
-In the jAER software, for the timestamp master (where the **OUT** is connected) the checkbox 'Timestamp master / enable sync event output' in the DVS128-menu has to be checked, for the slave(s), this checkbox has to be unchecked.+
  
-The master camera keeps its bottom LED lit, while the slaves extinguish theirs.+{{:dvs128basiccontrols.png|Basic controls}}
  
-To synchronize the cameras after plugging them in, press '0' in the AEViewer window of the timestamp master to reset the timestamps of all the cameras.+Using these controls you can vary the biases around the nominal values loaded from the settings file (e.g. //DVS128Fast.xml//).
  
-{{dvs128-120.jpg?w=600|Connecting DVS128 to synchronize timestamps}}+The Expert controls tab looks something like this:
  
 +{{:dvs128expertcontrols.png|Expert controls}}
  
-=== External synchronization - e.g. from a different device ===+These controls directly vary bias currents.
  
-A capability of DVS128 firmware revision 7+ is the ability to inject synthetic events into the event stream on falling edges detected on the IN pin. In this mode, the function of the IN pin is modified so that instead of clocking the internal timestamp counter, it now injects a special event with bit 15 set on every falling edge of the IN pin.+For dark conditions, it may be helpful to reduce //Pr// and/or //foll// to slow the front end photoreceptor to prevent parasitic oscillations.
  
-These //sync events// are generated on each falling edge at the IN pin.+For high speed operation, it may be helpful to increase //Pr//, //foll//, and //refr//. Hover over the bias name to get a tooltip hint as to its functionality.
  
-**The IN pin is not 5V tolerant.** High must not exceed 3.3V.+==== To adjust thresholds ====
  
-To enable this mode, first check your camera firmware version. Then, while the DVS128 is plugged in, use the DVS128 menu to select the sync event enabled, as shown in the screen shot below:+Sliding //diffOn// to left towards //diff// decreases ON event threshold.
  
-{{:synceventenable.png|Enabling sync events}}+Sliding //diffOFF// to right towards //diff// decreases OFF event threshold.
  
-Falling edges of the IN pin should result in logging these special events: +===== Data Recording (logging) ===== 
-  + 
-                      if((addresses[eventCounter]&SYNC_EVENT_BITMASK)!=0){ +To record camera data (recording is called //Logging// in jAER), see the [[http://jaer.wiki.sourceforge.net|jAER project wiki]] for more information, in particular [[http://jaer.wiki.sourceforge.net/jAER+with+Matlab|this page about loading logged AE data into matlab]].
-                            log.info("sync event at timestamp="+timestamps[eventCounter]); +
-                        }+
  
-===== Stereo recording =====+===== Stereo Camera configurations =====
  
-By choosing the //AEChip// //Tmpdiff128StereoPair// as shown below, you can plug in two DVS128 by separate USB interfaces and they will be treated as a stereo pair.  Recording, playback, control of biases, common filtering, etc are applied to the resulting stereo stream. //(This class name may change in the future.)//+By choosing the //AEChip// //DVS128StereoPair// as shown below, you can plug in two DVS128 by separate USB interfaces and they will be treated as a stereo pair.  Recording, playback, control of biases, common filtering, etc are applied to the resulting stereo stream. //(This class name may change in the future.)//
  
 {{:stereopair.png|The stereo pair class}} {{:stereopair.png|The stereo pair class}}
Line 138: Line 108:
  
  
 +===== DVS128 Camera Specific Information =====
  
-===== Hints on biasing =====+The information below about firmware updates and multi-camera synchronization apply to the DVS128 camera.
  
-The default biases //DVS128Slow.xml// or //Tmpdiff128.xml// (in the Biases are found in the [[http://jaer.svn.sourceforge.net/viewvc/jaer/trunk/biasgenSettings/|biasgenSettings folder]].) are suitable for many situations. These settings can be saved to a location of your choice and then opened from the Biasgen File/Load settings... dialog. After that the settings will be stored as your default preferences. Other settings are stored in files starting with the device class name in jAER.+==== DVS128 Camera Firmware Updates ====
  
-You can open the Biasgen window from the button at the bottom of the JAERViewer window or from the View menu.+The DVS128 firmware (CypressFX2 software and CPLD configuration) can be updated easily (although firmware updates always have some element of risk) 
  
-The most recent loaded or saved bias settings are persistent--the next time you start the jAERViewer application you will get the most recent saved bias valuesIf you wish to export these more permanently you can do so with the //File/Save settings...// dialog**If you change biases without saving, then your changes will be lost.**+The [[https://sourceforge.net/apps/trac/jaer/browser/trunk/deviceFirmwarePCBLayout/CypressFX2/firmware_FX2LP_DVS128/CHANGELOG.txt|change log]] shows the firmware revision information
  
-The Biasgen control panel support unlimited Undo and Redo, including reversion to saved settings, so you can feel safe about playing with the settings.+=== IMPORTANT ===  
 +  - firmware updates were previously broken when running jAER using the standard JRE. Make sure you have updated your working copy before attempting firmware update! 
 +  - Firmware updates have only been tested with a single DVS128 plugged in.
  
-The View menu allows disabling unneeded views of the bias values, e.g. the bit values.+You can check which firmware version you have and then optionally update. Do this by using the USB menu (with the DVS128 plugged in):
  
-===== Controlling the biases =====+{{:updatefirmware1.png|DVS128 firmware update}} {{:updatefirmware2.png|Version check}}
  
-The biases control panel has two tabs: //Basic controls// and //Expert controls//. +The [[https://jaer.svn.sourceforge.net/svnroot/jaer/trunk/deviceFirmwarePCBLayout/CypressFX2/firmware_FX2LP_DVS128/CHANGELOG.txt|DVS128 firmware changelog]] records changes to DVS128 firmware. Updating firmware is always risky and if something goes wrong you may need to return the camera for a new EEPROM (for which we will charge.) If you elect to update, you should see a progress bar followed by success:
  
-The Basic controls tab looks like this:+{{:updatefirmware3.png|Firmware update progress}} {{:updatefirmware4.png|Firmware update success}}
  
-{{:dvs128basiccontrols.png|Basic controls}}+==== DVS128 Camera synchronization ====
  
-Using these controls you can vary the biases around the nominal values loaded from the settings file (e.g. //DVS128Fast.xml//).+Multiple cameras can be synchronized to microsecond time-stamp precision. To connect cameras, you can use coax cables together with t-connectors and the Pomona Electronics 5069 coax breakout adaptor with 0.025" pin connectors (e.g. http://www.digikey.com/product-search/en?x=-1075&y=-87&lang=en&site=us&KeyWords=pomona+5069 or http://www.testpath.com/Items/Breakout-BNC-Female-to-0025-in-Square-Pin-Sockets-113-531.htm). 
  
-The Expert controls tab looks something like this:+The DVS128 cameras can be precisely synchronized so that simultaneous events from two cameras will receive exactly the same timestamps. The camera have the capability that one camera can be the master timestamp source which clocks the the other's timestamp counter. 
  
-{{:dvs128expertcontrols.png|Expert controls}}+For synchronization, DVS128 cameras with a firmware version number >= 11 should be used, older firmware versions are not synchronized properly if the USB load is high.  
 +To enable this functionality, the cameras must be connected so that the **OUT** of the master is connected to the **IN** of the slave(s). If the cameras are connected to the same computer, the ground pins do not have to be connected (to avoid possible ground loops). If the cameras are connected to different computers, the ground pins should be connected as shown below.
  
-These controls directly vary bias currents.+Starting from firmware version 11, the timestamp master camera has to be selected in software.  
 +In the jAER software, for the timestamp master (where the **OUT** is connected) the checkbox 'Timestamp master / enable sync event output' in the DVS128-menu has to be checked, for the slave(s), this checkbox has to be unchecked.
  
-For dark conditionsit may be helpful to reduce //Pr// and/or //foll// to slow the front end photoreceptor to prevent parasitic oscillations.+The master camera keeps its bottom LED litwhile the slaves extinguish theirs.
  
-For high speed operationit may be helpful to increase //Pr//, //foll//, and //refr//. Hover over the bias name to get a tooltip hint as to its functionality.+To synchronize the cameras after plugging them inpress '0' in the AEViewer window of the timestamp master to reset the timestamps of all the cameras.
  
-==== To adjust thresholds ====+{{dvs128-120.jpg?w=600|Connecting DVS128 to synchronize timestamps}}
  
-Sliding //diffOn// to left towards //diff// decreases ON event threshold. 
  
-Sliding //diffOFF// to right towards //diff// decreases OFF event threshold.+=== DVS128 External synchronization - e.g. from a different device ===
  
 +A capability of DVS128 firmware revision 7+ is the ability to inject synthetic events into the event stream on falling edges detected on the IN pin. In this mode, the function of the IN pin is modified so that instead of clocking the internal timestamp counter, it now injects a special event with bit 15 set on every falling edge of the IN pin.
  
 +These //sync events// are generated on each falling edge at the IN pin.
  
 +**The IN pin is not 5V tolerant.** High must not exceed 3.3V.
  
-===== Data logging =====+To enable this mode, first check your camera firmware version. Then, while the DVS128 is plugged in, use the DVS128 menu to select the sync event enabled, as shown in the screen shot below:
  
-See the [[http://jaer.wiki.sourceforge.net|jAER project wiki]] for more information, in particular [[http://jaer.wiki.sourceforge.net/jAER+with+Matlab|this page about loading logged AE data into matlab]].+{{:synceventenable.png|Enabling sync events}}
  
 +Falling edges of the IN pin should result in logging these special events:
 + 
 +                      if((addresses[eventCounter]&SYNC_EVENT_BITMASK)!=0){
 +                            log.info("sync event at timestamp="+timestamps[eventCounter]);
 +                        }
  
  
  
- +==== DVS128 LEDs and Sync Connectors ====
-===== Specifications ===== +
- +
-| Functionality|Asynchronous temporal contrast | +
-| Pixel size um (lambda)|40x40 (200x200) | +
-| Fill factor (%)|9% (PD area 151μm<sup>2</sup>) | +
-| Fabrication process|4M 2P 0.35um standard CMOS | +
-| Pixel complexity|26 transistors (14 analog), 3 capacitors | +
-| Array size|128x128, 16k pixels | +
-| Die size mm<sup>2</sup>|6.0 x 6.3 | +
-| Chip interface|15-bit word-parallel AER\\ active low Req and Ack 4-phase handshake| +
-| Computer interface|USB 2.0, Windows XP driver\\ [[http://jaer.wiki.sourceforge.net|Java API]] & Matlab output file format | +
-| Power consumption|Chip: 23mW @ 3.3V\\ 1.5mA core\\ 0.3mA logic\\ 5.5mA biases\\ USB System: approx. 70mA | +
-| Dynamic range|120dB\\ 2 lux to > 100 klux scene illumination with f/1.2 lens with normal contrast objects\\ Moonlight (<0.1 lux) with high contrast scene | +
-| Photodiode dark current at room temperature|4fA (~10nA/cm<sup>2</sup>)\\ Nwell photodiode | +
-| Response latency|15μs @ 1 klux chip illumination | +
-| Max events/sec|~1M events/sec | +
-| Pixel matching|2.1% contrast\\ (The event threshold 1-sigma mismatch is 2.1% contrast) | +
-| Optics|Standard CS-mount lenses\\ Other custom mounts available | +
-| Board dimensions|Width: 49mm\\  Height: 36.25mm\\  Depth (OD from front to back of boards): 14mm\\  PGA 101 package: 33.6mm square | +
- +
- +
-===== DVS128 LEDs and Sync Connectors =====+
 Close up photos of the DVS128 sensor (older prototype version shown here) are shown below. The blinking HB (heartbeat) LED shows that the cameras controller is running. The M (master) LED is ON as long as the DVS128 is time-stamp master, it turns off, if the DVS128 is clocked externally. The synchronization pin usage is explained above. Close up photos of the DVS128 sensor (older prototype version shown here) are shown below. The blinking HB (heartbeat) LED shows that the cameras controller is running. The M (master) LED is ON as long as the DVS128 is time-stamp master, it turns off, if the DVS128 is clocked externally. The synchronization pin usage is explained above.
  
Line 216: Line 176:
  
 ===== DVS128_PAER Documentation ===== ===== DVS128_PAER Documentation =====
 +
 +{{:dvs128_paer-photo-annotated.png?300|DVS128_PAER front side}}
 +{{:dvs128_paer-photo-backside-annotated.png?300|DVS128_PAER back side}}
 +
  
 The DVS128_PAER uses a Silicon Laboratories C8051F320 microcontroller. On the host side, the same USB driver that communicates with the DVS128 is also used to communicate with the DVS128_PAER. However the DVS128_PAER USB communication bandwidth is much more limited (to a maximum of about 100keps) and the main use of the jAER USB interface is for sensor bias setting and "sniffing" the events sent on the AER bus to another device. The DVS128_PAER uses a Silicon Laboratories C8051F320 microcontroller. On the host side, the same USB driver that communicates with the DVS128 is also used to communicate with the DVS128_PAER. However the DVS128_PAER USB communication bandwidth is much more limited (to a maximum of about 100keps) and the main use of the jAER USB interface is for sensor bias setting and "sniffing" the events sent on the AER bus to another device.
  
 To use the DVS128_PAER in jAER, use the AEChip **DVS128**, and load the biases **biasgenSettings/DVS128/DVS128_PAER.xml**.  Make sure that the REQ/ACK jumper is shorted (see below). To use the DVS128_PAER in jAER, use the AEChip **DVS128**, and load the biases **biasgenSettings/DVS128/DVS128_PAER.xml**.  Make sure that the REQ/ACK jumper is shorted (see below).
- 
  
 ==== DVS128_PAER LEDs and Jumpers ==== ==== DVS128_PAER LEDs and Jumpers ====
  
-{{:dvs128_paer_pcbmodel.png?direct&600|3d DVS128_PAER PCB model}}+{{:dvs128_paer_pcbmodel-annotated-final.png?direct&600|3d DVS128_PAER PCB model}}
  
 There are two LEDs, L1 and L2 at the top center of the PCB.  There are two LEDs, L1 and L2 at the top center of the PCB. 
Line 233: Line 196:
 There are also two important jumpers. There are also two important jumpers.
  
-  * **USB_PS/EXT_PS**:  (left of the DVS sensor) This jumper powers the board from USB VBUS (5V) power or from the external power supply. +  * **USB_PS/EXT_PS**:  (left of the tmpdiff128 DVS sensor) This jumper powers the board from USB VBUS (5V) power or from the external power supply. 
-  * **REQ/ACK**: (top right of the DVS sensor) This jumper connects the AER request and acknowledge signals so that the DVS chip handshakes with itself. If this jumper is left unconnected, no data will appear in jAER. Disconnect the jumper if the DVS chip is handshaking with a receiver device.+  * **REQ/ACK**: (top right of the tmpdiff128 DVS sensor) This jumper connects the AER request and acknowledge signals so that the DVS chip handshakes with itself. If this jumper is left unconnected, no data will appear in jAER. Disconnect the jumper if the DVS chip is handshaking with a receiver device
 + 
 +The AER header pins are documented in [[https://sourceforge.net/p/jaer/code/HEAD/tree/trunk/doc/AERHardwareAndCabling.pdf?format=raw|AERHardwareAndCabling.pdf]]. The 20 pin header uses the so-called Rome standard, and the 40-pin IDE header uses the so-called CAVIAR standard.
 ==== DVS128_PAER additional documentation ==== ==== DVS128_PAER additional documentation ====
  
    
   * [[http://sourceforge.net/p/jaer/code/HEAD/tree/trunk/doc/DVS128_PAER_PCB_2009.pdf?format=raw|DVS128_PAER PCB Schematics and Layout]]   * [[http://sourceforge.net/p/jaer/code/HEAD/tree/trunk/doc/DVS128_PAER_PCB_2009.pdf?format=raw|DVS128_PAER PCB Schematics and Layout]]
-  *  [[http://sourceforge.net/p/jaer/code/HEAD/tree/trunk/deviceFirmwarePCBLayout/SiLabsC8051F320/DVS128_PAER_PCB_2009_Firmware/[|DVS128_PAER firmware directory in jAER]].+  *  [[https://sourceforge.net/p/jaer/code/HEAD/tree/trunk/deviceFirmwarePCBLayout/SiLabsC8051F320/DVS128_PAER_PCB_2009_Firmware/|DVS128_PAER firmware directory in jAER]].
   * [[http://sourceforge.net/p/jaer/code/HEAD/tree/trunk/deviceFirmwarePCBLayout/SiLabsC8051F320/DVS128_PAER_PCB_2009_Firmware/USB_Main.c|USB_Main.c - the main firmware file]]   * [[http://sourceforge.net/p/jaer/code/HEAD/tree/trunk/deviceFirmwarePCBLayout/SiLabsC8051F320/DVS128_PAER_PCB_2009_Firmware/USB_Main.c|USB_Main.c - the main firmware file]]
 +
 +====== Specifications ======
 +
 +===== Tmpdiff128 Specifications =====
 +
 +The specifications below apply to the vision sensor chip Tmpdiff128 that is used in all camera models. For detailed background on these specifications, see [[http://siliconretina.ini.uzh.ch/wiki/lib/exe/fetch.php?media=lichtsteiner_dvs_jssc08.pdf|this JSSC paper]].
 +
 +| Functionality|Asynchronous temporal contrast |
 +| Pixel size um (lambda)|40x40 (200x200) |
 +| Fill factor (%)|9% (PD area 151μm<sup>2</sup>) |
 +| Fabrication process|4M 2P 0.35um standard CMOS |
 +| Pixel complexity|26 transistors (14 analog), 3 capacitors |
 +| Array size|128x128, 16k pixels |
 +| Die size mm<sup>2</sup>|6.0 x 6.3 |
 +| Chip interface|15-bit word-parallel AER\\ active low Req and Ack 4-phase handshake|
 +| Power consumption|Chip: 23mW @ 3.3V\\ 1.5mA core\\ 0.3mA logic\\ 5.5mA biases |
 +| Dynamic range|120dB\\ 2 lux to > 100 klux scene illumination with f/1.2 lens with normal contrast objects\\ Moonlight (<0.1 lux) with high contrast scene |
 +| Photodiode dark current at room temperature|4fA (~10nA/cm<sup>2</sup>)\\ Nwell photodiode |
 +| Response latency|15μs @ 1 klux chip illumination |
 +| Max events/sec|~1M events/sec |
 +| Pixel matching|2.1% contrast\\ (The event threshold 1-sigma mismatch is 2.1% contrast) |
 +| Board dimensions|Width: 49mm\\  Height: 36.25mm\\  Depth (OD from front to back of boards): 14mm\\  PGA 101 package: 33.6mm square |
 +
 +===== DVS128 Specifications =====
 +These specifications apply to the DVS128 camera.
 +
 +| Computer interface|USB 2.0 standard B female connector, Windows XP/7/8 x32/x64, Linux x64, Mac OS drivers\\ [[http://jaerproject.net|Java API]]  |
 +| Power consumption, USB 5V VBUS| Low activity, 60mA, High activity, 100mA |
 +| Optics|Standard CCTV CS-mount lenses for 1/2" format cameras |
 +
 +====== Troubleshooting ======
 +
 +This section will be added to as new problems are reported on the sourceforge help forum.
 +
 +Symptoms:
 +
 +jAER is running and a DVS is plugged in. Either there are no spikes coming out, or there are some spikes but they don't make sense.
 +
 +Possible solutions: 
 +
 +1) Check that all filters are disabled.
 +2) Check that the lens aperture is open.
  
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/httpd/vhosts/siliconretina.ini.uzh.ch/httpdocs/wiki/inc/auth.php on line 656 userguide.1379400117.txt.gz · Last modified: 2013/09/17 08:41 by tobi