Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
de
magazine
Mai 2013 | Nr. 509
EMBEDDED
FIRMWARE
LIBRARY
Schnell zur eigenen Mikrocontroller-Anwendung
I/OLEDs
ADCPWM MUXLCDTCP/IP
SD
NEU!
!
Firmw
are-Upg
unter w
ww.h
rade
kosten ame
frei ver g.com
+60%
fgbar
MEHR FREQUENZBEREICH
Serie von 1 GHz auf 1,6 GHz erhht.
Ohne Aufpreis!
Hochwertigste Oberflche: ENIG
Multilayer
Preise bis zu
50% gesenkt
bei 2-5 Multilayer-
Leiterplatten
www.pcb-pool.com
Naamloos-6 1 27-03-13 15:43
Inhalt
magazine
Community Labs
6 Impressum 42 Sorry about my English dass sie leicht von einem Board auf
Interessante Projekte auf der ein anderes portiert werden kn-
8 Elektor World .Labs-Website nen. Dabei ist man nicht auf einen
Neues aus der Elektor-Community Controllerhersteller beschrnkt;
44 Fallstricke in der
10 Aktuell und sogar ein Betrieb auf Em-
Platinenproduktion
Neue Produkte bedded Linux ist prinzipiell mglich.
46 Keramikkondensatoren Dank diverser Funktionen fr ADC,
voll daneben! PWM, Display, TCP/IP, SD-Karten
und vielem mehr eignet sich die
Bibliothek auch fr (C-)Einsteiger.
20 Barostick
Module in USB-Stick-Bauform
gibt es fr viele Anwendungen,
Projects von WLAN und Bluetooth bis zum
Daten-Logging. Das gleiche handli-
Industry che Format hat der Luftdruck- und
12 Embedded Firmware Library Temperaturmesser Barostick, der
38 Tools fr Die modular aufgebaute EFL ist die Umweltgren Luftdruck und
Vektor-Motorsteuerungen nicht nur eine weitere Bibliothek Temperatur mit einem Sensor
Hier wird gezeigt, wie Software fr das Rapid Application Develop- von Bosch-Sensortec misst. Ein
dabei hilft, BLDC-Motoren effizient, ment. Eigene Anwendungen und Programm, das unter Windows auf
przise und leise bei einstellbaren Module lassen sich dabei hardware- dem PC luft, stellt die Messwerte
Geschwindigkeiten zu betreiben. unabhngig programmieren, so grafisch auf dem Bildschirm dar.
Impressum
Lang oder kurz?
44. Jahrgang, Nr. 509 Mai 2013
Wenn Sie dieses Heft durchblttern,
Erscheinungsweise: 10 x jhrlich
(inkl. Doppelhefte Januar/Februar und Juli/August) knnte Ihnen der stark
unterschiedliche Umfang der Artikel
Verlag
auffallen. Einige sind recht lang
Elektor-Verlag GmbH
Ssterfeldstrae 25 geraten - acht bis zehn Seiten sind
52072 Aachen nicht ungewhnlich. Gleichzeitig hat
Tel. 02 41/88 909-0 auch die Zahl der Serien in unserem
Fax 02 41/88 909-77 Heft etwas zugenommen. Sicherlich
liegt das in der Natur der Sache.
Technische Fragen bitten wir per E-Mail an
redaktion@elektor.de zu richten. Wenn wir komplexe Themen wie
die Entwicklung von FPGA- oder
Anzeigen (verantwortlich): Embedded-Linux-Anwendungen auf
Irmgard Ditgens
wenigen Seiten abhandeln wrden,
ID Medienservice
Tel. 05 11/61 65 95-0 | Fax 05 11/61 65 95-55 htten nur die Spezialisten unter den
E-Mail: service@id-medienservice.de Elektor-Lesern etwas davon. Und ein
Es gilt die Anzeigenpreisliste Nr. 43 ab 01.01.2013 Projekt wie unser LCR-Meter enthlt so viele clever gemachte Details, so dass wir
ihm ebenfalls unrecht tun wrden, wenn wir so etwas auf vier bis sechs Seiten
Vertriebsgesellschaft:
IPS Pressevertrieb GmbH komprimierten. Das Titelprojekt in dieser Ausgabe ist ein weiterer dicker Kaliber.
Postfach 12 11, 53334 Meckenheim Mit der Bibliothek lsst sich Firmware prinzipiell unabhngig vom Controller-
Tel. 0 22 25/88 01-0 | Fax 0 22 25/88 01-199 Typ und dem verwendeten Board programmieren. Auf acht Seiten knnen
E-Mail: elektor@ips-pressevertrieb.de
wir in dieser Ausgabe nur eine Einfhrung geben, die vermutlich weder die
Internet: www.ips-pressevertrieb.de
Einsteiger noch die Fortgeschrittenen richtig satt macht. Wir haben uns deshalb
Vertrieb sterreich
entschlossen, viele wichtige Hintergrundinformationen auf ein Zusatz-Dokument
Pressegrovertrieb Salzburg/Anif
Niederalm 300 auszulagern, das man von unserer Website herunterladen kann. In den nchsten
Tel. +43/62 46/37 21-0 Ausgaben werden Sie dann noch einige Anwendungen der Embedded Firmware
Library finden, so dass sich Stck fr Stck ein Bild ergeben drfte, wie man mit
Der Herausgeber ist nicht verpflichtet, unverlangt einge-
sandte Manuskripte oder Gerte zurckzusenden. Auch wird dem System gewinnbringend arbeiten kann.
fr diese Gegenstnde keine Haftung bernommen. Nimmt Natrlich sprechen wir auch auf unseren Redaktionskonferenzen darber, wie wir
der Herausgeber einen Beitrag zur Verffentlichung an, so
erwirbt er gleichzeitig das Nachdruckrecht fr alle ausln-
solch komplexe Artikel am besten unseren Lesern nherbringen. Schtzen diese
dischen Ausgaben inklusive Lizenzen. Die in dieser Zeitschrift lieber einen berlangen Artikel, eine Serie oder die angesprochene Kombination
verffentlichten Beitrge, insbesondere alle Aufstze und
aus einer Verffentlichung im Heft und im Web? Schreiben Sie uns unter
Artikel sowie alle Entwrfe, Plne, Zeichnungen einschlielich
Platinen sind urheberrechtlich geschtzt. Ihre auch teilwei- redaktion@elektor.de!
se Vervielfltigung und Verbreitung ist grundstzlich nur mit
vorheriger schriftlicher Zustimmung des Herausgebers gestat- Jens Nickel
tet. Die verffentlichten Schaltungen knnen unter Patent-
oder Gebrauchsmusterschutz stehen. Herstellen, Feilhalten,
Inverkehrbringen und gewerblicher Gebrauch der Beitrge sind
nur mit Zustimmung des Verlages und ggf. des Schutzrechts-
inhabers zulssig. Nur der private Gebrauch ist frei. Bei den
benutzten Warenbezeichnungen kann es sich um geschtzte
Warenzeichen handeln, die nur mit Zustimmung ihrer Inhaber
warenzeichengem benutzt werden drfen. Die geltenden ge-
setzlichen Bestimmungen hinsichtlich Bau, Erwerb und Betrieb
Unser Team
von Sende- und Empfangseinrichtungen und der elektrischen
Sicherheit sind unbedingt zu beachten. Eine Haftung des
Chefredakteur: Jens Nickel (v.i.S.d.P.) (redaktion@elektor.de)
Herausgebers fr die Richtigkeit und Brauchbarkeit der ver-
Stndige Mitarbeiter: Dr. Thomas Scherer, Rolf Gerstendorf, Klaus Boda
ffentlichten Schaltungen und sonstigen Anordnungen sowie
fr die Richtigkeit des technischen Inhalts der verffentlichten Internationale Redaktion: Harry Baggen, Thijs Beckers, Jan Buiting, Eduardo Corral,
Aufstze und sonstigen Beitrge ist ausgeschlossen.
Wisse Hettinga, Denis Meyer, Clemens Valens
2013 elektor international media b.v. Elektor-Labor: Thijs Beckers, Ton Giesberts, Luc Lemmens,
Druck: Senefelder Misset, Doetinchem (NL) Raymond Vermeulen, Jan Visser
ISSN 0932-5468
Grafik & Layout: Giel Dols, Mart Schroijen
United Kingdom
Wisse Hettinga
+31 46 4389428
w.hettinga@elektor.com
Netherlands
Harry Baggen
+31 46 4389429
h.baggen@elektor.nl
France
Denis Meyer
+31 46 4389435
d.meyer@elektor.fr
USA
Hugo Van haecke
+1 860-875-2199
h.vanhaecke@elektor.com
Italy
Maurizio del Corso
+39 2.66504755
m.delcorso@inware.it
Sweden
Wisse Hettinga
+31 46 4389428
w.hettinga@elektor.com
Brazil
Joo Martins
+55 11 4195 0363
joao.martins@editorialbolina.com
China
Cees Baay Sie mchten Partner werden?
+86 21 6445 2811
CeesBaay@gmail.com Kontaktieren Sie uns bitte unter service@id-medienservice.de (Tel. 0511/616595-0).
Elektor World
Zusammengestellt von Jeden Tag, jede Stunde, jede Minute, ja, in
Wisse Hettinga
jedem Augenblick schaffen, optimieren,
rekonstruieren und entwickeln
Ingenieure und Enthusiasten neue
Elektronik. Hauptschlich zum Spa,
aber manchmal wird aus Spa
(beruflicher) Ernst.
(130051)
Micro-WLAN-Gerteserver
Lantronix stellt sein neues WLAN-Modul xPico vor, bei dem es sich um einen kompakten, Embedded-WLAN-Gerteserver handelt, der schnelle
Verbindungen zwischen seriellen Anschlssen (bis zu 921 kbit/s) und WLAN ermglicht. Dabei muss keine Software entwickelt und keinerlei Code
geschrieben werden. xPico misst nur 24 mm x 16,5 mm und ist das neueste Exemplar in der xPico-Produktfamilie. Muster sind schon zu haben
und im Laufe des ersten Halbjahrs 2013 sind auch grere Stckzahlen zu Preisen ab rund 25 US-Dollar erhltlich.
xPico bietet Wi-Fi-Funktionen auf kleinstem Raum, einen vollstndigen IP-Stack plus erweiterte Sicherheit und ist daher kosteneffektiv und robust.
www.lantronix.com
Neuer Steckverbinderkatalog
Auf 464 Seiten zeigt der neue Katalog von W+P Steckverbinder ab einem
Rasterma von 0,5 mm, darunter erstmalig wasserdichte Ausfhrungen.
Das Artikelprogramm besteht aus RJ-45, D-SUB- und USB-Steckverbindern,
Kabelkonfektionen und Zubehr. Weitere Produkte, wie z.B. IEEE 1394 (FireWire),
DVI-Steckverbinder und Rundsteckverbinder sind auf Anfrage auch als wasserdichte Ausfhrung erhltlich. W+P bietet auch kundenspezifische
Produkte an.
Erweitert wurde das Produktspektrum um zustzliche Miniaturisierungslsungen mit geringen Bauhhen und kleinen Rastermaen im Stift- und
Buchsenleistenbereich. Der Anteil an rationell bestckbaren und automatengerecht verpackten Artikeln wchst zunehmend. Hierzu werden Tape-
and-Reel-Verpackungen mit Bestckungshilfen angeboten, die leicht in bestehende Ablufe integriert werden knnen.
Der Katalog ist in deutscher und englischer Sprache gehalten und kann kostenlos angefordert werden. Alle Produkte sind jeweils mit Foto,
Mazeichnung, Leiterplattenlayout, technischen Daten und Polzahlen abgebildet.
http://wppro.com
www.koehler-partner.de
Experimentier-Board fr APPKRZUNG
Raspberry Pi ZU BER
Das Gertboard ist ein besonders interessantes 500.000
PRODUKTEN
Add-on fr Raspberry Pi, das via Farnell/
element14 erhltlich ist (Bild: Vorfhrung
des Gertboards am Messestand auf der
Embedded World). Das von Gert van Loo
entwickelte Experimentier-Board kann direkt
an Raspberry Pi gesteckt werden und ermglicht diesem den Zugriff auf die physikalische
Welt. Analoge Spannungen lassen sich erfassen und generieren. Hinzu kommt eine
Steuerung fr Motoren, LEDs und Relais sowie die Registrierung von Tastendrcken. Mit HEUTE AUSSUCHEN,
Jumper-Kabeln kommt man an alle Stellen der Platine und erhlt so maximale Flexibilitt. MORGEN AUSPACKEN!
Das Board kann direkt auf den GPIO-Sockel von Raspberry Pi gesteckt werden und
ermglicht so die Steuerung von Motoren bis zu 18 V/2 A. Integriert sind ein zweikanaliger
D/A-Konverter und ein zweikanaliger A/D-Konverter mit jeweils 8-bit-Auflsung sowie ein
ATmega328 mit 10-bit-ADC. Programme knnen auf dem Raspberry Pi geschrieben und
entwickelt sowie dann auf das Gertboard bertragen werden. Das Add-on-Board verfgt
darber hinaus ber sechs Open-Collector-Ausgnge, 12 LEDs und 3 Taster.
www.farnell.com
PoE fr Embedded-Anwendungen
Mit dem CrumbX1-NET Ethernet-Modul bietet die chip45 GmbH eine Plattform fr
Embedded-Anwendungen und ergnzt diese nun durch eine kompakte Power-
Over-Ethernet-Stromversorgung Power-PoE-1. Durch PoE reduziert sich der
Verkabelungsaufwand fr ein Ethernet-Gert auf ein Netzwerkkabel. Dabei wird die
Versorgungsspannung von einem PoE-Switch oder -Injektor ber Ethernet-Datenleitungen
oder ungenutzte Aderpaare des
Ethernet-Kabels bertragen.
Der angeschlossene Verbraucher
bentigt einen PD-Controller, der
die Gegenstelle beim Power-Up
ber seine Leistungsklasse
informiert. Auerdem ist in Ob Onlineshop oder Katalog:
der Regel ein Schaltregler
Wir liefern deutschlandweit innerhalb
erforderlich, der die hohe PoE-
von 24 h ohne Mindermengen-
Spannung von 36...57 V auf eine zuschlag. Lieferung ab 1 Stck.
gngige Versorgungsspannung Die Distrelec-Gruppe: Ihr Partner
von 5 V oder 3,3 V bringt. fr elektronische Bauelemente,
Diese komplette Funktionalitt ist im kompakten Steckmodul Power-PoE-1 mit Automation, industrielle IT und Zubehr.
Abmessungen von nur 28 x 15 mm integriert. Es kann z.B. direkt auf das Embedded
Ethernet-Modul CrumbX1-NET von chip45 aufgesteckt werden und stellt als Kombination WWW.DISTRELEC.DE
wohl eine der kleinsten PoE-versorgten Ethernet-Lsungen dar. Selbstverstndlich kann
das PoE-Modul auch alleine verwendet werden.
Das PoE-Modul hat die PoE-Klasse 1 und liefert eine Ausgangsspannung von 5 V bei einem Bestellhotline 0180 5223435*
*14 Ct./Min. aus dem Festnetz der Dt. Telekom AG,
maximalen Dauerstrom von 500 mA. Optional kann die Ausgangsspannung auch auf 3,3 V Mobilfunk kann abweichen
eingestellt werden. Anschluss-Pins im Rasterma 1/10 vereinfachen die Verwendung des
Moduls auf Lochrasterplatinen oder ltfreien Steckboards.
www.chip45.com
A Datwyler Company
Embedded
Firmware Library
Eigenschaften der Embedded Firmware Library Im Herbst hatten wir eine C-Bibliothek fr Elektor-
Bus-Mikrocontroller-Knoten vorgestellt [1]. Eines
Prinzipiell an alle Controller anpassbar, fr die ein ANSI-C-Compiler
der Kennzeichen war die Trennung in einen hard-
besteht
wareabhngigen Teil sowie ein Codemodul, das
Empfehlung ab 32 KB Flash und 2 KB RAM
fr die Protokolle zustndig ist.
Gut dokumentierte API
So ist es mglich, die Bibliothek schnell an andere
Bisher untersttzte Controller: ATmega328/324/644 und
Controllertypen und Boards anzupassen man
Xmega256A3. Weitere in Vorbereitung
muss nur den Hardware-Layer austauschen, die
Bisher untersttzte Boards: ElektorBus-Experimentalknoten, Xmega-
eigentliche ElektorBus-Bibliothek bleibt immer
Webserver-Board [9], Linux-Extension-Board [8], Arduino Uno Rev.3.
gleich.
Weitere Boards in Vorbereitung!
In einer typischen Bus-Anwendung mssen aber
Einfach an andere Boards anpassbar
nicht nur Nachrichten codiert und ber RS485
Bisher verfgbare hhere Libraries: LEDButton, ADCMux,
versandt und empfangen werden.
StepperMotor, ElektorBus, Display, WizNet-TCP/IP-Modul, SD-Karte
Es werden auch LEDs und Relais bedient, analoge
(Rohdaten)
(Sensor-)Werte eingelesen und Motoren ange-
Open-Source-Lizenz LGPL
steuert. Darber hinaus wre es schn, wenn
der Controller auf einfache Weise mit anderen
Zusammen programmiert
Beim Programmieren kamen weitere Ideen, und
so wurde das Ganze Schritt fr Schritt flexibler
und umfassender gemacht weit ber das Elek-
torBus-Projekt hinaus. Ich hatte dabei Glck, dass
ich mit unserem Leser Michael Busser (einem
Mitglied der ElektorBus-Google-Group) einen Mit-
Entwickler fand, der clevere Codemodule, Funk-
tionen und Ideen beisteuerte.
Um in freien Stunden zusammen am Code arbei-
ten zu knnen, legten wir auf der berhmten
Projekt-Plattform SourceForge [2] einen Ein-
trag namens Embedded Firmware Library (EFL)
an. SourceForge ist fr Open-Source-Projekte
reserviert, was ja gut zu Elektor passt; als Lizenz
haben wir die LGPL gewhlt [3]. Das wichtigste
Feature der Projekt-Plattform ist ein integrier-
tes, SVN-kompatibles Versionsverwaltungssys-
tem [4], das man unter Windows zum Beispiel
mit TortoiseSVN [5] bedienen kann. Ein Maus-
klick gengt, und man kann seine nderungen Beispiel hierfr ist der ATmega328, er ist auf ver- Bild 1.
hochladen (Commit) oder die neueste Version schiedenen Elektor-Platinen, aber auch auf dem Das Tool Doxygen sorgt
des Codes herunterladen (Update). Arduino-Uno-Board zu finden. fr eine bersichtliche
Dokumentation der
Funktionen.
Da mit der Zeit eine stattliche Sammlung von Wenn man einen Erweiterungsstecker mit einer
Funktionen zusammenkam, haben wir auch zum bestimmten Steckerbelegung spezifiziert, lassen
ersten Mal mit einem automatischen Dokumenta- sich auch verschiedene Controllerboards und
tionssystem gearbeitet. Wenn man im Code Kom- Erweiterungsboards kombinieren. Ein Beispiel
mentare mit einer bestimmten Notation hinter- hierfr ist das Linux-Extension-Board in diesem
lsst, kann das Open-Source-Programm Doxygen Heft [8]. Es passt nicht nur an das Elektor-Linux-
[6] automatisch eine bersichtliche Dokumenta- Board, sondern auch an das Xmega-Webserver-
tion aller Funktionen erstellen, welche auf HTML
basiert und in einem Browser angezeigt wer-
den kann (Bild 1). Wirklich eine tolle Sache! Die
Doxygen-Dokumentation der EFL kann man auf APPLICATION
der Website zu diesem Projekt [7] herunterladen.
DISPLAY LED BUTTON ELEKTORBUS LIBRARIES
Baukasten-System UART UDP/TCP/IP
COMMON
PC0
FLASH SRAM PD0
Das Blackbox-Prinzip
PC1 PD1
CPU PD2
Im Idealfall knnen alle drei Hardware-Codemo-
PC2
PD3
dule von drei verschiedenen Entwicklern program-
PC3 G G
TIMER / COUNTER miert werden. Klar ist: Der Controller-Code-Ent-
PC4 P P
TIMER / COUNTER wickler kann dabei nicht wissen, auf welchem
PC5
I TIMER / COUNTER I Board sein Controller zum Einsatz kommt, und der
O O PD4
Board-Entwickler nicht alle Extensions-Boards,
PB3 ADC PD5
PB4 die es geben wird, vorausahnen.
PD6
PB5
UART SPI
PD7
Bild 3. Doch auch umgekehrt (von oben nach unten) gilt,
I 2C
Stark vereinfachtes dass ein Entwickler sich nicht mit Einzelheiten
Blockschaltbild eines und dem intern verwendeten Code der nchsten
Controllers am Beispiel 120668 - 11
Schicht beschftigen muss. Der Board-Code-Ent-
ATmega328.
wickler bentigt nur den Schaltplan des Boards,
auf dem der Controller mit seinen Anschlssen
(Portpins) und deren Funktion verzeichnet ist. Mit
den Registern und Details im Inneren des Cont-
RS485
rollers (Bild 3) muss er sich nicht auskennen; der
ADC/2.0 3.0/RXD
RO
Controller ist fr ihn eine Black Box (Bild 4).
ADC/2.1 3.1/TXD
DI hnliches gilt fr den Entwickler des Extension-
3.2
ADC/2.2 DE Boards. Ihn interessiert nur die Pinbelegung des
3.3
ADC/2.3 RE Erweiterungssteckers, ber den sein Board mit
ADC/SDA/2.4
dem Controllerboard und damit auch mit dem
ADC/SCL/2.5
Controller Kontakt aufnimmt. Aber die Verdrah-
3.4
MOSI/1.3
3.5
tung auf dem Controllerboard (also welche Pins des
MISO/1.4
3.6 Steckers an welche Portpins des Controllers ange-
Bild 4. SCK/1.5
3.7 schlossen werden) muss er nicht kennen (Bild 5).
Fr den Board-Code-
Entwickler ist der Controller
Hhere Bibliotheken
eine Blackbox, er muss nur
ber der Hardwareschicht folgen Module, die
die Anschlsse (Portpins) 120668 - 12
kennen. hhere Bibliotheksfunktionen zur Verfgung stel-
len (in der EFL-Sprache Libraries genannt). Als
Board [9], das wir im Juni vorstellen werden Beispiele enthlt die Codebasis bereits ein Modul
(groes Bild). Ein Mother- oder Baseboard mit zum Ansteuern eines HD44780-kompatiblen Text-
diverser Peripherie, auf das verschiedene Prozes- Displays, einen Treiber fr ein TCP/IP-Modul von
sorboards aufgesteckt werden knnen, ist eine WizNet, eine kleine Schrittmotor-Ansteuerung
weitere Anwendung der EFL. sowie ein Modul zum Lesen und Schreiben von
Rohdaten auf eine SD-Karte. Das Blackbox-Prin-
Fr den Controller, das Controllerboard und das zip wird hier fortgesetzt. Wer die Display-Library
Extensionboard gibt es drei unterschiedliche ndern oder erweitern mchte, kann das Display
Codemodule, die jeweils aus einem Headerfile (oder besser gesagt den Display-Controller) als
.h und einem Codefile .c bestehen. Man muss also Block im Blockdiagramm des Boards betrachten
jeweils die passenden Files ControllerEFL.h/.c, (Bild 6). Er muss nicht wissen, welche Anschlsse
BoardEFL.h/.c und ExtensionEFL.h/c. in sein Pro- des Displays mit welchen Portpins des Controllers
jekt einbinden. Die Filenamen sind fr alle Con- verbunden sind. Dem Display-Library-Entwickler
troller und Boards, die von der EFL untersttzt kann sogar egal sein, ob das Display im 4-bit-
werden, gleich. Damit es hier nicht zu Namens- Modus oder per SPI angesteuert wird. Er kann
konflikten kommt, sind die Files in der unter [11] sich also ganz auf seine Aufgabe konzentrieren,
downloadbaren Codebasis in Unterordnern unter- die entsprechenden HD44780-Kommandos und
gebracht, die den Namen des jeweiligen Control- Daten zusammenzustellen.
SENSOR
(+0) IO/ADC
(+1) IO/ADC
(+2) IO/ADC
(+3) IO/ADC
SENSOR
(+4) IO/ADC
(+5) IO/ADC
Bild 5.
Der Entwickler des
Extensionboard-Codes muss
sich nur fr die Anschlsse
am Erweiterungsstecker und
120668 - 13 deren mgliche Verwendung
interessieren.
SENSOR #0 RS485
SENSOR #1
C
#0
Bild 6.
Der Applikationsentwickler
bentigt nur ein
Blockdiagramm, die
Verdrahtung auf den Boards
#1
muss er nicht kennen. Die
beiden LED-Blcke werden
120668 - 14
ber die Blocknummern #0
und #1 angesprochen.
LEDs, Taster, Relais und weitere digital gesteu- Zentrales Prinzip der ganzen Bibliothek ist jeweils
erte Einheiten lassen sich auch dann mit dersel- ein einheitliches Set von Funktionen (API), das
ben Bibliotheksfunktion bedienen, wenn sie nicht eine untere Schicht den jeweils hheren Schich-
direkt an einen Controllerpin, sondern an einen ten zur Verfgung stellt. Die Controller-API ent-
Bild 7.
ElektorBus-
Experimentalknoten mit
Erweiterungsplatine
(zwei Sensoren und vier
LEDs). Der Board-Layer
ist schnell an ein anderes
Board angepasst, wie zum
Beispiel die kommende
Schrittmotorplatine.
Bild 8). Auerdem erkennt man im Hauptfile zuerst die Konfigurationsdaten fr den Bus
(ExperimentalNodeEFL.c) das Grundgerst einer bereitgestellt (ein spezielles Konfigurationsfile
EFL-basierten Anwendung. Unter anderem ist zu ElektorBusNode.h/.c bentigen wir nicht mehr).
sehen, welche Funktionen beim Programmstart Danach folgen die Setup-Funktionen fr die Lib-
aufgerufen werden mssen. rary-Module, deren Parameter man im Normal-
fall nicht verndern muss. Mit SwitchLED(1, 0,
In der ApplicationSetup()-Funktion werden ON); wird die erste LED auf dem Extension-Board
Das erste Byte von Portpin bezeichnet den Port (die Die Setup-Funktion im Controller-Code ermittelt nun
Pingruppe); bei den AVR-Controllern ist dem Port A der Wert ber den Portpin die Unit-Nummer des gewnschten SPI-
0, dem Port B der Wert 1 usw. zugewiesen. ber diesen Interfaces, mit welcher der Controller die entsprechenden
Wert rechnet die Funktion dann das richtige Register aus. Hardware-SPI-Register berechnen kann. Fr sptere Zugriffe
Das zweite Byte bezeichnet den Pin innerhalb des Ports, bei wird die Unit-Nummer zusammen mit dem Portpin in
einem 8-bit-Controller luft der Wert von 0..7. Die Portpins einem Array namens Map gespeichert. Danach gibt die
kann man im Schaltplan mit 0.1, 0.2, , 1.0, 1.1 SPIMaster_Setup-Funktion den Index dieses Eintrags als
usw. bezeichnen (siehe Bild 4). Handle (0) zurck.
Mit dem Handle kann der Board-Code ab jetzt das
Features, Units und Handles gewnschte SPI-Interface ansprechen, um ein Byte zu
Die verschiedenen Funktionen, die ein Controller zur senden und zu empfangen:
Verfgung stellt (ADC, UART, SPI, Timer/Counter usw.),
werden in der EFL Features genannt. Von einem Feature uint8 SPIMaster_TransceiveByte(int8 Handle, uint8
wie SPI kann es mehrere Units geben, so besitzt der Databyte)
Xmega256A3 beispielsweise drei SPI-Units. Zu jeder der Units
gehren bestimmte Portpins (siehe Datenblatt des jeweiligen Genauso funktioniert das auch bei den anderen Features.
{1}
SENSOR [3] RS485
[5]
ADC/2.0 3.0/RXD [4]
(+0) (4) {0}
ADC/2.1 3.1/TXD
(+1) (5)
ADC/2.2 3.2
(+2) (6) (10)
{2} 3.3
SENSOR ADC/2.3 (11)
(+3) (7)
[6] ADC/SDA/2.4
(+4) (8)
(+5) (9)
ADC/SCL/2.5 C (0) [0]
3.4 (1)
MOSI/1.3
3.5
MISO/1.4
3.6
SCK/1.5 (2) [2]
3.7
[1] (3)
120668 - 16
Ausblick
Dieser Artikel konnte nur eine kurze Einfh- Weblinks Bild 8.
rung sein; speziell fr C-Ein- und -Umsteiger Screenshot des Beispiel-
[1] www.elektor-magazine.de/120582
ist noch ein Step-by-Step-Artikel geplant. Dar- Projekts in Atmel Studio 6.
ber hinaus wird die EFL auch bei kommenden [2] http://sourceforge.net/projects/embeddedlib/ Die Codefiles des Projekts
[3] www.gnu.org/licenses/lgpl.html sind (virtuell) in bestimmten
Elektor-Projekten eingesetzt, zum Beispiel beim
Unterordnern untergebracht,
Xmega-Webserver-Board. [4] http://subversion.apache.org was die bersicht
Vielleicht wird der eine oder andere Leser die EFL erleichtert.
[5] http://tortoisesvn.net
nicht nur verwenden, sondern auch erweitern und
[6] www.doxygen.org
anpassen wollen (siehe hierzu die Hinweise im
ausfhrlichen Dokument [7]). Wer Vorschlge fr [7] www.elektor-magazine.de/120668
nderungen oder Erweiterungen hat, etwa bei [8] www.elektor-magazine.de/120596
der Controller-API, kann sich gerne beim Autor [9] www.elektor-labs.com/xmegawebserver
melden unter redaktion@elektor.de. Natrlich
[10] www.elektor-magazine.de/110258
wre es auch schn, wenn wir Untersttzung
bei der Anpassung an weitere Controller, Boards [11] www.elektor-labs.com/EFL
und Peripherie-Blocks bekommen knnten.
Auf der Elektor .Labs-Website [11] werden wir
regelmige Updates verffentlichen.
(120668)
Barostick
Luftdruck und Temperatur mit
USB-Stick messen
Von Module in USB-Stick-Bauform gibt es fr viele Anwendungen, von WLAN und Blue-
Ruud van Steenis
tooth bis zum Daten-Logging. Das gleiche handliche Format hat der Luftdruck- und
(NL)
Temperaturmesser Barostick, der die Umweltgren Luftdruck und Temperatur
mit einem Sensor von Bosch-Sensortec misst. Ein Programm, das unter Windows
auf dem PC luft, stellt die Messwerte grafisch auf dem Bildschirm dar. Sogar das
Hochladen der Grafiken auf einen FTP-Server ist mglich.
Wenn es in der Welt der PCs um das Speichern und sor in ein Mikrocontroller-System eingebunden
Transportieren von Daten geht, sind USB-Sticks wird. Im Sensor sind individuelle Kalibrierwerte
unentbehrlich. Die Vorteile liegen buchstblich auf gespeichert, die der Hersteller seinem Produkt
der Hand: Die kleinen Speicherriesen passen in mitgibt. Die Messergebnisse sind erst aussagef-
jede Hosentasche, und Zugriffe auf die Daten sind hig, nachdem sie ber einen vorgegebenen Algo-
mit modernen PCs problemlos mglich. Die not- rithmus mit den Kalibrierwerten verknpft sind.
wendigen Treiber sind in den aktuellen Betriebs- Eine Bibliothek [2] fasst alle komplizierten
systemen bereits integriert. Auch Messsysteme Rechenoperationen zusammen, so dass dem
lassen sich im Format von USB-Sticks realisieren, schnellen Programmieren eigener Anwendungen
solange sie nicht allzu komplex sind. Ein Beispiel nichts im Weg steht. Die Routinen sind auch im
ist ein USB-Stick eines chinesischen Herstellers, PC-Programm implementiert, das fr den Baros-
der Temperaturen und relative Luftfeuchten misst. tick geschrieben wurde. Das PC-Programm stellt
Diese Gren gehren zu den mageblichen Fak- die Messwerte grafisch auf virtuellen analogen
toren fr das Wohlbefinden des Menschen. Dage- Anzeigeinstrumenten dar. Natrlich knnen die
gen ist der Luftdruck eine Gre, die von Mess- Messwerte auch gespeichert werden.
systemen dieses Formats nur selten erfasst wird.
Unser Barostick, der diese Lcke schliet, arbeitet Hardware
mit dem Luftdrucksensor BMP085 [1] von Bosch- Fr den Datenaustausch mit einem Mikrocontroller
Sensortec. Aus Bild 1 geht hervor, wie der Sen- ist auf dem Chip des Sensors BMP085 eine I2C-
an +5 V. EOC
4k7
4k7
4k7
4k7
10u
1 330n
7 SDA
MCLR
VDD
2 18 12
2N7002 IC3
tung nach logisch 1.
D- RB5
3 19 13 T2
D+ RB4 6 SCL
4
Auf der Sensor-Seite (+3,3 V) geht eine Lei- 16
IC2
5
BMP085
5
6
OSC2
Bild 2.
VDD1 = 3V3 VDD2 = 5V Der USB-Luftdruck- und
Temperaturmesser arbeitet
Rp Rp Rp Rp
mit einem Sensor-Chip von
Bosch-Sensortec und einem
T1
G Mikrocontroller aus der PIC-
Familie.
SDA1 SDA2
S D
G
T2
SCL1 SCL2
S D
Bild 3.
Die Signalpegelanpassung
3V3 3V3 5V 5V zwischen 3,3 V und 5 V
device device device device
wird mit zwei FETs und
120481 - 12 einigen Pullup-Widerstnden
realisiert.
Stckliste Auerdem:
(Alle R und C: SMD-Bauform 0603) X1 = Quarz 12 MHz (HC49US)
USB-A-Buchse, SMD-Ausfhrung (Lumberg 2410 07)
Widerstnde: USB-Stick-Gehuse (USB1SW, Conrad 531275)
R1...R5 = 4k7 Platine 120481-1
Aufgebautes und getestetes Modul: 120481-91 (siehe
Kondensatoren: [3])
C1 = 10 /10 V X5R Software bestehend aus Quell- und Hexcode, Win-
C2,C3 = 300 n dows-Programm und DLL mit Quellcode:
C4,C5 = 22 p Freier Download von [3]
Halbleiter:
T1,T2 = 2N7002 (SOT232)
Bild 4. IC1 = AP1117E33G-13 (SOT-223)
Das Layout der Platine ist IC2 = PIC18F14K50-I/SO (programmiert, 120481-41)
so gestaltet, dass fr die IC3 = Luftdrucksensor BMP085 oder BMP180 (Bosch
Bestckung zwei Sensor- Sensortec)
Typen von Bosch-Sensortec
zur Wahl stehen.
>> ni.com/multisim/d
SENSOR+TEST
Halle 11, Stand 410
2013 | National Instruments, NI, ni.com, Multisim und LabVIEW sind Marken der National Instruments Corporation.
Andere Produkt- und Firmennamen sind Warenzeichen der jeweiligen Unternehmen.
Weblinks
[1] www.datasheetarchive.com/barometric
BMP085-datasheet.html
[2] www.property-protection.nl/Temper
[3] www.elektor.de/120481
[4] www.voti.nl/common/pcb-12.jpg
[5] www.wunderground.com
USB 3.0
OSZILLOSKOP
If only RF could
be so easy.
ALLE MODELLE WERDEN MIT TASTKPFEN, KOMPLETTER SOFTWARE UND 5 JAHRE GARANTIE
GELIEFERT. DIE SOFTWARE ENTHLT: MESSUNGEN, SPEKTRUM-ANALYZER, KOMPLETTES SDK,
ERWEITETER TRIGGER, FARB-PERSISTENZ, SERIELLE DEKODIERUNG (CAN, LIN, RS232, I2C, I2S,
SPI), MASKEN, MATHEM. KANLE - ALLES ALS STANDARD. KOSTENLOSE UPDATES.
RF Modules
Remote Controls
Antennas
RF Connectors
Custom Designs
www.linxtechnologies.com
www.usb3scope.com/PS208
Von
Jean-Jacques Aubry
(F)
Im letzten herabgesetzt
Te i l d i e s e s werden muss, war erst
Beitrags wenden wir offensichtlich, als wir hohe
uns endlich dem Bau Kapazitten (1000 F und hher)
und der Inbetrieb- gemessen haben. Der Grund ist vermut-
nahme unseres LCR- lich eine Eigenschaft des MAX7404, die dazu
Meters zu. Doch bevor der Ltkolben fhrt, dass das Eingangssignal des Analog-Digi-
angeheizt wird, kehren wir noch einmal zum tal-Wandlers mit niedriger Frequenz schwebt. Da
Schaltbild im vorangegangenen Teil zurck. hohe Werte von C3 und C9 diese unerwnschte
Erscheinung begnstigen, haben wir die Werte
Ungereimtheiten herabgesetzt.
Bei den Vorbereitungen dieses letzten Teils unse- Fr U2 ist der MAX7404CSA der geeignete Typ,
res dreiteiligen Beitrags kam es ans Licht: Zwi- der MAX7404ESA hat den erweiterten Tempe-
schen dem im zweiten Teil verffentlichen Schalt- raturbereich 40...+85 C, der jedoch fr das
bild und unserer Stckliste hatten sich kleine LCR-Meter nicht notwendig ist. U10 (Zenerdiode-
Ungereimtheiten eingeschlichen. Symbol rechts neben U9) kann auch ein LM4040
Das Schaltbild des LCR-Meters hatten wir in Elek- sein. Wir hatten den LM4050 genommen, weil
tor, Ausgabe Mrz 2013, verffentlicht. Darin wir ihn griffbereit hatten. Operationsverstrker
fehlt die Angabe der Frequenz von Quarz Y1, die U6 muss ein OPA365 sein, denn seine Offset-
Frequenz betrgt 24 MHz. Die parallelen Kop- spannung ist wesentlich niedriger als die Offset-
pelkondensatoren C3 und C9 vor dem Puffer U1 spannung des OPA354. Die nchste Korrektur
mssen die Kapazitt 1 F haben, der Wert 4,7 F betrifft U19: Dies ist FT232RL, ein Tippfehler ist
hat sich als zu hoch erwiesen. Dass dieser Wert verantwortlich, dass daraus ein FT235RL wurde.
Wichtige Eigenschaften
Das LCR-Meter arbeitet nach dem Prinzip der automatischen Impedanzmessbrcke. Bei der
Entwicklung stand hchste Messgenauigkeit bei unkompliziertem Aufbau an erster Stelle.
Gemessen werden Widerstnde, Kapazitten und Induktivitten passiver Komponenten im
Bereich 1 m...1000 M. Die Frequenz des Messsignals kann 100 Hz (oder 120 Hz, abhngig
von der Netzfrequenz 50 Hz oder 60 Hz), 1 kHz oder 10 kHz betragen.
Zwei Gertekonfigurationen stehen zur Wahl:
Messmodul ohne Display und ohne Bedienelemente, Betrieb nur zusammen mit PC,
Verbindung ber USB, Bedienung ber PC-Programm. Das PC-Programm basiert auf der
Qt-Bibliothek von Atmel, es wurde unter Windows XP, Linux Ubuntu 11.04 sowie MacOS X
Snow Leopard, Lion und Mountain Lion getestet. Unter neueren Windows-Versionen ist das
Programm ebenfalls lauffhig.
Messmodul ergnzt durch eine Erweiterungsplatine, darauf ein LC-Display und die
Bedientaster. Die Funktionen sind vollstndig identisch mit der PC-Version. Stromversorgung
ber die USB-Buchse mit externem Netzteil oder aus externem USB-Port.
Bei den Einstellarbeiten fiel uns auf, dass R17 ein er verbindet die analoge und die digitale Masse
Widerstand mit dem Wert 10 sein muss, die im an einem einzigen, definierten Schaltungspunkt.
Schaltbild stehende Angabe NC (Not Connected) Eine Ltbrcke ist fr R50 ausreichend. Die Kon-
ist nicht korrekt. Die brigen Bauelemente mit der densatoren mssen unbedingt den Angaben in
Bezeichnung NC mssen nur whrend der Kali- der Stckliste entsprechen, kritisch sind insbe-
brierung an ihren Pltzen sein. Hinweise zur Kali- sondere die NP0-Typen.
brierprozedur enthlt ein nachfolgender Absatz. Der nchste Hinweis betrifft den Quarz. Auf der
Wir empfehlen, die genannten Korrekturen in das Platine befindet sich ein Ltpunkt mit der Bezeich-
Schaltbild einzutragen, so dass sie beim Best- nung XTAL CASE. Dieser Ltpunkt muss ber
cken der Platine nicht vergessen werden. Das ein kurzes Stck Draht mit dem Metallgehuse
korrigierte Schaltbild werden wir auf die Projekt- des Quarz verbunden werden, nur dann ist die
seite [3] einstellen, von dort kann es zusammen Abschirmung des Quarzes wirksam. Doch Vorsicht
mit der Software, den Platinenlayouts und den beim Lten am Gehuse, der Quarz ist empfindlich
Dokumentationen heruntergeladen werden. gegen berhitzung, die Ltdauer darf nur kurz sein!
Ein weiterer, nicht weniger wichtiger Hinweis
Aufbau zur Bestckung im Do-it-yourself-Verfahren:
Zum LCR-Meter gehren zwei Platinen, Bild 1...3 Der Mikrocontroller wird vom Hersteller absolut
zeigt die Layouts. Die zweite Platine, Erweite- nackt ausgeliefert. Vor der Montage muss der
rungsplatine genannt, wird nur fr die Stand- Bootloader in den Mikrocontroller geflasht wer-
alone-Version bentigt! Bei der PC-Version ist den. Das geschieht mit einem separaten Modul,
der PC fr die Anzeige- und Bedienfunktionen das die Bezeichnung USB Debug Adapter hat
zustndig. und bei Silicon Laboratories erhltlich ist.
Wenn Sie ber die notwendige Arbeitsplatz-Aus- Die folgenden Anmerkungen beziehen sich auf
stattung verfgen und gengend Erfahrung in das Display- und Bedienmodul der Stand-alone-
der Kunst der SMD-Montage besitzen, knnen Version: Mit HE10 ist ein Flachkabel-Steckver-
Sie die leeren Platinen in Eigenregie bestcken. binder gemeint, der unmittelbar auf die Platine
Trotzdem mchten wir Sie warnen: Dieses Werk geltet wird (Bild 4a und 4b). Dieser Steckver-
gelingt nur Spezialisten, bitte bedenken Sie vor binder muss flach sein, damit die Platine in das
Baubeginn, worauf Sie sich einlassen. vorgesehene Gehuse passt. Das Display wird
Wir empfehlen Ihnen, der Stckliste konsequent an einer Kante ber eine Reihe kleiner Ltsttz-
zu folgen. Damit meinen wir nicht die Reihenfolge punkte festgeltet, parallel dazu liegen zwei Lt-
der Bauelemente in der Stckliste, sondern die punktreihen normaler Gre. Diese Verbindungen
Werte und Toleranzen. Abgesehen von vier Pr- erschienen uns nicht gengend stabil, falls das
zisionswiderstnden haben alle Widerstnde die LCR-Meter rauen mechanischen Beanspruchun-
Toleranz 1 %. Widerstand R50 hat den Wert 0 , gen ausgesetzt ist. Deshalb haben wir das Dis-
play oberhalb der Ltpunkte zustzlich mit einem nenten sind nur fr die Kalibrierung bestimmt,
Zweikomponentenkleber fixiert. sie werden erst spter montiert.
Fr den Fall, dass Unsicherheiten bei der Wahl Die vorstehenden Hinweise gelten fr Ltprofis und
der korrekten Bauelemente auftauchen, haben andere Do-it-yourself-Enthusiasten. Wenn Sie nicht
wir auf der Projektseite [3] eine zweite Version zu dieser Gruppe gehren oder Ihre Zeit zu knapp
der Stckliste (BOM, Bill Of Materials) eingestellt. bemessen ist, knnen Sie die aufgebauten und
Jene Version enthlt weitere, mglicherweise funktionsgetesteten Module im Elektor-Shop erwer-
wichtige Details. ben. Die Module kommen dann ins Haus, sie ms-
sen nur noch im Gehuse befestigt werden. Sofort
Die Reihenfolge, in der die Bauelemente montiert nach der Kalibrierung ist das Gert betriebsbereit.
werden, hngt von den Abmessungen ab. Den Das LCR-Meter ist ein empfindliches elektroni-
Anfang machen die kleinsten Exemplare, womit sches Messgert, das vor Streinflssen, insbe-
nicht nur die Widerstnde und Kondensatoren sondere aus dem Stromnetz abgeschirmt werden
gemeint sind. Auch die ICs mit den schmalsten muss. Ein Metallgehuse, zum Beispiel der Typ
Abstnden zwischen den Anschlssen (Lead Spa- 1455L1601 von Hammond, ist eine gute Wahl,
cing) gehren dazu. Die auf der Platinenrckseite um die Module gemeinsam unterzubringen. Ein
zu montierenden Komponenten drfen natrlich Bohrplan fr dieses Gehuse gehrt zur Doku-
nicht fehlen. Die mit NC markierten Kompo- mentation auf der Projektseite [3].
a b
Bild 1. Diese Seite (a) der doppelseitigen Messmodul-Platine wird zwar Bestckungsseite genannt...
...doch auch auf der anderen Seite (ohne Aufdruck!) mssen Komponenten montiert werden (b).
U13 = SN74LVC2G53DCT (TI, SM-8) J4,J5,J14 = Stiftkontakt 1-polig abgewinkelt (siehe Text)
U15 = REG102GA-A (TI, SOT223-5) J10,J11,J12,J13 = BNC-Buchse horizontal, isoliert (z. B. TE Connectivity
U16 = LT1611CS5 (Linear Technology, SOT23-5) 1-1337543-0)
U17 = TPS72325DBV (TI, SOT23-5) J15 = Stiftkontaktleiste 10-polig HE10 (z. B. Multicomp MC9A12-1034)
U18 = TLV70030DDC (TI, SOT23-5) J16 = Stiftkontaktleiste 14-polig HE10 (z. B. Multicomp MC9A12-1434)
U19 = FT232RL (FTDI, SSOP-28) J17 = Stiftkontaktleiste 2-polig abgewinkelt, Raster 2,54 mm
J19 = USB-Buchse Typ B, horizontal (z. B. TE Connectivity 292304-1)
Auerdem: K1 = Drucktaster (Omron B3F-10xx Series)
Y1 = Quarz 24 MHz (z. B. Euroquartz 24.000 MHz Platine 110758-1
HC49/4H/30/50/40+85/18pF/ATF) oder aufgebaute und getestete Platine 110758-91
SW1 = Drehschalter (RS Components 734-6934) Gehuse: Hammond, 1455L1601 mit Beschriftung
J1,J2,J3,J6,J7,J8,J17,J21,J22 = Stiftkontaktleiste 2-polig, Raster Schrauben und Muttern (Gewinde M3), Abstandsrollen, Scheiben
2,54 mm
Bild 2.
Dies ist der Prototyp des
LCR-Meters.
Kondensatoren:
(SMD 0805)
C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 = 1 /25 V, 10 %, X7R
Halbleiter:
D1,D2,D3,D4 = BAT54A (SOT23)
D5 = LED 3 mm grn, bedrahtet (z. B. Kingbright L-424GDT)
Q1,Q2 = MOSFET N-Kanal (SOT23, z. B. Fairchild FDV303N)
Auerdem:
U1 = Grafik-Display: Displaytech 64128M-FC-BW-3
J1 = Stiftkontaktleiste 14-polig, Low-Profile HE10, Hhe 5,4 mm
(Harting 09 18 114 9622) Bild 3. Platine fr das optionale Display- und Bedienmodul.
K1,K2,K3,K4,K5 = Drucktaster (Multicomp TS0B22)
Flachkabel-Steckverbinder fr 14-adriges Kabel (z. B. Multicomp
MC6FD014-30P1)
Platine 110758-2
14-adriges Flachkabel, Lnge 1 m, 10 cm werden bentigt (3M
oder aufgebaute und getestete Platine 110758-92
3365-14)
4x 14 70
2.03
= =
=
(30.5)
80.83
=
=
3.5
37
1.48
61.40
R=2
(91.8)
43.18
5x 10.2
61.95
13
8.03
22.57
9
5.0
10.97
3.97
1.16
R=1
R=1
45.00 61.86 75.20 88.53 101.87 115.20 132.01
6.50
31.75 110758 - 17 (160.0)
110758 - 16
LCR
meter
S/P/A +
Bild 6.
QD
Beschriftung der Frontplatte,
fr Gravur oder Siebdruck.
LEDs D8 und D9 auf. Dies ist ein Zeichen dafr, geflasht. Die Online-Dokumentation erklrt diese
dass der PC mit dem FT232R (U19) auf der Mess- Prozedur sowie die nachfolgenden Schritte.
modul-Platine Daten austauscht.
Danach starten Sie auf dem PC das Programm
Mit dem USB Debug Adapter aus Bild 8, ange- AU2011. Das Programm stellt die Verbindung mit
schlossen an J15, und dem Programm Flash- dem Bootloader her und ffnet einen seriellen
Util wird der Bootloader in den Mikrocontroller Port. Ist auch dies gelungen, muss nur noch ber
Bild 7a.
Die Kelvin-Messklemmen mit
BNC-Anschlssen kosten im
Handel ungefhr 10 .
Bild 7b.
Der Messkopf von Hameg
passt unmittelbar auf die
LCR-Meter-Anschlsse.
PICo PROto
Wie testet man schnell einen neuen Sensor? Und wie probiert man eine neue Idee
aus, ohne jeweils ein komplexes und teures Entwicklungs-Board konfigurieren zu
mssen? Diese Frage stelle ich mir oft, und getreu der Regel, dass man gerade auf
die einfachsten Dinge am hufigsten zurckgreift, habe ich PICo PROto entwickelt,
ein minimalistisches Prototyping-Tool
Von
Michel Kuenemann
(F)
dringend fr den nchsten Einsatz bentigt wird. geringe Gre von 28 x 42 mm kann der Proto-
Sie haben Recht, wenn Sie hier einwenden, dass typ sowohl in einem Flugzeugmodell oder einem
Microchip viele bezahlbare Evaluation-Boards kleinen Roboter als auch in greren Aufbauten
anbietet, die nur auf meine Ideen gewartet haben, verwendet werden. Der Zwang zum Platzsparen
aber fr den Groteil meiner Versuche sind diese hat auch sein Gutes, da der Entwickler sich auf
Boards in punkto Anschlsse, Platzbedarf und den eigentlichen Zweck konzentrieren muss und
Preis deutlich berdimensioniert. nicht in Versuchung kommt, die Schaltung mit
Ich habe daher eine minimalistische doppel- berflssigem zu berfrachten.
seitige Platine entworfen; fr PIC16 und PIC18
im SO28-Gehuse auf der einen Seite und im Das Schaltbild
SSOP28-Gehuse auf der anderen. Auch ist Platz Keine berraschungen, es ist die Einfachheit
fr einige SMD-Bausteine. Auen herum ist ein selbst. Sogar die Bezeichnung Schaltbild (Bild 1)
Feld mit quadratischen Ltpads im 2,54-mm- ist etwas hoch gegriffen, da keinerlei Bauteile
Raster fr bedrahtete Bauteile und den unver- enthalten sind. Somit kann man direkt zur Praxis
zichtbaren (Programmier-)Anschluss, der den bergehen. Nebst den SO28- beziehungsweise
Prototyp mit der Auenwelt verbindet. Durch die SSOP28-Pads fr den Controller (bitte immer nur
1 8
1 28
2 SO8 7
2 27
3 footprint 6
3 26 (1.27 mm pitch)
4 5
4 25
5 24
6 23 1 8
7 SO28 footprint 22 2 7
(1.27 mm pitch)
SO8
8 21 3 footprint 6
(1.27 mm pitch)
9 20 4 5
10 19
11 18
1 8
12 17
2 SO8 7
13 16 TOP SIDE footprint
3 6
14 15 (1.27 mm pitch)
4 5
1 10
1 28
2 9
2 27 MSOP10
BOTTOM SIDE 3 8
3 26 footprint
4 (0.5 mm pitch) 7
4 25
5 6
5 24
6 23
1 8
7
SSOP28 footprint 22
(0.635 mm pitch) 2 MSOP8 7
8 21
3 footprint 6
Bild 1.
20
9
10 19
4
(0.635 mm pitch)
5 Dies ist kein normales
11 18 Schaltbild, da es keine
1 8
12 17
2 MSOP8 7 Bauteile aufweist, sondern
13 16
footprint
14 15
3
(0.635 mm pitch)
6 nur Ltpads. PICo PROto ist
4 5
kompatibel mit allen 8-Bit-
120137 - 11
PICs im 28-poligen Gehuse.
10k
20
Falls Sie mit Ihrem Controller ber den USB K1
VDD
100n
1 1 21
kommunizieren wollen, nehmen Sie doch ein- MCLR RB0
2 22
RB1
fach den BOB-FT232 [2] zu Hilfe. Nach Einlten Pickit3 3
RB2
23
ICD2, ICD3
und Anschlieen von Verbinder K2 kann die Ver- 4 28
RB7/PGD RB3
24
5 27 25
bindung hergestellt werden; BOB-FT232 ber- RB6/PGC RB4
26
RB5
nimmt auch die Stromversorgung Ihrer Platine ICSP PIC16F/18F
(im Bild 4 unten ist die Verbindung PICo PROto 2
RA0 RC0
11
R2
3 12
RA1 RC1
mit BOB zu sehen). In diesem Fall mssen Sie vor 4 13
330R
RA2 RC2
dem Anschluss von BOB in MPLAB das Kstchen 5
RA3 RC3
14
6 15
Power target circuit from PICkit3 deaktivieren. 7
RA4 RC4
16 K2
RA5 RC5
Auch am BOB muss vorher mittels Jumper JP1 10
OSC2 RC6/TX
17 1
b c
Bild 5
a - Testaufstellung mit
Luftdrucksensor (und BOB).
b - Rckseite mit
PIC18F27J13 im SSOP28-
Gehuse.
Tools fr
Vektor-Motorsteuerungen
MotorMind & SigmaBoard
Neben PMD-Funktionen (Programmable Motor ter-Kits und auch von Third-Party-Tools durch-
Drive) bieten diese Mikrocontroller eine VE (Vec- aus relevant. Besonders dem letzten Punkt wird
tor Engine), wodurch der Umgang mit dem kom- Rechnung getragen, wenn man Mikrocontroller
plexen Gebiet der FOC (Field Oriented Control) mit nichtproprietren Architekturen whlt. Da
erleichtert wird. Die Mikrocontroller-Hardware ist die Toshiba-Controller auf einem ARM-Cortex-
nur ein (wichtiger) Aspekt fr eine gut funktio- M3-Kern basieren, setzt man damit auf einen
nierende Steuerung. Selbst mit speziell an die Defacto-Industriestandard, fr den viele Firmen
Aufgabe angepasster Hardware bleibt eine intel- wie Atollic, IAR oder Keil Untersttzung anbieten.
ligente Motorsteuerung eine Herausforderung.
Die Verfgbarkeit guter Support-Tools spielt eine Entwicklungs-Hardware
groe Rolle bei einer erfolgreichen System-Imple- Man ist nicht nur auf Third-Party-Tools ange-
mentierung. Es muss also nicht nur das System wiesen, da die Hersteller von Mikrocontrollern
an sich passen, sondern auch das Support-ko- zunehmend in den Support investieren und ihre
system stimmen. Fr das Prototyping sind Punkte eigene Entwicklungs-Software und Hardware
wie die Verfgbarkeit von Referenz-Designs, Star- anbieten. Ein Beispiel ist das neue, preiswerte
SigmaBoard (Bild 1) von Toshiba. nungen sinnvoll, hilft aber auch beim Testen von
Dieses komplette kleine Entwicklungs-Board misst Antrieben fr E-Bikes im realen Einsatz.
nur 2,5 x 5 cm und dient nicht nur als Starter-Kit, Mit MotorMind kann man alle relevanten Motor-
sondern fungiert gleichzeitig als Referenz-Design. Parameter konfigurieren. Man kann z.B. die Dreh-
Man kann damit sehr gut FOC- bzw. Vektor-Steu- zahl ndern und dabei die Reaktion auf dem
erungen fr brstenlose Gleichstrommotoren bis grafischen Display in Form von Ziel-Drehzahl,
zu 36 V / 2 A realisieren. Auf der digitalen aktuelle Drehzahl und Drehmoment in Echtzeit
Oberseite sitzt ein TMPM373-Mikrocontroller verfolgen. Die Software bietet sogar bestimmte
von Toshiba, ein USB/seriell-Wandler mit einem DSO-Funktionen (Digital Storage Oscilloscope)
Durchsatz von 115 kbit/s, eine USB-Buchse mit erweiterten Trigger-Mglichkeiten.
zum Anschluss an einen PC, eine RGB-LED zur Mit MotorMind ist ein angepasstes Setup eines
Anzeige der Motorphase, die High-Side-MOSFETs Motors in einer Stunde machbar. Einmal konfigu-
sowie ein U-, V- und W-Anschluss fr den Motor. riert kann das SigmaBoard dann als fertige Motor-
Auf der unteren analogen Seite befinden sich steuerung ohne PC fungieren. Fr einen kompletten
die Gate-Treiber, die Strom-Sensorik mit einem
50-m-Shunt-Widerstand und zugehrigem
Verstrker, ein berstrom-Komparator und die
Low-Side-MOSFETs.
Beim TMPM373 handelt es sich um einen 48-poli-
gen SMD-Chip mit stromsparendem, 32-bittigen
Controller, der bei einer Betriebsspannung von
5 V mit einer Taktfrequenz von bis zu 80 MHz
betrieben werden kann. Der Controller enthlt
die schon angesprochenen VE- und PMD-Funktio-
nen. Seine Peripherie-Funktionen sind speziell auf
die Anwendung in Motorsteuerungen optimiert.
Der auf dem SigmaBoard bestckte Controller
ist schon mit der Motorsteuerungs-Firmware von
Toshiba versehen, was die Entwicklung speziel-
ler Software berflssig macht. Der Flash-Spei-
cher des Chips untersttzt Rapid Programming.
Zustzlich vereinfacht eine OFD-Einheit (Oscilla-
tion Frequency Detection) die Kompatibilitt zu
den Sicherheitsstandards nach IEC 60730.
Fr maximale Flexibilitt gibt es auch noch
Anschlsse zur Ansteuerung einer zustzlichen Antrieb reicht daher die Kombination von Motor, Bild 2.
Leistungs-Platine auf dem SigmaBoard, so dass Stromversorgung und SigmaBoard. ber ein exter- Anzeige von Werten
man mit der gleichen Firmware und derselben nes analoges Signal kann man dann die Drehzahl der Motorsteuerung in
MotorMind.
Logik auch Motoren grerer Leistung ansteu- einstellen. Es gibt noch einen PWM-Speed-Eingang,
ern oder andere Anwendungen erschlieen kann. Fehler-Erkennung und Anzeige und auerdem kn-
nen auch Tachosignale angeschlossen werden, was
Software-Support aber nicht unbedingt erforderlich ist.
Das SigmaBoard wurde fr den Einsatz mit
Toshibas MotorMind-Software konzipiert. Diese MotorMind-Fhigkeiten
freie Software luft auf einem PC oder einem Mit MotorMind lassen sich Motor-Parameter wie
Android-System und stellt eine intuitive und daher Pol-Paare, Strom, Drehrichtung, Beschleunigung
einfach zu bedienende GUI zur Verfgung. Bei und Encoder-Details eingeben und auf das Sigma-
einem Android-Smartphone oder Tablet erfolgt Board laden. Es gibt Einstellungen fr PI-Regler
die bidirektionale Kommunikation ber eine Blue- (Proportional-Integral) und System-Parame-
tooth-Verbindung mit dem Board. Das ist nicht ter wie Totzeit, PWM-Frequenz und Shutdown/
nur hoch flexibel, sondern impliziert gleichzeitig Restart-Verhalten alles schn grafisch mit GUI.
eine galvanische Trennung. Dies ist vor allem Es knnen auch Einstellungen vom SigmaBoard
beim Ausprobieren von Motoren fr hhere Span- gelesen werden.
Weblinks
[1] Support:
http://forum.toshiba-components.com/fo-
rum.php
[2] Toshiba-Wettbewerb:
www.elektor-labs.com/M370-contest
Bild 3. Die Software hat diverse Fenster, darunter sogar [3] Demo-Video zu MotorMind:
Die Vector Engine des eine Anzeige, die ber die Auslastung des Cont- www.youtube.com/watch?v=iqhsvtEMMEk
Mikrocontrollers. rollers informiert. Dann gibt es noch ein Fenster
zur Motor-Konfiguration, das neben einem Start/
Stopp-Knopf einen Schieberegler zur Einstellung
der Drehzahl enthlt. Auerdem gibt es noch
zwei grere Fenster: eines mit einer aktuellen
Anzeige von Drehzahl, Drehmoment und Strom Design-Wettbewerb mit Toshibas M370
relativ zur Zieldrehzahl sowie das DSO-Display. BLDC-Motor-Controller mit M370 -
Die DSO-Funktion erfasst Signale mit einer Auf- attraktive Preise zu gewinnen
lsung bis zu 50 s bei einer PWM-Frequenz von Seit dem 26. Februar 2013 luft ein
20 kHz. Bis zu acht VE- und Firmware-Parameter hochinteressanter Schaltungswettbewerb von
aus einer Liste von 32 mglichen Signalen kn- Toshiba in Kooperation mit Elektor. Prmiert
nen gleichzeitig dargestellt werden. Darunter sind werden innovative Steuerungen fr BLDC-
die Spannungen und Strme der Pole, Strme Motoren auf der Basis des SigmaBoards. Wir
fr d- und q-Achsen, Proportionalkoeffizienten sind sehr gespannt auf neue Ideen!
und andere interne Signale der integrierten VE
(siehe Bild 2). Man kann wie bei einem richti- Es gibt interessante Sachpreise zu
gen DSO die Trigger-Quellen und Trigger-Bedin- gewinnen:
gungen wie fallende oder ansteigende Flanken, 1. Preis: Toshiba Multimedia-Notebook der
mittlerer oder linksseitiger Trigger und die Trig- Spitzenklasse mit 15-Display
ger-Schwelle einstellen (siehe Bild 3). Zustz- 2. Preis: Toshiba Tablet AT-300
lich ist es noch mglich, jeden n-ten Event zu 3. Preis: 60 GB SSD PC Upgrade Kit
loggen. Mit n 256 knnen damit auch lngere Interface SATA 6.0 Gbit/s, Size 2.5-inch
Abschnitte aufgezeichnet werden. Die Tick-Dauer (6,4 cm)
und die gesamte Aufzeichnungszeit werden unten 4. Preis: 8 GB Flash-Air-SD-Card
am Fenster eingeblendet. 5.-10. Preis: 64 GB USB-Stick
SCHNELLE
VIELFALT IST
BESSER!
llen.
Online
ste
be
lk
ka
uli e
eren. Onlin
Wir denken weiter. Als lsungsorientiertes Unternehmen mchten wir unsere an-
spruchsvollen Kunden immer wieder mit neuen Ideen und sinnvollen Innovationen
begeistern. Als ein fhrender Online-Anbieter von Leiterplatten bieten wir erst-
klassige Leistungen in den Bereichen Service, Fairness, Technologie, Auswahl,
Komfort, Geschwindigkeit und Zuverlssigkeit. Unsere Webseite bietet eine
enorme Auswahl an Lsungen in der Online-Kalkulation sowie weiterfhrendes Wis-
sen, Informationen und Entwicklerwerkzeuge. Und sollte einmal etwas sehr Aus-
gefallenes gefordert sein, finden wir gerne Ihre persnliche Lsung. Sie knnen bei
LeitOn immer mit bestem Service rechnen.
Workshop-DVD Android
Programmierung und Hardware-Steuerung
Dear Poster, let me tell you this, as the moderator of the .labs site I dont give a []
[] about your English, you just saved my [] day, maybe my [] job (sorry for
my English ;-). Also: Posten Sie weiterhin interessante Sachen und machen Sie sich
keinen Kopf ber Grammatik oder Interpunktion. Ich bin sicher, dass die meisten
Menschen Sie verstehen, wenn Sie ber spannende Dinge schreiben
EDITORS
We i l z w e i k o n k u r r i e r e n d e
Fahrdienstleiter nur widerwillig
CHOICE
die Kontrolle des jeweils anderen
Zuges bernehmen und dies
zu groben Unhflichkeiten
zwischen den Parteien fhrt,
beschloss Elektroniker waltro,
dass damit Schluss sein msse.
Statt die andauernden Feindseligkeiten
zu ignorieren, fand er, dass es an der Zeit
sei, dagegen etwas zu tun. Eines Nachts, als
beide verfeindeten Parteien schliefen, brach
unser tapferer Ingenieur in die Zge ein und
ersetzte ihre alten Kontrollsysteme durch
eine clevere Eigenproduktion. Am nchsten
Morgen war der Frieden dank der Multi-
Channel-Fhigkeiten der neuen Regelung
hergestellt. Well done, waltro!
www.elektor-labs.com/node/3020
Mllkalender zu kompliziert
Ich habe bisher nie einen Mllkalender meiner Stadt gebraucht, ich
wusste fast instinktiv, welche Tonne an welchem Tag vor die Tr gestellt
werden musste. Jetzt hat sich das Schema gendert und ich komme
nicht mehr klar. Was ich brauche, ist eine Gedchtnissttze!
MarkDonner hat eine Idee fr eine solche Vorrichtung auf .Labs gepostet.
Und dann schloss sich Amigaman an und berichtet von einem TTL-Grab
aus den 80ern, das die gleiche Funktion zur Verfgung stellte. Ich
entdeckte, dass ich nicht allein bin. Es gibt noch andere Leute mit der
gleichen Erkrankung und jetzt haben wir auch unsere eigene Support-
Gruppe. Sind Sie auch auf der Suche nach Hilfe? Dann begleiten Sie
uns und arbeiten mit am elektronischen Mllkalender!
www.elektor-labs.com/node/2946
(130090-I)
www.elektor-labs.com
Anmerkung: OP steht fr Original Poster, der Person, die ein Online-Projekt oder eine Diskussion beginnt. OPs, die die Chance wahren wollen, dass ihr Projekt in Elektor
verffentlicht wird, sollten immer darauf achten, dass ihre E-Mail-Adresse fr den Zugang zu Elektor.Labs korrekt ist. Nur so knnen wir auch Kontakt mit Ihnen aufnehmen.
(Elektor-Redaktion)
200
150
100
50
0
0 50 100 150 200 250 300 350 400 450 500
Immer ist was los im Elektor-Labor! Bei der Mon- Werte vor der groen Hitze durchweg zwischen
tage des Prototyps unseres brandneuen 500 ppm 170 pF und 180 pF lagen, aber danach waren
LCR-Meters lernte mein Kollege Jan schmerz- sie deutlich gesunken, fast genau auf den rich-
lich eine oft bersehene Eigenschaft von Kera- tigen Sollwert. Zum Beispiel wurden aus 178 pF
mikkondensatoren kennen. Es passierte, als er 156 pF, aus 173 pF 152 pF.
keramische Kondensatoren mit einem Wert von Bis zur Deadline fr diesen Artikel ist es uns
150 pF bentigte. Taufrisch kamen sie aus dem nicht gelungen, das Phnomen zu erklren, aber
Verpackungsmaterial auf den Labortisch und wur- wir vermuten, dass das Dielektrikum dabei eine
den mit unserer bewhrten SMD-Rework-Station entscheidende Rolle spielt. Wenn Sie eine Idee
auf die Platine geltet. Aber spter, whrend des haben, was der genaue Grund sein knnte, sch-
Kalibriervorgangs, traten Probleme auf und Jan reiben Sie bitte an editor@elektor.com (Betreff:
konnte das LCR-Meter nicht korrekt abgleichen. ceramicz). Als Belohnung fr Ihre Bemhungen
Jan ist es gewohnt, dass Bauteile nicht das tun, und eine sinnvolle Antwort halten wir ein mbed
was man von ihnen erwartet, und berpfte LPC11U24 Kit [1] von NXP bereit und verffentli-
den Keramikkondensator, der fr die Kalibrie- chen Ihre Klarstellung in einer spteren Ausgabe.
rung eingesetzt wurde. Und er ma einen Wert Viele unserer Leser sind ja erfahrene Ingenieure
von 157 pF statt der versprochenen 150 pF. Dies und wissen, dass bestimmte (Erhitzungs-)Pro-
erwies sich bei der Kalibrierung als zu hoch. Dann tokolle in den Produktionsprozess eingebunden
hat Jan ein paar weitere Kondensatoren aus der sind, aber wenn Sie ein Newbie sind und/oder
Lieferung vermessen: Der Nennwert wurde weit keinen Zugriff auf professionell abgeglichenes
berschritten, alle gemessenen Kondensatoren Baumaterial haben: Achten Sie auf temperatur-
wiesen Werte zwischen 168 pF und 183 pF statt kritische Komponenten und schenken Sie ihnen
150 pF 5% auf. die erforderliche Aufmerksamkeit!
Dies veranlasste uns zu einem kleinen Test. Wir (130118)
haben eine Reihe von Kondensatoren dem Stan-
dard-Verfahren - Reflow-Lten im SMD-Ofen [1] http://mbed.org/handbook/
ausgesetzt und die Werte vor und nach dem Erhit- mbed-NXP-LPC11U24
zen verglichen. Es stellte sich heraus, dass ihre
ARM-Mikrocontroller 2
30 Projekte in C fr Fortgeschrittene
Die Projekte in diesem Buch sind fr Einsteiger in C und ARM-Mikrocontroller
ausgelegt. Das heit nicht, dass diese Projekte einfach sind. Sie sind aber
einfach zu verstehen. Es wird beispielsweise die USB-Verbindung zur
Kommunikation benutzt, eine Methode, die im mbed-Board so einfach
integriert ist, dass sie sich auch fr ein Einsteiger-Buch eignet.
Die Quelltexte zu den Beispielprogrammen stehen gratis unter 243 Seiten (kart.) Format 17 x 23,5 cm
www.elektor.de/arm-buch2 zum Download bereit. Das zum Buch gehrige ISBN 978-3-89576-271-0
Hardware-Starterkit kann unter www.elektor.de/arm-kit2 geordert werden.
39,80 CHF 49,40
Vielleicht fragen Sie sich, was die Besprechung Schnittstelle ansprechen will. Fr kleinere Hacks
einer Programmiersprache in Elektor zu suchen kann man leicht ganz auf aufwendige Benutzer-
hat. Nun, Python eignet sich z.B. gut zur hard- schnittstellen verzichten und Variablenwerte
warenahen Programmierung kleiner Rechnersys- direkt im Code setzen. Bei interpretiertem Code
teme wie z.B. Raspberry Pi. Python und Elekt- kann man sogar zur Laufzeit Funktionen definie-
ronik gehen da eine durchaus enge Verbindung ren, um beispielsweise einen Funktionsplotter zu
ein. Ursprnglich brachte mich ein Kollege auf programmieren.
Python. Diese Programmiersprache und ihr
Konzept gefielen mir sofort, obwohl es recht Python ist sehr stark objektorientiert. Wenn es
groe Unterschiede zu Visual Basic gibt. Ein um einfache Programme geht, dann ist das weni-
Python-Quelltext beeindruckt durch Knappheit ger wichtig. In der Literatur und den Beispielpro-
und Klarheit er kommt ganz ohne Klammern grammen wird davon aber gerne und ausgiebig
und Strichpunkte aus, die zumindest mich bei Gebrauch gemacht. Man wrde Vieles nicht ver-
Pascal, C und Java schon immer gestrt haben. stehen, wenn einem das objektorientierte Kon-
Doch es gibt noch weitere Unterschiede. zept fremd bleibt.
return 0;
}
Bild 5.
Python eignet sich auch
sehr gut, um ElektorBus-
Nachrichten mit Messwerten
zu verarbeiten.
rt
t
Ein Muss
fr jeden
Elektor-Leser! ISBN 978-3-89576-263-5
&+)
Jetzt unter
www.elektor.de/70-79
bestellen!
Wenn nach Implementieren einer FPGA-Anwen- den Beweis fr die generelle Tauglichkeit des
dung Komplikationen auftreten, muss dies nicht Konzepts erbringen. Allein gengt das natrlich
an mangelnden Fhigkeiten des Entwicklers lie- nicht, vor der Produktreife sind noch unzhlige
gen. Dafr knnen auch die Chip-Architektur Hrden zu nehmen. Jeder Schritt bedeutet, dass
oder ein Bug in der Entwicklungs-Software ver- weitere Fehler eingeschleust werden knnen, die
antwortlich sein. Insbesondere FPGAs mit sehr eine nachfolgende Simulation ans Licht bringen
hohen Taktgeschwindigkeiten neigen bisweilen kann. Wenn nach dem letzten Feinschliff die letzte
zu unerklrlichem Verhalten. Die Gefahr steigt, Simulation erfolgreich bestanden wurde, kann
wenn die Signalwege und Signallaufzeiten inner- der Entwickler davon ausgehen, dass ihm sein
halb des Chips ein gewisses Ma bersteigen. Der Werk gelungen ist. Natrlich ist dieses viel ver-
FPGA-Entwickler trgt dem Rechnung und simu- sprechende Omen noch keine Garantie, auch die
liert das Produkt entwicklungsbegleitend, begin- ausgefeilteste Simulation bleibt eine Nachahmung
nend in einem frhen Stadium. Verhlt sich der der Realitt.
FPGA wie erwartet? Produziert der FPGA Neben-
effekte, die kritisch sein knnten? Simulator ffnen
Simulationen werden in unterschiedlichen Sta- Wir haben uns zum Ziel gesetzt, den zweistelli-
dien der Produktentwicklung durchgefhrt. Den gen BCD-Aufwrts-Abwrts-Zhler aus der letz-
Anfang macht die funktionale Simulation, sie soll ten Folge zu simulieren. Zuerst erstellen wir eine
Kopie jenes Projekts, das wir part3 genannt hat- die Signale hnlich einem Logic-Analyser darstellt
ten (siehe Teil 3 der Artikelreihe, [3]). Unser (Bild 1). Auf der Konsole unten im ISim-Fens-
neues Projekt, um das es jetzt geht, hat folgerich- ter werden Sie darauf hingewiesen, dass Sie im
tig den Namen part4. ffnen Sie das neue Projekt Modus Lite arbeiten, weil Sie (noch) keine Vollli-
in ISE, bevor Sie an dieser Stelle weiter lesen. zenz erworben haben. Auerdem steht dort, dass
Den ISE-Simulator finden Sie oben im Tab Design, die Auflsung der Simulation 1 ps (Picosekunde)
dort wo View angegeben ist. In der letzten Folge betrgt. Rechts oben sehen Sie die Information,
war die Implementation View (Ansicht) aktiviert, dass die gesamte Simulation ein Zeitintervall von
jetzt muss die Simulation View gestartet werden. 1 s (Mikrosekunde) umfasst.
Wenn Sie die Funktion aktivieren, indem Sie auf
Simulation klicken, ndert sich der Inhalt des Schrittweises Simulieren
Fensters Processes. Wahrscheinlich haben sie Klicken Sie auf die Schaltflche Restart (blau mit
auch bemerkt, dass oben im Fenster Hierarchy eckigem Pfeil, Restart ist auch ber das Men
ein Element hinzugekommen ist, das die Bezeich- Simulation erreichbar). Klicken Sie in der Sig-
nung Behavioral trgt. Da die Ausgangsbasis ein nalliste mit der rechten Maustaste auf das Sig-
nicht compiliertes Projekt war, enthlt das Fenster nal ce. Dieses Signal ist doppelt vorhanden, der
Processes nur eine einzige Zeile: Design Utilities. Mausklick ist beliebig. Sie knnen auch auf die
In der Hierarchie whlen Sie top, so dass im Pro- grafische Darstellung dieses Signals klicken. Ach-
zessfenster der Prozess ISim Simulator erscheint. ten Sie darauf, dass gleichzeitig nur ein Signal
Klappen Sie diese Zeile mit einem Klick auf das ausgewhlt ist. In dem nun erscheinenden Men
Pluszeichen aus. Whlen Sie den Prozess Simu- whlen Sie Force Constant, denn es handelt sich
late Behavioral Model und klicken Sie links auf die um ein quasi konstantes Signal, verglichen bei-
Schaltflche unter der grnen Pfeilspitze. Alter- spielsweise mit einem Taktsignal. ISim ffnet dar-
nativ knnen Sie auch mit der rechten Maustaste aufhin das Dialogfenster Force Selected Signal,
auf die Zeile klicken und im Kontextmen Run in das mehrere Parameter eingetragen werden
whlen, oder auch auf die Zeile mit der linken knnen. Tragen Sie in das Feld Force to Value die
Maustaste doppelklicken. ISE macht sich nun ans Zahl 1 und in das Feld Cancel after Time Offset
Werk, und nach kurzer Zeit erscheint (hoffent- die Zeit 1 ms ein. Die brigen Parameter kn-
lich) im Fenster Console die Meldung, dass der nen unverndert bleiben. Klicken Sie auf OK. Das
Prozess completed successfully wurde. Nach Signal ce wird 1, sobald die Simulation startet,
erfolgreichem Verlauf ffnet sich neben dem ISE- es behlt diesen Zustand fr 1 ms bei. Wieder-
Hauptfenster ein zustzliches ISim-Fenster, das holen Sie die Prozedur fr das Signal up_down
Bild 1.
ISim glnzt hier mit
seiner Funktionalitt.
Noch ruht das Geschehen,
denn die Definitionen der
auslsenden Events fehlen.
Test-Bench in Verilog
hnlich den zahlreichen Computer- CLK_IN = 0;
Programmiersprachen existieren mehrere #62.5;
Sprachen fr FPGA-Implementierungen. Im end
Text haben wir uns mit VHDL beschftigt,
denn ISE scheint hauptschlich fr diese Darin muss clk_in nicht initialisiert werden.
Sprache konzipiert zu sein. Damit Verilog, Die Initialisierung der auslsenden Events
eine andere wichtige Sprache nicht zu kurz wird in einem so genannten initial-Block
kommt, bauen wir die Test-Bench hier noch vorgenommen, er wird ein Mal zu Beginn der
einmal in Verilog. Simulation ausgefhrt. Die Struktur ist der
Das Taktsignal wird in Verilog mit dem VHDL-Struktur hnlich, auch hier steht am
Kommando always generiert (Achtung: Anfang eine Pause von 100 ns:
Anders als in VHDL werden in Verilog Gro-
und Kleinschreibung unterschieden!). Dank initial
des Invert-Operators ! umfasst dies nur begin
eine Zeile. Die Frequenz wird mit dem Delay- #100;
Symbol # bestimmt, hier sind es 62,5 ns. CLK_IN <= 0;
Zeiteinheit ist in Verilog die Nanosekunde, die CE <= 1;
Auflsung betrgt trotzdem 1 ps. CLR <= 0;
UP_DOWN <= 1;
always end
#62.5 CLK_IN = !CLK_IN;
Anstelle von <= kann auch = geschrieben
Der logische Zustand des Signals clk_in werden. Vollstndigkeitshalber ist clk_in
wird in Abstnden von 62,5 ns invertiert. initialisiert, was zwar nicht notwendig ist, aber
In Anlehnung an VHDL ist auch folgende auch nicht schadet.
Schreibweise mglich: Die Blcke always und initial ersetzen
gemeinsam den Block ifdef auto_init
always endif, unten in der von ISE generierten
begin Verilog-Test-Bench.
CLK_IN = 1;
#62.5; Ist alles klar? Dann bitte simulieren!
Bild 3.
Das Signalfenster nach
einer Simulation. In diesem
weiten Zoom wird das
Signal clk_in lediglich als
Schraffur dargestellt. Der
Wert des 8-bit-Bussignals
kann in unterschiedlichen
Formaten angezeigt werden.
nen. Da die gesamte Implementierung getestet korrekten Zeiten. Zum Testen unseres Aufwrts-
wird, binden Sie die Datei an top. Klicken Sie Abwrts-Zhlers mssen wir in VHDL oder Veri-
auf Next, so dass die bliche Zusammenfassung log die Vorgnge reproduzieren, die wir oben
erscheint. Aus der Zusammenfassung geht her- schrittweise durchgefhrt haben. Auer einem
vor, dass der Dateiname die Erweiterung .vhd Taktsignal bentigen wir einige quasi-konstante
erhalten hat. Dieses Indiz deutet auf eine VHDL- Signale. Mit den konstanten Signalen wollen wir
Datei hin. Klicken Sie auf Finish, um den Vorgang beginnen.
abzuschlieen. Der Rahmen unserer VHDL-Test-Bench hat fol-
Wichtig ist hier, dass Sie test_bench nicht in der gende Gestalt, die reservierten VHDL-Kommandos
Implementation View, sondern in der Simulation sind in Grobuchstaben geschrieben (was nicht
View hinzufgen mssen. Eine eventuell falsche zwingend notwendig ist!):
Zuordnung knnen Sie korrigieren, indem sie in
den Dateieigenschaften (Source Properties) die tb : PROCESS
View Association auf Simulation setzen. BEGIN
Das Hinzufgen der Test-Bench hat weiter rei- WAIT;
chende Auswirkungen als vielleicht erwartet. Im END PROCESS;
Hierarchie-Fenster erscheint zwischen dem Chip
und top eine weitere Zeile, die den zunchst kryp- Dies ist gewissermaen die Test-Bench-Hauptrou-
tischen Text top_top_sch_tb enthlt. Der Eintrag tine, oder besser, der Prozess. Unser Prozess mit
top ist zu UUT - top geworden, wobei UUT ein dem Namen tb ist lediglich eine Warteschleife. Ein
Krzel fr Unit Under Test ist. Aus der Hierar- Prozess sieht hnlich einer Subroutine in einem
nahme empfohlen.
Das Erzeugen des Taktsignals ist etwas komple-
xer, es ist ein eigener Prozess ntig, der gleich-
zeitig mit dem Prozess tb ausgefhrt wird:
clock : PROCESS
BEGIN
clk_in <= 1;
WAIT FOR 62500 PS;
clk_in <= 0;
WAIT FOR 62500 PS;
END PROCESS;