RZS Labor Versuch 4 PDF

Title RZS Labor Versuch 4
Course Realzeitsysteme
Institution Hochschule Darmstadt
Pages 3
File Size 142.8 KB
File Type PDF
Total Downloads 1
Total Views 126

Summary

Labor Realzeitssystem...


Description

Hochschule Darmstadt FB EIT

Labor Realzeitsysteme Anwendungen

Prof. Dr. Lipp Prof. Dr. Schaefer Dipl. Ing. Weinerth

Versuch 5: Applikationen mit dem CAN-Bus Nachdem wir in den vorherigen Versuchen die Mechanismen von FreeRTOS kennenlernt haben, wollen wir nun Beispiel-Anwendungen mit Kommunikation über den CAN-Bus entwickeln.

Vorbereitung Lesen sie aufmerksam die Aufgabenstellung und machen sie sich Skizzen zu den einzelnen Versuchsteilen. Überlegen Sie, welche Komponenten für die Versuchsteile benötigt werden und wie diese zusammenarbeiten. Beschreiben sie die Komponenten und deren Zusammenarbeit mit UMDiagrammen. Legen Sie diese Diagramme zum Versuchsbeginn vor und geben Sie diese im Laborbericht mit ab! Die Dokumentation zum CAN-Projekt ist hier: http://skript.eit.h-da.de/rzs/Documentation/RZS_Lab_5_CAN_bus Das Startprojekt für diesen Versuch führt folgende Aktivitäten durch: • Empfang von CAN-Paketen mit einer CAN_RX_Task (Jeder Empfang toggelt LED3) • Periodisches Senden von CAN-Paketen CAN_TX_Task • Kontinuierliches Auslesen des ADC (Erfassung der Stellung des Potentiometers) • Erzeugung eines rRoll-Mode-Oszilloskops auf dem LCD • Blinken mit 2 LEDs Wichtig sind hier folgende Details: • Wie werden CAN-Pakete gesendet ? • Wie werden CAN Pakete empfangen • Wie kann man den aktuellen Wert des ADC bekommen ? • Wie kann man den aktuellen Wert des Roll-Mode-Oszilloskops schreiben ? Für diese Aufgaben muss der Start-Code nur geringfügig angepasst werden. Man muss aber wissen, wo :-) Wichtiger Hinweis: Alle Aufgaben erfordert einen ordentlichen Entwurf ! Also: Nicht „loshacken“, sondern erst exakt festlegen: • Wie funktioniert die Ablaufsteuerung • Wie und wo werden die Daten zwischengespeichert • Wie wird das Ganze mit möglichst wenigen Tasks / Queues / Mutexen etc. realisiert Dokumentieren Sie einzeln die Programme für die einzelnen Laboraufgaben. Alle Tests, Beobachtungen und Schlussfolgerungen sind ebenfalls sorgfältig zu dokumentieren.

Versuchsdurchführung Für die folgenden Aufgaben müssen Sie wie in den Vorversuchen ein Startprojekt vom Ihrem SVN

Server holen.

Aufgabe 1: Kopplung zweier Boards über den CAN Bus Wir koppeln je zwei STM32 Boards über den CAN Bus. Durch die CAN-Tasks beider Boards werden nun 10 CAN-Pakete pro Sekunde in jeder Richtung gesendet. Damit die Pakete in beiden Richtungen sich nicht gegenseitig stören, müssen wir auf einer Seite den CAN-Identifier verändern, denn wenn beide Boards den selben Identifier verwenden, dann gibt es unter bestimmten Umständen eine Katastrophe1. Wenn die CAN-Verbindung steht, dann blinkt die LED 4 beim Empfang jedes neuen CAN Pakets.

Aufgabe 2: Übertragung analoger Daten über den CAN Bus Momentan sehen sie auf jedem Board den Momentanzustand des an den ADC angeschlossenen Potis. Wir wollen das nun ändern, so dass man jeweils den Zustand des Potis auf dem anderen Board sieht. Dazu müssen wir periodisch die ADC-Werte über den CAN-Bus zum anderen Board schicken. Achtung: auch hier verschiedene ID‘s benutzen.

