Home
CardS12 V1.10 Benutzerhandbuch (dt.) [PDF/1187KB]
Contents
1. Fill Memory Syntax F adrl adr2 byte F llt den Speicherbereich ab Adresse adr bis exklusive adr mit dem Wert byte Goto Address Syntax G addr Ruft das Anwenderprogramm ab Adresse addr auf Ein R cksprung zum Monitor ist nicht vorgesehen Help Syntax H Listet eine Kurz bersicht zu allen Monitorkommandos auf 33 CardS12 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 SO Records Kommentarzeilen werden bersprungen S8 bzw S9 Records werden als End of File Markierung erkannt S2 Records verwenden lineare Adressen gem Freescale Empfeh lung Der g ltige Adressbereich startet f r den MC9S12D64 bei 0xF0000 0x3C 16KB und endet bei OxFFFFF 0x40 16 KB 1 Beim Laden in nichtfl chtige Speicher EEPROM Flash mu dieser Speicher zun chst gel scht werden Au erdem ist zu beachten da der Schreibzugriff nur wortweise erfolgen kann Die S Record Daten m ssen ggf entsprechend vorbereitet werden um das Alignment zu gew hrleisten vergl Erl uterung oben Das sendende Terminal z B OC Console mu nach jeder bertra genen S Record Zeile auf die Empfangsbest tigung warten um die bertragungsgeschwindigkeit
2. return TRUE UINT8 getCANO void UINT8 cr while CANORFLG amp BM_RXF 0 wait until CAN RX data pending c CANORXFG 4 save data CANORFLG BM_RXF clear RX flag return c void putCANO UINT16 canid UINT8 c while CANOTFLG BM_TXEO 0 wait until Tx buffer released CANOTXFG 0 canid gt gt 8 destination address CANOTXFG 1 canid amp Oxe0 CANOTXFG 4 c CANOTXFG 12 1 one byte data CANOTXFG 13 0 priority 0 highest CANOTFLG BM_TXEO initiate transfer 27 CardS12 7 Applikationshinweise Verhalten nach Reset Sobald die Resetleitung des Controllers freigegeben wird holt sich die MCU die Information an welcher Adresse das Programm des Anwenders beginnt Der Controller liest hierzu den Resetvektor von den Speicherzellen FFFE und FFFF und springt dann an die dort angegebene Programmadresse Im Auslieferungszustand der CardS12 ist im Flash Bootblock F000 FFFF das Monitorprogramm TwinPEEKs abgelegt Der Resetvektor verweist auf den Beginn dieses Monitorprogramms In Folge dessen startet nach jedem Reset automatisch TwinPEEKs weitere Erl uterungen siehe Monitorbeschreibung Startup Code Jede Controllerfirmware beginnt mit einer Reihe von Anweisungen zur Initialisierung der Hardware Im Fall der CardS12 beschr nken sich die unbedingt notwendigen Initialisierungen auf das Setzen des Stack poi
3. CAN4 errors FF96 3F64 dc w TP_RAMTOP 156 CAN4 wake up FF98 3F67 dc w TP_RAMTOP 153 CAN3 transmit FF9A 3F6A dc w TP_RAMTOP 150 CAN3 receive FF9C 3F6D dc w TP_RAMTOP 147 CAN3 errors FF9E 3F70 dc w TP_RAMTOP 144 CAN3 wake up FFAO 3F73 dc w TP_RAMTOP 141 CAN2 transmit FFA2 3F76 dc w TP_RAMTOP 138 CAN2 receive FFA4 3F79 dc w TP_RAMTOP 135 CAN2 errors FFA6 3F7C dc w TP_RAMTOP 132 CAN2 wake up FFA8 3F7F dc w TP_RAMTOP 129 CANT transmit FFAA 3F82 dc w TP_RAMTOP 126 CANT receive FFAC 3F85 dc w TP_RAMTOP 123 CAN1 errors FFAE 3F88 dc w TP_RAMTOP 120 CANT wake up FFBO 3F8B dc w TP_RAMTOP 117 CANO transmit FFB2 3F8E dc w TP_RAMTOP 114 CANO receive FFB4 3F91 dc w TP_RAMTOP 111 CANO errors FFB6 3F94 dc w TP_RAMTOP 108 CANO wake up FFB8 3F97 dc w TP_RAMTOP 105 FLASH FFBA 3F9A dc w TP_RAMTOP 102 EEPROM FFBC 3F9D dc w TP_RAMTOP 99 SPI2 FFBE 3FA0 dc w TP_RAMTOP 96 SPI1 FFCO 3FA3 dc w TP_RAMTOP 93 BET FFC2 3FA6 dc w TP_RAMTOP 90 BDLC FFC4 3FA9 dc w TP_RAMTOP 87 Self Clock Mode FFC6 3FAC dc w TP_RAMTOP 84 PLL Lock FFC8 3FAF dc w TP_RAMTOP 81 Pulse Accu B Overflow FFCA 3FB2 dc w TP_RAMTOP 78 MDCU FFCC 3FB5 dc w TP_RAMTOP 75 Port H FFCE 3FB8 dc w TP_RAMTOP 72 Port J FFDO 3FBB dc w TP_RAMTOP 69 ATD1 FFD2 3FBE dc w TP_RAMTOP 66 ATDO FFD4 3FC1 dc w TP_RAMTOP 63 SCI1 FFD6 3FC4 dc w TP_RAMTOP 60 SCIO FFD8 3FC7 dc w TP_RAMTO
4. Cards12 Hardware Version 1 10 Benutzerhandbuch 9 August 2007 CardS12 Copyright C 2003 2007 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 Benutzerhandbuch Inhalt Ubbi sr us ee 3 Technische Daten ss 3 Lieferumfang rn ee gene ee oan 5 2 gt Schnellstart EE 7 3 Best ckungsplan 22
5. bis zu 25 MHz Bustakt ber PLL e 64KB Flash e 1KB EEPROM e 4KB RAM CardS12 e 2x SCI asynch serial Interface z B RS232 LIN e 1x SPI synch serial Interface e 1x IIC Inter IC Bus e 1x msCAN Module CAN 2 0A B kompatibel e 8x 16 Bit Timer Input Capture Output Compare 8x PWM Pulse Width Modulator e 16 Kanal 10 Bit A D Wandler e BDM Background Debug Mode Schnittstelle e Spezieller LVI Schaltkreis Reset Controller BDM Anschlu f r Download und Debugging e Zwei serielle Interfaces mit RS232 Treiber ausger stet z B f r PC Verbindung der zweite serieller Port ist auch zur Direkt ansteuerung serieller LC Displays geeignet e Indikator LED e High Speed phys CAN Interfacetreiber e Resettaster e bis zu 87 freie Ein Ausgabeleitungen alle I O Anschliisse sind auf seitliche Steckverbinder herausgef hrt e Betriebsspannung 5V typ Stromaufnahme ca 50 mA e Abmessungen 54mm x 86mm CardS12 DP512 Unterschiede zur D64 Version e MCU MC9S12DP512 e 512KB Flash e 4KB EEPROM es 14KB RAM e drei SPI Module e vier zus tzliche msCAN Module ohne on board Bustreiber Benutzerhandbuch CardS12 XDP5 Unterschiede zur D64 Version e MCU MC9S12XDP512 S12X Controllerfamilie e erweiterter S12X Befehlssatz XGATE Peripheral Coprocessor Super DMA e bis zu 40 MHz Bustakt ber PLL e 512KB Flash 4KB EEPROM e 32KB RAM e sechs SCI Module e drei SPI Module e vier zus tz
6. A Aen Z Sa Pech eke ra 8 4 Jumper und Br cken e 2 8 EE nere 9 Jumper gt 2s fae ee Sites he ai is aaa 9 L tbr cken 3 ii a HN Sa et es 9 5 Mechanische Abmessungen 11 6 Schaltungsbeschreibung 12 Schaltplan ui a2 EE aah aden RENE kan 12 Stromversorgung ooooooooooooooo nennen nenn 12 Reseterzeug ng des tee see series leiter es 14 Takterzeugung und PLL ww eee eee ee eee 15 Betriebsarten BDM Unterstiitzung 17 Integrierter A D Wandler meeer ie o GE o E E G E 17 Integriertes EEPROM cogat ee A Ve e Ke 19 Indikator LED si a ee ae 21 RS232 Schnittstellen u as ee A 21 SPI Bus ua ana ara De 23 GES en TE Be ee Ee 24 CAN Intertace ana gain Hatte 26 7 Applikationshinweise 0 0 cece ee eee ee 28 Verhalten nach Reset 0 0 0 cee eee eee ee eee ee eee 28 Startup E de cuca ee be Se eae oes 28 Zusatzinformationen im Web 0 cee eee eee ee eee 28 CardS12 8 Monitorprogramm TwinPEEKS 2222200 29 Serielle Kommunikation 29 Autostart Funktion 29 Schreibzugriffe auf Flash und EEPROM 29 Redirected Interrupt Vectors 30 Benutzungshinweise oooooo eee eee eee 32 Monitorbefehle gt ges wi asters alent sean Bn ands wee ead aa ea 32 9 Memory Map EE 36 AO A rl 38 Literatur na nr rear sen 38 S Record Format u ee ran een 38 EMV Hinweise 2 0305 deck KEEN ehe are bar 40 Benutzerhandbuch 1 berbl
7. Bereich 20 bis 7E Mittel Backspace 08 kann das Zeichen links des Cursors gel scht werden Die lt ENTER gt Taste 0A schlie t die Eingabe ab Mit dem Monitorprompt wird die aktuell g ltige Program Page also der Inhalt des PPAGE Registers ausgegeben Monitorbefehle Blank Check Syntax B Pr ft ob der gesamte Flash Memory exkl Monitorbereich gel scht ist Falls dies nicht der Fall ist wird die Nummer der ersten Page ausgegeben in ein Byte ungleich FF gefunden wurde Dump Memory Syntax D adrl1 adr2 Anzeige des Speicherinhaltes ab Adresse adr bis Adresse adr2 Ohne Angabe einer Endadresse werden die folgenden 40 Bytes angezeigt Der Inhalt von adr1 wird im Listing hervorgehoben 32 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 Der Monitor erkennt wenn Speicherberei che nur wortweise ver ndert werden k nnen Flash EEPROM und verwendet erwartet in diesem Fall 16Bit Daten Der interaktive Edit Mode kann durch Eingabe von Q beendet werden Weitere Befehle sind lt ENTER gt n chste Adresse vorhergehende Adresse gleiche Adresse Ende wie Q
8. kabel m ssen ebenso wie der Hostrechner PC mit dem CE Zertifizierungszeichen 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 40 Benutzerhandbuch 41 CardS12 42
9. lt sich der HCS12 jedoch wie ein 5V Baustein da an den Ein Ausgabepins Pegelwandler vorhanden sind Eine Ausnahme stellen die Anschl sse f r Oszillator und PLL dar n heres dazu unten Die drei genannten Versorgungsanschlu paare m ssen sorgf ltig entkoppelt werden In unmittelbarer N he der Pins befindet sich daher 12 Benutzerhandbuch je ein 100nF Keramikkondensator C15 C16 C17 dem zus tzlich ein 10uF Elektrolytkondensator parallel geschaltet wird C5 C6 C7 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 Hierzu sind an den Anschlu paaren VDD1 VSS1 VDD2 VSS2 sowie VDDPLL VSSPLL weitere Keramikkapazit ten vorgesehen C19 C20 C21 Eine statische Belastung der internen Betriebsspannung durch externe Schaltungskomponenten ist nicht statthaft Das gilt grunds tz lich auch f r VDDPLL die als Referenzpunkt f r die extern angeschlossene PLL Filterkombination R3 C3 C4 dient In die Dom ne der Versorgungsspannungen f llt auch die Referenzspannung f r die integrierten Analog Digital Wandler Die untere Referenzspannungsgrenze wird ber den Anschlu VRL festge legt welcher hier wie meist blich auf Massepotential liegt Die obere Referenzspannung VRH ist ber d
10. Erreichung h herer Taktfrequenzen bedient man sich der PLL Schaltung des HCS12 Der MC9S12Dxx kann intern mit bis zu 25MHz Bustakt arbeiten wobei die meisten Designs eine Frequenz von 24MHz nutzen denn dies m glicht eine besonders flexi ble Festlegung der SCI Baudraten An den Controllerpin XFC wird eine Tiefpassfilterkombination angeschlossen sie besteht aus den Bauelementen R3 C3 und C4 Ihre Aufgabe ist die Verminderung der Welligkeit des VCO Signals Falls die PLL unbenutzt bleibt Kann XFC mit VDDPLL verbunden werden andernfalls bildet VDDPLL den Bezugspotenzial f r den Filter Die Wahl der Filterkomponenten ist stets ein Kompromiss zwischen Einschwingzeit und Stabilit t der Schleife 5kHz bis 10kHz Bandbreite und ein Dampingfaktor von 0 9 sind gute Startwerte f r die Berechnung Mit einer Quarzfrequenz von 16MHz und einem gew nschten Busclock von 24MHz ergibt sich eine m gliche Auswahl zu R3 4 7k und C3 22nF C4 sollte etwa f nf bis zehn Prozent von C3 betragen hier also 2 2nF Diese Werte sind passend f r eine Referenz frequenz von 1MHz Achtung diese Vorgabe ist in der Beispieldatei S12_CRG H zu definieren Die Einstellung f r das Referenzteilerregi ster ergibt sich zu REFDV 15 und das Synthesizerregister erh lt den 15 CardS12 Wert SYNR 23 Das Kapitel XFC Component Selection im MC9S12DP256B Device User Guide illustriert die erforderlichen Rechenschritte im Detail Das folgende Listing zeigt die erfo
11. Ks verwendet die oberen 4KB CardS12 DP512 0000 03FF Steuerregister 1KB von 4KB EEPROM 0400 07FF die unteren 1024 Bytes sind durch die Steuerregister verdeckt die oberen 2048 Bytes durch das RAM 14KB RAM 0800 3FFF TwinPEEKs verwendet die oberen 512 Bytes 4000 7FFF 16KB Flash identisch mit Page 3E 16KB Flash Page 20 8000 BFFF Page 20 3F mittels PPAGE frei w hlbar 16KB Flash identisch mit Page 3F C000 FFFF TwinPEEKs verwendet die oberen 4KB 36 Benutzerhandbuch Hinweis Bedingt durch ein Erratum des MC9S12DP512 Mask Set 4L00M und fr here ist nicht nur der Monitorcode in der Page 3F sondern zus tzlich auch der Adre bereich B000 bis BFFF in der Page 3B schreibgesch tzt An diese Stelle kann der Monitor demzufolge keinen Usercode laden Der gesamte Flash auch der schreibgesch tzte Bereich kann jedoch jederzeit mit Hilfe eines BDM Tools programmiert werden CardS12 XDP5 0000 07FF Steuerregister 1KB EEPROM Page FE 0800 0BFF page FC bis FF mittels EPAGE frei w hlbar 1KB EEPROM 0C00 OFFF identisch mit EEPROM Page FF 4KB RAM Page FD 1000 1FFF page F8 bis FF mittels RPAGE frei w hlbar 37 CardS12 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 Freescale publizierte S Record Forma
12. P 57 SPIO FFDA 3FCA dc w TP_RAMTOP 54 Pulse Accu A Input Edge FFDC 3FCD dc w TP_RAMTOP 51 Pulse Accu A Overflow FFDE 3FDO dc w TP_RAMTOP 48 Timer Overflow FFEO 3FD3 dc w TP_RAMTOP 45 t ICT FFE2 3FD6 dc w TP_RAMTOP 42 7 TCO FFE4 3FD9 dc w TP_RAMTOP 39 TCS FFE6 3FDC dc w TP_RAMTOP 36 7 TC4 FFE8 3FDF dc w TP_RAMTOP 33 j TES FFEA 3FE2 dc w TP_RAMTOP 30 7 TC2 FFEC JEES dc w TP_RAMTOP 27 5 TCL FFEE 3FE8 dc w TP_RAMTOP 24 TCO FFFO 3FEB dc w TP_RAMTOP 21 RTI FFF2 3FEE dc w TP_RAMTOP 18 IRQ FFF4 3FF1 dc w TP_RAMTOP 15 XIRQ FFF6 3FF4 dc w TP_RAMTOP 12 SWI FFF8 3FF7 dc w TP_RAMTOP 9 Illegal Opcode FFFA 3FFA dc w TP_RAMTOP 6 COP Fail FFFC 3FFD dc w TP_RAMTOP 3 Clock Monitor Fail FFFE F000 dc w main Reset 31 CardS12 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 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
13. S_ECLKDIV set EEPROM Clock Divider Register 19 CardS12 INT8 wrSectEETS UINT16 dest UINT16 src check addr must be aligned 32 bit if UINT16 dest amp 0x0003 return 1 check if ECLKDIV was written if ECLKDIV amp BM_EDIVLD 0 return 2 make sure error flags are reset ESTAT BM_PVIOL BM_ACCERR check if command buffer is ready if ESTAT amp BM_CBEIF 0 return 3 check if sector is erased if dest Oxffff dest 1 Oxffff no go erase sector dest src ECMD EETS_CMD_SERASE ESTAT BM_CBEIF if ESTAT amp BM_PVIOL BM_ACCERR return 4 while ESTAT BM_CBEIF 0 program 1st word dest src ECMD EETS_CMD_PROGRAM ESTAT BM_CBEIF if ESTAT amp BM_PVIOL BM_ACCERR return 5 while ESTAT BM_CBEIF 0 program 2nd word dest 1 src 1 ECMD EETS_CMD_PROGRAM ESTAT BM_CBEIF if ESTAT amp BM_PVIOL BM_ACCERR return 6 while ESTAT BM_CCIF 0 return 0 INT8 writeltemEETS UINT16 item_no void item if item_no gt EETS_MAX_ SECTOR return 7 item_no EETS_START item_no lt lt 2 return wrSectEETS UINT16 item_no UINT16 item INT8 readItemEETS UINT16 item_no void item if item_no gt EETS_MAX_ SECTOR return 7 item_no EETS_START item_no lt lt 2 UINT16 item UINT16 item_no UINT16 item 1 UINT16 item_no 1 retu
14. abung verdeutlichen 2000 132400262741010167CC10FF05C7A501 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 ist der korrekte Wert f r das Pr fsummenfeld Records vom Typ S2 enthalten ebenfalls Daten Im Gegensatz zu S1 Records kommen bei S2 Records 24 Bit Adressen zum Einsatz Demzufolge umfa t das Adressfeld 6 statt 4 Stellen Werden S2 Re cords verwendet um Pagingdaten f r den HC S 12 zu definieren errechnet sich die lineare 24 Bit Adresse wie folgt ADDR24 PAGE 0x4000 OFFSET Neben den S1 und S2 Records welche die eigentlichen Daten enthalten werden S9 bzw S8 Records als End of File Markierung verwendet Abgesehen von dieser Terminierungs Funktion kann in diesen Records die Startadresse des Programms vermerkt werden Der Aufbau des S9 Records entspricht dem S1 Typ S8 analog S9 wobei jedoch das Feld DAT leer bleibt Das Feld ADDR spezifiziert die Startadresse des Programms Ein typischer S9 Record sieht wie folgt aus 39 CardS12 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 Ke
15. ations fOSC 16MHz prescaler 8 gt 1tq 16MHz 8 1 0 5us tBIT tSYNCSEG tSEG1 tSEG2 ltq 13tq 2tq 16tq Bus BUS tBIT 1 125kbps CANOBTRO 0x07 sync jump width ltq br prescaler 8 CANOBTR1 Oxlc one sample point tSEG2 2tq tSEGl 13tq 26 Benutzerhandbuch we are going to use four 16 bit acceptance filters CANOIDAC 0x10 set up acceptance filter and mask register 1 AU BE Te 7 6 5 4 A 2 1 0 7 6 5 4 3 2 1 0 ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 IDO RTR IDE xxx xxx xxx mannan nnn gt we are going to detect data frames with standard identifier 11 bits only so bits RTR bit4 and IDE bit3 have to be clear CANOIDARO idar gt gt 8 top 8 of 11 bits CANOIDAR1 idar amp 0xe0 remaining 3 of 11 bits CANO IDMRO idmr gt gt 8 top 8 of 13 bits CANOIDMR1 idmr amp 0xe0 0x07 remaining 3 bits RTR IDE set up acceptance filter and mask register 2 3 4 just as 1 CANOIDAR6 CANOIDAR4 CANOIDAR2 CANOIDARO CANOIDAR7 CANOIDAR5 CANOIDAR3 CANOIDAR1 CANOIDMR6 CANOIDMR4 CANOIDMR2 CANOIDMRO CANOIDMR7 CANOIDMR5 CANOIDMR3 CANOIDMR1 CANOCTLO amp BM_INITRQ exit Init Mode while CANOCTL1 amp BM_INITAK 0 wait until Normal Mode is established CANOTBSEL BM_TX0 use only TX buffer 0 dee BOOL testCAND void if CANORFLG amp BM_RXF 0 return FALSE
16. auf L Pegel gebracht um Single Chip Mode auszuw hlen BKGD ist ber R7 mit H Pegel verbunden damit die MCU im Normal Single Chip Mode startet Dies ist die bliche Betriebsart zur Abarbeitung von Anwendungsprogrammen Die HCS12 Betriebsart welche f r Download und Debugging genutzt wird heisst Background Debug Mode BDM BDM ist direkt nach Reset aktiv wenn die MCU im Special Single Chip Mode betrie ben wird Dies wird erreicht indem zus tzlich zu MODA und MODB auch die BKGD Leitung w hrend Reset vor bergehend auf L Pegel gebracht wird Zwischen beiden Modi kann man leicht umschalten da sich ledig lich der Resetzustand der BKGD Leitung unterscheidet Ein BDM Pod welches am Steckverbinder X1 angeschlossen wird kann die Umschal tung automatisch vornehmen und macht einen mechanischen Umschal ter berfl ssig Das BDM Pod w re ohnehin notwendig zum BDM ba sierten Download von Software bzw als Debugger gesteuert von Software auf einem Entwicklungs PC Integrierter A D Wandler Der MC9S12Dxx verf gt ber zwei integrierte Analog Digital Wandler Module mit einer Aufl sung von max 10 Bit Beide Module ATDO 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 der CardS12 ab Werk ber BR1 mit VDDA 5V verbunden Durch ffnen der L tbr cke BR1 ist es m glich ber X6 42 eine externe Referenzspannung einzuspe
17. ce Der MC9S12D64 verf gt ber ein integriertes CAN Modul CANO Es kommuniziert ber die Portpins PMO und PMI mit einem on board CAN Interface Chip IC4 welcher das physische Businter face bildet Die CAN Bussignale CANH und CANL sind dann an X2 abzugreifen Wenn das CardS12 Modul der letzte Knoten am CAN Bus ist wird eine Terminierung erforderlich Sie kann durch Verbinden der Pins X2 1 und X2 2 aktiviert werden Wird CANO in der Anwendung nicht benutzt kann der Ausgang Pin4 des Treibers IC4 durch ffnen der L tbr cke BR9 vom Prozessor abgekoppelt werden PMO wie auch PM1 kann dann als zus tzliches universelles I O Portpin verwendet werden zug nglich an X5 41 bzw X5 42 Das folgende Listing illustriert einige grundlegende Basisfunktio nen f r die Kommunikation ber den CAN Bus include datatypes h include lt mc9s12d64 h gt include s12_can h Ji Defines 22222222 7777 7777777777700 Variables nn a E e Ji Code 44T Func initialize CAN Args Retn Note void initCANO UINT16 idar UINT16 idmr CANOCTLO BM_INITRO request Init Mode while CANOCTL1 amp BM_INITAK 0 wait until Init Mode is established set CAN enable bit deactivate listen only mode and use Oscillator Clock 16MHz as clock source CANOCTL1 BM_CANE set up timing parameters for 125kbps bus speed and sample point at 87 5 complying with CANopen recommend
18. einander folgende Einzelbytes zun chst zu einem Wort zusammengefa t werden welches aligned d h auf eine Wortgrenze ausgerichtet sein muss TwinPEEKs ber cksichtigt dies kann jedoch das folgende Problem nicht verhindern Der Monitor verarbeitet S Record Daten stets zeilenweise Falls die letzte belegte Adresse in einer solchen S Record Zeile gerade ist fehlt zun chst das f r die Wort Programmierung erforderliche zweite Byte 29 CardS12 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 Es kommt zu einem Schreibfehler not erased Es ist daher notwendig S Record Daten vor der Programmierung auf gerade Adressen auszurichten Hierzu kann z B das frei erh ltliche Freescale Tool SRECCVT verwendet werden SRECCVT m 0x00000 Oxfffff 32 o lt outfile gt lt infile gt Die Syntax ist im SRECCVT Reference Guide PDF beschrieben Redirected Interrupt Vectors Die Interruptvektoren des HCS12 liegen am Ende des 64KB 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 u
19. en Peripheriechips SPIO umfasst die Leitungen MISO MOSI SCK und SS das sind die MCU Portleitungen PS4 bis PS7 Diese Signale werden in der Schaltung der CardS12 selbst nicht benutzt sind aber an den seitlichen Stiftleisten pr sent Das folgende Listing zeigt die Basisfunktionen Initialisierung 8 Bit Datentransfer f r den SPI Port SPIO ohne Ber cksichtigung von Chipselect Signalen include datatypes h include lt mc9s12d64 h gt include s12_spi h void initSPIO UINT8 bauddiv UINT8 cpol UINT8 cpha DDRS 0xe0 SS SCK MOSI Output SPIOBR bauddiv set SPI Rate enable SPI Master Mode select clock polarity phase SPIOCR1 BM_SPE BM_MSTR cpol BM_CPOL 0 cpha BM_CPHA 0 SPIOCR2 0 as default UINT8 xferSPIO UINT8 abyte while SPIOSR amp BM_SPTEF 0 wait for transmitter available SPIODR abyte start transfer write data while SPIOSR amp BM_SPIF 0 wait until transfer finished return SPIODR read back data received 23 CardS12 IIC Bus An den Pins PJ6 und PJ7 bietet der MC9S12Dxx bei Bedarf einen Inter IC Bus 11C 12C PC Anschlu Diese Funktion wird von einem integrierten Hardwaremodul des Controllers unterst tzt eine 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 Wenn diese nicht bereits au erhalb des Contro
20. ensator C14 festgelegt wird Bei 100nF betr gt der Delay ca 50 80ms Es ist wichtig zu bemerken dass diese Impulsverl ngerung nur bei einem Power On Reset wirksam wird Die MCU internen Resetimpulse werden von IC2 hingegen nicht gedehnt denn sonst w re die MCU nicht mehr in der Lage die korrekte Resetquelle zu ermitteln Die Konsequenz w re sonst u U ein Programmabsturz durch die Verwen dung eines falschen Resetvektors Es ist daher ebenso wichtig niemals gr ere Kapazit ten an die Resetleitung des HCS12 anzuschliessen denn der resultierende Effekt w re der selbe 14 Benutzerhandbuch Takterzeugung und PLL Der On Chip Oszillator des MC9S12Dxx Kann den prim ren Takt OSCCLK mit Hilfe eines Quarzes Q1 erzeugen der an die Pins EXTAL und XTAL angeschlossen wird Die gew hlte Quarzfrequenz sollte 16 MHz nicht berschreiten Wie blich sind zwei Lastkapazit ten C1 C2 und ein Widerstand R15 Teil der Oszillatorschaltung Die Anordnung entspricht einer Standard Pierce Konfiguration wie sie auch beim HC11 und den meisten HC12 Typen verwendet wurde Auf der CardS12 finden sorgf ltig ausgew hlte Quarze und Oszilla torkomponenten Verwendung Dar ber hinaus wurde beim Design besonders auf die Minimierung von parasit ren Kapazit ten geachtet die sich nachteilig auf die Qualit t der Signale EXTAL und XTAL auswirken k nnten Mit einem OSCCLK von 16 MHZ ergibt sich ein Default Bustakt ECLK von 8 MHz Zur
21. handbuch Func Issue IIC Restart Condition Args Bern void restartIIC void IBCR BM_RSTA issue RESTART condition Func Issue IIC Stop Condition Args Bern void stopIIC void IBCR BM_IBEN back to slave mode issue STOP cond Func Transmit byte via IIC Args bval data byte to transmit Retn if stat 0 then IIC_ACK else IIC_NOACK UINT8 sendIIC UINT8 bval UINT8 stat IBCR BM_IBEN BM_MSSL BM_TXRX still transmit mode still master IBDR bval transmit byte while IBSR amp BM_IBIF 0 wait for transfer done i CAUTION no loop time limit implemented stat IBSR amp BM_RXAK mask ACK status 0 ACK IBSR BM_IBIF clear IB Intr Flag return stat Func Receive byte from IIC Args ack IIC_ACK IIC_NOACK Retn byte received UINT8 receiveIIC UINT8 ack UINT8 bval IBCR BM_IBEN BM_MSSL receive mode still master if ack IIC_ACK IBCR BM_TXAK set TXAK to respond with NOACK bval IBDR dummy read initiates transfer while IBSR amp BM_IBIF 0 wait for transfer done i CAUTION no loop time limit implemented IBSR BM_IBIF clear IB Intr Flag IBCR BM_IBEN BM_MSSL BM_TXRX back to transmit mode still master bval IBDR get received byte return bval Die IC Bussignale stehen an X5 47 48 zur Verf gung 25 CardS12 CAN Interfa
22. ick CardS12 ist ein einfach anzuwendendes Controller Modul im Scheckkartenformat auf Basis der 16 Bit Mikrocontrollerfamilie HCS12 von Freescale Semiconductor ehem Motorola Das CardS12 Modul erleichtert die Evaluierung des Mikrocontrollerbausteins und ist eine schnell verf gbare Kosteng nstige Ausgangsbasis f r die Realisierung kleiner bis mittlerer Serienanwendungen Auf dem Modul CardS12 D64 kommt eine leistungsstarke MCU vom Typ MC9S12D64 zum Einsatz Dieser Mikrocontroller enth lt die 16 Bit HCS12 CPU 64KB Flash 4KB RAM IKB EEPROM und eine gro e Menge integrierter Peripheriefunktionen wie SCI SPI CAN IIC Timer PWM ADC und Input Output Kan le Der MC9S12D64 ist vollst ndig mit 16 Bit breiten internen Datenpfaden ausgestattet Die integrierte PLL Schaltung erm glicht es Performance und Strombedarf auf einfache Weise den jeweiligen Anforderungen anzupassen Weitere CardS12 Modulvarianten sind erh ltlich sie unterscheiden sich hinsichtlich der Controllerausstattung Anstelle der HCS12 MCU MC9S12D64 kommt der HCS12 Typ MC9S12DP512 zum Einsatz oder ein MC9S12XDP512 aus der neuen S12X Familie Die f r die HCS12 Controller erh ltliche umfassende Software unterst tzung Monitor C Compiler BDM Debugger erleichtert die Entwicklung von Embedded Systemen jeglicher Art Technische Daten e MCU MC9S12D64 im LQFP112 Package SMD e HCS12 16 Bit CPU Programmiermodell und Befehlssatz wie beim HC12 e 16 MHz Quarztakt
23. ie L tbr cke BR1 mit VDDA verbun den C18 dient hier zur Entkopplung Um die Aufl sung der internen 10 Bit A D Wandler voll auszusch pfen Kann eine externe Referenz spannung eingespeist werden In diesem Fall ist BR1 zu ffnen VRH darf jedoch VDDA niemals bersteigen Der TEST Pin wird nur werkseitig bei Freescale verwendet in Anwenderschaltungen ist dieser Pin stets mit dem Massepotential zu verbinden 13 CardS12 Reseterzeugung RESET ist der bidirektionale L aktive Resetpin der MCU Als Eingang dient er zur Initialisierung der MCU beim Einschalten Als Open Drain Ausgang signalisiert er dass innerhalb der MCU ein Resetereignis stattgefunden hat Die HCS12 MCU enth lt bereits Schal tungen f r Power On Reset COP Watchdog and Clock Monitor Reset Es ist dennoch notwendig zus tzlich einen externen LVI Schalt kreis vorzusehen welcher die Aufgabe hat zuverl ssig Reset auszul sen sobald die Versorgungsspannung der MCU unter den zul ssigen Mindestwert gefallen ist Der LVI Schaltkreis IC2 hat einen Open Drain Ausgang um Kolli sionen mit dem bidirektionalen Resetpin der MCU zu vermeiden Im inaktiven Zustand stellt sich an RESET dank des Pull Up Widerstands R6 H Pegel ein Die Schaltschwelle von IC2 liegt bei typischerweise 4 6V Das ist geringf gig h her als die Mindestbetriebsspannung der MCU 4 5V IC2 ist in der Lage den Resetimpuls auf eine gewisse Mindestl nge auszudehnen die ber den Kond
24. isen Das folgende Beispielprogramm zeigt die Initialisierungssequenz f r das A D Wandler Modul ATDO und eine Routine zum Erfassen des Spannungswertes eines einzelnen Eingangskanals Weitere 17 CardS12 Beispielroutinen f r das integrierte ATD Modul sind in der Quelltext datei S12_ATD C enthalten S12_ATD C V1 00 Ji Includes III a a aa e a a aa include datatypes h include lt mc9s12d64 h gt include s12_atd h Func Initialize ATD module Args Retn void initATDO void enable ATD module ATDOCTL2 BM_ADPU 10 bit resolution clock divider 12 allows ECLK 6 24MHz 2nd sample time 2 ATD clocks ATDOCTL4 BM_PRS2 BM_PRSO Func Perform single channel ATD conversion Args channel 0 7 Retn unsigned left justified 10 bit result UINT16 getATDO UINT8 channel select one conversion per sequence ATDOCTL3 BM_SIC right justified unsigned data mode perform single sequence one out of 8 channels ATDOCTL5 BM_DJM channel 4 0x07 wait until Sequence Complete Flag set CAUTION no loop time limit implemented while ATDOSTATO amp BM_SCF 0 read result register return ATDODRO 18 Benutzerhandbuch Integriertes EEPROM Der interne EEPROM Speicher des MC9S12D64 ist IKB gro und in 256 Sektoren zu je 4 Byte 32 Bit unterteilt Gel scht wird stets sektorweise 4 Byte w hrend die Program
25. liche msCAN Module ohne on board Bustreiber CardS12 Lieferumfang e Controller Modul mit MC9S12D64 CardS12 D64 bzw MC9S12DP512 CardS12 DP512 bzw MC9S12XDP512 CardS12 XDP5 e TwinPEEKs Monitorprogramm im Flash Speicher der MCU e RS232 Anschlu kabel Sub D9 e Randsteckverbinder zwei 50 polige Stiftleisten e Hardwarehandbuch dieses Dokument e Schaltplan e CD ROM enth lt Assemblersoftware verschiedene Datenbl t ter CPU12 Reference Manual Softwarebeispiele C Compiler Demoversion u v m cr LEKTRONT L ADEN 7 QQ Controller Modul CardS12 D64 Benutzerhandbuch 2 Schnellstart Kein Mensch liest gern dicke Handb cher Daher hier die wichtig sten Hinweise in K rze Wenn Sie sich jedoch ber 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 das Controller Modul via RS232 mit Ihrem PC Die Verbindung zwischen CardS12 Schnittstelle SERO Steck verbinder X3 und PC erfolgt ber das mitgelieferte 10 pol Flachbandkabel Starten Sie auf dem PC ein Terminalprogramm Ein einfaches Programm wie OC Console kostenlos auf unserer Website reicht aus Stellen Sie die Baudrate auf 19200 Baud Schalten Sie alle zus tzlichen Protokolle Hard und Softwarehandshake aus Schlie en Sie die stabilisierte Ver
26. llermoduls angesiedelt sind k nnen sie optional direkt auf dem CardS12 Controller Modul best ckt werden R10 R11 Das folgende Listing zeigt eine vereinfachte Master Mode Imple mentierung welche auf die Nutzung von Interrupts verzichtet File S12_IIC C V1 00 Func Simplified I2C Inter IC Bus Master Mode implementation using the IIC hardware module of the HCS12 Rem For a real world implementation an interrupt driven scheme should be preferred See AppNote AN2318 and accompanying software Hard External pull ups on SDA and SCL required Value should be 1k 5k depending on cap bus load Note Adjust IBFD value if ECLK is not 8MHz dier include datatypes h include lt mc9s12d64 h gt include s12_iic h E EE Func Initialize IIC module Args Retn void initIIC void IBFD 0x18 100kHz IIC clock at 8MHz ECLK IBFD Oxlf 100kHz IIC clock at 24MHz ECLK IBCR BM_IBEN enable IIC module still slave IBSR BM_IBIF BM_IBAL clear pending flags just in case Func Issue IIC Start Condition Args Retn void startIIC void while IBSR amp BM_IBB 0 wait if bus busy CAUTION no loop time limit implemented IBCR BM_IBEN BM_MSSL BM_TXRX transmit mode master issue START cond while IBSR amp BM_IBB 0 wait for busy state CAUTION no loop time limit implemented 24 Benutzer
27. m Das Verfahren entspricht der Vorgehensweise des HC11 im Special Bootstrap Mode Das Anwenderprogramm setzt den ben tigten Interruptvektor zur Laufzeit vor der globalen Interruptfreigabe indem es einen Sprung befehl in den RAM Pseudovektor eintr gt Um z B den IRQ Interrupt nutzen zu k nnen mu ein Anwenderprogramm folgende Schritte ausf hren ldaa 06 JMP opcode to staa 3FEE IRQ pseudo vector ldd isrFunc ISR address to std 3FEF IRQ pseudo vector 1 F r C Programme l t sich eine Codesequenz nach folgendem Muster verwenden install IRQ pseudo vector in RAM if running with TwinPEEKs monitor unsigned char 0x3fee 0x06 JMP opcode void void 0x3fef isrFunc 30 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 reserved FF86 3F4C dc w TP_RAMTOP 180 reserved FF88 3F4F dc w TP_RAMTOP 177 reserved FF8A 3F52 dc w TP_RAMTOP 174 reserved FESC 3F55 dc w TP_RAMTOP 171 PWM Emergency Shutdown FF8E 3F58 dc w TP_RAMTOP 168 37 Port F FF90 3F5B dc w TP_RAMTOP 165 CAN4 transmit FF92 3F5E dc w TP_RAMTOP 162 CAN4 receive FF94 3F61 dc w TP_RAMTOP 159
28. mierung wortweise 2 Byte erfolgen kann Lesezugriffe auf den EEPROM erfolgen beliebig also byte oder wortweise Nach Reset ist der EEPROM Bereich im MC9S12D64 ab Adresse 0x0000 gemappt wird jedoch dort 0x0000 0x03FF von den Steuerre gistern berlagert Der selbe EEPROM Bereich ist ein zweites mal ab 0x0400 eingeblendet Der EEPROM Bereich kann zudem in 2KB Schritten verschoben werden INITEE Register Das folgende Beispiel bel t den EEPROM auf der Defaultposi tion in der Initialisierungsroutine wird lediglich der EEPROM Clock Devider entsprechend der Quarzfrequenz der Baugruppe eingestellt Die Schreibfunktion wrSectEETS kopiert zwei Worte 4 Byte von einer beliebigen Quelladresse src auf eine EEPROM Adresse dest letztere mu identisch mit einer EEPROM Sektorgrenze sein aligned 32 bit Ist der Inhalt des Zielsektors nicht gel scht OxFFFFFFFF wird zun chst automatisch ein Sector Erase ausgef hrt Die Zugriffsfunktionen readltemEETS und writeltemEETSO verallgemeinern den EEPROM Zugriff dahin gehend dass nicht mehr mit EEPROM Adressen gearbeitet wird sondern mit einer abstrakten Numerierung von EEPROM Items Jedes dieser EEPROM Items kann 1 bis 4 Byte lang sein A ss asses a sassassssesssssssssss cases sssssssssssssssssssssssssssssss Ji Includes 22222 474777 include datatypes h include lt mc9s12d64 h gt include s12_eets h Ji Code marr a a a AAA void initEETS void ECLKDIV EET
29. mit der Programmiergeschwindigkeit zu synchronisieren Move Memory Syntax M adrl adr2 adr3 Kopiert den Speicherbereich ab Adresse addr1 bis exklusive Adresse addr2 nach Adresse addr3 und folgende 34 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 Erase EEPROM Syntax Y sadr L scht den an Adresse sadr liegenden EEPROM Sektor Ein EEPROM Sektor umfasst ein Doubleword 4 Byte Bit 0 und 1 von sadr sind daher don t care Ohne Angabe von sadr l scht der Befehl den gesamten EEPROM 35 CardS12 9 Memory Map Die Memory Map des Controllers wird von TwinPEEKs wie folgt initialisiert Achtung z T abweichend von den Reset Defaults CardS12 D64 0000 03FF Steuerregister 1KB EEPROM 0400 07FF die oberen 16 Bytes sind stets reserviert 3000 3FFF 4KB RAM Default nach Reset 0000 0FFF TwinPEEKs verwendet die oberen 512 Bytes 4000 7FFF 16KB Flash identisch mit Page 3E 16KB Flash Page 3C 8000 BFFF Page 3C 3F mittels PPAGE frei w hlbar 16KB Flash identisch mit Page 3F C000 FFFF TwinPEE
30. nnzeichnung anzuschlie en 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 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
31. nters Die Abschaltung bzw ggf die geeignete Initialisierung des Watchdogs war bei fr heren HC12 Derivaten zwingend notwendig Beim MC9S12Dxx hingegen ist der Watchdog nach Reset zun chst stets disabled Zusatzinformationen im Web Wenn zus tzliche Informationen zu Hard und Software der CardS12 vorliegen ver ffentlichen wir diese auf unserer Website http elmicro com de cards12 html 28 Benutzerhandbuch 8 Monitorprogramm TwinPEEKs Software Version 2 3 f r HCS12 Serielle Kommunikation TwinPEEKs kommuniziert ber die erste RS232 Schnittstelle SERO 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 PH6 und PH7 miteinander verbunden sind Ist das der Fall springt der Monitor zur Adresse 8000 Durch dieses Feature wird es m glich ein Anwenderprogramm automatisch zu starten ohne den Resetvektor im gesch tzten Flash Boot Block ndern zu m ssen Schreibzugriffe auf Flash und EEPROM Die CPU kann auf alle Ressourcen des Mikrocontrollers byteweise lesend zugreifen Der Speichertyp spielt dabei keine Rolle Bei Schreib zugriffen sind jedoch Besonderheiten zu beachten Flash und EEPROM m ssen vor der Programmierung gel scht werden die Programmierung erfolgt wortweise und der Zugriff muss stets auf eine gerade Wortadres sen stattfinden Deshalb m ssen zwei auf
32. r cken BR6 und BR auf der Platinenunterseite sind in Stellung 1 2 verbunden Default Der PC fungiert als Host das CardS12 Modul bildet die Deviceseite 21 CardS12 Der umgekehrte Fall tritt z B ein wenn ein serielles LC Display am X4 betrieben werden soll Hierbei ist die CardS12 der Host und das LCD Modul tritt an die Deviceseite Die hierzu erforderliche RxD TxD Leitungskreuzung wird realisiert durch Konfiguration der Br cken BR6 BR7 in Stellung 2 3 Gleichzeitig kann durch Schlie en der Br cke BR8 das serielle LCD mit Betriebsspannung versorgt werden Achtung diese Belegung weicht von der RS232 Standardbele gung ab Serielle alphanumerische LC Displays gibt es von einer Vielzahl verschiedener Anbieter Das folgende Codebeispiel zeigt die Ansteuerung von SCIO mittels Polling include datatypes h include lt mc9s12d64 h gt tinclude s12_sci h Ji Code 22222222 O a A e void initSCIO UINT16 bauddiv SCIOBD bauddiv amp Oxlfff baudrate divider has 13 bits SCIOCR1 0 mode 8N1 SCIOCR2 BM_TE BM_RE Transmitter Receiver enable leer a ee EE EE UINT8 getSCIO void while SCIOSR1 amp BM_RDRF 0 return SCIODRL t I I E a ee void putSCIO UINT8 c while SCIOSR1 amp BM_TDRE 0 SCIODRL c 22 Benutzerhandbuch SPI Bus Der MC9S12D64 verf gt ber ein integriertes SPI Modul SPIO zur synchronen seriellen Kommunikation mit extern
33. rderlichen Initialisierungs schritte f r die PLL include lt mc9s12d64 h gt tinclude s12_crg h TE a E 535 3 FE FE FB HH FH FH void initPLL void CLKSEL amp BM_PLLSEL make sure PLL is not in use PLLCTL BM_PLLON BM_AUTO enable PLL module Auto Mode REFDV S12_REFDV set up Reference Divider SYNR S12_SYNR set up Synthesizer Multiplier the following dummy write has no effect except consuming some cycles this is a workaround for erratum MUCTS00174 mask set 0K36N only CRGFLG 0 while CRGFLG amp BM_LOCK 0 wait until PLL is locked CLKSEL BM_PLLSEL switch over to PLL clock Alternativ zur Takterzeugung mit Q1 kann ber den EXTAL Pin des MC9S12Dxx ein externer Takt eingespeist werden Hierzu sind zun chst die Oszillatorkomponenten Q1 C1 C2 R15 zu entfernen Es ist wichtig bei Einspeisung eines externen Taktes auf korrekte Signalpegel 2 5V entsprechend Core Spannung zu achten Achtung Die verschiedenen HCS12 und S12X Typen haben z T abweichende Funktionalit t hinsichtlich des XCLKS Pins der Oszilla torbetriebsarten und der zul ssigen Frequenzbereiche Informieren Sie sich bitte stets in den Datenbl ttern des jeweiligen HCS12 bzw S12X Derivats 16 Benutzerhandbuch Betriebsarten BDM Unterst tzung Drei Pins des HCS12 dienen der Auswahl der MCU Betriebsart MODA MODB und BKGD MODC MODA und MODB werden durch die Widerst nde R1 und R2
34. rn 0 20 Benutzerhandbuch Indikator LED An Portpin PH7 ist eine Indikator LED D2 angeschlossen Die Steuerung der Indikator LED kann durch einige einfache Makros erfol gen wie das folgende Headerfile zeigt ifndef __CARDS12_LED_H define __CARDS12_LED_H EE define initLED PORTH 0x80 DDRH 0x80 define offLED PORTH 0x80 define onLED PORTH 0x80 define toggleLED PORTH 0x80 Function Prototypes 79 9 snr II rs sn module contains no code endif __CARDS12_LED_H RS232 Schnittstellen Der MC9S12Dxx verf gt ber zwei asynchrone Schnittstellen SCIO SCH Jede dieser Schnittstellen umfa t zwei Signalleitungen RXDx TXDx Handshakeleitungen sind nicht Bestandteil der SCI Module des Controllers sie sind ggf durch Einbeziehung zus tzli cher I O Ports zu realisieren Die Signalleitungen der beiden SCI Schnittstellen sind ber die L tbr cken BR2 bis BR5 mit dem RS232 Pegelwandler IC3 verbunden ffnet man diese L tbr cken k nnen die Controllersignale anderweitig verwendet werden Sie werden dazu am Steckverbinder X6 bereitge stellt Der RS232 AnschluB erfolgt ber X3 SCIO Dieser Steckverbin der ist so gestaltet dass durch ein Flachbandkabel mit angecrimpter Sub D9 Buchse eine direkte Verbindung zu einem PC COM Port herge stellt werden kann Dies gilt f r X4 SCI1 analog vorausgesetzt die B
35. sorgungsspannung an den Einplatinenrechner an z B hier Masse an X7 Pin 2 5V an X7 Pin 1 Vergewissern Sie sich zuvor von der richtigen Spannung und Polarit t Daraufhin startet das Monitorprogramm und zeigt eine kurze Systemmeldung an Mit Ausgabe des Promptzeichens erwartet es Ihre Anweisungen Wir w nschen Ihnen viel Erfolg bei Ihrer Arbeit mit der CardS12 CardS12 3 Best ckungsplan 0000000000000000000000000 000000000000000000000000 x5 xi x2 xJo 0 5 amp O o O O Oo O Ets me silo O OO OO x8 a x6 00000000000000000 0000000000000000 Lageplan Best ckungsseite V1 10 0000000000000000000 0000000000000000000 ooon 00000 BRBoooon BR pB BRR BRE H 00000000000000000000 00000000000000000000 L tbr cken auf der Platinenr ckseite V1 10 O O OO OO O O Oo a Benutzerhandbuch 4 Jumper und L tbr cken Jumper Auf dieser Baugruppe sind keine Jumper vorhanden L tbr cken Die folgenden L tbr cken befinden sich auf der Unterseite der Platine vergl Lageplan auf vorhergehender Seite BR1 VRH offen externe Einspeisung VRH erforderlich geschl VRH on board mi
36. t ckungsplan s o dargestellt Alle Angaben zu Bohrungen B beziehen sich auf die Mitte bei Steckverbindern X auf die Lage von Pin 1 za Fei 11 CardS12 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 Die im Text eingestreuten Beispielprogramme dienen lediglich der Demonstration F r die Korrektheit und die Eignung f r eine bestimmte Aufgabe k nnen wir keine Garantie geben Schaltplan Damit alle Details gut lesbar bleiben liegt der Schaltplan im A4 Format separat bei Stromversorgung Der Mikrocontroller IC1 verf gt ber drei Anschlu paare zur Zuf hrung der Versorgungsspannung VDDR VSSR VDDX VSSX und VDDA VSSA Die Betriebsspannung betr gt nominal 5 Volt intern arbeitet der Prozessor jedoch mit 2 5 Volt Der hierzu erforderli che Spannungsregler ist bereits in der MCU integriert VREGEN gibt den internen Spannungsregler frei der Pin ist normalerweise stets mit H Pegel 5V zu verbinden Die Spannungsreduzierung im Core ist in erster Linie erforderlich durch die geringen Strukturbreiten des Fertigungsprozesses 0 25um und kleiner Von au en verh
37. t VDDA VCC verbunden BR2 TIIN offen Portpin TXDO PS1 frei verf gbar geschl TXDO mit RS232 Pegelwandler IC3 verbunden BR3 T2IN offen Portpin TXD1 PS3 frei verf gbar geschl TXDI mit RS232 Pegelwandler IC3 verbunden BRA RIOUT offen Portpin RXDO PSO frei verf gbar geschl RXDO mit RS232 Pegelwandler IC3 verbunden BR5 R2OUT offen Portpin RXD1 PS2 frei verf gbar geschl RXD1 mit RS232 Pegelwandler IC3 verbunden Standardeinstellung CardS12 BR6 BR7 RS232 TxD RxD Select SER1 1 2 RS232 als Device Konfiguriert f r Verbindung zu einem PC 2 3 RS232 als Host konfiguriert f r Verbindung zu seriellem LCD o BR8 LCD Power Supply SER1 offen VCC nicht am RS232 Anschlu SER 1 verf gbar normale Belegung geschl VCC am RS232 Port SER verf gbar Pin9 des Sub D Steckers BR9 RXCANO offen Portpin RXCANO PMO frei verf gbar geschl RXCANO mit CAN Transceiver IC4 verbunden USB Transceiver aus Standardeinstellung 10 Benutzerhandbuch 5 Mechanische Abmessungen Die folgende Tabelle gibt die mechanischen Dimensionen des CardS12 Controller Moduls wieder Die Angaben dienen als Orientie rung beim Entwurf von Tr gerplatinen baugruppen Achtung Angaben stets an den gelieferten Baugruppen nachpr fen keine Haftung f r Druckfehler Die s dwestliche Ecke der Platine bildet den Koordinatenur sprung Die Lage der Platine ist horizontal wie im Bes
38. t 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 bzw Zeilen Eine jede Zeile hat die folgende logische Struk tur Das Feld ID gibt den S Record Typ an Relevant sind die Typen S1 S2 S8 S9 und gelegentlich SO Kommentarrecord Au er dem ID Feld bestehen alle weiteren Felder aus Paaren von Hexziffern beispielsweise A9 55 oder OF Das Feld LEN besteht aus einem derartigen Hexziffernpaar und bestimmt die Anzahl der folgenden Ziffernpaare enth lt die Ziffern paare der Felder ADDR DATA und CS ADDR ist die Anfangsadresse der Datenbytes dieser Zeile Das Feld besteht bei S1 Records aus zwei Byte erst H dann L Byte d h aus zwei Ziffernpaaren DATA enth lt die eigentlichen Codebytes die das Maschinenpro gramm bilden DATA umfa t LEN 3 Bytes bzw Zeichenpaare bei S1 Records LEN 4 bei S2 Records 38 Benutzerhandbuch 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 Ein Beispiel soll die Handh
Download Pdf Manuals
Related Search
Related Contents
Multiquip LS600 User's Manual Web-Server per applicazioni fotovoltaiche LOREX Technology L164P-81 User's Manual [浦和駅市民の窓口(浦)]基準表(PDF形式:41KB) 見積依頼票 7-9 (1)見積書提出期間 平成26年 7月22日(火)12:00 Utica Boilers UB90-100 Operation and Installation Manual C.A 1052 - Chauvin Arnoux ENGLISH DISPLAY APPLIANCES - Sunsky BMP®53 Label Printer Frequently Asked Questions Copyright © All rights reserved.
Failed to retrieve file