Lade Inhalt...

CAN-Bus Tester mit C505 Mikrocontroller

Studienarbeit 2006 39 Seiten

Elektrotechnik

Leseprobe

Inhaltsverzeichnis:

1 Einleitung

2 Konzept

3 Analyse der vorhandenen Hardware

4 Entwicklung der PLD Platine
4.1 Beschreibung des PLD´s EPM7128SLC84-10
4.2 CAN-Bus Leitungstreiber
4.3 Programmierbare Taster
4.4 LC-Display inkl. Ansteuerung
4.5 Anzeige LEDs
4.7 JTAG - Schnittstelle
4.8 Foto PLD Platine mit Beschriftung

5 Softwaredokumentation des PLD´s
5.1 Öffnen der Projektdaten
5.2 Funktion der PLD Software
5.3 Downloaden der Software auf das Zielsystem
5.4 Pinbelegung des PLD´s
5.5 PLD Software komplett

6 Softwaredokumentation des C505C
6.1 Auflistung der Quelldateien
6.2 Beschreibung von CANREG.H
6.3 Beschreibung von data.h
6.4 Beschreibung von ident.c
6.5 Beschreibung von LCD.C
6.6 Beschreibung von led.c
6.7 Beschreibung von main.c
6.8 Beschreibung MAIN.H

7 Inbetriebnahme der Hardware und Beschreibung
7.1 Funktionsbeschreibung der Hardware

8 Aussichten und Verbesserungsvorschläge

9 Quellenverzeichnis

Tabellen- und Bildverzeichnis:

Bild 1 : Aufbau des CAN Testers

Bild 2 : Auszug aus dem C505C Datenblatt

Bild 3 : CAN Bus Fehler

Bild 4 : C505C Board

Bild 5 : Schaltplan PLD Platine (PLD Altera)

Bild 6 : CAN Leitungstreiber

Bild 7 : Taster der PLD Platine

Bild 8 : LCD der PLD Platine

Bild 9 : LEDs inkl. Treiber der PLD Platine

Bild 10 : Stromversorgung der PLD Platine

Bild 11 : JTAG Schnittstelle

Bild 12: Schaltungsvorschlag Altera JTAG

Bild 13 : PLD Platine

Bild 14: Geöffnetes Projekt in Quartus 2

Bild 15 : 8-Bit seriell parallel Wandler

Bild 16 : 8 Bit parallel seriell Wandler

Bild 17 : PLD Software komplett

Bild 18 : Include-Graph CANREG.H

Bild 19 : Include-Graph data.h

Bild 20 : Include-Graph ident.c

Bild 21 : Include-Graph LCD.C

Bild 22 : Call-Graph der Funktion initlcd()

Bild 23 : Call-Graph der Funktion lcdputchar()

Bild 24 : Call-Graph der Funktion lcdputs()

Bild 25 : Call-Graph der Funktion setxyposition()

Bild 26 : Call-Graph der Funktion lcdcan()

Bild 27 : Include-Graph led.c

Bild 28 : Include-Graph von taster.c

Bild 29 : Include-Graph main.c

Bild 30 : Call-Graph Project_Init()

Bild 31 : Call-Graph der Funktion main()

Bild 32 : Include-Graph MAIN.H

Bild 33 : Anschlussplan der Hardware

Tabelle 1 : MAX7000 Features

Tabelle 2 : MAX7000 User I/O Pins

Tabelle 3 : Pinbelegung des PLD´s

Tabelle 4 : Quelldateien

Tabelle 5 : Funktionen von ident.c

Tabelle 6 : Funktionen von LCD.C

1 Einleitung

In dieser Studienarbeit galt es einen CAN - Tester zu entwickeln. Zu Verfügung Stand bereits ein Einplatinenrechner, welcher über einen Mikrocontroller der Firma Siemens dem C505C besitzt. Der C505C beinhaltet einen Full-CAN-Controller der sämtliche CAN Funktionen zu Verfügung stellt. Im weiteren Verlauf wird dieser Einplatinenrechner C505C Board genannt.

