How does it work?
ADAC Click is based on the AD5593R, an 8-channel configurable ADC/DAC with an on-chip reference from Analog Device. You can enable internal reference voltage or apply your own reference voltage over the VREF pin of the terminal. An integrated temperature indicator indicates the die temperature and can be read as part of the ADC read sequence. Depending on the configuration, the IO pin can be set as analog output and connected to a 12-bit DAC with an output range from 0V up to VREF or 0V up to 2x VREF. It can also be set as analog input and connected to a 12-bit ADC via an analog multiplexer with the same input range as DAC output. When using pins as general-purpose IO, you can read the states of the pins and write logic states over the I2C interface.
ADAC Click uses a standard 2-Wire I2C interface to communicate with the host MCU, supporting standard and fast modes of up to 400KHz. The I2C address can be selected over the ADD SEL jumper, with 0 selected by default. The AD5593R features a reset function that resets all to its default conditions by software or over the RST pin, which triggers the same function as the software. Resetting the device takes as much as 250μs.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the LOG SEL jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. You can set the operating voltage over the VCC SEL jumper independently. 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-DAC
Applications
Can be used for the development of control and monitoring applications, general-purpose analog and digital IO, and more
On-board modules
AD5593R – 8-channel configurable ADC/DAC with an on-chip reference from Analog Device
Key Features
Eight channels configurable as 12-bit DAC, 12-bit ADC, or general-purpose IO, integrated temperature sensor, integrated on-chip voltage reference, external voltage reference, and more
Interface
I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on ADAC 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 | LOG SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2 | VCC SEL | Left | Power Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP3 | ADDR SEL | Right | I2C Address Selection 1/0: Left position 1, Right position 0 |
ADAC Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
DAC Output Range | 0 | – | VREF | V |
ADC Input Range | 0 | – | 2xVREF | V |
ADC/DAC Resolution | – | – | 12 | bit |
Software Support
We provide a library for the ADAC 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 ADAC Click driver.
Key functions
-
This function writes DAC using the I2C serial interface.
-
This function reads ADC data using the I2C serial interface.
-
This function sets the configuration for the click module.
Example Description
This example showcases how to initialize, configure and use the ADAC click module. The click has an ADC and a DAC. An external power supply sets the maximum voltage of the input analog signal, which is bound to 2.5 V by default. For the input any external analog signal will suffice and a multimeter is needed to read the output on one of the channels.
void application_task ( void )
{
uint16_t adc_val;
uint16_t cnt;
uint8_t chan;
log_printf( &logger, "rn *** DAC : write ***rn" );
adac_set_configuration( &adac, ADAC_DAC_CONFIG, ADAC_NO_OP, ADAC_IO3 );
Delay_100ms( );
for ( cnt = 0; cnt < 0xFF; cnt +=4 )
{
adac_write_dac( &adac, ADAC_PB_PIN3, cnt / 0x100, cnt % 0x100 );
Delay_ms( 10 );
log_printf( &logger, " > write... rn" );
}
log_printf( &logger, "-------------------rn" );
Delay_ms( 1000 );
log_printf( &logger, "rn *** ADC : read ***rn" );
adac_set_configuration( &adac, ADAC_ADC_CONFIG, ADAC_NO_OP, ADAC_IO4 );
Delay_100ms( );
adac_set_configuration( &adac, ADAC_ADC_SEQUENCE, ADAC_SEQUENCE_ON, ADAC_IO4 );
for( cnt = 0; cnt < 10; cnt++ )
{
adc_val = adac_read_adc( &adac, &chan );
log_printf( &logger, " channel : %drn", chan );
log_printf( &logger, " val : %drn", adc_val );
Delay_ms( 2000 );
}
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.ADAC
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.