TOP Contributors

  1. MIKROE (2762 codes)
  2. Alcides Ramos (374 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (118 codes)
  5. Bugz Bensce (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 (139254 times)
  2. FAT32 Library (71751 times)
  3. Network Ethernet Library (57122 times)
  4. USB Device Library (47430 times)
  5. Network WiFi Library (43082 times)
  6. FT800 Library (42403 times)
  7. GSM click (29835 times)
  8. mikroSDK (28078 times)
  9. PID Library (26885 times)
  10. microSD click (26198 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: 130 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

Magneto 6 Click

0

Magneto 6 Click features low power three dimensional Hall effect sensor, TLI493D-A2B6, designed for magnetic sensing applications. It measures the magnetic field in X, Y, and Z direction. Each X, Y and Z Hall probe is connected sequentially to a multiplexer, which is then connected to an Analog to Digital Converter (ADC). Optional, the temperature can be determined as well after the three Hall channels. The data measurement is provided in digital format to the microcontroller over the standard I2C interface. Some of the benefits of this Click board™ are wide application range addressable due to high flexibility and component reduction due to the 3D magnetic measurement principle.

[Learn More]

DC Motor 18 Click

0

DC Motor 18 Click is a compact add-on board that contains a brushed DC motor driver. This board features the TB9051FTG, an automotive PWM-type single-channel H-Bridge DC brushed motor driver from Toshiba Semiconductor.

[Learn More]

IR Sense 5 Click

0

IR Sense 5 Click is a compact add-on board designed for accurate, non-contact surface temperature measurement. This board features the ZTP-148SRC1, a thermopile IR sensor from Amphenol, with a measurement range from -20 to +100°C, an active area of 0.7x0.7mm², and a typical field of view of 85 degrees. The board also integrates an OPA2365AIDR OpAmp for signal amplification and an MCP3221 analog-to-digital converter for digitizing the output. Additional features include output offset selection and test points for signal monitoring.

[Learn More]