Entwicklung eines CAN-Treibers für IP460-Module mit CAN-Modul TIP816-10Entwicklung eines CAN-Treibers für IP460-Module mit CAN-Modul TIP816-10 Entwicklung.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Entwicklung des Attiny-Boards Version 1.0 – 2.1 Prototyp.
Phasen und ihre Workflows
Computersimulation steuert echtes Frontpanel an
Designing Software for Ease of Extension and Contraction
Die Softwarelebenszyklen
Attribute Protocol.
Informatik Tagesprotokoll vom
ixJED ixact GmbH Dr. Karsten Wendt
VR Framework mit Gestenerkennung
Network-on-Chip basierende Laufzeitsysteme für dynamisch rekonfigurierbare Hardware Ronald Hecht Institut für Mikroelektrotechnik und Datentechnik Universität.
BUS-Systeme (PCI) Allgemeines über BUS-Systeme Allgemeines zum PCI-Bus
On a Buzzword: Hierachical Structure David Parnas.
Palm OS Project Martin Ochs Palm OS Project Inhalt Hardware Schnittstellen Die serielle Schnittstelle Entwicklungsumgebung Test-Programm Hardware-Test.
Haupt- und Arbeitsspeicher
Vorstellung des Microcontollers Motorola 68HC12
4. Mikrocontroller-Komponenten
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Redundanter Fileserver mit Heartbeat2 und DRBD - Linux-HA-Cluster
n4 Streaming Media System
Mobile Gebäudeservicesteuerung Optimierung des Datentransfers im
ISDN - Karten © by Holger °Shorty° Brock ®™
PHProjekt – eine open source Projektmanagementsoftware
EPOC Embedded Performance Analysis for Organic Computing.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Studienarbeit Mini-Web-Server auf einem Signalcontroller
Fünf-Fünf-Zwei der 3. Vorlesung/Übung Requirements Engineering WS 10/11 Marin Zec.
© ISY Informationssysteme GmbHSeite: 1 ISY-Connect Connect Client (Konfiguration) Das obige Bild zeigt das Fenster von ISY Connect-Client im Konfigurationsmodus.
Konnektivität innen & außen
Steuerung externer Komponenten über ein USB-Interface.
Produktmanagement RimatriX & Software Solutions / Fabian Schäfer / 12
1 Workshop Service Inbetriebnahme und Rücksicherung Saia Service an PCD's Inbetriebnahme und Rücksicherung III. Workshop Inbetriebnahme und Laden der Datensicherung.
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
DYNTEST –Control Systems -Probleme beim Auslesen-
Das OSI Schichtenmodell
Speichermodulverwendung mit der kompakten Steuerung CP1L
Intelligente Dateisysteme
Betriebssysteme & BIOS
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
Computerorientierte Physik VORLESUNG
Lebensdauersimulation für Steuergeräte mit NI Single-Board RIO
IHK–Abschlussprüfung Fachinformatiker Systemintegration
Warum gibt es Netzwerke?
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Intelligente Wissenstechnologien für das öffentlich-private Wissensmanagement im Agrarbereich LU Lohnunternehmer Service GmbH, Suthfeld-Riehe.
Modbus Funktionen bei Saia®PCD
Embedded Linux Portierung auf mobiles Datenerfassungsterminal
Installation und Konfiguration eines Windows Terminal Servers
Problem: Datenübertragung Messwerte an B schickenDaten annehmen AB 0,0,1,0,1,0,1,1,1,0.
Funktionsgenerator auf PCI Karte
BIOS/UEFI Joschka Mick.
Anforderungen an Automotive Bussysteme
System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.
Datenschutz im betrieblichen Kontext – Ein praxisorientierter Ansatz in einem multinationalem Unternehmen Bachelorarbeit MIS.
USB - Universal Serial Bus
PhpMyAdmin.
Referat von Marcel Poppen & Oliver Lennartz
Analyse und Umsetzung einer Filter-basierten Paketverarbeitungsmaschine für IP-Netzwerke Lehrstuhl für Systemarchitektur und Betriebssysteme Forschungs-
Die Chipsätze Präsentiert von: Marc Grobecker und Sebastian Lang.
Elektrizitätslehre II
Thomas Kaiser 1 Analyse von Performanceproblemen beim UNIX-Backup Server.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Von Marcel Poppen & Oliver Lennartz
Carsten Haberland Otto-von-Guericke-Universität Magdeburg Seminar: Security-based Web Engineering Steganography and Watermarking Techniques Steganalysis.
Betriebssysteme: Theorie
Linux Universität zu Köln HKI Seminar: IT-Basics
HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI Mitsubishi Electric – GOT1000 – GT10 und Alpha2.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Arbeiten mit dem Terminal
I2C-HC / SCB Verifikation
 Präsentation transkript:

