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 | Size | Format | |
---|---|---|---|---|
BA_12C-bus_communication.pdf | 2.23 MB | Adobe PDF | View/Open |
Note about this record
Export
Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.