/**************************************************************************//**\r
* @file em_opamp.h\r
* @brief Operational Amplifier (OPAMP) peripheral API\r
- * @version 4.0.0\r
+ * @version 4.2.1\r
******************************************************************************\r
* @section License\r
- * <b>(C) Copyright 2014 Silicon Labs, http://www.silabs.com</b>\r
+ * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>\r
*******************************************************************************\r
*\r
* Permission is granted to anyone to use this software for any purpose,\r
*\r
******************************************************************************/\r
\r
-\r
-#ifndef __SILICON_LABS_EM_OPAMP_H_\r
-#define __SILICON_LABS_EM_OPAMP_H_\r
+#ifndef __SILICON_LABS_EM_OPAMP_H__\r
+#define __SILICON_LABS_EM_OPAMP_H__\r
\r
#include "em_device.h"\r
#if defined(OPAMP_PRESENT) && (OPAMP_COUNT == 1)\r
uint32_t offset; /**< Opamp offset value when @ref defaultOffset is false.*/\r
} OPAMP_Init_TypeDef;\r
\r
-/** Configuration of OPA0/1 in unity gain voltage follower mode. */\r
-#define OPA_INIT_UNITY_GAIN \\r
- { \\r
- opaNegSelUnityGain, /* Unity gain. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelDefault, /* Resistor ladder is not used. */ \\r
- opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in unity gain voltage follower mode. */\r
-#define OPA_INIT_UNITY_GAIN_OPA2 \\r
- { \\r
- opaNegSelUnityGain, /* Unity gain. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelDefault, /* Resistor ladder is not used. */ \\r
- opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
+/** Configuration of OPA0/1 in unity gain voltage follower mode. */\r
+#define OPA_INIT_UNITY_GAIN \\r
+{ \\r
+ opaNegSelUnityGain, /* Unity gain. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelDefault, /* Resistor ladder is not used. */ \\r
+ opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in unity gain voltage follower mode. */\r
+#define OPA_INIT_UNITY_GAIN_OPA2 \\r
+{ \\r
+ opaNegSelUnityGain, /* Unity gain. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelDefault, /* Resistor ladder is not used. */ \\r
+ opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
\r
/** Configuration of OPA0/1 in non-inverting amplifier mode. */\r
-#define OPA_INIT_NON_INVERTING \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in non-inverting amplifier mode. */\r
-#define OPA_INIT_NON_INVERTING_OPA2 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA0/1 in inverting amplifier mode. */\r
-#define OPA_INIT_INVERTING \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- true, /* Neg pad enabled, used as signal input. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in inverting amplifier mode. */\r
-#define OPA_INIT_INVERTING_OPA2 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- true, /* Neg pad enabled, used as signal input. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA0 in cascaded non-inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_NON_INVERTING_OPA0 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA1). */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA1 in cascaded non-inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_NON_INVERTING_OPA1 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelOpaIn, /* Pos input from OPA0 output. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA2). */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- false, /* Pos pad disabled. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in cascaded non-inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_NON_INVERTING_OPA2 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelOpaIn, /* Pos input from OPA1 output. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- false, /* Pos pad disabled. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA0 in cascaded inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_INVERTING_OPA0 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA1). */ \\r
- true, /* Neg pad enabled, used as signal input. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA1 in cascaded inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_INVERTING_OPA1 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxOpaIn, /* Resistor ladder input from OPA0. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA2). */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in cascaded inverting amplifier mode. */\r
-#define OPA_INIT_CASCADED_INVERTING_OPA2 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxOpaIn, /* Resistor ladder input from OPA1. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA0 in two-opamp differential driver mode. */\r
-#define OPA_INIT_DIFF_DRIVER_OPA0 \\r
- { \\r
- opaNegSelUnityGain, /* Unity gain. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelDefault, /* Resistor ladder is not used. */ \\r
- opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA1). */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA1 in two-opamp differential driver mode. */\r
-#define OPA_INIT_DIFF_DRIVER_OPA1 \\r
- { \\r
- opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxOpaIn, /* Resistor ladder input from OPA0. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal ground. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA0 in three-opamp differential receiver mode. */\r
-#define OPA_INIT_DIFF_RECEIVER_OPA0 \\r
- { \\r
- opaNegSelUnityGain, /* Unity gain. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA2). */ \\r
- true, /* Neg pad enabled, used as signal ground. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA1 in three-opamp differential receiver mode. */\r
-#define OPA_INIT_DIFF_RECEIVER_OPA1 \\r
- { \\r
- opaNegSelUnityGain, /* Unity gain. */ \\r
- opaPosSelPosPad, /* Pos input from pad. */ \\r
- opaOutModeAll, /* Both main and alternate outputs. */ \\r
- opaResSelDefault, /* Resistor ladder is not used. */ \\r
- opaResInMuxDisable, /* Disable resistor ladder. */ \\r
- 0, /* No alternate outputs enabled. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- true, /* Pass output to next stage (OPA2). */ \\r
- false, /* Neg pad disabled. */ \\r
- true, /* Pos pad enabled, used as signal input. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
-\r
-/** Configuration of OPA2 in three-opamp differential receiver mode. */\r
-#define OPA_INIT_DIFF_RECEIVER_OPA2 \\r
- { \\r
- opaNegSelResTap, /* Input from resistor ladder tap. */ \\r
- opaPosSelResTapOpa0, /* Input from OPA0 resistor ladder tap. */ \\r
- opaOutModeMain, /* Main output enabled. */ \\r
- opaResSelR2eqR1, /* R2 = R1 */ \\r
- opaResInMuxOpaIn, /* Resistor ladder input from OPA1. */ \\r
- DAC_OPA0MUX_OUTPEN_OUT0, /* Enable alternate output 0. */ \\r
- _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
- _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
- false, /* No low pass filter on pos pad. */ \\r
- false, /* No low pass filter on neg pad. */ \\r
- false, /* No nextout output enabled. */ \\r
- false, /* Neg pad disabled. */ \\r
- false, /* Pos pad disabled. */ \\r
- false, /* No shorting of inputs. */ \\r
- false, /* Rail-to-rail input enabled. */ \\r
- true, /* Use factory calibrated opamp offset. */ \\r
- 0 /* Opamp offset value (not used). */ \\r
- }\r
+#define OPA_INIT_NON_INVERTING \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in non-inverting amplifier mode. */\r
+#define OPA_INIT_NON_INVERTING_OPA2 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA0/1 in inverting amplifier mode. */\r
+#define OPA_INIT_INVERTING \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ true, /* Neg pad enabled, used as signal input. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in inverting amplifier mode. */\r
+#define OPA_INIT_INVERTING_OPA2 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ true, /* Neg pad enabled, used as signal input. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA0 in cascaded non-inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_NON_INVERTING_OPA0 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA1). */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA1 in cascaded non-inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_NON_INVERTING_OPA1 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelOpaIn, /* Pos input from OPA0 output. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA2). */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ false, /* Pos pad disabled. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in cascaded non-inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_NON_INVERTING_OPA2 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelOpaIn, /* Pos input from OPA1 output. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eq0_33R1, /* R2 = 1/3 R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ false, /* Pos pad disabled. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA0 in cascaded inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_INVERTING_OPA0 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA1). */ \\r
+ true, /* Neg pad enabled, used as signal input. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA1 in cascaded inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_INVERTING_OPA1 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxOpaIn, /* Resistor ladder input from OPA0. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA2). */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in cascaded inverting amplifier mode. */\r
+#define OPA_INIT_CASCADED_INVERTING_OPA2 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxOpaIn, /* Resistor ladder input from OPA1. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Alternate output 0 enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA0 in two-opamp differential driver mode. */\r
+#define OPA_INIT_DIFF_DRIVER_OPA0 \\r
+{ \\r
+ opaNegSelUnityGain, /* Unity gain. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelDefault, /* Resistor ladder is not used. */ \\r
+ opaResInMuxDisable, /* Resistor ladder disabled. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA1). */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA1 in two-opamp differential driver mode. */\r
+#define OPA_INIT_DIFF_DRIVER_OPA1 \\r
+{ \\r
+ opaNegSelResTap, /* Neg input from resistor ladder tap. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxOpaIn, /* Resistor ladder input from OPA0. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal ground. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA0 in three-opamp differential receiver mode. */\r
+#define OPA_INIT_DIFF_RECEIVER_OPA0 \\r
+{ \\r
+ opaNegSelUnityGain, /* Unity gain. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxNegPad, /* Resistor ladder input from neg pad. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA2). */ \\r
+ true, /* Neg pad enabled, used as signal ground. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA1 in three-opamp differential receiver mode. */\r
+#define OPA_INIT_DIFF_RECEIVER_OPA1 \\r
+{ \\r
+ opaNegSelUnityGain, /* Unity gain. */ \\r
+ opaPosSelPosPad, /* Pos input from pad. */ \\r
+ opaOutModeAll, /* Both main and alternate outputs. */ \\r
+ opaResSelDefault, /* Resistor ladder is not used. */ \\r
+ opaResInMuxDisable, /* Disable resistor ladder. */ \\r
+ 0, /* No alternate outputs enabled. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ true, /* Pass output to next stage (OPA2). */ \\r
+ false, /* Neg pad disabled. */ \\r
+ true, /* Pos pad enabled, used as signal input. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
+\r
+/** Configuration of OPA2 in three-opamp differential receiver mode. */\r
+#define OPA_INIT_DIFF_RECEIVER_OPA2 \\r
+{ \\r
+ opaNegSelResTap, /* Input from resistor ladder tap. */ \\r
+ opaPosSelResTapOpa0, /* Input from OPA0 resistor ladder tap. */ \\r
+ opaOutModeMain, /* Main output enabled. */ \\r
+ opaResSelR2eqR1, /* R2 = R1 */ \\r
+ opaResInMuxOpaIn, /* Resistor ladder input from OPA1. */ \\r
+ DAC_OPA0MUX_OUTPEN_OUT0, /* Enable alternate output 0. */ \\r
+ _DAC_BIASPROG_BIASPROG_DEFAULT, /* Default bias setting. */ \\r
+ _DAC_BIASPROG_HALFBIAS_DEFAULT, /* Default half-bias setting. */ \\r
+ false, /* No low pass filter on pos pad. */ \\r
+ false, /* No low pass filter on neg pad. */ \\r
+ false, /* No nextout output enabled. */ \\r
+ false, /* Neg pad disabled. */ \\r
+ false, /* Pos pad disabled. */ \\r
+ false, /* No shorting of inputs. */ \\r
+ false, /* Rail-to-rail input enabled. */ \\r
+ true, /* Use factory calibrated opamp offset. */ \\r
+ 0 /* Opamp offset value (not used). */ \\r
+}\r
\r
/*******************************************************************************\r
***************************** PROTOTYPES **********************************\r
#endif\r
\r
#endif /* defined( OPAMP_PRESENT ) && ( OPAMP_COUNT == 1 ) */\r
-#endif /* __SILICON_LABS_EM_OPAMP_H_ */\r
+#endif /* __SILICON_LABS_EM_OPAMP_H__ */\r