Carte à clic DAC 8
Carte à clic DAC 8
Key Features
- Faible consommation d'énergie, haute précision, très faible bruit de fonctionnement, sortie de tension rail à rail, précision, stabilité, etc.
- Basé sur le DAC 8 Click est basé sur le DAC8554IPWR, un convertisseur numérique-analogique à sortie de tension ultra-faible à canal QUAD 16 bits de Texas Instruments.
- Peut être utilisé dans les équipements fonctionnant sur batterie, le réglage numérique du gain et du décalage, les sources de tension et de courant programmables et bien d'autres.
- mikroBUS : interfaces I2C, SPI et GPIO
Overview
Le DAC 8 Click Board™ est une carte complémentaire compacte qui contient un convertisseur numérique-analogique à sortie de tension polyvalent et complet. Cette carte comprend le DAC8554IPWR, un convertisseur numérique-analogique à sortie de tension QUAD 16 bits de Texas Instruments. Il offre un fonctionnement à faible consommation, une bonne linéarité, un glitch exceptionnellement faible et prend en charge une interface série SPI à 3 fils avec une fréquence d'horloge allant jusqu'à 50 MHz. Nécessite une tension de référence externe fournie par le DAC60501MDGSR compatible I2C pour définir la plage de sortie de chaque canal DAC. Il possède de nombreuses fonctionnalités qui le rendent attrayant pour diverses applications telles que les équipements alimentés par batterie, le réglage numérique du gain et du décalage, les sources de tension et de courant programmables, et bien d'autres encore.
Le DAC 8 Click Board™ est pris en charge par une bibliothèque compatible mikroSDK, qui comprend des fonctions qui simplifient le développement logiciel. Ce Click Board™ est un produit entièrement testé, prêt à être utilisé sur un système équipé du socket mikroBUS™.
How Does The DAC 8 Click Board™ Work?
The DAC 8 Click Board™ is based on the DAC8554IPWR, a 16-bit QUAD channel, ultra-low glitch, voltage-output digital to analog converter from Texas Instruments. It offers good linearity, exceptionally low glitch, and it has high precision output amplifier that allows rail-to-rail output swing over a wide range of supply voltage. What this component additionally has is a Power-On reset function, which ensures that DAC outputs power-up at zero-scale and remains there until a proper write operation occurs. Also, it provides a power-down feature that reduces the current consumption to 175nA per channel.
To achieve a fully flexible range of the DAC8554IPWR, an external voltage reference is made user-programmable. For this purpose, the Click board™ uses another DAC, DAC60501MDGSR, 12-bit DAC from Texas Instruments, whose output is brought to the VREF pin of the DAC8554IPWR. That way, the reference voltage of the DAC8554IPWR can be set at any value between 0V and 5V, provides high precision and low power consumption as well. That makes the DAC 8 Click fully customizable solution, well suited for applications where the maximum precision from the output 16-bit DAC is needed. DAC60501MDGSR uses the I2C serial interface to communicate with the MCU and operates at clock rate up to 100kHz.
The DAC 8 Click Board™ communicates with MCU using the 3-Wire SPI serial interface that is compatible with standard SPI, QSPI™, MICROWIRE™ and operates at clock rates up to 50 MHz. Additional functionality such as software simultaneous update capability is implemented and routed at the PWM pin of the mikroBUS™, which allows when new data enter the device, all of DAC outputs can be updated simultaneously and synchronously with the clock. It also possesses enable function routed at CS pin of the mikroBUS™ that is used to connect the SPI interface to the serial port.
The DAC 8 Click Board™ is designed to be operated with both 3.3V and 5V logic levels. The onboard SMD jumper labeled as VCC SEL allows voltage selection for interfacing with both 3.3V and 5V MCUs. More information about the DAC8554IPWR's functionality, electrical specifications, and typical performance can be found in the attached datasheet. However, the Click board™ comes equipped with a library that contains easy-to-use functions, and a usage example that can be used as a reference for the development.
SPECIFICATIONS
Type | DAC |
Applications | Can be used in battery-operated equipment, digital gain and offset adjustment, programmable voltage and current sources, and many more. |
On-board modules | DAC 8 Click is based on the DAC8554IPWR, a 16-bit QUAD channel, ultra-low glitch, voltage-output digital to analog converter from Texas Instruments. |
Key Features | Low power consumption, high precission, ultra-low glitch, rail-to-rail voltage output, accuracy, stability, and more. |
Interface | I2C,SPI,GPIO |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout of the DAC 8 Click Board™ 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 | LD | Software Update | |
SPI Enable | EN | 2 | RST | INT | 15 | NC | |
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 | SCL | I2C Clock |
SPI Data IN | SDI | 6 | MOSI | SDA | 11 | SDA | I2C Data |
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 |
JP1 | VCC SEL | Left | Power Supply Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
DAC 8 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | -0.3 | - | 6 | V |
Maximum Current Consumption | - | - | 208 | μA |
SPI Clock Frequency | - | - | 50 | MHz |
Operating Temperature Range | -40 | - | +105 | °C |
Software Support
We provide a library for the DAC 8 Click Board™ 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
The library covers all the necessary functions to control the DAC 8 Click Board™. A library performs the communication with the DAC60501 via I2C and communication with DAC8554 the SPI interface.
Key Functions
void dac8_generic_i2c_write ( uint8_t reg, uint16_t tx_data )
- Generic I2C ( DAC60501 ) write function.uint16_t dac8_generic_i2c_read ( uint8_t reg )
- Generic I2C ( DAC60501 ) read function.void dac8_generic_spi_write ( uint32_t tx_data )
- Generic SPI ( DAC8554 ) write function.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C and SPI and start to write log.
- Application Initialization - Initialization driver enables - I2C. Configure DAC60501: executes call software reset, disable sync and internal reference and disable Power-down mode, the set reference voltage is internally divided by a factor of 2, amplifier for corresponding DAC has a gain of 2. Initialization driver enables - SPI, enable DAC8554, also write log.
- Application Task - (code snippet) This is an example that demonstrates the use of the DAC 8 Click board. DAC 8 board changeing output values: Channel A ~ 2500 mV, Channel B ~ 1250 mV, Channel C ~ 625 mV, Channel D ~ 312 mV. All data logs write on USB uart changes every 5 sec.
void application_task ( ) { mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_A; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0xFFFF; mikrobus_logWrite( " Channel A ~ 2500 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_B; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x7FFF; mikrobus_logWrite( " Channel B ~ 1250 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_C; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x3FFF; mikrobus_logWrite( " Channel C ~ 625 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_D; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x1FFF; mikrobus_logWrite( " Channel D ~ 312 mV", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- SPI
- UART
Additional Notes and Information
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
The DAC 8 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.
Software Support
We provide a library for the DAC 8 Click Board™ 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
The library covers all the necessary functions to control the DAC 8 Click Board™. A library performs the communication with the DAC60501 via I2C and communication with DAC8554 the SPI interface.
Key Functions
void dac8_generic_i2c_write ( uint8_t reg, uint16_t tx_data )
- Generic I2C ( DAC60501 ) write function.uint16_t dac8_generic_i2c_read ( uint8_t reg )
- Generic I2C ( DAC60501 ) read function.void dac8_generic_spi_write ( uint32_t tx_data )
- Generic SPI ( DAC8554 ) write function.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C and SPI and start to write log.
- Application Initialization - Initialization driver enables - I2C. Configure DAC60501: executes call software reset, disable sync and internal reference and disable Power-down mode, the set reference voltage is internally divided by a factor of 2, amplifier for corresponding DAC has a gain of 2. Initialization driver enables - SPI, enable DAC8554, also write log.
- Application Task - (code snippet) This is an example that demonstrates the use of the DAC 8 Click board. DAC 8 board changeing output values: Channel A ~ 2500 mV, Channel B ~ 1250 mV, Channel C ~ 625 mV, Channel D ~ 312 mV. All data logs write on USB uart changes every 5 sec.
void application_task ( ) { mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_A; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0xFFFF; mikrobus_logWrite( " Channel A ~ 2500 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_B; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x7FFF; mikrobus_logWrite( " Channel B ~ 1250 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_C; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x3FFF; mikrobus_logWrite( " Channel C ~ 625 mV ", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); cfg_dac.addr = DAC8_ADDR_DEFAULT; cfg_dac.ctrl_upd_an_out = DAC8_CTRL_UPD_AN_OUT_SINGLE_CH_STORE; cfg_dac.dac_sel = DAC8_DAC_SEL_CH_D; cfg_dac.pwr_mode = DAC8_PWR_MODE_POWER_UP; cfg_dac.dac_val = 0x1FFF; mikrobus_logWrite( " Channel D ~ 312 mV", _LOG_LINE ); dac8_device_config( cfg_dac ); dac8_load_dac( ); Delay_ms( 5000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- SPI
- UART
Additional Notes and Information
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
The DAC 8 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.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.