Option „Alpha“ / Aufgabe 3: „Chat“ über den CAN Bus Die von der RS232 empfangenen Zeichen werden einzeln per CAN Bus zum anderen STM32 Board geschickt. Damit der Benutzer nicht irritiert wird, muss jedes Zeichen nach dem RS232-Empfang sofort „ge-echo-t“, also per RS232 zurückgeschickt werden. Somit sieht der Benutzer sofort, was er eingetippt hat. Auf dem zweiten STM32-Board werden die einzelnen über CAN empfangenen Zeichen zu einer kompletten Zeile zusammengesetzt und dann über RS232 zum zweiten PC gesendet und dort mit dem Terminalprogramm dargestellt. Das Eintippen einer Zeile darf natürlich nicht durch den Empfang von der Gegenstation unterbrochen werden, weil sonst auf dem Bildschirm ein den Benutzer irritierendes Chaos entstehen würde. Stellen sie also sicher, dass nur dann eine Zeile der Gegenstation zum PC geschickt wird, wenn der Benutzer nicht gerade mitten in einer Zeile ist. Dazu müssen sie die empfangenen Zeichen zwischenspeichern. (Hilfe: Keinen neuen Erfindungen machen, sondern die vorhandenen Mechanismen sinnvoll nutzen !)

Option „Beta“ / Aufgabe 3: Regelung über den CAN Bus Grundidee: Ein Board spielt den Regler, das andere den Regelstrecken-Simulator. Über den CAN-Bus wird in einer Richtung der Stellwert und in der anderen Richtung der Istwert übertragen. Auf dem Regler-Board kann man mit dem Poti den Sollwert einstellen. Das LCD zeigt auf beiden Boards den Istwert der Regelstrecke. Auf dem Regelstrecken-Simulator-Board kann man mit dem Poti eine Störgröße einstellen. Damit der Regler wirklich benötigt wird, verwenden wir eine Regelstrecke mit Integral-Verhalten. Der Regler kann dann ein einfacher Proportionalregler sein. Die hierfür notwendige Signalverarbeitung macht man am besten mit dem Datentyp „float“. Dieser Datentyp wird vom Cortex M4 per Hardware unterstützt (32-bit FPU).

1

Iner oder mehrere Teilnehmer können komplett blockiert werden. Warum ???

Option „Gamma“ / Aufgabe 3: Grafik-Display-Server Grundidee: Das STM3240G-Eval wird als Steuerung betreiben. Ein STM32F7-Discovery-Board ist über den CAN-Bus verbunden und arbeitet als Benutzerschnittstelle. Berührungen des Touch-Screens des F7 werden über CAN gemeldet. Gleichzeitig kann man dem F7 über CAN Grafik-Befehle schicken, die dann auf dessen LCD umgesetzt werden. Um eine funktionsfähige Demo-Applikation zu realisieren, muss man nur wenige LCD-Befehle wie BSP_LCD_DisplayStringAt, BSP_LCD_Clear, BSP_LCD_SetTextColor, BSP_LCD_SetBackColor, BSP_LCD_FillRect implementieren. Vorbereitung: •

Definition der Protokolle, mit denen über CAN-Pakete Touchscreen-Kommandos übermittelt werden.



Definition der CAN-Befehle für den Grafik-Treiber. Damit man keine Transportschicht implementieren muss, sollte man nur sehr kurze Texte von z.B. 4 Zeichen zulassen. Dann passt der komplette Befehl in ein CAN-Paket.



Definition einer Demo-Applikation, beispielsweise: Zahlenschloss Bediengerät für eine Temperatur-Regelung Einfaches Spiel

Versuchsdurchführung: •

Implementierung der LCD-Fernsteuerung



Implementierung der Touchscreen-Funktionalität



Implementierung der Applikation...


Similar Free PDFs