Seite 1
HCS12 T-Board Hardware Version 1.00 Benutzerhandbuch 9. Juni 2008...
Seite 2
Email: leipzig@elmicro.com Web: http://elmicro.com Dieses Handbuch wurde sorgfältig erstellt und geprüft. Trotzdem können Fehler und Irrtümer nicht ausgeschlossen werden. ELMICRO übernimmt keinerlei juristische Verantwortung für die uneingeschränkte Richtigkeit und Anwendbarkeit des Handbuchs und des beschriebenen Produktes. Die Eignung des Produktes für einen spezifischen Verwen- dungszweck wird nicht zugesichert.
Benutzerhandbuch 1. Überblick Das HCS12 T-Board ist ein vielseitiges Evaluationboard auf Basis der 16-Bit Mikrocontrollerfamilie HCS12 von Motorola. Es erleichtert die Inbetriebnahme von HCS12 Anwendungen und ist hervorragend geeignet zur Einarbeitung in die Programmierung der HCS12 Mikro- controller. Auf dem HCS12 T-Board kommt eine leistungsstarke MCU vom Typ MC9S12DP512 zum Einsatz.
HCS12 T-Board Technische Daten w MCU MC9S12DP512 im LQFP112 Package (SMD) w HCS12 16-Bit CPU, Programmiermodell/Befehlssatz wie HC12 w 16 MHz Quarztakt, bis zu 25 MHz Bustakt über PLL w Speicher: 512KB Flash, 4KB EEPROM, 14KB RAM w 2x SCI - asynch. serielles Interface w 3x SPI - synch.
Lieferumfang w Evaluationboard mit MC9S12DP512 w TwinPEEKs Monitorprogramm (im Flash Speicher der MCU) w RS232 Anschlußkabel (Sub-D9) w Hardwarehandbuch (dieses Dokument) w Schaltpläne w CD-ROM: enthält Assemblersoftware, verschiedene Datenblät- ter, CPU12 Reference Manual, Softwarebeispiele, C-Compiler Demoversion u.v.m. HCS12 T-Board V1.00...
Spannungsregler IC3. w Nach Anlegen der Versorgungsspannung startet das Monitor- programm und zeigt eine kurze Systemmeldung an - und erwar- tet die Anweisungen des Benutzers (die Monitorbefehle sind weiter hinten beschrieben) . Wir wünschen Ihnen viel Erfolg mit dem HCS12 T-Board!
Benutzerhandbuch 4. Jumper und Lötbrücken Jumper Die Lage der Jumper kann dem Bestückungsplan (siehe oben) entnommen werden: JP1: PWR 1-2* Spannungsregler IC3 liefert 5V für die Baugruppe, Einspeisung an X1: 6..9V DC Spannungsregler IC3 wird umgangen, Einspeisung an X1: 5V DC (muss stabilisiert sein!) Lötbrücken Die folgenden Lötbrücken befinden sich auf der Unterseite der Platine (vergl.
Benutzerhandbuch 5. Mechanische Abmessungen Die folgende Tabelle gibt die mechanischen Dimensionen des HCS12 T-Boards wieder. Die Angaben dienen als Orientierung beim Entwurf von Zusatzbaugruppen (Achtung: Angaben stets an den gelie- ferten Baugruppen nachprüfen - keine Haftung für Druckfehler!). Die "südwestliche" Ecke der Platine (links/unten) bildet den Koordinatenursprung.
HCS12 T-Board 6. Schaltungsbeschreibung Bitte beachten Sie: Dieses Hardwarehandbuch kann nur einige spezifische Hinweise geben. Die Behandlung allgemeiner Techniken zur Programmierung des Controllers in Assembler bzw. Hochsprachen würden Umfang und Ziel dieses Handbuchs sprengen. Die meisten Antworten finden Sie beim (unerläßlichen) Studium der Datenblätter und Referenzhandbüchern der Halbleiterhersteller.
Benutzerhandbuch je ein 100nF-Keramikkondensator (C17, C18, C13), dem zusätzlich ein 10µF Elektrolytkondensator parallel geschaltet wird (C15, C16, C14). Besonderes Augenmerk muß auf die Entkopplung des VDDA-Pfades gelegt werden, da der interne Spannungsregler aus dieser Spannung seinen Referenzwert (VDDA/2) ableitet. Die interne 2,5-Volt-Corespannung wird an mehreren Stellen nach außen geführt, um sie dort ebenfalls entkoppeln zu können.
Ground. Der Hauptvorteil dieser Oszillatorschaltung ist eine sehr geringe Leistungsaufnahme, dafür ist die Komponentenwahl um einiges kritischer. Der HCS12 T-Board verwendet einen Automotive-Quartz von NDK, mit zwei Lastkapazitäten von lediglich 3,9pF. Darüber hinaus wurde beim Design besonders auf die Minimierung von...
Seite 17
Benutzerhandbuch parasitären Kapazitäten geachtet, die sich nachteilig auf die Signale EXTAL und XTAL auswirken könnten. Mit einem OSCCLK von 16 MHz ergibt sich ein Default-Bustakt (ECLK) von 8 MHz. Zur Erreichung höherer Taktfrequenzen bedient man sich der PLL-Schaltung des HCS12. Der MC9S12DP512 kann intern mit bis zu 25MHz Bustakt arbeiten, wobei die meisten Designs eine Frequenz von 24MHz nutzen, denn dies möglicht eine besonders flexible Festlegung der SCI-Baudraten.
//============================================================================= Alternativ zur Takterzeugung mit Q1 kann über den EXTAL-Pin des MC9S12DP512 ein externer Takt eingespeist werden. Hierzu kann auf dem HCS12 T-Board optional ein Oszillatorbaustein nachgerüstet werden (IC6 und die umgebenden Komponenten sind im Lieferzustand nicht bestückt). Zur Aktivierung dieser Variante muß zunächst die Brücke BR3 geschlossen werden (Nullohmwiderstand in 1206-Bauform auf der Platinenunterseite).
Der MC9S12DP512 verfügt über zwei integrierte Analog/Digital- Wandler Module mit einer Auflösung von max. 10 Bit. Beide Module (ATD0, ATD1) haben jeweils acht gemultiplexte Eingänge. Die Referenzspannung VRH legt die obere Grenze der Eingangs- spannung aller A/D-Kanäle fest, sie ist auf dem HCS12 T-Board ab...
Seite 20
HCS12 T-Board Werk über BR1 mit VDDA (5V) verbunden. Durch Öffnen der Lötbrücke BR1 ist es möglich, über H3/28 eine externe Referenzspan- nung einzuspeisen. VRH darf jedoch unter keinen Umständen VDDA übersteigen. Das folgende Beispielprogramm zeigt die Initialisierungssequenz für das A/D-Wandler Modul ATD0 und eine Routine zum Erfassen des Spannungswertes eines einzelnen Eingangskanals.
Das folgende Beispiel beläßt den EEPROM auf der Defaultposi- tion, in der Initialisierungsroutine wird lediglich der EEPROM Clock Devider entsprechend der Quarzfrequenz des HCS12 T-Board einge- stellt. Die Schreibfunktion wrSectEETS() kopiert zwei Worte (4 Byte) von einer beliebigen Quelladresse src auf eine EEPROM-Adresse dest, letztere muß...
Seite 22
HCS12 T-Board //============================================================================= // File: S12_EETS.C - V1.00 //============================================================================= //-- Includes ----------------------------------------------------------------- #include "datatypes.h" #include <mc9s12dp512.h> #include "s12_eets.h" //-- Code --------------------------------------------------------------------- void initEETS(void) { ECLKDIV = EETS_ECLKDIV; // set EEPROM Clock Divider Register //----------------------------------------------------------------------------- INT8 wrSectEETS(UINT16 *dest, UINT16 *src) { // check addr: must be aligned 32 bit if((UINT16)dest &...
Benutzerhandbuch Indikator-LEDs Die LED-Zeile D4 besteht aus zehn Einzel-LEDs. Die ersten 8 LEDs werden über PB[0..7] des Mikrocontrollers angesteuert. Die neunte LED leuchtet, wenn der Kontakt TP1 auf der Platine mit Masse verbunden wird (man verfügt somit über einen einfachen Pegelprüfer). Die zehnte LED leuchtet stets, sobald die Betriebsspannung eingeschal- tet wird.
HCS12 T-Board Akustischer Signalgeber Der Signalgeber SP1 wird von der MCU über den Portpin PT2 angesteuert. PT2 ist mit einem der acht Timerkanäle der MCU verbun- den. Dies ermöglicht die Frequenzerzeugung mit Hilfe der Output-Com- pare Funktion des Timersystems. Das folgende Beispielmodul demonstriert anhand weniger Zeilen,...
(RXDx, TXDx). Handshakeleitungen sind nicht Bestandteil der SCI-Module des Controllers, sie sind durch Einbeziehung zusätzlicher I/O-Ports zu realisieren. SCI0 dient auf dem HCS12 T-Board als RS232-Interface. Die Portsignale PS2 (=RXD1) und PS3 (=TXD1) lassen sich bei Bedarf als Handshakesignale für SCI0 einbeziehen, vorausgesetzt SCI1 wird nicht...
(ohne Pegelwandler) zur Verfügung, um externe IF-Module anzusteuern. IF-Module sind anschlußkompatible, serielle Interfacemo- dule, die für verschiedene physikalische Schnittstellenvarianten zur Verfügung stehen, z.B. RS232, RS485, Strombauchinterface oder LIN. Der Anschluß von IF-Modulen an das HCS12 T-Board (X3) erfolgt über ein 10-poliges Flachbandkabel.
Leitungen MISO, MOSI, SCK und /SS, das sind die MCU-Portleitungen PS4 bis PS7. Sie werden in der Schaltung des HCS12 T-Board selbst nicht benutzt, diese Signale werden lediglich an die seitlichen Stiftleisten geführt. Das folgende Listing zeigt die Basisfunktionen (Initialisierung, 8-Bit Datentransfer) für den SPI-Port SPI0:...
Emulation durch Software erübrigt sich somit. Soll das IIC-Businterface genutzt werden, sind an den beiden Bussignalen (SDA, SCL) Pull-Up Widerstände vorzusehen (auf dem HCS12 T-Board nicht vorhanden). Das folgende Listing zeigt eine vereinfachte Master-Mode Imple- mentierung, welche auf die Nutzung von Interrupts verzichtet: //============================================================================= // File: S12_IIC.C - V1.00...
CAN-Interface Chip (IC5), welcher das physische Businter- face bildet. Die CAN-Bussignale CANH und CANL stehen an X4 zur Verfügung. Wenn das HCS12 T-Board der letzte Knoten am CAN-Bus ist, wird eine Terminierung erforderlich. Sie kann durch Verbinden der Kontakte X4/1 und X4/2 aktiviert werden.
Seite 31
Benutzerhandbuch // we are going to use four 16-bit acceptance filters: CAN0IDAC = 0x10; // set up acceptance filter and mask register #1: // ------------------------------------------------------------------ // ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 | ID2 ID1 ID0 RTR IDE xxx xxx xxx // ------------------------------------------------------------------ // we are going to detect data frames with standard identifier (11 bits) // only, so bits RTR (bit4) and IDE (bit3) have to be clear...
(weitere Erläuterungen: siehe Monitorbeschreibung). Startup-Code Jede Controllerfirmware beginnt mit einer Reihe von Anweisungen zur Initialisierung der Hardware. Im Fall des HCS12 T-Board beschrän- ken sich die unbedingt notwendigen Initialisierungen auf das Setzen des Stackpointers. Die Abschaltung (bzw. ggf. die geeignete Initialisierung) des Watchdogs war bei früheren HC12-Derivaten zwingend notwendig.
Benutzerhandbuch 8. Monitorprogramm TwinPEEKs Software Version 2.3 Serielle Kommunikation TwinPEEKs kommuniziert über die erste RS232 Schnittstelle ("SER0", X3) mit 19200 Baud. Weitere Einstellungen: 8N1, kein Hardware- oder Softwarehandshake, kein Protokoll. Autostart Funktion Der TwinPEEKs Monitor überprüft nach Reset, ob die Port Pins PE5 (MODA) und PE6 (MODB) miteinander verbunden sind (X6B Pins 1+2).
HCS12 T-Board TwinPEEKs ergänzt in dieser Situation ein $FF-Byte und kann nun das Datenwort programmieren. Setzt sich der Datenstrom in der folgenden S-Record Zeile mit dem zuvor fehlenden Byte fort, müsste der Monitor an der fraglichen Wortadresse einen erneuten Schreibzugriff vornehmen, was jedoch nicht zulässig ist.
Seite 35
Benutzerhandbuch Der folgende Ausschnitt aus dem Assemblerlisting des Monitorpro- gramms dokumentiert die Adressen der umgeleiteten Interruptvektoren (erste Spalte von links: ursprüngliche Vektoradresse, zweite Spalte: Adresse im RAM): FF80 : 3F43 dc.w TP_RAMTOP-189 ; reserved FF82 : 3F46 dc.w TP_RAMTOP-186 ; reserved FF84 : 3F49 dc.w TP_RAMTOP-183...
HCS12 T-Board Benutzungshinweise Ein Monitorkommando besteht aus einem einzelnen Buchstaben, ggf. gefolgt von einer Liste von Argumenten. Alle Zahlenangaben erfol- gen hexadezimal ohne weitere Vor- oder Nachsätze. Groß- und Klein- schreibung ist gleichermaßen zulässig. Der für die CPU sichtbare Adreßraum umfaßt 64KB, die Adreßar- gumente sind demzufolge maximal vierstellig.
Seite 37
Benutzerhandbuch Edit Memory Syntax: E [addr {byte}] Speicher editieren. Nach der Startadresse addr können bis zu vier Datenytes {byte} angegeben werden (ermöglicht Word- und Double- word-Writes). Die Daten werden unmittelbar geschrieben, danach kehrt die Funktion zur Eingabeaufforderung zurück. Sind keine Daten {byte} in der Eingabezeile angegeben, wird der interaktive Modus gestartet.
HCS12 T-Board System Info Syntax: I Zeigt die Start- und Endadressen von Registerblock, RAM, EEPROM und Flash der MCU an und gibt die Prozessorkennung (PARTID) aus. Load Syntax: L Lädt eine S-Record Datei in den Speicher. Es werden Daten-Re- cords vom Typ S1 (16-Bit MCU-Adressen) und S2 (lineare 24-Bit Adressen) verarbeitet.
Seite 39
Benutzerhandbuch Select PPAGE Syntax: P [page] Selektiert eine Program Page (PPAGE). Diese Page wird daraufhin im 16KB-Page-Window von $8000 bis $BFFF sichtbar. Erase Flash Syntax: X [page] Löscht die angegebene Page (16KB) des Flashspeichers. Ohne Angabe von page löscht der Befehl den gesamten Flash, abgesehen vom Monitorcode (zum Überschreiben des Monitors ist ein BDM-Tool wie ComPOD12/StarProg erforderlich).
HCS12 T-Board 9. Memory Map Die Memory Map des Controllers wird von TwinPEEKs wie folgt initialisiert (Achtung - z.T. abweichend von den Reset-Defaults!): HCS12TB.DP512 Start Ende Belegung $0000 $03FF Steuerregister 1KB (von 4KB) EEPROM $0400 $07FF (die unteren 1024 Bytes sind durch die Steuerregister...
Benutzerhandbuch Anhang Literatur [1] Kreidl, Kupris, Thamm: Mikrocontroller-Design Hardware- und Software-Entwicklung mit dem 68HC12/HCS12; Carl Hanser Verlag; 2003 S-Record Format Das von Motorola publizierte S-Record Format ist ein Dateiformat zur Definition von Objektdateien (Maschinencode, Executables) unter Verwendung einer textuellen (ASCII-) Notation, die es erlaubt, diese Objektdateien mit jedem beliebigen Texteditor zu betrachten oder zu ändern.
Seite 42
HCS12 T-Board Im Feld CS ist eine Prüfsumme enthalten. Sie wird gebildet aus den Werten der Zeichenpaare der Felder LEN, ADDR und DATA. CS ist das (niederwertigste Byte des) Einerkomplement der Summe aller vorgenannten Werte. EOL schließlich steht symbolisch für den durch CR, LF ($0D, $0A) gebildeten Zeilenvorschub.
Benutzerhandbuch EMV Hinweise Die Baugruppe entspricht den EMV-Vorschriften. Zur Stromver- sorgung ist sie an einer Batteriespannungsquelle mit 5,0 Volt (Einhal- tung der Spannungsgrenzwerte beachten!) oder an ein Netzteil mit CE-Kennzeichnung anzuschließen. Der Einsatz einer Mikrocontroller- platine geht stets einher mit einer mehr oder minder umfangreichen Modifikation der Baugruppe (spezielle Firmware, angeschlossene Peripheriebauteile).