TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (400 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (128 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (140753 times)
  2. FAT32 Library (73333 times)
  3. Network Ethernet Library (58188 times)
  4. USB Device Library (48378 times)
  5. Network WiFi Library (43965 times)
  6. FT800 Library (43528 times)
  7. GSM click (30462 times)
  8. mikroSDK (29157 times)
  9. PID Library (27166 times)
  10. microSD click (26841 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

CDC Click

Rating:

0

Author: MIKROE

Last Updated: 2024-10-31

Package Version: 2.1.0.6

mikroSDK Library: 2.0.0.0

Category: Measurements

Downloaded: 122 times

Not followed.

License: MIT license  

CDC Click is a compact add-on board that allows your application do a conversion of capacitance to a digital format. This board features the PCAP04, a capacitance-to-digital converter (CDC) from ScioSense. It also includes an integrated digital signal processor (DSP) for on-chip data post-processing. The converter has high flexibility and allows you to convert grounded capacitors and floating capacitors to a digital format. It has up to 50KHz sampling rate in up to 20-bit resolution.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "CDC Click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "CDC Click" changes.

Do you want to report abuse regarding "CDC Click".

  • Information
  • Comments (0)

mikroSDK Library Blog


CDC Click

CDC Click is a compact add-on board that allows your application do a conversion of capacitance to a digital format. This board features the PCAP04, a capacitance-to-digital converter (CDC) from ScioSense. It also includes an integrated digital signal processor (DSP) for on-chip data post-processing. The converter has high flexibility and allows you to convert grounded capacitors and floating capacitors to a digital format. It has up to 50KHz sampling rate in up to 20-bit resolution.

cdc_click.png

Click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Oct 2023.
  • Type : I2C/SPI type

Software Support

We provide a library for the CDC Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for CDC Click driver.

Standard key functions :

  • cdc_cfg_setup Config Object Initialization function.

    void cdc_cfg_setup ( cdc_cfg_t *cfg );
  • cdc_init Initialization function.

    err_t cdc_init ( cdc_t *ctx, cdc_cfg_t *cfg );
  • cdc_default_cfg Click Default Configuration function.

    err_t cdc_default_cfg ( cdc_t *ctx );

Example key functions :

  • cdc_write_config This function writes configuration data starting from the selected config address.

    err_t cdc_write_config ( cdc_t *ctx, uint8_t address, const uint8_t *data_in, uint8_t len );
  • cdc_send_opcode This function sends a desired opcode command byte.

    err_t cdc_send_opcode ( cdc_t *ctx, uint8_t opcode );
  • cdc_read_results This function reads all results and status registers.

    err_t cdc_read_results ( cdc_t *ctx, cdc_results_t *results );

Example Description

This example demonstrates the use of CDC Click board by reading capacitance measurements from C3/C2 and C5/C4 ports calculated from pure capacitance ratio between those ports and port C1/C0 which is used as external C reference.

The demo application is composed of two sections :

Application Init

Initializes the driver and performs the Click default configuration.


void application_init ( void )
{
    log_cfg_t log_cfg;  /**< Logger config object. */
    cdc_cfg_t cdc_cfg;  /**< Click config object. */

    /** 
     * Logger initialization.
     * Default baud rate: 115200
     * Default log level: LOG_LEVEL_DEBUG
     * @note If USB_UART_RX and USB_UART_TX 
     * are defined as HAL_PIN_NC, you will 
     * need to define them manually for log to work. 
     * See @b LOG_MAP_USB_UART macro definition for detailed explanation.
     */
    LOG_MAP_USB_UART( log_cfg );
    log_init( &logger, &log_cfg );
    log_info( &logger, " Application Init " );

    // Click initialization.
    cdc_cfg_setup( &cdc_cfg );
    CDC_MAP_MIKROBUS( cdc_cfg, MIKROBUS_1 );
    err_t init_flag = cdc_init( &cdc, &cdc_cfg );
    if ( ( I2C_MASTER_ERROR == init_flag ) || ( SPI_MASTER_ERROR == init_flag ) )
    {
        log_error( &logger, " Communication init." );
        for ( ; ; );
    }

    if ( CDC_ERROR == cdc_default_cfg ( &cdc ) )
    {
        log_error( &logger, " Default configuration." );
        for ( ; ; );
    }

    log_info( &logger, " Application Task " );
}

Application Task

Starts measurement and reads the results. The results data is displayed on the USB UART.

void application_task ( void )
{
    cdc_results_t results;
    cdc_send_opcode ( &cdc, CDC_OPCODE_CDC_START );
    Delay_ms ( 200 );
    if ( CDC_OK == cdc_read_results ( &cdc, &results ) )
    {
        log_printf ( &logger, " C1/C0: %.1f pF\r\n", 
                     results.res_0 * CDC_REF - CDC_INT_CAP_PF );
        log_printf ( &logger, " C3/C2: %.1f pF\r\n", 
                     results.res_1 * CDC_REF - CDC_INT_CAP_PF );
        log_printf ( &logger, " C5/C4: %.1f pF\r\n\n", 
                     results.res_2 * CDC_REF - CDC_INT_CAP_PF );
        Delay_ms ( 1000 );
    }
}

Note

For better accuracy and higher measurement range, add 200pF external capacitor between C1/C0 ports and set it below as CDC_EXT_CAP_C1_C0_PF macro before running the application. This way you will be able to measure capacitance in range from 1 to 2000pF.

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.CDC

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 MikroElektronika compilers.


ALSO FROM THIS AUTHOR

LPG click

5

This example demonstrates usage of the LPG click board in mikroBUS form factor. LPG click is suitable for detecting LPG concentration - LPG checker. LCD shows PPM value of LPG concentration.

[Learn More]

ECG 3 Click

0

ECG 3 Click is a complete solution for ECG and HR application development, utilizing a specialized IC with a clinical-grade analog front-end (AFE). ECG 3 Click uses the MAX30003 IC, an ultra-low power, single-channel bio-sensor, which features a wide range of different options, making it an ideal solution for development of heart rate and ECG monitoring applications, fitness applications, for the ECG bio-authentication, and similar applications related to heart monitoring. ECG 3 Click is also equipped with the 3.5mm electrodes connector, making it ready to be used out of the box.

[Learn More]

AM/FM 2 Click

0

AM/FM 2 Click is a compact add-on board that can be used to listen to music from the AM and FM radio bands. This board features the Si4732, a broadcast AM/FM/SE/LW/RDS radio receiver from Skyworks. This radio receiver integrates the complete broadcast tuner and receiver function from antenna input to digital audio output. In addition to the radio receiver, this Click board™ is equipped with the LM4910, a Boomer output capacitor-less stereo 35mW headphone amplifier from Texas Instruments. This amplifier can deliver 35mW of continuous average power to a 32Ω load with less than 1% distortion.

[Learn More]