Final submission
This commit is contained in:
15
main.typ
15
main.typ
@@ -11,6 +11,9 @@
|
|||||||
date-format: "[day padding:zero].[month repr:short].[year repr:full]",
|
date-format: "[day padding:zero].[month repr:short].[year repr:full]",
|
||||||
raw-text: (use-typst-defaults: true),
|
raw-text: (use-typst-defaults: true),
|
||||||
bibliography: bibliography("refs.bib"),
|
bibliography: bibliography("refs.bib"),
|
||||||
|
preface: [
|
||||||
|
Der Quelltext dieser Arbeit sowie Beispielcode und das vollständige Quellenverzeichnis sind unter #link-text([https://git.veltko.de/Weckyy702/uc-ausarbeitung-linux-treiber]) mit der GPL lizensiert aufzufinden.
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
#counter(page).update(1)
|
#counter(page).update(1)
|
||||||
@@ -152,7 +155,11 @@ Dabei wird für jeden der ADC-Pins ein eigener Eintrag unter `/sys/bus/iio/devic
|
|||||||
caption: [Sysfs-Einträge des ADC-Treibers]
|
caption: [Sysfs-Einträge des ADC-Treibers]
|
||||||
)<tab-adc-syscalls>
|
)<tab-adc-syscalls>
|
||||||
|
|
||||||
Das Auslesen einer dieser Datein führt synchron eine ADC-Umwandlung durch. Das Format der gelesenen Daten ist nicht klar dokumentiert.
|
Das Auslesen einer dieser Datein führt synchron eine ADC-Umwandlung durch.
|
||||||
|
|
||||||
|
Aus der Dokumentation anderer ADC-Treiber@adc-microchip geht hervor, dass der `in_voltageX_raw`-Wert der unskalierte Bitwert des ADC ist. Die Datei `/sys/[...]/in_voltage_scale` beinhaltet den Umrechnungswert vom Rohwert zu Millivolt. Manche Treiber stellen zusätzlich die Datei `/sys/[...]/in_voltage_offset` bereit, die einen konstanten Fehlerwert enthält. Die vollständige Umrechnung ist dann:
|
||||||
|
|
||||||
|
$U_["mV"] = ("voltage_raw" dot "voltage_scale") + "voltage_offset"$
|
||||||
|
|
||||||
= Design einer Hardwareschnittstelle für AT91SAM7-Timer
|
= Design einer Hardwareschnittstelle für AT91SAM7-Timer
|
||||||
|
|
||||||
@@ -161,7 +168,7 @@ Drei unabhängige 16-bit Zähler, Kanäle genannt, mit einstellbaren Taktgeschwi
|
|||||||
|
|
||||||
== Features
|
== Features
|
||||||
|
|
||||||
Jeder Kanal kann in einem der folgenden Modi sein:
|
Jeder Kanal kann sich in einem der folgenden Modi befinden:
|
||||||
- _Capture_ zum Festhalten von Zeitpunkten, zu denen Eingänge geschaltet wurden
|
- _Capture_ zum Festhalten von Zeitpunkten, zu denen Eingänge geschaltet wurden
|
||||||
- _Waveform_ zum Erzeugen von einstellbaren Rechtecksignalen
|
- _Waveform_ zum Erzeugen von einstellbaren Rechtecksignalen
|
||||||
|
|
||||||
@@ -198,7 +205,7 @@ Die daraus entstehenden Trigger-Signale können dann die Ausganspins `A/B` jewei
|
|||||||
Die API ist an der Struktur der GPIO-API orientiert.
|
Die API ist an der Struktur der GPIO-API orientiert.
|
||||||
|
|
||||||
Jeder Kanal muss mit `REQ_CHANNEL` vom Kernel angefragt werden, damit ein Kanal von genau einem Prozess verwaltet wird.
|
Jeder Kanal muss mit `REQ_CHANNEL` vom Kernel angefragt werden, damit ein Kanal von genau einem Prozess verwaltet wird.
|
||||||
Mithilfe der `SET_MODE_CAPUTE` und `SET_MODE_WAVE` `ioctl`s wird der Kanal in den jeweiligen Modus versetzt und konfiguriert.
|
Mithilfe der `SET_MODE_CAPTURE` und `SET_MODE_WAVE` `ioctl`s wird der Kanal in den jeweiligen Modus versetzt und konfiguriert.
|
||||||
Der `TIMER_START`-Befehl startet einen einzelnen Kanal.
|
Der `TIMER_START`-Befehl startet einen einzelnen Kanal.
|
||||||
Wenn der aufrufende Prozess alle Kanäle kontrolliert, kann `TIMER_START` auf dem Timer selbst aufgerufen werden, was das SYNC-Signal für alle Kanäle setzt.
|
Wenn der aufrufende Prozess alle Kanäle kontrolliert, kann `TIMER_START` auf dem Timer selbst aufgerufen werden, was das SYNC-Signal für alle Kanäle setzt.
|
||||||
|
|
||||||
@@ -288,5 +295,3 @@ Nachfolgend ist der Ablauf mit dem simplen _Round-Robin-Verfahren_@wiki-round-ro
|
|||||||
alt: "A vertical scheduling diagram showing round robin scheduling",
|
alt: "A vertical scheduling diagram showing round robin scheduling",
|
||||||
)<fig-i2c-round-robin>
|
)<fig-i2c-round-robin>
|
||||||
|
|
||||||
= Quelltext
|
|
||||||
Der Quelltext dieser Arbeit ist unter #link-text([https://git.veltko.de/Weckyy702/uc-ausarbeitung-linux-treiber]) mit der GPL lizensiert zu finden
|
|
||||||
|
|||||||
8
refs.bib
8
refs.bib
@@ -99,3 +99,11 @@
|
|||||||
howpublished = {\url{https://www.kernel.org/doc/html/v6.12/iio/ep93xx_adc.html}},
|
howpublished = {\url{https://www.kernel.org/doc/html/v6.12/iio/ep93xx_adc.html}},
|
||||||
note = {Zuletzt aufgerufen: 2026-01-22},
|
note = {Zuletzt aufgerufen: 2026-01-22},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@manual{adc-microchip,
|
||||||
|
title = {How to Use the SAMA5D2 ADC Under Linux®},
|
||||||
|
organization = {Microchip Technology Inc},
|
||||||
|
address = {2355 West Chandler Blvd. Chandler, Arizona, USA},
|
||||||
|
edition = {AN3250},
|
||||||
|
year = {2019},
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user