TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (403 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (132 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 (140979 times)
  2. FAT32 Library (73518 times)
  3. Network Ethernet Library (58326 times)
  4. USB Device Library (48513 times)
  5. Network WiFi Library (44135 times)
  6. FT800 Library (43692 times)
  7. GSM click (30547 times)
  8. mikroSDK (29298 times)
  9. PID Library (27220 times)
  10. microSD click (26931 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-10-31

Package Version: 2.1.0.10

mikroSDK Library: 2.0.0.0

Category: Clock generator

Downloaded: 203 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

Buck 23 Click

0

Buck 23 Click is a compact add-on board with a DC-DC power converter that steps down the voltage from its input to its output. This board features the MAX20010C, a fully-integrated, high-efficiency, synchronous, step-down converter from Analog Devices. The MAX20010C achieves 6A continuous output current over a wide input supply range from 3V to 5.5V. It offers ±2% output voltage accuracy and can operate efficiently over interface-configurable output voltage load range from 0.5V to 1.58V. The MAX20010C also offers programmable soft-start, overcurrent, and overtemperature protections.

[Learn More]

RTC 4 click

5

RTC4 click has an integrated backup energy source that maintains a charge with an onboard coin cell supercapacitor. Being a 1-Wire click board, RTC4 click can operate in a microLAN network (a network of 1-Wire devices that are all associated with a master device).

[Learn More]

Bluetooth 2 Click

0

Bluetooth 2 Click features WT41u, a long range class 1, Bluetooth® 2.1 + EDR module from Silicon Labs. WT41u is a highly integrated and sophisticated Bluetooth® module, containing all the necessary elements from Bluetooth® radio and a fully implemented protocol stack. Therefore WT41u provides an ideal solution for developers who want to integrate Bluetooth® wireless technology into their design with limited knowledge of Bluetooth® and RF technologies. WT41u optimized for long range applications is available with an integrated chip antenna.

[Learn More]