Entwicklung eines CAN-Treibers für IP460-Module mit CAN-Modul TIP816-10Entwicklung eines CAN-Treibers für IP460-Module mit CAN-Modul TIP Entwicklung eines einfachen DemonstrationsmodulsEntwicklung eines einfachen Demonstrationsmoduls Steer by Wire III (CAN) David Weese, Philipp Reinecke Einleitung Hintergrund: Nutzung als Schnittstelle zwischen Lenkung und Lenkrad im Steer by Wire-System EMES-Projekt bei Daimler Chrysler

Reaktionen in EchtzeitReaktionen in Echtzeit HochverfügbarkeitHochverfügbarkeit hohe Toleranz gegenüber Umwelteinflüssenhohe Toleranz gegenüber Umwelteinflüssen Steer by Wire III (CAN) David Weese, Philipp Reinecke allg. Anforderungen Konsequenz ist CAN-Protokoll wegenKonsequenz ist CAN-Protokoll wegen -Kollisionsvermeidung -vorhersagbaren Reaktionszeiten (für hochpriorisierte Nachrichten)

Steer by Wire III (CAN) David Weese, Philipp Reinecke Treiber-Anforderungen Der Treiber sollte tatsächliche Hardware weitestgehend abstrahierentatsächliche Hardware weitestgehend abstrahieren vom CAN-Modul-Hersteller unabhängig seinvom CAN-Modul-Hersteller unabhängig sein Streams für die Kommunikation zur Verfügung stellenStreams für die Kommunikation zur Verfügung stellen

Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Theorie I Planung der Treiber: Anpassung eines bereits existierenden PCI-Treibers für Linux, um Fehlerquellen gering zu haltenAnpassung eines bereits existierenden PCI-Treibers für Linux, um Fehlerquellen gering zu halten Entwicklung folgender Treiber:Entwicklung folgender Treiber: -SMC1-Treiber zur seriellen Kommunikation mit den Terminals und Debug-Ausgabe -Raw-Treiber zur binären packetorientierten Kommunikation über CAN -Cooked-Treiber zur zeichenorientierten Kommunikation über den Raw-Treiber alle Treiber stellen Input-/Output-Streams zur Verfügungalle Treiber stellen Input-/Output-Streams zur Verfügung

Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Theorie II

Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Theorie III Planung des Demonstrationsmoduls: muss lediglich SMC1-Stream und Cooked-Stream verwendenmuss lediglich SMC1-Stream und Cooked-Stream verwenden durch den SMC1-Stream vom Nutzer kommende Texte werden durch den Cooked-Stream über den CAN-Bus zum anderen Board übertragendurch den SMC1-Stream vom Nutzer kommende Texte werden durch den Cooked-Stream über den CAN-Bus zum anderen Board übertragen vom CAN-Bus durch Cooked-Stream kommende Texte werden durch SMC1-Stream zurück zum anderen Nutzer gesendetvom CAN-Bus durch Cooked-Stream kommende Texte werden durch SMC1-Stream zurück zum anderen Nutzer gesendet

Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Theorie IV

vorhandene Hardware: IP460-Board mit 32bit MC68040 und MC68360 (Communication Controller) von MotorolaIP460-Board mit 32bit MC68040 und MC68360 (Communication Controller) von Motorola Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Praxis I IP-Modul TIP816 von TEWES mit integriertem CAN-Controller i82527 von IntelIP-Modul TIP816 von TEWES mit integriertem CAN-Controller i82527 von Intel bietet 14 frei belegbare Transmit-/Receive- Objekte für CAN-Nachrichten und ein exklusives Receive-Objekt (Message Ob- jekt 15)bietet 14 frei belegbare Transmit-/Receive- Objekte für CAN-Nachrichten und ein exklusives Receive-Objekt (Message Ob- jekt 15) alle Objekte sind nach ID maskierbaralle Objekte sind nach ID maskierbar

