Institute of Microelectronic Systems Studies Final exams and theses Abgeschlossene Arbeiten
Hardwarenahe Datenübertragung über SPI mit DMA-Unterstützung für programmierbare Logiken

Hardwarenahe Datenübertragung über SPI mit DMA-Unterstützung für programmierbare Logiken

Led by:  Wahalla, Marc-Nils
Team:  Jens Karrenbauer
Year:  2016
Date:  15-01-16
Duration:  06.07.2015-15.01.2016
Is Finished:  yes

Im Kontext der Automatisierungstechnik werden Bussysteme eingesetzt, über welche die Kommunikation zwischen und innerhalb von Fertigungsmaschinen stattfindet. Durch die vielzähligen Einsatzgebiete solcher Fertigungsmaschinen sind auch Erwartungen an die Modularität und Flexibilität solcher Bussysteme gestellt. Aufgrund der daraus resultierenden notwendigen Rekonfigurierbarkeit der eingesetzten Bussysteme, werden diese auch als programmierbare Logiken bezeichnet. Mit zunehmender Komplexität von Fertigungsmaschinen können auch die zu übertragenden Datenmengen stark ansteigen. Insbesondere der Einsatz einer Vielzahl von parallelen Sensor- und Messaufnehmern sowie zunehmende Abtastraten führen hierbei zu hohen Anforderungen an das Zeitverhalten der verwendeten Programmierbaren Logiken.

Eine exemplarische Programmierbare Logik besteht aus einem Steuermodul und einer flexiblen Anzahl von Einschubmodulen. Die Kommunikation basiert auf dem Serial Peripheral Interface
(SPI), wobei das Steuermodul als SPI-Master die Kommunikation mit den einzelnen Einschubmodulen initiiert und koordiniert. Die verwendeten Einschubmodule müssen daher in ihrer Funktion als Slave die entsprechenden Daten innerhalb einer definierten Zeit zur Verfügung stellen. Der bisher innerhalb eines exemplarischen Einschubmoduls verwendete Mikrocontroller Microchip PIC18 kann den steigenden Anforderungen nicht umfassend genügen. Als alternative Implementierung soll daher nun der Einsatz des performanteren Mikrocontrollers RX210 des Herstellers Renesas geprüft werden.

Im Rahmen dieser Arbeit ist daher eine SPI-Datenübertragung mit DMA-Unterstützung auf einer bestehenden Hardware des RX210-Controllers realisiert. Die entsprechende Programmierung ist dabei in der imperativen Sprache C durchgeführt und berücksichtigt stets die Kompatibilität zu den PIC18-basierten Modulen. Hierbei ist besonders auf eine echtzeitkritische Implementierung geachtet. Zur Evaluation wird für die verfügbare Zeit bis zur Bereitstellung der zu übertragenden Daten eine zyklische Kommunikation mit fixem Zeitfenster (alle 3 ms mit einer Dauer von ca. 200 μs) angenommen. Zusätzlich ist eine gelegentliche azyklische Kommunikation ermöglicht.