Um die gewünschten Funktionalitäten zu erreichen musste, eine zweite Platine entworfen werden, welche im weiteren Verlauf „PLD Platine“ genannt wird. Des Weiteren musste für das C505C Board sowie auch für die PLD Platine angepasste Software entwickelt werden.

In diesem Dokument wird die Entwicklung der PLD Platine sowie die Software für das C505C Board und der PLD Platine beschrieben.

Am Ende der Dokumentation erfolgt eine Funktionsbeschreibung der kompletten Hardware. Dabei werden bei der Dokumentation systematisch die einzelnen Schritte erläutert. Das heißt es wird erst das Konzept vorgestellt. Danach wird eine Zusammenfassung über die vorhandene Hardware gegeben dem C505C Board. Des Weiteren wird die Hardwareentwicklung der PLD Platine beschrieben. Nachdem wird jeweils die Software für die PLD Platine und des C505C Boards beschrieben. In dieser Abfolge wurde dieses Projekt auch durchgeführt.

2 Konzept

Zu Beginn der Entwicklung wurde ein erstes Konzept für den CAN Tester vorgelegt. Dieses Konzept beinhaltet kurz die Funktionalität des zu entwerfenden CAN - Testers.

Abbildung in dieser Leseprobe nicht enthalten

Bild 1 : Aufbau des CAN Testers

In Bild 1 ist ein vorgeschlagener schematischer Aufbau des CAN Testers zu sehen. Folgende Funktionalitäten sollen realisiert werden:

Teilnehmer am CAN-Bus

Transparenter Empfänger für alle Identifier Anzeige der letzten 8 Identifier auf LCD LEDs für wiederholte Identifier Einstellbare Baudrate

Indikator-LEDs für erkannte Fehler

Taster zur Erzeugung von Fehler-Messages

3 Analyse der vorhandenen Hardware

Zu Beginn der Entwicklung wurde als erstes eine Durchführbarkeitsanalyse gemacht. Dabei wurde untersucht, wie das in Abschnitt 2 beschriebene Konzept am besten zu bewerkstelligen ist.

Es musste untersucht werden, welche Möglichkeiten bestehen, um mit dem C505C Board externe Hardware anzusteuern und welche Komponenten nötig sind, um Vorgänge auf dem CAN Bus zu visualisieren.

Abbildung in dieser Leseprobe nicht enthalten

Bild 2 : Auszug aus dem C505C Datenblatt

In Bild 2 ist ein Auszug aus dem C505C Datenblatt zu sehen. Dort wird das SR(Status Register) des CAN Controllers beschrieben.

In diesem 8-Bit Register, sind die Fehler, welche auf dem CAN Bus entstehen und der Status herauslesbar.

In den untersten 3 Bits des Registers sind die Fehler codiert und in den nachfolgende 5 Bits der aktuelle Buszustand.

Daraus ergibt sich eine Anzahl von 8 LEDs die benötigt werden, um Fehler des CAN Buses darzustellen bzw. den aktuellen Status des Buses zu zeigen. Im folgenden Auszug, Bild3, aus dem C505C Datenblatt werden die untersten 3 Bits näher erläutert.

Abbildung in dieser Leseprobe nicht enthalten

Bild 3 : CAN Bus Fehler

Des Weiteren werden 8 Leds benötigt um die letzten Identifier auf dem CAN Bus zu zeigen. Um zu zeigen, welcher Identifier zu welchem LED gehört, soll mit Hilfe eines 4x16 Text LC-Displays geschehen. Ebenso muss auch noch die Umschaltung der Baudrate und die Erzeugung von Testmessages realisiert werden. Aufgrund dessen wurden zusätzlich 8 Taster eingeplant.

Damit 16 LEDs, 8 Taster und ein 4x16 LC-Display angesteuert werden können, benötigt man 35 I/O Leitungen.

16 I/O Leitungen für die 16 LEDs, 8 I/O Leitungen für die 8 Taster.

