Erweiterungsport Belegung

Aus c't-Bot Wiki
Wechseln zu: Navigation, Suche

Einführung

Die Porterweiterung wird beim c't-Bot durch drei Schieberegister realisiert. Ein Schieberegister ist im Prinzip ein Seriell zu Parallel Wandler. Synchron zu einem Taktsignal werden die Daten seriell über einen Port vom Prozessor in das Schieberegister geschoben. Nach Übertragung von 8 Bits liegt das Signal am 8-Bit Parallel Ausgangsport an. Während der Übertragung bleiben die Ausgangssiganle durch den Ausgangs Datenlatch des 74HC595 stabil. Jeweils 1 Prozessor Pin wird für die Selektierung (Enable) des entsprechenden Schiebregisters benötigt.

Zur Ansteuerung der Schieberegister werden insgesamt 6 Prozessor Pins benötigt.

Port Funktion
PC0 serielle Daten
PC1 serieller Takt
PC2 Enable LCD Port
PC3 Enable Enable Port
PC4 Enable LED Port
PC5 Busy Flag LCD Port

LED Port

Auf dem c't-Bot befinden sich insgesamt 8 LEDs, die sich für Statusanzeigen benutzen lassen. Über Port PC4 wird der LED Port enabled/disabled. Über Port PC0 werden die Daten seriell übertragen und synchron zum Takt von PC1 in dass Schieberegister geschoben.

Port Belegung

Port Funktion Anmerkung
P0 LED1 links, blau
P1 LED2 rechts, blau
P2 LED3 rot
P3 LED4 orange
P4 LED5 gelb
P5 LED6 grün
P6 LED7 blau
P7 LED8 weiß

Schaltplan

Schaltbild LED Port

Enable Port

Über den Enable Port können einzelne Baugruppen (Sensoren) des c't-Bots enabled/disabled werden. Das spart Strom. Über Port PC3 wird der Enable Port enabled/disabled. Über Port PC0 werden die Daten seriell übertragen und synchron zum Takt von PC1 in dass Schieberegister geschoben.

Portbelegung

Port Funktion Anmerkung
P0 ENA_ABSTAND Enable Distanzsensoren (GP2D12)
P1 ENA_RADLED Enable Radencoder (Odometrie) LEDs (CNY70)
P2 ENA_SCHRANKE Enable Lichtschranke (IS471F)
P3 ENA_KANTLED Enable Absturzdetektor LEDs (CNY70)
P4 ENA_KLAPPLED Enable Klappensensor LED (CNY70)
P5 ENA_MAUS Enable Liniensensor LEDs (CNY70)
P6 ENA_ERW1 Enable Erweiterung 1
P7 ENA_ERW2 Enable Erweiterung 2

Schaltplan

Schaltbild Enable Port

LCD Port

Der c't-Bot läßt sich mit einem LCD-Modul erweitern. Über Port PC2 wird der LCD Port enabled/disabled. Über Port PC0 werden die Daten seriell übertragen und synchron zum Takt von PC1 in dass Schieberegister geschoben. Über PC5 wird das Busy Flag des LCD Moduls angeschlossen. Leider ist dieser Pin am falschen Datenbit angeschlossen, und wird derzeit von der Software nicht ausgewertet. Durch eine Modifikation am c't-Bot läßt sich das Busy Signal an PC5 abfragen.


Portbelegung

Port Funktion Anmerkung
P0 LCD1 Datenbus Bit0
P1 LCD2 Datenbus Bit1
P2 LCD3 Datenbus Bit2
P3 LCD4 Datenbus Bit3
P4 LCD5 Datenbus Bit4
P5 LCD6 Datenbus Bit5
P6 LCD7 Datenbus Bit6
P7 LCD8 Datenbus Bit7


Das LCD-Modul selbst wird über einen 16poligen (2x8) Wannenstecker angeschlossen. Die Belegung entspricht dem üblichen Standard der meisten LCD-Module. Über einen Jumper (BR1) kann man die Hintergrundbeleuchtung an/abschalten.

Steckerbelegung ST4

Pin Bezeichnung Beschreibung
1 GND Masse
2 VCC Spannungsversorgung +5V
3 VEE Kontrast Poti 0..0,5V
4 RS Register Select, 1=Daten schreiben / 0=Kommando senden.
5 R/W 1=Read / 0=Write zum lesen / schreiben in das Display RAM
6 Enable Fallende Flanke -> Übertragen des Kommandos oder der Daten, H-Pegel -> Lesen von Daten aus dem Display
7 DB0 Datenbus Bit0 LSB
8 DB1 Datenbus Bit1
9 DB2 Datenbus Bit2
10 DB3 Datenbus Bit3
11 DB4 Datenbus Bit4
12 DB5 Datenbus Bit5
13 DB6 Datenbus Bit6
14 DB7 Datenbus Bit7 MSB
15 GND Masse Hintergrundbeleuchtung
16 VCC Spannungsversorgung Hintergrundbeleuchtung, mit Vorwiderstand

Schaltplan

Schaltbild LCD Port

Achtung:

Fehler im Schaltplan. Der Port PC5 sollte eigentlich das Busy-Flag des LCD-Moduls abfragen. Dieses liegt aber an DB7 an, nicht an DB0. Derzeit ist die Abfrage des Busy-Flags deshalb nicht möglich. Abhilfe könnte der LCD Busy Patch bringen, dies wird derzeit aber von offizieller Seite leider nicht empfohlen. Der aktuelle c't-Bot Code arbeitet weiterhin mit Delays.

Unterschiedliche Backlight Belegung. Es gibt auch LCD-Module mit anderer Backlight Belegung. Pin 15 und 16 sind dabei getauscht. Bei Verwendung eines anderen LCD-Moduls hilft ein Blick ins Datenblatt.

LCD-Module mit negativer Kontrastspannung. Es gibt LCD-Module für den erweiterten Temperaturbereich -20°...+70°. Diese benötigen eine negative Kontrastspannung. Diese LCD-Module funktionieren hier nicht.

Signalverlauf

Signalverlauf LCD Port

Weblinks

Autor(en)

Marvin