Home
HC12compact V1.0 Benutzerhandbuch (dt.) [PDF/1394KB]
Contents
1. 42 HC12compact Monitorkommandos Analog Digital Converter Syntax A F hrt Messungen auf allen Kan len des A D Wandlers durch und zeigt die Ergebnisse fortlaufend an Abbruch mit beliebiger Taste Neben den eigentlichen A D Kan len 0 bis 10 werden auch die internen Referenzkan le 11 Vref 2 12 Vref und 13 GND angezeigt Der Wertebereich ist jeweils 0000 bis OFFF 12 Bit 0000 entspricht OV SOFFF entspricht 4 095V Der Befehl erfordert keine Argumente A Zeigt fortlaufend alle ADC Kan le an Dump Memory Syntax D lt AADR gt lt EADR gt Zeigt den Speicherinhalt an In jeder Bildschirmzeile werden 16 Bytes in hexadezimaler Form dargestellt Hinzu kommt die Darstellung der ASCII Interpretation dieser 16 Zeichen Zeichen au erhalb des druckbaren Bereiches 20 bis 7E werden durch einen Punkt ersetzt F r den Befehl sind ein zwei oder kein Argument zul ssig z B D F000 F800 Zeigt den Speicherbereich von F000 bis F7FF an D F000 Zeigt den Speicherbereich ab F000 an Es werden 0040 Bytes angezeigt D Zeigt die n chsten 0040 Bytes an ausgehend von der aktuellen Adresse 43 HC12compact Edit Memory Syntax E lt AADR gt Erm glicht das ndern von Speicherstellen beginnend bei der angegebenen Adresse F r den Befehl sind ein oder kein Argument zul ssig z B E F000 Edit Memory ab F000 E Edit Memory ausgehend
2. File SCI12 A Func Serial I O via the Serial Communication Interface SCIO CPU 68HC12 H include reghc12 inc SCOBD equ SCOBDH SCOCR equ SCOCR1 Func Initialize SCI 9600 Baud 8N1 Polling Mode Args et Dest D i InTESCT ldd 26 19200 Bd std SCOBD ldd 000c 8N1 TE RE std SCOCR A B gt SCOCR1 SCOCR2 rts Func Test if any character available received Args Retn A D Z 1 gt no char A lt gt 0 Z 0 gt char available Dest i testSCI ldaa SCOSR1 read status anda 20 receive data reg full rts returns 0 if no data 20 HC12compact Func Get character from SCI wait for Args Retn A char Dest i getSCI brclr SCOSR1 20 getSCI receive data reg full ldaa SCODRL read out data rts Func Send a character via SCI Args A char Retn Dest putSCI brclr SCOSR1 80 putSCI transmit data reg empty staa SCODRL send data rts rcc EL CL CALO DID a CC CD MC C C CE C T CE i IF Module Der Anschluf von 10 pol IF Modulen serielle Treibermodule bzw Medieninterfaces versch Hersteller ist nicht unmittelbar ber einen entsprechenden Steckverbinder vorbereitet Gleichwohl kann man diese Module am SCI Kanal 1 betreiben indem man die Signale RXD1 TXD1 GND und VCC vom Steckver binder ST4 bezieht Die Br cken BR6 und BR7 sind in diesem Falle offen zu halten 21 HC12compact
3. erfolgen soll und programmiert statt des internen EEPROM den exter nen Flashspeicher Dadurch ist es m glich ein Anwenderprogramm inkl Reset und Interruptvektoren mittels des Monitors in den Flash Speicher zu laden Danach mu man nur noch die Betriebsart auf Normal Expanded Wide Mode umstellen um das Anwenderprogramm in Echtzeit zu starten Schaltet man danach zurtick auf Normal Singlechip Mode startet wieder TwinPEEKs Lassen Sie sich aber nicht verwirren Wenn Sie sich den Speicher bereich F000 bis FFFF z B mittels Memory Dump anschauen sehen Sie den Monitorcode in dem f r die CPU momentan tats chlich sicht baren EEPROM nicht den verdeckten Flash Inhalt Sie k nnen diesen Bereich im Flash dennoch kontrollieren indem Sie die Program Page FF aktivieren Monitor Befehl P Sie finden dann den Adre bereich F000 bis FFFF innerhalb des Program Window von B000 bis BFFF wieder Ports und Steuerregister Nicht alle Ports bzw Steuerregister sind gleicherma en lesbar und schreibbar Ein erfolgreich verlaufener Schreibzugriff kann daher dennoch zu einer Fehlermeldung beim Kontrolllesen f hren Ursache daf r kann sein da evtl von dem betroffenen Register kein R cklesen m glich ist bzw die Belegung des Registers f r Lese und Schreibzu griffe unterschiedlich ist Ein Beispiel daf r sind Interruptflags des HC12 die meistens dadurch gel scht werden indem ein Eins Bit geschrieben wird Autostart F
4. 25 HC12compact File DAC12 A Func HC12 Driver Routines for LTC1454 2ch 12bit DAC i i Copr C 1998 by Oliver Thamm i i SPICODO PHA 1 SPICOD1 PH5 0 initDAC rts pdateDACx pshd movb bclr ldab lslb lslb lslb lslb ldaa lsra lsra lsra lsra aba jsr ldab lslb lslb lslb lslb ldaa anda aba jsr ldaa selects Update both DAC channels Args X points to buffer 4 X 0 1 for DACA X 2 3 50 SPOC PORTH 20 0 x 1 x xfersSPI 1 x 2 X 0f xferSPI IR xferSPI PORTH 30 containing new DAC values for DACB R1 i SPE MSTR CPOL CPHA SPICOD1 L enable SPICS1 send DACA highest 8 Bit send DACA lowest 4 Bit DACB highest 4 Bit send DACB lowest 8 Bit SPICOD0 1 H disable SPI slaves releasing CS will latch new DAC output Der DAC hat eine eingebaute Spannungsreferenz ergibt einen Ausgangspegel zwischen 0 und 4095 mV Diese ist ber BR4 zur ck gef hrt auf die Referenzeingangspins der beiden Kan le Die untere Referenzspannung liegt ber BR3 auf Masse Nach Auftrennen der beiden L tbr cken kann man auch andere Ausgangsbereiche erzielen 26 HC12compact 9 Peripherie am Systembus Der HC812A4 stellt einige Chipselect Signale zur Verfiigung Darunter sind die vier Signale CSO CS3 Port F welche zur Ansteue rung von Peripheriebausteinen vorgesehen sind Signal Adresse Funktion CSO 0200 CAN Controller S
5. Um sicherzustellen da die Baugruppe auch dann den EMV Vor schriften entspricht wenn Verbindungsleitungen zu anderen Ger ten z B Personalcomputer angeschlossen werden oder die Baugruppe vom Kunden selbst mit weiteren Bauteilen nachger stet wird z B Me adapter oder Leistungsendstufen empfehlen wir die Komplette Baugruppe in ein allseitig geschlossenes Metallgeh use einzusetzen Wird ein LC Display angeschlossen ebenfalls auf CE Kennzeich nung achten so darf das Verbindungskabel nicht l nger als 10 cm sein hier ist auf jeden Fall ein Metallgeh use vorzusehen Wenn f r die Programmentwicklung oder die sp tere Anwendung die RS232 Schnitt stelle ben tigt wird so ist ein max 10cm langes Kabel zur Verbindung mit der Anschlu buchse zu verwenden Die geschirmte Anschlu buchse ist fest mit dem Metallgeh use zu verschrauben Extern zur Verbindung verwendete Anschlu kabel m ssen ebenso wie der Hostrechner PC mit dem CE Pr fzeichen versehen sein Es wird darauf hingewiesen da der Anwender selbst daf r verant wortlich ist da eine ver nderte erweiterte mit anderen als vom Hersteller gelieferten IC s best ckte oder mit Anschlu kabeln verse hene Baugruppe den EMV Vorschriften entspricht 54
6. 8 Peripheriebausteine am SPI Bus Uber die SPI Schnittstelle des HC12 werden drei Peripheriebau steine auf der Platine angesprochen Real Time Clock A D Wandler und D A Wandler Die MCU ist stets SPI Master Zur Auswahl der Slaves wird je Slave eine Chipselectleitung ben tigt Die ben tigten SPI Signale MISO MOSI SCK liegen auf Leitun gen des Port S PS4 5 6 des HC812A4 Zur Slave Auswahl werden in der vorliegenden Schaltung die Port H Signale PH4 und PH5 verwendet ber den Dekoder IC6B lassen sich die folgenden vier Zust nde selektieren DHA PH5 Select Leitung selektierter Slave 0 0 SPICSO RTC 1 0 SPICS1 DAC 0 1 SPICS2 ADC 1 1 alle inaktiv keiner PH4 PHS5 H ist der Defaultzustand kein Slave selektiert Beispiele f r die Initialisierung des SPI Moduls des HC12 und einer geeigneten Sende Empfangsfunktion zeigt das folgende Listing Die Initialisierung erwartet keine Argumente die Transferfunktion erwartet das zu sendende Zeichen in Akku A und gibt das empfangene Zeichen ebenda zur ck i File SPI12 A Func HC12 SPI Routines Copr C 1998 by Oliver Thamm SPI Slave Chip Select Decoder SPICODO SPICOD1 PHA PH5 0 0 SPICSO RTC 1 0 SPICS1 DAC 0 1 SPICS2 ADC T 1 none selected initSPI bset PORTH 30 SPICODO 1 PH4 5 H bset DDRH 30 PH4 5 Output 22 HC12compact bset DDRS Se movb 03 SPOBR movb 54 SPOCR1 movb 08 SPOCR2 SS SCK
7. ALCD12 A HC12 Driver Routines for alphanum LC Displays HD44780 based from 1x8 up to 2x40 4x20 characters C 1998 by Oliver Thamm 1 2 07 02 98 defines PosX equ PosXY 0 RAM location PosXY must be PosY equ PosXY 1 defined in the main program Func LCD definitions Rem Modify this according to LCD type used MAX X equ 40 number of characters per line 8 40 MAX Y equ 2 number of lines 1 2 or 4 RowAddrTable dc b 00 DDRAM address for 1st line dc b 40 DDRAM address for 2nd line dc b 10 DDRAM address for 3rd line dc b 50 DDRAM address for 4th line Func Target dependend hardware access functions Rem Modify this according to the actual bus interface LCD CMD equ 0381 LCD DATA equ 0383 write a command byte _writeCmd brset LCD CMD 80 writeCmd nop Staa LCD CMD rts 1 Write g data byte cce ecce _writeData brset LCD CMD 80 writeData nop staa LCD DATA rts Func Initialize LCD Args Betn Poe 2 2222222222222222222222222222222222222222222222222222222 initLCD psha pshy ldy _iniTableStart _iniCmdLoop ldaa 0 y bsr _writeCmd iny cpy _iniTableEnd bne _iniCmdLoop clr PosX clr PosY 30 HC12compact rts _iniTableStart dc b 38 Function Set 8Bit 5x7 dc b 38 dito dc b 0C Display on Cursor off Blink off dc b 01 Clea
8. HC12compact 1 Uberblick HC12compact ist ein universelles Mikrocontrollermodul auf Grundlage des Motorola Mikrocontrollers MC68HC812A4 Neben den umfangreichen M glichkeiten des 16Bit Mikrocontrol lers selbst stehen dem Anwender auf dem HC12compact folgende Peripherieeinheiten zur Verf gung z T optional 512 KB Flash Memory und 256 KB optional 1024 KB RAM Real Time Clock batteriegest tzt Analog Digital Wandler 12 Bit 11 Kan le Digital Analog Wandler 12 Bit 2 Kan le CAN Controller RS232 Schnittstellentreiber akustischer Signalgeber Indikator LED Kompakte Bauweise Halbeuro Formfaktor niedrige Stromauf nahme und einfache Handhabung zeichnen diese Baugruppe aus ebenso die f r den HC12 erh ltliche umfassende Softwareunterst t zung Monitor C Compiler BDM Debugger HC12compact Lieferumfang Die Basisversion der Baugruppe Art Nr HC12CO 1 wird wie folgt geliefert Fertigbaugruppe mit 256 KB RAM und 512 KB Flash Optionen RTC ADC DAC und CAN nicht bestiickt die gew nschten Optionen bitte in jedem Fall zusammen mit dem Board bestellen da es sich um SMT Bauteile handelt seitliche Stiftleisten unbest ckt k nnen vom Anwender je nach Bedarf nach unten oder nach oben weisend eingel tet werden Handbuch mit CD ROM Dokumentation und Software TwinPEEKs Monitorprogramm im EEPROM des HC12 In der voll ausgestatteten Version der Baugruppe Art Nr HC12CO FULL sind folgende Perip
9. HCI 2compact Hardware Ver Benutzerhandbuch 7 Juli 2008 HC12compact Copyright C 1997 2008 by ELMICRO Computer GmbH amp Co KG Hohe Str 9 13 D 04107 Leipzig Telefon 49 0 341 9104810 Fax 49 0 341 9104818 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 Die Haftung des Herstellers ist in jedem Fall auf den Kaufpreis des Produktes beschr nkt Eine Haftung f r eventuelle Mangelfolgesch den wird ausgeschlossen Produkt und Preis nderungen bleiben auch ohne vorherige Ank ndigung vorbehalten Die in diesem Handbuch erw hnten Software und Hardwarebe zeichnungen sind in den meisten F llen auch eingetragene Warenzei chen und unterliegen als solche den gesetzlichen Bestimmungen Es kann aus dem Fehlen einer besonderen Kennzeichnung nicht darauf geschlossen werden da die Bezeichnung ein freier Warenname ist Gleiches gilt f r Rechte aus Patenten und Gebrauchsmustern HC12compact Inhalt Ta berbliek aus nenn 3 Lieferumfang 2 2 8 8 ho Se tr E eta 4 2 Schnellseirt ens pe won aci tete es rear 5 3 Bestuckungsplddt
10. Vers 1 0 Date 14 02 98 E p ET Func Target dependend hardware access functions Rem Modify this according to the actual bus interface CAN ADDR equ 0301 write to this address to select a register CAN DATA equ 0383 read write data from to selected register Func Read CAN Controller Register Args X Register Number 00 1f Retn A Data readSJA1000 stx CAN ADDR 1 ldaa CAN DATA rts Func Write CAN Controller Register Args X Register Number 00 1f z A Data writeSJA1000 stx CAN ADDR 1 staa CAN DATA rts Der eingesetzte CAN Controller von Philips ist nicht unmittelbar f r den Anschlu an den Systembus des HC12 ausgelegt Als Interface hardware sind zus tzlich die Dekoder IC5B und IC6A erforderlich Ein Zugriff wird stets in zei Phasen durchgef hrt Zun chst wird ber CAN ADDR das gew nschte Register Registeradressen siehe Daten blatt zum SJA1000 selektiert Danach kann lesend bzw schreibend auf den Inhalt dieses Registers zugegriffen werden Die Zugriffsadresse ist stets CAN DATA Der CAN Controller kann ber seinen Ausgang INT Systeminter rupts ausl sen Um dieses Feature zu benutzen mu L tbr cke BR6 geschlossen werden Das Interruptsignal kann dann ber PTO des HC12 ausgewertet werden Zwischen CAN Controller und Busleitung ist noch ein Medienin terface zu schalten Der Baustein PCA82C250 ebenfalls Philips ist ein 28 HC12compact g ngiger V
11. RAMTOP 72 KWUH FFDO OB BB dc w RAMTOP 69 KWUJ FFD2 0B BE dc w RAMTOP 66 ATD FFD4 OB Cl dc w RAMTOP 63 7 SCIT FFD6 OB C4 dc w RAMTOP 60 SCIO FFD8 OB C7 dc w RAMTOP 57 SPI FFDA 0B CA dc w RAMTOP 54 Pulse Accu Input Edge FFDC 0B CD dc w RAMTOP 51 Pulse Accu Overflow FFDE OB DO dc w RAMTOP 48 Timer Overflow FFEO OB D3 dc w RAMTOP 45 p ICT FFE2 0B D6 dc w RAMTOP 42 7 TCO FFE4 OB D9 dc w RAMTOP 39 P ICS FFE6 OB DC dc w RAMTOP 36 7 TC4 FFE8 OB DF dc w RAMTOP 33 TCS FFEA 0B E2 dc w RAMTOP 30 5 MEC FFEC OB E5 dc w RAMTOP 27 x TEI FFEE OB E8 dc w RAMTOP 24 Fy TOO FFFO OB EB dc w RAMTOP 21 RTI FFF2 0B EE dc w RAMTOP 18 IRQ KWUD FFF4 OB Fl dc w RAMTOP 15 XIRQ FFF6 OB F4 dc w RAMTOP 12 SWI FEES 0B F7 dc w RAMTOP 9 Illegal Opcode FFFA OB FA dc w RAMTOP 6 COP Fail FFFC OB FD dc w RAMTOP 3 Clock Monitor Fail FFFE F8 00 dc w main Reset 41 HC12compact Memory Map Die folgende Tabelle gibt Auskunft tiber die Speicherbelegung des HC12compact bei Verwendung des TwinPEEKs Monitorprogramms nicht dargestellt sind externe Speicherbereiche Start Ende Speicher Belegung 0800 0A00 Jint RAM Frei f r Anwenderprogramm 0A00 0Axx Jint RAM Monitor Variablen 0Axx 0BB8 Jint RAM Monitor Stack 0BB8 0C00 int RAM Umgeleitete Interruptvektoren F000 0000 lint EEPROM Monitor Code
12. oder Eingabe ohne Argumente z B G F100 Ruft das Unterprogramm bei Adresse F100 auf G F hrt das Unterprogramm an der aktuellen Adresse aus Um die Ausf hrung des Monitorprogramms fortsetzen zu k nnen darf das Anwenderprogramm keine St rungen verursachen Z B sollte das Anwenderprogramm den Stack korrekt wiederherstellen bevor es die Kontrolle an den Monitor zur ckgibt Auch die serielle Schnittstelle SCIO darf nicht neu initialisiert werden wenn der Monitor unbeeinflu t weiterarbeiten soll Dar ber hinaus sollte das Anwenderprogramm alle 45 HC12compact Interruptquellen die es freigibt vor Beendigung auch wieder sperren Eine globale Sperrung der Interrupts mittels SEI darf nicht erfolgen da der interruptgesteuerte serielle Zeichenempfang des Monitors dadurch unterbrochen wird Help Syntax H Gibt einen kurzen Hilfe Text aus Der Befehl erfordert keine Argumente H Zeigt die verf gbaren Kommandos an Flash ID Syntax Zeigt die Device ID des Flash Bausteins an Die Device ID f r den Vorzugstyp 29F400BT lautet 2223 siehe AMD Datenblatt Der Befehl erfordert keine Argumente l Zeigt die Device ID des Flash Bausteins an 46 HC12compact Load S Records Syntax L lt OFFS gt L dt Daten im S Record Format in den Speicher Die erforderli chen Speicheradressen sind in der S Record Datei vermerkt k nnen aber durch Angabe eines Offs
13. MOSI Output SPI Rate ECLK 16 500kHz SPE MSTR CPOL CPHA as default rts xferSPI staa SPODR _xfsl tst SPOSR bpl _xfsl ldaa SPODR rts Real Time Clock Zus tzlich zu den SPI Signalen ben tigt die Real Time Clock Typ RTC4553 von Seiko Epson ein Schreibsignal Hierzu wird PH6 des HC812A4 benutzt Der Defaultzustand ist H Read Selektiert wird die RTC mit PH4 PH5 L Im Listing sind grundlegende Ein Ausgabe Routinen gezeigt h here Funktionen wie z B Uhrzeit setzen lesen sind nicht abgedruckt jedoch auf der beiliegenden Diskette enthalten Da die Programmierung der RTC relativ Komplex ist sollte man diese Beispiele neben dem RTC Datenblatt als Vorlage f r eigene Routinen benutzen i File RTC12 A Func HC12 Driver Routines for RTC4553 Copr C 1998 by Oliver Thamm i i SPICODO PH4 0 selects SPICOD1 PH5 0 the RTC WRRTC PH6 initRTC bset PORTH 40 WRRIC PH6 H bset DDRH 40 PH6 Output rts getRTC movb 5d SPOCR1 SPE MSTR CPOL CPHA LSBF bset PORTH 40 WRRTC H bclr PORTH 30 SPICOD0 1 L enable SPICSO bsr xferSPI send Register Address bar xferSPI receive Data from RTC bset PORTH 30 SPICODO 1 H disable SPI slaves rts putRTC movb 5d SPOCR1 SPE MSTR CPOL CPHA LSBF bclr PORTH 40 WRRIC L bclr PORTH 30 SPICODO 1 L enable SPICSO psha bsr xferSPI Send Register Address Data pula bset PORTH 30 SPICODO 1 H disable SPI slaves
14. X lt SECTOR gt L scht einen einzelnen Sektor des Flash Bausteins Die verwendete Sektoradresse lt SECTOR gt entspricht der Nomenklatur im Datenblatt der 29Fx00 Flash Memories Die Sektoradresse ergibt sich aus den f r das Erase Kommando am Flash Memory anzulegenden Adressen A12 A17 Fehlt die Angabe der Sektornummer wird der ganze Chip gel scht Bulk Erase Zum Schutz vor versehentlichem L schen wird eine R ckfrage an den Benutzer gerichtet Erst nach Eingabe der Best tigung Y wird der L schvorgang ausgef hrt Dies ist die Sektortabelle des Am29F400T inkl Umrechnung in PPAGE Nummern 50 HC12compact Sektor Sektor Speicher PPAGE Addresse Lange Bereich 00 64KB 00000 0FFFF 00 03 08 64KB 10000 1FFFF 04 07 10 64KB 20000 2FFFF 08 0B 18 64KB 30000 3FFFF 0C OF 20 64KB 40000 4FFFF 10 13 28 64KB 50000 5FFFF 14 17 30 64KB 60000 6FFFF 18 1B 38 32KB 70000 77FFF 1C 1D 3C 8KB 78000 79FFF 1E untere H lfte 3D 8KB 7A000 7BFFF 1E obere H lfte 3E 16KB 7C000 7FFFF 1F 51 HC12compact Anhang 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 Eine S Record Datei besteht aus einer beliebigen Anzahl S Records
15. bzw Zeilen Eine jede Zeile hat die folgende logische Struk tur Das Feld ID gibt den S Record Typ an Relevant sind die Typen SI S9 und gelegentlich SO Kommentarrecord Au er dem ID Feld bestehen alle weiteren Felder aus Paaren von Hexziffern beispiels weise A9 55 oder OF Das Feld LEN besteht aus einem derartigen Paar und bestimmt die Anzahl der folgenden Ziffernpaare enth lt die Ziffernpaare der Felder ADDR DATA und CS ADDR ist die Anfangsadresse der Datenbytes dieser Zeile Das Feld besteht aus zwei Byte erst H dann L Byte d h aus zwei Ziffern paaren DATA enth lt die eigentlichen Codebytes die das Maschinenpro gramm bilden DATA umfaft LEN 3 Bytes bzw Zeichenpaare 52 HC12compact Im Feld CS ist eine Priifsumme 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 Ein Beispiel soll die Handhabung verdeutlichen 2000 13A400262741010167CC10FF05C7A501 lt EOL gt Dieser S1 Record definiert 13 3 10 Bytes ab Adresse 2000 des Zielsystems Die Ziffernpaare des DATA Feldes ergeben eine Summe von 04FB Addiert man die 13 aus dem LEN Feld sowie 20 und 00 aus dem ADDR Feld hinzu ergibt sich ein Wert von 052E Das Einerkomplement des LSB 2E ergibt D1 Dies is
16. im Program Memory Window 8000 Als Formel dargestellt w rde das in etwa so aussehen PPAGE Flash Adresse DIV 4000 MCU Adresse Flash Adresse MOD 4000 8000 Das Listing s u zeigt die fertige Flash Schreibfunktion f r den HC12 Vor Aufruf der Funktion mu das PPAGE Register auf die gew nschte Speicherseite gesetzt werden und das Register Y mu mit der MCU Adresse wie in Tabelle 3 geladen sein 18 HC12compact Func Write Flash Word Args Y Destination Address must be even D Word to write i wrFlashWord pshx pshd ldaa PPAGE psha movb 02 PPAGE movw 00aa aaaa movb 01 PPAGE movw 0055 9554 movb 02 PPAGE movw 00a0 aaaa pula Staa PPAGE puld std O y Data Polling Sequence ldx 1000 1000 x 8x 0 125es _wrflcploop cpd 0 y zx PST beq _wrflwdone dex bne wrflcploop _wrflwdone pulx rts GR 1 1 3 Flash Write Algorithmus Die gezeigte Funktion bedient die State Machine des Flashs in der besprochenen Art und Weise und f hrt nach dem eigentlichen Schrei ben einen Toggle Bit Polling genannten Algorithmus aus der dazu dient das Ende der Schreibzeit vom Flash vorgegeben abzuwarten Wer seine kostbare Rechenzeit nicht f r profane Aufgaben wie derlei Polling verschwenden will kann statt dessen auch einen Interrupt auswerten den der Flash generiert sobald er das Schreiben beendet hat Hardwareseitig mu man dazu lediglich das RY BY Sign
17. rts 23 HC12compact Die RTC kann ber einen Alarmtimer einen Interrupt ausl sen z B um den Prozessor nach einer l ngeren unt tigen stromsparenden Schlafphase wieder aufzuwecken Um dieses Feature zu nutzen mu JP6 RTCIRQ gesteckt werden Die RTC wird bei Stromausfall von einer Lithium Zelle E1 gepuffert Der installierte Typ ist auf eine Lebensdauer von mindestens 5 Jahren konzipiert A D Wandler Der A D Wandler Typ TLC2543 von TI verarbeitet 11 Eingangs kan le mit 12 Bit Aufl sung Selektiert wird der ADC mit PH4 L und PH5 H Eine separate Initialisierung des ADC ist nicht notwendig abgesehen von dem Setup des SPI Interface des HC12 s o Der Erfas sungsroutine ist die Nummer des gew nschten Me kanals in Akku A zu bergeben Sie liefert daraufhin den Me wert 12 Stellen signifikant im Doppelakku D zur ck File ADC12 A Func HC12 Driver Routines for TLC2543 11ch 12bit ADC Copr C 1998 by Oliver Thamm SPICODO PH4 0 selects SPICOD1 PHS 1 the ADC initADC nothing to do rts Func Get ADC result Args A Channel 00 0A Special channels 0B VREF 2 800 0C VREF 000 0D VREF SFFF 0E enter power save mode Retn D Value 12 Bit significant GA e 9 9 etADC movb 50 SPOCR1 SPE MSTR CPOL CPHA bclr PORTH 10 SPICODO L enable SPICS2 lsla lsla move channel no to lsla upper 4 bits of control word lsla oraa 0c lower
18. von der zuletzt erreichten Endadresse Der Monitor zeigt daraufhin die aktuelle Belegung der jeweiligen Adresse an und erwartet als Eingabe einen neuen Wert Statt Eingabe eines neuen Wertes kann auch einer der folgenden Befehle eingegeben werden ENTER Zeigt die n chste Speicherstelle an j Zeigt die vorhergehende Speicherstelle an Zeigt die aktuelle Speicherstelle erneut an Beendet den Edit Mode Q Ende wie zuvor Wurde durch den Benutzer ein neuer Wert eingegeben so schreibt der Monitor diesen Wert ggf unter Ber cksichtigung des innerhalb des Flash Bereiches anzuwendenden Programmieralgorithmus in den Speicher und zeigt daraufhin die n chste Speicherstelle an 44 HC12compact Fill Memory Syntax F lt AADR gt lt EADR gt lt BY gt F llt einen Speicherbereich mit dem angegebenen Bytewert F r den Befehl sind drei Argumente erforderlich z B F F000 F800 FF F llt den Speicherbereich von F000 bis F7FF mit dem Wert FF Wenn sich ein Schreibfehler ereignet wird die Funktion an der augenblicklichen Adresse abgebrochen Goto Address Syntax G lt AADR gt F hrt einen Unterprogramm Sprung mittels JSR zur angegebenen Adresse aus Der Monitor gibt eine Meldung aus an welcher Adresse die Programmausf hrung fortgesetzt wird Das Anwenderprogramm kann mittels RTS zum Monitor zur ckkehren F r den Befehl ist ein Argument zul ssig
19. 2 beinhaltet dies wie schon beim HC11 auch die Adre bereiche der Ports und Steuerregister Wichtig Endadressen beziehen sich stets auf das dem Adre bereich folgende nicht enthaltene Byte Der Befehl D 1000 1200 zeigt so z B den Adre bereich von 1000 bis inkl 11FF an Eingaben des Benutzers werden ber einen Zeilenpuffer abgewik kelt G ltige ASCII Zeichencodes liegen im Bereich 20 bis 7E Mittels Backspace 08 kann das Zeichen links des Cursors gel scht werden Die ENTER Taste 0A schlie t die Eingabe ab Schreibzugriffe Flash Memory TwinPEEKs kann auch auf Flash Bereiche schreiben Die Speicherzelle wird zuvor jedoch nicht automatisch gel scht da der Flash Memory blockweise nicht byteweise gel scht werden mu Zum blockweisen L schen wurde das Monitorkommando X implementiert Obwohl der Flash Baustein wortweise 16 Bit organisiert ist kann byteweise geschrieben werden Der Monitor erg nzt Byte Daten entsprechend den Erfordernissen des Flash Bausteins automatisch zu Informationen in Wortbreite Im Bereich F000 bis SFFFF berdeckt der interne EEPROM enth lt das Monitorprogramm den externen Flashspeicherbereich Schreibzugriffe auf den internen EEPROM sind weder sinnvoll noch m glich da der EEPROM schreibgesch tzt ist sobald nach einem Reset die Monitorinitialisierung durchlaufen ist TwinPEEKs erkennt wenn ein Schreibzugriff auf ein Byte im Bereich F000 bis FFFF 39 HC12compact
20. RH ADC VREF von IC11 x BR10 ADC_EOC gt PT1 ADC End Of Conversion Erkennung O BR11 PH3 gt Piezo PH3 treibt Signalgeber O BR12 PT2 gt Piezo PT2 treibt Signalgeber X BR13 RY_FSH gt PT3 Flash Ready Erkennung O Standardeinstellungen O offen X geschlossen HC12compact 5 Steckverbinder BDM12 RES ale VCC n GND ST1 ST3 BKGD DCD RXD TXD DTR ro A fo CT To RI GND ofS n c x sta E S lbs Power Supply 1234 ST2 Dien 748Hc139 19 Herria i SE rrr ST4 STS UCC ep 59 IXD 58 57 PTO 56 p 56 55 PT2 54 PT3 54 53 PT4 52 51 PTS 52 51 PT 50 49 p 50 49 ANRX 48 47 ANRX 48 47 CANTX1 46 45 CANTX 46 45 Ui 44 43 U 44 43 PF6 GND 42 41 PJ 42 41 RD p 40 39 p 40 39 ZLSTRB p 38 37 p D 38 37 p p 36 35 Die 36 35 PJ 34 33 PG4 g 34 33 32 31 P Al 32 31 D I R 30 29 RG A 30 29 A MOSI 28 27 SCK AS 28 27 At MISO 26 25 SPICS2 A 26 25 AS D 24 23 D ZXIRQ 24 23 RESET 22 21 ADCRH 22 21 RZ ADCR 20 19 D ND 20 19 ND AING 18 17 AIN 18 17 AIN2 16 15 AIN3 DBO 16 15 AIN4 14 13 AIN DB2 14 13 AINS 12 11 AIN DB4 12 11 AINS 18 9 AINS De 18 9 GIN 9 8 Z GND DB8 8 Z UQUTB 6 5 UOUTA DB10 6 5 DACR 4 3 DACR DB 4 3 VAN 2 1 GND DB 2 1 10 HC12compact 6 Speicher Speicherinterface Der Anschlu der Speicherbausteine an d
21. RI C28 ca D R13 Cl AM29F 400 R16 Ce opt 18p 10M 18p 434000 100n 100n 4 7k 120 IC3 RAMTYPE 74AHC139 DI P6KE6 Bestiickungsplan HC12compact 4 Jumper und Brucken Jumper JP3 BKGD JP2 MODB JP1 MODA a L B H HL H FL H ln Special Normal Narrow Wide Single Expanded IST CS LEELLELELELLLLLE TTTTTTTTTTTTTTTT JP7 PWRFAIL ME enabled disabled JP6 RTCIRQ E enabled disabled JP4 RESET Reset Switch Lageplan und Belegung der Jumper JP5 RAMTYPE J E 256KB 1024KB HC12compact L tbr cken RXD1 gg BR LL eon a u TXDL BRE p m eri PT2 Piezo PH3 Piezo LA ER13 Pa PT3 RY_FSH PTA INT_CAN I ERS BRIG PT1 ADC EOC eroi Em srs ADCRH ADCRL co me Ba e e DACRH DACRL e Q Lageplan der L tbr cken auf der Platinenunterseite HC12compact Br cke Funktion Beschreibung BR1 VDDA HC12 VDDA VCC X BR2 VRH HC12 VRH VCC X BR3 DACRL DAC XA B GND X BR4 DACRH DAC REFHA B REFOUT X BR5 INT_CAN gt PTO CAN Interrupt Erkennung O BR6 TXD1 TXD1 treibt DTR O BR7 RXD1 DSR treibt RXD1 O BR8 ADCRL ADC VREF GND x BR9 ADC
22. Wide Mode den Wert F0 Folgende Tabelle zeigt die Belegung dieses Registers Bit Name Funktion 7 SMODN entspr BKGD nach Reset 6 MODB entspr MODB nach Reset 5 MODA entspr MODA nach Reset 4 ESTR E Clock gestreckt 3 IVIS Interne Zugriffe extern sichtbar 2 0 stets 0 1 EMD Port D emulation 0 EME Pont E Emulation Belegung des MODE Registers Die oberen drei Bit repr sentieren die Betriebsart Gleichzeitig wird in diesem Register das Verhalten des E Clock Bussignals und einiger Settings mit untergeordneter Bedeutung eingestellt Weiter im Programm Nun wird das Port E Assignment Register PEAR initialisiert Port E f hrt einige wichtige Signale f r den exter nen Systembus Die Konfigurationsbits NECLK LSTRE und RDWE konfigurieren das Bus Speicher Interface NECLK mu auf Null gesetzt werden damit der Systemtakt E Clock auf Port E4 ausgegeben wird Das Signal LSTR wird zus tzlich zu AO f r die Ansteuerung der 8 Bit breiten RAMs ben tigt daher mu LSTRE auf Eins gesetzt werden Last but not least ist auch das Read Write Signal f r die angeschlossenen Busteilnehmer beraus hilfreich RDWE gleich Eins sorgt f r die Ausgabe des gew nschten Signals 36 HC12compact Die folgenden Zeilen dienen zur Festlegung der zugeordneten Adre bereiche und des Timings f r die diversen Chip Select Signale Fiir eigene Anwendungen sollte man die gezeigten Einstel
23. al des Flash Bausteins IC2 mit dem interruptf higen Eingang PT3 der MCU verbinden indem man die L tbr cke BR13 schlie t Erg nzend sei noch darauf hingewiesen da die hier verwendeten AMD Flash Bausteine neben dem Embedded Program Algorithm noch eine Reihe weiterer Funktionen kennen Am wichtigsten ist sicher lich der Erase Algorithmus der zum L schen einzelner Sektoren oder des gesamten Chips dient Auch diese L schoperationen f hren die 29Fxxx Bausteine brigens mit einer einzigen Betriebsspannung von 5V aus 19 HC12compact 7 RS232 Schnittstelle Der HC812A4 verfiigt tiber zwei interne asynchrone serielle Schitt stellen SCIO SCI1 Jede Schnittstelle umfaBt zwei Signale RXD TXD Handshakeleitungen sind ggf durch Hinzunahme anderer Portpins zu realisieren Die beiden Schnittstellen sind voneinander weitgehend unabh ngig Dadurch ist es z B m glich das zweite SCI abzuschalten Die beiden freiwerdenden Leitungen k nnen nun als Handshakeleitun gen f r SCIO verwendet werden hierzu mu der Benutzer aber entspre chende Software implementieren In vorgenanntem Fall oder aber bei gleichzeitiger Nutzung beider SCI Kan le sind die L tbr cken BR6 und BR7 zu schlie en PS2 bzw PS3 des HC12 werden dadurch mit einem Receiver bzw Transmitter kanal des RS232 Pegelwandlers IC10 verbunden Die Firmware f r das SCI Modul ist relativ unproblematisch wie das folgende Programmierbeispiel beweist
24. bei der Ferti gung des HC12compact stets der TwinPEEKs Monitor im EEPROM abgelegt wird kann der Anwender sofort nach dem ersten Einschalten mit diesem Monitorprogramm arbeiten Im Normal Single Chip Mode ist das externe Businterface zun chst disabled Der Monitor schaltet aber automatisch per Softwarebefehl in den Normal Expanded Wide Mode wodurch die externen Speicher und Peripheriebausteine zug ng lich werden Verf gt man ber ein Background Debug Interface erfolgt der Start i d R im Special Single Chip Mode Nur in dieser Betriebsart ist der Background Debug Mode die Nabelschnur des Controllers vom Start weg aktiv die CPU versucht also gar nicht erst ein Anwender programm zu starten Das ist zu Beginn sehr sinnvoll denn wo kein User Code ist kann man schwerlich ein Programm abarbeiten Ein Irrtum w re es den Jumper f r das BKGD Signal auf Low umzustellen um den Special Single Chip Mode einzustellen Belassen Sie diesen Jumper auf High denn das BDM Pod also das Interface zwischen Host PC und Targetcontroller wird sich um dieses Signal selbst k mmern Jedes BDM Pod ist mit der BKGD Leitung des Targetcontrollers verbunden denn ber diese Leitung findet der Daten austausch der Background Debug Schnittstelle statt Daher ist das Pod auch in der Lage daf r zu sorgen da w hrend und kurz nach Reset dieses Signal auf Low liegt Die MCU startet dann im Special Mode und das Pod kann die BKGD Leitung anschlie end wieder a
25. chreib Lesezugriff auf das gew hlte Register CS1 0300 CAN Controller Register Adresse ausw hlen CS2 0380 Ansteuerung LC Display alphanum bzw univer selles Chipselect verkn pft mit R W und E Clock CS3 0280 freies Chipselect In der Initialisierungsphase des Cotrollers sind die Chipselects je nach Erfordernis zu verl ngern Es ist i d R ratsam den maximalen Stretchingwert 3 E Clocks einzustellen s a Beispiel Startup Initiali sierung Dadurch ergibt sich eine Buszykluszeit von lus bei 16 MHz Quarztakt CAN Controller Zur Vernetzung von Steuerungstechnikkomponenten wird der CAN Bus immer beliebter und l ngst nicht nur in der Automobiltech nik Das CAN Protokoll ist mehrschichtig und bzgl der h heren Schichten in verschiedensten Varianten gebr uchlich Dank der Imple mentierung der hardwarenahen Protokollschichten in dem Stand Alone CAN Controller SJA1000 kompatibel zum Vorg nger PCA82C200 ist es dennoch verh ltnism ig einfach eine zuverl ssige Kommunikation zwischen den Busteilnehmern zu realisieren Zu Einzelheiten der Programmierung von CAN Systemen sei hier aus Gr nden der Komplexit t auf die Fachliteratur verwiesen Im folgenden sollen 27 HC12compact lediglich die grundlegende Kommunikation mit dem CAN Baustein gezeigt werden i File CAN12 A Func HC12 Driver Routines for SJA1000 CAN2 0B Controller Copr C 1998 by Oliver Thamm
26. de auf dem HC12compact main lds StackPtr Init Stack Pointer REM MCU starts in Normal Expanded Wide Mode clr COPCTL Disable Watchdog movb 0c PEAR LSTRE RDWE ECLK movb 3F CSCTLO Enable CSP0 CSD CS3 CS2 CS1 CSO CSD covers 0000 7fff CSPO CSD not stretched CSP1 3x CS0 3 stretched 3x Select Program Page FE Al6E A19E DWEN PWEN PE7 Out LED driver LED on movb 10 CSCTL1 movb 30 CSSTRO movb FF CSSTR1 movb fe PPAGE movb 0f MXAR movb c0 WINDEF movb 80 DDRE movb 00 PORTE Die Initialisierung beginnt mit dem Setzen des Stackpointers Diese Aktion wird h ufig vergessen beraus wichtig ist die n chste Programmzeile denn hier wird der Watchdog deaktiviert Geschieht dies nicht innerhalb von ca 1048 ms ab Reset so wird das System zur ckgesetzt Das Ergebnis ist dann ein periodisches Signal auf der Resetleitung nur leider funktioniert das eigentliche Programm nicht Eine Sekunde ist f r einen Mikrocontroller eine Menge Zeit trotzdem sollte man sich gleich zu Beginn der Initiali sierung um den Watchdog k mmern Vorsicht ist auch deshalb angera ten weil Motorola zuk nftige HC12 Derivate mit einer viel k rzeren 35 HC12compact Watchdog Resetrate starten l t Nur in den Special Modi kann man sich damit Zeit lassen hier ist der Watchdog nach Reset zus tzlich ber das DISR Bit im COPCTL Register disabled Das MODE Register enth lt nach einem Reset im Normal Expan ded
27. en Systembus ist aus Blatt 1 des Schaltplanes separat beigelegt ersichtlich Der Flash Baustein IC2 29F400 von AMD bzw Fujitsu hat eine Kapazit t von 512 KB F r viele Anwendungsf lle w rde auch der kleinere 29F100 mit 128 KB ausreichen Er ist pinkompatibel zum 29F400 hat nur zwei Adre leitungen weniger Adre und Datenleitungen des Flash Memories sind Eins zu Eins mit dem Systembus verschaltet Die Adre leitung AO des Systembusses bleibt frei da der Flashbaustein im 16 Bit Modus betrieben wird Dadurch ist die Numerierung der Adressleitungen am Flashbaustein und am Adre bus um Eins versetzt Der 16 Bit Modus wird an dem AMD Flash mit dem BYTE Pin festgelegt Es ist permanent mit VCC verbunden daran erkennt der Flash die Betriebsart Word Mode Selektiert wird der Flashspeicher ber CE und OE Der CE Pin wird vom Controller ber die Chipselect Leitung CSPO kontrolliert Diese Chipselect Leitung des HC12 ist nach Reset im Expanded Mode bereits aktiv d h die Leitung geht auf Low sobald ein Zugriff im Speicherbereich 8000 bis FFFF stattfindet und keine h herpriorisier ten internen Ressourcen vorgehen Die Schreib Leserichtung wird ber WE und OE gesteuert Das Output Enable Signal wird aus dem negierten R W Signal des Control lers generiert Der Ausgang RY BY kann genutzt werden um das Ende eines Schreibvorganges zu erkennen Hierzu ist eine Verbindung zum Port PT3 des Controllers vorbereitet Schlie t
28. erlogik des HC12 F r die RAMs lassen sich Typen mit 128 KB Standard oder 512KB Option einsetzen Sie sind weitgehend pinkompatibel ledig lich eine der RAM Leitungen mu typspezifisch umgeschaltet werden Je nach RAM Typ erm glicht es JP5 entweder f r 512 KB RAMs die Adressleitung A17 oder f r 128 KB RAMs mit einem zus tzlichen Chipselektsignal das Resetsignal an Pin 30 zu f hren Speicheradressierung Bankswitching Der HC12 verf gt ber einen Speicheradressraum von 64 KB Dadurch ist es m glich codesparende 2 Byte Adressen zu verwenden wie beim HC11 Durch die eingebaute Bankswitching Hardware des HC812A4 lassen sich dar ber hinaus bis zu 4 MB Programmspeicher und bis zu 1 MB Datenspeicher ansteuern Die Paging Hardware wird unterst tzt durch Erweiterungen im Befehlssatz Es stehen spezielle Befehle zum Unterprogrammaufruf und 12 HC12compact zur Rtickkehr zur Verfiigung die die verwendeten Programmspeicher seiten automatisch wechseln Die CALL Instruction arbeitet wie ein JSR Befehl enth lt jedoch als zus tzlichen Parameter die gew nschte Pagenummer Der Wert der bisherigen Programmspeicherseite wird zusammen mit der Returnadresse auf den Stack gebracht Zur R ckkehr bedient man sich dann des Befehls RTC dem Pendant zu RTS Die Speicherseiten f r den Programmspeicher sind 16 KB gro und werden im Adre fenster 8000 bis BFFF eingeblendet Voraussetzung ist nat rlich da das Paging aktivi
29. ert wurde man mu also zuvor einige Initialisierungen vornehmen Die gew nschte Speicherseite wird einfach ber das PPAGE Register gew hlt Dieses Register ist 8 Bit breit und erlaubt somit eine von 256 verschiedenen Speicherseiten zu selektieren F r die Datenspeicherseiten wird das Data Window von 7000 bis 7FFF genutzt Auch hier kann man aus 256 Seiten ausw hlen gesteu ert ber das DPAGE Register Mit 256 Seiten zu je 4 KB ergibt sich ein maximaler Umfang von einem Megabyte Data Memory Spezifische Befehle zur Verwaltung des Datenspeichers gibt es im Gegensatz zum Programmspeicher nicht Der Programmierer mu selbst daf r sorgen im richtigen Moment die richtige Speicherseite einzublenden Ein gro es Problem stellt dies aber nicht dar schlie lich mu nur der entsprechende Wert in das DPAGE Register geschrieben werden Mit einem dritten Fenster namens Extra Window lassen sich nochmals 256 Bl cke zu 1 KB selektieren Inwiefern auch das Extra Window genutzt werden kann soll mu man anhand der geplanten Applikation abw gen Meistens wird man sich wohl eher auf das Paging im Program und oder Data Window beschr nken Die gesamte Generie rung von Chip Selects und Memory Pages ist beim HC812A4 recht leistungsf hig aber auch komplex F r Einzelheiten sei daher auf das Datenbuch Technical Summary von Motorola verwiesen Die Memory Map des HC12compact Einplatinenrechners im Normal Expanded Wide Mode sieht nach geeignete
30. ertreter dieser Gattung Fertige Interfacemodule mit diesem Baustein stellen wir Ihnen auf Anfrage gern bereit LCD Anschlu F r alphanumerische LC Displays hat sich ein Quasi Standard auf Grundlage des Displaycontrollers HD44780 Hitachi etabliert Es gibt viele Hersteller solcher Module z B Philips Seiko Toshiba Batron Picvue Optrex Sharp usw Die meisten dieser Module verf gen ber einen 14 poligen Anschlu nach gleichem Schema In der Tabelle ist die Zuordnung zu den Signalen auf dem Controllermodul eingetragen LCD LCD Funktion HC12compact ST5 Pin Signal Signal Pin 1 VSS Masse GND 19 20 2 VDD 45V VCC 17 18 3 VEE Kontrastspannung 4 RS Register Select A1 32 5 RAN Read Write R W 21 6 JE Enable ENA LCD 38 7 DO Datenbit 0 DBO 16 8 Di Datenbit 1 DB1 15 9 D2 Datenbit 2 DB2 14 10 D3 Datenbit 3 DB3 13 11 D4 Datenbit 4 DB4 12 12 D5 Datenbit 5 DB5 11 13 D6 Datenbit 6 DB6 10 14 D7 Datenbit 7 DB7 9 Es folgt ein Ausschnitt aus den LCD Treiberroutinen siehe Disket te Die Routinen einen vom Hauptprogramm bereitzustellenden Puffer zwei Byte namens PosXY Im Header vergl Beispiel mu zudem 29 HC12compact definiert sein tiber wieviel Zeilen und Zeichen Zeile das Display verf gt G ngig sind Typen mit 2x16 2x20 2x40 und 4x20 Zeichen In der Initialisierungssequenz wird die Betriebsart des LC Displays eingestellt
31. ets verschoben werden F r den Befehl ist maximal ein Argument Offsetangabe zul ssig beispielsweise L L dt eine S Record Datei in den Speicher L E000 L dt eine S Record Datei und verschiebt die enthalte nen Adre angaben um den Offset E000 z B werden Daten aus der S Record Datei im Bereich 1000 bis 10FF in den Speicher von F000 bis FOFF geladen Das PC seitig verwendete Terminalprogramm mu es dem Benut zer erm glichen nach Ausgabe der Meldung Loading des Monitors die gew nschte S Record Datei zu senden Diese Funktion wird in der Terminalsoftware oft als Text bzw ASCII Upload bezeichnet Die gesendeten Zeichen werden vom Monitor nicht geechot Bei Auftreten eines Schreibfehlers bricht die Funktion ab Der Benutzer kann die bertragung nach Verlassen der Upload Funktion durch Eingabe von lt ESC gt beenden Der Monitor verarbeitet S Record Zeilen vom Typ SO S1 und S9 Der Aufbau dieser S Records ist im Anhang ausf hrlich beschrieben Wichtig Beim Laden von S Records direkt in den Flash Memory ist zu beachten da Schreibzugriff eine gewisse Ausf hrungszeit ben tigen Die Daten d rfen nicht schneller gesendet werden als sie der Monitor verarbeiten kann 47 HC12compact Zur Synchronisierung wurde ein einfaches Protokoll implementiert Nach jeder verarbeiteten S Record Zeile sendet der Monitor das Zeichen Stern Damit signalisiert er die Bereitschaft zum Empfa
32. h das PPAGE Register des HC12 selektiert Die erste Speicherseite des Flash Bausteins Flash Adresse 00000 bis 03FFF erscheint nach Schreiben der Pagenummer 00 ins PPAGE Register somit im Program Memory Window MCU Adresse 8000 bis BFFF Zur Bedienung der State Machine muf man diese Rechnung f r die beiden Adressen AAAA und 5554 durchf hren Tabelle 3 zeigt den Embedded Program Algorithm mit den endg ltigen Zugriffsadressen 17 HC12compact Schreib PPAGE MCU Adresse Daten zyklus Register 1 02 8000 2AAA 00AA 2 01 8000 1554 0055 3 02 8000 2AAA 00A0 4 Userpage 8000 Offset Datenwort Tab 3 Embedded Program Algorithm im Paged Memory Userpage und Offset ergeben zusammen die Zieladresse im Flash Memory Ein 29F400 hat eine Gr e von 512KB es gibt also 32 physi kalische Seiten zu je 16 KB Die h chste Seite mit der Nummer 31 ist zus tzlich zu einer eventuellen Einblendung in das Program Memory Window stets im oberen Adre bereich C000 bis FFFF sichtbar Will man diese Seite programmieren stellt man im PPAGE Register Seite 31 1F ein und vermindert alle zu programmierenden Adressen um 4000 Bei allen anderen Seiten ist davon auszugehen daf die Adre lage bei Programmierung wie bei Ausf hrung des Programms identisch ist innerhalb des Program Memory Window Die Useradresse setzt sich dann zusammen aus Userpage und Offset kleiner 4000 plus Anfangsadresse
33. heriefunktionen zus tzlich enthal ten Real Time Clock und LiMn Batterie A D Wandler 12 Bit 11 Kan le D A Wandler 12 Bit 2 Kan le CAN Controller SJA1000 HC12compact 2 Schnellstart Kein Mensch liest gern dicke Handbiicher Daher hier die wichtig sten Hinweise in Kiirze Wenn Sie sich jedoch tiber ein Detail einmal nicht sicher sind dann informieren Sie sich am Besten in den nachfol genden Kapiteln Und so k nnen Sie beginnen berpr fen Sie die Baugruppe zuerst auf offenkundige Trans portsch den Verbinden Sie den Einplatinenrechner via RS232 mit Ihrem PC Hierzu dient ein 1 1 belegtes Flachbandkabel Pin 1 des Pfosten verbinders auf der Platine entspricht Pin 1 des 9 poligen Sub D Verbinders der PC Schnittstelle Starten Sie auf Ihrem PC ein Terminalprogramm wie z B OC Console kostenlos erh ltlich auf unserer Website Stellen Sie die Baudrate auf 19200 Baud Schalten Sie alle zus tzlichen Protokolle aus Schlie en Sie die stabilisierte Versorgungsspannung an den Einplatinenrechner an Vergewissern Sie sich zuvor von der richtigen Spannung und Polarit t 5V GND Daraufhin startet das Monitorprogramm und zeigt eine System meldung an Mit Ausgabe des Promptzeichens erwartet es Ihre Anweisungen HC12compact 3 Bestuckungsplan Ea 4 7k ICE Ec s C5 100n Ic12 TLC2543 ul HC812A4 R5 c9 R11 H2
34. icherbereichen in erster Linie zum Laden und Ausf hren von Anwenderprogrammen innerhalb der Testphase F r TwinPEEKs ist der komplette interne EEPROM Bereich des HC812AA reserviert Zudem ben tigt TwinPEEKs etwa 512 Byte RAM Das Anwenderprogramm wird i d R in einem externen Speicher bereichen RAM oder Flash abgelegt Einzelheiten zur Speicherauftei lung siehe Abschnitt Memory Map Der HC12compact wird f r den Start mit TwinPEEKs auf Normal Single Chip Mode eingestellt siehe Jumperbelegung Die Umschal tung in den Expanded Mode geschieht per Software im Laufe der Initia lisierungssequenz der Monitorfirmware Die Kommunikation mit dem Host PC erfolgt ber die erste serielle Schnittstelle SCIO mit 19200 Baud das bertragungsprotokoll ist 8N1 keine weiteren Protokolleinstellungen notwendig Der HC12compact wird dazu mit 16 MHz Quarztakt betrieben Als Monitorprompt wird die aktuell g ltige Program Memory Page also der Inhalt des PPAGE Registers ausgegeben Notation Alle Zahlenangaben erfolgen hexadezimal ohne weitere Zus tze Gro Kleinschreibung spielt keine Rolle Ein Monitorkommando besteht aus einem einzelnen Buchstaben ggf gefolgt von einer Liste von Argumenten 38 HC12compact Die Argumenteliste enth lt bis zu sechs Adre argumente die voneinander durch Leerzeichen oder Komma getrennt sind Der Adre raum umfa t 64KB die Adressen sind demzufolge maximal 4 stellig hexadezimal Beim HC1
35. le 2 zeigt die neue Belegung Nur die vom Anwender gew nschte Programmieradresse mu nicht korrigiert werden vorausgesetzt man rechnet in Byte Schritten und schreibt Worte Doppelbytes ausschlie lich an gerade Adressen 16 HC12compact Schreibzyklus MCU Adresse Daten 1 AAAA 00AA 2 5554 0055 3 AAAA 00A0 4 Programmieradresse Datenwort Tab 2 Embedded Program Algorithm aus Sicht der MCU Die Notwendigkeit Schreibzugriffe auf den Flash ausschlie lich nur wortweise ausf hren zu k nnen klingt nach einer erheblichen Einschr nkung Eine Anwendung wie z B ein Monitorprogramm kann diese Klippe jedoch leicht umschiffen indem die zu schreibende Einzelbytes automatisch zu Worten aufgef llt werden Hierzu liest man zun chst das Original Wort an der betroffenen Adresse ein ersetzt eine H lfte durch das zu schreibende Byte und schreibt schlie lich das komplette Wort zur ck Nun k nnte man also ein kurzes Test Programm gem Tabelle 2 implementieren und w re schon in der Lage Flash Zellen in circuit zu programmieren aber nur wenn der gesamte 64KB Adre raum der MCU dem Flash Memory gewidmet w re Da dem nicht so ist vergl Memory Map mu man nochmals ein wenig rechnen Innerhalb des Program Memory Window im Adrefbereich von 8000 bis BFFF kann jeder beliebige 16KB gro e Abschnitt des Flash Bausteins eingeblendet werden Diese Abschnitte bzw Speicherseiten werden durc
36. lungen Eins zu Eins bernehmen soweit man nicht spezielle Pl ne hat Das PPAGE Register hat einen Defaultwert von 00 Diesen Wert sollte man auf FE ndern damit nach Einschalten des Paging der gleiche Speicherbereich wie zuvor im linearen Adre modus einge blendet wird In der darauffolgenden Zeile wird im Memory Expansion Assignment Register MXAR festgelegt in welchem Umfang Leitun gen des Port G als zus tzliche Adre leitungen verwendet werden sollen In unserer Schaltung werden die Adre leitungen A16 bis A19 benutzt somit verbleiben die oberen zwei Bits des nur 6 Bit breiten Port G als Universal I O s Schlie lich wird durch das Setzen von zwei Bits im WINDEF Register das Paging f r Programm und Datenspeicher aktiviert An Port E7 ist ein Gatter angeschlossen welches seinerseits eine LED treibt PE7 wird als Ausgang konfiguriert und die angeschossene LED eingeschaltet Damit endet das Initialisierungsbeispiel Schaltplan Damit alle Details gut lesbar bleiben liegt der Schaltplan zwei Seiten A4 separat bei Zusatzinformationen im Web Beim Vorliegen zus tzlicher bzw aktualisierter Informationen zur Hard und Software der Baugruppe ver ffentlichen wir diese auf unserer Website http elmicro com de hcl2compact html 37 HC12compact 12 Monitorprogramm TwinPEEKs Softwareversion 1 3d Allgemeine Hinweise Das Monitorprogramm TwinPEEKs dient neben dem Betrachten und Modifizieren von Spe
37. man die L tbr cke BR13 diese befindet sich wie alle L tbr cken auf der Unterseite der Platine kann man ber den Input Capture Kanal 3 einen Interrupt ausl sen sobald der Flash eine l ngerandauernde Schreib bzw 11 HC12compact L schroutine beendet hat Alternativ zu dieser Hardwarel sung ist es ebenso m glich den Status des Flash Bausteins mittels Toggle Bit Polling herauszufinden Details zu den Algorithmen siehe AMD Daten buch Tats chlich wird meistens diese Softwaremethode bevorzugt In der Schaltung wurde das RAM mit zwei 8 Bit Bausteinen reali siert IC1 deckt die obere H lfte des Datenbus ab IC3 die untere Da nur ein Chipselektsignal f r beide Speicher vorhanden ist wird dieses CSD zun chst mit der Adre leitung AO bzw LSTRB verkn pft um einen der RAMs oder ggf beide anzusprechen Die Verkn pfung erfolgt mit IC15A bzw IC15B Ist AO L wird IC1 selektiert ist LSTRB L wird IC3 selektiert Bei Bytezugriffen entspricht LSTRB stets dem negierten AO Signal Bei Wortzugriffen sind sowohl AO als auch LSTRB Low die beiden RAMs bedienen dann den ganzen Datenbus mit 16 Bit Breite Findet der Wortzugriff an einer ungeraden Adresse statt ist AD LSTRB H Dieser Sonderfall kann aber nur bei Zugriffen auf das interne RAM auftreten welches in der Lage ist Low und High byte gegeneinander auszutauschen Externe Zugriffe finden stets als Aligned Word oder Byte Access statt daf r sorgt die Bussteu
38. nden Ablaufs darf kein zus tzlicher Schreibzugriff auf den Flash Baustein stattfinden sonst wird der Vorgang durch die State Machine abgewiesen In diesem Falle m te man mit Punkt 1 neu beginnen 15 HC12compact Schreibzyklus Flash_Adresse Daten 1 5555 00AA 2 2AAA 0055 3 5555 00A0 4 Programmieradresse Datenwort Tab 1 Embedded Program Algorithm f r den Am29F400 Word Mode Das erscheint zun chst kompliziert dient aber letztlich dazu die Sicherheit gegen versehentliches berschreiben von Speicherzellen zu erh hen Zudem wird das gesamte Timing f r den eigentlichen Programmiervorgang vom Flash Baustein selbst ndig gebildet Dadurch hat man als Anwender dieser Embedded Algorithmen bei ertr glichem Aufwand ein nur noch geringes Risiko sich Fehler einzuhandeln Bevor man den Ablauf gem Tabelle 1 als Software implementieren kann sind noch einige Umrechnungen n tig Im Schaltplan siehe Anhang erkennt man da die Adre leitungen des Flash Bausteins gegen ber dem Adre bus um eins versetzt sind Das ergibt sich einfach aus der Beschaffenheit des Speicherinterface Beim wortweisen Ansprechen des Flash Bausteins ist die Adre leitung AO stets Null Diesem Umstand verdanken wir da die von der State Machine erwar teten Adressen gem Tabelle 1 nicht identisch sind mit denen die man durch den HC12 aussenden mu Aus der Sicht der MCU erscheinen alle Adre werte verdoppelt Tabel
39. ng der n chsten S Record Zeile Viele Terminalprogramme z B das auf unserer Website frei erh ltliche OC Console k nnen diese Minimal protokoll auswerten Alternativ gibt es folgende M glichkeit Die S Record Datei wird mit voller Geschwindigkeit zun chst in den RAM geladen Zur automa tischen Umrechnung der Ladeadressen in den RAM Bereich nutzt man die Offset Option des Ladebefehls Anschlie end wird der Inhalt mit dem Move Kommando in den Flash Bereich kopiert Move Memory Syntax M lt AADR gt lt EADR gt lt ADR2 gt Kopiert den Speicherbereich von lt AADR gt bis lt EADR gt nach lt ADR2 gt Daraus ergibt sich die L nge LEN des zu kopierenden Speicherbereiches mit lt LEN gt lt EADR gt lt AADR gt F r den Befehl sind drei Argumente erforderlich z B M 1000 1800 F000 Kopiert den Speicherbereich von 1000 bis 17FF nach F000 bis F7FF Eventuelle berschneidungen von Quell und Zielbereich werden korrekt behandelt indem das Kopieren entweder mit der niedrigsten oder der h chsten Adresse beginnt Ist die Zieladresse lt ADR2 gt kleiner als die Quelladresse lt AADR gt wird mit steigenden Adresse kopiert andernfalls mit sinkenden Adressen Bei Auftreten eines Schreibfehlers bricht die Funktion ab 48 HC12compact Page Select Syntax P lt PAGE gt Selektiert eine Speicherseite PPAGE Register aus dem Speicher bereich des Flash Memories Die selektierte Page
40. nibble DL 16Bits MSB 1st Unipolar psha save control word jsr xferSPI jsr xferSPI bset PORTH 30 send control word send bits 8 15 ignored by ADC SPICOD0 1 H disable SPI slaves 24 HC12compact H ldaa 100 wait for conversion result _gadcewt deca 4 cyc x 125 ns x 100 50us gt 10ps bne _gadcwt bclr PORTH 10 SPICODO L enable SPICS2 pula restore control word jsr xferSPI get data high tab jsr xferSPI get data low exg a b order h l lsrd lsrd move result 4 bits to the right lsrd lsrd bset PORTH 30 SPICODO 1 H disable SPI slaves rts Der A D Wandler arbeitet mit einer externen Spannungsreferenz von 4096 mV IC11 Ein Schritt entspricht somit 1 mV der Nullpunkt ist bei 0 mV Endwert bei 4095 mV Durch Auftrennen von BR9 und oder BR8 lassen sich auch andere MeDbereiche einstellen Das Ende einer A D Umsetzung vermag der ADC auch ber eine Interruptleitung mitzuteilen Soll diese Funktion genutzt werden ist BR10 zu schlie en Der End Of Conversion Interrupt kann dann via PT1 des HC12 generiert werden D A Wandler Der D A Wandler verf gt ber zwei Kan le mit 12 Bit Aufl sung Zum Einsatz kommt der Typ LTC1454 Linear Technology Auswahl des DAC ber PH4 H und PH5 L Initialisierung entf llt Die beiden DAC Kan le werden stets gleichzeitig aktualisiert daher mu der Ausgaberoutine ein Feld mit den zwei Ausgabeworten insgesamt 4 Byte bereitgestellt werden
41. r Initialisierung wie folgt aus 13 HC12compact ep 4KB 243 64 bzw 256 Seiten 4 KB RAM selektiert durch Register DPAGE 8 bzw 32 Seiten 16 KB Flash selektiert durch Register PPAGE SFFFF Memory Map Die obere H lfte des Speicheradre raumes 8000 bis FFFF wird als Programmspeicher verwendet er wird von dem Flash Memory Baustein bereitgestellt Der Controller benutzt zun chst die obersten 16 KB des Speicherbausteins dies ist gleichzeitig Page FF um den Adre bereich von C000 bis FFFF damit zu f llen Darunter 8000 bis BFFF befindet sich das Program Window In dieses Fenster kann Jede 16 KB Page des Flash Bausteins eingeblendet werden Sinnvoll ist es an diese Stelle standardm ig die Page FE einzublenden denn dann ist das Program Window mit dem selben Speicherbereich belegt wie nach einem Reset und vor der Aktivierung des Program Window In der unteren H lfte des Speicheradre raumes 0000 bis 7FFF ergibt sich folgende Situation Der Bereich ist grunds tzlich mit 32 KB des externen RAM 256 KB bis 1 MB belegt Es gibt jedoch einige 14 HC12compact h her priorisierte Ressourcen die bestimmte externe RAM Adressen verdecken Im Bereich von 0000 bis 01FF liegen die Steuerregister des Controllers danach schlie t sich ein Bereich an bis 03FF der zur Verwaltung von Chipselects f r Peripheriebausteine vorgesehen ist Zwischen 0400 und 07FF
42. r display dc b 06 Entry Set Increment No shift dc b 80 Reset Address counter _iniTableEnd 31 HC12compact 10 Power Management Bei der Auswahl der Bauelemente fiir die Controllerbaugruppe HC12compact wurden solche Typen bevorzugt die eine Suspend bzw Power Down Funktion haben Dadurch k nnen die einzelnen Funkti onsbaugruppen innerhalb wie au erhalb des Controllers gezielt ein bzw ausgeschaltet werden Je nachdem auf welche Funktionen verzichtet werden kann l t sich die Baugruppe mit sehr geringem Strombedarf betreiben Folgende M glichkeiten stehen zur Verf gung e Abschaltung HC12 interner Module z B ADC Timer e Abschaltung des externen Businterface Programm l uft in internen Speicherbereichen des Controllers Optional Einsatz der PLL des Controllers Nutzung der Power Down Modi von ADC DAC CAN Control ler Eine Batteriepufferung der RAM Bausteine ist in Hinblick auf die vielf ltigen M glichkeiten zur Reduzierung der Gesamtstromaufnahme nicht vorgesehen 32 HC12compact 11 Anwendungshinweise In diesem Abschnitt sollen einige Besonderheiten der Programmie rung des HC12 im allgemeinen und der HC12compact Baugruppe im besonderen genannt werden Dieses Hardwarehandbuch kann nur einige spezifische Hinweise geben Die Behandlung allgemeiner Techniken zur Programmierung des Controllers in Assembler bzw Hochsprachen wiirden Umfang und Ziel dieses Handbuchs sprengen Die mei
43. schaut wieder ein St ck externes RAM durch Ab 0800 bis SOBFF liegt das interne RAM 1 KB und berdeckt wiederum den externen Speicherbereich Dann ist Luft bis 1000 dort beginnt der interne EEPROM Bereich 4 KB Ab 2000 bis 6FFF geht es ganz linear mit RAM Adressen weiter Im 4 KB Block von 7000 bis 7FFF liegt das Data Memory Window Mit 1 MB RAM sind bis zu 256 Pages m glich mit 256 KB RAM sind es 64 Pages Bestimmte Seiten die mit den Nummern n 16 bis n 10 wenn n die maximal zur Verf gung stehende Anzahl Seiten bezeichnet sind gleichzeitig im linearen Adrefbereich sichtbar die Abbildung oben soll dies illustrieren Flash Programmierung Im Gegensatz zu einem Lesezyklus bei dem unter Verwendung der angelegten Adresse auf das gew nschte Wort im Speicher Array zugegriffen wird kann man mit einem Schreibzyklus nicht auf den eigentlichen Speicher des Flash Bausteins zugreifen Statt dessen gelan gen die Daten beim Schreiben in das Command Register einer internen State Machine Nur wenn eine bestimmte genau vorgeschriebene Sequenz zu dieser State Machine gelangt l st diese letztendlich den gew nschten Schreibvorgang aus Tabelle 1 zeigt den Ablauf einer solchen Schreibsequenz Embed ded Program Algorithm Die ersten drei Schreibzyklen schalten die interne State Machine frei Erst im vierten Zyklus wird die Program mieradresse und das zu programmierende Datenwort bergeben W hrend dieses vier Zyklen umfasse
44. se erregen 6 4 Jumper und Br cken as 436s soos hated AERE 7 Jumper en i trece Ure e teta 7 Lotbr cken 5 cs eer eR Nee mee ene eek s cn INO CE 8 5 Steckverbinder wuts adresse BERN xS 10 GrSpeicher 224566 ri RET AERE EI PER rs 11 Speicherinterf ce eee ere E ere in Die 11 Speicheradressierung Bankswitching leen 12 Flash Programmierung 15 T R52952eSchniistelle avec ere are 20 IF Module 4 ec eere ree 21 8 Peripheriebausteine am SPI Bus 222222 22 Real Time Clock ch Ai eet IE e eR 23 A D Wan dler xiu i eb ue bue e aa 24 D A Wandler 4 epe p E eR Re Pe RR 25 9 Peripherie am Systembus ccs noe ae 27 GAN Eontioller u ere DEA ee regen 27 LCDb Anschl B Ga Res as re ER 29 10 Power Management EE 32 11 Anwendungshinweise 33 Controller Betriebsarten 33 Power Up Initialisierung 35 HC12compact Schaltplan ern a c ee eg 37 Zusatzinformationen im Web cee eee eee eee eee 37 12 Monitorprogramm TwinPEEKs 38 Allgemeine Hinweise eee 38 Notation 1 25 tod Se ORGS ATE ei 38 Schreibzupgrifie u Ja e o E ceo A ed 39 Autostart Funktion eese 40 Interruptvektoren e eet ee teet orbem Hain 41 Memory Map unse Hanau ea 42 Monitorkommandos 00 eeeee seen ee 43 Ahing oso iiie En tet een ee 52 S Record Format 2 0 00 ccc ee eee ee eee eee he eren 52 EMV EI 451i ted eter ee er 54
45. sten Antworten finden Sie beim leider unerl lichen Studium der Daten und Referenzhandbiichern der Halbleiterhersteller Controller Betriebsarten Die Startbetriebsart des Controllers wird tiber die drei Leitungen MODA MODB und BKCGD festgelegt Folgende Tabelle zeigt alle acht denkbaren Kombinationen s a Jumperbelegung Drei der genannten Modi sind dabei besonders interessant Normal Expanded Wide Mode Normal Single Chip Mode und Special Single Chip Mode MODA MODB BKGD Startbetriebsart Erl uterung 0 0 0 Special Single Chip Background Debugging sofort aktiv kein externes Businterface 1 0 0 Special Expanded Wie Normal Exp Narrow Mode einige Narrow Schutzma nahmen sind jedoch deaktiviert 0 1 0 Special Peripheral Testbetriebsart CPU disabled 1 1 0 Special Expanded Wide Wie Normal Exp Wide Mode einige Schutzma nahmen sind jedoch deaktiviert 0 0 1 Normal Single Chip kein externes Businterface interner EEPROM als Programmspeicher gemappt 1 0 1 Normal Expanded Narrow Externer 8 Bit Datenbus aktiv langsamer als 16 Bit Zugriff 0 1 1 reserviert 1 1 1 Normal Expanded Wide Externer 16 Bit Datenbus aktiv volle Geschwindigkeit m glich Betriebsarten vs MODE Pins 33 HC12compact F r die Entwicklungsphase ist besonders der Normal Single Chip Mode geeignet Der HC812A4 blendet in dieser Betriebsart seinen internen EEPROM im Bereich F000 bis FFFF ein Da
46. t der korrekte Wert f r das Pr fsummenfeld Neben den S1 Records welche die eigentlichen Daten enthalten wird auch der S9 Typ verwendet Dieser Typ beendet eine Serie von S1 Records Abgesehen von dieser Terminierungs Funktion kann in einem S9 Record die Startadresse des Programms vermerkt werden Der Aufbau des S9 Records entspricht dem S1 Typ wobei jedoch das Feld DAT leer bleibt Das Feld ADDR spezifiziert die Startadresse des Programms Ist hier 0000 eingetragen wird angenommen daf die Adresse des ersten geladenen Codebyte gleichzeitig die Startadresse des Programms ist Ein typischer S9 Record sieht wie folgt aus Ls T3 Tae TT 9 ao 53 HC12compact 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 anzuschlieBen Der Einsatz einer Mikrocontroller platine geht stets einher mit einer mehr oder minder umfangreichen Modifikation der Baugruppe spezielle Firmware angeschlossene Peripheriebauteile Der Hersteller kann den vom Kunden geplanten Einsatz der Baugruppe nicht vorhersehen und daher auch keine Vorher sagen ber die EMV Eigenschaften der modifizierten Baugruppe machen Anwender ohne Zugriff auf ein EMV Pr flabor sollten die folgenden Richtlinien beachten die in der Regel eine einwandfreie Funktion der modifizierten Baugruppe gew hrleisten
47. uf den Defaultzustand High zur ckbringen denn das ist die Voraussetzung f r die BDM Kommunikation Anders gesagt Legte man BKGD mit Jumper JP3 permanent auf Low w rde man jeglichen Zugriff ber die BDM Schnittstelle verhindern Der Normal Expanded Wide Mode ist sp testens dann von Interes se wenn man die Programmentwicklung abgeschlossen hat In dieser Betriebsart startet der Controller sofort mit externem Businterface Der Datenbus ist volle 16 Bit breit und die Chipselectleitung f r den Programmspeicher CSPO ist aktiv Das Anwenderprogramm residiert 34 HC12compact im Flash Memory und der interne EEPROM ist in niederen Adre gefil den zu finden n mlich ab 1000 Um vern nftig mit dem HC12com pact arbeiten zu k nnen sind aber auch im Normal Expanded Wide Mode noch etliche Initialisierungen in das Anwenderprogramm einzu bauen Power Up Initialisierung Sobald die Resetleitung des Controllers freigegeben wird holt sich der HC12 die Information wo das Programm des Anwenders beginnt Der Controller liest hierzu den Resetvektor von den Speicherzellen FFFE und FFFF Unmittelbar danach springt er an die dort eingetra gene Startadresse in der Hoffnung der User m ge etwas sinnvolles programmiert haben Jedes Programm beginnt mit einer Reihe von Initialisierungen so verh lt es sich auch beim HC12 Die im Listing s u gezeigte Initiali sierungssequenz zeigt beispielhaft den Programmstart im Expanded Wide Mo
48. unktion Nach Reset und einigen grundlegenden Initialisierungen stellt das Monitorprogramm fest ob die MCU Signale PADO und PHI miteinan der verbunden sind Ist dies der Fall wird nicht das Monitorprogramm weiter abgearbeitet sondern ein Sprung zur Adresse 8000 ausgef hrt Durch diese Funktion ist der Autostart eines bei 8000 beginnenden Anwenderprogramms m glich 40 HC12compact Um die Autostart Funktion zu aktivieren m ssen lediglich die benachbarten Pins 45 PH1 und 47 PADO des Steckverbinders ST5 mittels Jumper verbunden werden Interruptvektoren Die Interruptvektoren des HC12 liegen am Ende des 64 KB umfas senden Adre raumes d h innerhalb des schreibgesch tzten Monitor codes Um dennoch Interruptfunktionen in einem Anwenderprogramm zu erm glichen leitet der Monitor alle Interruptvektoren au er den Resetvektor auf Adressen im internen RAM um Das Verfahren entspricht der Vorgehensweise des HC11 im Special Bootstrap Mode Das Anwenderprogramm setzt den ben tigten Interruptvektor indem es einen Sprungbefehl in den RAM Pseudovektor eintr gt Um z B den SPI Interrupt nutzen zu k nnen mu ein Anwenderprogramm folgende Schritte ausf hren ldaa 06 JMP Opcode staa 0BC7 SPI Pseudo Vector ldd isrFunc Jump Address std 0BC8 SPI Pseudo Vector 1 Der folgende Ausschnitt aus dem Assemblerlisting des Monitors dokumentiert die Adressen der umgeleiteten Interruptvektoren FFCE OB B8 dc w
49. wird in das Program Window ab 8000 eingeblendet Linge 16 KB Die unbenutzten oberen Bits der Pagenummer sind unrelevant Um die letzte Page des 29F400 Flash Bausteins auszuw hlen kann man statt 1F als Pagenummer z B auch FF angeben Wird keine Pagenummer als Argument angegeben gibt der Monitor lediglich die augenblicklich ausgew hlte Pagenummer aus P Zeigt die aktuell selektiert PPAGE Nummer an P 22 Selektiert PPAGE 22 Real Time Clock Syntax T lt HH gt lt MM gt SS DD MM lt YY gt Ohne Angabe von Argumenten werden Uhrzeit und Datum von der Echtzeituhr geladen und angezeigt Setzen der Uhr erfolgt mit dem gleichen Kommando unter Angabe von sechs Argumenten Stunde Minute Sekunde Tag Monat Jahr Die Sekundenangabe wird durch die verwendete RTC nicht ausgewertet wird stets auf Null gesetzt Die Argumente werden als BCD Werte interpretiert T Zeigt die aktuelle Uhrzeit und das Datum an T 14 30 00 18 10 98 Setzt die Uhr auf 14 30 Uhr am 18 Oktober 98 49 HC12compact Digital Analog Converter Syntax V lt CHO gt lt CH2 gt Spricht den Analog Digital Converter an Die beiden Argumente werden auf den DAC Kan len ausgegeben Der Wertebereich ist jeweils 0000 bis OFFF 12 Bit 0000 entspricht OV OFFF entspricht 4 095 V V 800 FFF Gibt 2 048V auf DAC Kanal 0 und 4 095V auf DAC Kanal 1 aus Sektor Bulk Erase Flash Syntax
Download Pdf Manuals
Related Search
Related Contents
MANUALE USO E MANUTENZIONE Unità idraulica in kit Art Archos Titanium 40b 4GB White Plus qu`un Congrès... Plus qu`un Congrès troubleshooting & repair - Red-D Setup and Maintenance 2007 CS 33EDP - Hitachi Koki guía práctica del usuario para la chimenea eléctrica optiflama Ca 7s -BCa 7s Installation and operating instructions Copyright © All rights reserved.
Failed to retrieve file