TOP Contributors

  1. MIKROE (2663 codes)
  2. Alcides Ramos (358 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (112 codes)
  5. Chisanga Mumba (90 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 (137078 times)
  2. FAT32 Library (70222 times)
  3. Network Ethernet Library (56094 times)
  4. USB Device Library (46409 times)
  5. Network WiFi Library (42029 times)
  6. FT800 Library (41373 times)
  7. GSM click (29109 times)
  8. mikroSDK (26553 times)
  9. PID Library (26487 times)
  10. microSD click (25483 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

Clock Gen 4 click

Rating:

0

Author: MIKROE

Last Updated: 2024-04-03

Package Version: 2.1.0.8

mikroSDK Library: 2.0.0.0

Category: Clock generator

Downloaded: 67 times

Not followed.

License: MIT license  

Clock Gen 4 Click is a compact add-on board that contains both a clock generator and a multiplier/jitter reduced clock frequency synthesizer. This board features the CS2200-CP, an analog PLL architecture comprised of a Delta-Sigma fractional-N frequency synthesizer from Cirrus Logic. This clocking device utilizes a programmable phase lock loop and allows frequency synthesis and clock generation from a stable reference clock. It generates a low-jitter PLL clock from an external crystal, supports both I²C and SPI for full software control, and also has configurable auxiliary clock output. This Click board™ is suitable for MCU clock source, or in applications like digital effects processors, digital mixing consoles, and many more.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Clock Gen 4 click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Clock Gen 4 click" changes.

Do you want to report abuse regarding "Clock Gen 4 click".

  • mikroSDK Library 1.0.0.0
  • Comments (0)

mikroSDK Library Blog


Clock Gen 4 click

Clock Gen 4 Click is a compact add-on board that contains both a clock generator and a multiplier/jitter reduced clock frequency synthesizer. This board features the CS2200-CP, an analog PLL architecture comprised of a Delta-Sigma fractional-N frequency synthesizer from Cirrus Logic. This clocking device utilizes a programmable phase lock loop and allows frequency synthesis and clock generation from a stable reference clock. It generates a low-jitter PLL clock from an external crystal, supports both I²C and SPI for full software control, and also has configurable auxiliary clock output. This Click board™ is suitable for MCU clock source, or in applications like digital effects processors, digital mixing consoles, and many more.

clockgen4_click.png

click Product page


Click library

  • Author : Jelena Milosavljevic
  • Date : Jul 2021.
  • Type : I2C/SPI type

Software Support

We provide a library for the ClockGen4 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 ClockGen4 Click driver.

Standard key functions :

  • clockgen4_cfg_setup Config Object Initialization function.

    void clockgen4_cfg_setup ( clockgen4_cfg_t *cfg );
  • clockgen4_init Initialization function.

    err_t clockgen4_init ( clockgen4_t *ctx, clockgen4_cfg_t *cfg );
  • clockgen4_default_cfg Click Default Configuration function.

    err_t clockgen4_default_cfg ( clockgen4_t *ctx );

Example key functions :

  • clockgen4_dev_ctl Function is used to write to device control register in order to apply settings.

    void clockgen4_dev_ctl ( clockgen4_t *ctx, uint8_t dev_ctl );
  • clockgen4_dev_cfg Function is used to write to device configuration 1 register in order to apply settings.

    void clockgen4_dev_cfg ( clockgen4_t *ctx, uint8_t dev_cfg );
  • clockgen4_glob_cfg Function is used to write to function configuration 2 register in order to apply settings.

    void clockgen4_glob_cfg ( clockgen4_t *ctx, uint8_t glob_cfg );

Example Description

This example demonstrates the uses of Clock Gen 4 click which is based on CS2200-CP for changing the channel clock. The CS2200-CP is an extremely versatile system clocking device that utilizes a programmable phase lock loop. The CS2200-CP is based on an analog PLL architecture and this architecture allows for frequency synthesis and clock generation from a stable reference clock. The CS2200-CP supports both I²C and SPI for full software control.

The demo application is composed of two sections :

Application Init

Initializes I2C and SPI, sets CS pin as output and starts to write log, applies default settings and adjusted ratio to obtain a frequency.


void application_init ( void ){
    log_cfg_t log_cfg;                     /**< Logger config object. */
    clockgen4_cfg_t clockgen4_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 " );

    Delay_ms ( 100 );
    log_printf( &logger, "---------------------" );
    log_printf( &logger, "  Clock Gen 4 Click  " );
    log_printf( &logger, "---------------------" );

    // Click initialization.
    clockgen4_cfg_setup( &clockgen4_cfg );
    CLOCKGEN4_MAP_MIKROBUS( clockgen4_cfg, MIKROBUS_1 );
    err_t init_flag  = clockgen4_init( &clockgen4, &clockgen4_cfg );
    if ( ( I2C_MASTER_ERROR == init_flag ) || ( SPI_MASTER_ERROR == init_flag ) ) {
        log_error( &logger, " Application Init Error. " );
        log_info( &logger, " Please, run program again... " );

        for ( ; ; );
    }

    clockgen4_default_cfg ( &clockgen4 );
    log_info( &logger, " Application Task " );
    Delay_ms ( 100 );
}

Application Task

Clock Gen 4 click is used in this example to generate and change the clock on the output channel.


void application_task ( void ){
    clockgen4_dev_ctl ( &clockgen4, CLOCKGEN4_AUX_OUT_DIS | CLOCKGEN4_CLK_OUT_EN );
    log_printf( &logger, "  PLL Clock          \r\n" );
    log_printf( &logger, "  output enabled!    \r\n" );
    log_printf( &logger, "---------------------\r\n" );
    Delay_ms ( 1000 );

    clockgen4_dev_ctl ( &clockgen4, CLOCKGEN4_AUX_OUT_EN | CLOCKGEN4_CLK_OUT_DIS );
    log_printf( &logger, "  AUX Clock          \r\n" );
    log_printf( &logger, "  output enabled!    \r\n" );
    log_printf( &logger, "---------------------\r\n" );
    Delay_ms ( 1000 );
}

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.ClockGen4

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

RNG click

0

RNG Click is a random number generator (RNG) is a device that generates a sequence of numbers or symbols that cannot be reasonably predicted better than by a random chance. This Click board™ is true hardware random-number generator (HRNG), which generate genuinely random numbers.

[Learn More]

EnOcean click

0

EnOcean click carries a TCM 310 transceiver, which is a bidirectional gateway for EnOcean’s 868 MHz radio systems. The click is designed to run on a 3.3V power supply.

[Learn More]

LED Driver 15 click

0

LED Driver 15 Click is a compact add-on board that simplifies the control of multiple LEDs. This board features the MP3309C, a fully integrated synchronous boost white LED driver with an I2C interface from Monolithic Power Systems. The MP3309C offers high efficiency, delivers up to 40mA of LED current, and operates from a voltage of mikroBUS™ power rails, supporting up to 8 white LEDs in series. It also features a programmable switching frequency to optimize efficiency, supports analog and PWM dimming, and has multiple built-in protection functions that protect the circuit during abnormalities.

[Learn More]