(Bild zum Vergrößern anklicken)
(Bild zum Vergrößern anklicken)
(Bild für vollständigen Schaltplan anklicken)
|
Ende 2005 habe ich das Design eines sehr kleinen, universellen Mikrocontrollerboards fertiggestellt, dessen Herz ein Freescale 9S08GB60 Mikrocontroller ist.
Ich habe mich entschlossen, dieses Board vollständig zu veröffentlichen um so einer breiteren Masse Zugang zu dieser hervorragenden Mikrocontroller-Baureihe von Freescale Semiconductor zu ermöglichen.
Der Controller unterstützt unter anderem BDM - den sogenannten "Background Debug Mode", welcher über eine 1-adrige Verbindung die Programmierung, aber auch das Source-Level-Debugging ermöglicht. Bis zuletzt war für diese Schnittstelle stets eine relative teure (mehrere hundert Euro) Spezialhardware erforderlich. Dieses Problem wurde durch Implementierung eines Open Source-Interfaces gelöst und so eine Möglichkeit geschaffen, auch privaten Entwicklern einen kostengünstigen Zugang zu ermöglichen.
Ich durfte diese Open Source-BDM-Debug-Lösung als einer der ersten Entwickler betatesten und möchte noch einmal die außerordentlich gute Unterstützung seitens Freescale lobend hervorheben!
In diesem Zusammenhang möchte ich auch die Internet-Community-Seiten freegeeks.net und forums.freescale.com erwähnen - hier findet man sehr kompetente Unterstützung; außerdem sind auch einige Freescale-Entwickler in diesen Foren aktiv tätig!
Der Mikrocontroller 9S08GB60 bietet eine beeindruckende Featureliste:
- Verschiedene Stromsparmodi inkl. 20 nA powerdown bei 2 V
- Optionales auto wake-up mit internem Timer und internem Oszillator mit typisch 700 nA bei 2 V
- Betrieb bei 1.8 V - 3.6 V
- High-performance: Minimale Instruktions-Zyklus-Zeit von 50 ns bis hinab zu 2.1 V bei einem 20 MHz-Bus, Minimale Instruktions-Zyklus-Zeit von 125 ns bis hinab zu 1.8 V bei einem 8 MHz-Bus
- 1-adriger Background Debug Mode
- Trace-Fähigkeit mit 9 Trigger-Modi und 3 Breakpoints
- 60K In-System wiederprogrammierbarer FLASH-Speicher
- 4K random access memory (RAM)
- 8-Kanal, 10-bit Analog-/Digital-Wandler (ATD)
- Zwei asynchrone serielle Kommunikationsmodule (SCI)
- Synchronous serial peripheral interface-Module (SPI)
- Inter-integrated circuit-Bus-Modul bis 100 kbps (I²C)
- Einen 3-Kanal- und einen 5-Kanal 16-bit-Zähler, jeder Kanal als input input capture, output compare oder buffered PWM (edge oder center aligned) programmierbar
- Interner Clock-Generator (keine externen Bauteile erforderlich)
- Programmierbare frequency-locked loop (FLL) und post-FLL-Teiler welche Bus-Geschwindigkeiten von 32 kHz bis 20 MHz erzeugen kann, justierbar, mit Temperatur- und Spannungskompensation (typische Drift < 2 %)
- Optionaler externer Quarz, Resonator oder Takt
- System-Schutz: Computer operating properly (COP)
- Unterspannungs-Erkennung/Reset bei nominell 1.8 V
- Unterspannungs-Erkennung/Reset bei nominell 2.4 V oder 2.1 V
- Bis zu 56 general purpose input/output-(I/O-) Pins
- Programmierbare Pull-ups
- High-current-Treiber (10 mA sink/source bei 2.7 V, 25 mA typisch)
- Slew rate-Kontrolle
- 64-pin low-profile quad flat package (LQFP)
Mein GB60Board bietet zusätzlich zu den Features des Mikrocontrollers noch folgende Eigenschaften:
- Sehr geringe Platinenabmessungen: Nur 45 x 45 mm (!)
- Günstiges 2-Layer Board-Design
- Layout ermöglicht stapelbare Hardware da unterhalb des GB60Boards keine Komponenten angebracht sind!
- Integrierter 32.768 kHz-Quarz, welcher mit der FLL des Controllers auf hohe interne Taktfrequenzen umgesetzt wird
- Optional bestückbarer, leistungsfähiger (bis 1.5 A!) 3.3 V Festspannungsregler
- Umsetzung der beiden seriellen Schnittstellen auf RS232-Pegel; damit ist das Board direkt an gängige Computer anschließbar!
- Interne oder externe Vref-Quelle für das A/D-Wandler-Modul
- 2 LEDs als Debug-Hilfe
- 6-polige BDM-Debug-Steckleiste
- 2 x 34-polige Pfostensteckbuchsen mit sämtlichen wichtigen Signalleitungen
Die Verwendung dieses Projekts ist für privatem Gebrauch frei; bei kommerziellem Interesse ist mit mir Kontakt aufzunehmen!
Sie können das komplette Eagle-Projekt inkl. Demonstrations-Firmware im Downloadbereich beziehen.
|