How does it work?
HW Monitor 2 Click is based on the AMC80, a system hardware monitor from Texas Instruments that performs power supply, temperature, and fan monitoring for various embedded systems. The AMC80 provides seven analog inputs spread across the terminals on the top of the board labeled from CH0 to CH6, a temperature sensor, an ADC, two fan speed counters, and various inputs and outputs on a single chip. It continuously converts analog inputs to 10-bit resolution with a 2.5mV LSB, yielding input ranges of 0 to 2.56V. The analog inputs are intended to be connected to the several power supplies present in a typical communications infrastructure system.
This Click board™ communicates with MCU using the standard I2C 2-Wire interface to read data and configure settings with a maximum frequency of 400kHz. The AMC80 includes an analog filter on the I2C lines that improves noise immunity and supports the timeout reset function on SDA and SCL pins, preventing I2C bus lockup. Also, the AMC80 allows choosing the least significant bits (LSB) of its I2C slave address using the SMD jumpers labeled ADDR SEL.
The AMC80 is especially suited to interface with linear and digital temperature sensors such as TMP75 via the BTI pin on the left unpopulated header. Temperature can be converted to a 9-bit or 12-bit two’s complement word with resolutions of 0.5°C or 0.0625°C LSB, respectively. On the same header, in addition to the BTI pin, there is also a GPI pin, which, in addition to its function as a general-purpose input pin, can also serve as a chassis intrusion detection input. The chassis intrusion input is designed to accept an active high signal from an external circuit that latches, such as when the cover is removed from the computer.
Next in this board’s series of additional features are an external interrupt input INT IN, a master reset for external purposes RST O, and a single power switch pin GPO. The INT IN active low interrupt provides a way to chain the interrupts from other devices through the AMC80 to the host, the RST O is intended to provide a master reset to devices connected to this line, while the GPO pin is an active low NMOS open drain output intended to drive an external power PMOS for software power control or can be utilized to control power to a cooling fan. The AMC80 also possesses a general reset signal routed on the RST pin of the mikroBUS™ socket to reset the AMC80, and an additional interrupt signal, routed on the INT pin of the mikroBUS™ socket whenever some of the external interrupts like INT_OUT, interrupt from the temperature sensor, or when a chassis detection event occurs.
The right-side header contains the fan inputs, labeled F1 and F2, that can be programmed to accept either fan failure indicator programmed to be active high or active low or tachometer signals. Fan inputs measure the period of tachometer pulses from the fans, providing a higher count for lower fan speeds. The full-scale fan counts are 255 (8-bit counter), representing a stopped or slow fan. Based on a count of 153, nominal speeds are programmable from 1100 to 8800 RPM. Signal conditioning circuitry is also included to accommodate the slow rise and fall times.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the VCC SEL jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
ADC
Applications
Can be used for system thermal and hardware monitoring for various servers, electronic test equipment and instrumentation, communications infrastructure, consumer electronics, and more
On-board modules
AMC80 – system hardware monitor from Texas Instruments
Key Features
Seven input channels with 10-bit resolution, local temperature sensing, two programmable fan speed monitoring inputs, chassis intrusion detection, power switch bypass, external interrupt and master reset, and more
Interface
I2C
Feature
ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on HW Monitor 2 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1 | VCC SEL | Left | Power/Logic Voltage Level Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2-JP4 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
J1 | – | Unpopulated | Fan Tachometer Input |
J2 | – | Unpopulated | Master Reset/External Interrupt/Temperature Sensor Connection/Chassis Intrusion Detection/Power Switch Bypass |
HW Monitor 2 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
Analog Input Voltage Range | 0 | – | 2.56 | V |
ADC Resolution | – | 10 | – | bit |
Software Support
We provide a library for the HW Monitor 2 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for HW Monitor 2 Click driver.
Key functions
-
hwmonitor2_get_analog_inputs
HW Monitor 2 gets analog inputs voltage function. -
hwmonitor2_get_temperature
HW Monitor 2 gets temperature function. -
hwmonitor2_set_config
HW Monitor 2 set the configuration function.
Example Description
This example demonstrates the use of the HW Monitor 2 Click board™. The demo application monitors analog voltage inputs and local temperature data.
void application_task ( void )
{
static float temperature, voltage;
for ( uint8_t ch_pos = 0; ch_pos < 7; ch_pos++ )
{
if ( HWMONITOR2_OK == hwmonitor2_get_analog_inputs( &hwmonitor2, ch_pos, &voltage ) )
{
log_printf( &logger, "CH %d: %.1f mVrn", ( uint16_t ) ch_pos, voltage );
Delay_ms( 100 );
}
}
log_printf( &logger, "- - - - - - - - - - - - - -rn" );
if ( HWMONITOR2_OK == hwmonitor2_get_temperature( &hwmonitor2, &temperature ) )
{
log_printf( &logger, " Temperature: %.3f [deg c]rn", temperature );
Delay_ms( 100 );
}
log_printf( &logger, "---------------------------rn" );
Delay_ms( 1000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.HWMonitor2
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.