This is an old revision of the document!
The ADT7420 is a high accuracy digital temperature sensor offering breakthrough performance over a wide industrial range, housed in an LFCSP package. It contains a band gap temperature reference and a 13-bit ADC to monitor and digitize the temperature to a 0.0625°C resolution. The ADC resolution, by default, is set to 13 bits (0.0625°C). This can be changed to 16 bits (0.0078°C) by setting Bit 7 in the configuration register to 1 (Register Address 0x03). The ADT7420 is guaranteed to operate over supply voltages from 2.7 V to 5.5 V. Operating at 3.3 V, the average supply current is typically 210 μA. The ADT7420 has a shutdown mode that powers down the device and offers a shutdown current of typically 2 μA. The ADT7420 is rated for operation over the −40°C to +150°C temperature range.
Pin A0 and Pin A1 are available for address selection, giving the ADT7420 four possible I2C addresses. The CT pin is an open-drain output that becomes active when the temperature exceeds a programmable critical temperature limit. The default critical temperature limit is 147°C. The INT pin is also an open-drain output that becomes active when the temperature exceeds a programmable limit. The INT and CT pins can operate in either comparator or interrupt mode.
The goal of this project (Microcontroller No-OS) is to be able to provide reference projects for lower end processors, which can't run Linux, or aren't running a specific operating system, to help those customers using microcontrollers with ADI parts. Here you can find a generic driver which can be used as a base for any microcontroller platform and also specific drivers for different microcontroller platforms.
The driver contains two parts:
The Communication Driver has a standard interface, so the ADT7420 driver can be used exactly as it is provided.
There are three functions which are called by the ADT7420 driver:
I2C driver architecture
The implementation of these three functions depends on the used microcontroller.
The following functions are implemented in this version of ADT7420 driver:
Function | Description |
---|---|
unsigned char ADT7420_GetRegisterValue(unsigned char registerAddress) | Reads the value of a register. |
void ADT7420_SetRegisterValue(unsigned char registerAddress, unsigned char registerValue) | Sets the value of a register. |
char ADT7420_Init(void) | Initializes the comm. peripheral and checks if the device is present. |
void ADT7420_Reset(void) | Resets the ADT7420. |
void ADT7420_SetOperationMode(unsigned char mode) | Sets the operational mode for ADT7420. |
void ADT7420_SetResolution(unsigned char resolution) | Sets the resolution for ADT7420. |
float ADT7420_GetTemperature(void) | Reads the temperature data and converts it to Celsius degrees. |
HW Platform(s):
This section contains a description of the steps required to run the ADT7420 demonstration project on a Digilent Cerebot MX3cK platform.
Following commands were implemented in this version of ADT7420 reference project for Cerebot MX3cK board.
Command | Description |
---|---|
help? | Displays all available commands. |
reset= | Resets the ADT7420. |
mode= | Sets the operational mode for ADT7420. Accepted values: 0 - 3 |
mode? | Displays the selected operational mode. |
resolution= | Sets the resolution for ADT7420. Accepted values: 0 - 1 |
resolution? | Displays the selected resolution. |
temp? | Displays the temperature. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of PIC32MX320F128H.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MX3cK development board for controlling and monitoring the operation of the ADI part.
This section contains a description of the steps required to run the ADT7420 demonstration project on a Digilent Cerebot MC7 platform.
Following commands were implemented in this version of ADT7420 reference project for Cerebot MC7 board.
Command | Description |
---|---|
help? | Displays all available commands. |
reset= | Resets the ADT7420. |
mode= | Sets the operational mode for ADT7420. Accepted values: 0 - 3 |
mode? | Displays the selected operational mode. |
resolution= | Sets the resolution for ADT7420. Accepted values: 0 - 1 |
resolution? | Displays the selected resolution. |
temp? | Displays the temperature. |
Commands can be executed using a serial terminal connected to the UART1 peripheral of dsPIC33FJ128MC706A.
The following image shows a list of commands in a serial terminal connected to processor’s UART peripheral.
This section presents the steps for developing a software application that will run on the Digilent Cerebot MC7 development board for controlling and monitoring the operation of the ADI part.