From f01279e334a6c298ba8d0cdff4512a1e502703cb Mon Sep 17 00:00:00 2001 From: Patrick Barsanti Date: Thu, 18 Jul 2024 10:32:34 +0200 Subject: [PATCH] clk: Add `Clock multiplying` slide Add slide titled `Clock multiplying`. This introduces how clock multiplying is achieved; since it is very complex and out of scope, this is done only briefly. Signed-off-by: Patrick Barsanti --- drivers/clk/clk.md | 23 +++++++++++++++++++ drivers/clk/public/images/pll-multiplier.png | Bin 0 -> 36351 bytes 2 files changed, 23 insertions(+) create mode 100644 drivers/clk/public/images/pll-multiplier.png diff --git a/drivers/clk/clk.md b/drivers/clk/clk.md index d41e181..494e433 100644 --- a/drivers/clk/clk.md +++ b/drivers/clk/clk.md @@ -155,3 +155,26 @@ you want to divide will be double the number of flip-flops, so the number of bits in the shift register, because going back to zero takes 2n steps. --> + +--- +layout: default +hideInToc: true +--- + +# Clock multiplying + +- Multiplying the input clock frequency by a given amount. +- Useful to generate a high frequency clock starting from a lower + oscillator (e.g. a few GHz from 24MHz oscillator). +- This is very complex, done with a + [Phase-Locked Loop](https://en.wikipedia.org/wiki/Phase-locked_loop) + (PLL) together with clock dividers. + Interesting, but not in the scope of this presentation. + + + +- Note also that if the input clock has a certain absolute error + (e.g. 24MHz ± 120KHz), this will be multiplied along with the + frequency (e.g. 50x multiplier -> 1.2GHz ± 6MHz). diff --git a/drivers/clk/public/images/pll-multiplier.png b/drivers/clk/public/images/pll-multiplier.png new file mode 100644 index 0000000000000000000000000000000000000000..59daeeb3a7086bf4c7454d8db62aa735bf939be1 GIT binary patch literal 36351 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 z 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 Bm%so3 literal 0 HcmV?d00001