This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:tools-software:uc-drivers:ltc2672 [28 Feb 2023 08:05] – General formatting and other minor edits Joyce Velasco | resources:tools-software:uc-drivers:ltc2672 [06 Apr 2023 04:42] (current) – Marc Sosa | ||
---|---|---|---|
Line 4: | Line 4: | ||
* [[adi> | * [[adi> | ||
+ | ==== Evaluation Boards ==== | ||
+ | * [[ADI> | ||
+ | \\ | ||
===== Overview ===== | ===== Overview ===== | ||
The [[adi> | The [[adi> | ||
Line 12: | Line 14: | ||
The [[adi> | The [[adi> | ||
- | === Applications === | + | ==== Applications |
* Tunable lasers | * Tunable lasers | ||
* Semiconductor optical amplifier biasing | * Semiconductor optical amplifier biasing | ||
Line 23: | Line 25: | ||
The goal of ADI Microcontroller No-OS is to provide reference projects for lower end processors, which can't run Linux or aren't running a specific operating system, and to help those customers using microcontrollers with ADI parts. ADI No-OS offers **generic drivers**, which can be used as a base for any microcontroller platform and also **example projects**, which are using these drivers on various microcontroller platforms. | The goal of ADI Microcontroller No-OS is to provide reference projects for lower end processors, which can't run Linux or aren't running a specific operating system, and to help those customers using microcontrollers with ADI parts. ADI No-OS offers **generic drivers**, which can be used as a base for any microcontroller platform and also **example projects**, which are using these drivers on various microcontroller platforms. | ||
- | For more information about ADI No-OS and supported microcontroller platforms, visit the No-OS User Guide found [[: | + | For more information about ADI No-OS and supported microcontroller platforms, visit the [[: |
\\ | \\ | ||
\\ | \\ | ||
===== LTC2672 ADI No-OS driver ===== | ===== LTC2672 ADI No-OS driver ===== | ||
- | ==== LTC2672 | + | ==== Driver Source Code ==== |
The source code for LTC2672 driver can be found here: | The source code for LTC2672 driver can be found here: | ||
<WRAP round center download 80%> | <WRAP round center download 80%> | ||
Line 42: | Line 44: | ||
To use the LTC2672 No-OS Driver, you need to provide the specific implementation for the communication APIs and the specific types they use. | To use the LTC2672 No-OS Driver, you need to provide the specific implementation for the communication APIs and the specific types they use. | ||
- | If the SPI communication is chosen, there are three functions which are called by the ADXL355 | + | If the SPI communication is chosen, there are three functions which are called by the LTC2672 |
<WRAP center box 60%> | <WRAP center box 60%> | ||
| **no_os_spi_init()** | initializes the communication peripheral. | | | **no_os_spi_init()** | initializes the communication peripheral. | | ||
Line 60: | Line 62: | ||
</ | </ | ||
- | ==== LTC2672 | + | ==== Code Documentation ==== |
Source code documentation for the driver is automatically generated using the Doxygen tool and can be accessed in these links: | Source code documentation for the driver is automatically generated using the Doxygen tool and can be accessed in these links: | ||
<WRAP round center download 80%> | <WRAP round center download 80%> | ||
Line 67: | Line 69: | ||
</ | </ | ||
- | ==== LTC2672 | + | ==== Device Configuration ==== |
=== Driver Initialization === | === Driver Initialization === | ||
Line 83: | Line 85: | ||
| **ltc2672_set_span_all_channels** | sets same output span across all channels | | | **ltc2672_set_span_all_channels** | sets same output span across all channels | | ||
</ | </ | ||
- | <note important> | + | <note important> |
=== Monitor Multiplexer Output Configuration === | === Monitor Multiplexer Output Configuration === | ||
- | The LTC2672 contains a multiplexer pin output, which allows an external controller or analog-to-digital converter (ADC) to monitor certain chip measurements. To enable this functionality, | + | The [[ADI>LTC2672]] contains a multiplexer pin output, which allows an external controller or analog-to-digital converter (ADC) to monitor certain chip measurements. To enable this functionality, |
\\ | \\ | ||
\\ | \\ | ||
- | == Current Measurement using Multiplexer Output | + | **Current Measurement using Multiplexer Output** |
+ | \\ | ||
The output current from any one channel can be measured by configuring the multiplexer using the **ltc2672_monitor_mux** function. Once configured, the voltage at the multiplexer output pin can be measured, and the current from the selected channel can be estimated using the equation below: | The output current from any one channel can be measured by configuring the multiplexer using the **ltc2672_monitor_mux** function. Once configured, the voltage at the multiplexer output pin can be measured, and the current from the selected channel can be estimated using the equation below: | ||
< | < | ||
Line 104: | Line 107: | ||
\\ | \\ | ||
\\ | \\ | ||
- | == Die Temperature Measurement using Multiplexer Output | + | **Die Temperature Measurement using Multiplexer Output** |
- | Similar with the output current, the die temperature of the LTC2672 can also be measured through the **ltc2672_monitor_mux** function. The voltage at the multiplexer output pin varies directly with the temperature with a temperature coefficient of -3.7 mV/°C. The die temperature can be estimated using this equation: | + | \\ |
+ | Similar with the output current, the die temperature of the [[ADI>LTC2672]] can also be measured through the **ltc2672_monitor_mux** function. The voltage at the multiplexer output pin varies directly with the temperature with a temperature coefficient of -3.7 mV/°C. The die temperature can be estimated using this equation: | ||
< | < | ||
T = T0 + (V0 − V_MUX) / (3.7 mV/°C). | T = T0 + (V0 − V_MUX) / (3.7 mV/°C). | ||
</ | </ | ||
- | \\ | ||
where: | where: | ||
\\ | \\ | ||
Line 115: | Line 118: | ||
\\ | \\ | ||
**V0 = 1.4 V** (initial voltage). | **V0 = 1.4 V** (initial voltage). | ||
- | \\ | ||
\\ | \\ | ||
For calibration or more accurate measurements, | For calibration or more accurate measurements, | ||
Line 128: | Line 130: | ||
< | < | ||
\\ | \\ | ||
+ | **Load Termination and Combining Multiple Channels** | ||
\\ | \\ | ||
- | == Load Termination and Combining Multiple Channels == | + | Each output channel of the [[ADI>LTC2672]] can output a maximum of 300 mA. In instances where current greater than 300 mA is needed, multiple channels can be tied together to produce the desired level. Channels tied together must operate in the same span category, which can be set using the **ltc2672_set_span_all_channels** function. |
- | Each output channel of the LTC2672 can output a maximum of 300 mA. In instances where current greater than 300 mA is needed, multiple channels can be tied together to produce the desired level. Channels tied together must operate in the same span category, which can be set using the **ltc2672_set_span_all_channels** function. | + | |
Once the desired channels have been set to have similar output span, the target current can then be set by configuring the same channels via **ltc2672_set_current_channel** function. For example, Channels 0 and 1 can be combined to produce 350 mA of current by configuring one channel to have 300 mA output, while the other channel to have 50 mA (assuming they' | Once the desired channels have been set to have similar output span, the target current can then be set by configuring the same channels via **ltc2672_set_current_channel** function. For example, Channels 0 and 1 can be combined to produce 350 mA of current by configuring one channel to have 300 mA output, while the other channel to have 50 mA (assuming they' | ||
Line 153: | Line 155: | ||
\\ | \\ | ||
=== Fault Register Bits === | === Fault Register Bits === | ||
- | The first 8 bits of an SPI transaction response serve as fault indicators. Whenever a fault is detected, the corresponding Fault Register bit is set and is outputted on the next SPI transaction. If an SPI transaction fixes any of the existing faults, the cleared fault register bit is reflected on the next SPI transaction response. The faults that are detected include open circuit detection for any of the output channels, overtemperature detection (> 175°C) with thermal protection, and invalid SPI transaction length (valid lengths are 24, 32 and multiple of 32 bits). | + | The first 8 bits of an SPI transaction response serve as fault indicators. Whenever a fault is detected, the corresponding Fault Register bit is set and is outputted on the next SPI transaction. If an SPI transaction fixes any of the existing faults, the cleared fault register bit is reflected on the next SPI transaction response. The faults that are detected include open circuit detection for any of the output channels, overtemperature detection (> 175°C) with thermal protection, and invalid SPI transaction length (valid lengths are 24, 32, and multiple of 32 bits). |
\\ | \\ | ||
\\ | \\ | ||
Line 163: | Line 165: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ==== LTC2672 | + | ==== Driver Initialization Example ==== |
=== Example Initialization Using Maxim SDK as Platform === | === Example Initialization Using Maxim SDK as Platform === | ||
Line 236: | Line 238: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ==== LTC2672 | + | ==== Driver Application Example ==== |
<WRAP center round tip 100%> | <WRAP center round tip 100%> | ||
- | You can find Application Example Projects | + | You can find application example projects |
</ | </ | ||