first week of revision
This commit is contained in:
1 parent
504472e7cc
commit
00b5dfea65
31 files changed
+579
-72
No files matched your search
+15
-15
@@ -1,19 +1,19 @@
|
|||||||
# [Bachelor in embedded system](/bachelor/)
|
<header>
|
||||||
|
<h1>Yggdrasil</h1>
|
||||||
|
</header>
|
||||||
|
Yggdrasil is a collections of notes around IT, OT and other geeks stuff
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
## [PTR](/bachelor/PTR/)
|
# [Bachelor in embedded system](/infotro/)
|
||||||
|
Here notes I take during my bachelor in embedded systems
|
||||||
|
|
||||||
## [SDi](/bachelor/SDi/)
|
|
||||||
- [transmission_process.md](/bachelor/SDi/transmission_process.md)
|
|
||||||
|
|
||||||
|
|
||||||
## [Eln](/bachelor/Eln/)
|
|
||||||
- [AD/DA](/bachelor/Eln/ADDA.md)
|
|
||||||
|
|
||||||
|
|
||||||
## [SEm](/bachelor/SEm/)
|
|
||||||
- [PLA - Programmation en langage assembleur](/bachelor/SEm/PLA.md)
|
|
||||||
- [ASM - Assembleur ARM](/bachelor/SEm/ASM.md)
|
|
||||||
|
|
||||||
|
Mainly some topics:
|
||||||
|
- [PTR - Programmation Temps Réel](/infotro/PTR/)
|
||||||
|
- [SDi - Système Distribué](/infotro/SDi/)
|
||||||
|
- [Eln - Électronique](/infotro/Eln/)
|
||||||
|
- [SEm - Systèmes Embarqué](/infotro/SEm/)
|
||||||
|
|
||||||
# [STM32](/STM32/)
|
# [STM32](/STM32/)
|
||||||
|
Here some note specific about STM32
|
||||||
+5
-8
@@ -1,9 +1,6 @@
|
|||||||
* [PTR](/bachelor/PTR)
|
* [Bachelor Infotro](/infotro/)
|
||||||
* [SDi](/bachelor/SDi)
|
* [PTR - Programmation Temps Réel](/infotro/PTR/)
|
||||||
* [Transmission Process](/bachelor/SDi/transmission_process.md)
|
* [SDi - Systèmes Distribués](/infotro/SDi)
|
||||||
* [Eln](/bachelor/Eln/)
|
* [Eln - Électronique](/infotro/Eln/)
|
||||||
* [AD/DA](/bachelor/Eln/ADDA.md)
|
* [SEm - Systèmes Embarqués](/infotro/SEm/)
|
||||||
* [SEm](/bachelor/SEm/)
|
|
||||||
* [PLA - Programmation en langage assembleur](/bachelor/SEm/PLA.md)
|
|
||||||
* [ASM - Assembleur ARM](/bachelor/SEm/ASM.md)
|
|
||||||
* [STM32](/STM32/)
|
* [STM32](/STM32/)
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Interfaces et convertisseur
|
|
||||||
|
|
||||||
- [AD/DA](/bachelor/Eln/ADDA.md)
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Bachelor in embedded system
|
|
||||||
|
|
||||||
## [PTR](/bachelor/PTR/)
|
|
||||||
|
|
||||||
|
|
||||||
## [SDi](/bachelor/SDi/)
|
|
||||||
- [transmission_process.md](/bachelor/SDi/transmission_process.md)
|
|
||||||
|
|
||||||
|
|
||||||
## [Eln](/bachelor/Eln/)
|
|
||||||
- [Interfaces et convertisseurs](/bachelor/Eln/README.md#Interfaces-et-convertisseur)
|
|
||||||
- [AD/DA](/bachelor/Eln/ADDA.md)
|
|
||||||
|
|
||||||
|
|
||||||
## [SEm](/bachelor/SEm/)
|
|
||||||
- [PLA - Programmation en langage assembleur](/bachelor/SEm/PLA.md)
|
|
||||||
- [ASM - Assembleur ARM](/bachelor/SEm/ASM.md)
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# Taille des paquets de bits
|
|
||||||
|
|
||||||
[PLA](/bachelor/arm/PLA.md)
|
|
||||||
[ASM(/bachelor/arm/ASM.md)
|
|
||||||
@@ -3,7 +3,7 @@ $$
|
|||||||
E=mc^2
|
E=mc^2
|
||||||
$$
|
$$
|
||||||
|
|
||||||
[transmission_process.md](../bachelor/SDi/transmission_process.md)
|
[transmission_process.md](../infotro/SDi/transmission_process.md)
|
||||||
## embedding it directly
|
## embedding it directly
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
@@ -26,7 +26,7 @@ Alice <-- Bob: another authentication Response
|
|||||||
|
|
||||||
## load from external files
|
## load from external files
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Wavedrom
|
## Wavedrom
|
||||||
```wavedrom
|
```wavedrom
|
||||||
|
|||||||
File renamed without changes.
+40
-16
@@ -22,23 +22,11 @@
|
|||||||
repo: 'https://git.kb28.ch/Klagarge/Yggdrasil.git',
|
repo: 'https://git.kb28.ch/Klagarge/Yggdrasil.git',
|
||||||
maxLevel: 3,
|
maxLevel: 3,
|
||||||
coverpage: false,
|
coverpage: false,
|
||||||
autoHeader: true,
|
loadNavbar: true, // Nav bar on top - was true
|
||||||
loadNavbar: true,
|
|
||||||
subMaxLevel: 3,
|
subMaxLevel: 3,
|
||||||
auto2top: true,
|
auto2top: true, // was true
|
||||||
mergeNavbar: true,
|
mergeNavbar: true, // was true
|
||||||
search: {
|
//search: 'auto',
|
||||||
maxAge: 86400000, // Expiration time, the default one day
|
|
||||||
paths: [
|
|
||||||
'/',
|
|
||||||
'/bachelor',
|
|
||||||
'/STM32',
|
|
||||||
],
|
|
||||||
placeholder: 'Type to search',
|
|
||||||
noData: 'No Results!',
|
|
||||||
depth: 5,
|
|
||||||
hideOtherSidebarContent: false, // whether or not to hide other sidebar content
|
|
||||||
},
|
|
||||||
pagination: {
|
pagination: {
|
||||||
previousText: {
|
previousText: {
|
||||||
'/en/': 'PREV',
|
'/en/': 'PREV',
|
||||||
@@ -79,6 +67,42 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
darklightTheme: {
|
||||||
|
siteFont : "Ubuntu",
|
||||||
|
defaultTheme : 'light',
|
||||||
|
codeFontFamily : 'Roboto Mono, Monaco, courier, monospace',
|
||||||
|
bodyFontSize : '17px',
|
||||||
|
dark: {
|
||||||
|
accent: '#42b983',
|
||||||
|
toogleBackground : '#ffffff',
|
||||||
|
background: '#091a28',
|
||||||
|
textColor: '#b4b4b4',
|
||||||
|
codeTextColor : '#ffffff',
|
||||||
|
codeBackgroundColor : '#0e2233',
|
||||||
|
borderColor : '#0d2538',
|
||||||
|
blockQuoteColor : '#858585',
|
||||||
|
highlightColor : '#d22778',
|
||||||
|
sidebarSublink : '#b4b4b4',
|
||||||
|
codeTypeColor : '#ffffff',
|
||||||
|
coverBackground : 'linear-gradient(to left bottom, hsl(118, 100%, 85%) 0%,hsl(181, 100%, 85%) 100%)',
|
||||||
|
toogleImage : 'url(https://cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/icons/sun.svg)'
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
accent: '#42b983',
|
||||||
|
toogleBackground : '#091a28',
|
||||||
|
background: '#ffffff',
|
||||||
|
textColor: '#34495e',
|
||||||
|
codeTextColor : '#525252',
|
||||||
|
codeBackgroundColor : '#f8f8f8',
|
||||||
|
borderColor : 'rgba(0, 0, 0, 0.07)',
|
||||||
|
blockQuoteColor : '#858585',
|
||||||
|
highlightColor : '#d22778',
|
||||||
|
sidebarSublink : '#b4b4b4',
|
||||||
|
codeTypeColor : '#091a28',
|
||||||
|
coverBackground : 'linear-gradient(to left bottom, hsl(118, 100%, 85%) 0%,hsl(181, 100%, 85%) 100%)',
|
||||||
|
toogleImage : 'url(https://cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/icons/moon.svg)'
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<!-- Docsify v4 -->
|
<!-- Docsify v4 -->
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
# AD/DA
|
<header>
|
||||||
|
<h1>AD/DA</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
## AD
|
# AD
|
||||||
Il existe 4 méthodes principales pour une conversion Analogique vers Digital:
|
Il existe 4 méthodes principales pour une conversion Analogique vers Digital:
|
||||||
- Parallèle
|
- Parallèle
|
||||||
- Par pesée
|
- Par pesée
|
||||||
- Par comptage
|
- Par comptage
|
||||||
- Sigma-delta
|
- Sigma-delta
|
||||||
|
|
||||||
# Conversion D/A
|
|
||||||
| | + (Avantage) | - (Inconvénient) |
|
| | + (Avantage) | - (Inconvénient) |
|
||||||
|-------------------------|------------------------|-----------------------------|
|
|-------------------------|------------------------|-----------------------------|
|
||||||
| **Parallèle<br>Unaire** | Simplicité<br>Monotone | Taille du circuit ~$2^{n}$ |
|
| **Parallèle<br>Unaire** | Simplicité<br>Monotone | Taille du circuit ~$2^{n}$ |
|
||||||
@@ -16,11 +17,11 @@ Il existe 4 méthodes principales pour une conversion Analogique vers Digital:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Parallèle
|
## Parallèle
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Par comptage
|
## Par comptage
|
||||||
Un seul switch mais avec une fréquence de commutation très rapide
|
Un seul switch mais avec une fréquence de commutation très rapide
|
||||||
$$
|
$$
|
||||||
V_{a} = \frac{t_{on}}{T}\cdot V_{ref}
|
V_{a} = \frac{t_{on}}{T}\cdot V_{ref}
|
||||||
@@ -28,7 +29,7 @@ $$
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||
### Par pesée
|
## Par pesée
|
||||||
Un switch par bit.
|
Un switch par bit.
|
||||||
|
|
||||||

|

|
||||||
@@ -46,3 +47,15 @@ Pour un $V_{red} = 1[V]$ on a:
|
|||||||
| 1 | 1 | 0 | 0,750 |
|
| 1 | 1 | 0 | 0,750 |
|
||||||
| 1 | 1 | 1 | 0,875 |
|
| 1 | 1 | 1 | 0,875 |
|
||||||
|
|
||||||
|
# DA
|
||||||
|
## Échantillonneur avec maintien
|
||||||
|
|
||||||
|
|
||||||
|
# Caractéristique de convertisseurs
|
||||||
|
|
||||||
|
## Digits et affichage
|
||||||
|
|
||||||
|
$$
|
||||||
|
nBits = Ceiling\left[log_2\cdot \frac{plage}{pas}\right]
|
||||||
|
$$
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<header>
|
||||||
|
<h1>Électronique</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
# Convertisseurs
|
||||||
|
- [AD/DA](/infotro/Eln/ADDA)
|
||||||
|
- [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||||
@@ -0,0 +1,234 @@
|
|||||||
|
<header>
|
||||||
|
<h1>Sigma / Delta</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
```drawio
|
||||||
|
|
||||||
|
<mxfile host="Electron" modified="2024-01-27T19:14:32.318Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.21 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="_JxO4yykJQa9LzsHiU7_" version="22.1.21" type="device">
|
||||||
|
<diagram name="Page-1" id="ScnFzgmv18Yx9ZM-e3TZ">
|
||||||
|
<mxGraphModel dx="450" dy="363" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-11" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="160" y="380" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-7" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" vertex="1">
|
||||||
|
<mxGeometry width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-8" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="15" y="30" as="sourcePoint" />
|
||||||
|
<mxPoint x="25" y="30" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-9" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="3" y="19.899999999999977" as="sourcePoint" />
|
||||||
|
<mxPoint x="13" y="19.899999999999977" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-10" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="8" y="25" as="sourcePoint" />
|
||||||
|
<mxPoint x="8" y="15" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-7" target="z0oqqv8cwlupup-oO1Ry-3" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-13" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="280" y="360" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-3" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-13" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-4" value="" style="curved=1;endArrow=none;html=1;rounded=0;endFill=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-13" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="7" y="53" as="sourcePoint" />
|
||||||
|
<mxPoint x="37" y="33" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="7" y="63" />
|
||||||
|
<mxPoint x="17" y="63" />
|
||||||
|
<mxPoint x="27" y="23" />
|
||||||
|
<mxPoint x="37" y="23" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-14" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="440" y="360" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-5" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-14" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-6" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-14" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="8" y="61" as="sourcePoint" />
|
||||||
|
<mxPoint x="28" y="21" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="18" y="61" />
|
||||||
|
<mxPoint x="18" y="41" />
|
||||||
|
<mxPoint x="18" y="21" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-3" target="z0oqqv8cwlupup-oO1Ry-5" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#808080;" parent="1" target="z0oqqv8cwlupup-oO1Ry-7" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="120" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="150.00000000000003" y="395" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="130" y="400" />
|
||||||
|
<mxPoint x="130" y="400" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-5" target="z0oqqv8cwlupup-oO1Ry-17" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-27" value="" style="group;strokeColor=none;fontColor=#808080;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="600" y="480" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-23" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-24" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" source="z0oqqv8cwlupup-oO1Ry-23" target="z0oqqv8cwlupup-oO1Ry-23" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="60" y="-120" as="sourcePoint" />
|
||||||
|
<mxPoint x="110" y="-170" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-25" value="<font style="font-size: 20px;"><b>A</b></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-26" value="<font style="font-size: 20px;"><b>D</b></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry x="40" y="40" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-28" value="" style="group;strokeColor=#808080;fontColor=#808080;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="600" y="380" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-17" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-19" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.804;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.004;entryY=0.68;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" source="z0oqqv8cwlupup-oO1Ry-17" target="z0oqqv8cwlupup-oO1Ry-17" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-10" y="70" as="sourcePoint" />
|
||||||
|
<mxPoint x="40" y="20" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="10" y="60" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-20" value="D" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry y="10" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-22" value="Q" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry x="60" y="10" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-29" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-22" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="660" y="370" as="sourcePoint" />
|
||||||
|
<mxPoint x="760" y="400" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-30" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;startArrow=oval;startFill=1;strokeColor=#808080;" parent="1" target="z0oqqv8cwlupup-oO1Ry-23" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="720" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="710" y="320" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="500" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-31" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-25" target="z0oqqv8cwlupup-oO1Ry-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="330" y="450" as="sourcePoint" />
|
||||||
|
<mxPoint x="380" y="400" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="180" y="500" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
# Principe
|
||||||
|
Un convertisseur analogique-numérique (AD) ou numérique-analogique (DA) delta-sigma se compose toujours d'un modulateur
|
||||||
|
delta-sigma produisant un "flux binaire" ou "signal binaire séquentiel" et d'un filtre passe-bas.
|
||||||
|
|
||||||
|
Le modulateur peut être mis en œuvre comme un circuit numérique pour un signal numérique ou comme un circuit analogique
|
||||||
|
pour un signal analogique. De même, le filtre passe-bas peut être analogique pour générer un signal de sortie
|
||||||
|
analogique ou numérique, réalisé soit par un circuit numérique soit par un algorithme dans un processeur de signal.
|
||||||
|
Cette structure permet d'explorer le flux binaire et le filtre passe-bas avant d'approfondir l'étude du
|
||||||
|
modulateur delta-sigma.
|
||||||
|
|
||||||
|
## Le flux binaire
|
||||||
|
Le flux binaire peut être interprété comme un signal digital ou analogique.
|
||||||
|
Il s'agit d'un signal séquentiel à un bit avec une fréquence d'horloge significativement plus élevée que le débit des
|
||||||
|
données numériques de l'ADC ou du DAC. Sa caractéristique essentielle est que sa moyenne correspond à la moyenne du
|
||||||
|
signal d'entrée. Un niveau logique "haut" représente la valeur maximale de sortie, tandis qu'un niveau logique "bas"
|
||||||
|
représente la valeur minimale de sortie.
|
||||||
|
|
||||||
|
- **Sortie analogique:** Le flux binaire est converti par un DA à un bit en un signal analogique.
|
||||||
|
Les valeurs d'entrée "bas" et "haut" se traduisent respectivement par deux tensions analogiques précises, par exemple,
|
||||||
|
1V et +1V.
|
||||||
|
|
||||||
|
- **Sortie digitale:** Dans le cas d'une sortie digitale, un niveau "haut" (ou "bas") dans le flux binaire représente
|
||||||
|
la valeur maximale (ou minimale) de la plage de valeurs digitales. Par exemple, dans un système à 8 bits, un niveau
|
||||||
|
"haut" pourrait correspondre à FF en hexadécimal, tandis qu'un niveau "bas" pourrait correspondre à 00 en hexadécimal.
|
||||||
|
|
||||||
|
Un flux binaire similaire existe dans un signal modulé en largeur d‘impulsions (PWM), mais il présente quelques
|
||||||
|
désavantages par rapport au flux binaire d'un convertisseur delta-sigma, également appelé signal modulé en rapport
|
||||||
|
d’impulsions (PPM). La transmission en série d'une valeur numérique, telle que la sortie en série d'un ADC conventionnel
|
||||||
|
par pesée, est quant à elle appelée modulation par codage d'impulsions (PCM).
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
|
Un convertisseur sigma-delta est un type de convertisseur
|
||||||
|
analogique-numérique (CAN) qui utilise une boucle de contre-réaction pour
|
||||||
|
échantillonner et quantifier un signal analogique en un signal numérique.
|
||||||
|
Le principe de fonctionnement d'un convertisseur sigma-delta peut être
|
||||||
|
expliqué en plusieurs étapes :
|
||||||
|
|
||||||
|
1. Échantillonnage : Tout d'abord, le signal analogique est échantillonné
|
||||||
|
à une fréquence d'échantillonnage beaucoup plus élevée que la bande
|
||||||
|
passante du signal. Cette haute fréquence d'échantillonnage permet de
|
||||||
|
réduire considérablement les effets des distorsions et du bruit dans le
|
||||||
|
domaine fréquentiel.
|
||||||
|
2. Quantification : Le signal échantillonné est ensuite quantifié en un
|
||||||
|
signal numérique à l'aide d'un comparateur qui compare le signal avec une
|
||||||
|
référence de tension fixe. La sortie du comparateur est une suite de bits
|
||||||
|
représentant la valeur du signal analogique à chaque instant.
|
||||||
|
3. Contre-réaction : Le signal quantifié est ensuite utilisé pour régler
|
||||||
|
un oscillateur numérique qui produit un signal d'erreur. Ce signal
|
||||||
|
d'erreur est ajouté au signal d'entrée dans la boucle de contre-réaction,
|
||||||
|
ce qui permet de compenser les erreurs de quantification et de réduire le
|
||||||
|
bruit dans le signal quantifié.
|
||||||
|
4. Suréchantillonnage : Le signal numérique produit par le convertisseur
|
||||||
|
sigma-delta est suréchantillonné à une fréquence beaucoup plus élevée que
|
||||||
|
la fréquence d'échantillonnage initiale, ce qui permet de réduire encore
|
||||||
|
davantage les effets du bruit dans le signal.
|
||||||
|
5. Décimation : Enfin, le signal suréchantillonné est décimé à la
|
||||||
|
fréquence d'échantillonnage désirée en utilisant un filtre passe-bas
|
||||||
|
numérique qui élimine les composantes de hautes fréquences indésirables.
|
||||||
|
|
||||||
|
Le résultat final est un signal numérique représentant fidèlement le
|
||||||
|
signal analogique d'origine, avec une faible distorsion et un faible
|
||||||
|
bruit. La boucle de contre-réaction permet au convertisseur sigma-delta
|
||||||
|
d'atteindre des performances supérieures à celles des autres types de
|
||||||
|
convertisseurs analogique-numérique en termes de résolution et de
|
||||||
|
précision.
|
||||||
|
|
||||||
|
$$
|
||||||
|
SNR = 6,02n + 1,76[dB]
|
||||||
|
$$
|
||||||
|
|
||||||
|

|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,151 @@
|
|||||||
|
<mxfile host="Electron" modified="2024-01-27T19:14:32.318Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.21 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="_JxO4yykJQa9LzsHiU7_" version="22.1.21" type="device">
|
||||||
|
<diagram name="Page-1" id="ScnFzgmv18Yx9ZM-e3TZ">
|
||||||
|
<mxGraphModel dx="450" dy="363" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-11" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="160" y="380" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-7" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" vertex="1">
|
||||||
|
<mxGeometry width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-8" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="15" y="30" as="sourcePoint" />
|
||||||
|
<mxPoint x="25" y="30" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-9" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="3" y="19.899999999999977" as="sourcePoint" />
|
||||||
|
<mxPoint x="13" y="19.899999999999977" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-10" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-11" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="8" y="25" as="sourcePoint" />
|
||||||
|
<mxPoint x="8" y="15" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-7" target="z0oqqv8cwlupup-oO1Ry-3" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-13" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="280" y="360" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-3" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-13" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-4" value="" style="curved=1;endArrow=none;html=1;rounded=0;endFill=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-13" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="7" y="53" as="sourcePoint" />
|
||||||
|
<mxPoint x="37" y="33" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="7" y="63" />
|
||||||
|
<mxPoint x="17" y="63" />
|
||||||
|
<mxPoint x="27" y="23" />
|
||||||
|
<mxPoint x="37" y="23" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-14" value="" style="group;strokeColor=none;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="440" y="360" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-5" value="" style="triangle;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-14" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-6" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-14" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="8" y="61" as="sourcePoint" />
|
||||||
|
<mxPoint x="28" y="21" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="18" y="61" />
|
||||||
|
<mxPoint x="18" y="41" />
|
||||||
|
<mxPoint x="18" y="21" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-3" target="z0oqqv8cwlupup-oO1Ry-5" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#808080;" parent="1" target="z0oqqv8cwlupup-oO1Ry-7" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="120" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="150.00000000000003" y="395" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="130" y="400" />
|
||||||
|
<mxPoint x="130" y="400" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;endArrow=block;endFill=1;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-5" target="z0oqqv8cwlupup-oO1Ry-17" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-27" value="" style="group;strokeColor=none;fontColor=#808080;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="600" y="480" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-23" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-24" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" source="z0oqqv8cwlupup-oO1Ry-23" target="z0oqqv8cwlupup-oO1Ry-23" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="60" y="-120" as="sourcePoint" />
|
||||||
|
<mxPoint x="110" y="-170" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-25" value="<font style="font-size: 20px;"><b>A</b></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-26" value="<font style="font-size: 20px;"><b>D</b></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-27" vertex="1">
|
||||||
|
<mxGeometry x="40" y="40" width="40" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-28" value="" style="group;strokeColor=#808080;fontColor=#808080;" parent="1" vertex="1" connectable="0">
|
||||||
|
<mxGeometry x="600" y="380" width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-17" value="" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry width="80" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-19" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.804;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.004;entryY=0.68;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" source="z0oqqv8cwlupup-oO1Ry-17" target="z0oqqv8cwlupup-oO1Ry-17" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-10" y="70" as="sourcePoint" />
|
||||||
|
<mxPoint x="40" y="20" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="10" y="60" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-20" value="D" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry y="10" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-22" value="Q" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#808080;" parent="z0oqqv8cwlupup-oO1Ry-28" vertex="1">
|
||||||
|
<mxGeometry x="60" y="10" width="20" height="20" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-29" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-22" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="660" y="370" as="sourcePoint" />
|
||||||
|
<mxPoint x="760" y="400" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-30" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;startArrow=oval;startFill=1;strokeColor=#808080;" parent="1" target="z0oqqv8cwlupup-oO1Ry-23" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="720" y="400" as="sourcePoint" />
|
||||||
|
<mxPoint x="710" y="320" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="720" y="500" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="z0oqqv8cwlupup-oO1Ry-31" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#808080;" parent="1" source="z0oqqv8cwlupup-oO1Ry-25" target="z0oqqv8cwlupup-oO1Ry-7" edge="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="330" y="450" as="sourcePoint" />
|
||||||
|
<mxPoint x="380" y="400" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="180" y="500" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,73 @@
|
|||||||
|
<header>
|
||||||
|
<h1>XF</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
# Services
|
||||||
|
|
||||||
|
## Reactive
|
||||||
|
|
||||||
|
``` plantuml
|
||||||
|
@startuml
|
||||||
|
|
||||||
|
participant MainLand as main
|
||||||
|
participant Queue as queue
|
||||||
|
participant Behavior as behavior
|
||||||
|
participant XF as xf
|
||||||
|
|
||||||
|
main -> behavior: push(event)
|
||||||
|
behavior -> queue: add(event)
|
||||||
|
|
||||||
|
xf -> xf: dispatchEvent()
|
||||||
|
activate xf
|
||||||
|
xf -> queue : getEvent()
|
||||||
|
queue --> xf
|
||||||
|
xf -> behavior: processEvent()
|
||||||
|
deactivate xf
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Timeout
|
||||||
|
``` plantuml
|
||||||
|
@startuml
|
||||||
|
|
||||||
|
participant TimerQueue as tq #cyan
|
||||||
|
participant Timeout as t #LawnGreen
|
||||||
|
participant TimeoutManager as tm #cyan
|
||||||
|
participant EventQueue as eq #cyan
|
||||||
|
participant MainLand as main #cyan
|
||||||
|
participant Reactive as r #yellow
|
||||||
|
|
||||||
|
r ->> tm: scheduleTimeout(tmid, evid, duration)
|
||||||
|
activate r #magenta
|
||||||
|
deactivate r
|
||||||
|
|
||||||
|
create t
|
||||||
|
tm -->> t: <<create>>
|
||||||
|
tm ->> tq: add(tm) <<synchronized>>
|
||||||
|
tm ->> tq: tick()
|
||||||
|
tq ->> t: decrement()
|
||||||
|
tm ->> tq: tick()
|
||||||
|
tq ->> t: decrement()
|
||||||
|
|
||||||
|
tm ->> eq: pushEvent(tm) <<synchronized>>
|
||||||
|
tm ->> tq: remove(id) <<synchronized>>
|
||||||
|
|
||||||
|
main ->> eq: popEvent() <<synchronized>>
|
||||||
|
activate main #yellow
|
||||||
|
eq -->> main: ev
|
||||||
|
main ->> t: getTarget()
|
||||||
|
t -->> main: reactive
|
||||||
|
main ->> r: processEvent(ev)
|
||||||
|
activate r #magenta
|
||||||
|
r -->> main
|
||||||
|
deactivate r
|
||||||
|
main -->> t !!: <<destroy>>
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Protection
|
||||||
|
- Mutex, sémaphore
|
||||||
|
- éviter les conflits mémoire
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Bachelor in embedded system
|
||||||
|
|
||||||
|
## [PTR - Programmation Temps Réel](/infotro/PTR/)
|
||||||
|
- [XF](/infotro/PTR/XF.md)
|
||||||
|
|
||||||
|
|
||||||
|
## [SDi - Système Distribué](/infotro/SDi/)
|
||||||
|
- [Transmission process](/infotro/SDi/transmission_process.md)
|
||||||
|
|
||||||
|
|
||||||
|
## [Eln - Électronique](/infotro/Eln/)
|
||||||
|
- [AD/DA](/infotro/Eln/ADDA)
|
||||||
|
- [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||||
|
|
||||||
|
|
||||||
|
## [SEm - Système Embarqué](/infotro/SEm/)
|
||||||
|
- [PLA - Programmation en langage assembleur](/infotro/SEm/PLA.md)
|
||||||
|
- [ASM - Assembleur ARM](/infotro/SEm/ASM.md)
|
||||||
|
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,4 @@
|
|||||||
|
# Taille des paquets de bits
|
||||||
|
|
||||||
|
[PLA](/infotro/arm/PLA.md)
|
||||||
|
[ASM](/infotro/arm/ASM.md)
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,10 @@
|
|||||||
|
* [PTR - Programmation Temps Réel](/infotro/PTR/)
|
||||||
|
* [XF](/infotro/PTR/XF)
|
||||||
|
* [SDi - Systèmes Distribués](/infotro/SDi)
|
||||||
|
* [Transmission process](/infotro/SDi/transmission_process.md)
|
||||||
|
* [Eln - Électronique](/infotro/Eln/)
|
||||||
|
* [AD/DA](/infotro/Eln/ADDA)
|
||||||
|
* [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||||
|
* [SEm - Systèmes Embarqués](/infotro/SEm/)
|
||||||
|
* [PLA - Programmation en langage assembleur](/infotro/SEm/PLA.md)
|
||||||
|
* [ASM - Assembleur ARM](/infotro/SEm/ASM.md)
|
||||||
Reference in new issue
Block a user