vorhandene Software: Monitorsoftware IP460Mon V2.01 im EEPROM des IP- Boards - nimmt Initialisierung der Controller vor und ermöglicht Upload des Treibers über serielles ASCII- Protokoll (Quellen unvollständig)Monitorsoftware IP460Mon V2.01 im EEPROM des IP- Boards - nimmt Initialisierung der Controller vor und ermöglicht Upload des Treibers über serielles ASCII- Protokoll (Quellen unvollständig) TIP816-Linux-Treiber von TEWES für eine PCI-Version des CAN-Controllers mit Quellen da als Device-Driver geschrieben, enthält dieser Funktionen zum Initialisieren, Öffnen, Schließen Schreiben und Lesen (gewisse Abhängigkeit von Unix- Spezifika)TIP816-Linux-Treiber von TEWES für eine PCI-Version des CAN-Controllers mit Quellen da als Device-Driver geschrieben, enthält dieser Funktionen zum Initialisieren, Öffnen, Schließen Schreiben und Lesen (gewisse Abhängigkeit von Unix- Spezifika) Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Praxis II

Vorgehensweise: 1.Implementation des SMC1-Treibers 2.Adaption des TIP816-Treibers 3.Test des Treibers mittels Beispielprogramm 4.Implementation des Cooked-Streams 5.Aufsetzen des Demonstrationsprogramms Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Praxis III

1.Implementation des SMC1-Treibers Entwicklung von stabilen IRQ-unabhängigen Ein-/ Ausgaberoutinen (schliesst Fehlerquellen aus)Entwicklung von stabilen IRQ-unabhängigen Ein-/ Ausgaberoutinen (schliesst Fehlerquellen aus) Reverse-Engineering der Monitorroutinen und Anpassung mit MC68360 DokumentationenReverse-Engineering der Monitorroutinen und Anpassung mit MC68360 Dokumentationen 2.Adaption des TIP816-Treibers Adaption zur KompilierbarkeitAdaption zur Kompilierbarkeit Beibehaltung der Interfaces (da zweckmäßig)Beibehaltung der Interfaces (da zweckmäßig) Entfernung der überflüssigen/nicht implementierbaren BereicheEntfernung der überflüssigen/nicht implementierbaren Bereiche 3.Test des Treibers mittels Beispielprogramm Validierung der Treiberfunktion vor Implementation höherer EbenenValidierung der Treiberfunktion vor Implementation höherer Ebenen Kompilierung nahezu problemlos, Übertragung nichtKompilierung nahezu problemlos, Übertragung nicht Steer by Wire III (CAN) David Weese, Philipp Reinecke Lösung – Praxis IV

Logic Analyser zeigt Spannungsverlauf des CAN-Busses an: 1. Modul sendet Pakete (meldet errorcounter > 96)1. Modul sendet Pakete (meldet errorcounter > 96) erfolgreich erkennbar sind Arbitrierungs- und Datenbitserfolgreich erkennbar sind Arbitrierungs- und Datenbits Arbitrierung scheinbar erfolgreichArbitrierung scheinbar erfolgreich 2. Modul empfängt keine Pakete, löst keinen IRQ aus, es ist kein IRQ pending und auf der IRQ-Leitung bleibt die Spannung unverändert2. Modul empfängt keine Pakete, löst keinen IRQ aus, es ist kein IRQ pending und auf der IRQ-Leitung bleibt die Spannung unverändert Ursache in Hardware (CAN-Bus richtig angeschlossen?)Ursache in Hardware (CAN-Bus richtig angeschlossen?) Nutzbar sind: SMC1-Treiber mit StreamSMC1-Treiber mit Stream Cooked-StreamCooked-Stream DemonstrationsprogrammDemonstrationsprogramm Steer by Wire III (CAN) David Weese, Philipp Reinecke Ergebnis

Was hätte man anders machen können? Entwicklung eines eigenen Treibers mit Orientierung auf Echtzeit (war in der Zeitkürze nicht möglich)Entwicklung eines eigenen Treibers mit Orientierung auf Echtzeit (war in der Zeitkürze nicht möglich) Wie könnte man weitermachen? Verifikation der korrekten HardwarefunktionVerifikation der korrekten Hardwarefunktion Beseitigung des ÜbertragungsfehlersBeseitigung des Übertragungsfehlers Einsatz in Steer by Wire-Demo (Stand-Alone oder mit RTOS)Einsatz in Steer by Wire-Demo (Stand-Alone oder mit RTOS) Steer by Wire III (CAN) David Weese, Philipp Reinecke Ausblick

ENDE Steer by Wire III (CAN) David Weese, Philipp Reinecke Schluss