Skip to content
Permalink
Browse files

more stuff and pdf pagebreaks

  • Loading branch information
Michael Schaufelberger
Michael Schaufelberger committed Jan 14, 2020
1 parent fb29073 commit 35641ef9fe627332101da7f6be4e72cf1b1c260d
@@ -24,6 +24,8 @@ puppeteer:

[TOC]

<!-- pagebreak -->

## Microcontroller Basics

Single Chip Solutions = CPU mit integrierter Peripherie
@@ -73,6 +75,8 @@ CPU definiert wer wann Zugriff auf Bus hat
@import "images/cmos_tri.png"
Invertiert Signal wenn ENABLED = 1, sonst OUT = Z (high impedance/floating)

<!-- pagebreak -->

### Synchronous Bus
@import "images/sync_bus.png" {.max}

@@ -101,6 +105,8 @@ Individuelle Zyklen pro Slave, um allgemein tiefere Clock-Rate zu vermeiden$\rig

@import "images/wait_states.png"

<!-- pagebreak -->

### Adressdekodierung
= Interpretation von Werten auf Adresslinien
Mittels Adressdekodierung weiss Slave, ob er Ziel von Zugriff ist.
@@ -161,6 +167,8 @@ LED31_0_REG = 0xAA55AA55;
btn_val = BUTTON_REG;
```
<!-- pagebreak -->
## Memory
**Units**
JEDEC und IEC verwenden für K, M, G jeweils * 1024, HDDs * 1000
@@ -230,6 +238,7 @@ FMC Memory Banks
- 4 devices per bank
- Pins are multiplexed $\rightarrow$ not possible using all banks simultaneously
<!-- pagebreak -->
### Asynchronous SRAM
Keine Clock
Kontrollsignale des Bausteins:
@@ -294,6 +303,7 @@ Dies hat die Konsequenzen, dass nicht alle Funktionen gleichzeitig verfügbar si
@import "images/st_gpio.png"
<!-- pagebreak -->
### Konfigurieren
Register Adresse = Basis Adresse + Offset
Basisadresse = Buchstabe von GPIO**x** x = A/../I/J/K
@@ -402,6 +412,7 @@ Stop-Bits können auch mehr (1, 1.5, 2) sein, Parity (kein, mark (1), space (0),
**RS-232**
Point-to-Point interface based on UART, Optional Control Signals (eg. CTS - Clear To Send), Ground (single ended), bis 10m ('1' -3V bis -15V, '0' 3V bis 15V)

<!-- pagebreak -->
### SPI - Serial Peripheral Interface
- Serieller Bus für on-board Verbindungen (short distance)
- Verbindet Mikrocontroller mit externen Geräten
@@ -436,7 +447,14 @@ MSB first
- Keine Flusskontrolle
- Anfällig für Spikes auf der Clock Linie

TODO! rest (STM32F4xxx)
**Transmitting in Software**
@import "images/spi_tx.png" {.max}

**Receiving in Software**
@import "images/spi_rx.png" {.max}

**Simultaneously Handling TX and RX**
@import "images/spi_handle_tx_rx.png" {.max}

### $I^2C$ – Inter-Integrated Circuit
- Bidirectional 2-wire bus
@@ -452,12 +470,13 @@ START condition: Falling edge on SDA, when SCL = high
STOP condition: Rising edge on SDA, when SCL = high
@import "images/i2c_operation.png" {.max}

<!-- pagebreak -->
**Driving Data on SDA**
Von Master oder Slave, Datenwechsel nur wenn SCL = low (für Start/Stop detection SCL = high)
@import "images/i2c_data.png" {.max}
@import "images/i2c_transfer.png"

@import "images/i2c_accesses.png"
@import "images/i2c_accesses.png" {.max}


### Vergleich
@@ -593,8 +612,6 @@ TIM3->CCR[2] = /*Wert kleiner als AAR*/
```

## ADC/DAC
Konverter für unser analoge Welt

### ADC
Konvertiert Spannung zu digitalem Wert mit Auflösung von $2^n$. Z.B. 3-Bit ADC hat 8 Werte:
@import "images/ADC.png" {.max}
@@ -799,6 +816,7 @@ Organisiert in $i = 0, 1, ..., m-1$ Linien `i: tag, v, data`
@import "images/cache_dm.png" {.max}
@import "images/cache_dm_arch.png" {.max}

<!-- pagebreak -->
#### N-Way Set Associative
- Paritioniert in Sets, Sets $s = \frac{m}{n}$, $n$ Linien pro Set, $b$ Bytes pro Linie
- $s \cdot n \cdot b$ Datenbytes
@@ -905,4 +923,4 @@ $\Rightarrow$ 0 1000 0001 1110 0000 ...
S = 1 = -
E = 0111'1110 = 126 $\rightarrow$ 126 - 127 = -1
F = 101
$\Rightarrow$ - 1.101 $\cdot$ 2^-1^ ????? TODO
$\Rightarrow$ - 1.101 $\cdot$ 2^-1^ und dann ins 10er System
BIN +245 KB (110%) Zusammenfassung.pdf
Binary file not shown.
Binary file not shown.
BIN +86.3 KB images/spi_rx.png
Binary file not shown.
BIN +99 KB images/spi_tx.png
Binary file not shown.

0 comments on commit 35641ef

Please sign in to comment.
You can’t perform that action at this time.