Letztes Update: 17.12.2002
Der Rechner wird dem 68HC11F1 aufgebaut.
Das Bild zeigt die grundlegenen Funktionen des Rechners.
Memory Map des Rechners
Adresse |
Funktion |
| 0000 - 01FF | Internes RAM |
| 1000 - 105F | Interne Register |
| 2000 - 4FFF | RTC |
| 3000 - 3FFF | I2C-Bus Controller |
| 4000 - 4FFF | 4fach UART |
| 5000 - 5FFF | frei |
| 6000 - 6FFF | ½ 8k SRAM |
| 7000 - 7FFF | ½ 8k SRAM |
| 8000 - FDFF | 32k EEPROM |
| FE00 - FFFF | Internes EEPROM |
Da ich jetzt doch mit dem 68HC11 arbeite, wird nicht mehr eine CF Karte eingesetzt, sondern höchstwahrscheinlich eine MultiMediaCard. Nach einem Datenblatt von SanDisk kann die MMC direkt am SPI-Bus des 68HC11 betrieben werden.
Die MMC läßt sich leider nicht direkt am Controller betreiben, da sie mit einer Versorgungsspannung von 3V arbeitet. Es ist also ein Levelshifter notwendig. Dazu habe ich mal wieder den altbekannten Treiber Baustein 74LS07 aus der Kiste geholt. Er wird mit 5V betrieben. Der Open Collector Ausgang kann jedoch über einen Widerstand an die 3V für die MMC gelegt werden. Da die High-Schwelle für TTL-Pegel bei 2V beginnt bereitet auch der umgekehrte Weg keine Schwierigkeiten. Für die Erzeugung der 3V wird der Spannungsregler LM317L eingesetzt. Wichtig ist die Pufferung am Spannungsregler durch C1 und C2, da die relativ steilen Flanken beim Signal sonst zu einem Spannungseinbruch führen können, bzw. durch die Reglereigenschaften des LM317L zu einer Spannungserhöhung (gemessen wurden bis zu 3.8V).
Da auf der Platine der Platz inzwischen knapp wird, wird der Massenspeicher als Piggi-Pack gebaut. Ein Problem war noch die Beschaffung einer Fassung für die MMC. Da ich nichts gefunden habe, muß also selbst eine gebaut werden. Dazu werden aus einer Fassung für Platinensteckverbinder mit einem Seitenschneider die Federkontakte entfernt und in die Pins auf die Platine gesteckt. Die Federspannung der Kontakte reicht aus, um die MMC richtig schön fest zu kontaktieren. Der Nachteil ist allerdings, das die MMC nur sehr schwer entfernt werden kann, aber es ist noch möglich.
Als RTC wird der Standardbaustein RTC72421 eingesetzt.
Hierfür wird der I2C-Bus Baustein PCF8574 eingesetzt. Er besitzt 8 Kanäle die sowohl als Eingang wie auch als Ausgang benutzt werden können. Desweiteren werden Select Signale für diverse Bausteine am SPI-Bus erzeugt, da dieser Bus leider nicht über eine eigene Adressierungsmöglichkeit verfügt.
| Kanal | Richtung | Signal |
1 |
Output | Chip Selects für diverse Bausteine am SPI-Bus |
2 |
Output | frei |
3 |
Output | frei |
4 |
Output | frei |
5 |
Output | frei |
6 |
Output | frei |
7 |
Output | frei |
8 |
Output | Heizung Ein/Aus |
Der Einsatz ist jedoch noch unklar. Durch den 68HC11F1 stehen hier wahrscheinlich noch einige freie Ports zur Verfügung.
Eigentlich hatte ich vor, einen ADC mit I2C Interface einzusetzen. Als einzig brauchbaren habe ich nur den MAX128 gefunden, aber der ist schwer zu bekommen (7 Wochen Lieferzeit) und kostet viel Geld (27 Euro). Deshalb wird der preisgünstigere LTC1290 eingesetzt. Der hat aber ein SPI Interface.
| Kanal | Signal |
1 |
CPU-Temperatur |
2 |
Gehäusetemperatur |
3 |
Akkuladestrom |
4 |
Hauptstrom |
5 |
Akkuspannung |
6 |
Hauptspannung |
7 |
SRAM-Akkuspannung |
8 |
frei |
Eingesetzt wird der bereits linearisierte Temperatursensor LM335Z. Er wird auf das Gehäuse des 68HC11 geklebt.
| Bemerkung | a |
c |
Bemerkung | |
Masse Analog |
GND |
1 |
GND |
Masse Analog . . Gepufferte Spannung, Analog Masse, Digital Gepufferte Spannung, Digital . . . RS232 Masse RS232 Output . . I2C-Bus Clock I2C-Bus Data . . . . . . . . Reset Chip Select 2 Chip Select 0 SPI Data Input ADC Clock Eingang Gehäusetemperatur Eingang Hauptstrom Ib Eingang Akkuladestrom Ibat |
Schaltplan 1 - Mikrokontroller
Schaltplan 2 - RS232 Interface