jAER project on SourceForge

net.sf.jaer.biasgen
Class Masterbias

java.lang.Object
  extended by java.util.Observable
      extended by net.sf.jaer.biasgen.Masterbias
All Implemented Interfaces:
BiasgenPreferences

public class Masterbias
extends java.util.Observable
implements BiasgenPreferences

Describes the master bias circuit and its configuration, and supplies methods for estimating parameters.

The schematic of a masterbias looks like this:

The master current is estimated in strong inversion as indicated in http://www.ini.unizh.ch/~tobi/biasgen/> as follows

See http://www.ini.unizh.ch/~tobi/biasgen

Author:
tobi

Field Summary
 boolean internalResistorUsed
          boolean that is true if we are using the internal resistor in series with an off-chip external resistor
 boolean powerDownEnabled
          true to power down masterbias, via powerDown input
 float rExternal
          external resistor used.
 float rInternal
          internal (on-chip) resistor value.
 float temperatureCelsius
          temperature in degrees celsius
 
Constructor Summary
Masterbias(Biasgen biasgen)
          Creates a new instance of Masterbias.
 
Method Summary
 void exportPreferences(java.io.OutputStream os)
          export the prefered values to an OutputStream
 float getCurrent()
          the sum of weak and strong inversion master current estimates
 float getCurrentStrongInversion()
          estimated current if master running in strong inversion, computed from formula in http://www.ini.unizh.ch/~tobi/biasgen/> paper.
 float getCurrentWeakInversion()
          estimated current if operating in weak inversion: log(M) UT/R
 float getKPrimeNFet()
           
 float getMultiplier()
           
 float getRExternal()
           
 float getRInternal()
           
 float getTemperatureCelsius()
           
 float getTotalResistance()
           
 float getWOverL()
           
 void importPreferences(java.io.InputStream is)
          import prefs from an InputStream
 boolean isInternalResistorUsed()
           
 boolean isPowerDownEnabled()
           
 void loadPreferences()
          load the stored preferred values -- e.g.
 void setInternalResistorUsed(boolean internalResistorUsed)
           
 void setKPrimeNFet(float kPrimeNFet)
           
 void setMultiplier(float multiplier)
           
 void setPowerDownEnabled(boolean powerDownEnabled)
           
 void setRExternal(float rx)
           
 void setRInternal(float rint)
           
 void setTemperatureCelsius(float temperatureCelsius)
           
 void setWOverL(float WOverL)
           
 void storePreferences()
          store the present values as the preferred values
 java.lang.String toString()
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

powerDownEnabled

public boolean powerDownEnabled
true to power down masterbias, via powerDown input


internalResistorUsed

public boolean internalResistorUsed
boolean that is true if we are using the internal resistor in series with an off-chip external resistor


rInternal

public float rInternal
internal (on-chip) resistor value. This is what you get when you tie pin rInternal to ground.


rExternal

public float rExternal
external resistor used. This can be the only capacitance if you tie it in line with rExternal, "rx". If you tie it to rInternal, you get the sum.


temperatureCelsius

public float temperatureCelsius
temperature in degrees celsius

Constructor Detail

Masterbias

public Masterbias(Biasgen biasgen)
Creates a new instance of Masterbias.

Method Detail

getTotalResistance

public float getTotalResistance()

getCurrentWeakInversion

public float getCurrentWeakInversion()
estimated current if operating in weak inversion: log(M) UT/R


getCurrentStrongInversion

public float getCurrentStrongInversion()
estimated current if master running in strong inversion, computed from formula in http://www.ini.unizh.ch/~tobi/biasgen/> paper.


getCurrent

public float getCurrent()
the sum of weak and strong inversion master current estimates


getRInternal

public float getRInternal()

setRInternal

public void setRInternal(float rint)

getRExternal

public float getRExternal()

setRExternal

public void setRExternal(float rx)

exportPreferences

public void exportPreferences(java.io.OutputStream os)
Description copied from interface: BiasgenPreferences
export the prefered values to an OutputStream

Specified by:
exportPreferences in interface BiasgenPreferences

importPreferences

public void importPreferences(java.io.InputStream is)
Description copied from interface: BiasgenPreferences
import prefs from an InputStream

Specified by:
importPreferences in interface BiasgenPreferences

loadPreferences

public void loadPreferences()
Description copied from interface: BiasgenPreferences
load the stored preferred values -- e.g. revert to the last stored values

Specified by:
loadPreferences in interface BiasgenPreferences

storePreferences

public void storePreferences()
Description copied from interface: BiasgenPreferences
store the present values as the preferred values

Specified by:
storePreferences in interface BiasgenPreferences

isPowerDownEnabled

public boolean isPowerDownEnabled()

setPowerDownEnabled

public void setPowerDownEnabled(boolean powerDownEnabled)

isInternalResistorUsed

public boolean isInternalResistorUsed()

setInternalResistorUsed

public void setInternalResistorUsed(boolean internalResistorUsed)

getTemperatureCelsius

public float getTemperatureCelsius()

setTemperatureCelsius

public void setTemperatureCelsius(float temperatureCelsius)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getMultiplier

public float getMultiplier()

setMultiplier

public void setMultiplier(float multiplier)

getWOverL

public float getWOverL()

setWOverL

public void setWOverL(float WOverL)

getKPrimeNFet

public float getKPrimeNFet()

setKPrimeNFet

public void setKPrimeNFet(float kPrimeNFet)

jAER project on SourceForge