Für ein LCD benötigt man 8 I/O Leitungen für den 8 Bit Datenbus und 3 Steuerleitungen.

Dies ergibt insgesamt 35 I/O Leitungen.

Abbildung in dieser Leseprobe nicht enthalten

Bild 4 : C505C Board

Da auf dem C505C Board, in Bild 4 dargestellt, nur 14 freie I/O Leitungen zu Verfügung stehen, musste auf der PLD Platine entsprechende Vorkehrungen getroffen werden, damit die Daten seriell übertragen werden können. Ebenso muss auf der PLD Platine der Leitungstreiber für den CAN Bus untergebracht werden, da dieser nicht auf dem C505C Board vorhanden ist.

4 Entwicklung der PLD Platine

4.1 Beschreibung des PLD´s EPM7128SLC84-10

Wie bereits in Abschnitt 3 beschrieben, wird eine Platine benötigt die einen seriellen Datenstrom empfangen kann sowie auch senden kann, damit die LEDs, die Taster und das LCD gesteuert werden können.

Um dies zu realisieren wurde auf der PLD Platine ein PLD von der Firma Altera vom Typ EPM7128SLC84-10 aus der MAX7000 Serie verwendet.

In Bild 5 ist ein Abschnitt aus dem Schaltplan der PLD Platine ersichtlich, wo der PLD(IC1) dargestellt ist.

Abbildung in dieser Leseprobe nicht enthalten

Bild 5 : Schaltplan PLD Platine (PLD Altera)

Die wichtigsten Eigenschaften des PLD sind in den folgenden Tabellen 1 & 2 aufgelistet.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 1 : MAX7000 Features

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2 : MAX7000 User I/O Pins

Aus den Tabellen 1 und 2 ist ersichtlich, das der verwendete Typ über genügend I/O Leitungen zum Ansteuern der Hardware verfügt.

Ebenso ist aus der Angabe fCNT(MHz) zu erkennen, dass dieses PLD ausreichend Geschwindigkeit zur Aufnahme von Daten vom C505C Board besitzt, da dieses lediglich mit 12 MHz Taktfrequenz arbeitet.

Ebenso ist in Bild 5 die Pfostenwanne SV3 ersichtlich. Mit dieser Pfostenwanne wird verpolungssicher die Verbindung zum C505C Board erreicht.

Über diesen Steckerkontakt werden die seriellen Daten übermittelt sowie die CSEL Signale für die einzelnen Hardwarekomponente sprich LCD, Taster und LEDs.

4.2 CAN-Bus Leitungstreiber

Auf der PLD Platine wurde der Leitungstreiber für den CAN Bus implementiert. Es wurde ein Leitungstreiber der Firma Philips vom Typ PCA82C250 gewählt, welcher eine Übertragungsgeschwindigkeit von 1 MBits/s erlaubt. Der Anschluss ist im nachfolgenden Bild 6 zu sehen.

Abbildung in dieser Leseprobe nicht enthalten

Bild 6 : CAN Leitungstreiber

IC4 ist der Leitungstreiber für den CAN Bus. X3 ist ein 9poliger SUB-D Stecker. Damit ist es möglich die PLD Platine direkt an den CAN Bus zu koppeln. Mit der Stiftleiste SV1 werden die Signale TXD und RXD auf das C505C Board geführt. Mit dem Taster S9 und S10 könne Kurzschlüsse auf dem CAN Bus verursacht werden.

[...]

Details

Seiten
39
Jahr
2006
ISBN (eBook)
9783640791019
ISBN (Buch)
9783640790821
Dateigröße
1.9 MB
Sprache
Deutsch
Katalognummer
v163963
Institution / Hochschule
Hochschule Koblenz (ehem. FH Koblenz)
Note
1,0
Schlagworte
C505 Infineon Altera Quartus CAN CANBUS Can Bus Tester CPLD LCD Display Eagle Keil

Autor

Teilen

Zurück

Titel: CAN-Bus Tester mit C505 Mikrocontroller