Linux network interface for Ethernet over RS485
Einleitung: Ziel dieser Arbeit ist es, dass bei Rechenanlagen gemessene Daten über eine Netzwerkschnittstelle versendet werden können.
Die Firma R&M möchte die Daten über einen RS458-Multi-Drop-Bus versenden. Hierbei können mit bis zu 256 Teilnehmern Pakete auf Distanzen von bis zu 1000m versendet werden. Hierzu hat die Firma bereits einen Prototypen für einen Cortex M4 erarbeitet, allerdings ohne die Anbindung an ein Betriebsystem.
Vorgehen: In der Implementation wurde eine Architektur gefunden, welche es ermöglicht, den Treiber von anderen Systemen abzutrennen. Der Treiber arbeitet über den Serial-Device-Bus von Linux. Damit kann der Treiber schlank gehalten werden, da er sich nur mehr um das richtige Senden und Empfangen der Netzwerkpakete kümmert.
Ergebnis: Das Resultat dieser Arbeit ist ein Netzwerktreiber für ein „stm32mp1 dk1“ Board. Dieser Treiber kann mit bis zu 10MB Daten übertragen. Die RS-458 Unterstützung wurde aus technischen Gründen weggelassen.
Die Daten können mit der USART3-Schnittstelle zwischen 2 Boards versendet werden. Mittels des fertig implementierten Treibers können alle Netzwerk-Funktionalitäten des Betriebssystems verwendet werden.