Bsp1_TA - Udo Matthias Munz
Transcrição
Bsp1_TA - Udo Matthias Munz
Entwicklung eines neuen Microcontrollerboards für den Unterricht an der Elektronikschule Hubert Weber Technikerarbeit Hubert Weber Seite 1 von 77 ELEKTRONIKSCHULE TETTNANG Technikerarbeit 2005/06 Automatisierungstechnik / Mechatronik Thema der Technikerarbeit Entwicklung eines neuen Microcontrollerboards für den Unterricht an der Elektronikschule Verfasser: Hubert Weber Betreuer: Gunthard Kraus, Oberstudienrat an der Elektronikschule Tettnang Elektronikschule • Oberhofer Straße 25 • 88069 Tettnang Technikerarbeit Hubert Weber Seite 2 von 77 ELEKTRONIKSCHULE TETTNANG Technikerarbeit 2005/06 Datum Technikerarbeit Hubert Weber Unterschrift Seite 3 von 77 ELEKTRONIKSCHULE TETTNANG Ich versichere, dass die Technikerarbeit von mir selbstständig angefertigt und nur die angegebenen Hilfsmittel benutzt wurden. Alle Stellen, die dem Wortlaut oder dem Sinne nach anderen Werken entnommen sind, habe ich durch Angabe der Quellen kenntlich gemacht. Danke allen, die mich bei der Durchführung meiner Technikerarbeit unterstützt haben: Durch ihr Verständnis, durch aufmunternde Worte oder fachliche Ratschläge. Besonderen Dank gilt dem Betreuer meiner Technikerarbeit, Herr Gunthard Kraus, der mich mit seiner Begeisterung für das Thema Microcontroller angesteckt hat und Herr Martin Merkel, der mir ganz selbstverständlich die benötigten Platinen in hervorragender Qualität geätzt hat. Und zu guter letzt meinen netten Nachbarn, die mich mit Eis, Kaffee und kühlen Getränken bei Laune gehalten haben. Technikerarbeit Hubert Weber Seite 4 von 77 ELEKTRONIKSCHULE TETTNANG Danksagung Inhaltsverzeichnis Projektentwicklung 1.1 Ausgangslage 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 Thema der Technikerarbeit Meine Vorerfahrungen Meine Motivation Gliederung der Technikerarbeit Auftraggeber der Technikerarbeit Aufgabenstellung und die Betreuung des Projekts Vorstellung Auftraggeber Zweck des Microcontrollerboards Anwendung im Unterricht Ideale Vorraussetzungen für den Unterricht Aufgabenstellung Herr Kraus Ergänzende mündliche Vereinbarungen Eigene Vorstellungen Besonderheiten im Schulbetrieb Beschreibung des alten Boards Beschreibung der Zusatzplatinen Beschreibung der Keil Entwicklungsumgebung Entwicklungen bei den Mikrocontrollern in den letzten 15 Jahren 1.2 Entwicklung 1.2.1 Auswahl des Controllertyps 1.2.2 Vorschlag Atmel-Controller 1.2.3 Vorschlag Renesas-Controller 1.2.4 Entscheidung 1.2.5 Grobstruktur der Lösung 1.2.6 Entwicklung der Platine 1.2.7 Inbetriebnahme 1.2.8 Erfahrungen im Umgang mit dem Controller und der Entwicklungsumgebung 1.2.9 Anfängerproblem 1.2.10 Erfahrungen 1.2.11 Zeitlicher Ablauf 1.2.12 Entstandene Kosten Technikerarbeit Hubert Weber Seite 5 von 77 8 8 8 8 9 9 9 9 11 11 11 12 12 13 14 14 15 17 19 19 20 21 21 22 23 23 24 ELEKTRONIKSCHULE TETTNANG 1 Fertigungsunterlagen 2.1 Fertigungsunterlagen Alternativcarrier 2.1.1 2.1.2 2.1.3 2.1.4 2.2. 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 Beschreibung Alternativcarrier Bestückungsplan Altenativcarrier Schaltplan Alternativcarrier Stückliste Alternativcarrier Fertigungsunterlagen Microcontrollerboard Konzept Spannungsversorgung: Kurzschlussschutz: Funktionsgruppen der Schaltung Bestückung Schaltplan Funktionsbeschreibung der Schaltung Bestückungsplan Bohrplan Stückliste Aufbau Inbetriebnahme 3 Anleitung zum Arbeiten mit dem R8C/13 Microcontrollerboard 26 27 28 29 30 31 32 32 33 33 35 36 39 40 41 43 43 3.1 Übertragen des Programms vom PC (Host) in den FlashSpeicher des Microcontrollers (Target) 49 3.2 Anleitung für das Renesas-Mikrocontrollerboard 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.2.10 3.2.11 3.2.12 3.2.13 Vorstellung des ELEKTOR- Projekts Komponenten, die man zum Arbeiten benötigt Installationsreihenfolge Vorstellung des R8C/13 Microcontrollerboards Vorstellung des Renesas-Controllers Blockschaltbild Leistungsdaten Speicheraufteilung Ein-Ausgangsports Taktgenerator Erstellen eigener Projekte Inhalte der CD-Technikerarbeit Quellenangaben Technikerarbeit Hubert Weber Seite 6 von 77 58 58 60 62 63 64 65 66 66 69 70 76 77 ELEKTRONIKSCHULE TETTNANG 2 Projektentwicklung Entwicklung eines neuen Microcontrollerboards für den Unterricht an der Elektronikschule Tettnang Technikerarbeit Hubert Weber Seite 7 von 77 ELEKTRONIKSCHULE TETTNANG 1 1.1 Ausgangslage Thema der Technikerarbeit Entwicklung eines neuen Mikrocontrollerboards für den Unterricht an der Elektronikschule Tettnang. 1.1.2 Meine Vorerfahrungen Als Industrieelektroniker war ich einige Jahre in der Entwicklung einer mittelständischen Firma beschäftigt, die Steuerungen für Haushaltsgeräte entwickelt und gefertigt hat. In dieser Zeit (1992-1995) haben Mikrocontroller nach und nach die Aufgaben von analogen Schaltungskreisen und mechanischen Schaltwerken übernommen. Mein Aufgabengebiet war damals Aufbau und Messungen der externen Beschaltungen von mikrocontrollerbasierten Steuerungen. Ich konnte mir in dieser Zeit einige Erfahrungen im Bereich Hardwareentwicklung aneignen. In dem Bereich Softwareentwicklung und Programmierung hatte ich zu diesem Zeitpunkt noch keinen Zugang, da dies zu meiner Ausbildungszeit noch keine allzu große Rolle gespielt hat. Programmierkenntisse in C habe ich mir in den letzten beiden Jahren bei der Weiterbildung zum staatlich geprüften Techniker angeeignet. 1.1.3 Meine Motivation Als Elektroniker habe ich für mich den Anspruch, selbst elektronische Steuerungen entwickeln zu können. Ich kann mir auch sehr gut vorstellen, als Techniker im Bereich Hardwareentwicklung zu arbeiten. Es gibt heute kaum noch elektronische Schaltungen in denen kein Mikrocontroller eingesetzt wird. Die Erfahrungen im Bereich Hardwaredesign mit Mikrocontrollern und entsprechender Programmierung bieten mir sowohl beruflich als auch privat viele Möglichkeiten. 1.1.4 Gliederung der Technikerarbeit Der Inhalt dieser Technikerarbeit besteht aus drei wesentlichen Teilen: • Beschreibung der Projektentwicklung • Bereitstellung der erforderlichen Informationen zum Nachbau des Mikrocontrollerboards • Anleitung zum Arbeiten mit dem Mikrocontrollerboard Ich habe versucht, diese drei Teile inhaltlich zu trennen, damit sowohl die Fertigungsunterlagen als auch die Anleitung zum Arbeiten mit dem Board separat ausgedruckt, bzw. für den Unterricht oder für Projektarbeit verwendet werden können. Technikerarbeit Hubert Weber Seite 8 von 77 ELEKTRONIKSCHULE TETTNANG 1.1.1 1.1.5 Auftraggeber der Technikerarbeit Tel: 07542/9372-0 Fax: 07542/9372-40 E-Mail: [email protected] 1.1.6 Aufgabenstellung und die Betreuung des Projekts : Herr Gunthard Kraus Oberstudienrat an der Elektronikschule Tettnang 1.1.7 Vorstellung Auftraggeber Die Elektronikschule Tettnang ist eine öffentliche berufliche Schule. Die Schule bietet folgende Aus- und Weiterbildungsmöglichkeiten an: Berufsfachschule: Elektrotechnik, Informationselektronik Berufsschule: Informationselektronik, Kommunikationselektronik, Prozeßleitelektronik IT-System-Elektroniker/in, IT-System-Kaufmann/frau, Fachinformatiker/in Informatikkaufmann/frau Berufskolleg 1 jährig: Technik und Medien, Technische Kommunikation Berufskolleg 2 jährig: Elektrotechnik / Automatisierungstechnik, Informations- und Kommunikationstechnik, Industrietechnologie Fachschule: Automatisierungstechnik/Mechatronik, Elektrotechnik, Informationstechnik 1.1.8 Zweck des Microcontrollerboards Verschiedene Klassen der Elektronikschule Tettnang müssen im Fach Informatik die Programmierung in den Programmiersprachen C bzw. Assembler lernen. Bei der hardwarenahen Programmierung ist es sinnvoll die Programme mit einem realen Controller auszutesten, aber auch Kenntnisse vom Hardwareaufbau einer mikrocontrollerbasierten Steuerung zu vermitteln. Des weiteren könnte das Mikrocontrollerboard als Plattform für eine Steuerungsaufgabe als Technikerarbeit verwendet werden. Technikerarbeit Hubert Weber Seite 9 von 77 ELEKTRONIKSCHULE TETTNANG Elektronikschule Tettnang Oberhofer Straße 25 88069 Tettnang 1.1.9 Anwendung im Unterricht 1.1.10 Ideale Vorraussetzungen für den Unterricht Idealerweise hat jeder Schüler sowohl eine Entwicklungsumgebung und ein Zielsystem (Microcontrollerboard) zur Verfügung. Das Übertragen des Programms in das Zielsystem sollte ohne großen Zeitaufwand möglich sein, wenn möglich ohne Programmieradapter. 1.1.11 Aufgabenstellung Herr Kraus Technikerarbeit von H. Weber / FTA04: Neues Mikrocontrollerboard für die EST Problem: Das in unserer Schule eingesetzte und hier auch als Bausatz erhältliche „Compuboard 80C535“ ist in Zwischenzeit vom Konzept her 15 Jahre alt. In dieser Zeit gab es viele Technische Weiterentwicklungen und deshalb soll ein neues Board als Nachfolger entwickelt werden. Folgende Anforderungen werden gestellt: • 8 Bit-Controller mit genügend Ports, einem integrierten A-D-Wandler und einer seriellen Schnittstelle. • Die Programmierung (speziell in C) sollte weiterhin mit der KEILSoftware möglich sein. • Der Controller sollte ein Flash -EPROM enthalten, das über eine passende Schnittstelle vom PC aus mit dem aktuellen Programm geladen werden kann • Das Board sollte wieder preisgünstig zu fertigen sein und vom Schüler selber bestückt bzw. repariert werden können. Falls für den Controller eine SMD -Version eingesetzt wird, sollte er auf eine getrennte kleine Leiterplatte ( z.B. mit einer IC-Fassung als Steckverbinder ) aufgelötet sein. So kann er im Schadensfall ausgetauscht werden, ohne gleich die komplette Platine wegwerfen zu müssen. Technikerarbeit Hubert Weber Seite 10 von 77 ELEKTRONIKSCHULE TETTNANG Der Unterricht besteht in der Regel aus einem Theorieteil in dem einzelne Funktionen erklärt werden und einem Praxisteil in dem die Programme erstellt werden und in den Controller geladen werden. Am Controller kann dann die Funktion getestet werden und gegebenenfalls Messungen mit dem Multimeter bzw. dem Oszilloskop gemacht werden. Oft werden die Programme dann noch erweitert und abgeändert, um die verschiedenen Möglichkeiten der einzelnen Funktionen genauer kennen zu lernen. Im Verlauf einer Unterrichtsstunde werden somit oft 5-10 verschiedene Programmvarianten getestet. Umfang der Arbeit: Auswahl des passenden Controllers • Entwicklung der Schaltung und einer lauffähigen Musterplatine • Entwurf der passenden Platinenkonfiguration zum leichten Wechsel des Controllers und zur einfachen Flash-Möglichkeit. ( siehe Oben) • Erstellung der Unterlagen für die Serienfertigung der Platine (Schaltbild, Layout, Lageplan, Stückliste…) • Erstellen einer Anleitung zum Umgang mit dem Controller. 1.1.12 Ergänzende mündliche Vereinbarungen • Platine sollte die gleichen Abmessungen haben wie das alte Compuboard (113mm x 69mm) • Board soll Pinkompatibel zu den bereits bestehenden Zusatzplatinen Sein • Wenn möglich keine Jumper verwenden ( gehen gerne verloren) 1.1.13 Eigene Vorstellungen Wenn möglich sollte die Platine einseitig sein, damit sie auch in der Schule geätzt werden kann. Dies reduziert die Entwicklungs- und die Herstellungskosten enorm. Viele Desktops und Notebooks haben keine RS232-Schnittstelle mehr. Das Board sollte auch über einen USB- Anschluss geflasht werden können. 1.1.14 Besonderheiten im Schulbetrieb Programmieradapter Um allen Schülern ein effizientes Arbeiten zu ermöglichen ist es notwendig, dass ausreichend Mikrocontrollerboards zur Verfügung stehen und die Programme auch dann in den Controller geladen werden können, wenn die Programmerstellung abgeschlossen wurde. Oftmals ist es notwendig ein Programm mehrmals zu verändern bis es die gewünschte Funktion zeigt. Bei viele Mikrocontrollerfamilien sind spezielle Programmieradapter erforderlich, die das übertragen des Programms vom PC in den Speicher des Controllers erst möglich machen. Im industriellen Entwicklungsbereich stellt dies kein so großes Problem dar, da die Kosten für ein Programmieradapter gemessen an den sonstigen Kosten nicht ins Gewicht fallen. Die Frage des Programmieradapters ist daher für die Industrie kein Auswahlkriterium für einen Mikrocontroller. Für den Schulalltag ist es aber sehr wohl ein Auswahlkriterium, da ein kompletter Satz an entsprechenden Technikerarbeit Hubert Weber Seite 11 von 77 ELEKTRONIKSCHULE TETTNANG • Programmieradaptern zur Verfügung gestellt werden müsste bzw. die entsprechende Hardware mit auf dem Board integriert werden müsste. Im industriellen Umfeld steht dem Entwickler in der Regel Support durch den Halbleiterhersteller oder durch eine Vertriebsfirma zur Verfügung, mit denen spezielle technische Probleme geklärt werden können. Im schulischen Umfeld steht dieser Support nicht oder nur sehr eingeschränkt zur Verfügung, da nicht der entsprechende Absatz zu erwarten ist. Es ist deshalb empfehlenswert, einen Controller auszuwählen, der eine entsprechend große Fangemeinde hat, so dass man sich in den entsprechenden Internetforen Unterstützung und Ratschläge oder auch Programmbeispiele holen kann. Dies ist vor allem auch eine sehr große Hilfe für diejenigen, die mit englischen Datenblättern nicht zurechtkommen bzw. so grundsätzliche Fragen haben, die in diesen Datenblättern gar nicht beantwortet werden. Für die Schule ist es sicher auch wünschenswert, dass diejenigen, die besonderen Spaß an dem Thema Mikrocontrollerprogrammierung haben, dies zuhause weiterverfolgen können und sich die entsprechenden Informationen aus den Foren selber holen. 1.1.15 Beschreibung des alten Boards Das alte Mikrocontrollerboard der Elektronikschule besteht aus dem Mikrocontroller 80C535 der Firma Infineon, einem externen EPROM und einem externen RAM. Es besitzt außerdem eine RS232 Schnittstelle mit einem Max232 Schnittstellenwandler über die das Programm direkt von der RS232- Schnittstelle vom Hostrechner aus in den Speicher des Controllerboards geladen werden kann. Der verwendete Controller hat einen 8051 Kern. Der 8 Bit Datenbus hat 8 Bit, der Adressbus 16 Bit Breite. Port 1, 5 und 4 sind als 8 Bit Ports voll verfügbar, bei Port 3 stehen nur 4 Bits zur freien Verfügung. Der Controller verfügt außerdem über 8 Analogeingänge mit 8 Bit Wandler. 1.1.16 Beschreibung der Zusatzplatinen Folgende Zusatzplatinen sind derzeit im Umlauf: • LED und Tastenplatine • Digital- Analog- Wandlerplatine • Triac -Phasenanschnitts-Steuerung • LCD-Display Zusatzplatine • Relaisplatine (neu) Technikerarbeit Hubert Weber Seite 12 von 77 ELEKTRONIKSCHULE TETTNANG Technischer Support Gemeinsame Standards der Zusatzplatinen Außenmasse: 113,4 mm x 69 mm Befestigungsbohrungen: 4 x 4 mm von Ecke entfernt Bohrungsdurchmesser: 3,5 mm Stecker für Verbindung zu den Ports: Pfostenwanne 2 x 5 polig z.B. Reichelt WSL 10G 20,5 x 9 mm 2,54 mm Abmessungen außen: Raster der Stifte: Steckerwanne von oben betrachtet elektrische Daten: Pegel: TTL (< 0,8 V = low, 2,0 V-5V = high) Pinbelegung: Pin 1: Pin 2: Pin 3: Pin 4: Pin 5: Pin 6: Pin 7: Pin 8: Pin 9: Pin10: +5V Masse Controllerport Controllerport Controllerport Controllerport Controllerport Controllerport Controllerport Controllerport x.0 x.1 x.2 x.3 x.4 x.5 x.6 x.7 1.1.17 Beschreibung der Keil Entwicklungsumgebung Die Keil Entwicklungsumgebung ist eine in der Industrie weit verbreitete Entwicklungsumgebung. Die in der Schule benützte Version unterstützt alle Controller mit 8051- Kern. Das Laden des Programms in den Controller kann direkt von der Entwicklungsumgebung aus erfolgen. Die Entwicklungsumgebung zeichnet sich durch verlässliche Funktion und gute Bedienbarkeit aus. Technikerarbeit Hubert Weber Seite 13 von 77 ELEKTRONIKSCHULE TETTNANG mechanische Daten: 1.1.18 Entwicklungen bei den Mikrocontrollern in den letzten 15 Jahren Vor 15 Jahren gab es noch keine Flashspeicher auf Microcontroller. Die permanente Speicherung erfolgte entweder auf EPROMs, die über UV – Licht löschbar waren oder über maskenprogrammierbares ROM. Zur Programmentwicklung gab es von einigen Microcontrollern auch Varianten mit integriertem EPROM auf der Chipfläche. Mittlerweile besitzen viele Microcontroller integrierte Flash-Speicher in die das Programm geladen wird. Flash– Speicher von 1 MB auf dem Controllerchip sind nicht ungewöhnlich. • Die Auswahl an verschiedenen Controller – Schnittstellen hat sich stark vergrößert. Es gibt mittlerweile Controller mit allen erdenklichen Schnittstellen: Ethernet, CAN, USB, I2C, ISP, Jtag usw. • Es gibt eine Riesenauswahl an Spezial – Controllern, die für bestimmte Aufgaben entwickelt wurden, z.B. für Tastaturen oder zur Ansteuerung von LCD-Displays. • Die Controller sind viel sparsamer im Umgang mit der Energie bzw. haben sehr komfortable Stromsparmodi. • Die meisten Controller sind nur noch in SMD -Version verfügbar • Während vor 15 Jahren Controller mit einem Datenbus mit 8 Bit schon recht komfortabel waren, sind mittlerweile 32 Bit -Controller keine Seltenheit mehr und in entsprechenden Stückzahlen auch schon sehr günstig. • Die Anzahl der Microcontroller pro Person ist drastisch gestiegen, es gibt kaum einen Haushalt in dem weniger als 10 Microcontroller ihre Dienste verrichten. In den meisten Haushalten sind es weit mehr. • Es gibt kaum noch Steuerungen im Konsumerbereich, die nicht mit einem Microcontroller realisiert wurden. 1.2 Entwicklung 1.2.1 Auswahl des Controllertyps Die Auswahl an verschiedenen Microcontroller ist schier unerschöpflich; die Suche nach vergleichenden Tabellen, die eine Übersicht ermöglichen, aussichtslos. Der Betreuer meiner Technikerarbeit, Herr Kraus hat von Anfang an Controller der Firma Atmel favorisiert, da viele dieser Controller mit der Keil-Entwicklungsumgebung programmiert werden können. Ein weiterer Vorteil der Atmel– Controller ist der Beliebtheitsgrad unter den Hobby - Programmierern. Es gibt zahlreiche Links und Diskussionsforen zu verschiedenen Controllern von Atmel. Der Hersteller Atmel bietet außerdem noch recht viele Controller in bedrahteter Ausführung an, was das Austauschen defekter Controller erheblich erleichtert. Ein großer Nachteil vieler Atmel- Controller ist die Notwendigkeit von speziellen Programmieradaptern, ohne die das Programmieren des Flash-Speichers nicht möglich ist. Technikerarbeit Hubert Weber Seite 14 von 77 ELEKTRONIKSCHULE TETTNANG • 1.2.2 Vorschlag Atmel-Controller AT89C5131 8-bit Flash Microcontroller with Full Speed USB Device Features • 80C52X2 Core (6 Clocks per Instruction) – Maximum Core Frequency 48 MHz in X1 Mode, 24MHz in X2 Mode – Dual Data Pointer – Full-duplex Enhanced UART (EUART) – Three 16-bit Timer/Counters: T0, T1 and T2 – 256 Bytes of Scratchpad RAM • 32-Kbyte On-chip Flash In-System Programming through USB or UART • 4-Kbyte EEPROM for Boot (3-Kbyte) and Data (1-Kbyte) • On-chip Expanded RAM (ERAM): 1024 Bytes • USB 1.1 and 2.0 Full Speed Compliant Module with Interrupt on Transfer Completion – Endpoint 0 for Control Transfers: 32-byte FIFO – 6 Programmable Endpoints with In or Out Directions and with Bulk, Interrupt or Isochronous Transfers • Endpoint 1, 2, 3: 32-byte FIFO • Endpoint 4, 5: 2 x 64-byte FIFO with Double Buffering (Ping-pong Mode) • Endpoint 6: 2 x 512-byte FIFO with Double Buffering (Ping-pong Mode) – Suspend/Resume Interrupts – Power-on Reset and USB Bus Reset – 48 MHz DPLL for Full-speed Bus Operation – USB Bus Disconnection on Microcontroller Request • 5 Channels Programmable Counter Array (PCA) with 16-bit Counter, High-speed Output, Compare/Capture, PWM and Watchdog Timer Capabilities • Programmable Hardware Watchdog Timer (One-time Enabled with Reset-out): 50 ms to 6s at 4 MHz • Keyboard Interrupt Interface on Port P1 (8 Bits) • TWI (Two Wire Interface) 400Kbit/s • SPI Interface (Master/Slave Mode) • 34 I/O Pins • 4 Direct-drive LED Outputs with Programmable Current Sources: 2-6-10 mA Typical • 4-level Priority Interrupt System (11 sources) • Idle and Power-down Modes • 0 to 32 MHz On-chip Oscillator with Analog PLL for 48 MHz Synthesis • Low Power Voltage Range – 3.0V to 3.6V – 30 mA Max Operating Current (at 40 MHz) – 100 µA Max Power-down Current • Industrial Temperature Range • Packages: PLCC52, VQFP64, MLF48, SO28 Technikerarbeit Hubert Weber Seite 15 von 77 ELEKTRONIKSCHULE TETTNANG Folgender Atmel –Controller schien mir für unsere Anwendungen geeignet: Der Controller ist sehr leistungsfähig, kann über USB direkt geflasht werden • Er kann in einen Sockel gesteckt werden • Preis ca. 10,-€ bei Reichelt • Er hat einen 8051-Kern und ist mit der Keil µ-vision Entwicklungsumgebung programmierbar • Er benötigt keinen Programmieradapter, kann über USB oder über RS232 programmiert werden • Er hat ausreichend Ein- und Ausgänge Blockschaltbild des AT89C5131 Technikerarbeit Hubert Weber Seite 16 von 77 ELEKTRONIKSCHULE TETTNANG • 1.2.3 Vorschlag Renesas- Controller Der Microcontroller ist auf einem Carrierboard aufgelötet. Mit 2 Stiftleisten kann das Board auf einen DIL 32 Sockel gesteckt werden. Das Board stellt eine 1:1 Verbindung zwischen dem Controller im TQFP32 Gehäuse und den Pins in DIL-Anordnung her. Außerdem sind noch einige Bauteile zur Takterzeugung und Entstörung aufgelötet, die möglichst nahe am Controller sein sollten. Auf der beiliegenden CD wurde die komplette Software mitgeliefert: • Editor, Compiler, Debugger, Flash-Programm • Datenblätter, Anwendungsbeispiele • Headerdateien Der Microcontroller stammt von dem Hersteller Renesas Renesas Technology Corporation entstand am 1. April 2003 durch die Ausgliederung und Fusion der Halbleiterbereiche von Hitachi und Mitsubishi Electric. Der Name Renesas steht für Renaissance Semiconductor for Advanced Solutions. Renesas ist ein weltweit agierender Halbleiterkonzern der Entwicklung, Produktion und Vertrieb in sich vereint. Renesas gehört zu den größten Halbleiterherstellern weltweit (Rang 4 im Jahr 2004). Das Produktspektrum umfasst Mikrocontroller, Logikund Analog- ICs, diskrete Halbleiter, sowie Flash- und SRAM -Speicher. Die Muttergesellschaft Renesas Technology Corporation hat ihren Hauptsitz in Tokio und ist durch Tochtergesellschaften mit zahlreichen Niederlassungen in Europa präsent. Die deutsche Vertretung Renesas Technology Europe GmbH mit Hauptsitz in Ratingen ist eine 100%ige Tochtergesellschaft der Renesas Technology Europe Ltd. mit Sitz in Bourne End/England. 1) entnommen aus : http://de.wikipedia.org Technikerarbeit Hubert Weber Seite 17 von 77 ELEKTRONIKSCHULE TETTNANG Die Elektronikzeitschrift Elektor hat in Zusammenarbeit mit dem Halbleiterdistributor GLYN im Dezember 2005 ein 16 Bit- Microcontroller samt Entwicklungsumgebung als Beigabe zur Zeitschrift herausgegeben. Die Ausgabe enthielt außer ein paar wenigen externen Standardbauteilen, die zum Anschließen der Schnittstelle notwendig sind praktisch alles, um sofort mit dem Programmieren beginnen zu können. Beschreibung des Controllers: Merkmale: • 20 MHz Taktfrequenz • 16kByte Flash-ROM • 16 Bit ALU+ Register • 22 Ein- Ausgänge • 12 10 Bit A/D-Wandler • 2 Ringoszillatoren • 2 serielle Schnittstellen • 3 8-BitTtimer, 1 16-Bit Timer • 15-bit Watchdogtimer Blockschaltbild der R8C/13 Controllerfamilie Technikerarbeit Hubert Weber Seite 18 von 77 ELEKTRONIKSCHULE TETTNANG Der Controller hat die genaue Bezeichnung R5F21134FP#U0 und gehört zur Familie R8C Vorteile des R8C/13 Controllers: sehr günstig • kostenlose Entwicklungsumgebung • Programmierung über RS232 Schnittstelle möglich • Schnelle Verarbeitung auch von Float –Zahlen durch 16 Bit Rechenleistung • interessante deutschsprachige Foren im Internet seit Werbeaktion im Elektor mit vielen Programmbeispielen und Tipps. Entscheidung Wir haben uns für den Einsatz des Renesas- Controllers R8C/13 entschieden. Ob er sich als Controller für den Schulunterricht tatsächlich eignet, muss sich noch herausstellen. Es ist in jeder Hinsicht ein interessantes Projekt: 1.2.5 Grobstruktur der Lösung In der Elektorausgabe Januar 2006 wurde für das kleine R8C/13 Board noch eine Applikationsplatine vorgestellt. Sie enthält neben einer Netzteilschaltung eine USB Schnittstelle und einen Pegelwandler für die RS232-Schnittstelle. Sicher ist ein großer Teil der Schaltung damit schon vorgegeben, dies macht die Schaltungstechnik jedoch nicht weniger interessant: Während die Netzteilschaltung und die Pegelwandlung mit dem Max232 quasi Standardschaltungen sind, stellt der USB doch eine einfache Lösung dar, alte Schnittstellen an neue anzupassen. Die Technologie der USB- Schnittstellen unterscheidet sich schon sehr stark von den herkömmlichen seriellen Schnittstellen. Während das Elektor- Applikationsboard vor allem eine Testmöglichkeit für Programmierer bietet, soll das selber entwickelte Board der Modulbauweise des alten 80535Compuboards mit seiner Standardschnittstelle entsprechen. Damit ergibt sich die Möglichkeit, mit den entsprechenden Zusatzplatinen komplette Steuerungsaufgaben zu realisieren. Technikerarbeit Hubert Weber Seite 19 von 77 ELEKTRONIKSCHULE TETTNANG 1.2.4 • ELEKTRONIKSCHULE TETTNANG Die Schaltung des Elektor-Applikationboards 1.2.6 Entwicklung der Platine Die Schaltung wurde so abgeändert, dass sie zu den Zusatzplatinen kompatibel ist. Das Display, die LED`s und das Potentiometer für den Analogeingang werden nicht benötigt, da diese Funktionen alle auf den Zusatzplatinen verfügbar sind. Sämtliche Ports außer Port 4.6 und 4.7 wurden auf Pfostenwannen geführt. Die Jumper wurden durch Schiebeschalter ersetzt. Der Jumper für die Spannungsversorgung wurde durch 2 Schottkydioden ersetzt. Die Entwicklung des Schaltplanes und des Layouts erfolgte mit Target, einem Programm, das speziell für Leiterplattendesign konzipiert ist. Nach Einarbeitung durch kleinere Projekte erfolgte erst das Zeichnen des Schaltplans und danach das Erstellen des Layouts. Ich habe am Anfang nicht geglaubt, dass ich diese Schaltung auf einer einseitigen Leiterplatte unterbringen kann, doch beim zweiten Entwurf ist es Technikerarbeit Hubert Weber Seite 20 von 77 mir gelungen, die Schaltung auf eine einseitige Leiterplatte mit nur einer Drahtbrücke unterzubringen. Inbetriebnahme Bei meiner Arbeit in einer Hardwareentwicklungsabteilung habe ich die Vorzüge einer schrittweisen Inbetriebnahme kennen gelernt. Ich habe die einzelnen Komponenten, wie unter Kapitel Fertigungsunterlagen /Inbetriebnahme beschrieben, geprüft. Bei den einzelnen Schaltungsgruppen sind, bis auf eine fehlende Leiterbahn und eine Lötbrücke, keine Probleme aufgetreten. Beim Versuch ein Programm in den Controller zu laden, gab es am Anfang Schwierigkeiten: Zuerst konnte das Flashprogramm keine Verbindung zum Controller herstellen. Ursache: Die COM - Schnittstelle war nicht richtig ausgewählt. Nachdem ich herausgefunden hatte, wo man in der Systemsteuerung die Nummer der COM- Schnittstelle einsehen kann, konnte ich dort auch schon sehen, dass der USB –Wandler auf dem Controllerboard vom PC erkannt wurde. Nachdem das Flashprogramm keinen Verbindungsfehler mehr angezeigt hat, kam die Fehlermeldung: Error Nr. 16194: ID Code Check failure Nach langem herumstöbern in den Foren habe ich den passenden Beitrag gefunden. Nach Eingabe von FFFFFFFFFF als ID hat es dann endlich funktioniert. Das Flash wurde programmiert. Ich habe das Beispielprogramm Port Toggle von den NC30 Samples in den Controller geladen. Das Programm bringt die ersten 4 Bits von Port 1 zum Blinken. Ich habe die Tasterplatine angeschlossen und mit Erstaunen festgestellt, dass die Bits 4-7 ebenfalls mitblinken. Ich habe vermutet, dass es an fehlenden Pull -Up-Widerständen liegt. Bei näherem Betrachten des Programms fiel mir auf, dass nur die ersten 4 Bits des Ports im Spezialfunktionsregister für die Portrichtung als Ausgänge gesetzt waren. Nachdem ich einen anderen Wert in das Register für die Port-Richtung geschrieben habe, war das Flackern weg. 1.2.8 Erfahrungen im Umgang mit dem Controller und der Entwicklungsumgebung: • Die Entwicklungsumgebung ist schwieriger zu bedienen als die KeilEntwicklungsumgebung. Vor allem für Anfänger hat sie einige Tücken parat, z.B. in der Dateiverwaltung: Sind die entsprechenden Administratorenrechte nicht vorhanden, kann der Compiler die temporären Dateien nicht anlegen und erzeugt auch keine Datei, die in das Flash übertragen werden kann. • störend ist auch der ID-Check-Fehler beim Flashen des Controllers: tritt dieser Fehler auf, ist keine Programmierung möglich. Der Controller muss eine Weile Spannungslos sein, damit ein Programmieren wieder möglich ist. Technikerarbeit Hubert Weber Seite 21 von 77 ELEKTRONIKSCHULE TETTNANG 1.2.7 störend ist auch die relativ lange Zeit, die zum Flashen benötigt wird: Es dauert ca. 30 s bis der Flashvorgang abgeschlossen ist! • es sind wesentlich mehr Einstellungen an den Spezialfunktionsregistern notwendig als z.B. beim alten 80535 Board notwendig war. • für Programmierübungen ist der Controller nicht optimal geeignet. Auch deshalb, weil der Hersteller nur 1000 Flashzyklen garantiert. Vermutlich sind weit mehr Flashzyklen möglich, der Flashvorgang benötigt dann aber immer mehr Zeit. • für Projektarbeiten ist der Controller weit besser geeignet: Der integrierte Flash-Speicher ermöglicht es, mit wenig Aufwand eine autarke Steuerung zu realisieren ohne ein spezielles Eprom brennen zu müssen. Hat das übertragen des Programms in den Flash-Speicher des Controllers einmal richtig funktioniert, gibt es bei weiteren Flashvorgängen in der Regel keine Probleme, vorausgesetzt, die Verbindung zum PC ist korrekt und die Schalter auf dem Board sind richtig eingestellt. Anfängerproblem Wir haben im Unterricht die Arbeitsweise mit dem 80535 Controller von Intel gelernt. Bis zur Durchführung von meiner Technikerarbeit war meine Vorstellung, dass alle Controller in einer ähnlichen Art und Weise funktionieren, und dass auch Vorgänge wie das Übertragen des Programms in den Flash Speicher, das Debuggen und Simulieren und die ganzen Voreinstellungen bei allen Controllern standardisiert und ähnlich ablaufen. Ich habe nach entsprechender Literatur und nach entsprechenden Links gesucht, habe aber immer nur controllerspezifische Erläuterungen gefunden, die dann meist nur in Englisch verfügbar waren. Meine Hoffnung, die Vorgänge so zu verstehen, dass ich auch bei Problemen systematisch nach Fehlern und Ursachen suchen kann (dies ist meine Auffassung von professionellem Arbeiten), habe ich mittlerweile aufgegeben. Recherchiert man in den Foren, hat man den Eindruck, dass viel nach der Methode Versuch und Irrtum herausgefunden wird. Die Beiträge in den verschiedenen Foren erzeugen für einen Anfänger eher das Gefühl, dass es sich bei der Materie um so was wie Alchemie handelt, und nicht um eine rein naturwissenschaftliche Angelegenheit die auch Anfängern vermittelbar ist. Möglicherweise bedarf es einfach einer Menge Ausdauer und Frustrationstoleranz bis die Zusammenhänge von selber klar werden. Der Wunsch nach standardisierten und durchschaubaren Strukturen und Vorgängen wird nicht so schnell in Erfüllung gehen. Schließlich sind die Unterschiede ja auch Alleinstellungsmerkmale, die entsprechende Wettbewerbsvorteile verschaffen sollen und zum Teil patentrechtlich geschützt sind. Microcontroller, wie der hier verwendete R8C/13, werden nicht für den Hobbyentwickler entwickelt und hergestellt, sondern für einen Massenmarkt, bei dem Stückzahlen von hunderttausend bis mehrere Millionen keine Seltenheit sind. Da fällt der Aufwand für die Einarbeitung nicht mehr so ins Gewicht. Ein Hardwareentwickler hat mir erzählt, dass das Einarbeiten in eine andere Mikrocontrollerfamilie und das Einrichten der Entwicklungsumgebung und der Technikerarbeit Hubert Weber Seite 22 von 77 ELEKTRONIKSCHULE TETTNANG 1.2.9 • Programmiertools bis zum ersten lauffähigen Programm auch im professionellen Bereich immer sehr viel Zeit in Anspruch nimmt. Umgang mit dem Layoutprogramm Target: Die ersten Schritte mit dem Layoutprogramm Target waren etwas mühsam, aber es hat sich gelohnt: Es ermöglicht mir eigene Schaltungsideen umzusetzen. Nachdem ich mit dem Layoutprogramm vertraut war, habe ich noch einige kleine Nebenprojekte aus der eigentlichen Technikerarbeit abgeleitet: • • • USB-RS232 Wandlerplatine Alternativcarrierboard als Ersatz für das GLYN-R8C/13Board Relaisplatine für die Ansteuerung durch ein Mikrocontrollerboard nach dem oben beschriebenen Standard für Zusatzplatinen Microcontrollertechnik: Das Verständnis vom Microcontroller als die wundersame Black-Box hat sich zerschlagen. Die Einarbeitung in die Eigenheiten eines Controllers wie die verschiedenen Spezialfunktionsregister war sehr aufschlussreich. Ich traue mir mittlerweile zu, auch andere Controller in eine Schaltung einzubinden. Arbeitsweise Ich habe mich daran gewöhnt, dass umfangreiche Arbeiten auch entsprechende Ausdauer voraussetzen. Dies zeigt sich vor allem, wenn etwas nicht auf Anhieb funktioniert. Der Umgang mit Datenblättern, auch in Englisch und die Recherche nach Informationen in Internetforen oder auf den Webseiten der Hersteller war für diese Arbeit alltäglich. Dies scheinen mir wichtige Schlüsselqualifikationen für mein zukünftiges Arbeiten als Techniker zu sein. 1.2.11 Zeitlicher Ablauf Bis Bis Bis Bis Bis Bis KW KW KW KW KW KW KW 48/2005 10/2006 14/2006 17/2006 19/2006 23/2006 26/2006 Technikerarbeit Hubert Weber Festlegung Thema Recherche Microcontrollerarten Festlegung Controllertyp, Einarbeitung in Target Erstellen von Layout und Schaltplan Inbetriebnahme der ersten Musterplatine Änderungen an Schaltplan und Layout Inbetriebnahme 2 Musterserie, Schreiben der Dokumentation Seite 23 von 77 ELEKTRONIKSCHULE TETTNANG 1.2.10 Erfahrungen 1.2.12 Entstandene Kosten Menge Teile Einzelkosten 3 Zeitschrift Elektor 4 Prototypen Kabel, Adapter, Stecker Papier und Schreibmaterialien 6,50 € 20,00 € 30,00 € 50,00 € Summe Technikerarbeit Hubert Weber Seite 24 von 77 Gesamtkosten 19,50 € 60,00 € 30,00 € 50,00 € 159,50 € ELEKTRONIKSCHULE TETTNANG Entstandene Kosten für die Technikerarbeit Fertigungsunterlagen Für Renesas R8C/13 Carrier und Microcontrollerboard Technikerarbeit Hubert Weber Seite 25 von 77 ELEKTRONIKSCHULE TETTNANG 2 Fertigungsunterlagen Alternativcarrier 2.1.1 Beschreibung Alternativcarrier Der Schaltplan des Alternativcarriers ist identisch mit dem Schaltplan des GLYNCarrierboards. Der Alternativcarrier soll eine kostengünstige Alternative zu GLYN-Carrier darstellen. Es wurde daher versucht die gleiche Schaltung auf einer einseitigen Leiterplatte unterzubringen. Da keine Durchkontaktierungen notwendig sind, kann die Platine auch selber hergestellt werden. Die Isolationsabstände sind allerdings sehr klein, so dass vor dem Bestücken eine genaue Sichtkontrolle und gegebenenfalls auch das Nachmessen der Verbindungen bzw. der Isolation erforderlich ist. Das Auflöten des Controllers erfordert etwas Übung und vor allem eine feine Lötspitze. Zusätzliches Elektronik-Flußmittel erleichtert die Arbeit. Die Platine ist PIN-kompatibel und passt genauso in den DIL-32 Sockel. Sie ist allerdings etwas breiter als das GLYN-Board, da die diskreten Bauteile zum Teil außerhalb der beiden Stiftreihen angebracht wurden. Draufsicht Alternativcarrier Der 20 MHz-Quarz wurde bei dieser Variante auf der Unterseite bestückt, um Kurzschlüsse mit der Massefläche zu vermeiden. Damit der Carrier dennoch auf das Board passt, ist es wichtig die kurze Bauform (Gehäuse HC49U) für den Quarz zu verwenden. Wird der Quarz auf der Oberseite bestückt, ist ein entsprechender Abstand zur Platine erforderlich. Die Kondensatoren C3 und C4 können auch als bedrahtete Bauteile an die Stiftleisten angelötet werden. Die Bohrungen erfolgen alle mit 0,8 mm Die Fertigungsunterlagen und die Targetdateien befinden sich auch auf cd technikerarbeit\Alternativcarrier Die Inbetriebnahme des Alternativcarriers erfolgt am einfachsten mit einem fertig bestückten Microcontrollerboard. Der Controller muss sich auf die gleiche Weise programmieren lassen wie der Controler auf dem GLYN-Board. Technikerarbeit Hubert Weber Seite 26 von 77 ELEKTRONIKSCHULE TETTNANG 2.1 Bestückungsplan Altenativcarrier Technikerarbeit Hubert Weber Seite 27 von 77 ELEKTRONIKSCHULE TETTNANG 2.1.2 2.1.3 Schaltplan Alternativcarrier ELEKTRONIKSCHULE TETTNANG Technikerarbeit Hubert Weber Seite 28 von 77 2.1.4 Stückliste Alternativcarrier ; Pos 1 2 3 4 5 6 7 8 9 10 Name C1 C2 C3 C4 IC1 Q1 R1 R2 R3 STIFTLEISTE0 Technikerarbeit Hubert Weber Wert 100n 100n 22p 22p R8C/13 # 4K7 4K7 4K7 R8C/13 Gehäuse Raster Lieferant 0,1µ 5 mm Reichelt 0,1µ 5 mm Reichelt 0805 Reichelt 0805 Reichelt TQFP32 GLYN HC49/U Reichelt R3 Reichelt R4 Reichelt R3 Reichelt DIL32 Reichelt Seite 29 von 77 Bestell-Nr. Z5U-5 100N Z5U-5 100N NPO-G0805 22p NPO-G0805 22p 20-HC49U-S 1/4W 4,7k 1/4W 4,7k 1/4W 4,7k AW 122/32 Preis 0,06 € 0,06 € 0,05 € 0,05 € 3,00 € 0,44 € 0,10 € 0,10 € 0,10 € 1,35 € Summe 5,31 € R5F21134FP#U0 ELEKTRONIKSCHULE TETTNANG ; Stückliste=E:\atechnikerarbeit\cd technikerarbeit\Alternativcarrier\R8C13_glyn270606a.T3001 ; Datum=29.Juni.2006 11:30 ; Variante=<alle> ; Author= 2.2. Fertigungsunterlagen Microcontrollerboard von oben von unten Technikerarbeit Hubert Weber Seite 30 von 77 ELEKTRONIKSCHULE TETTNANG Die Fertigungsunterlagen mit Targetdateien sind auch unter cd technikerarbeit\Fertigungsunterlagen zu finden. 2.2.1 Konzept Der Microcontroller ist bereits schon auf einer kleinen Platine (Carrier -Board) aufgelötet. Dies hat den Vorteil, dass bei einem Defekt des Microcontrollers dieser entweder komplett mit Carrier - Board ausgetauscht werden kann oder zum Entlöten aus der Fassung gezogen werden kann. Im Anhang in der Techniker-CD ist noch ein Layout für ein Alternativcarrierboard, das mit einer einseitigen Leiterplatte auskommt und somit leicht selber hergestellt werden kann. Es ist ratsam, einen Sockel für das Carrierboard zu verwenden. Der Carrier ist in DIL 32 ausgeführt. Der 10polige Stecker wird nur benötigt, wenn der von GLYN erhältliche E8-Emulator eingesetzt wird. Controller mit Carrier von GLYN Controller auf Alternativcarrier Technikerarbeit Hubert Weber Seite 31 von 77 ELEKTRONIKSCHULE TETTNANG Die Platine wurde so entwickelt, dass Sie die gleichen Maße hat wie die Zusatzplatinen. Für die Leiterplatte wird einseitig beschichtetes Basismaterial mit 35µ Kupferauflage verwendet. Bis auf den USB- Wandlerchip PL-2303X LF werden alle Bauteile auf der Oberseite bestückt. Der USB - Chip ist nur in SMD -Version verfügbar. 2.2.2 Spannungsversorgung: • über eine Gleichspannungsquelle 8 – 30 V die an die Versorgungsklemmen angeschlossen wird. Der Spannungsregler sorgt für eine stabile Spannung am Controller. • Über die USB - Schnittstelle, die 5V bis zu einem Strom von 100 mA zur Verfügung stellen kann. Beide Spannungsversorgungen sind mit zwei Schottky - Dioden voneinander abgekoppelt, um Schaden am USB-Port zu vermeiden. 2.2.3 Kurzschlussschutz: Der USB Port bzw. die Spannungsstabilisierung sind gegen Überstrom abgesichert. Als Sicherungselement kann wahlweise eine Feinsicherung 100mA (F1) oder eine sich selbst rückstellende Sicherung 100mA (F2) eingebaut werden. Technikerarbeit Hubert Weber Seite 32 von 77 ELEKTRONIKSCHULE TETTNANG Auf dem voll bestückten Board gibt es 2 Möglichkeiten zur Spannungsversorgung: 2.2.4 Funktionsgruppen der Schaltung ELEKTRONIKSCHULE TETTNANG Die Schaltung besteht aus folgenden Funktionsgruppen: Orange: Gelb: Rosa: Grün: 2.2.5 Spannungsstabilisierung Controller mit externer Beschaltung Serielle Schnittstellen USB-Schnittstelle Bestückung • Wird das Board nur für Programmierübungen verwendet, dann ist es ausreichend, den Controllerteil (gelb)und den USB -Teil zu bestücken. Der Controller wird dann über die USB -Schnittstelle mit Strom versorgt. Soll die Programmierung über die RS232-Schnittstelle erfolgen, muss auch die Spannungsstabilisierung mitbestückt werden, da die Schaltung über die RS232-Schnittstelle nicht mit Strom versorgt wird. • für die Absicherung kann wahlweise eine Feinsicherung oder eine Polyfuse verwendet werden. Vorteil Feinsicherung: man merkt auf jedem Fall, dass man einen Kurzschluss gemacht hat. Nachteil: Man braucht bei jedem Kurzschluss eine neue Sicherung. • • Technikerarbeit Hubert Weber Seite 33 von 77 die USB- Buchse und die RS232 Stecker können auch in gerader Ausführung gewählt werden, die Bohrungen müssten identisch sein. • der Spannungsregler kann auch stehend montiert werden und mit einem kleinen Kühlkörper versehen werden. Ist die Versorgungsspannung größer als 15 V und die Ports sind mit Zusatzplatinen belegt ist dies wegen der Verlustleistung zu empfehlen • IC2 und IC3 sollten auf Sockel gesteckt werden • bei Dioden, Elkos und IC’s auf Polung achten Technikerarbeit Hubert Weber Seite 34 von 77 ELEKTRONIKSCHULE TETTNANG • 2.2.6 Schaltplan ELEKTRONIKSCHULE TETTNANG Technikerarbeit Hubert Weber Seite 35 von 77 2.2.7 Funktionsbeschreibung der Schaltung Spannungsstabilisierung D1: Verpolungsschutz beim Anschließen eines externen Netzteils C1: Glättung / Pufferung bei Anschluss nicht geglätteter Spannung C2/C3: Verhindern Schwingen des Spannungsreglers IC5: Regelt Eingangsspannung von 8-20V auf 5V herunter C10: Pufferkondensator, sorgt für ordentlichen Nachschub D3/D4: Entkoppeln die beiden Spannungsquellen USB und externe Spannungsversorgung, somit kann keine Fremdspannung in den USBPort gelangen und diesen zerstören F1/F2: Sicherung gegen Kurzschluss und Überlastung, Schutz für externes Netzteil bzw. USB -Port, wahlweise als Feinsicherung (F1) oder als Polyfuse (F2) Gelb: Controller mit externer Beschaltung IC2: R8C/13 Board, entweder Original von GLYN oder Alternativcarrier. Beide Boards sind schaltungstechnisch identisch, beim GLYN- Board kann noch ein 10 poliger Stecker für einen Emulator angeschlossen werden. Beschaltung siehe Schaltplan R8C/13 Das Board stellt die Verbindung vom TQFP32 Gehäuse des Microcontrollers zum DIL-Sockel her. Die PIN´s sind 1:1 durchverbunden. Zusätzlich sind noch Bauteile für die Takterzeugung C3/C4/Q1und Entstörkondensatoren C1/C2 auf dem Board, da sie über möglichst kurze Leiterbahnen mit dem Controller verbunden werden müssen. R2 und R3 sind Pull-Up Widerstände für Reset und Mode-Eingang. (Die Bauteilbezeichnungen beziehen sich auf den Schaltplan R8C/13) S2: Reset-Taster, bei Betätigung wird der Programmzähler und die Register im Controller zurückgesetzt. bei diesem Layout fungiert der Taster auch noch als Brücke zwischen Masse und PIN 5 des Controllers, zwei der vier Anschlüsse sind jeweils durchverbunden. Wird der Reset-Taster herausgeführt, dann muss eine Brücke eingelötet werden, da der Controller sonst keine Masse mehr hat !!! Achtung: S1: Achtung: Mode-Schalter, Schaltet um zwischen Programmiermodus (Flashen) und Normalbetrieb. Schalter Richtung Ecke: Programmierbetrieb, Schalter in der Mitte: Normalbetrieb. Bei Arbeiten mit dem Debugger muss Mode -Schalter im Programmiermodus bleiben: Technikerarbeit Hubert Weber Seite 36 von 77 ELEKTRONIKSCHULE TETTNANG Orange: direkte Verbindung zu den Ports des Microcontrollers. Port 0 und Port 1 sind komplett angeschlossen, von Port 3 sind nur P3.0, P3.1, P3.2, P3.3, P3.7 angeschlossen. P4.5 wurde an den gleichen Stecker wie Port 3 angeschlossen, P4.6 und P4.7 wurden nicht herausgeführt, da gleichzeitig der Quarz an diese Ports angeschlossen ist und der Schwingvorgang durch lange Anschlüsse beeinträchtigt würde. C8: Entstörkondensator, Störspannungen am Reset (z.B. über Netzteil bewirken einen zurücksetzen des Controllers, laufendes Programm wird abgebrochen. R7/R11: Pull-up-Widerstände für die serielle Schnittstelle des Controllers. Sie müssen auf jeden Fall bestückt werden, da über die serielle Schnittstelle der Flash-Speicher des Controllers beschrieben wird. D2: sorgt für eine schnelle Entladung von C8 bei einem Spannungseinbruch Rosa: Serielle Schnittstellen IC3: Schnittstellenwandler, wandelt TTL-Pegel des Controllers auf die für RS232-Standard übliche Spannung von 3 bis 15V für Low -Pegel und -3bis -15V für High -Pegel. Um diese Spannungen zu erreichen hat dieser Schaltkreis eine Ladungspumpe integriert, die mit den 4 Elkos die beiden Spannungen +10 und -10 V erzeugt. C13/C14/ C15/C16: Zwischenspeicherung der Ladung für die Spannungsverdoppelung. S3: Schaltet serielle Schnittstelle 0 des Controllers (TxD und RxD) entweder auf USB-Wandler oder auf Pegelwandler und K6 S4: Schaltet serielle Schnittstelle 1 des Controllers (TxD und RxD) entweder auf USB-Wandler oder auf Pegelwandler und K5 Achtung: Es dürfen nicht beide Schalter auf USB stehen, wenn beide Schnittstellen aktiviert sind. C4: Entstörkondensator / Pufferung für Schnittstellenwandler Grün: USB -Schnittstelle IC2: USB zu seriell Schnittstellenwandler Fullspeed USB1.1, kompatibel zu USB2.0 Der Schnittstellenwandler ist so eine Art Spezial- Microcontroller mit Taktgenerator, internem Pufferspeicher für die ein und ausgehenden Daten, I2C- Anbindung zur Erweiterung mit einem seriellen EEPROM . Der Schnittstellenwandler wird vom USB -Bus des PCs als Slave betrachtet, d.h. er kann kein anderes USB -Gerät steuern sondern nur auf Anforderung Daten Senden und Daten Empfangen. Technikerarbeit Hubert Weber Seite 37 von 77 ELEKTRONIKSCHULE TETTNANG K2/K3/K4: R3/R4/R5/R6: legen Betriebsmodus des Wandlers fest R1/R2: definierte Eingangswiderstände R10: signalisiert Gegenstelle, dass es sich um ein Full- Speed- Gerät handelt. Q1/C17/C18: Erzeugen interne Taktfrequenz für USB –Wandler C11/C7: Entstörung / Pufferung der 5V-Spannung vom USB-Port C5/C12: Entstörung / Pufferung der 3,3V-Spannung die im Wandler erzeugt wird. Technikerarbeit Hubert Weber Seite 38 von 77 ELEKTRONIKSCHULE TETTNANG Für den Betrieb am PC ist ein spezieller Treiber erforderlich, der auf der Techniker -CD unter cd technikerarbeit\Software\USB-Treiber\PL-2303 Driver Installer.exe zu finden ist. Siehe auch Kapitel Softwareinstallation 2.2.8 Bestückungsplan ELEKTRONIKSCHULE TETTNANG Technikerarbeit Hubert Weber Seite 39 von 77 Bohrplan ∆ + x · * 0,8mm 1,0mm 1,2mm 3,2mm 2,0mm ELEKTRONIKSCHULE TETTNANG 2.2.9 Technikerarbeit Hubert Weber Seite 40 von 77 2.2.10 Stückliste Name Wert Gehäuse Lieferant Bestell-Nr. C1 C2 C3 C4 C5 C7 C8 C10 C11 C12 C13 C14 C15 C16 C17 C18 D1 D2 D3 D4 IC3 IC5 K2 K3 K4 220µ 0,1µ 0,1µ 0,1µ 0,1µ 0,1µ 0,1µ 10µ 10µ 10µ 4,7µ 4,7µ 4,7µ 4,7µ 10pF 10pF 1N4001 1N4148 BAT47 BAT 47 MAX232 7805 K2X5 K2X5 K2X5 Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt K5 SUB-D-9 K6 K7 KL1 Q1 R1 R2 R3 R4 R5 R6 R7 R10 R11 SUB-D-9 USB-B KLEMME 12MHZ 27R 27R 220k 220k 220k 47k 4k7 1k5 4k7 S1 MODE ELKO5-10.5 C2 C2 C2 C2 C2 C2 ELKO2.5-6 ELKO5-5.5 ELKO5-5.5 ELKO5-5.5 ELKO5-5.5 ELKO5-5.5 ELKO5-5.5 C1-2.5 C1-2.5 D4 D3 DO41 DO41 DIL16 TO-220 HD10-S HD10-S HD10-S SUB-D-9-STIFTST SUB-D-9-STIFTST USB-B2 KLEMME 2 HC-18U R4 R4 R4 R4 R4 R4 R4 R4 R4 SCHALTER 2XUM Technikerarbeit Hubert Weber Preis RAD 220/35 Z5U-5 100N Z5U-5 100N Z5U-5 100N Z5U-5 100N Z5U-5 100N Z5U-5 100N RAD105 10/63 RAD105 10/63 RAD105 10/63 RAD105 4,7/100 RAD105 4,7/100 RAD105 4,7/100 RAD105 4,7/100 KERKO 10P KERKO 10P 1N 4001 1N 4148 BAT 47 BAT 47 MAX 232 CPE µA 7805 WSL 10G WSL 10G WSL 10G 0,10 € 0,06 € 0,06 € 0,06 € 0,06 € 0,06 € 0,06 € 0,04 € 0,04 € 0,04 € 0,04 € 0,04 € 0,04 € 0,04 € 0,04 € 0,04 € 0,02 € 0,02 € 0,14 € 0,14 € 0,40 € 0,17 € 0,07 € 0,07 € 0,07 € Reichelt D-SUB ST 09US 0,31 € Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt Reichelt 0,31 € 0,24 € 0,14 € 0,44 € 0,10 € 0,10 € 0,10 € 0,10 € 0,10 € 0,10 € 0,10 € 0,10 € 0,10 € D-SUB ST 09US USB BW AKL 055-02 12-HC49U-S 1/4W 27 1/4W 27 1/4W 220K 1/4W 220K 1/4W 220K 1/4W 47K 1/4W 4,7K 1/4W 1,5K 1/4W 4,7K Reichelt T 373 Seite 41 von 77 0,82 € ELEKTRONIKSCHULE TETTNANG Vollversion HUBERT WEBER RESET S3 Umschalter S4 F1 F2 F1 Umschalter 0,1A PFRA 010 Sicherungshalter MC-PCB113,4X69 PL2303 RESETA SCHALTER 2XUM SCHALTER 2XUM 0,1A C2_5X6 5 x 20 MC-PCB113,4X69 PL2303A R8C/13- BOARD Sockel Sockel DIL32 DIL32 DIL16 GEH1 IC2 IC1 Reichelt TASTER 9302 0,11 € Reichelt T 373 0,82 € Reichelt Reichelt Reichelt Reichelt 0,82 € 0,10 € 0,46 € 0,12 € T 373 FLINK 0,1A PFRA 010 PL112000 GLYN PL-2303X LF EVBR8C/13-CARRIERGLYN E8 Reichelt GS 32P Reichelt GS 16P Summe Bestelladresse Reichelt: Reichelt Elektronik e.Kfr. Elektronikring 1 26452 Sande www.reichelt.de Bestelladresse Glyn: GLYN GmbH & Co. KG Am Wörtzgarten 8 D-65510 Idstein www.glyn.com Technikerarbeit Hubert Weber Seite 42 von 77 3,00 € 10,00 € 0,36 € 0,18 € 21,05 € ELEKTRONIKSCHULE TETTNANG S2 2.2.11 Aufbau 2.2.12 Inbetriebnahme Wichtig: IC’s immer im spannungslosen Zustand in Fassung einstecken bzw. ziehen. Bei der Inbetriebnahme ist es ratsam, sorgfältig und schrittweise vorzugehen. Dies hat mehrere Gründe: • bei Leiterplatten, die nicht industriell gefertigt wurden, sind haardünne Kurzschlüsse bzw. Unterbrechungen sehr häufig. Sie sind ohne Lupe oft nicht erkennbar. • funktioniert die Schaltung nicht auf Anhieb wie gewünscht, kann die Fehlersuche sehr mühsam sein, wenn schon alles bestückt ist. Statt schnell erhofftem Erfolgserlebnis gibt’s Frust und manchmal auch Rauchwolken. Durch Ausschluss von Fehlerquellen kann dies vermieden werden. • • durch Leiterbahnkurzschlüsse können schnell mal empfindliche Bauteile zerstört werden. • bei einem schwerwiegenden Defekt der Schaltung können auch die Schnittstellen im PC zerstört werden. Messungen im Spannungslosen Zustand , IC1 und IC3 noch nicht bestückt • alle PIN’s der IC’s und der Stecker auf Kurzschlüsse prüfen • mit dem Schaltplan prüfen, ob bei IC1die richtigen Pins miteinander verbunden sind. Die Bohrung markiert Pin 1 • die Pins des USB -Steckers auf Kurzschluss prüfen, zwischen den 4 Pins des Steckers darf kein Widerstand kleiner 1kΩ sein • bei Betätigung von Reset-Taste Durchgang von Pin 3 nach Pin 5 von IC1 • Schiebeschalter S1 Richtung Ecke Durchgang von Pin 28 nach Pin 5 von IC1 Technikerarbeit Hubert Weber Seite 43 von 77 ELEKTRONIKSCHULE TETTNANG Es empfiehlt sich, als erstes den USB- Wandler auf der Unterseite zu bestücken. Vor dem Einlöten noch mal Leiterbahnen auf Unterbrechungen und Kurzschlüsse überprüfen, da an manchen Stellen die Leiterbahnen sehr dünn und die Abstände sehr klein sind. • Stromaufnahme messen: Strom muss kleiner 10 mA sein • Spannungen messen: IC3: IC1: IC1: K2 und K4: C3: Pin 16-15 Pin 19-21 Pin 19-5 Pin 1-2 5V 5V 5V 5V 5V ±0,2V ±0,3V ±0,3V ±0,3V ±0,3V Bei Verwendung der Feinsicherung sind die Spannungen überall gleich, bei Verwendung einer Polyfuse gibt’s einen kleinen Spannungsabfall. IC3 (Max232) einsetzen, Spannung einschalten IC3 IC3 PIN15-2 PIN15-6 +9,5V ± 0,5V -9,5V ± 0,5V Dies bedeutet, dass die Spannungspumpe des Max 232 richtig arbeitet. Wenn nicht, C13 bis C16 noch einmal überprüfen. USB- Wandler: (IC2): Der USB- Wandler kann nur arbeiten, wenn er Spannung über den USB- Stecker bekommt. Wer vorsichtig ist, schließt den USB- Anschluss nicht gleich an den PC sondern speist ihn über das Netzteil. Dazu ist es notwendig, die Diode D4, die ja eigentlich die USB -spannungsversorgung vom Netzteil entkoppelt, zu überbrücken. Die Stromaufnahme sollte kleiner als 20mA sein. Nach dem Entfernen der Brücke kann der USB-Anschluss an den USB-Port des PC’s angeschlossen werden. Ist der Treiber installiert, (Techniker -CD unter: cd technikerarbeit\Software\USBTreiber\PL-2303 Driver Installer.exe ) müsste der PC den USB-Chip erkennen. Unter: Start>Systemsteuerung>System>Hardware>Gerätemanager>Anschlüsse (COM und LPT) Erscheint dann: Prolific USB-to-Serial Comm Port (COMxy) In der Klammer steht dann die Nummer des zugewiesenen Com -ports, diese wird benötigt zum konfigurieren des Flashprogramms. Die Nummer des Com -Ports ändert sich, wenn der USB -Port gewechselt wird. Technikerarbeit Hubert Weber Seite 44 von 77 ELEKTRONIKSCHULE TETTNANG Spannung über Klemme anlegen, IC1 und IC3 noch nicht bestückt Erkennt der PC den Chip nicht, gibt es folgende Möglichkeiten: • falsche Bestückung der externen Widerstände (nachmessen) • Lötbrücke (nachmessen) • Fehler in der Verbindung zum PC • Quarz schwingt nicht: dies kann man feststellen, indem man ein UKW-Radio auf 96MHz (8x12MHz) einstellt und die Schaltung ganz nah an die Antenne hält (<20cm). Schwingt der Quarz, geht das Rauschen weg, da das Radio durch die Oberwelle ein Signal findet. Schwingt der Quarz nicht, geht das Rauschen nicht weg. Dieser Trick kann übrigens auch angewendet werden, wenn das R8C/13 Board nicht funktioniert. Man muss allerdings eine andere Frequenz am Radio einstellen: 100MHz (5x20MHz) Bestückung mit R8C/13 Board: Spannungsversorgung über Netzteil, USB -Verbindung getrennt: Stromaufnahme messen: max. 20 mA Spannungen Messen: IC1 K3 Pin7-5 Pin 1-2 5V 5V ± 0,3V ± 0,3V Um dem Controller Leben einzuhauchen, muss ein Programm in den Flash-Speicher des Controllers geladen werden. Mit dem Flash-Programm wird dann ein kleines Testprogramm in den Flash-Speicher des Controllers geladen, mit dem die Funktion des Controllers und des Boards überprüft werden kann. Das Testprogramm befindet sich unter cd technikerarbeit\Sample_NC30\ Porttoggle\release Dieses Programm spiegelt ganz einfach die Eingänge von Port 1 auf die Ports 0, 3 und 4 Technikerarbeit Hubert Weber Seite 45 von 77 ELEKTRONIKSCHULE TETTNANG Hat der PC den USB -Chip erkannt, ist dieser betriebsbereit, Takterzeugung und auch die Erzeugung der internen Spannung von 3,3V (kann an C5 gemessen werden) funktionieren. #include "sfr_r813.h" long t; void main(void) { /*------------------------------------------------- Change on-chip oscillator clock to Main clock -------------------------------------------------*/ prc0 = 1; cm13 = 1; cm15 = 1; cm05 = 0; cm16 = 0; cm17 = 0; cm06 = 0; asm("nop"); asm("nop"); asm("nop"); asm("nop"); ocd2 = 0; prc0 = 0; /* Protect off */ /* Xin Xout */ /* XCIN-XCOUT drive capacity select bit : HIGH */ /* Xin on */ /* Main clock = No division mode */ /* CM16 and CM17 enable */ /* Waiting for stable of oscillation */ /* Main clock change */ /* Protect on */ prc2 = 1; pd0 = 0xFF; pd1 = 0xFF; pd3 = 0x8F; pd4 = 0x20; /* Schreibschutz PD0-register aus */ /* Port 0 als Ausgang*/ /* Port 1 als Ausgang*/ /* Port 3.0; 3.1; 3.2; 3.3;3.7; als Ausgang*/ /* Port 4.5 als Ausgang*/ while (1) /* Schleife */ { p0 = 0xAA; p1 = 0xAA; p3_0 = 0; p3_1 = 1; p3_2 = 0; p3_3 = 1; p3_7 = 1; p4_5 = 1; for (t=0; t<50000; t++); p0 = 0x55; Technikerarbeit Hubert Weber Seite 46 von 77 ELEKTRONIKSCHULE TETTNANG /*******************************************************************************************/ /* */ /* File: port_toggle.c */ /* Description: SETZT ABWECHSELND DIE GERADEN UND DIE */ /* UNGERADEN PORTBITS AUF HIGH */ /* Date: 15.10.2005 */ /* Author: Hubert Weber */ /* Change: (Date) (Author) (Description) */ /* */ /*******************************************************************************************/ ELEKTRONIKSCHULE TETTNANG p1 = 0x55; p3_0 = 1; p3_1 = 0; p3_2 = 1; p3_3 = 0; p3_7 = 0; p4_5 = 0; for (t=0; t<50000; t++); } } Technikerarbeit Hubert Weber Seite 47 von 77 Anleitung zum Arbeiten mit dem R8C/13 Microcontrollerboard Technikerarbeit Hubert Weber Seite 48 von 77 ELEKTRONIKSCHULE TETTNANG 3 3.1 Folgende Voraussetzungen sind notwendig, um das Programm in den Controller zu laden: • Flash Development Toolkit 3.4 Basic muss auf dem PC installiert sein (siehe Kapitel Softwareinstallation) Es muss ein Programm mit der Dateiendung .mot vorhanden sein. Dies ist das Dateiformat mit dem der Microcontroller geflasht wird. Es handelt sich um ein Motorola- Hex- file . Bei unserem ersten Test verwenden wir die Release- Version Ein einfaches Programm zum Testen des Controllerboards befindet sich unter: cd technikerarbeit\Sample_NC30\ Porttoggle\release . • Verbindung vom Controller zum PC muss vorhanden sein: Über Serielle Schnittstelle: Nullmodemkabel vom Stecker K5 (Sub-D Stecker in der Mitte) zum COM-Port des PC’s Schalter S4 in Richtung IC3 (Max232) kontrollieren, welche Nummer der COM- Port hat Externes Netzteil muss angeschlossen sein, Board wird über serielle Schnittstelle nicht versorgt Über USB- Schnittstelle: Schalter S4 Richtung R8C/13 Carrierboard Schalter S3 in Mittelstellung mit Verbindungskabel USB Stecker A auf USB Stecker B Microcontrollerboard mit USB -Port des PC’s verbinden, unter Start> Systemsteuerung> System> Hardware> Gerätemanager> Anschlüsse (COM und LPT) erscheint dann: Prolific USB-to-Serial Comm Port (COMxy) Nummer des COM- Ports merken, Sie wird zum Einstellen des FlashProgramms benötigt. • Microcontrollerboard auf Programmiermodus schalten: Schiebeschalter S1 Richtung Platinenecke • Flashprogramm aufrufen über: Start> Renesas> Flash Development Toolkit V3.4> Flash Development Toolkit3.4 Basic Technikerarbeit Hubert Weber Seite 49 von 77 ELEKTRONIKSCHULE TETTNANG Übertragen des Programms vom PC (Host) in den FlashSpeicher des Microcontrollers (Target) Folgendes Fenster erscheint: ELEKTRONIKSCHULE TETTNANG In der Menuleiste auf Options klicken, die Häkchen müssen wie im Bild gesetzt sein. New Settings anklicken. Beim ersten Start wird dieses Fenster übersprungen, es erscheint gleich das zweite Fenster: Technikerarbeit Hubert Weber Seite 50 von 77 ELEKTRONIKSCHULE TETTNANG Das Programm fragt nun nach dem Controllertyp. Die Bezeichnung, die in dem Fenster oben erscheint, ist genau der Typ, der auf unserem Board verwendet wurde. Diese Bezeichnung ist auch auf dem Controller aufgedruckt. Sind alle Einstellungen identisch mit denen im Bild, drücken wir auf Weiter. Technikerarbeit Hubert Weber Seite 51 von 77 ELEKTRONIKSCHULE TETTNANG Das Flash Programm braucht nun die Nummer des COM- Ports, über den er die Daten senden soll. Zur Erinnerung noch mal: die Nummer des COM- Ports kann über Start> Systemsteuerung> System> Hardware> Gerätemanager> Anschlüsse (COM und LPT) ausfindig gemacht werden. Entsprechende Nummer auswählen und auf WEITER drücken. Technikerarbeit Hubert Weber Seite 52 von 77 ELEKTRONIKSCHULE TETTNANG Die voreingestellte Übertragungsgeschwindigkeit von 9600 Baud kann so übernommen werden. Technikerarbeit Hubert Weber Seite 53 von 77 ELEKTRONIKSCHULE TETTNANG Einen Ausleseschutz gegen unbefugtes Auslesen des Programms im Flash-Speicher brauchen wir nicht; es sei denn, sie haben was zu verheimlichen. Doch Vorsicht: ist der Schutz erst mal aktiviert, lässt er sich nicht mehr so einfach deaktivieren, das Flash kann dann unter Umständen kein Zweites mal mehr beschrieben werden. Bei Messaging muss das Häkchen bei Standard gemacht werden. Technikerarbeit Hubert Weber Seite 54 von 77 ELEKTRONIKSCHULE TETTNANG Jetzt muss noch der Pfad angegeben werden, in dem unser Programm liegt. Mit der kleinen Taste rechts vom Eingabefenster USER AREA lässt sich ein Browser öffnen, um die Daten zu suchen. Das Programmfile muss die Dateiendung .mot haben. Der Pfad für unser kleines Testprogramm auf der CD lautet: cd technikerarbeit\Sample_NC30\ porttoggle\release Reset-Taste auf dem Microcontrollerboard kurz drücken. Mit der Taste Program Flash starten wir den Flash-Vorgang. Technikerarbeit Hubert Weber Seite 55 von 77 Der Flash-vorgang ist nun abgeschlossen. Mit Exit können wir nun das FlashProgramm verlassen. Wir stellen nun den Mode-Schalter S1 und den Schalter S4 auf Mittelstellung. Mit dem Drücken der Reset-Taste kann das geladene Programm nun gestartet werden. Technikerarbeit Hubert Weber Seite 56 von 77 ELEKTRONIKSCHULE TETTNANG Erscheinen Meldungen mit grünem Text, so hat der Flash-Vorgang schon begonnen. Nach ca. 30 s müsste dann folgende Meldung erscheinen: Erscheint diese Meldung, kann das Flash-Programm keine Verbindung zum Controller herstellen: • Verbindungen noch mal überprüfen • Schalterstellungen noch mal überprüfen • Nummer des verwendeten COM -Ports noch mal überprüfen Technikerarbeit Hubert Weber Seite 57 von 77 ELEKTRONIKSCHULE TETTNANG Erscheint nach Drücken von Program Flash irgendeine rote Meldung, dann kann der Flashvorgang wegen eines Fehlers nicht starten. 3.2 Anleitung für das Renesas-Mikrocontrollerboard 3.2.1 Vorstellung des ELEKTOR- Projekts Die Dezemberausgabe 2005 der Elektronikerzeitschrift ELEKTOR enthielt als Beigabe einen kleine Platine mit einem Aufgelöteten Mikrocontroller der Firma Renesas und eine CD mit der dazu passenden Entwicklungsumgebung. Der Controller kann über eine RS232 Schnittstelle programmiert werden, es sind keine zusätzlichen Programmieradapter erforderlich. In der Ausgabe vom Januar 2006 stellte die Zeitschrift noch ein passendes Applicationsboard für das kleine Mikrocontrollerboard aus der vorigen Ausgabe vor, das einige Schalter, LED`s, eine Pegelwandler für eine RS232Schnittstelle, ein USBWandler und ein LCD Display enthält, um einfache Programme damit auszutesten. Die Platine wurde von mir so abgeändert, dass sie mit den in der Schule vorhandenen Zusatzplatinen kompatibel sind. In den darauffolgenden Ausgaben wurden immer wieder sehr interessant Projekte mit diesem Controller vorgestellt. Da durch diese Werbeaktion des Renesas Distributors GLYNN sehr viele Elektroniker im Besitz eines solchen Boards gekommen sind haben, sich seitdem auch schon zahlreiche deutschsprachige Foren im Internet gebildet, in denen interessante Projekte zu sehen sind aber auch spezielle Probleme erörtert werden. In den Foren hat der Controller die Bezeichnung R8/C13. Auch auf der Internetseite der Elektronikzeitschrift ELEKTOR ist ein R8/C13 Forum eingerichtet worden, das viele hilfreiche Tipps sowohl für Einsteiger als auch für Fortgeschrittene zur Verfügung stellt: http://www.elektor.de Forum: R8C/13-Board Auf der Begleit- CD zu diesem Script sind die Interessantesten Projekte und Tipps aus den Foren enthalten. 3.2.2 Komponenten, die man zum Arbeiten benötigt Hardware • Mikrocontrollerboard mit Mikrocontroller (auf kleiner Carrierplatine aufgelötet, siehe Bild in Kapitel 5.1) • Verbindungskabel: bei Betrieb über USB: Verbindungskabel USB Stecker A auf USB Stecker B bei Betrieb über RS232: Nullmodemkabel Buchse-Buchse • Spannungsversorgung: ca. 8-15 V Gleichspannung, Polung beachten. Technikerarbeit Hubert Weber Seite 58 von 77 ELEKTRONIKSCHULE TETTNANG Das Mikrocontrollerboard ist eine Weiterentwicklung bzw. Anpassung eines Boards, das die Elektronikzeitschrift ELEKTOR in der Januarausgabe 2006 vorgestellt hat. • Zusatzplatinen, je nach Anwendung • Verbindungskabel 10-polig zwischen Zusatzplatinen und Controllerboard • Software Die Software kann auch unter http://www.m16c.de kostenlos heruntergeladen werden, es handelt sich dabei um eine Version, die vom Codeumfang auf 64 k begrenzt ist, was bei einem Flash Speicher von 16 k nicht weiter tragisch ist. Die benötigte Software ist auch auf der Begleit- CD enthalten: • KD30: Monitor/ Debugger • NC30: C-Compiler, dient dem erstellen von c-Programmen • Debugger Package • Flash Development Toolkit, dient zum Flashen des Controllers • Treiber für USB Wandler auf dem Mikrocontrollerboard Wichtig: Der Compiler legt beim Compilieren auf dem Laufwerk, auf dem die Entwicklungsumgebung installiert wurde ein temporäres Verzeichnis an. Ohne Schreibrechte auf dieses Verzeichnis funktioniert der Compiliervorgang nicht. Unter Tools->Administration->Toolchain->Properties ->Registerkarte 'Environment'-> TMP30 kann der Ort des temporären Verzeichnisses eingesehen werden und gegebenenfalls freigegeben werden. Technikerarbeit Hubert Weber Seite 59 von 77 ELEKTRONIKSCHULE TETTNANG Kleiner Tipp vom Bastler: ein ausgedientes Handynetzteil ist hier optimal geeignet, die Leerlaufspannung ist meist hoch genug, um das Board zu betreiben. Bei Betrieb über USB reicht auch die Speisung über den USB -Port aus. 3.2.3 Installationsreihenfolge: 1. KD30: (Monitor/ Debugger) installieren: cd technikerarbeit\Software\kd30v400r1\KD30V410R1_E_20041203.EXE Installation starten, Pfad C:\MTOOL\ bestätigen 2 NC30: (C-Compiler) installieren: cd technikerarbeit\Software\nc30v530r2_hew\nc30wav530r02_2_ev.exe vorgeschlagenen Pfad bestätigen, angezeigter site-code ist nur für Feischalten der Vollversion von Bedeutung, kann also ignoriert werden. 3. Autoupdate über Internet durchführen, ist dies nicht möglich, dann Update von CD installieren: cd technikerarbeit\Software\HEW_V.4.00.03.001_Update\hewv40003u.exe werden die Updates nicht installiert, dann funktionieren die Beispiele im Ordner Sample_NC30 nicht PC-Neustart durchführen 4. Debugger Package installieren: cd technikerarbeit\Software\Debugger Package\m16cdebuggerv100r01.exe Lizenzbedingungen bestätigen PC-Neustart durchführen 5. Flash Development Toolkit installieren: cd technikerarbeit\Software\Flasher_FDT\ fdtv304r00.exe 6. Teiber für USB-Wanlder installieren: cd technikerarbeit\Software\USB-Treiber\ PL-2303 Driver Installer.exe Teiber installiert sich selber PC-Neustart durchführen Technikerarbeit Hubert Weber Seite 60 von 77 ELEKTRONIKSCHULE TETTNANG Es ist wichtig, die Installationsreihenfolge einzuhalten, da Teile der Programme in andere Programme eingebunden werden. Unter Start/Programme befindet sich nun eine Programmgruppe RENESAS Start> Systemsteuerung> System> Hardware> Gerätemanager> Anschlüsse (COM und LPT) Technikerarbeit Hubert Weber Seite 61 von 77 ELEKTRONIKSCHULE TETTNANG Hinweis zum USB-Anschluss: Ist die USB Verbindung zum Controllerboard hergestellt, wird der Schnittstelle eine COM- Nummer zugewiesen. Diese kann sich jedoch ändern, wenn der USB- Port gewechselt wird. Man kann die Nummer des zugewiesenen COM- Ports herausfinden über: 3.2.4 Vorstellung des R8C/13 Microcontrollerboards Das Mikrocontrollerboard besteht im wesentlichen aus folgenden Schaltungsteilen: • R8C/13 Board auf Carrierplatine mit Mikrocontroller, Quarz und einigen Pull-up-Widerständen • Verbindungsanschlüsse Ports-Zusatzplatinen • Spannungsstabilisierung für Betrieb über externes Netzteil • 2 RS232 Schnittstellenwandler mit Max232 und jeweils Sub-D Stecker • USB-Wandlereinheit Anschlüsse und Bedienelemente 1 2 3 4 5 6 Anschluss externe Spannungsversorgung Serielle Schnittstelle 0 Serielle Schnittstelle 1 Betriebsartenschalter Programmier oder Run-Modus Reset-Taste Umschalter serielle Schnittstelle1 des Controller zu Anschluss 8 oder Anschluss 3 Technikerarbeit Hubert Weber Seite 62 von 77 ELEKTRONIKSCHULE TETTNANG Detaillierte Pläne zum Microcontrollerboard befinden sich im Kapitel Fertigungsunterlagen 7 3.2.5 Vorstellung des Renesas-Controllers Eines der wichtigsten Werkzeuge beim Arbeiten mit diesem Controller ist die Verwendung der Handbücher. Sie befinden sich auf der CD unter cd technikerarbeit\Datasheets\R8C13. die Handbücher sind in drei Teile aufgeteilt: Kurzbeschreibung: • • • die wichtigsten Leistungsmerkmale Gehäuse, Abmessungen, Anschlüsse Spezialfunktionsregister Hardwaremanual: • • • spezifische elektrische Daten Blockschaltbilder aller Funktionsgruppen des Controllers Tabellen mit genauen Funktionen der Spezialfunktionsregister Softwaremanual: • • detaillierte Beschreibung der Assemblerbefehle Angaben über die Anzahl der Zyklen pro Befehl Technikerarbeit Hubert Weber Seite 63 von 77 ELEKTRONIKSCHULE TETTNANG 8 9 10 Umschalter serielle Schnittstelle0 des Controller zu Anschluss 8 oder Anschluss 2 USB -Anschluss zur Verbindung mit USB- Port des PCs Carrier mit Microcontroller R8C/13 Ports zum Verbinden mit Zusatzplatinen 3.2.6 Blockschaltbild ELEKTRONIKSCHULE TETTNANG Technikerarbeit Hubert Weber Seite 64 von 77 3.2.7 Leistungsdaten Peripheral function Performance 89 instructions 50 ns (f(XIN) = 20 MHZ, VCC = 3.0 to 5.5 V) 100 ns (f(XIN) = 10 MHZ, VCC= 2.7 to 5.5 V) Single-chip 1M bytes See Table 1.2. Internal: 11 factors, External: 5 factors, Software: 4 factors, Priority level: 7 levels 15 bits x 1 (with prescaler) Reset start function selectable Timer X: 8 bits x 1 channel, Timer Y: 8 bits x 1 channel, Timer Z: 8 bits x 1 channel (Each timer equipped with 8-bit prescaler) Timer C: 16 bits x 1 channel Operating mode Address space Memory capacity Interrupt Watchdog timer Timer Circuits of input capture and output compare. •1 channel Clock synchronous, UART •1 channel UART 10-bit A/D converter: 1 circuit, 12 channels 2 circuits •Main clock generation circuit (Equipped with a built-in feedback resistor) •On-chip oscillator (high-speed, low-speed) On high-speed on-chip oscillator the frequency adjustment function is usable. Serial interface A/D converter Clock generation circuit Oscillation stop detection function Voltage detection circuit Power on reset circuit Port Electrical characteristics Stop detection of main clock oscillation Power supply voltage Power consumption Flash memory Program/erase voltage Number of program/erase Operating ambient temperature Package Technikerarbeit Hubert Weber Included Included Input/Output: 22 (including LED drive port), Input: 2 (LED drive I/O port: 8) VCC= 3.0 to 5.5V (f(XIN) = 20MHZ) VCC= 2.7 to 5.5V (f(XIN) = 10MHZ) Typ.9 mA (VCC= 5.0V, (f(XIN) = 20MHZ,High-speed mode) Typ.5 mA (VCC= 3.0V, (f(XIN) = 10MHZ,High-speed mode) Typ.35 µA (VCC= 3.0V, Wait mode, Peripheral clock stops) Typ.0.7 µA (VCC= 3.0V, Stop mode) VCC= 2.7 to 5.5 V 10,000 times (Data area) 1,000 times (Program area) -20 to 85°C -40 to 85°C (D-version) 32-pin plastic mold LQFP Seite 65 von 77 ELEKTRONIKSCHULE TETTNANG CPU Item Number of basic instructions Shortest instruction execution time 3.2.8 Speicheraufteilung ELEKTRONIKSCHULE TETTNANG Auf unserem Board ist der Controllertyp R5F21134FP eingesetzt, d.h. er hat einen Flash-Speicher (ROM) von 16 kbyte und ein RAM mit 1 kbyte Eine genaue Beschreibung aller Funktionsgruppen des Controllers wäre hier zu umfangreich; schließlich hat alleine das Hardwaremanual schon über 200 Seiten. Anhand der Beispiele Ein-Ausgangsports und Taktgenerator möchte ich aufzeigen, wie die genauen Funktionen einer Funktionsgruppe festgelegt werden. 3.2.9 Ein-Ausgangsports Die Funktion der Ports, ob Eingang oder Ausgang, wird bei diesem Controller in den jeweiligen Spezialfunktionsregister PD 0, PD1, PD3 und PD 4 festgelegt. Genaue Informationen sind im Hardwaremanual unter Kapitel SFR Page Reference und Kapitel 15. Eine zweistellige HEX -Zahl weist jedem der 8 Bits die Richtung zu 1 bedeutet Ausgang, 0 bedeutet Eingang. pd0 = 0x0F würde bedeuten, dass Bit 0-3 als Ausgang gesetzt sind, Bit 4-7 als Eingang Technikerarbeit Hubert Weber Seite 66 von 77 Die Eingangszustände der Ports können aus den PI-Registern (Port-Input-Register) Pi0, Pi1, Pi3und Pi4 ausgelesen werden. Bei den Ports P0; P1; P3 können über ein Pull-Up Control-Register (PUR0; PUR1) Pull-Up - Widerstände Hinzugeschalten werden, um eine eindeutige Pegeldefinition zu erreichen, wenn die Ports als Eingänge benutzt werden. Man kann sich beim Anschluss eines Tasters dadurch auch die externen Pull-Up Widerstände sparen. So sieht z.B. die Eingangsbeschaltung von Port 1.0 aus: Über einen zweiten Transistor gegen Masse kann bei diesem Port der Ausgangsstrom bis zu 30 mA nach Vdd betragen, es muss allerdings wieder das entsprechende Spezialfunktionsregister DRR entsprechend beschrieben werden, um den zweiten Transistor zu aktivieren. Wie die Spezialfunktionsregister beschrieben werden ist gut in den nächsten zwei Tabellen ersichtlich: Technikerarbeit Hubert Weber Seite 67 von 77 ELEKTRONIKSCHULE TETTNANG Port 0_0 dient auch als Ausgang für die serielle Schnittstelle 1, die gleichzeitig auch zum Flashen und zum debuggen benötigt wird. Sie ist daher durch einen Schreibschutz versehen, der erst durch setzen von Bit PRC2 im Register PRCR auf 1 deaktiviert werden kann. Siehe auch Hardwaremanual Kapitel 7 ELEKTRONIKSCHULE TETTNANG Es lohnt sich also wirklich, in den Datenblättern rumzustöbern. Die ganzen Tabellen für die Ein und Ausgänge sind im Kapitel 15 des Hardwaremanuals zu finden. Technikerarbeit Hubert Weber Seite 68 von 77 3.2.10 Taktgenerator /*------------------------------------------------- Change on-chip oscillator clock to Main clock -------------------------------------------------*/ prc0 = 1; cm13 = 1; cm15 = 1; cm05 = 0; cm16 = 0; cm17 = 0; cm06 = 0; asm("nop"); asm("nop"); asm("nop"); asm("nop"); ocd2 = 0; prc0 = 0; /* Protect off */ /* Xin Xout */ /* XCIN-XCOUT drive capacity select bit : HIGH */ /* Xin on */ /* Main clock = No division mode */ /* CM16 and CM17 enable */ /* Waiting for stable of oscillation */ /* Main clock change */ /* Protect on */ dafür müssen wieder zahlreiche Werte in den Spezialfunktionsregistern geändert werden und der Schreibschutz kurzzeitig außer Kraft gesetzt werden. Nach einer kurzen Zeit hat sich der Quarz eingeschwungen und es steht eine hochgenaue Taktfrequenz mit 20 MHz zur Verfügung. Genauere Informationen zum Thema Takterzeugung stehen Kapitel 6 des Hardwaremanuals. Technikerarbeit Hubert Weber Seite 69 von 77 ELEKTRONIKSCHULE TETTNANG Der Taktgenerator des verwendeten Controllers hat verschiedene Betriebsarten. Nach dem Reset läuft als erstes der Low- Speed on Chip Oszillator an. Er benötigt keine externe Beschaltung, auch keinen Quarz und läuft mit ca. 128 kHz . Die Frequenz ist allerdings nicht besonders genau, aber dies ist ja nicht bei allen Anwendungen wichtig. Durch eine kleine Routine am Anfang des Programms kann die Takterzeugung auf den externen Quarz mit bis zu 20 MHz umgeschaltet werden: 3.2.11 Erstellen eigener Projekte mit OK bestätigen Unter Workspace Projektnamen vergeben Technikerarbeit Hubert Weber Seite 70 von 77 ELEKTRONIKSCHULE TETTNANG Neue Projekte werden in dem Programm HEW (High performance Embedded Workshop) erstellt. Nach dem start des Programms erscheint folgendes Fenster: ELEKTRONIKSCHULE TETTNANG Unter CPU-Serie R8C/Tiny auswählen unter Target type wieder R8C/Tiny auswählen, dann bestätigen Technikerarbeit Hubert Weber Seite 71 von 77 ELEKTRONIKSCHULE TETTNANG bestätigen Stack-Einstellungen bestätigen Technikerarbeit Hubert Weber Seite 72 von 77 ELEKTRONIKSCHULE TETTNANG External Debugger M16 Family KD30V.4.10Release 1 auswählen, dann weiter mit Finish legt der Compiler die angezeigten Dateien an Technikerarbeit Hubert Weber Seite 73 von 77 Startupdatei Verwaltung von Interruptvektoren c-Programm Jetzt muss nur noch die header-Datei sfr_r813.h mit den Deklarationen aller Funktionsregister des Controllers R8C/13 in das Arbeitsverzeichnis kopiert werden. Diese Datei befindet sich auf der CD unter cd technikerarbeit\SFR_Header\R8C13 Am beginn des c-Programms muss diese noch mit #include "sfr_r813.h aufgerufen werden. Ist das das C-Programm fertig, kann es mit Build all compiliert werden. Technikerarbeit Hubert Weber Seite 74 von 77 ELEKTRONIKSCHULE TETTNANG Ncrt0.a30 Sect30 .inc Test1.c ELEKTRONIKSCHULE TETTNANG Technikerarbeit Hubert Weber Seite 75 von 77 3.2.12 Inhalte der CD-Technikerarbeit Technikerarbeit Hubert Weber Seite 76 von 77 ELEKTRONIKSCHULE TETTNANG In der Schaltfläche rechts oben muss Release stehen. Der Compilier erzeugt nun ein File mit der Dateiendung . mot und schreibt dieses in das Arbeitsverzeichnis in den Unterordner Release. Von dort aus kann es dann mit dem Flash development Toolkit Basic aufgerufen werden und in den Controller geflasht werden. 3.2.13 Quellenangaben • • • 1) ELEKTOR-Zeitschriften 12/2005, 01/2006 Datenblätter des Controllers R8/C13 Forumseite R8C/13 Projekt im Internet: http://www.elektor.de/Default.aspx?tabid=109 Dieser Text wurde originalgetreu übernommen aus http://de.wikipedia.org Technikerarbeit Hubert Weber Seite 77 von 77 ELEKTRONIKSCHULE TETTNANG Verwendete Quellen: