Fulltext available Open Access
Title: I2C-bus communication for distributed embedded applications running in a network of ARM-based microcontrollers
Language: English
Authors: Seal, Jacob 
Keywords: Mikrocontroller; ARM; 12C; Buskommunikation; eingebettete Systeme
Issue Date: 17-May-2024
Abstract: 
I2C is a two-wire serial bus communications protocol. The purpose of the I2C bus is to allow robust and efficient communication between I2C enabled devices on the same bus. Each device on the bus has its own unique address and will be configured as either the master or the slave. A practical example of an I2C bus would be a microcontroller as the master, and several sensors as slaves with single a LED readout to display sensor data.
A driver is required to configure the operating parameters and access the memory registers of an I2C enabled IC. A driver exists as an interface between the main program and the hardware. It is not desirable for the main program to touch the memory registers on the microcontroller directly. The driver is written in such a way that it provides a layer of abstraction between the user/program and the registers. Development and testing of such a driver is the technical goal of this thesis.

I2C ist ein serielles Zweidraht-Bus-Kommunikationsprotokoll. Der Zweck des I2C-Busses besteht darin, eine robuste und effiziente Kommunikation zwischen I2C-fähigen Geräten am selben Bus zu ermöglichen. Alle Geräte am Bus haben ihre eigene eindeutige Adresse und werden entweder als Master oder als Slave konfiguriert. Ein praktisches Beispiel für einen I2C-Bus wäre ein Mikrocontroller als Master und mehrere Sensoren als Slaves, mit einer einzigen LED-Anzeige zur Anzeige von Sensordaten. Ein Treiber ist erforderlich, um die Betriebsparameter zu konfigurieren und auf die Speicherregister eines I2C-fähigen ICs zuzugreifen. Ein Treiber existiert als Schnittstelle zwischen dem Hauptprogramm und der Hardware. Es wäre unvorteilhaft, dass das Hauptprogramm die Speicherregister auf dem Mikrocontroller direkt berührt. Der Treiber ist so geschrieben, dass er eine Abstraktionsschicht zwischen dem Benutzer/Programm und den Registern bietet. Die Entwicklung und Erprobung eines solchen Treibers ist das technische Ziel dieser Arbeit. Für das Testen werden die wichtigsten Anwendungsfälle mit Ausgaben dokumentiert, die belegen, dass der Treiber gemäß den funktionalen Anforderungen arbeitet.
URI: http://hdl.handle.net/20.500.12738/15763
Institute: Fakultät Technik und Informatik 
Department Informations- und Elektrotechnik 
Type: Thesis
Thesis type: Bachelor Thesis
Advisor: Buczek, Pawel  
Referee: Leutelt, Lutz 
Appears in Collections:Theses

Files in This Item:
File Description SizeFormat
BA_12C-bus_communication.pdf2.23 MBAdobe PDFView/Open
Show full item record

Page view(s)

24
checked on Jul 3, 2024

Download(s)

33
checked on Jul 3, 2024

Google ScholarTM

Check

HAW Katalog

Check

Note about this record


Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.