mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-02 18:10:57 +02:00
feat(docs): Added svg file for the RNG
This commit is contained in:
committed by
Mahavir Jain
parent
d2cd0e72ef
commit
41b37f813b
BIN
docs/_static/esp_rng_noise_source_rf_available.png
vendored
BIN
docs/_static/esp_rng_noise_source_rf_available.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 39 KiB |
77
docs/_static/esp_rng_noise_source_rf_available.svg
vendored
Normal file
77
docs/_static/esp_rng_noise_source_rf_available.svg
vendored
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<svg width="600" height="200" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.box { fill: #f0f0f0; stroke: #333; stroke-width: 2; }
|
||||||
|
.text { font-family: Arial, sans-serif; font-size: 12px; text-anchor: middle; dominant-baseline: middle; }
|
||||||
|
.small-text { font-family: Arial, sans-serif; font-size: 10px; text-anchor: middle; dominant-baseline: middle; }
|
||||||
|
.wire { stroke: #333; stroke-width: 1.5; fill: none; }
|
||||||
|
.arrow { fill: #333; }
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- SAR ADC -->
|
||||||
|
<rect x="10" y="15" width="100" height="40" class="box"/>
|
||||||
|
<text x="60" y="35" class="text">SAR ADC</text>
|
||||||
|
|
||||||
|
<!-- High Speed ADC -->
|
||||||
|
<rect x="10" y="80" width="100" height="40" class="box"/>
|
||||||
|
<text x="60" y="95" class="text">High Speed</text>
|
||||||
|
<text x="60" y="110" class="text">ADC</text>
|
||||||
|
|
||||||
|
<!-- RC_FAST_CLK -->
|
||||||
|
<rect x="10" y="140" width="100" height="40" class="box"/>
|
||||||
|
<text x="60" y="160" class="small-text">RC_FAST_CLK</text>
|
||||||
|
|
||||||
|
<!-- Entropy source labels -->
|
||||||
|
<text x="150" y="20" class="small-text">Entropy source</text>
|
||||||
|
|
||||||
|
<text x="150" y="107" class="small-text">Entropy source</text>
|
||||||
|
|
||||||
|
<text x="150" y="155" class="small-text">Entropy source</text>
|
||||||
|
|
||||||
|
<!-- XOR gates -->
|
||||||
|
<!-- First XOR gate -->
|
||||||
|
<path d="M 200 30 Q 210 30 220 40 Q 210 50 200 50 L 180 50 Q 190 40 180 30 Z" class="box"/>
|
||||||
|
<text x="200" y="40" class="small-text">XOR</text>
|
||||||
|
|
||||||
|
<!-- Second XOR gate -->
|
||||||
|
<path d="M 280 70 Q 290 70 300 80 Q 290 90 280 90 L 260 90 Q 270 80 260 70 Z" class="box"/>
|
||||||
|
<text x="280" y="80" class="small-text">XOR</text>
|
||||||
|
|
||||||
|
<!-- Random Number Generator -->
|
||||||
|
<rect x="350" y="60" width="120" height="40" class="box"/>
|
||||||
|
<text x="410" y="75" class="text">Random</text>
|
||||||
|
<text x="410" y="85" class="text">Number</text>
|
||||||
|
<text x="410" y="95" class="text">Generator</text>
|
||||||
|
|
||||||
|
<!-- RNG_DATA_REG output -->
|
||||||
|
<text x="520" y="70" class="text">RNG_DATA_REG</text>
|
||||||
|
|
||||||
|
<!-- Wires -->
|
||||||
|
<!-- SAR ADC to first XOR (top input) -->
|
||||||
|
<line x1="110" y1="35" x2="180" y2="35" class="wire"/>
|
||||||
|
|
||||||
|
<!-- High Speed ADC to first XOR (bottom input) -->
|
||||||
|
<line x1="110" y1="100" x2="140" y2="100" class="wire"/>
|
||||||
|
<line x1="140" y1="100" x2="140" y2="45" class="wire"/>
|
||||||
|
<line x1="140" y1="45" x2="180" y2="45" class="wire"/>
|
||||||
|
|
||||||
|
<!-- RC_FAST_CLK to second XOR (bottom input) -->
|
||||||
|
<line x1="110" y1="160" x2="240" y2="160" class="wire"/>
|
||||||
|
<line x1="240" y1="160" x2="240" y2="85" class="wire"/>
|
||||||
|
<line x1="240" y1="85" x2="260" y2="85" class="wire"/>
|
||||||
|
|
||||||
|
<!-- First XOR to second XOR (top input) -->
|
||||||
|
<line x1="220" y1="40" x2="240" y2="40" class="wire"/>
|
||||||
|
<line x1="240" y1="40" x2="240" y2="75" class="wire"/>
|
||||||
|
<line x1="240" y1="75" x2="260" y2="75" class="wire"/>
|
||||||
|
|
||||||
|
<!-- Second XOR to RNG -->
|
||||||
|
<line x1="300" y1="80" x2="350" y2="80" class="wire"/>
|
||||||
|
|
||||||
|
<!-- RNG to output -->
|
||||||
|
<line x1="470" y1="80" x2="520" y2="80" class="wire"/>
|
||||||
|
|
||||||
|
<!-- Arrow at the end -->
|
||||||
|
<polygon points="520,75 520,85 530,80" class="arrow"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
BIN
docs/_static/esp_rng_noise_source_rf_unavailable.png
vendored
BIN
docs/_static/esp_rng_noise_source_rf_unavailable.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 36 KiB |
57
docs/_static/esp_rng_noise_source_rf_unavailable.svg
vendored
Normal file
57
docs/_static/esp_rng_noise_source_rf_unavailable.svg
vendored
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<svg width="600" height="200" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.box { fill: #f0f0f0; stroke: #333; stroke-width: 2; }
|
||||||
|
.text { font-family: Arial, sans-serif; font-size: 12px; text-anchor: middle; dominant-baseline: middle; }
|
||||||
|
.small-text { font-family: Arial, sans-serif; font-size: 10px; text-anchor: middle; dominant-baseline: middle; }
|
||||||
|
.wire { stroke: #333; stroke-width: 1.5; fill: none; }
|
||||||
|
.arrow { fill: #333; }
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- SAR ADC -->
|
||||||
|
<rect x="10" y="50" width="100" height="40" class="box"/>
|
||||||
|
<text x="60" y="70" class="text">SAR ADC</text>
|
||||||
|
|
||||||
|
<!-- RC_FAST_CLK -->
|
||||||
|
<rect x="10" y="110" width="100" height="40" class="box"/>
|
||||||
|
<text x="60" y="130" class="small-text">RC_FAST_CLK</text>
|
||||||
|
|
||||||
|
<!-- Entropy source labels -->
|
||||||
|
<text x="150" y="64" class="small-text">Entropy source</text>
|
||||||
|
|
||||||
|
<text x="150" y="124" class="small-text">Entropy source</text>
|
||||||
|
|
||||||
|
<!-- XOR gate -->
|
||||||
|
<path d="M 220 80 Q 230 80 240 90 Q 230 100 220 100 L 200 100 Q 210 90 200 80 Z" class="box"/>
|
||||||
|
<text x="220" y="90" class="small-text">XOR</text>
|
||||||
|
|
||||||
|
<!-- Random Number Generator -->
|
||||||
|
<rect x="350" y="70" width="120" height="40" class="box"/>
|
||||||
|
<text x="410" y="85" class="text">Random</text>
|
||||||
|
<text x="410" y="95" class="text">Number</text>
|
||||||
|
<text x="410" y="105" class="text">Generator</text>
|
||||||
|
|
||||||
|
<!-- RNG_DATA_REG output -->
|
||||||
|
<text x="520" y="90" class="text">RNG_DATA_REG</text>
|
||||||
|
|
||||||
|
<!-- Wires -->
|
||||||
|
<!-- SAR ADC to XOR (top input) -->
|
||||||
|
<line x1="110" y1="70" x2="160" y2="70" class="wire"/>
|
||||||
|
<line x1="160" y1="70" x2="160" y2="85" class="wire"/>
|
||||||
|
<line x1="160" y1="85" x2="200" y2="85" class="wire"/>
|
||||||
|
|
||||||
|
<!-- RC_FAST_CLK to XOR (bottom input) -->
|
||||||
|
<line x1="110" y1="130" x2="180" y2="130" class="wire"/>
|
||||||
|
<line x1="180" y1="130" x2="180" y2="95" class="wire"/>
|
||||||
|
<line x1="180" y1="95" x2="200" y2="95" class="wire"/>
|
||||||
|
|
||||||
|
<!-- XOR to RNG -->
|
||||||
|
<line x1="240" y1="90" x2="350" y2="90" class="wire"/>
|
||||||
|
|
||||||
|
<!-- RNG to output -->
|
||||||
|
<line x1="470" y1="90" x2="520" y2="90" class="wire"/>
|
||||||
|
|
||||||
|
<!-- Arrow at the end -->
|
||||||
|
<polygon points="520,85 520,95 530,90" class="arrow"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
@@ -26,14 +26,12 @@ The following digram shows the noise sources for the RNG on the {IDF_TARGET_NAME
|
|||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED
|
||||||
|
|
||||||
.. image:: /../_static/esp_rng_noise_source_rf_available.png
|
.. image:: /../_static/esp_rng_noise_source_rf_available.svg
|
||||||
:scale: 80 %
|
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. only:: not SOC_WIFI_SUPPORTED and not SOC_IEEE802154_SUPPORTED and not SOC_BT_SUPPORTED
|
.. only:: not SOC_WIFI_SUPPORTED and not SOC_IEEE802154_SUPPORTED and not SOC_BT_SUPPORTED
|
||||||
|
|
||||||
.. image:: /../_static/esp_rng_noise_source_rf_unavailable.png
|
.. image:: /../_static/esp_rng_noise_source_rf_unavailable.svg
|
||||||
:scale: 80 %
|
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
The hardware RNG produces true random numbers so long as one or more of the following conditions are met:
|
The hardware RNG produces true random numbers so long as one or more of the following conditions are met:
|
||||||
@@ -55,7 +53,7 @@ If none of the above conditions are true, the output of the RNG should be consid
|
|||||||
Enabling RF subsystem
|
Enabling RF subsystem
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
The RF subsystem can be enabled with help of the following APIs:
|
The RF subsystem can be enabled with help of one of the following APIs:
|
||||||
|
|
||||||
.. list::
|
.. list::
|
||||||
|
|
||||||
@@ -71,7 +69,7 @@ During startup, the ESP-IDF bootloader temporarily enables the non-RF internal e
|
|||||||
|
|
||||||
.. only:: not SOC_WIFI_SUPPORTED and not SOC_IEEE802154_SUPPORTED and not SOC_BT_SUPPORTED
|
.. only:: not SOC_WIFI_SUPPORTED and not SOC_IEEE802154_SUPPORTED and not SOC_BT_SUPPORTED
|
||||||
|
|
||||||
For {IDF_TARGET_NAME}, the High Speed ADC is not available. Hence the non-RF internal entropy source (SAR ADC) is kept enabled by default at the time of application startup. Please note that if the application wants to use ADC for other purposes, it should call :cpp:func:`bootloader_random_disable` before using the ADC and :cpp:func:`bootloader_random_enable` to re-enable the entropy source when the Random Number Generator is needed again.
|
For {IDF_TARGET_NAME}, the High Speed ADC is not available. Hence the non-RF internal entropy source (SAR ADC) is kept enabled by default at the time of application startup.
|
||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user