How does it work?
The AD-SWIO Click features a 16-bit analog-to-digital converter (ADC), and 13-bit digital-to-analog converter (DAC) embed in AD74412R from Analog Devices. There are several modes related to the AD74412R. These modes are voltage output, current output, voltage input, externally powered current input, loop powered current input, external RTD measurement, digital input logic, and loop powered digital input.
The ADC can measure either the voltage across the 100 ? RSENSE or the voltage at the I/OP_x screw terminal of each channel. In high impedance mode, the ADC, by default, measures the voltage across the screw terminals (I/OP_x to I/ON_x) in a 0 V to 10 V range. The ADC also provides diagnostic information on user-selectable inputs such as supplies, internal die temperature, reference, and regulators.
The AD-SWIO Click has four GPO-x pins, one per channel ( GPO-A, GPO-B, GPO-C, GPO-D). Each channel GPO-x pin can be configured to the logic outputs of the digital input functions or a logic high or low output. The GPO-x pins can be set via the GPO_SELECT bits within the GPO_CONFIGx registers. The Click board™ also contains LVIN ( Low Voltage Input) pin, the measurement voltage range on this pin is 0V to 2.5V.
The AD74412R contains four 13-bit DACs, one per channel. Each DAC core is a 13-bit string DAC. The architecture structure consists of a string of resistors, each with a value of R. The digital input code that is loaded to the DAC_CODEx registers determines which node on the string the voltage is tapped off from and fed into the output amplifier. This architecture is inherently monotonic and linear.
The AD74412R have short-circuit limit in voltage output mode is programmable per channel. The circuit minimizes glitching on the I/OP_x screw terminal when the AVDD supply is ramping or when the use case configuration is changed. This short-circuit limit, you can regulate with positive analog supply on AVDD pin, Output voltage on AD-SWIO Click is limited to +20V. The AD-SWIO Click is equipped with the ADP1613 step-up dc-to-dc switching converters with an integrated power switch capable of providing an output voltage as high as 20 V also from Analog Devices.
Specifications
Type |
SWIO,ADC-DAC |
Applications |
Applications Its a perfect choice for Process control, Factory automation, Motor drives, Building control systems. |
On-board modules |
AD74412R a quad-channel SWIO and ADP1613 step-up dc-to-dc switching converter all from Analog Devices |
Key Features |
Optimized for 16-bit ADC (Analog-to-Digital Converter) and 13-bit DAC (Digital-to-Analog Converter). |
Interface |
GPIO,SPI |
Compatibility |
mikroBUS |
Click board size |
L (57.15 x 25.4 mm) |
Input Voltage |
3.3V,5V |
Pinout diagram
This table shows how the pinout on AD-SWIO Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes |
Pin |
|
Pin |
Notes |
---|
|
NC |
1 |
AN |
PWM |
16 |
ALT |
Alert Status |
Reset |
RST |
2 |
RST |
INT |
15 |
RDY |
Ready to read |
SPI Chip Select |
CS |
3 |
CS |
RX |
14 |
NC |
|
SPI Clock |
SCK |
4 |
SCK |
TX |
13 |
NC |
|
SPI Data OUT |
SDO |
5 |
MISO |
SCL |
12 |
NC |
|
SPI Data IN |
SDI |
6 |
MOSI |
SDA |
11 |
NC |
|
Power Supply |
3.3V |
7 |
3.3V |
5V |
10 |
5V |
Power Supply |
Ground |
GND |
8 |
GND |
GND |
9 |
GND |
Ground |
Onboard settings and indicators
Label |
Name |
Default |
Description |
---|
LD1 |
PWR |
- |
Power LED Indicator |
Software Support
We provide a library for the AD-SWIO Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
This library has ability to perform a full control of the AD-SWIO Click board. This click can convert and measure voltage, current and resistance from 4 independent channels and 4 different diagnostics.
Key functions:
adsdio_err_t adsdio_enable_ch( uint8_t channel )
- This function allows user to enable the desired channel/channels.
adsdio_err_t adsdio_set_ch_func( uint8_t channel, uint8_t ch_func )
- This function allows user to modify the functionality of the selected channel.
adsdio_err_t adsdio_get_conv_results( uint8_t channel, uint16_t *data_out )
- This function allows user to get the converted results of the selected channel.
Examples description
The application is composed of three sections :
- System Initialization - Initializes all necessary peripherals and pins used for this click. Also initializes uart console module.
- Application Initialization - Performs a hardware reset of the click board and executes a default configuration which includes that channel A will be enabled to measure voltage input in the range from 0V to 10V, with 4k8 SPS sample rating. In this function also Silicon Revision ID will be checked.
- Application Task - (code snippet) - Waits until data from the enabled channel is ready and then reads results of conversion for channel A and if response is ok, prints the results on the uart console.
void application_task( )
{
adsdio_rdy = adsdio_status_pin_ready( );
while ( adsdio_rdy == 0 )
{
adsdio_rdy = adsdio_status_pin_ready( );
}
adsdio_err = adsdio_get_conv_results( _ADSDIO_SETUP_CONV_EN_CHA,
&adsdio_ch_a );
if ( adsdio_err == _ADSDIO_ERR_STATUS_OK )
{
adsdio_res = adsdio_ch_a;
adsdio_res /= _ADSDIO_RANGE_RESOLUTION;
adsdio_res *= _ADSDIO_RANGE_VOLT_MV;
adsdio_ch_a = adsdio_res;
WordToStr( adsdio_ch_a, adsdio_log );
Ltrim( adsdio_log );
mikrobus_logWrite( "* CH A converted result is ", _LOG_TEXT );
mikrobus_logWrite( adsdio_log, _LOG_TEXT );
mikrobus_logWrite( " mV", _LOG_LINE );
Delay_ms( 100 );
}
}
Additional Functions :
- Application Default Handler - Used to send error report messages from click driver to initialized console module.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- Conversions
- C_String
- SPI
- UART
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. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK - MikroElektronika 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.
Resources
Downloads