{"id":40107,"date":"2026-02-06T15:20:10","date_gmt":"2026-02-06T15:20:10","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=40107"},"modified":"2026-07-23T12:00:00","modified_gmt":"2026-07-23T12:00:00","slug":"timing-configuration-on-imperix-controllers","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers","title":{"rendered":"Timing configuration on imperix controllers"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Timing-architecture\" >Timing architecture<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Timing-configuration\" >Timing configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Basic-timing-configurations\" >Basic timing configurations<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Single-rate-update\" >Single rate update<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Double-rate-update\" >Double rate update<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Advanced-timing-configurations\" >Advanced timing configurations<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Postscaler\" >Postscaler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Data-history\" >Data history<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Variable-switching-frequency\" >Variable switching frequency<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Multi-rate-execution\" >Multi-rate execution<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\/#Related-topics\" >Related topics<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">This article details the timing configuration on <a href=\"\/products\/power-electronic-controllers\/\">imperix controllers<\/a>, focusing on the four internal time bases (CLK0\u2013CLK3) that govern ADC sampling, control-loop execution, and PWM modulation. The presented principles are common to all controllers and apply to both standalone systems and multi-controller networks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a background to this note, important information is provided in <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics\">PN258<\/a>, which addresses commonly used sampling techniques for power electronics. Related information can also be found in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-simulink\">PN135<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-plecs\">PN137<\/a>, which detail how these essential timings are modeled in Simulation (using Simulink and PLECS, respectively).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Timing-architecture\"><\/span>Timing architecture<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike microcontrollers that commonly implement a cascade of events and interrupts, imperix controllers manage peripheral timing centrally with predetermined phase shifts. This permits avoiding unnecessary latencies and enables the dissemination of common (syntonized) clocks across the control network. More information about the firmware architecture of imperix controllers is provided in <a href=\"\/doc\/help\/architecture-of-imperix-controllers\">PN253<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For each control system (single or multiple stacked controllers), four time bases are available, implemented through CLK0-CLK3:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Clock<\/th><th class=\"has-text-align-center\" data-align=\"center\">Mandatory<\/th><th class=\"has-text-align-center\" data-align=\"center\">Where to configure<\/th><th class=\"has-text-align-center\" data-align=\"center\">Used for<\/th><th class=\"has-text-align-center\" data-align=\"center\">Variable frequency support<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">CLK0<\/td><td class=\"has-text-align-center\" data-align=\"center\">Yes<\/td><td class=\"has-text-align-center\" data-align=\"center\">CONFIG block<\/td><td class=\"has-text-align-center\" data-align=\"center\">CPU, ADC, <br>PWM modulators<\/td><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">CLK1<\/td><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td class=\"has-text-align-center\" data-align=\"center\">CLK block<\/td><td class=\"has-text-align-center\" data-align=\"center\">PWM modulators<\/td><td class=\"has-text-align-center\" data-align=\"center\">Yes<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">CLK2<\/td><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td class=\"has-text-align-center\" data-align=\"center\">CLK block<\/td><td class=\"has-text-align-center\" data-align=\"center\">PWM modulators<\/td><td class=\"has-text-align-center\" data-align=\"center\">Yes<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">CLK3<\/td><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td class=\"has-text-align-center\" data-align=\"center\">CLK block<\/td><td class=\"has-text-align-center\" data-align=\"center\">PWM modulators<\/td><td class=\"has-text-align-center\" data-align=\"center\">Yes<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table 1: Summary of clock functions and configuration<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Among these clocks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CLK0<\/strong> plays a special role, as it sets the timing for both ADC sampling and CPU control execution. Its frequency is therefore forced to be constant to ensure regular sampling. Two important internal signals are derived from&nbsp;CLK0, namely :\n<ul class=\"wp-block-list\">\n<li>SCLK, the physical sampling clock (frequency&nbsp;\\(F_{\\text{SCLK}}\\)). It runs at the same rate as CLK0, but with a user-defined&nbsp;constant phase shift&nbsp;that sets the exact sampling instant.<\/li>\n\n\n\n<li>A&nbsp;CPU interrupt clock&nbsp;(frequency&nbsp;\\(F_{\\text{CPU}}\\)), which triggers the execution of the control task. When required,&nbsp;\\(F_{\\text{CPU}}\\)&nbsp;can be obtained by&nbsp;decimating&nbsp;\\(F_{\\text{SCLK}}\\) using a <a type=\"internal\" href=\"#postscaler\" id=\"#postscaler\">postscaler<\/a>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Conversely, <strong>CLK1-CLK3<\/strong> are optional clocks available for use within modulators. These can be of variable frequency.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1560\" height=\"830\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation.jpg\" alt=\"Clock generation and timing manipulation at the hardware level in Imperix controllers\" class=\"wp-image-45092\" style=\"aspect-ratio:1.8795888399412628;width:552px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation.jpg 1560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation-300x160.jpg 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation-1024x545.jpg 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation-768x409.jpg 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock-generation-1536x817.jpg 1536w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><figcaption class=\"wp-element-caption\">Figure 1: Clock generation in imperix controllers<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Thanks to <a href=\"https:\/\/imperix.com\/technology\/low-latency-communication\/\">RealSync<\/a>, all clocks within a network of imperix controllers are synchronized with a timing accuracy of \u00b12ns. This means that the phase coherence and synchronization inherent in local resources are maintained across the entire distributed network. More information about the operation of imperix controllers in a multi-device configuration is given in PNxxx.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Timing-configuration\"><\/span>Timing configuration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When using the ACG SDK, all four clocks can be configured through the <a href=\"https:\/\/imperix.com\/doc\/software\/config-control-task-configuration\">CONFIG<\/a> and <a href=\"https:\/\/imperix.com\/doc\/software\/clock-generators\">CLK<\/a> blocks. When using the CPP SDK, equivalent configuration routines are available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The CONFIG block is mandatory inside every Simulink or PLECS model. Among its various functions, it handles configuring CLK0 and its associated signals. In contrast, CLK blocks (CLK1\u20133) are optional. These clocks are used only to drive modulation blocks (PWMs) when the PWM time base must differ from CLK0. Further details on simulating these blocks can be found on the <a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-simulink?currentThread=getting-started-with-acg-sdk\">PN135<\/a> and <a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-plecs?currentThread=getting-started-with-acg-sdk\">PN137<\/a> pages.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"85\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-8.png\" alt=\"Timing configuration blocks using imperix's SDK\" class=\"wp-image-43485\" style=\"width:420px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-8.png 635w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-8-300x40.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><figcaption class=\"wp-element-caption\">Figure 2: Configuration blocks for the four different clocks (The displayed values are only for the sake of example)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In practice, most control schemes rely solely on CLK0. This clock is configured in the <a href=\"https:\/\/imperix.com\/doc\/software\/config-control-task-configuration\">CONFIG<\/a> block, which sets the sampling and CPU interrupt frequencies. In many applications, CLK0 also defines the PWM switching frequency. This common arrangement is often referred to as <strong>single rate update<\/strong>. It is illustrated in Fig. 3.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config-1024x521.png\" alt=\"Single rate update configuration using simulink.\" class=\"wp-image-44861\" style=\"width:780px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config-1024x521.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config-300x153.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config-768x391.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config-1536x782.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU_config.png 1560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 3: Clocks setting and allocation in Simulink in single rate update mode configuration<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Consequently, the clock configuration impacts three subsystems as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/software\/analog-data-acquisition\"><strong>ADC<\/strong><\/a> resources are always referenced to CLK0, which defines the sampling instants according to the physical sampling clock SCLK at frequency \\(F_{\\text{SCLK}}\\).<\/li>\n\n\n\n<li><strong>CPU <\/strong>execution is always tied to CLK0 with a configurable postscaler. It is automatically phase-shifted so that the control algorithms start executing as soon as ADC data are available in the CPU cache.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/software\/pulse-width-modulator\"><strong>PWM<\/strong><\/a> blocks can be referenced to any of CLK0\u2013CLK3. The selected PWM clock can be an integer multiple or submultiple of CLK0, or it may be non-integer related (including variable-frequency operation), depending on the modulation scheme and the chosen clock source.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Figure 4 shows the use of CLK1 in a configuration that executed the control twice as fast as the PWMs. This configuration is referred to here as <strong>double-rate update<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"491\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_clk.png\" alt=\"\" class=\"wp-image-43501\" style=\"width:780px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_clk.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_clk-300x189.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_clk-768x483.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Figure 4: Clock settings and allocation in Simulink in double rate update configuration<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 id=\"Basic-timing-configurations\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Basic-timing-configurations\"><\/span>Basic timing configurations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On imperix controllers, the timing configurations arise from the relationship between CLK0 and the selected PWM time base. While CLK0 provides a fixed reference for ADC sampling and CPU execution, the PWM clocks determine the carrier frequency of the <a href=\"https:\/\/imperix.com\/doc\/software\/pulse-width-modulator\">modulators<\/a> and the specific instants at which the duty cycles are latched.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These update instants are not the same across all PWM carrier types. With a sawtooth (single-edge) carrier, there is only one effective update opportunity per PWM period, since a single intersection between the reference and the carrier determines the duty cycle. With a triangular (double-edge) carrier, two crossings occur per period, creating two distinct opportunities to update the duty cycle, as shown in Fig. 5.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"304\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-1024x304.png\" alt=\"PMW carrier, triangular vs sawtooth update instant\" class=\"wp-image-42621\" style=\"width:780px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-1024x304.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-300x89.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-768x228.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-1536x455.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/triangular_vs_sawtooth-2-2048x607.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 5: PWM carriers and possible duty cycle update instants<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Therefore, two fundamental timing configurations stem from these situations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#Single-rate-update\" type=\"internal\" id=\"#Single-rate-update\">Single rate update<\/a>, in which case the control task is executed <strong>once<\/strong> per PWM period, and duty cycles are updated once per PWM period.<\/li>\n\n\n\n<li><a href=\"#Double-rate-update\" type=\"internal\" id=\"#Double-rate-update\">Double rate update<\/a>, in which case the control task is executed <strong>twice<\/strong> per PWM period, and duty cycles are updated twice per PWM period.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With the double-rate update configuration, the control performance is enhanced by doubling the execution frequency (\\(F_{CPU}\\)) relative to the PWM switching frequency (\\(F_{SW}\\)). By executing the control task twice per carrier period, the system achieves a higher effective sampling rate and more frequent duty cycle updates. This approach allows for a higher closed-loop bandwidth at a given switching frequency, improving the overall dynamic response without increasing switching losses.<\/p>\n\n\n\n<h3 id=\"Single-rate-update\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Single-rate-update\"><\/span><strong>Single rate update<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Single rate update is the simplest timing configuration and remains the most widely used. In this configuration, ADC sampling, CPU control execution, and PWM duty-cycle updates all occur at the same fundamental frequency (which is also the switching frequency). Consequently, only CLK0 is required, as shown in Fig. 6.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1549\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-scaled.png\" alt=\"single rate update timing configuration using imperix controllers\" class=\"wp-image-42649\" style=\"aspect-ratio:1.7335784076617975;object-fit:contain;width:468px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-scaled.png 2560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-300x182.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-1024x620.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-768x465.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-1536x929.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/SRU-7-2048x1239.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Figure 6: Single rate update timing configuration<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">The remaining degree of freedom is the sampling phase, which must be selected based on the desired sampling approach (e.g., synchronous sampling or synchronous averaging; see <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics\">PN258<\/a>). When relevant, the sampling phase must be adjusted to account for analog front-end delays. The practical selection of this sampling phase is discussed below.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Configuration of the sampling phase<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">On imperix controllers, configuring CLK0 (the sampling frequency) is only the first step. The sampling instant must also be defined by selecting an appropriate sampling phase of SCLK relative to CLK0. This is configured in the <a href=\"https:\/\/imperix.com\/doc\/software\/config-control-task-configuration\">CONFIG<\/a> block, as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"24796\" height=\"10501\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/timing_cockpit_1.png\" alt=\"Sampling phase setting on imperix controller\" class=\"wp-image-41811\"\/><figcaption class=\"wp-element-caption\">Figure 7: Sampling phase configuration on imperix controller<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In most applications, the required phase value depends largely on the sampling method:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#Synchronous-averaging\">synchronous averaging<\/a> is used, the exact sampling instant within the PWM period is not critical, as the measurement represents a periodic average over a full switching period. In this scenario, the phase is typically adjusted to <a type=\"link\" href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#SyncAvg-optimal\" id=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#SyncAvg-optimal\">minimize the total control loop delay<\/a>, i.e. as late as possible.<\/li>\n\n\n\n<li>When <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#2-Synchronous-sampling\">synchronous sampling<\/a> is used, the sampling instant must be chosen to yield a representative ripple-averaged value. This generally leads to two phase options, 0 or 0.5, which often need to be adjusted to compensate for propagation delays inherent in the analog measurement chain, such as those arising from <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#sensor-bandwidth\">low sensor bandwidth<\/a>.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The sampling phase selection (0 or 0.5) is typically determined by the CPU execution time. A phase of 0.5 is generally preferred to minimize control delay, provided the CPU task completes within half a switching period. Alternatively, a phase of 0 is adopted for intensive computations to allow a full switching period.<\/div>\n\n\n\n<h3 id=\"Double-rate-update\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Double-rate-update\"><\/span><strong>Double rate update<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In a double rate update control scheme on imperix controllers, ADC sampling and CPU execution remain tied to CLK0, while the PWM block(s) use a separate time base (CLK1 to CLK3). To obtain two duty cycle update opportunities within one PWM period, the PWM time base must be set to \\(F_{\\text{CLK1}} = 0.5\\cdot F_{\\text{CLK0}}\\). This configuration is illustrated in Fig. 8.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1762\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-scaled.png\" alt=\"double rate update timing on imperix controllers\" class=\"wp-image-42650\" style=\"aspect-ratio:1.452960406828914;width:416px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-scaled.png 2560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-300x206.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-1024x705.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-768x528.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-1536x1057.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU-4-2048x1409.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Figure 8: Double rate update timing configuration on imperix controllers<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">A double-rate update requires a double-edge (triangular) carrier, as single-edge (sawtooth) carriers offer only one update instant per PWM period.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As with single-rate configurations, the optimal sampling phase in double-rate update mode depends on the chosen acquisition technique :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#Synchronous-averaging\">synchronous averaging<\/a> is used, the acquisition must be configured to average over two CLK0 periods (in the ADC block). Since CLK0 runs at twice the switching frequency in this configuration, this setting ensures that the average is calculated over one full PWM period.<\/li>\n\n\n\n<li>When <a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics#2-Synchronous-sampling\">synchronous sampling<\/a> is used, the sampling phase is typically set to 0 to align the acquisition with representative ripple-averaged values. This value may be further adjusted to compensate for delays inherent in the analog measurement chain (such as limited sensor bandwidth).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">From an implementation perspective, Fig. 9 summarizes the corresponding block-level structure and clock assignments for the closed-loop control of a buck converter using double-rate update. Reference Simulink and PLECS models implementing this configuration are provided below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-1024x450.png\" alt=\"double rate update using simulink and imperix blockset\" class=\"wp-image-42654\" style=\"width:780px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-1024x450.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-300x132.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-768x338.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-1536x675.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/DRU_simulink-1-2048x901.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 9: Double-rate update configuration using Simulink<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><strong>Simulink model<\/strong><\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-680a0eac-2e81-4bdd-985e-f8542bb41ec3\" href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Double_rate_update_Simulink.zip\">PN259_Double_rate_update_Simulink<\/a><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Double_rate_update_Simulink.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-680a0eac-2e81-4bdd-985e-f8542bb41ec3\">Download<\/a><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><strong>PLECS model<\/strong><\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-c4e4b737-3e33-4dc4-bdf8-56fc418c9b24\" href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/PN259_Double_rate_update_PLECS.plecs\">PN259_Double_rate_update_PLECS<\/a><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/PN259_Double_rate_update_PLECS.plecs\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-c4e4b737-3e33-4dc4-bdf8-56fc418c9b24\">Download<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 id=\"Advanced-timing-configurations\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advanced-timing-configurations\"><\/span><strong>Advanced timing configurations<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 id=\"postscaler\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Postscaler\"><\/span>Postscaler<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imperix controllers permit running the CPU at a submultiple of CLK0 by adjusting the post-scaler in the <a href=\"https:\/\/imperix.com\/doc\/software\/config-control-task-configuration\">CONFIG<\/a> block. Then, the CPU&#8217;s execution frequency is defined as \\(F_{\\text{CPU}} = F_{\\text{CLK0}}\/Postscaler\\).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In such a case, the CPU operates at this reduced rate and the sampling frequency remains synchronized with CLK0. This decoupling is particularly advantageous when controlling <a href=\"https:\/\/imperix.com\/doc\/implementation\/interleaved-buck-converter?currentThread=fast-electric-vehicle-charger-with-intermediate-energy-storage\">interleaved converters<\/a>. In such topologies, the sampling phase must be specifically shifted for each converter leg to capture the current at the ideal moment. Consequently, the sampling frequency must be \\(N\\) times faster than the CPU execution rate, where \\(N\\) represents the number of legs.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1560\" height=\"773\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2.png\" alt=\"Postscaler configuration using imperix controllers\" class=\"wp-image-44978\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2.png 1560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2-300x149.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2-1024x507.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2-768x381.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/cockpit_timing_postscaler_AI-2-1536x761.png 1536w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><figcaption class=\"wp-element-caption\">Figure 10: Postscaler configuration with N = 3 and corresponding timing view in Cockpit<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Figure 10 illustrates the timing view within the Cockpit interface when a postscaler of 3 is applied. In this configuration, the CPU executes three times slower than both CLK0 and SCLK.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Data-history\"><\/span>Data history<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imperix controllers also allow multiple samples to be retrieved at each CPU interrupt via the <em>Data history<\/em> function of the <a href=\"https:\/\/imperix.com\/doc\/software\/analog-data-acquisition\">ADC<\/a> block. This functionality is particularly advantageous when using a postscaler, as it enables the control algorithm to access the complete set of samples acquired during the preceding decimated interval. As illustrated in Fig.11, this ensures that all intermediate data points are available for processing, regardless of whether they were captured before the current CPU task was triggered.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1560\" height=\"713\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2.png\" alt=\"Postscaler configuration using imperix controllers\" class=\"wp-image-44965\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2.png 1560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2-300x137.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2-1024x468.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2-768x351.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Cockpit_timing_dataHistory-2-1536x702.png 1536w\" sizes=\"auto, (max-width: 1560px) 100vw, 1560px\" \/><figcaption class=\"wp-element-caption\">Figure 11: ADC history configuration with 3 samples<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Variable-switching-frequency\"><\/span>Variable switching frequency<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">While most converters operate at a fixed frequency, some applications require dynamic frequency adjustment for regulation. A typical example is the <a href=\"https:\/\/imperix.com\/doc\/implementation\/llc-converter-control\">LLC resonant converter<\/a>, where the output voltage is controlled by modulating the switching frequency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On imperix controllers, this is achieved by configuring the CLK1-3 blocks to enable real-time frequency updates, as shown in Fig. 12. See also <a href=\"https:\/\/imperix.com\/doc\/help\/variable-frequency-operation\">PN121<\/a> on variable-frequency operation with imperix controllers.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"93\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-9.png\" alt=\"\" class=\"wp-image-44841\" style=\"width:354px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-9.png 400w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/image-9-300x70.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><figcaption class=\"wp-element-caption\">Figure 12 : Variable frequency clock using Simulink<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">When variable switching frequencies are used, the sampling frequency remains fixed and tied to CLK0. Consequently, any form of synchronous acquisition is not possible, as the sampling instants will no longer align with the varying PWM periods.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Multi-rate-execution\"><\/span>Multi-rate execution<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Both\u00a0Simulink\u00a0and\u00a0PLECS\u00a0provide the flexibility to execute specific parts of a control algorithm at a lower frequency than the main execution rate (\\(F_{\\text{CPU}}\\)).\u00a0As this is managed via dedicated software blocks, it requires no modifications to the controller\u2019s timing configurations. This function is described in more detail in <a href=\"https:\/\/imperix.com\/doc\/help\/multi-rate-control\">PN256<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This feature may be useful for&nbsp;cascaded control&nbsp;strategies, where high-level outer loops, such as voltage or motor speed regulation, can run at a lower rate. In contrast, the inner loops continue to operate at the main execution rate to improve dynamic performance. An example of multi-rate execution can be found in <a type=\"link\" href=\"https:\/\/imperix.com\/doc\/implementation\/motor-speed-control?currentThread=electric-car-motor-control\" id=\"https:\/\/imperix.com\/doc\/implementation\/motor-speed-control?currentThread=electric-car-motor-control\">Motor speed control<\/a> or in <a href=\"https:\/\/imperix.com\/doc\/implementation\/maximum-power-point-tracking-mppt\">MPPT algorithms<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Related-topics\"><\/span>Related topics<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The following articles are indirectly related to timing configuration and provide useful additional information:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/sampling-techniques-for-power-electronics\">(PN258) Sampling techniques for power electronics<\/a> presents commonly used techniques and their associated delays. Imperix&#8217;s synchronous averaging approach is also explained in detail.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/analog-i-o-configuration-for-imperix-controllers\">(PN108) Analog I\/O configuration for imperix controllers<\/a> explains how to configure (via software) imperix controllers for implementing the desired sampling strategy.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-simulink?currentThread=getting-started-with-acg-sdk\">(PN135) Simulation essentials with Simulink<\/a> explains how the timing configuration is modeled in simulation and how the model should be configured to guarantee the simulation&#8217;s accuracy.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/simulation-essentials-plecs?currentThread=getting-started-with-acg-sdk\">(PN137) Simulation essentials with PLECS<\/a> addresses the same content as PN135, but with PLECS.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/architecture-of-imperix-controllers\">(PN253) Architecture of imperix controllers<\/a> presents their firmware, including a section about clock generation.<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/help\/operating-principles-of-imperix-controllers\">(PN261) Operating principles of imperix controllers<\/a> notably explains what constraints the maximum achievable closed-loop control rate.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article details the timing configuration on imperix controllers, focusing on the four internal time bases (CLK0\u2013CLK3) that govern ADC sampling, control-loop execution, and PWM&#8230;<\/p>\n","protected":false},"author":22,"featured_media":43494,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,32,166],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[98,69],"class_list":["post-40107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-help","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-acg-sdk","related-products-b-box-rcp","related-products-b-box-rcp-3-0"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Timing configuration on imperix controllers - imperix<\/title>\n<meta name=\"description\" content=\"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Timing configuration on imperix controllers - imperix\" \/>\n<meta property=\"og:description\" content=\"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-06T15:20:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-23T12:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png\" \/>\n\t<meta property=\"og:image:width\" content=\"780\" \/>\n\t<meta property=\"og:image:height\" content=\"462\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Antonin Stampbach, Nicolas Cherix\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonin Stampbach, Nicolas Cherix\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers\"},\"author\":{\"name\":\"Antonin Stampbach\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/1338476cb17e45ff388f2d9915cb27f9\"},\"headline\":\"Timing configuration on imperix controllers\",\"datePublished\":\"2026-02-06T15:20:10+00:00\",\"dateModified\":\"2026-07-23T12:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers\"},\"wordCount\":2172,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Clock_Imperix_controllers.png\",\"articleSection\":[\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers\",\"name\":\"Timing configuration on imperix controllers - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Clock_Imperix_controllers.png\",\"datePublished\":\"2026-02-06T15:20:10+00:00\",\"dateModified\":\"2026-07-23T12:00:00+00:00\",\"description\":\"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Clock_Imperix_controllers.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Clock_Imperix_controllers.png\",\"width\":780,\"height\":462},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/timing-configuration-on-imperix-controllers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Timing configuration on imperix controllers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/1338476cb17e45ff388f2d9915cb27f9\",\"name\":\"Antonin Stampbach\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g7aa81252baa6af2f21d9ab24227e4a4c\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g\",\"caption\":\"Antonin Stampbach\"},\"description\":\"Antonin is a development engineer at Imperix. On the knowledge base, he is the author of numerous articles on the control and operation of grid-connected inverters.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/antonin-stampbach-a75a87205\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/stampbach\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Timing configuration on imperix controllers - imperix","description":"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers","og_locale":"en_US","og_type":"article","og_title":"Timing configuration on imperix controllers - imperix","og_description":"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.","og_url":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers","og_site_name":"imperix","article_published_time":"2026-02-06T15:20:10+00:00","article_modified_time":"2026-07-23T12:00:00+00:00","og_image":[{"width":780,"height":462,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png","type":"image\/png"}],"author":"Antonin Stampbach, Nicolas Cherix","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Antonin Stampbach, Nicolas Cherix","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers"},"author":{"name":"Antonin Stampbach","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/1338476cb17e45ff388f2d9915cb27f9"},"headline":"Timing configuration on imperix controllers","datePublished":"2026-02-06T15:20:10+00:00","dateModified":"2026-07-23T12:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers"},"wordCount":2172,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png","articleSection":["Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers","url":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers","name":"Timing configuration on imperix controllers - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png","datePublished":"2026-02-06T15:20:10+00:00","dateModified":"2026-07-23T12:00:00+00:00","description":"Discover the unified timing architecture of Imperix controllers and how to configure clock domains for sampling, control, and PWM.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/02\/Clock_Imperix_controllers.png","width":780,"height":462},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/timing-configuration-on-imperix-controllers#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"Timing configuration on imperix controllers"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/1338476cb17e45ff388f2d9915cb27f9","name":"Antonin Stampbach","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g7aa81252baa6af2f21d9ab24227e4a4c","url":"https:\/\/secure.gravatar.com\/avatar\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d8f93c1670fdefaa99799c00f0c32d11f451231460aa951bbd0c5b7377748df?s=96&d=mm&r=g","caption":"Antonin Stampbach"},"description":"Antonin is a development engineer at Imperix. On the knowledge base, he is the author of numerous articles on the control and operation of grid-connected inverters.","sameAs":["https:\/\/www.linkedin.com\/in\/antonin-stampbach-a75a87205"],"url":"https:\/\/imperix.com\/doc\/author\/stampbach"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/40107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=40107"}],"version-history":[{"count":250,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/40107\/revisions"}],"predecessor-version":[{"id":48796,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/40107\/revisions\/48796"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/43494"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=40107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=40107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=40107"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=40107"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=40107"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=40107"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=40107"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=40107"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=40107"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=40107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}