Sie sind auf Seite 1von 132

Juli/August 2016 | Nr. 547/548 www.elektormagazine.de

Juli/August 2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit
Juli/August 2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit

SHARE

Juli/August 2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit
Juli/August 2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit

LEARN

2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit Raspberry
2016 | Nr. 547/548 www.elektormagazine.de SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit Raspberry
DESIGN
DESIGN

Software Defined Radio

SHARE LEARN DESIGN Software Defined Radio Foto-Türspion mit Raspberry Pi Fledermaus- Detektor deluxe

Foto-Türspion mit Raspberry Pi

Software Defined Radio Foto-Türspion mit Raspberry Pi Fledermaus- Detektor deluxe als Shield für Arduino In 3

Fledermaus-

Detektor deluxe

als Shield für Arduino
als Shield
für Arduino
In 3 8 4 dieser Ausgabe: Labor-Projekte Leser-Projekte Software-Kurse 2 Reviews und mehr!
In 3 8 4 dieser
Ausgabe:
Labor-Projekte
Leser-Projekte
Software-Kurse
2 Reviews
und mehr!
Leser-Projekte Software-Kurse 2 Reviews und mehr! Wetterstation für BBC micro:bit Windows steuert Arduino •

Wetterstation für BBC micro:bit

Windows steuert Arduino • Akku-Technologien der Zukunft Stromtastkopf für Oszilloskope • Fernsteuerung für Media Player • Universeller I 2 C-Bus-Isolator und -Pegelwandler • PC-Watchdog • Mini-Radio • NFC- Tag gehackt • Grundlagen: PLL • Filter auf dem Red Pitaya • Schaltungen für Klangeinsteller • Neues Display für Multimeter • Assembler Crashkurs:

Speicherinhalt ausgeben • Retronik: Audio-Messplatz • Web-Recherche:

Media-Player Kodi • Recht: Niederspannung, EMV und RED • Bemerkenswerte Bauteile: Magnetspeicher

EMV und RED • Bemerkenswerte Bauteile: Magnetspeicher G3078 E (D) € 14,90 | CHF 27,00 |

G3078 E

(D) € 14,90

|

CHF 27,00

|

(A, B, L) € 16,00

»Unser Produktsortiment in einem Wort: Tiefenbreite.« Wolfgang Lex, Senior Area Manager Business Supplies, Tekkie seit
»Unser Produktsortiment in
einem Wort: Tiefenbreite.«
Wolfgang Lex, Senior Area Manager Business Supplies, Tekkie seit 1987
Die besten Tekkie-Stories unserer innovativsten Kunden und Mitarbeiter jetzt auf tekkie.conrad.de Conrad. Tekkie seit
Die besten Tekkie-Stories unserer innovativsten
Kunden und Mitarbeiter jetzt auf tekkie.conrad.de
Conrad. Tekkie seit 1923. Ihr Profi-Partner und Berater
für Lösungen in den Bereichen Bauelemente, Automation,
Gebäudetechnik, Werkzeug, Messtechnik, Computertechnik
u. v. m. Mit über 700.000 Artikeln für Ihr Business von morgen.

Impressum

47. Jahrgang, Nr. 547/548 Juli/August 2016 Erscheinungsweise: 10 x jährlich

(inkl. Doppelhefte Januar/Februar und Juli/August)

Verlag Elektor-Verlag GmbH Kackertstraße 10 52072 Aachen Tel. 02 41/955 09 190 Fax 02 41/955 09 013

Technische Fragen bitten wir per E-Mail an redaktion@elektor.de zu richten.

Hauptsitz des Verlags Elektor International Media Allee 1, NL-6141 AV Limbricht

Anzeigen:

Margriet Debeij (verantwortlich) Tel. 02 41/955 09 174 / Fax 02 41/955 09 013 Mobil: +49 (170) 550 539 6 E-Mail: margriet.debeij@eimworld.com

Julia Grotenrath Tel. 02 41/955 09 177 / Fax 02 41/955 09 013 Mobil: +31 6 510 530 39 E-Mail: julia.grotenrath@eimworld.com

Es gilt die Anzeigenpreisliste Nr. 46 ab

01.01.2016

Distribution:

IPS Pressevertrieb GmbH Postfach 12 11, 53334 Meckenheim Tel. 0 22 25/88 01-0 Fax 0 22 25/88 01-199

Der Herausgeber ist nicht verpflichtet, unverlangt einge- sandte Manuskripte oder Geräte zurückzusenden. Auch wird für diese Gegenstände keine Haftung übernommen. Nimmt der Herausgeber einen Beitrag zur Veröffentlichung an, so erwirbt er gleichzeitig das Nachdruckrecht für alle ausländischen Ausgaben inklusive Lizenzen. Die in dieser Zeitschrift veröffentlichten Beiträge, insbesondere alle Auf- sätze und Artikel sowie alle Entwürfe, Pläne, Zeichnungen einschließlich Platinen sind urheberrechtlich geschützt. Ihre auch teilweise Vervielfältigung und Verbreitung ist grund- sätzlich nur mit vorheriger schriftlicher Zustimmung des Herausgebers gestattet. Die veröffentlichten Schaltungen können unter Patent- oder Gebrauchsmusterschutz stehen. Herstellen, Feilhalten, Inverkehrbringen und gewerblicher Gebrauch der Beiträge sind nur mit Zustimmung des Ver- lages und ggf. des Schutzrechtsinhabers zulässig. Nur der private Gebrauch ist frei. Bei den benutzten Warenbezeich- nungen kann es sich um geschützte Warenzeichen handeln, die nur mit Zustimmung ihrer Inhaber warenzeichengemäß benutzt werden dürfen. Die geltenden gesetzlichen Bestim- mungen hinsichtlich Bau, Erwerb und Betrieb von Sende- und Empfangseinrichtungen und der elektrischen Sicherheit sind unbedingt zu beachten. Eine Haftung des Herausgebers für die Richtigkeit und Brauchbarkeit der veröffentlichten Schaltungen und sonstigen Anordnungen sowie für die Rich- tigkeit des technischen Inhalts der veröffentlichten Aufsätze und sonstigen Beiträge ist ausgeschlossen.

© 2016 elektor international media b.v. Druck: Senefelder Misset, Doetinchem (NL) ISSN 0932-5468

Druck: Senefelder Misset, Doetinchem (NL) ISSN 0932-5468 Kreative Maker Auf Elektronikmessen gehört die Vorstellung

Kreative Maker

Misset, Doetinchem (NL) ISSN 0932-5468 Kreative Maker Auf Elektronikmessen gehört die Vorstellung unseres

Auf Elektronikmessen gehört die Vorstellung unseres Magazins zu meinen Aufgaben. Vor einigen Jahren besuchte ich mit einer Kollegin aus der Anzeigenabteilung einen Mittelständler, dessen Linux-Evalkits ich sehr interessant fand. Nach kurzem Blättern durch eine Elektor-Ausgabe verflog das Interesse unseres Gegenübers. Man wolle aufpassen, keine „Bastler“ anzulocken, so der Herr vom Marketing. Diese orderten immer nur in Einzelstückzahlen, machten aber häufig dem Support viel Arbeit. Wie an manchen anderen Ständen, die wir besuchten, wurde nicht ausgesprochen, dass man sich mit Pressearbeit und Anzeigen lieber auf die „Fachmagazine“ konzentrieren wollte. Neulich blätterte ich in einem solchen Fachmagazin und fand darin interessante Aussagen zur Maker-Szene. Der Geschäftsführer genau jenes Mittelständlers lobte, dass Maker – angelockt durch Starter-Kits aus Hardware, OS und Tool Chain – schon Produkte „mit sehr professionellem Hintergrund“ auf die Beine gestellt hätten. Viele Embedded- Anbieter reagierten nun darauf mit neuen Vertriebskanälen. Und ein Sales Director eines anderen Herstellers präzisiert im selben Artikel: „Man muss es den Professional Makern sehr einfach machen, an die Muster zu kommen – einfach über das Internet bestellen“. Wie das Fachmagazin dann weiter ausführt, würden junge Talente aus der Szene häufig Firmen gründen oder eine Karriere in etablierten Unternehmen starten. Ich kann nur erfreut feststellen: Der frische Wind, der durch die Maker-Szene in der Branche entstanden ist, hat nun auch die Chefetagen der klassischen Anbieter erreicht. Offenbar wurde erkannt, dass das kreative Potential von „Bastlern“ nicht zu unterschätzen ist und dass aus Hobbyisten häufig Professionals werden. Elektor sieht das genauso – übrigens schon seit vielen Jahren. In diesem Jahr laden wir alle Maker ein, sich an unserem Wettbewerb zu beteiligen, den wir zusammen mit der Messe electronica veranstalten. In den drei Kategorien „Idee“, „Prototyp“ und „Start-up“ gibt es wertvolle Preise zu gewinnen – siehe Seite 40.

Jens Nickel

Chefredakteur Elektor

– siehe Seite 40. Jens Nickel Chefredakteur Elektor Unser Team Chefredakteur: Jens Nickel (v.i.S.d.P.)

Unser Team

Chefredakteur:

Jens Nickel (v.i.S.d.P.) (redaktion@elektor.de)

Ständige Mitarbeiter:

Dr. Thomas Scherer, Rolf Gerstendorf

Leserservice:

Ralf Schmiedel

Korrekturen:

Malte Fischer

Internationale Redaktion: Thijs Beckers, Jan Buiting,

Mariline Thiebaut-Brodier

Elektor-Labor:

Harry Baggen, Ton Giesberts, Luc Lemmens,

Denis Meyer, Jan Visser, Clemens Valens

Grafik & Layout:

Giel Dols

Meyer, Jan Visser, Clemens Valens Grafik & Layout: Giel Dols www.elektormagazine.de Juli/August 2016 3
Inhalt 47. Jahrgang – Nr. 547/548 Juli/August 2016 3 Impressum 6 Das Elektor-Netzwerk 40 News

Inhalt

47. Jahrgang – Nr. 547/548

Juli/August 2016

3

Impressum

6

Das Elektor-Netzwerk

40

News

42

ElektorBusiness Report

Futuristisch-fantastische Akkus

128

Elektor World News

130

Hexadoku

Sudoku für Elektroniker

LEARNWorld News 130 Hexadoku Sudoku für Elektroniker DESIGN SHARE 8 9 10 14 19 22 30

DESIGN

SHARE

8

9

10

14

19

22

30

32

36

LEARN

48

49

52

56

67

Willkommen bei LEARN

Bemerkenswerte Bauteile

Magnetspeicher

Ein zweites Leben für den NFC-Tag (1)

Grundlagen: Die Magie der PLL

Review: Flowcode 7

Windows steuert Arduino

Über USB und Bluetooth

CircuitMaker Tipps & Tricks (3)

Niederspannung, EMV und R&TTE

Was gibt‘s Neues?

Assembler Crashkurs 2.2

Indirekte Adressierung

DESIGN
DESIGN

SHARE

Willkommen bei DESIGN

Wetterstation für BBC micro:bit

Stromtastkopf für Oszilloskope

Fledermaus-DetektorPLUS

Frequenzteilung + Amplitudenerhaltung

Filter auf dem Red Pitaya

Teil 1: FIR-Filter

ELEKTOR SDR

RELOADED

SHIELD FÜR ARDUINO

Ein Software Defined Radio ist ein universelles 80 Werkzeug in der HF-Technik, das auch für Messungen einsetzbar ist. Die Eigenschaften des Empfängers werden durch Software definiert. In unserer heutigen Zeit bietet es sich an, das Frontend als Arduino-Shield zu realisieren.

49

WETTERSTATION FÜR BBC MICRO:BIT

IM DOPPEL MIT EINEM ERWEITERUNGSBOARD

Das BBC micro:bit ist ein kleines Kraftpaket voller toller Funktionen und wird von einer Reihe ausgezeichneter Entwicklungstools und Bibliotheken unterstützt. Sein Platinensteckverbinder gewährt Zugang zu allen Features wie GPIO, analoge Eingänge, I²C

Zugang zu allen Features wie GPIO, analoge Eingänge, I²C und SPI. Wir haben mit dem micro:bit
Zugang zu allen Features wie GPIO, analoge Eingänge, I²C und SPI. Wir haben mit dem micro:bit

und SPI. Wir haben mit dem micro:bit eine kleine Wetterstation gebaut.

72

iBaxandall

Variationen von Klangeinstellern

80

Elektor SDR Reloaded

SDR-Shield für Arduino

88

Skip!

Drahtlose „Next Track“-Taste für den Media-Player

92

Foto-Türspion mit Raspberry Pi

Besucher-Check über das Smartphone

iBAXANDALL 72 VARIATIONEN VON KLANGEINSTELLERN Das kann dabei herauskommen, wenn man als Elektroniker „eben mal
iBAXANDALL
iBAXANDALL

72

VARIATIONEN VON KLANGEINSTELLERN

Das kann dabei herauskommen, wenn man als Elektroniker „eben mal schnell“ einen Klangeinsteller

aufbauen möchte: 1. googelt man nach der Standardschaltung, 2. fällt einem daran etwas auf und 3. will man es besser machen und entwickelt folglich eine neue Schaltungsvariante. Noch schlimmer: Man geht der Sache auf den Grund und kommt so auf mehrere neuartige Varianten.

auf den Grund und kommt so auf mehrere neuartige Varianten. 97 PC-Watchdog Automatischer Reset für durchdrehende

97

PC-Watchdog

Automatischer Reset für durchdrehende PCs

100

My Tiny Radio

Ein Radio - drei Plattformen

105

MAXQ rettet Philips PM2535

Multimeter vor dem Verschrotten bewahrt

108

Universeller I 2 C-Bus-Isolator und Pegelwandler

108 Universeller I 2 C-Bus-Isolator und Pegelwandler magazine LEARN DESIGN SHARE 114 Willkommen bei SHARE
magazine
magazine

LEARN

DESIGN

SHARE2 C-Bus-Isolator und Pegelwandler magazine LEARN DESIGN 114 Willkommen bei SHARE 115

114

Willkommen bei SHARE

115

Elektormagazine.de/Labs

116

Retronik

Professioneller Audio-Messplatz

121

Aus dem Labor

LCD am Rpi anschließen

122

ScanaQuad,

der allerkleinste Logic-Analyzer

124

Projekt 2.0

Korrekturen, Updates und Leserbriefe

126

Web-Recherche

Kodi: Medien-Player für alle

126 Web-Recherche Kodi: Medien-Player für alle Vorschau Das nächste Heft ist wie immer randvoll gefüllt

Vorschau

Das nächste Heft ist wie immer randvoll gefüllt mit Schaltungsprojekten, Grundlagen sowie Tipps und Tricks für Elektroniker.

Aus dem Inhalt:

• OBD mit Raspberry Pi

• Lösungen für die Haus-Automatisierung

• Bluetooth-Relais

• RasPi steuert Lego

• Netzgerät

• Assembler Crashkurs: SPI und I2C

• Filter auf dem Red Pitaya: IIR-Filter

• Analoger Zufallsgenerator

• Fragen und Antworten: MQTT

Und vieles mehr!

Änderungen vorbehalten. Elektor September erscheint am 17. August 2016. Verkaufsstellen findet man unter www.pressekaufen.de.

Die Elektor-Community

LEARN

DESIGN

SHARE
SHARE

Elektor durchbricht die Schranken einer Zeitschrift und wird zur Community aktiver E-Ingenieure - vom Anfänger bis zum Profi – begierig, überraschende Elektronik zu lernen, zu entwickeln, zu teilen.

Elektor-Shop: 24 Stunden an 7 Tagen der Woche für jeden Elektroniker geöffnet! Dau- erhafter Rabatt von 10% für alle GOLD- und GREEN-Mitglieder. Elektor-Shop: www.elektor.de www.elektor.de

Elektor-Platinen-Service: Bestellung von Pla- tinen als Einzelstück oder Kleinserie. www.elektorpcbservice.de Bestellung von Pla- tinen als Einzelstück oder Kleinserie. www.elektorpcbservice.de

Elektor Academy: Webinare, Seminare, Prä- sentationen, Workshops, DVDs und mehr = praxisorientiertes Lernen. Elektor Academy: www.elektor.de www.elektor.de

Elektor.TV: Reviews, Eindrücke, Unboxings und persönliche Journale. Anschauen heißt Erfahrung sammeln. Elektor.TV: www.elektor.tv www.elektor.tv

Elektor-Zeitschrift: 10 Ausgaben pro Jahr voll gepackt mit Elektronik-Projekten, Artikeln, Besprechungen, Tipps und Tricks. Elektor-Zeitschrift: www.elektormagazine.de www.elektormagazine.de

Elektor wöchentlich & papierlos:

Wöchentlicher digitaler Newsletter. Kostenlos und aktuell. www.elektor.de/newsletter www.elektor.de/newsletter

Elektor-Bücher & DVDs: Arduino, Raspberry Pi, Mikrocontroller und vieles andere mehr. Im Online-Shop mit 10% Rabatt für Mitglieder! Elektor-Bücher & DVDs: www.elektor.de/bucher www.elektor.de/bucher

Elektor-Labs: Eigene Projekte vorstellen – von Anderen lernen – Anderen helfen und mit An- deren teilen. Elektor macht mit und testet Ihre Ideen! Elektor-Labs: www.elektormagazine.de/labs www.elektormagazine.de/labs

Treten Sie dem weltweit größten Elektroniker-Netzwerk bei!

GREEN 1,78 /Woche

Zugang zum Elektor-Archiv

10% Rabatt auf Shop-Produkte

10x Elektor jährlich (Digital)

10x Elektor jährlich (Print)

Exklusive Top-Angebote

Zugang zu

jährlich (Print) ✔ Exklusive Top-Angebote ✔ Zugang zu ✘ Elektor Jahrgangs-DVD www.elektor.de/green-mitglied

Elektor Jahrgangs-DVD

www.elektor.de/green-mitglied

✘ Elektor Jahrgangs-DVD www.elektor.de/green-mitglied GOLD 2,45 € /Woche ✔ Zugang zum Elektor-Archiv

GOLD 2,45 /Woche

Zugang zum Elektor-Archiv

10% Rabatt auf Shop-Produkte

10x Elektor jährlich (Digital)

10x Elektor jährlich (Print)

Exklusive Top-Angebote

Zugang zu

jährlich (Print) ✔ Exklusive Top-Angebote ✔ Zugang zu ✔ Elektor Jahrgangs-DVD www.elektor.de/gold-mitglied

Elektor Jahrgangs-DVD

www.elektor.de/gold-mitglied

GRATIS

Zugang zum Elektor-Archiv

10% Rabatt auf Shop-Produkte

10x Elektor jährlich (Digital)

10x Elektor jährlich (Print)

Exklusive Top-Angebote

Zugang zu

jährlich (Print) ✔ Exklusive Top-Angebote ✔ Zugang zu ✘ Elektor Jahrgangs-DVD www.elektor.de/newsletter

Elektor Jahrgangs-DVD

www.elektor.de/newsletter

79 Länder
79
Länder
247031 Mitglieder
247031
Mitglieder
1034
1034

Experten & Autoren

485 Literatur
485
Literatur
235102
235102

Monatliche Besucher

www.elektormagazine.de

Eine ganze Welt mit Elektronik-News

Elektroniker entdecken eine ganze Welt mit Projek- ten, News, Videos und mehr auf unserer neu über- arbeiteten Website. Rechts oben kann man einfach die Sprache auswählen. Zur Wahl stehen Deutsch, Englisch, Französisch und Niederländisch. Die intel- ligenten Such-Tools erleichtern das Auffinden von Artikeln und weiterführender Information. Regist- rieren Sie sich als GREEN- oder GOLD-Mitglied; mit Ihrem persönlichen Login haben Sie vollen Zugriff auf den Online-Shop inklusive vieler Extras. Hier können Sie auch Ihren Account überarbeiten – und das gilt auch für Ihre Mitgliedschaft, das gedruckte Heft und den Newsletter Elektor .

das gedruckte Heft und den Newsletter Elektor . : wöchentlich & papierlos Ein wöchentlicher Newsletter
das gedruckte Heft und den Newsletter Elektor . : wöchentlich & papierlos Ein wöchentlicher Newsletter

: wöchentlich & papierlos

Ein wöchentlicher Newsletter vollgepackt mit Information

Mehr als 120.000 Elektroniker haben bereits ein Abonnement unseres kostenlosen Elektor- Newsletters . Jede Woche gibt es hier News, Tipps, Trends und mehr direkt in ihrem digitalen Briefkasten. Außerdem erhalten Sie so Zugriff auf weitere exklusive Projekte, Spezialangebote und Rabatte für den Online-Shop. Registrieren Sie sich noch heute:

www.elektor.de/newsletter

Online-Shop. Registrieren Sie sich noch heute: www.elektor.de/newsletter www.elektormagazine.de Juli/August 2016 7
Willkommen bei LEARN V on Jens Nickel Bastelkisten-Börse Eigentlich wollte ich hier wieder etwas über
Willkommen bei LEARN V on Jens Nickel Bastelkisten-Börse Eigentlich wollte ich hier wieder etwas über
Willkommen bei LEARN V on Jens Nickel Bastelkisten-Börse Eigentlich wollte ich hier wieder etwas über
Willkommen bei LEARN V on Jens Nickel Bastelkisten-Börse Eigentlich wollte ich hier wieder etwas über

Willkommen bei LEARN

Willkommen bei LEARN V on Jens Nickel Bastelkisten-Börse Eigentlich wollte ich hier wieder etwas über die

V on Jens Nickel

Bastelkisten-Börse

Eigentlich wollte ich hier wieder etwas über die Fortschritte auf meiner Reise in das Internet of Things berichten. Am ziem- lich bewölkten Pfingstmontag hatte ich mir vorgenommen, das bekannte Xmega-Webserver-Board als Pilotplattform für einen direkten Anschluss einer Platine ans Netzwerk zu benutzen (ohne den Umweg über einen PC als Relaisstation). Doch trotz einer guten Ausgangslage – ich hatte ja schon Democode und Bibliotheks- files vorliegen, unter anderem für das WIZ820io-Netz- werkmodul – wurde nichts draus. Router und (Programmier-)Arbeitsplatz befinden sich in genau gegenüberliegenden Ecken meiner Woh- nung; und zu meiner Überraschung reichten 10 m Netzwerkkabel nicht aus. Ich brauchte 15 m, doch am Feiertag hatten ja alle möglichen kommerziellen Bezugsquellen geschlossen. Sicher gab es in Köln noch den einen oder anderen gleichgesinnten Elektroniker, der mir hätte aushelfen können, und eine kleine Fahrt wäre mir nicht zu beschwerlich gewesen. Aber wie denjenigen oder die- jenige finden? Hierüber müsste man mal nachdenken, denn das Internet bietet ja inzwischen eine Fülle von Möglichkeiten!

Arduino ferngesteuert

Und noch mal was gelernt: Profi-Autor und Software-Spezialist Tam Hanna zeigt in seinem Artikel, wie man mit einem Windows-Smartphone oder –Tablet einen Arduino fernsteuern kann – über USB oder kabellos per Bluetooth. Das Firma- ta-Protokoll kannte ich bisher noch nicht; interes- sant, dass Microsoft dafür sogar eine eigene .NET-Bi- bliothek bereitstellt. Mehr darüber lesen Sie in diesem LEARN-Abschnitt.

dafür sogar eine eigene .NET-Bi- bliothek bereitstellt. Mehr darüber lesen Sie in diesem LEARN-Abschnitt. (160012)

(160012)

Neues aus der Cloud

In der Zwischenzeit geht die Entwicklung in Sachen IoT mit Riesenschritten weiter, man kommt kaum damit nach, sich alles anzusehen und den eigenen Horizont ständig zu erweitern. Auch der große deutsche Distributor Conrad lädt nun potentielle User mit einer eigenen Lösung dazu ein, Daten in die Cloud hochzuladen und zu visualisieren (https://conradconnect.de). Und von meinem Ex-Kollegen Jaime (nun beim Berliner Startup Relayr tätig) bekam ich eine Mail, die ich hier in Auszügen übersetze: „Hi Jens! Wahnsinn, wie die Zeit vergeht… Ich muss mal wieder bei euch Jungs vorbeischauen… Wir sind gerade dabei, eine App zu launchen, mit dem ein Smartphone in eine Art Sensorkit verwandelt wird – und ich dachte mir, du willst das vielleicht mal ausprobieren? Die App wird komplett open source sein, alles wird bei GitHub reingestellt…“ Na das klingt doch alles interessant – klar gucke ich mir das mal an. Mehr darüber finden Sie in Kürze in unserer Online-Ausgabe unter www.elektormagazine.de!

finden Sie in Kürze in unserer Online-Ausgabe unter www.elektormagazine.de ! 8 Juli/August 2016 www.elektormagazine.de

8 Juli/August 2016 www.elektormagazine.de

grundlagen

kurs

q & a

tipps & tricks

software

Magnetspeicher

Bemerkenswerte Bauteile

Von Neil Gruending (Kanada)

Heutzutage kennen wir eine Vielzahl von Möglichkeiten, Informationen auf elektro- nischem Wege zu speichern: SRAM, DRAM, Flash und EEPROM. Direktzugriffsspei- cher (random access memory RAM) wie SRAM und DRAM nutzen dazu die Kapazi- tät, was sie unkompliziert und sehr schnell macht. Aber ihr Nachteil ist, dass alle Informationen verlo- ren sind, wenn der Speicher nicht mit Strom versorgt wird. Nicht- flüchtige Speicher wie Flash oder EEPROM erhalten ihre Inhalte, wenn sie abgeschaltet wer- den, allerdings auf Kosten der Geschwindigkeit. Zudem sind komplexere Zugriffsmethoden wie Speicher-Paging erforder- lich. Magnetspeicher verbin- den die positiven Eigenschaf- ten beider Speicherarten. Eines der ersten Modelle war in den 50er und 60er Jahren der Magnetkern- speicher (magnetic core memory), zu diesen Zeiten viel schneller als andere Speichermethoden wie die Williamsröhre, die auf Kathodenstrahl- röhren basierte. Der Name beruht auf den magnetischen Ringkernen, durch die Drähte als Schreib und Leseleitungen geführt wur- den. Jeder Ringkern konnte durch die Steu- erung seiner magnetischen Richtung auf 1 oder 0 gesetzt werden. Da aber jeder Lese- vorgang die magnetische Orientierung des Ringkerns löschte, war zum Datenerhalt noch eine zusätzliche Schaltung erforder- lich. Der Magnetkernspeicher erwies sich zwar als sehr zuverlässig und konnte sogar einem EMP-Impuls widerstehen, war aber sehr schwierig herzustellen und deshalb auch ziemlich teuer, so dass er schließ- lich Ende der 60er Jahre vom SRAM (static random access memory) abgelöst wurde. Das Computer History Museum in Mountain View, Kalifornien, zeigt eine feine Samm- lung von Magnetkernspeichern auf seiner Website. Wenn Sie mal im Museum vor- beischauen, sollten Sie im Gift Shop einen schönen Untersetzer mit einem MM-Bild

erwerben. Eine moderne Version des Magnetspei- chers ist der magnetoresistive RAM-Spei- cher (MRAM), der in den letzten 30 Jahren entwickelt wurde. Frühe Versionen besa- ßen ferromagnetische Platten mit einer isolierenden Zwischenschicht. Eine Platte hatte ein permanentes Magnetfeld, die andere Platte war magnetisierbar, um ein Bit zu speichern.

andere Platte war magnetisierbar, um ein Bit zu speichern. Bit Line Magnetic Free Layer Tunnel barrier
Bit Line Magnetic Free Layer Tunnel barrier Magnetic Pinned Layer Antiferromagnetic Write Word Line Read
Bit Line
Magnetic Free Layer
Tunnel barrier
Magnetic Pinned Layer
Antiferromagnetic
Write Word
Line
Read Word
Vdd
Line
N
P N
Ferroelectric
Bit Line
Word Line
N
P N

Der logische Zustand der Zelle wurde durch Messung des Widerstands bestimmt, der abhängig war von der magnetischen Ori- entierung der beschreibbaren zur per- manenten Platte. Neuere MRAMs nutzen das Drehmoment des Spin-Transfers von Elektronen in ihren Speicherzellen und kommen mit sehr wenig Energie aus. Eine weitere Variante ist der ferroelektri- sche RAM-Speicher (FRAM), der gleichzei- tig mit dem MRAM entwickelt wurde. Ein herkömmlicher DRAM-Speicher verwendet einen Transistor und einen Kondensator pro Speicherzelle, die in eine FRAM-Zelle verwandelt wird, wenn ein ferroelektri- sches anstelle des normalen dielektrischen Materials eingesetzt wird. Das ferroelekt- rische Material ändert das normalerweise lineare Verhalten der Zelle und fügt eine magnetische Hysterese hinzu, was gleich- bedeutend mit einer nichtflüchtigen Eigen-

was gleich- bedeutend mit einer nichtflüchtigen Eigen- schaft ist. Das Schreiben der Daten ist ziemlich einfach,

schaft ist. Das Schreiben der Daten ist ziemlich einfach, aber um eine FRAM-Zelle zu lesen, ist ein Transistor nötig, der die Zelle in einen bekannten Zustand bringt. Dann wird die Zelle überwacht, um zu sehen, ob das ferroelektrische Material einen Stromfluss verursacht. Klar, die Zelle ist anschließend gelöscht und muss neu beschrieben werden. Sowohl MRAMs und FRAMs werden heute von verschiedenen Firmen hergestellt. Bei MRAMs liegt der Fokus auf Speicherdichte und Geschwindigkeit, während FRAMs für Low-Power-Anwendungen prädestiniert sind. So oder so, es sind sehr interes- sante Bauteile!

(160016)

Bilder 1, 2, 3: Wikimedia

interes- sante Bauteile! (160016) Bilder 1, 2, 3: Wikimedia Steuern Sie weitere Bau- teile hinzu: Mailen

Steuern Sie weitere Bau- teile hinzu: Mailen Sie an neil@gruending.net.

learn

design

share

Ein zweites Leben für den NFC-Tag (1)

Zugang zum Innenleben

Von Patrick Gueulle (Frankreich)

Abo-Mitglieder von Elektor erhielten mit dem Januar/ Februar-Heft dieses Jahres eine kostenlose Smartcard mit einem NFC-Chip ST25TA02K. Der Tag war mit einer URL programmiert, die man mit einem Smartphone lesen konnte, wenn dieses NFC unterstützt. Hier wollen wir zeigen, wie die URL gehackt werden kann, um der Karte mit dem Standard NFC Type 4 neues Leben einzuhauchen.

Von NFC Type 1 nach Type 4

Nahfeldkommunikation, auf gut Deutsch auch Near Field Com- munication, verwendet gewöhnliche RFID-Technologie, wendet sie aber etwas „intelligenter“ an. Fast jede Chipkarte, die draht- lose Kommunikation unterstützt, setzt dabei einen NFC-Tag ein. Die Standards für NFC werden vom NFC-Forum festgelegt. Dieses Forum möchte die Austauschbarkeit von Karten und Techniken so weit wie möglich fördern und hat dazu eine Reihe von standardisierten Types von NFC definiert.

eine Reihe von standardisierten Types von NFC definiert. Bild 1. Die Topaz-Card von Innovision erfüllt die

Bild 1. Die Topaz-Card von Innovision erfüllt die Type-1-Spezifikationen des NFC-Forums.

Deshalb ist es wichtig, dass NFC-Karten diesen Types entspre- chen. Es gibt aber gewisse Halbleiterhersteller, die sich wenig um die Vorgaben des NFC-Forums kümmern und Karten bezie- hungsweise Tags auf den Markt bringen, die sich nur teilweise an die Regeln halten. Eine der ersten nativen NFC-Tags auf dem Markt war der Topaz- Chip von Innovision (Bild 1), einer Firma, die mittlerweile zu Broadcom gehört. Dieser Tag erfüllte vollständig die Spezifika- tionen des Type 1, besaß aber nur 96 Byte nutzbaren Speicher

des Type 1, besaß aber nur 96 Byte nutzbaren Speicher Bild 2. Mifare Ultralight von NXP

Bild 2. Mifare Ultralight von NXP ist ein einfach zu konfigurierender NFC-Tag des Type 2.

grundlagen

kurs

q & a

tipps & tricks

software

und war deshalb nur für einfache Anwendungen geeignet. Dann kam die Mifare Ultralight von NXP (Bild 2), eine Type-2-Karte, die ganz bequem zu konfigurieren ist, aber sogar nur 64 Byte nutzbaren Speicher zur Verfügung stellen konnte. Natürlich kann man heutzutage modernere Versionen mit mehr Speicher kaufen (zum Beispiel Tags aus der Ultralight-C- oder NTAG-Familie), aber die kleineren Pioniere weisen doch noch einen wichtigen Vorteil auf, nämlich einen sehr niedrigen Preis. Type 3 mit dem Spitznamen Felica taucht eigentlich nur in Asien auf, so dass wir diese Karten hier außer Acht lassen können. Interessanter ist die populäre Familie Mifare Classic oder „Standard“ (Bild 3), die speziell für NFC formatiert ist und manchmal auch Type 7 genannt wird. Diese Tags haben einen viel größeren Speicher (1024 Byte) und entsprechen auch dem Standard, verwenden aber ein sehr speziell auf NXP zugeschnittenes Kommunikationsprotokoll. So sind diese Tags auch nur mit NFC-Chipsets von NXP auszulesen. Wenn das Smartphone mit einem NFC-Chipsatz eines mit NXP kon- kurrierenden Herstellers ausgestattet ist, lassen sich die Mifa- re-Classic-Tags nicht lesen. Aus diesem Grund sind diese Tags kaum geeignet für Open-source-Projekte. Bei Type 4 wird ganz anders vorgegangen, was ihn sehr attrak- tiv für uns macht. Das Problem mit Type 1 und Type 2 ist, dass Leseeinrichtung und Tag auf einem niedrigen Niveau kom- patibel sein müssen und das bedeutet, dass die Auswahl an Leseplattformen recht beschränkt ist. Type 4 erkennt dagegen vollständig die APDU-Befehle nach ISO7816-4 (APDU T=CL, contactless) und wird auch durchweg bei Smartcards einge- setzt, die einen Mikroprozessor an Bord haben. Die ersten Type-4-Tags wurden für die beiden Karten DESFire (Bild 4) und JCOP entwickelt. Sie sind zwar nicht billig, aber die Tags haben einen „aktiven Inhalt“, so dass ein höherer Preis doch gerechtfertigt ist. In der Karte steckt eine Firmware, die komplexe Aufgaben erfüllen kann, zum Beispiel eine Ver-

die komplexe Aufgaben erfüllen kann, zum Beispiel eine Ver- Bild 3. Mifare Classic verfügt über 1024

Bild 3. Mifare Classic verfügt über 1024 Bytes Speicher, aber ist nur beschränkt kompatibel.

Wie war das nochmal?

ISO 14443 betrifft eine Reihe von Normierungen für drahtlose Nahfeldkommunikation auf 13,56 MHz mit Identifikations-, kontaktlosen Chip- und NFC-Karten. Teil 1: physische Eigenschaften Teil 2: HF-Leistung und Signalschnittstelle Teil 3: Initialisierung und Konfliktdetektion Teil 4: Übertragungsprotokoll

Das A in der Typbezeichnung ST25TA02K gibt an, dass dieser NFC-Tag das Protokoll Type A der Norm 14443-4 verwendet. Allerdings weichen, wie erwähnt, die Hersteller oft etwas von der Norm ab. Hier einige Beispiele:

Mifare Classic ist ein Markenname von Philips, jetzt NXP, für ein Protokoll, das 14443-1, -2 und -3 (Type A) genügt, nicht aber 14443-4, mit oder ohne Unterstützung des CRYPTO1-Algorithmus. Mifare Ultralight ist eine Variante von Mifare Classic, die kein CRYPTO1 unterstützt. LEGIC RF ist eine eigene „Norm“ des Herstellers, die aber scheinbar auf der ISO14443 beruht. So arbeiten beide zum Beispiel auf 13,56 MHz. FeliCa ist ein herstellereigenes Protokoll, das von Sony entwickelt wurde.

In dem Artikel haben wir uns mit APDU-Befehlen beschäftigt. APDU steht für Application Protocol Data Unit. In diesen Dateneinheiten werden Mitteilungen zwischen NFC-Tag und Lesegerät ausgetauscht. APDU ist ein standardisiertes Format, beschrieben in der Norm ISO 7816-4 für Organisation, Sicherung und Austauschbefehle.

Der Befehl Application Selection ist beispielsweise wie folgt aufgebaut:

C-APDU of the NDEF Tag Application Select Command

Name

CLA

INS

P1

P2

Lc

Data

Le

           

0xD27600

 

0x00

0xA4

0x04

0x00

0x07

00850101

0x00

Class byte

Select instruction code

P1 field

P2 field

Number of bytes of data

 

Application ID

 

Le field

(Quelle: Tabelle 22 im Datenblatt von STMicroelectronics [3])

Der Befehl ist aus einer Anzahl von Feldern einer bestimmten Länge (in Bytes) aufgebaut. CLA heißt class byte und gibt an, um welche Art von Befehl es sich handelt, beispielsweise interindustry für standardisiertes oder proprietary für ein herstellereigenes. INS steht für die Sorte des Befehls wie Lesen oder Schreiben oder anderes. P1 und P2 sind Befehlsparameter, zum Beispiel Positionen innerhalb einer Datei. Lc ist die Anzahl der Bytes in diesem Befehl. Data ist der eigentliche Befehlsinhalt. Le ist die Anzahl der Bytes, die als Antwort erwartet wird (wenn erforderlich).

learn

design

share

l e a r n design share Bild 4. MIFARE DESFire von NXP ist einer der

Bild 4. MIFARE DESFire von NXP ist einer der ersten Type-4-NFC-Tags.

MIFARE DESFire von NXP ist einer der ersten Type-4-NFC-Tags. Bild 5. Mit einem kontaktlosen PC/SC-Lesegerät an

Bild 5. Mit einem kontaktlosen PC/SC-Lesegerät an einem PC (und Software, die frei im Netz verfügbar ist) liest man einen Tag aus.

schlüsselung. So ist es möglich, eine kontaktlose BasicCard (ZC7.5) mit wirklich sicheren und „intelligenten“ NFC-Funktio- nen auszustatten. Dabei kommt die größere Speicherkapazität natürlich gerade recht. Der ST25TA02K ist ein NFC-Tag von STMicroelectronics, der vollständig mit Type 4 kompatibel ist. Er besitzt keinen Mik- roprozessor und ist deshalb recht preisgünstig, aber verfügt über 256 Bype EEPROM-Speicher. Das Konzept erinnert etwas an den CryptoMemory von Atmel, ein synchroner Kontakt- chip ohne Mikroprozessor und deshalb „harter“ Logik, die aber gehorsam Befehle asynchroner Karten ausführt (APDU T=0). Diese brillante Idee stammt von Gemplus (jetzt Gemalto) und wurde schon 1998 patentiert, kurz bevor Gemplus die Gem- Club-Memo-Karte auf der CARTES-Messe in Paris vorstellte.

Dialog aufnehmen

Der ST25TA02K kann von Applikationen auf bestimmten Smart- phones gelesen und beschrieben werden. Man kann noch sehr viel mehr damit anfangen, allerdings ist das Ganze mit ein paar nicht auflösbaren Problemen behaftet. Darum verwenden wir lieber eine Alternative: einen kontaktlosen PC/SC-Leser in Verbindung mit einem Computer. Marke und Typ spielen keine

Rolle, es muss nur ein geeigneter Treiber installiert werden. Wenn wir ein CCID-kompatibles Lesegerät wie den beliebten ACR122 verwenden, so kann man sogar einen generischen Treiber verwenden. Alles, was wir beim NFC-Tag ändern wollen, geschieht mit Hilfe weniger APDU-Befehle. Ein wichtiger Befehl ist Select. Alle Befehle werden im 50-seitigen Datenblatt des ST25TA02K (DM00179392.PDF) erläutert, das man bei STMicroelectronics herunterladen kann [3]. Wenn wir unseren NFC-Tag an ein Lesegerät halten, müssen wir einen Befehl senden. Dieser Befehl heißt NDEF Application Select command. NDEF steht dabei für NFC Data Exchange For- mat. Ein solcher Befehl ist nichts anderes als ein Byte-String, der hexadezimal notiert ist als:

00A4040007D2760000850101.

Im Kasten wird kurz erläutert, wie dieser String aufgebaut ist. Es gibt auch eine Variante des Befehls, die allerdings nicht gut dokumentiert ist:

00A4040007D27600008501 00.

Damit wird der Tag kompatibel mit dem Speicher-Mapping Ver- sion 1.0, im ersten Fall mit der zurzeit gängigeren Version 2.0. Nach diesem Befehl können wir aus folgenden Dateien wählen:

einen Capability Container (CC), der Informationen über die Eigenschaften des Tags enthält,

der Systemdatei (spezifisch für STMicroelectronics)

oder der NDEF-Datei, die die „Nutzlast“ (payload) des Tags enthält.

Die ersten beiden Dateien lassen wir in Ruhe, die dritte ist dagegen umso interessanter, da sich damit bestens herum- spielen lässt.

Spielen mit der URL

Der Befehl zur Auswahl ist 00A4000C020001. Die letzten beiden Ziffern bilden den Dateinamen 0001h (der Capability Container ist E103h, die Systemdatei E101h). Ein Lesebefehl besteht aus zwei Bytes, nämlich einem Klassifizierungsbyte (class byte) gefolgt von einem Instruktionscode. Der Instruktionscode ist immer

ReadBinary = B0. Das Class Byte lautet 00h für „normales“ Lesen (ReadBinary), A2h steht für extended ReadBinary. Der Unterschied ist, dass ReadBinary einen Fehlercode zurückgibt (6282h), wenn man über das Ende der Nutzlast hinaus liest, während extended ReadBinary den gesamten Speicherraum für die Datei von Anfang bis Ende liest, also alle 255 Bytes. Wenn Sie sich weiter in diese Materie vertiefen wollen, soll- ten Sie das Datenblatt [3] studieren. Die ersten beiden Bytes einer NDEF-Datei, die sich mit dem Befehl 00B0000002 aufrufen lassen, enthalten Angaben über die Länge des Inhalts. Auf der Karte aus dem Wettbewerb

ist 00 24 zu lesen. Es folgen demnach 36 zu lesende Bytes (24 hexadezimal ist 36 dezimal). Mit einem Offset von 2 Bytes (02h) wird der Befehl zu 00B0000224. Mit dem Befehl A2B00002FE lesen wir die Datei bis an ihr Ende, dann sehen wir auch den verwendeten Speicherplatz. In beiden Fällen erhalten wir eine NDEF-Mitteilung mit der URL zur Teilnahme an dem Entwick-

Anzeige

grundlagen

kurs

lungswettbewerb [1], folgendermaßen kodiert:

D1 01 20 55 02 65 6C 65 6B 74 6F 72 6D 61 67 61 7A 69 6E 65 2E 63 6F 6D 2F 73 74 6D 69 63 72 6F 2D 6E 66 63

Ab dem sechsten Byte (von 65h bis 63h) ist der Text elektor- magazine.com/stmicro-nfc in ASCII-Code zu finden. Das vor- laufende Byte 02h ist die Standard-Abkürzung für https://www. Man kann auch http://www (ohne „s“) mit 01h angeben. Es gibt noch mehr nützliche Abkürzungen, wie das Datenblatt zeigt. Byte 55h ist der große Buchstabe U, der angibt, dass eine URL folgt (oder besser gesagt, eine URI). 20h ist die Länge der URI, die vier Byte kürzer ist als die ganze Mitteilung mit 24h. Wenn man nur die URL ändern möchte, muss man sich aber nicht weiter damit befassen. Wenn wir einen Fehler machen, so wird der Tag nicht antworten, wenn man versucht, ihn mit einem Smartphone auszulesen. Wenn man die URL beispielsweise in http://www.elektormagazine.com ändern möchte, muss man nur drei Bytes anpassen. Man gibt zweimal den Befehl Update- Binary (00 D6). Mit dem ersten 00D600060101 verändern wir https in http; mit dem zweiten 00D60000050018D10114 werden die Bytes für die Länge geändert. Das Ende der Datei befindet sich dann genau nach dem „com“. Der Rest der URL (/stmicro-nfc) spielt dann keine Rolle mehr, kann aber immer noch mit dem Befehl extended ReadBinary ausgelesen wer- den, mit dem ja der gesamte Speicherraum gelesen wird. Wenn Sie sich gefragt haben, wie im Tatort die Polizei immer problemlos gelöschte SMS auf einer „verdächtigen“ SIM-Karte lesen kann, dann wissen Sie jetzt die Antwort: Es wird dabei stets die gesamte Karte gelesen. Deshalb kann man bei unserer Karte auch die ursprüng- liche URL mit den beiden Befehlen 00D600060102 und

00D60000050024D10120 wieder herstellen!

Will man überprüfen, ob alles gut funktioniert hat, kann man ein beliebiges PC-Lesegerät anschließen und den NFC-Tag mit einem Programm auslesen, das unter http://www.nfcwizard. com/fr/actions-fr/read-fr/ (Bild 5) verfügbar ist. Leider ist diese Website im Moment aus technischen Gründen geschlossen; Sie können es in der Zwischenzeit einmal mit dem Programm pro- bieren, das man von https://gototags.com/products/windows- app/ downloaden kann. Funktioniert alles nach Wunsch, kann man anfangen, sich mit Android zu beschäftigen. Doch dies werden wir erst im zweiten Teil des Artikels machen.

dies werden wir erst im zweiten Teil des Artikels machen. (150805) Weblinks Zu dem Wettbewerb gehören

(150805)

Weblinks

Zu dem Wettbewerb gehören zwei Elektor-Artikel:

[1] STMicroelectronics NFC-Technologie mit ST25TA, Elektor Januar/Februar 2016,

www.elektormagazine.de/magazine/elektor-201601/28658

und

[2] Erste Schritte mit den NFC-Tags der ST25TA-Familie, Elektor März/April 2016,

www.elektormagazine.de/magazine/elektor-201603/28782

[3] Dokumentation der Befehle, STMicroelectronics:

www.st.com/web/en/resource/technical/document/data-

sheet/DM00179392.pdf

q & a

tipps & tricks

software

PicoScope ® 5000 Serie OSZILLOSKOPE MIT FLEXIBLER AUFLÖSUNG DIE OSZILLOSKOPE DER PICOSCOPE 5000 SERIE MIT

PicoScope ® 5000 Serie

OSZILLOSKOPE MIT FLEXIBLER AUFLÖSUNG

DIE OSZILLOSKOPE DER PICOSCOPE 5000 SERIE MIT FLEXIBLER AUFLÖSUNG HABEN EINE AUSWÄHLBARE AUFLÖSUNG VON 8 BIS 16 BIT UND ABTAST- GESCHWINDIGKEITEN BIS 1 GS/S.

VON 8 BIS 16 BIT UND ABTAST- GESCHWINDIGKEITEN BIS 1 GS/S. Moderne elektronische Baugruppen und Geräte

Moderne elektronische Baugruppen und Geräte erzeugen eine Vielzahl von sehr schnellen und sehr hochauflösenden Signalen. Die Fähigkeit, kleine Signale in Gegenwart von größeren aufzuspüren und zu charakterisieren ist der Schlüssel zur Prüfung elektronischer Designs der nächsten Generation. Die Präzision eines Oszilloskops wird bestimmt durch seine Auflösung und Genauigkeit. Hier sehen Sie, wie sich unterschiedliche Auflösungen bei Oszilloskopen auswirken:

Das Signal im Screenshot wurde zunächst mit 8-bit-Auflösung erfasst; ein 64x-Zoom zeigt die Grenzen der 8-bit-Auflösung. Das gleiche Signal, erfasst mit einem PicoScope, das auf 12-bit-Auflösung eingestellt wurde, zeigt Details, die im 8- bit-Modus nicht sichtbar waren.

zeigt Details, die im 8- bit-Modus nicht sichtbar waren. Alle Modelle inkl. Software und 5 Jahren

Alle Modelle inkl. Software und 5 Jahren Gewährleistung. Die Software umfasst standardmäßig Messungen, Spektrum-Analyse, erweiterte Trigger, farbiges Nachleuchten, serielles Decoding (16 Protokolle inkl. 1-Wire, CAN, Ethernet, I²C, I²S, LIN, RS-232, SENT, SPI, USB 1.1), Masken, mathematische Kanäle; mit KOSTENFREIEN Updates. Außerdem kostenfreies Software Development Kit erhältlich.

www.picotech.com/PS469

learn

design

share

Die Magie der PLL

Stabile frequenzvariable Signale mit VCO und PLL

Von Robert Lacoste (F)

Zauberei ist eigentlich nicht im Spiel, wenn es um eine Schaltungstechnik geht, die Phase Locked Loop oder kurz PLL genannt wird. Der PLL ging früher der Ruf voraus, hoch kompliziert zu sein. Heute gibt es unkompliziert nutzbare Tools, die PLLs berechnen und simulieren.

10MHz +/–10ppm 122.4MHz +/–10ppm PLL 10MHz +/–10ppm, mit Jitter 10MHz +/–10ppm, Jitterfrei PLL
10MHz +/–10ppm
122.4MHz +/–10ppm
PLL
10MHz +/–10ppm, mit Jitter
10MHz +/–10ppm, Jitterfrei
PLL

Bild 1. Zwei typische Anwendungen der PLL: Erzeugen periodischer frequenzvariabler Signale und Entfernen der Jitters aus periodischen Signalen.

Im vorangegangenen Beitrag zum Thema Schwingquarze [1] haben wir gezeigt, dass mithilfe von Quarzen hochpräzise, fre- quenzstabile Oszillatoren realisierbar sind. Allerdings sind die Frequenzen dieser Oszillatoren nicht variabel, sie sind an die Frequenz des Quarzes gebunden. Dem steht gegenüber, dass zahlreiche Systeme Signale benötigen, die bei hoher Stabilität frequenzvariabel sind. Ein Messsender im Laboreinsatz, um nur ein Beispiel zu nennen, muss stabile Signale im gesamten überstrichenen Frequenzband liefern. Die Anzahl der Beispiele ließe sich endlos fortsetzen, die Lösung bleibt jedoch gleich: Es ist die PLL, die Phase-locked Loop, was ins Deutsche übersetzt so viel wie Phasenverriegelte Schleife heißt. Eine PLL liefert ein frequenzvariables Ausgangssignal, bei dem die Phase starr an die Phase eines am Eingang liegen- den Bezugssignals gekoppelt ist. Dadurch wird erreicht, dass die Frequenzgenauigkeit und Stabilität des Ausgangssignals exakt den Eigenschaften des Bezugssignals entspricht. Wenn ein Oszillator beispielsweise ein Bezugssignal mit der Frequenz 10 MHz und der Genauigkeit 1 ppm (part per million) liefert, hat die Frequenz des PLL-Ausgangssignals auf jeder beliebigen einstellbaren Frequenz exakt die gleiche Genauigkeit. Eine weitere wichtige Eigenschaft einer PLL ist ihre Fähigkeit, sogenannten Jitter aus periodischen Signalen zu entfernen. Jitter werden die Phasenschwankungen periodischer Signale genannt, die auf dem Oszilloskop als „Zittern“ der Flanken in Erscheinung treten. Das Auftreten von Jitter kann sich bei der Übertragung von Daten äußerst störend auswirken. Das PLL-Prinzip ist in Funkempfängern ebenso vertreten wie in Ether-

net-Schnittstellen-Komponenten oder Bausteinen für digitale Audiostreams. In Bild 1 sind die klassischen Anwendungen der PLL dargestellt.

Spannungsgesteuerter Oszillator

Kernstück eines PLL-Systems ist der VCO (Voltage Controlled Oscillator), ein spannungsgesteuerter Oszillator. Meistens hat ein VCO die Gestalt eines integrierten Bausteins, um das Innen- leben muss sich nur der Hersteller kümmern. Doch es kann nicht schaden, zumindest das Prinzip etwas näher kennenzu- lernen. Ein Oszillator entsteht, wenn das Ausgangssignal eines Verstärkers auf seinen Eingang rückwirkt. Dabei müssen zwei Bedingungen erfüllt sein: Die Verstärkung muss bei der Fre- quenz des schwingenden Signals größer 1 sein, und die Phase des Eingangssignals muss mit der Phase des Ausgangssignals übereinstimmen. Wir haben mit dem CAD-Programm Proteus

von Labcenter einen Mini-Verstärker mit lediglich einem Transis- tor simuliert, er ist in Bild 2 dargestellt. Die Verstärkung liegt

im Bereich 250 kHz

fähr 13 MHz ist das Eingangssignal mit dem Ausgangssignal in Phase. Mit einer Rückkopplung zwischen Ausgang und Eingang schwingt die Schaltung auf dieser Frequenz. Die Simulation, die Bild 3 wiedergibt, bestätigt den Betrieb als Oszillator. Die berechnete Frequenz beträgt 14,6 MHz, weil die Rückkopplung eine Änderung der Lastimpedanz herbeiführt.

MHz über der 0-dB-Linie, bei unge-

20

Wenn wir diesen Oszillator zu einem VCO erweitern wollen, müssen wir eine Komponente hinzufügen, die ihren Wert abhän- gig von einer Spannung variiert. Die gängigste Lösung ist eine

grundlagen

kurs

+6V

INPUT

R2 220 R1 10k C1 L1 C2 R3 Q1 BF259 470 1uH 1nF 220pF C3
R2
220
R1
10k
C1
L1
C2
R3
Q1
BF259
470 1uH
1nF
220pF
C3
C4
470pF
100pF
+6V INPUT R2 220 R1 10k C1 L1 C2 R3 Q1 BF259 470 1uH 1nF 220pF

OUTPUT

25
25

Bild 2. Die Verstärkung dieser Schaltung hat zwischen 250 kHz und 20 MHz positive Werte. Wie die rote Kurve zeigt, ist die Phasenverschiebung bei etwa 13 MHz gleich 0.

Varicap-Diode, sie ist so konstruiert, dass die Kapazität des internen pn-Übergangs, wie in Bild 4 dargestellt, eine defi- nierte Funktion der angelegten Sperrspannung ist. Über Dros-

sel L2, die Signalanteile hoher Frequenzen sperrt, wird an die

Varicap-Diode eine Gleichspannung im Bereich 0

V gelegt.

Die Simulation bestätigt, dass die Phasenantwort und somit

auch die Frequenz des Ausgangssignals von der angelegten Spannung abhängt: Entstanden ist ein VCO!

Diese Simulation eines VCO hat zwar stark vereinfachenden Charakter, doch das Prinzip ist deutlich. VCOs in integrierter Form gehören zur Produktpalette zahlreicher Hersteller wie Analog Devices und Maxim, integrierte Module werden unter anderem von Minicircuits und Sirenza gefertigt. Im schon etwas betagten CMOS-Baustein CD 4046 ist ein VCO integriert, der sich für unkritische Anwendungen eignet, und sogar der klassische Timer 555 ist mit passender Beschaltung als VCO brauchbar. Die angestrebten Präzisionseigenschaften lassen sich nur errei- chen, wenn der Filterung des steuernden Signals Aufmerksam- keit gewidmet wird. Jede Art von Rauschen wirkt sich unwei- gerlich als Frequenzrauschen und folglich als Phasenrauschen des Ausgangssignals aus. Das Phasenrauschen steht mit der Bandbreite des Frequenzbereichs in engem Zusammenhang. Wenn dem steuernden Signal ein bestimmter Rauschanteil überlagert ist, führt dies bei einem VCO mit einer Bandbreite von nur einigen Megahertz zu vergleichsweise geringem Pha- senrauschen. Der gleiche Rauschanteil hat bei einem VCO mit einer Bandbreite von 1 GHz bis 2 GHz ein wesentlich höhe- res Phasenrauschen zur Folge. Ein VCO, der nur ein äußerst geringes Phasenrauschen aufweist, jedoch nur in einem engen Bereich frequenzvariabel ist, lässt sich mit einem Quarzoszillator zusammen mit einer Varicap-Diode realisieren. Diese Konstruk- tion wird Voltage Controlled Crystal Oscillator (VCXO) genannt.

q & a

tipps & tricks software S PIC E OPTIONS : +6V T MAX=1ns T S IM=500us
tipps & tricks
software
S PIC E OPTIONS :
+6V
T MAX=1ns
T S IM=500us -500.2us
INT E G R =T R AP E ZOIDAL
R2
220
OUTPUT
R1
10k
C1
L1
C2
R3
Q1
BF259
1uH
1nF
470
220pF
C3
C4
470pF
100pF
R3 Q1 BF259 1uH 1nF 470 220pF C3 C4 470pF 100pF Bild 3. Wenn der Eingang

Bild 3. Wenn der Eingang mit dem Ausgang gekoppelt wird, schwingt der Verstärker, er wird zum Oszillator. Die Frequenz liegt bei 13 MHz, in der Simulation bei 14,6 MHz.

Phasenverrieglung

Wir haben zwar einen VCO mit variabler Frequenz konstruiert, doch die Genauigkeit und insbesondere die Stabilität lassen Wünsche offen. Die Frequenz schwankt infolge von Instabilitäten der steuernden Spannung, als Funktion der Umgebungstem-

+25V R5 X +6V C5 R4 R2 100nF 10k 220 OUTPUT L2 1mH R1 10k
+25V
R5
X
+6V
C5
R4
R2
100nF
10k
220
OUTPUT
L2
1mH
R1
10k
C1
L1
C2
R3
Q1
BF259
6.8uH
470
1nF
220pF
C3
C4
D1
22pF
100pF
FMMV2105
VTUNE

INPUT

INPUT
INPUT

Bild 4. Durch Hinzufügen einer Varicap-Diode wird der Oszillator zum VCO. In der Simulation wurden durch Variieren des Widerstands R5 unterschiedliche Spannungen an die Varicap-Diode gelegt. Dadurch wandern der Nullpunkt der Phasenverschiebung und folglich auch die Frequenz.

learn

design share teilen /R F in durch R Phasendetektor Filter VCO F /N teilen out
design
share
teilen
/R
F in
durch R
Phasendetektor
Filter
VCO
F
/N
teilen
out
durch N

Referenz-

Frequenz

(F

in

)

Ausgangs-

Frequenz

(F

out

)

Bild 5. Prinzip einer PLL: Der Phasendetektor vergleicht das vom VCO erzeugte Signal mit einem Bezugssignal und passt die steuernde Spannung des VCOs an. Die Teiler bestimmen das Verhältnis der Signalfrequenzen.

peratur, der Alterung der Bauelemente und anderem mehr. Außerdem ändert sich die Frequenz abhängig von der Betriebs- spannung und von der Last am Signalausgang. Das Problem lässt sich durch die Phasenverriegelung lösen, die das Signal des VCO phasenstarr an ein hochpräzises Bezugs- signal koppelt. Das Bezugssignal stammt meistens von einem quarzstabilisierten Oszillator. Übrigens reichen die Ursprünge der PLL laut Wikipedia bis in der Jahr 1930 zurück, als im bri- tischen Königreich die ersten Funkempfänger mit Direktüber- lagerung (Homodyn-Empfänger) konstruiert wurden. Diese Empfänger mischen das empfangene HF-Signal mit dem Sig- nal eines lokalen Oszillators, der auf der Empfangsfrequenz schwingt. Da es regelmäßig nötig war, die Oszillatorfrequenz nachzustellen, haben die Konstrukteure schon früh über eine selbsttätige Regelschleife nachgedacht. Die Historiker vermu- ten, dass die Idee auf einer wissenschaftlichen Arbeit des fran- zösischen Physikers Henri De Bellescise beruht. Doch zurück zur Technik der PLL: Aus dem Funktionsschema in Bild 5 geht hervor, dass die Frequenz des Bezugssignals F in (gegebenenfalls geteilt durch die Konstante R) mit der Fre- quenz des VCO-Ausgangssignals F out (gegebenenfalls geteilt durch eine Konstante N) verglichen wird. Das Ausgangssignal des Phasenvergleichers (Phase Frequency Detector, PFD) wird gefiltert und anschließend dem VCO als steuernde Spannung zugeführt. Um die Phasen der Signale an den Eingängen des PFD starr miteinander zu koppeln, müssen sie identische Fre- quenzen und übereinstimmende Phasenlagen haben, es muss also gelten:

F in /R = F out /N Wenn die Frequenz des VCO-Signals ansteigt, tritt eine Phasen- differenz zwischen den Eingangssignalen des PFD auf, so dass an seinem Ausgang über die Zeit betrachtet Logisch 0 vergli- chen mit Logisch 1 überwiegt. Die gefilterte Ausgangsspannung sinkt, sie stellt die Frequenz des VCO in Richtung niedriger Frequenz nach. Genau dies ist das Ziel, das erreicht werden soll. Die Regelung arbeitet natürlich auch in umgekehrter Rich- tung. Da die Schleife geschlossen ist, wird die VCO-Frequenz auf N ∙ F in /R verriegelt. Die Frequenz F in /R, bei der die Phasen miteinander verglichen werden, wird PFD-Frequenz oder kurz F PFD genannt. Aus den angeführten Zusammenhängen folgt:

F PFD = F in /R = F out /N Für das Entwerfen einer PLL ist F PFD ein wichtiger Parameter, denn es gilt:

F out = N ∙ F in /R = N ∙ F PFD . Wie lässt sich eine PLL schaltungstechnisch realisieren? Die

Teiler durch N und durch R sind binäre Teiler, die unkompliziert mit digitalen Zählern und Komparatoren aufgebaut werden kön- nen. Der PFD erfordert etwas mehr Überlegung, doch auch hier existiert eine wenig aufwendige Lösung: Das logische Exklu- siv-Oder-Gatter. Diese logische Funktion liefert eine logische 1 am Ausgang, wenn die logischen Zustände der beiden Signale an den Eingängen miteinander übereinstimmen (beide 0 oder beide 1). Wenn an den Eingängen zwei Rechtecksignale gleicher Frequenz liegen, erscheint am Ausgang des EXOR-Gatters ein Rechtecksignal dieser Frequenz, wobei das Impuls-Pause-Ver- hältnis von der Phasendifferenz der Eingangssignale abhängt. Zusammen mit einem steilen Tiefpass ist dies ein durchaus akzeptabler Phasenvergleicher, also ein PFD. Der VCO wird sta- bilisiert, wenn die Frequenzen übereinstimmen und die Phasen- differenz gegen Null geht. Der einzige Nachteil dieser Lösung besteht darin, dass dem Ausgangssignal viel unerwünschtes Rauschen überlagert ist, das bei der Frequenz F PFD und ihren Vielfachen sein Maximum hat. Effizientere Lösungen benutzen Ladungspumpen, die einen Kondensator abhängig von den Sig- nalphasen mit positiven oder negativen Strömen laden oder entladen, das Grundprinzip ist jedoch gleich. Den Lesern, die sich in dieses Thema vertiefen möchten, empfehlen wir das Studium der Veröffentlichung von Texas Instruments, die am Schluss dieses Beitrags unter den Referenzen aufgeführt ist.

Integer-N oder Fractional-N

Wenn eine PLL auf der in Bild 5 skizzierten Architektur fußt, wird sie Integer-N-PLL genannt. Aus den oben angegebenen mathematischen Beziehungen folgt, dass die Frequenz des Aus- gangssignals innerhalb der VCO-Bandbreite frei gewählt werden kann, solange sie ein ganzzahliges Vielfaches der Frequenz F PFD ist. Die Frequenz des PLL-Ausgangssignals soll beispielsweise bei 500 MHz liegen und in Schritten von 1 kHz einstellbar sein, das Bezugssignal soll die Frequenz F in = 10 MHz haben. Die Lösung mit einer Integer-N-PLL besteht darin, eine Frequenz F PFD zu wählen, die gleich der Schrittweite 1 kHz ist. Daraus ergibt sich der Teilfaktor R, in diesem Fall ist R = 10 MHz/1 kHz = 10000. Für N gilt, dass N = 500 MHz/1 kHz = 500000 ist. Damit beträgt die Frequenz des Ausgangssignals genau 500 MHz. Ist N = 500001, steigt die Frequenz auf 500001 MHz, und so weiter. Integer-N-PLLs haben ein weites Einsatzfeld, sie haben jedoch zwei Handicaps. Der erste Nachteil ist die Zeit, die vergeht, bis die PLL „einrastet“, die Verriegelungszeit. Die Frequenz F PFD hängt von der Schrittweite, also von der Auflösung des PLL-Ausgangssignals ab. Wie schon beschrieben, muss das

grundlagen

kurs

q & a

tipps & tricks

u n d l a g e n kurs q & a tipps & tricks Eine

Eine PLL ist eine Kombination aus spannungsgesteuertem Oszillator, Phasenvergleicher und Tiefpass

software

Ausgangssignal des PFD einen Tiefpass durchlaufen, der den Mittelwert der Spannung zum Steuern des VCO bildet. Die Eckfrequenz des Tiefpasses muss wesentlich niedriger als die Frequenz F PFD liegen, ein Richtwert ist der Faktor 10. Im Bei- spiel ist F PFD = 1 kHz, so dass die Eckfrequenz des Tiefpasses ungefähr 100 Hz betragen muss. Wenn N verändert wird, um die PLL-Ausgangsfrequenz zu ändern, kann die Änderung erst wirksam werden, nachdem sich der Tiefpass stabilisiert hat. Dies dauert jedoch eine gewisse Zeit, da es die ureigenste Aufgabe eines Tiefpasses ist, schnellen Änderungen entgegenzuwirken. Die Integer-N-PLL ist folglich mit zwei gegensätzlichen Para- metern behaftet: Entweder ist die Schrittweite klein, oder die Verriegelungszeit ist kurz. Das zweite Handicap der Integer-N-PLL hat etwas komple- xere Ursachen: Das Phasenrauschen steigt stark an, wenn der Teilfaktor N zu hohen Werten verschoben wird, denn (verein- facht beschrieben) wird das Rauschen des PFD-Signals mit N multipliziert. Integer-N-PLLs müssen jedoch häufig mit hohen Werten von N arbeiten, um eine hohe Auflösung, also kurze Frequenzschritte zu realisieren. Das Herabsetzen des Phasen- rauschens stößt hier an seine Grenzen.

Um den beschriebenen Problemen aus dem Weg zu gehen, haben findige Entwickler die Fractional-N-PLL ersonnen, bei der N einen gebrochenen Wert hat. Die Methode des Phasen- vergleichs bleibt bestehen, nun kann jedoch die Frequenz F PFD einen Wert erhalten, der wesentlich größer als die Schrittweite ist. Die Verriegelungszeit und das Phasenrauschen werden dras- tisch reduziert, die Frequenz des PLL-Ausgangssignals hat eine hohe Auflösung. Ein Beispiel: Beim 500-MHz-Oszillator kann F PFD beispielsweise auf 100 kHz festgelegt werden. Wenn N = 5000 ist, hat das PLL-Ausgangssignal die Frequenz 500 MHz, und bei N = 5000,01 ist sie 500,001 MHz. Ein Tiefpass mit der Eckfrequenz 10 kHz genügt, und die Verriegelungszeit ist verglichen mit einer Integer-N-PLL um den Faktor 100 kürzer.

Dies grenzt zwar an Magie, doch auch die Fractional-N-PLL hat ihre Handicaps. Leider wurde ein perfekter Frequenzteiler mit nicht ganzzahligem Teilfaktor noch nicht erfunden. Das Teilen durch eine gebrochene Zahl lässt sich nur mit einem Kunstgriff erreichen, der darin besteht, dass der Teilfaktor mit bestimm- ter Frequenz umgeschaltet wird. Beispielsweise lässt sich der Teilfaktor N = 5000,01 realisieren, indem für 99 % der Zeit N = 5000 gesetzt wird und für 1 % der Zeit N = 5001 ist. Im zeitlichen Mittel ergibt sich zwar der angestrebte gebrochene Teilfaktor, doch es bedarf nicht viel Phantasie, um zu ahnen, dass die Methode unvollkommen ist. Im PLL-Ausgangssignal finden sich diverse Anteile wieder, die dort nicht hingehören. Der Fractional-N-PLL können deshalb gravierendere Probleme anhaften als der Integer-N-PLL. Hinzu kommt, dass die Eigen- schaften der verwendeten integrierten Bausteine der freizügi- gen Gestaltung Grenzen setzen. Auch dies verkompliziert die Realisierung in nicht zu unterschätzendem Maß.

Entwerfen einer PLL

Wenn Sie ein Signal mit fester Frequenz oder konstanten Fre- quenzschritten generieren möchten, ohne dass hohe Forderun- gen an das Phasenrauschen gestellt werden, ist die Integer- N-PLL der richtige Weg. Wählen Sie die PFD-Frequenz über- einstimmend mit der Schrittweite und dimensionieren Sie den Tiefpass so, dass die Eckfrequenz um den Faktor 10 niedriger liegt. Wenn jedoch eine hohe Frequenzauflösung oder niedriges Phasenrauschen Priorität haben, dann sollten Sie im Normalfall einer Fractional-N-PLL den Vorzug geben. Die PFD-Frequenz soll dann möglichst hoch sein. Dies sind die Grundregeln beim Entwerfen einer PLL. Was noch fehlt, ist das exakte Berechnen der Parameter, unter anderem des Tiefpasses. Ferner müssen Maßnahmen getroffen werden, falls das Bezugssignal nicht sonderlich stabil ist, also starkes Phasenrauschen aufweist. Das Phasenrauschen einer PLL ist in der Umgebung der Frequenz des Ausgangssignals fast gleich dem Phasenrauschen des Bezugssignals. In diesem Bereich folgt die PLL dem Bezugssignal einschließlich seiner Toleranzen. Wird der Abstand zur Frequenz des Ausgangssignals größer, sinkt der Einfluss des Bezugssignals, die Eigenschaften des VCO gewinnen an Wirkung. Abhängig von der Anwendung muss mehr oder weniger Aufwand für den Tiefpass getrieben werden, was sich letztendlich auf die Wahl der PFD-Frequenz auswirkt. Dies alles klingt enorm kompliziert, doch zum Glück überneh- men die Hersteller integrierter PLL-Bausteine den Großteil der Arbeit. Zum Beispiel stellt Analog Devices sein Tool „ADIsim- PLL“ kostenlos zur Verfügung, einen Vorgeschmack gibt Bild 6. Nach der Eingabe der unteren und oberen Frequenzgrenze, der Frequenzauflösung, der Eigenschaften des Bezugssignals und des VCO sowie einiger anderer Parameter generiert das Tool auf Mausklick eine wunschgemäße PLL-Schaltung und simuliert

Mausklick eine wunschgemäße PLL-Schaltung und simuliert Bild 6. Simulation einer PLL-Schaltung auf dem Bildschirm

Bild 6. Simulation einer PLL-Schaltung auf dem Bildschirm mit dem Programm ADIsimPLL von Analog Devices.

learn

design

share

l e a r n design share Bild 7. Das Entwicklungsboard für den CY22393 von Cypress

Bild 7. Das Entwicklungsboard für den CY22393 von Cypress vereinfacht den Umgang mit PLLs. Auf dem Chip sind drei PLLs integriert.

ihre Arbeitsweise. Wen wundert es, dass dem Benutzer nahe gelegt wird, für den realen Aufbau Bausteine aus der Produk- tion des Herstellers zu verwenden Ein solches Tool kann das Leben eines Entwicklers enorm erleich- tern. Wenn die vom Tool gelieferten Ergebnisse nicht zusagen, können einige Vorgaben modifiziert werden, und das Spiel beginnt von vorn. Nach mehr oder weniger vielen Simulatio- nen können Sie darangehen, den ersten Prototypen zu bauen. Wenn Sie die allgemeinen Regeln für den Aufbau hochfrequen- ter Schaltungen befolgen, werden die tatsächlichen Ergebnisse den Simulationen sehr nahe kommen.

Silizium

Wenn Sie in Ihrem Projekt eine PLL einsetzen möchten, soll- ten Sie auf einen dafür zugeschnittenen integrierten Baustein zurückgreifen. Das Angebot des Marktes ist vielfältig, Analog Devices, Maxim und Texas Instruments sind nur drei Hersteller von vielen. Manche PLL-ICs kosten weniger als einen Euro, sie sind für weniger anspruchsvolle Zwecke bestimmt. Am ande- ren Ende der Skala rangieren Bausteine, die schlicht Eindruck erweckend sind. Um nur ein Beispiel zu nennen: Im ADF5355 von Analog Devices sind eine Fractional-N-PLL und ein VCO mit hoher Bandbreite integriert, so dass Signale mit jeder Fre- quenz zwischen 54 MHz und 13,6 GHz generierbar sind. Der PFD arbeitet mit Frequenzen bis 125 MHz! In der weitläufigen PLL-Familie sind auch clevere Bausteine vertreten, die mit nur einem Bezugssignal mehrere Ausgangs- signale erzeugen. Wenn zum Beispiel in einem Audioprojekt Signale mit den Frequenzen 10 MHz, 25,55 MHz, 8,42 MHz und 5,44 MHz benötigt werden, genügt ein einziges IC. Der CY22393 von Cypress (Bild 7) vereint drei PLLs mit zugehö- rigen VCOs, eine Schaltmatrix und mehrere programmierbare Frequenzteiler auf einem Chip. Ihn gibt es in einem Gehäuse mit 16 Anschlüssen für nur wenige Euro! Das „Sahnehäubchen“ ist die Software, mit der sich dieser Baustein höchst einfach konfigurieren lässt (Bild 8).

PLL? Gar nicht schwer!

PLLs dürfen im Arsenal des Entwicklers nicht fehlen, denn sie leisten beim Generieren periodischer Signale, bei der Aufbe-

leisten beim Generieren periodischer Signale, bei der Aufbe- Bild 8. Das Programm für die Konfiguration des

Bild 8. Das Programm für die Konfiguration des CY22393 ist denkbar einfach zu bedienen.

reitung von Signalen und beim Extrahieren aus anderen Sig- nalen unverzichtbare Dienste. Dieser Beitrag kann natürlich die umfangreiche Literatur zum Thema PLL nicht ersetzen, die inzwischen Bibliotheken füllt. Unser Ziel war es, den von Geheimnissen umwobenen Schleier ein wenig zu lüften, der diese Schaltungstechnik umgibt. Wir empfehlen Ihnen, einen PLL-Simulator wie ADIsimPLL aus dem Netz herunterzuladen und auszuprobieren. Der Simulator vermittelt Ihnen ein Gefühl dafür, wie die einzelnen Parameter einer PLL ineinandergreifen. In einem nachfolgenden Beitrag werden wir eine andere Methode der Generierung von Sig- nalen betrachten: Die so genannte Direkte Digitale Synthese (Direct Digital Synthesis, DDS). Wir werden zeigen, dass PLL und DDS die Voraussetzungen haben, gemeinsam ein starkes Team zu bilden.

Voraussetzungen haben, gemeinsam ein starkes Team zu bilden. (150203)gd Dieser Beitrag erschien auch in Circuit Cellar

(150203)gd

Dieser Beitrag erschien auch in Circuit Cellar Nr. 209 vom Dezember 2008.

Weblinks:

[1] www.elektormagazine.de/150013

Software:

Proteus Design Suite: www.labcenter.co.uk

Tool „ADIsimPLL, V3“: www.analog.com

„CyberClocks“ und Datenblatt CY22393: www.cypress.com

Referenzen:

Sampled Systems and the Effects of Clock Phase Noise and Jitter Application Note AN-756, Brad Brannon, Analog Devices www.analog.com

Fractional/Integer-N PLL Basics

Technical Brief SWRA029, Texas Instruments

www.ti.com/lit/an/swra029/swra029.pdf

Phasenregelschleife

https://de.wikipedia.org/wiki/Phasenregelschleife

grundlagen

kurs

q & a

tipps & tricks

software

kurs q & a tipps & tricks s o f t w a r e Das

Das etwas andere Software-Tool

tricks s o f t w a r e Das etwas andere Software-Tool Von Liam Walton

Von Liam Walton,

Matrix Technology Solutions (UK)

Nichts ist beständiger als der Wandel. Das gilt auch für Matrix. Unser Kerngeschäft sind Produkte rund um die Entwicklung mit Mikrocontrollern. Im Moment ändert sich dieser Markt in atemberaubendem Tempo. In diesem Artikel geht es um diese Änderungen und wie sie die Entwicklung von Flowcode, unseres wichtigsten Produkts, beeinflusst.

Single-Chip-Mikrocontroller werden nun schon seit fast 40 Jahren für Consumer- und Industrieprodukte eingesetzt. Doch erst in letzter Zeit sind die Stückzahlen so angestiegen, dass man über deren Preis/Leistungs-Verhältnis nur noch stau- nen kann. Einfache 8-Pin-Mikrocontroller sind schon für wenige Cent zu haben. Selbst komplexe 32-bit-Typen mit über 40 Pins gibt es mittlerweile für wenige Euro, ja sogar für kaum mehr, als man für 8-bit-Ausführungen mit gleicher Pin-Zahl berappen muss. Die Kosten für Gehäuse und Verpackung übersteigen die für das Silizium, da immer mehr Transistoren auf die gleiche Fläche passen.

Kostenlose Soft- und Hardware

Halbleiterfirmen haben realisiert, dass heute etliche Innovationen aus der Maker-

und Hobby-Szene kommen. Deshalb gibt es komplette Entwicklungs-Kits für weni- ger als 15 €. Bei Matrix haben wir kürz- lich ein Entwicklungs-Kit für ARM-Cont- roller von ST mitsamt 6’’-LCD für gera- demal 40 € gekauft. Und direkt aus China bekommt man ein komplettes Bluetoo- th-Modul für unglaubliche 3 $. Dank feh- lender Zollgebühren bei kleinen Beträgen und stagnierendem Heimatmarkt haben chinesische Lieferanten den direkten Weg zum Kunden in Europa entdeckt. Alibaba-Express und eBay spielen hier eine große Rolle. Die Hardwarekos- ten für Embedded-Systeme gehen also (fast) gegen Null. Oder wie schafft es die RPi-Foundation, ein Board für gerade einmal 5 € herstellen zu lassen und zu vermarkten? Passend dazu haben Arduino und RPi den

Vergleichsmaßstab für Entwicklungsum- gebungen hoch gesetzt. Die Arduino-IDE ist einfach, leistungsfähig und praktisch. Doch was bedeutet das für uns? Diesen Sommer kommt die Version 7 von Flow- code heraus — ein grafisches Entwick- lungssystem für Mikrocontroller-Systeme (Bild 1). Das Überraschende: Flowcode verkauft sich besser als je zuvor! Arduino und die Maker-Bewegung haben diesem Markt viele ambitionierte Kunden zuge- führt, doch fremdeln diese mit C und fin- den die Einfachheit von Flowcode inter- essant. Flowcode ist zu vielen Mikrocon- trollern kompatibel: V7 unterstützt nun sogar die leistungsfähige PIC32-Serie von Microchip. Diese Chips bieten ext- rem viel Leistung für geringe Kosten. Und das Beste: Die bisherigen Flowcode-Pro- gramme kann man einfach zur neuen

ADVERTORIAL

www.elektormagazine.de

Juli/August 2016

19

learn

design

share

l e a r n design share Bild 1. So begrüßt Sie Flowcode 7 (auch Deutsch

Bild 1. So begrüßt Sie Flowcode 7 (auch Deutsch lässt sich als Sprache einstellen).

Plattform transferieren. Damit steht nun 32-Prozessor-Power für mathematische und rechenintensive Funktionen wie etwa die Sprach-Synthese zur Verfügung. Und wir haben auch Hardware im Pro- gramm. Sie ist etwas teurer wie die der großen Halbleiter-Firmen, da wir keine so großen Stückzahlen erreichen und

auch Matrix von etwas leben muss. Dafür haben unsere Produkte eine zeitsparende Debug- und Mess-Elektronik an Bord, die auf den schönen Namen „Ghost“ hört. Dazu gehört ein Datenrekorder, ein Oszil- loskop, ein Logik-Analyzer, ein Paket-De- coder sowie Tools für das In-Circuit- und In-System-Debugging. Auch wenn viele

das In-Circuit- und In-System-Debugging. Auch wenn viele Bild 2. Ganzheitliche Entwicklung bei einem Autositz. 20

Bild 2. Ganzheitliche Entwicklung bei einem Autositz.

20

Juli/August 2016

www.elektormagazine.de

Soft- und Hardware kaum noch etwas kostet: Zeit ist wertvoll. Flowcode und die Matrix-Hardware sparen Zeit.

Weder Elektronik noch Mechanik:

Mechatronik und Robotik

Falls es noch nicht aufgefallen ist: Robo- tik verlässt ihren Inkubator in Form der Auto-Fabriken und beginnt unser Alltags- leben zu tangieren. Man denke nur an Kennzeichenerkennung, automatische Parkschranken, Passerkennung und biometrische Zugangskontrollen. Auch 3D-Drucker haben damit zu tun. Robo- ter werden (bald) iRobot-ähnliche, huma- noide Funktionen erhalten. Und da der 3D-Druck mehr und mehr mechanische Probleme lösen hilft, werden sie in unse- rem Leben eine größere Rolle spielen.

Dazu der Trend in der Industrie: In der Ingenieur-Ausbildung finden zwei große Disziplinen zusammen: Elektronik und Mechanik. Das gilt für Frankreichs renommierte Ausbildungen der Lycees Technique genauso wie für angehende britische Ingenieure des BTEC National oder für die technischen Unis und Fach- hochschulen in deutschen Landen. Daher hat die Industrie Bedarf an breiter aus- gebildeten Ingenieuren mit Kenntnissen in mehreren Disziplinen. Moderne Inge- nieure haben eher ein Tablet in der Hand als einen Lötkolben oder einen Schrau- bendreher. Jeder angehende Ingenieur braucht heute Programmierkenntnisse. Er muss eher Mikrocontroller program- mieren statt Anwendungsprogramme für PCs, denn diese kleinen Chips stecken einfach überall.

Welche Folgen hat das für uns? Flowcode Version 6 enthielt eine Simulation von 2D- und 3D-Systemen. Das hat einige Kunden verwirrt. Warum sollte man Mikrocontrol- ler-Verhalten in 3D simulieren? Die Ant- wort: Ingenieure programmieren nicht nur Mikrocontroller, sondern sie konstru- ieren ganze Systeme mit Mikrocontrollern. Wenn ein Entwicklungsingenieur aber Elektronik und Mechanik eines Systems zugleich simulieren kann, vereinfacht das die Entwicklung und verkürzt die erfor- derliche Zeit, was Kosten reduziert. Wenn man also Studenten eine Umgebung in die Hand gibt, mit der sie sogar elektro- chemische, chemische oder produktions- technische Systeme kombiniert simulieren können, hat das ein vertieftes Lernen zur Folge. Um dies weiter zu forcieren, ver-

ADVERTORIAL

grundlagen

kurs

fügt Flowcode 7 über eine neue, verbes- serte 3D-Simulation sowie die Möglichkeit zur Verbindung mit CAD-Paketen ande- rer Hersteller wie etwa Solidworks und DesignSpark Mechanical. Bild 2 zeigt, wie Ingenieure in der Automobilindustrie jetzt mit Anwendungen und in Flowcode enthaltenen Beispielen elektronischer Komponenten von Autositzen umgehen können und dabei lernen, wie Mikrocon- troller funktionieren.

ADAS und Automotive

Die größte technische Revolution der nächsten Jahre dürften mit ADAS (Advanced Driver Assistance Systems) ausgestattete Autos sein. Das wird unser bisheriges Leben verändern. Ab 2025 – laut Experten der späteste Zeitpunkt ihrer Einführung – fahren autonome Autos auf den Straßen. Nicht erst seit heute haben die Auto-Hersteller sowie Google funktionierende Prototypen. Und interessant ist, dass viele unserer Kun- den heute schon Technik für Fahrzeuge mit unseren Produkten entwickeln. Zwar nicht gerade Motorsteuerungen für die großen Marken, aber doch viel Zubehör wie etwa Displays, Technik für Wohnwa- gen, ferngesteuerte Schalter oder Test- umgebungen. Wichtig ist, dass vernetzte Mikrocontroller zum Einsatz kommen. Der CAN-Bus ist dabei der etablierte Kommunikations-Standard.

Was bedeutet das für uns? Der Schwer- punkt liegt hier eher auf Entwicklungs- systemen als auf bloßen Mikrocontrol- ler-Schaltungen, denn es geht um Sys- teme mit mehreren Mikrocontrollern. Flowcode 7 bringt viele Funktionen für solche Systeme mit und kann mehr als einen Mikrocontroller gleichzeitig simulie- ren. Tatsächlich kann man ein System von bis zu zehn Instanzen mit Flowcode auf einem PC oder einem Netzwerk von PCs realisieren, die alle miteinander kommu- nizieren. Die System-Protokolle können dabei auf Tabellen basieren. Auf diese Weise kann man Software entwickeln und viele Mikrocontroller unterstützen, aber die Daten für das Verhalten der Mikro- controller können extern vorliegen. Dies vereinfacht das Design von Multi-Mikro- controller-Systemen beträchtlich. Nicht zuletzt macht der „Injector“ von Flow- code 7 den Test und das Debugging sehr einfach: Man kann eine Simulation mit den Signalen erstellen, auf die das Sys- tem reagieren soll, und dabei sicherstel-

ADVERTORIAL

q & a

len, dass das Programm korrekt auf die ankommende Kommunikation reagiert.

Fazit

Es ging hauptsächlich um drei Aspekte von Veränderung und die Art, wie wir dar- auf reagieren. Noch zu erwähnen wären die Themen:

Internet of Things. Auch hier gibt es schnelles Wachstum. Flowcode 7 ist dank der Unterstützung von Blue- tooth und WLAN/Internet für IoT bereit.

Touchscreen-PCs und Tablets. Sie sind mittlerweile weit verbrei- tet. Flowcode unterstützt sie mit größeren Icons passend für die Touch-Bedienung.

Enge auf Bildschirmen. Flowcode 7 kommt dem entgegen, indem weni- ger Fläche benötigt wird.

Microchip-Templates. Die PIC-Fami- lie wächst und Flowcode ermöglicht die Programmierung mit fertigen

tipps & tricks

software

Templates der bekannten Entwick- lungs-Kits wie dem der Low-Pin- Count-Demo des PICkit und seinem

44-Pin-Demo-Board.

Flowcode 7 ist vollgepackt mit neuen Funktionen, die das Entwickeln ver- einfachen: Neue und schnelle Micro- chip-XC-Compiler (bei den PIC-Versi- onen), Code-Profiling (Bild 3) mit der Angabe der Häufigkeit, mit der auf Icons bei Simulation und Debugging zugegriffen wird, Offline-Hilfe mit schnellem Zugriff sowie ein neues grafisches User-Inter- face, und mehr. Flowcode 7 ist ab Juni 2016 über den Elektor Store unter der URL www.elektor. de/flowcode erhältlich.

Store unter der URL www.elektor. de/flowcode erhältlich. (160050) Bild 3. Neu in Flowcode 7: Code-Profiling.

(160050)

unter der URL www.elektor. de/flowcode erhältlich. (160050) Bild 3. Neu in Flowcode 7: Code-Profiling.

Bild 3. Neu in Flowcode 7: Code-Profiling.

www.elektormagazine.de

Juli/August 2016

21

learn

design

share

Windows steuert Arduino

Über USB und Bluetooth

design share Windows steuert Arduino Über USB und Bluetooth Windows-Smartphones haben mittlerweile einen beträchtlichen

Windows-Smartphones haben mittlerweile einen beträchtlichen Marktanteil. Das neue Betriebssystem Windows Mobile 10 bietet einige Möglichkeiten, ein Windows-Handy oder -Tablet als Steuerzentrale in eigenen Projekten einzusetzen. Über USB oder Bluetooth kann man zum Beispiel mit einem Arduino-Board kommunizieren. Von Microsoft wird hierfür sogar eine eigene Bibliothek bereitgestellt.

Von Tam Hanna

Unter Windows Mobile 10 stehen Entwicklern verschiedene Möglichkeiten zur Kommunikation mit externer Hardware offen. Naheliegend ist die Verbindung über ein USB-Kabel. Microsoft

macht die Nutzung des USB-Treiber-APIs unter Windows Mobile 10 wieder für Drittentwickler zugänglich. Für Kleinserien und den Hobby-Bereich ist eine Programmierung gegen das kom- plexe API allerdings nicht wirklich effizient. Microsoft bietet aber alternative Programmierschnittstellen an, die Entwick- lern das Verbinden von Hardware und Smartphone erleichtern.

grundlagen

kurs

q & a

tipps & tricks

software

kurs q & a tipps & tricks s o f t w a r e Ferngesteuerter

Ferngesteuerter Arduino

In der Arduino-Welt ist ein als „Firmata“ bezeichnetes Pro- tokoll populär [1]. Mit dem Protokoll, das interessanterweise vom MIDI-Protokoll abgeleitet ist, lassen sich zum Beispiel bestimmte Portpins auf High oder Low setzen. In die andere Richtung kann der Arduino Messwerte übermitteln, die an

einem analogen Eingang erfasst wurden. Microsoft bietet mit Windows Remote Arduino ein dafür geeig- netes Spezial-API an, das sich auch unter Windows Mobile 10 einsetzen lässt. Mit den hier enthaltenen Funktionen kann der Anwendungs- entwickler dann zum Beispiel ein Kommando zum Setzen eines

learn

design

share

l e a r n design share Bild 1. Dieses Telefon weiß mit USB OTG nichts

Bild 1. Dieses Telefon weiß mit USB OTG nichts anzufangen.

Bild 1. Dieses Telefon weiß mit USB OTG nichts anzufangen. Bild 2. Welche Variante darf es

Bild 2. Welche Variante darf es sein?

OTG nichts anzufangen. Bild 2. Welche Variante darf es sein? Bild 3. VID und PID identifizieren

Bild 3. VID und PID identifizieren ein USB-Gerät eindeutig.

Arduino-Pins senden, ohne Details des Protokolls kennen zu müssen:

myArduino.digitalWrite(13, Microsoft.Maker.RemoteWiring. PinState.LOW);

Wie wir sehen (und ausprobieren) werden, lässt sich das API sowohl für die Kommunikation über ein USB-Kabel als auch via Bluetooth einsetzen. Es ist keine schlechte Idee, sich vor der Lektüre des folgenden Artikels noch einmal die kleine Artikelserie „Windows auf dem RasPi“ (Elektor ab November 2015 [2]) anzusehen; es wird dort zum Beispiel der Umgang mit Visual Studio und .NET-Ob- jekten beschrieben. Anfängern empfehlen wir wie immer, den folgenden Code erst einmal 1:1 zu benutzen und sich dann mit kleinen Abwandlungen weiter vorzuwagen. Der gesamte Quellcode kann von der Webseite zu diesem Artikel herunter- geladen werden [3].

USB-Kabel

Probieren wir die Kommunikation über USB einmal aus. Für die Arbeit per Kabel ist ein Windows Phone 10 notwendig, das vollwertigen USB-Support bietet. Dies lässt sich in der Einstel- lungen-Applikation prüfen: Klicken Sie auf Settings, wechseln Sie in die Rubrik Devices und suchen Sie den Eintrag USB. Auf nichtfunktionierenden Geräten erscheint daraufhin die in Bild 1 gezeigte Fehlermeldung.

Die Vorlage Windows ª Universalª Blank App (Universal Windows) erzeugt in Visual Studio 2015 ein Projekt, das sowohl auf dem Handy als auch auf einem PC lauffähig ist. Unser Pro- grammbeispiel ließe sich auch am PC ausführen, wenn Sie den Arduino mit ihm verbinden und Windows 10 als Hostbetriebs- system verwenden. Visual Studio fragt in manchen Fällen (wie in Bild 2 gezeigt) nach der zu verwendenden Version der Universal Windows Platform. Wählen Sie in diesem Fall die niedrigste Version aus. Microsoft bietet für Visual Studio mit „NuGet“ seit einiger Zeit eine Paketverwaltung an, aus der häufig verwendete Biblio- theken direkt in das aktive Projekt heruntergeladen werden. Windows Remote Arduino gehört dazu: Klicken Sie auf Tools -> NuGet Packet Manager -> Packet Manager Console, um das Verwaltungswerkzeug zu öffnen. Geben Sie im darauf- hin erscheinenden Fenster das Kommando „Install-Package Windows-Remote-Arduino” ein, um die notwendigen Pakete aus dem Internet herunterzuladen und in Ihr Projekt zu integ- rieren. Für die Kommunikation mit Hardware ist unter Windows 10 eine Permission erforderlich, die von Hand einzupflegen ist. Klicken Sie die Datei Package.appxmanifest rechts an, und wählen Sie die Option View Code aus. Ändern Sie den Inhalt der Manifestdatei dann folgendermaßen:

<Capabilities> <Capability Name=”internetClient” /> <DeviceCapability Name=”serialcommunication”> <Device Id=”any”> <Function Type=”name:serialPort”/> </Device> </DeviceCapability> </Capabilities>

grundlagen

kurs

Bitte achten Sie darauf, dass eine mit dem DeviceCapabili- ty-Attribut ausgestattete Manifestdatei nicht mehr mit dem grafischen Editor bearbeitet werden kann: Ein Microsoft bereits bekannter Bug führt in diesem Fall zur Korrumpierung des Inhalts.

Damit sind die Vorbereitungshandlungen abgeschlossen. Beschaffen Sie ein zu Ihrem Telefon passendes USB-OTG-Ka- bel, das den Mini-USB-Kombiport Ihres Telefons in einen nor- malen USB-Hostport umwandelt. Zum Test des Kabels bietet sich ein USB-Stick an – wird dieser erkannt, so können Sie problemlos einen Arduino anschließen.

Falls Sie keinen originalen Arduino Uno verwenden, dann soll- ten Sie das Board allerdings zuerst mit einem PC verbinden, denn Sie müssen noch die VID und PID des Boards heraus- bekommen. Öffnen Sie den Gerätemanager und suchen Sie den Arduino in der Rubrik Anschlüsse bzw. Ports. Ein Rechts- klick ermöglicht das Öffnen der Eigenschaftenseite, unsere gewünschten Parameter finden sich unter Details ª Hardware Ids. Bei einem Arduino Uno präsentiert sich das Fenster wie in Bild 3 gezeigt.

Arduino-Code

Auf Seiten des Arduinos können wir auf Standard-Firmata-Soft- ware zurückgreifen, die unter Datei ª Beispiele ª Firmata ª StandardFirmata zur Verfügung steht. Zur Steigerung der Systemperformance wollen wir lediglich die Kommunikations- bandbreite verdoppeln. Firmata arbeitet von Haus aus mit sehr konservativen 57600 bps, die nur bei vergleichsweise hoher Zusatzbelastung des Prozessrechners oder bei Nutzung der I2C-Funktion notwendig sind (siehe auch [4]).

q & a

tipps & tricks

software

void setup()

{

 

Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION,

FIRMATA_MINOR_VERSION);

.

.

.

Firmata.begin(115200);

.

.

.

}

Windows-Code

Öffnen Sie im nächsten Schritt die Layout-Datei des Visual-Stu- dio-Projekts, um sie um ein Label, das Text anzeigen kann, zu ergänzen:

<Grid Background=”{ThemeResource ApplicationPageBackgrou ndThemeBrush}”> <TextBlock Name=”TxtStatus”/> </Grid>

Die Windows Remote Arduino-Programmierumgebung ist mehr- schichtig aufgebaut. Im Fall einer Verbindung per USB sieht der notwendige Code so wie in Listing 1 aus. Alle Funktionen, die zu Anfang des Programms ausgeführt wer- den müssen, stehen im Konstruktor der MainPage MainPage(). Zuerst wird ein Objekt der Klasse UsbSerial erzeugt, und jetzt sieht man, für was wir die VID und PID des Arduino-Boards benötigen. Beim Erzeugen des Objekts myArduino wird dieses USB-Objekt namens myUSB als Parameter mitgegeben. Bei einer fehlgeschlagenen Verbindung soll eine entsprechende

Listing 1. Pins steuern über USB.

public sealed partial class MainPage : Page

{

UsbSerial myUSB; Microsoft.Maker.RemoteWiring.RemoteDevice myArduino;

public MainPage()

{

this.InitializeComponent(); myUSB = new UsbSerial(“VID_2341”, “PID_0043”); myArduino = new Microsoft.Maker.RemoteWiring. RemoteDevice(myUSB); myUSB.ConnectionEstablished += MyUSB_ConnectionEstablished; myUSB.ConnectionFailed += MyUSB_ConnectionFailed; myUSB.begin(115200, Microsoft.Maker.Serial.

SerialConfig.SERIAL_8N1);

}

private void MyUSB_ConnectionFailed(string message)

{

TxtStatus.Text = „Connection failed“;

}

private void MyUSB_ConnectionEstablished()

{

TxtStatus.Text = “Connection to Arduino!”; runner();

}

async private void runner()

{

await Task.Run(() => innerRunner());

}

void innerRunner()

{

myArduino.pinMode(13, Microsoft.Maker.RemoteWiring. PinMode.OUTPUT); for (;;)

{

myArduino.digitalWrite(13, Microsoft.Maker. RemoteWiring.PinState.LOW); myArduino.digitalWrite(13, Microsoft.Maker. RemoteWiring.PinState.HIGH); myArduino.digitalWrite(13, Microsoft.Maker. RemoteWiring.PinState.LOW); myArduino.digitalWrite(13, Microsoft.Maker. RemoteWiring.PinState.HIGH);

}

}

}

learn

design

share

l e a r n design share Bild 4. Das Rechtecksignal ist vergleichsweise stabil. Win10 only!

Bild 4. Das Rechtecksignal ist vergleichsweise stabil.

Win10 only!

Auch wenn die Dokumentation zu Windows Remote Arduino anderes verspricht: Zuverlässig funktioniert das Produkt nur unter Windows 10. Der Autor rät aus schmerzhafter eigener Erfahrung von Experimenten mit Windows 8.1 als Zielplattform ab. Als Hostplattform für Visual Studio lässt sich Win 8.1 bei Vorhandensein eines physikalischen Windows Phone 10 aber problemlos einsetzen.

Et tu, Yun?

Ein Arduino Yun ist ob seines WLAN-Funkmoduls die bequemste Methode zur Nutzung von Windows Remote Arduino. Leider sind hierzu Konfigurationsarbeiten notwendig, die unter [7] im Detail beschrieben sind.

Win10 USB
Win10
USB
5V ARDUINO VCC 1=TX RXD HC-06 0=RX TXD GND GND
5V
ARDUINO
VCC
1=TX
RXD
HC-06
0=RX
TXD
GND
GND

Bild 5. Der Arduino ist einfach um Bluetooth zu erweitern.

Meldung im Label ausgegeben werden. Das ist beim ersten Programmstart aber kein Grund zu Panik, beim nächsten Pro- grammstart sollte es dann klappen. Scheitert die Verbindung nicht, dann geben wir die Erfolgs- meldung im Label aus und starten mit runner() einen eige- nen Thread. In ihm wird der Pin 13 abwechselnd auf High und Low gesetzt, um ein Rechtecksignal auszugeben. Das Ganze funktioniert hinter den Kulissen mit Kommando-Bytes, die zum Arduino geschickt werden. Das muss den Anwendungsentwick- ler aber nicht interessieren. Die in Windows Remote Arduino implementierte API ist eng mit der normalen Arduino-API ver- wandt, die Funktionen sehen ähnlich aus wie in einem ganz normalen Arduino-Sketch.

Windows Mobile-Geräte nehmen nur dann Programme an, wenn sie unter Einstellungen ª Updates&Sicherheit-> Für Entwickler in den Developer Mode versetzt werden. Deployen Sie das Steuerprogramm sodann auf das Telefon und achten Sie dabei darauf, im Feld Architektur die passende Zielplatt- form auszuwählen. Beim Start des Programms gibt der angeschlossene Arduino ein Rechtecksignal aus. Auf einem MDA (Modulation Domain Analyzer) des Autors entstand das in Bild 4 gezeigte Bild.

Bluetooth für den Arduino

Bluetooth funktioniert auf so gut wie jedem Windows Phone, und lässt sich dem Arduino durch ein bei AliExpress preiswert erhältliches Modul der Bauart HC-06 beibringen. Die Verbin- dung ist so primitiv, dass das in Bild 5 gezeigte Schaltbild eigentlich gar nicht erforderlich ist.

Ob einer kleinen Inkompatibilität ist an dieser Stelle ein Down- grade der Firmatabibliothek notwendig. Öffnen Sie den Biblio- theksmanager der Arduino-IDE, und installieren Sie die Version 2.4.4 um den unter [5] dokumentierten Fehler zu umgehen. Danach müssen Sie den Code nur noch an die Baudrate des Moduls anpassen, die von Haus aus 9600 bps beträgt:

void setup()

{

 

Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION,

FIRMATA_MINOR_VERSION);

.

.

.

Firmata.begin(9600);

.

.

.

}

Bluetooth unter Windows

Unter Windows Phone ist eine neue Bibliothek notwendig, die den Zugriff auf Bluetooth ermöglicht. Ihre Einpflegung in die Datei Package.appxmanifest sollte ebenfalls von Hand erfolgen, da der Editor die inneren Capabilities nicht korrekt deklariert:

<Capabilities> <Capability Name=”internetClient” /> <DeviceCapability Name=”bluetooth.rfcomm”> <Device Id=”any”> <Function Type=”name:serialPort”/>

grundlagen

kurs

q & a

tipps & tricks

software

Listing 2. Verbinden über Bluetooth.

BluetoothSerial myBTSerial;

Microsoft.Maker.RemoteWiring.RemoteDevice myArduino; public MainPage()

{

 

this.InitializeComponent();

btScanner();

}

async public void btScanner()

{

var radios = await Radio.GetRadiosAsync(); var bluetoothRadio = radios.FirstOrDefault(radio => radio.Kind == RadioKind.Bluetooth);

if (bluetoothRadio != null && bluetoothRadio.State == RadioState.On) { TxtStatus.Text = “Scan!”;

DeviceInformationCollection aColl = await BluetoothSerial.listAvailableDevicesAsync();

TxtStatus.Text += “\n Result: “ + aColl.Count(). ToString(); if (aColl.Count() > 0){ myBTSerial = new BluetoothSerial(aColl[0]); myArduino = new Microsoft.Maker.RemoteWiring. RemoteDevice(myBTSerial); myBTSerial.ConnectionEstablished += MyBTSerial_ConnectionEstablished; myBTSerial.ConnectionFailed += MyBTSerial_ConnectionFailed; myBTSerial.begin(9600, Microsoft.Maker.Serial.

SerialConfig.SERIAL_8N1);

}

}

else { TxtStatus.Text = “No BT-Module!”;

}

}

</Device>

</DeviceCapability

</Capabilities>

Unser auf dem Windows Phone laufende Rechenprogramm [3] ruft im Rahmen des Konstruktors MainPage() die Funk- tion btScanner() auf (siehe Listing 2). Statt des bisher ver- wendeten UsbSerial-Objekts nutzen wir nun eine Instanz von BluetoothSerial, die für die Kommunikation über Kurzstre- ckenfunk vorgesehen ist. Die Funktion btScanner dient mehreren Herren: Im ersten Schritt verwenden wir die GetRadiosAsync-Methode, um eine Liste aller im vorliegenden Telefon verbauten Funkmodule zu erhalten. Sofern das Standard-Funkmodul vorhanden und ein- geschaltet ist, stoßen wir im nächsten Schritt den Scanprozess an. Das von GetRadiosAsync zurückgelieferte Objekt radios ist insofern interessant, als es im Debugger überhaupt keinen Inhalt zeigt. Seine Inhalte lassen sich nur durch Enumera- tion auf den Bildschirm holen - wir beschränken uns im Code darauf, das erste Modul auszuwählen und eine Verbindung zu ihm aufzunehmen.

Vor der Ausführung des Programms müssen Sie das Modul mit dem Windows Phone 10 pairen. Die in Windows Remote Arduino implementierte Suchengine findet nur jene Funkmodule, die schon eine Pairingbeziehung aufweisen. Die im Rahmen des Pairings erforderliche ID lautet bei einem im Auslieferungszu- stand befindlichen Modul 1234. Microsofts Bluetooth-Stack weist die eine oder andere Eigen- heit auf, die im Zusammenspiel mit den oft nicht sonderlich stabilen Firmwares der Funkmodule zu Lustigkeiten führt. Ihre Bekämpfung erfolgt im ersten Schritt durch einen Reboot des Moduls. Ist dies nicht zielführend, so sollte ein Neustart des Telefons folgen. Der Rest des Windows-Programms ist gleich wie bei USB; wir schalten den Pin 13 auf dem Arduino hoch und runter. Bild 6 zeigt die entstehende Wellenform aus Sicht eines MDA. Es ist deutlich erkennbar, dass die kabellose Verbindung mit größeren Latenzproblemen zu kämpfen hat.

Alles roh!

Firmata mag für Informatik-unerfahrene Entwickler eine große Erleichterung darstellen. Wer die maximale Leistung aus der Hardware herausholen will, kommt um die Implementierung eines eigenen Protokolls nicht herum. Wir wollen diesen Schritt hier kurz ansprechen. Zur Motivation und zur Schaffung von Problembewusstsein wol- len wir hier ein per SPI ansprechbares OLED-Display verwenden. Aufmerksame Leser der Elektor kennen das 0,96 Zoll große Display aus Elektor April 2015 [6] als alten Bekannten. Schlie- ßen Sie es an den (schon mit dem Bluetooth-Modul verbunde- nen) Arduino an, was zur in Bild 7 gezeigten Schaltung führt.

Ob der komplexeren Aufgabenstellung erzeugen wir an dieser Stelle ein weiteres neues Projekt. Sein Konstruktor ruft – wie in den vorigen Codebeispielen – auch dieses Mal die asynchrone Methode runner() auf, die für die eigentliche Verarbeitung der Datenkommunikation zuständig ist (Listing 3).

der Datenkommunikation zuständig ist ( Listing 3 ). Bild 6. Bluetooth ist latenzanfälliger als verkabelte

Bild 6. Bluetooth ist latenzanfälliger als verkabelte Verbindungen.

learn design share Listing 3. Zeichen senden vom Smartphone aus. { public sealed partial class
learn
design
share
Listing 3. Zeichen senden vom Smartphone aus.
{
public sealed partial class MainPage : Page
await mySocket.ConnectAsync(myService.
ConnectionHostName, myService.
{
RfcommDeviceService myService;
StreamSocket mySocket;
DataWriter myWriter;
ConnectionServiceName);
byte[] thisChar = { (byte)1, (byte)‘H‘, (byte)‘e‘,
(byte)‘l‘, (byte)‘l‘, (byte)‘o‘, (byte)0 };
myWriter = new DataWriter(mySocket.OutputStream);
while (1 == 1)
public MainPage()
{
{
this.InitializeComponent();
runner();
}
myWriter.WriteBytes(thisChar);
Task<UInt32> aTask = myWriter.StoreAsync().
AsTask();
await aTask;
await Task.Delay(250);
async void runner()
}
{
}
DeviceInformationCollection dIC = await
DeviceInformation.FindAllAsync(RfcommDeviceService.
GetDeviceSelector(RfcommServiceId.SerialPort));
myService = await RfcommDeviceService.
catch (Exception e)
{
e = e;
FromIdAsync(dIC[0].Id);
}
DeviceInformation a = dIC[0];
mySocket = new StreamSocket();
try
}
}
Listing 4. Zeichen empfangen mit Arduino.
case 0: //Warte auf LOS
if(Serial.available())
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
{
char val=Serial.read();
if(val==1){
mode=1;
readCtr=0;
#define OLED_MOSI
#define OLED_CLK
#define OLED_DC
#define OLED_CS
9
}
10
}
11
break;
12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_
DC, OLED_RESET, OLED_CS);
case 1: //Lese und speie aus
if(Serial.available())
{
char val=Serial.read();
if(val==0){
char mode=0;
//Ende
char readCtr=0;
char myField[32];
myField[readCtr]=val;
display.clearDisplay();
void setup() {
display.setTextSize(2);
Serial.begin(9600);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.begin(SSD1306_SWITCHCAPVCC);
display.clearDisplay();
display.println(myField);
display.display();
delay(2000);
readCtr=0;
display.clearDisplay();
mode=0;
display.setTextSize(2);
}
display.setTextColor(WHITE);
else
display.setCursor(0,0);
{
display.println(“Online!”);
myField[readCtr]=val;
display.display();
readCtr++;
}
}
}
void loop() {
break;
if(Serial.available())
}
{
}
switch(mode)
}
{

grundlagen

kurs

Nach dem nun etwas anders aussehenden Scanprozess öff- nen wir einen StreamSocket. Diese Klasse ist in der Universal Windows Platform auch für serielle Verbindungen zu externer Hardware zuständig. Nach dem erfolgreichen Aufbau der Verbindung erzeugen wir den zu sendenden Bitstrom, der daraufhin über eine DataWriter- Klasse in den zum Arduino zeigenden Socket geschrieben wird. Diese auf den ersten Blick überkomplex aussehende Vorgehens- weise ist notwendig, da das Einschreiben der von WriteBytes entgegengenommenen Daten erst im Rahmen der Abarbeitung des von StoreAsync zurückgegebenen AsyncTasks erfolgt. Im nächsten Schritt warten wir 250 Millisekunden, um dem Arduino etwas Zeit zur Entgegennahme der angelieferten Daten zu geben. Dies ist insofern notwendig, als es sonst zu Über- lastungen des Puffers kommt – sie äußern sich durch das in Bild 8 gezeigte Schirmbild. Am Ende des Codes findet man noch eine kleine Spitzfindigkeit in Sachen .NET. Das Setzen von e = e erleichtert die Platzie- rung eines Breakpoints, mit dem wir eine eventuell angelieferte Exception analysieren können.

Arduino-Sketch

Damit können wir uns dem auf dem Arduino Uno laufenden Sketch zuwenden. Die für das Display benötigte Treiberbiblio- thek steht im Bibliotheksverwalter unter dem Namen „Adafruit SSD1306“ zum Download bereit. Aus Gründen der Bequem- lichkeit wollen wir zudem auf die Adafruit GFX Library zurück- greifen, die grafische Primitiva bereitstellt. Im Rahmen von setup() weisen wir die display-Bibliothek dazu an, eine Verbindung zu unserem Display aufzunehmen (Listing 4). Die eigentliche Intelligenz findet sich derweil in der loop-Me- thode, die einen kleinen Zustandsautomaten realisiert. Dazu etwas Erklärung: Ein Zustandsautomat ist ein Programm, das zwischen mehreren definierten Betriebszuständen hin und her wechselt. In unserem Fall ist dies entweder das Warten auf das Startbit 1 oder das Entgegennehmen von Bits, die anzu- zeigen sind. Damit ist auch diese Version des Programms ausführbar. Feh- ler der Bauart „No more data is available. (Exception from HRESULT: 0x80070103)“ lassen sich durch einen Neustart des Telefons und/oder des Funkmoduls beheben.

Fazit

Die schlechte Reputation von Windows Mobile 10 ist unverdient, die Kommunikation per Bluetooth funktioniert im Großen und Ganzen problemlos. Dieser Artikel beschränkte sich auf das Sen- den von Informationen vom Telefon zum Arduino. In beiden Fäl- len ist natürlich auch das Entgegennehmen von Daten möglich.

(150763)

Es geht nicht!

Wenn eine auf Windows Remote Arduino basierende Applikation partout keinen Kontakt zum Arduino aufnehmen möchte, können Sie das korrekte Funktionieren von Hardware und Telefon sowie die Korrektheit der Firmata- Version mit dem im App-Store bereitstehenden Programm „Windows Remote Arduino“ prüfen.

q & a

tipps & tricks

software

USB
USB
= SPI CLK 5V 10 D0 9 D1 5V capable 13 RES 0.96” OLED 11
= SPI CLK
5V
10
D0
9
D1
5V capable
13
RES
0.96” OLED
11
DC
128 x 64
12
CS
ARDUINO
VCC
1=TX
RXD
HC-06
0=RX
TXD
GND
GND

Bild 7. SPI und serielle Schnittstelle im Doppelteam.

GND Bild 7. SPI und serielle Schnittstelle im Doppelteam. Bild 8. Hier wurden zu viele Daten

Bild 8. Hier wurden zu viele Daten übertragen.

Weblinks

[1] www.arduino.cc/en/Reference/Firmata

[2] www.elektormagazine.de/150465

[3] www.elektormagazine.de/150763

[4] https://sourceforge.net/p/firmata/mailman/

message/22824115/

[5] https://github.com/ms-iot/remote-wiring/issues/80

[6] www.elektormagazine.de/150520

[7] https://create.arduino.cc/projecthub/mohanp/

windows-remote-arduino-yun-wifi-and-networkserial-b3290a

Zu langsam!

Das HC-06-Modul arbeitet von Haus aus nur mit 9600 bps. Wer mehr Geschwindigkeit haben möchte, muss ein diesbezügliches AT-Kommando an das Modul senden. Weitere Informationen hierzu finden sich in der Dokumentation.

learn

l e a r n design share Tipps & Tricks (3) von Neil Gruending (kanada) Seit
design
design

share

l e a r n design share Tipps & Tricks (3) von Neil Gruending (kanada) Seit

Tipps & Tricks (3)

von Neil Gruending (kanada)

Seit der letzten Folge ist klar, wie man ein Projekt anlegt und einen Schaltplan hinzufügt. Nachfolgend wird demonstriert, wie man eine Platine erstellt und Gerber-Dateien erzeugt.

Platine erstellen

Will man eine Platine zum Projekt hinzufügen, so führt der erste Schritt über das Menü Home ª Add new PCB. Man wird nach einem Dateinamen gefragt, danach wird eine Platinen-Datei für das quadratische Standardmaß von 100 × 100 mm wie in Bild 1 erzeugt. Diese Größe passt natürlich selten, weshalb man via Home ª Board ª Board Shape ª Redefine Board Shape oder Edit Board Shape andere Maße festlegen kann. Doch die bevor- zugte Methode ist das Zeichnen der Platinen-Umrisse im Layer Keepout mit den Tools line und arc. Auf diese Weise wird der Keepout-Bereich auch bei der Platzierung der Bauteile und beim Routing der Leiterbahnen wirksam. Wenn man den Pla-

und beim Routing der Leiterbahnen wirksam. Wenn man den Pla- Bild 1. Standard-Platine mit 10 ×

Bild 1. Standard-Platine mit 10 × 10 cm.

tinen-Umriss gezeichnet hat, kann man alle Elemente im Layer Keepout via Home ª Clipboard ª Select All on Layer selektie- ren; danach geht man ins Board-Shape-Menü und macht diese Elemente mit Define From Selected Objects zum wirksamen Platinenumriss. Wenn dieser Punkt erledigt ist, geht es darum, die Bauteile aus dem Schaltplan auf die Platine zu transferieren. Dies erfolgt mit Home ª Project ª Update PCB Document. CircuitMaker wird dann automatisch alle Schaltungsdokumente scannen um deren Hierarchie zu bestimmen und die Verbindungsinforma- tionen zu generieren. Dann sucht das Comparator-Tool nach etwaigen Unterschieden zwischen Schaltung und Platine. Aus den gefundenen Unterschieden wird dann wie in Bild 2 eine ECO-Liste (Engineering Change Order) erstellt, mit der man die aufgelisteten Änderungen der Platine validieren und anwenden (execute) kann. Man kann die Anwendung von Änderungen auch verhindern, indem man den entsprechenden Haken in der Spalte Enable vor der jeweiligen Zeile wegnimmt. Anschließend sind alle Bauteile auf der Platine vorhanden und die Netzliste erfährt ein Update. Wenn man nun die Bauteile auf der Platine platziert, kann man mit den in der letzten Folge erwähnten Tastatur-Shortcuts viel Zeit sparen. Z.B. ist es viel einfacher, ein Bauteil mit der Leerzeichen-Taste zu rotieren statt mit der Maus. Wenn alle Bauteile platziert sind, geht es weiter mit dem Routing.

Platinen-Routing

CircuitMaker verfügt über einige interaktive Routing-Tools. Mit dem Tool Interactive Routing kann man eine Leiterbahn ver- legen, wobei CircuitMaker dafür sorgt, dass anderen Leiter- bahnen und sonstigen Hindernissen ausgewichen wird. Das Tool Differential Pair dient zum gleichzeitigen Verlegen beider Bahnen differentieller Leiterbahnen. Mit dem Tool Interactive Multi-Routing kann man gleich eine ganze Gruppe von Leiter- bahnen wie etwa bei einem Bus gemeinsam verlegen. Bei Verlegen von Leiterbahnen gibt es via Shortcut Shift+R mehrere Optionen:

gibt es via Shortcut Shift+R mehrere Optionen: Bild 2. Fenster „Engineering Change Order“. • Ignore

Bild 2. Fenster „Engineering Change Order“.

Ignore: Damit kann

man überall Leiterbahnen verlegen.

Stop at first obstacle: Hier wird das Verlegen beim ers- ten Hindernis gestoppt.

Push: Es wird versucht, andere Leiterbahnen zu ver- schieben (siehe Bild 3).

Autoroute on current

Layer: Ein einfacher Autorou-

30

Juli/August 2016

www.elektormagazine.de

Advertorial

grundlagen

kurs

ter schlägt beim Auftreten eines Hindernisses eine optimale Route vor.

Der interaktive Router von CircuitMaker überprüft permanent die gerade verlegte Leiterbahn auf Verstöße gegen die Design Rules. Jedes neue Projekt erhält zunächst einen Standard-Satz an Design-Regeln, die mit dem entsprechenden Editor per Home ª Design Rules ª Define Design Rules geändert werden können. Bild 4 zeigt die Regel für die Clearance. Man kann CircuitMaker beispielsweise anweisen, normalerweise einen Bahnabstand von 0,25 mm zu verwenden, der bei bestimmten Bauelementen auf 0,15 mm reduziert wird. Das Regel-System erlaubt auch das Gruppieren von Bauelementen und Netzen in Klassen, auf die dann Design-Regeln angewendet werden können.

Gerber- und STEP-Dateien

Nach dem Routing muss man die für die Produktion der Pla- tine erforderlichen Dateien generieren. Diese sind zwar durch den Platinen-Fertiger bedingt, doch meistens wird das Ger- ber-Format unterstützt. Gerber-Dateien haben ein recht ein- faches Format, bei dem für jeden Layer der Platine eine Datei erzeugt wird, die alle notwendigen Daten für die Belichtung und die Bohrungen enthalten.

Doch bevor man diese Dateien exportiert, empfiehlt sich ein Lauf des DRC via Outputs ª Reports ª Design Rule Check, weil der Echtzeit-DRC während des Routings aus Geschwindig- keitsgründen nur eine Teilmenge der Design-Regeln prüft. Der anschließende Batch-Lauf beim Klick auf Run Design Rule Check ist viel sorgfältiger. Nach der Überprüfung werden die Fehler in einer HTML-Datei ausgegeben. Klickt man einen Fehler bei den Messages an, wird die entsprechende Stelle auf der Platine markiert und eine Fehlerbeschreibung erscheint. Hat man eventuelle Fehler behoben, kann man die Gerber-Da- teien via Output ª Fabrication ª Gerber exportieren. Jetzt erscheint das Gerber-Setup-Fenster, in dem man die Einheiten, die Präzision und die zu konvertierenden Layer angeben kann. Man kann hier auch die Bohrungen und deren Durchmesser konfigurieren. CircuitMaker generiert als Standard Dateien im RS274X-Format, bei dem diese Angaben in jeder Gerber-Da- tei zusätzlich enthalten sind, statt sie in einer eigenen Datei zu bündeln. Ein Klick auf Ok erzeugt alle Gerber-Dateien und verpackt sie in einem ZIP-Archiv, das man dann sichern kann. Was jetzt noch zu tun bleibt ist die Inspektion dieser Dateien mit einem Gerber-Viewer. Man kann mit Outputs ª Export ª Step auch STEP-Daten der Platine generieren. Diese enthalten alle relevanten Bautei- le-STEP-Daten der CircuitMaker-Library, weshalb man so mit Hilfe eines MCAD-Programms zum Beispiel testen kann, ob die Platine gut in ein bestimmtes Gehäuse passt. Außerdem kann man mit dem integrierten 3D-Viewer per View ª View ª Switch to 3D das Aussehen der Platine wie in Bild 5 betrachten.

Mehr CircuitMaker

Diese dreiteilige Serie zu CircuitMaker konnte natürlich nur die Oberfläche streifen. Sehr hilfreich ist die Dokumentation unter [1] und dort speziell der Platinen-Kurs von [2], der sehr viel mehr ins Detail geht. Die Lektüre lohnt sich. Viel Erfolg mit CircuitMaker!

geht. Die Lektüre lohnt sich. Viel Erfolg mit CircuitMaker! (160017) Advertorial q & a tipps &

(160017)

Advertorial

q & a

tipps & tricks

software

Weblinks

[1] http://documentation.circuitmaker.com

[2] http://documentation.circuitmaker.com/display/CMAK/

From+Idea+to+Manufacture+-+Driving+a+PCB+Design+th-

rough+CircuitMaker

rough+CircuitMaker Bild 3. Interaktives Routing. Bild 4. Editor für

Bild 3. Interaktives Routing.

rough+CircuitMaker Bild 3. Interaktives Routing. Bild 4. Editor für Design-Regeln. Bild 5. Integrierte

Bild 4. Editor für Design-Regeln.

3. Interaktives Routing. Bild 4. Editor für Design-Regeln. Bild 5. Integrierte 3D-Ansicht von Platinen.

Bild 5. Integrierte 3D-Ansicht von Platinen.

www.elektormagazine.de

Juli/August 2016

31

learn

design

share

Niederspannung, EMV und R&TTE

Was gibt‘s Neues?

Elektronische Geräte entwickeln sich stets weiter. Sie sind, wie zum Beispiel Geräte mit Fernbedienungen, nicht nur miteinander verbunden, sondern gleichzeitig auch Sender und Empfänger von Daten - eine Tatsache, die den Gesetzgeber permanent vor neue Anforderungen stellt und ein Grund, warum sich im Jahre 2016 die Niederspannungsrichtlinie, die Richtlinie zur elektromagnetischen Verträglichkeit EMV sowie die Richtlinie für Funkanlagen und TK-Endeinrichtungen ändern.

Richtlinie für Funkanlagen und TK-Endeinrichtungen ändern. Von Mariline Thiebaut-Brodier EU Konformitätsdeklaration

Von Mariline Thiebaut-Brodier

EU Konformitätsdeklaration

Zur Erinnerung: Wenn Sie Güter inner- halb des europäischen Marktes verkau- fen möchten, sind Sie für die Prüfung der Konformität der Produkte verantwortlich und unter anderem auch einer Reihe von Verpflichtungen unterworfen, zu der auch die Anforderungen hinsichtlich der Rück- verfolgbarkeit gehören – ganz gleich, ob Sie außerhalb der EU oder innerhalb eines Mitgliedsstaates ansässig sind.

Vor dem Vertrieb eines Produktes muss dessen Hersteller …

1. … eine Konformitätsbewertung durch- führen oder durchführen lassen und das Produkt gegebenenfalls einer Über- prüfung seitens Dritter überlassen. In der Regel handelt es sich dabei um eine sogenannte Notifizierte Stelle (oder Benannte Stelle). Letztendlich übernimmt der Hersteller die volle Ver- antwortung für das Produkt. 2. … eine technische Dokumentation erstellen.

3. … eine EU-Konformitätsdeklaration zur Verfügung stellen.

4. … dafür sorgen, dass das Produkt mit den entsprechenden Sicherheitshin- weisen ausgeliefert wird, die in einer für den Konsumenten und für weitere Endverbraucher leicht verständlichen Sprache verfasst sind.

5. … die technische Dokumentation und die EU-Deklaration gemäß den Rück- verfolgungsanforderungen für 10 Jahre aufbewahren und eine Serien- bzw. Typennummer auf dem Produkt anbringen – zusammen mit dem ein- getragenen Warenzeichen und der Firmenbezeichnung.

6. … das Konformitätszeichen anbrin- gen (CE = Den Richtlinien der Euro- päischen Gemeinschaft [Communauté Européenne] entsprechend)

7. … sicherstellen, dass die Serienpro- duktion konform bleibt.

8. … gegebenenfalls die Zertifizierung des Produktes und/oder des Qualitätssys- tems selbst durchführen.

Die EU-Konformitätsdeklaration ist das Dokument, das einem Produkt bestä-

32 Juli/August 2016 www.elektormagazine.de

Produkt bestä- 32 Juli/August 2016 www.elektormagazine.de tigt, den geltenden Erfordernissen einer oder mehrerer

tigt, den geltenden Erfordernissen einer oder mehrerer europäischen Richtlinien zu genügen. Diese Richtlinien definieren die grundlegenden Anforderungen hinsicht- lich Sicherheit, Gesundheit und Umwelt. Auch die Bewertungsverfahren werden durch die Richtlinien definiert.

Auch wenn ein Produkt mehreren Richtli- nien unterworfen ist, muss nur eine ein- zige Erklärung erstellt werden, die Teil des Produktes ist. Die EU veröffentlicht regelmäßig eine Liste der anzuwenden- den Normen, um den unterschiedlichen Anforderungen der einzelnen Richtlinien zu begegnen. Die Bezeichnung „CE“ für die EU-Konfor- mitätserklärung wird übrigens in einigen europäischen Ländern nicht mehr verwen- det, da sie irreführend auch für „China Export“ genutzt wird. In Frankreich wurde sie zum Beispiel in „UE“ umbenannt.

Das CE-Zeichen ist ein Indikator (aber kein Beweis) dafür, dass sich ein Pro- dukt mit der europäischen Gesetzgebung in Einklang befindet und innerhalb der Grenzen des europäischen Marktes frei

grundlagen

kurs

bewegt werden darf – ganz gleich ob es innerhalb des europäischen Wirtschafts- raumes, in der Türkei oder in einem belie- bigen anderen Land hergestellt wurde. Nähere Informationen finden Sie im Blauen Leitfaden unter dem Thema:

Umsetzung der EU-Produktregulierung

[1].

Niederspannung

Die Niederspannungsrichtlinie, die Richtli- nie zur elektromagnetischen Verträglich-

q & a

keit (EMV) und die Richtlinie für Funkan- lagen und TK-Endeinrichtungen (R&TTE) sind für elektronische Produkte gedacht. Die unten stehende Tabelle gibt einen Überblick über die wichtigsten Änderun- gen seit Jahresbeginn. Die Niederspan- nungs- und EMV-Richtlinie wurden geän- dert. Die R&TTE-Richtlinie wurde revidiert und in RED umbenannt.

Die geänderte Niederspannungsrichtli- nie enthält einige Paragrafen, die nicht

tipps & tricks

software

ganz unproblematisch sind (wir fassen den Wortlaut sinngemäß zusammen, die Richtlinie kann man im Volltext unter [2] abrufen):

(4) Die aktuelle Richtlinie bezieht sich auf elektrisch betriebene Produkte zur Anwendung innerhalb bestimmter Spannungsgrenzwerte, die seit ihrer Einführung neu auf dem EU-Markt sind. Mit anderen Worten: Es handelt sich entweder um ein Produkt mit

 

Richtlinie

Niederspannung

Elektromagnetische Verträglichkeit (EMV)

Funk (R&TTE)

Alte Richtlinie

2006/95/CE

2004/108/CE

1999/5/CE (R&TTE)

annulliert 19.04.2016

annulliert 19.04.2016

gültig bis: 13.06.2016

Revidierte

2014/35/EU

2014/30/EU

2014/53/EU (RED)

Richtlinie

Pflicht ab: 20.04.2016

Pflicht ab: 20.04.2016

Pflicht ab: 13.06.2016

 

Die EMV-Konformitätsdeklaration wurde umbenannt, zum Beispiel in Frankreich von CE in UE.

Die Importeure müssen ihren Namen auf den Produkten bzw. der Verpackung angeben.

Die Verantwortlichkeiten bezüglich der Vermarktung von Produkten (vor allem die Forderung der Rückverfolgung und der Überwachung) wurden für die Hersteller, Importeure und Händler präzisiert und weiter ausgebaut.

Wichtigste

     

Änderungen

Telekommunikations-Endgeräte gehören nicht mehr zum Anwendungsbereich der RED-Richtlinie.

   

Rundfunk- und Fernsehgeräte werden in den Anwendungsbereich der RED-Richtlinie aufgenommen.

Was wurde

CE-Zeichen

nicht verändert

Anwendungsbereich und grundlegende Anforderungen an Gesundheit und Sicherheit

Folgen

Da die EU-Konformitätserklärungen der überarbeiteten Richtlinie die CE-Konformitätserklärungen ersetzen, müssen sie auch in allen Lagern der Hersteller bei allen Produkten vor dem 20.04.2016 ersetzt werden.

Beide Richtlinien sind für ein Jahr lang für Produkte gültig, die unter die Richtlinie R&TTE fielen und die weiterhin zur Richtlinie RED gehören. Seit dem 13.06.2016 muss auch gelagertes Material den RED- Anforderungen genügen.

 

Das bei einem Händler oder Anwender gelagerte Material ist so zu betrachten, als wäre es schon auf dem Markt: Die revidierte Richtlinie gilt hier nicht.

Übergangs-

Es gibt keinen Übergangszeitraum, in welchem die alten und die revidierten Richtlinien gleichzeitig anwendbar sind. Die Umstellung fand am 20.04.2016 statt.

Es gibt eine Übergangsperiode während der die beiden Richtlinien R&TT sowie RED gleichzeitig angewendet werden dürfen. Diese Übergangszeit endet am 13.06.2017.

periode

learn

design

neuen elektrischen Komponenten, dessen Hersteller in der EU ansäs- sig ist, oder um ein Produkt, das neu oder gebraucht sein kann und aus einem Drittland importiert wurde.

(5) Die vorliegende Richtlinie sollte sich auf alle Arten von Lieferungen beziehen, auch auf den globalen Verkauf.

Die Unterscheidung zwischen neu und gebraucht tauchte zuvor nicht auf – auch nichts, was den Versand eines Produkts betrifft: Wenn Sie ein elektronisches Gerät kaufen, das vom anderen Ende die- ses Planeten stammt, muss der Verkäufer eine EU-Konformitätserklärung anbieten. Das wird kompliziert werden.

(9) Der Hersteller ist auf Grund sei- ner detaillierten Kenntnisse bezüglich der Konzeption und des Verlaufs der Produktion am besten geeignet, das Bewertungsverfahren umzusetzen. Die Konformitätsbewertung sollte daher auch weiterhin die ausschließ- liche Verpflichtung des Herstellers bleiben. Diese Richtlinie sieht kein Bewer- tungsverfahren vor, das den Eingriff einer notifizierten Stelle erfordert.

Die notifizierten Stellen (solch eine noti- fizierte Stelle [bzw. ein Labor] ist ein Gremium, das nach gewünschten Vor- gaben durch die öffentlichen Behörden eines EU-Mitgliedsstaates dazu bestimmt wurde, die Konformitätsbewertungen von Produkten durchzuführen) scheinen lang- sam aus der Liste der möglichen Insti- tutionen, die Konformitätsbewertungen durchführen können, zu verschwinden. Ein Risiko besteht hier eindeutig beim Vermarkten nicht konformer Produkte.

(18) Die relevanten, harmonisierten Normen für die existierende Richtlinie sollten auch die die UN-Konventio- nen bezüglich der Rechte Behinderter beachten.

Im Anhang zur internen Fertigungs- kontrolle: Die technische Dokumen-

share

EU Declaration of Conformity (DoC) We Company name: E-Mail address: Postal Postcode and City: Telephone
EU Declaration of Conformity (DoC)
We
Company
name:
E-Mail address:
Postal
Postcode
and
City:
Telephone
number:
address:
declare that the DoC is issued under our
sole responsibility and belongs to the following product:
Apparatus model/Product:
Type:
Batch:
Serial number:
Object of
the declaration
(identification of
sufficient
clarity where necessary for
apparatus allowing traceability; it may include a colour image of
the identification of the apparatus):
of
ibed
in
The
following harmonised standards and technical specifications have been applied:
Title
:
a
4 digit notified body number:
Signed for and on behalf of:
Place
of issue
Date of issue
Name, function, signature

Ein Importeur muss zum Beispiel die technische Dokumentation eines Pro- duktes 10 Jahre lang aufbewahren, sei- nen Namen und seine Adresse auf dem Produkt anbringen, sich vergewissern, dass das Produkt mit einem Handbuch und den entsprechenden Sicherheits-Hin- weisen versehen ist – und er muss mit den Behörden kooperieren. Außerdem muss er kontrollieren, dass seine Pro- dukte vorschriftsmäßig gelagert sind und Lithium-Ionen-Akkus zum Beispiel nicht monatelang hinter großen Glasfenstern aufbewahrt werden. Schließlich gibt es auch einige Produkte, die nicht unter die Niederspannungsricht- linie fallen. Dazu zählen in erster Linie die sogenannten Evaluation-Kits zum aus- schließlichen Einsatz in Forschungs- und Entwicklungseinrichtungen.

Einsatz in Forschungs- und Entwicklungseinrichtungen. (160094) tation sollte eine Analyse und eine entsprechende

(160094)

tation sollte eine Analyse und eine entsprechende Bewertung der Risiken enthalten.

Das ist neu und macht die Arbeit nicht gerade leichter. Wird es wirklich gelingen, dabei an alle Möglichkeiten einer falschen Anwendung zu denken – ganz gleich, ob Behinderte oder Nicht-Be- hinderte im Spiel sind? Enden wir schließlich bei einem Dokument, das an einen Medikamenten-Bei- packzettel mit seiner end- losen Liste unerwünschter Nebeneffekte erinnert?

Artikel 6 – Verpflich- tungen der Hersteller (8) Hersteller, die Kenntnisse darü- ber oder Grund zur Annahme haben, dass ein von ihnen auf den Markt gebrachtes Pro- dukt für den Elekt- robereich nicht der

aktuellen Richtlinie entspricht, unter- nehmen, wenn notwendig, unverzüg- lich die notwendigen Maßnahmen zur Herstellung der Konformität oder zur Rücknahme bzw. zum Rückruf.

Die Verantwortlichkeit der Hersteller wurde erhöht: Sie müssen nachweisen können, dass sie auf die vom Kunden- service aufgezeigten Probleme reagieren. Der nachfolgende Artikel 7 zeigt, dass sie mit den Behörden zusammenarbei- ten müssen, um die Konformität ihres Produktes zu belegen. In diesem Zusammenhang gibt es eine weitere, große Neuigkeit: Die Importeure und ganz allgemein alle im Handel täti- gen Personen (Händler, Bevollmächtigter) unterliegen denselben Verpflichtungen wie der Hersteller, wenn es um die Kon- formität geht. Auch wenn dies schlüssig klingt, war dies in der vorhergehenden Version der Richtlinie nicht klar definiert.

Links:

[1] Blue Guide (Blauer Leitfaden), http://ec.europa.eu/DocsRoom/documents/16210?locale=de

[2] Richtlinien im Volltext: http://eur-lex.europa.eu/homepage.html?locale=de In Suchmaske eingeben: 2014/35/EU bzw. 2014/30/EU bzw. 2014/53/EU.

34 Juli/August 2016 www.elektormagazine.de

LEARN

DESIGN
DESIGN

SHARE

LEARN DESIGN SHARE lektor PCB Service Powered by Platinen – Prototypen – Multilayer – Kleinserien Kostengünstig!

lektor PCB Service

LEARN DESIGN SHARE lektor PCB Service Powered by Platinen – Prototypen – Multilayer – Kleinserien Kostengünstig!

Powered by

LEARN DESIGN SHARE lektor PCB Service Powered by Platinen – Prototypen – Multilayer – Kleinserien Kostengünstig!

Platinen – Prototypen – Multilayer – Kleinserien

Kostengünstig!

Kostengünstig!

Top-Qualität!

Top-Qualität!

Zuverlässig!

Zuverlässig!

– Kleinserien Kostengünstig! Top-Qualität! Zuverlässig! • PCB proto : Ideal für Privatleute, die schnell und

• PCB proto:

Ideal für Privatleute, die schnell und günstig maximal 2 Leiterplatten nach vordefinierten Spezifikationen benötigen.

• STANDARD pool:

Diese Option ist für Firmen konzipiert, die ihre Kleinserie nach den am häufigsten verwendeten Spezifikationen produzieren lassen wollen.

• RF pool:

Wenn Ihre Entwicklung sehr anspruchsvolle Spezifikationen erfordert, ist 100-µm-Technologie die beste Wahl.

• IMS pool:

Bei dieser Option werden Aluminiumkern-Leiterplatten verwendet, um eine hohe Wärmeabfuhr zu gewährleisten.

verwendet, um eine hohe Wärmeabfuhr zu gewährleisten. Bestellen Sie Ihre Platinen jetzt unter:

Bestellen Sie Ihre Platinen jetzt unter:

www.elektorPCBservice.de

learn

design

share

Assembler Crashkurs 2.2

Indirekte

Adressierung

In der letzten Folge unserer zweiten Assembler-Crashkurs-Serie haben wir die Ansteuerung eines LED- Displays im Multiplexverfahren behandelt. Dank eines modernen Mikrocontrollers mit fortgeschrittenen Adressierungsarten vereinfacht sich dabei die Programmierung. In dieser zweiten Folge werden wir zusätzlich die indirekte Adressierung kennenlernen.

Von Miroslav Cina

miroslav.cina@t-online.de

Die modernere PIC-Mikrocontroller-Familie PIC1xF18xx bie- tet mit der indirekten Adressierung ein Feature, das sich sehr gut nutzen lässt. Großer Vorteil ist, dass man so völlig linear auf Speicher zugreifen kann und die zum Teil umständliche Behandlung segmentierter Blöcke umgangen wird. Damit sind diese Mikrocontroller ähnlich einfach zu handhaben, wie es bei „richtigen“ 8-bit-Mikroprozessoren wie etwa dem in den 1980ern populären Z80 möglich war.

Register INDFx

In der letzten Folge wurde die direkte Adressierung mit Hilfe des Registers BSR beschrieben. Alle Mikrocontroller der PIC1xF18xx-Serie beinhalten mit INDF0 und INDF1 zwei wei-

PIC1xF18xx-Serie beinhalten mit INDF0 und INDF1 zwei wei- Bild 1. Speicherorganisation von Mikrocontrollern der Serie

Bild 1. Speicherorganisation von Mikrocontrollern der Serie PIC12F18xx.

tere Spezial-Register, mit denen linear auf den Arbeitsspeicher zugegriffen werden kann. Noch besser: Man erhält so auch einen linearen Zugriff auf den Programmspeicher. Bei dieser Zugriffsmethode wird der Gesamtspeicher aus RAM und Flash (aber nicht EEPROM!) des Mikrocontrollers als ein einziger Speicherblock mit 64 KB dargestellt.

Für einen Adressraum von 64 KB sind Adressen mit 16 bit erforderlich. Solche Adressen sind in den Registerpaaren FSR0 (FSR0H | FSR0L) und FSR1 (FSR1H | FSR1L) enthalten. Diese Register-Paare wurden schon als Bestandteil der Core-Register beleuchtet. Was jetzt noch für die indirekte Adressierung nötig ist, sind zwei weitere Assembler-Befehle. Bei der Beschreibung wird dann auch klar, zu welchen Zwecken sich die Register INDF0 und INDF1 eignen. Das RAM befindet sich gleich zweifach im 64-KB-Adressraum. Zunächst liegt es im Bereich 0000h bis 0FFFh als herkömm- licher Arbeitsspeicher. Der Zugriff auf diese Adressen mittels FSRx entspricht weitgehend der direkten Adressierung via BSR. Das RAM ist dann nochmals im Adressbereich 2000h bis 29AFh verfügbar – hier aber linear. Dies ist dann relevant, wenn man beispielsweise elegant auf ein Datenfeld bzw. eine Tabelle zugreifen möchte. Doch warum endet der Adressbereich bei 29AF und nicht bei 2FFF? In diesem Speicherbereich werden die Blöcke zu je 80 Byte aus den einzelnen Speicherbänken gespiegelt. Die Bank0 mit dem Adressbereich 020h bis 06Fh findet man hier im Bereich 2000h bis 204Fh, Bank1 entspre- chend bei 2050h bis 20AFh usw. Die letzte gespiegelte Bank (Bank30) endet daher bei der Adresse 29AFh.

Der Zugriff auf den Flash-Programmspeicher erfolgt über die Adressen 8000h bis FFFFh. Es ist evident, dass nicht alle Spei- cherplätze tatsächlich belegt sind. Zum Beispiel stecken die 8 KWords Flash des PIC16F1829 im Bereich 8000h bis 9FFFh. Die lediglich 2 KWords des PIC12F1822 hingegen passen in den Bereich 8000h bis 87FFh. Der nicht genutzte Rest ist zwar adressierbar, doch macht dies keinen Sinn.

grundlagen

kurs

Typisch für diese PIC-Mikrocontroller sind 8 bit breite RAM-Zel- len, doch der Programmspeicher ist in 14-bit-Worten organi- siert. Die Frage ist nun, wie diese 14-bit-Worte in den Adress- bereich gepackt wurden. Die Lösung ist verblüffend einfach:

Man kann direkt nur auf das Byte mit den acht LSBs (Least Significant Bits) zugreifen. Vor der Beschreibung des Zugriffs mit dem Befehl MOVIW empfiehlt sich zunächst ein Blick auf die Speicherorganisation von Bild 1. Hier ist zu sehen, dass der Programmspeicher eine Breite von 14 bit hat. Auf dessen höherwertige sechs Bits hat man keinen Zugriff, weswegen dieser Bereich grau dargestellt ist. Der Befehl MOVIW kopiert den Inhalt der Speicherzelle der im Registerpaar FSR0 ste- henden Adresse in das W-Register. Dabei werden lediglich die acht niederwertigen Bits kopiert.

MOVIW

Der Befehl dient prinzipiell zum Transport des Inhalts von Regis- ter INDFn in das W-Register (MOVe Indfn to W). INDFn kann entweder INDF0 oder INDF1 sein. Und jetzt der Trick: Das Register INDFn existiert nicht. Beim Zugriff auf INDF0 wird immer auf die Speicherposition mit der in FSR0 enthaltenen Adresse zugegriffen (bei INDF1 gilt entsprechend die Adresse von FSR1). Es gibt zwei Verwendungsvarianten: Bei einer Variante wird auch der Pointer angepasst (inkrementiert oder dekrementiert) und bei der anderen nicht. Hier geht es um die erste Variante, da sie oft bei Zugriffen auf Datenfelder verwendet wird. Für die erste Variante gibt es noch die vier Subtypen nach Tabelle 1, die sich darin unterscheiden, ob der Pointer vor oder nach dem Zugriff geändert und ob er inkrementiert oder dekrementiert wird. Außerdem kann „n“ die Werte „0“ oder „1“ (Verwendung von Register FSR0 oder FSR1) haben. Außer dem beschriebenen Befehl MOVIW gibt es mit MOVWI auch dessen Gegenteil: Mit diesem Befehl wird der Inhalt des W-Registers in die jeweils adressierte Speicherzelle geschrie- ben. Das funktioniert natürlich nur in dem Bereich, in dem sich RAM befindet. Wenn man den Inhalt des Flash-Speichers ändern will, so benötigt man andere Techniken. Dies sollte außerdem mit Vorsicht genossen werden, da sich selbst modifizierender Code so seine Tücken hat.

Programmspeicher anzeigen

Da mit dem LED-Display aus der letzten Folge schon eine Hard- ware zur Anzeige von Werten zur Verfügung steht, wird sie nun dazu benutzt, nach und nach den Inhalt des Flash-Speichers ab der Adresse 1000h anzuzeigen. Dazu muss lediglich das Hauptprogramm der Software des Mikrocontrollers geändert werden. Ansonsten wird der Display-Treiber aus der letzten Folge leicht modifiziert weiterverwendet. In der Hauptroutine steckt diesmal kein Zähler, sondern der Code zum Auslesen der Daten des Programmspeichers. Das Prinzip: In einer Schleife werden Daten aus dem Pro-

q & a

tipps & tricks

software

Tabelle 1.

 

Syntax

Bedeutung

moviw ++FSRn

Preincrement Inkrementierung vor Lesezugriff

moviw --FSRn

Predecrement Dekrementierung vor Lesezugriff

moviw FSRn++

Postincrement Inkrementierung nach Lesezugriff

moviw FSRn--

Postdecrement Dekrementierung nach Lesezugriff

FSRn-- Postdecremen t Dekrementierung nach Lesezugriff Bild 2. Anzeige eines Bytes in hexadezimaler Form auf dem

Bild 2. Anzeige eines Bytes in hexadezimaler Form auf dem LED-Display von Folge 1.

grammspeicher gelesen und auf dem Display angezeigt. Das Programm liest hierzu byteweise Daten ab der Adresse 1000h. Jedes gelesene Byte wird für eine kurze Zeit angezeigt, und dann ist das nächste an der Reihe. Die Schleife wird beendet, wenn der Wert FFh aus dem Speicher gelesen wurde. Alles beginnt dann wieder neu mit der Adresse 1000h. Da es sich hierbei um Bytes handelt, benötigt man zur Dar- stellung nicht nur normale numerische, sondern hexadezimale Zeichen. Die Anzeige eines Bytes im Hex-Format benötigt auf dem Display lediglich zwei Stellen. Genutzt werden hierfür die beiden linken Display-Stellen LD0 und LD1. LD2 bleibt leer und auf der vierten Position LD3 steht dauerhaft ein „h“. Der dezimale Wert 122 wird dann wie in Bild 2 zu sehen als „7A h“ angezeigt

Änderung am Display-Treiber

Wie schon erwähnt, muss das Display nun hexadezimale Zeichen darstellen können. Anders als beim Code von Folge 1 genügt

„9“ und das Zeichen „-“

„F“,

das Leerzeichen und das kleine „h“ erforderlich. Das erfordert Änderungen am Display-Treiber. Damit kann man dann alle dezimalen Werte von 0 bis 255 hübsch hexadezimal darstellen. Der Zeichensatzgenerator in der Routine „wm_char_set“ muss also etwas wachsen. Der Unterschied zwischen der alten dezi- malen Version von Listing 1 zur neuen hexadezimalen Version in Listing 2 hält sich allerdings in Grenzen. Dieses Beispiel zeigt zudem, wie einfach es ist, den Display-Treiber zu erweitern, falls dies erforderlich ist. Ein Zeichen wird in einer Assemb- ler-Zeile definiert. Damit sind alle erforderlichen Änderungen an der Anzeige selbst schon erledigt.

es nicht mehr, nur die Ziffern „0“

darzustellen. Jetzt sind auch noch die Buchstaben „A“

Listing 1.

retlw B'00111111' ;00h -> 0 retlw B'00000110' ;01h -> 1 retlw B'01011011' ;02h -> 2 retlw B'01001111' ;03h -> 3 retlw B'01100110' ;04h -> 4 retlw B'01101101' ;05h -> 5

;-------------------------

;old decimal character set

;-------------------------

wm_char_set brw

retlw B'01111101' ;06h -> 6 retlw B'00100111' ;07h -> 7 retlw B'01111111' ;08h -> 8 retlw B'01101111' ;09h -> 9 retlw B'01000000' ;0Ah -> minus

learn

design

share

Hauptprogramm

Jetzt geht es weiter mit dem Hauptprogramm, das aus den folgenden drei Teilen besteht:

Auslesen der Daten aus dem Flash-Speicher mit Subrou-

tine f_get_data.

Konvertierung der Bytes in zweistelliges Hex-Format mit

Subroutine calc_hex_disp.

Struktur der endlosen Hauptschleife.

Flash auslesen In diesem Programmteil wird der Einsatz der indirekten Adres- sierung demonstriert. Die komplette Konstanten-Deklaration als Daten für den Flash-Speicher und der zugehörige Lesezugriff kann sehr einfach implementiert werden, wie Listing 3 zeigt. Die auszulesenden Daten sollen im Programmspeicher ab Adresse 1000h abgelegt werden. Dies wird mit der Direktive ORG 1000 erzwungen (siehe step 3). Außerdem wird der Anfang der Daten als „c_data1“ gekennzeichnet. Prinzipiell könnte man auch andere Speicherbereiche verwenden. Dabei gibt es zwei Einschränkungen: Der Speicherbereich muss sich beim verwendeten Mikrocontroller auf physikalisch vorhandenen Flash-Speicher beziehen, und die Deklaration darf nicht „aus Versehen“ mit dem eigentlichen Programm-Code kollidieren. Der hier verwendete Mikrocontroller PIC16F1829 hat 8 KWords Programmspeicher, weshalb die höchstmögliche Speicherzelle die Adresse 1FFFh hat. Falls man also fehlerhafterweise die Adresse 2000h verwendet, wird auf Adresse 0000h zugegrif- fen, was nicht klug ist.

Deklariert man den Speicherbereich für die Daten mit der ORG-Direktive auf eine zu niedrige Adresse, gibt es beim Assemblerlauf Fehlermeldungen. Diese hängen davon ab, wo man im Programmspeicher landet. Für jedes regelwidrig über- schriebene Byte hagelt es gleich zwei Fehlermeldungen, wie das folgende Beispiel zeigt:

Error[118]

Error[118]

\05_TEST.ASM

Overwriting previous address contents (0051)

\05_TEST.ASM

Overwriting previous address contents (0051)

C:\

C:\

339 :

339 :

Warum gleich zwei Meldungen pro Byte? Weil der Programm- speicher Worte zu 14 bit enthält. Folglich ist also eine Dekla- ration H’AB’ identisch mit H’00AB’ . Eine solche Deklaration überschreibt also eigentlich gleich zwei Bytes – deswegen zwei Meldungen. Der erste Teil des Worts kann nur Werte von 00h bis 3Fh haben. Da man aber auf die ersten sechs Bits mit die- ser Methode sowieso nicht zugreifen kann, kann man hier die Deklaration auch gleich in Kurzform vornehmen.

Man hätte die Direktive ORG 1000 auch komplett weglassen können, doch dann wären die Daten gleich nach der Subroutine f_get_data im Flashspeicher abgelegt worden. Gelegentlich ist es aber wichtig, den exakten Speicherort zu kennen, denn ohne ORG-Direktive ändert sich die Position sonst ja mit dem Code. Die Routine f_get_data (step 2) liest ein Byte aus dem Flash-Speicher und benötigt hierfür nur vier Zeilen Code. Wie zuvor beschrieben kopiert der Befehl MOVIW den Wert in das W-Register. Anschließend wird der Wert noch in die Puffer-Va- riable v_value für eine spätere Verwendung gesichert, und das war‘s auch schon. Da hier die Postincrement-Variante des Befehls zum Einsatz kommt, wird der zugehörige Pointer nach dem Lesen inkrementiert. Beim nächsten Aufruf der Subroutine wird daher automatisch das nächste Byte ausgelesen. Noch ein Wort zur Initialisierung der Pointer – in diesem Fall zum Registerpaar FSR1: Um die Daten von der richtigen Stelle zu lesen, muss hier die jeweilige Adresse stehen. Dies erledigt die Subroutine f_get_add (step 1). Dabei wird die Adresse mit den Direktiven „LOW“ und „HIGH“ aufgeteilt und in die pas- senden Registerhälften geschrieben. Die Zeile

movlw

LOW c_data1

Listing 2.

;-----------------------------

;new hexadecimal character set

;-----------------------------

wm_char_set brw retlw B'00111111' ;00h -> 0 retlw B'00000110' ;01h -> 1 retlw B'01011011' ;02h -> 2

retlw B'01001111' ;03h -> 3 retlw B'01100110' ;04h -> 4 retlw B'01101101' ;05h -> 5 retlw B'01111101' ;06h -> 6 retlw B'00100111' ;07h -> 7 retlw B'01111111' ;08h -> 8 retlw B'01101111' ;09h -> 9 retlw B'01110111' ;0Ah -> A

retlw B'01111100' ;0Bh -> b retlw B'00111001' ;0Ch -> C retlw B'01011110' ;0Dh -> d retlw B'01111001' ;0Eh -> E retlw B'01110001' ;0Fh -> F retlw B'01000000' ;10h -> minus retlw B'00000000' ;11h -> space retlw B'01110100' ;12h -> h

Listing 3.

;---------------------

;declare and read data

;---------------------

;step 1 f_get_add clrf BSR movlw LOW c_data1 movwf FSR1L movlw HIGH c_data1 movwf FSR1H return

;

;step 2 f_get_data clrf BSR moviw FSR1++ movwf v_value return

;

;step 3 ORG 1000 c_data1 da H'01', H'02', H'03', H'04' da H'AB', H'CD', H'EF' da H'FF'

grundlagen

kurs

kopiert zunächst das niederwertige Byte der Adresse von c_ data1 in das W-Register – hier also der Wert 00h (von 1000h). Anschließend kopiert die Zeile

movlw

HIGH c_data1

das höherwertige Byte 10h (von 1000h) in das W-Register. Eigentlich ist das nicht ganz richtig, denn aufgrund der indi- rekten Adressierung ist der Flash-Speicher ja erst ab Adresse 8000h zu finden. Der Speicherplatz 0000h befindet sich des- wegen im FSR-Adressraum auf Adresse 8000h. Das Datum von c_data1 ist also an der Adresse 9000h zu finden. Deswegen landet bei der vorigen Code-Zeile der Wert 90h im W-Register und nicht 10h.

1 Byte in 2 Nibbles Diese Routine hat zwar nichts mit der indirekten Adressierung zu tun, ist aber notwendig, wenn man ein Byte hexadezimal ausgeben möchte. Zum besseren Verständnis wird zunächst mit LSRF (Logical Shift Right) ein neuer Befehl beschrieben. Der Befehl gehört in die Kategorie „Byte-Oriented File Regis- ter Operations“ und schiebt einfach alle Bits im Register nach rechts. Die Syntax ist:

lsrf

f

wobei „f“ das behandelte Register ist. Das Bit ganz rechts bzw. das sogenannte LSB landet im Orkus, der hier durch das Carry- Bit des Status-Registers repräsentiert wird, denn hier wird es aufgehoben. Ganz links kommt eine binäre „0“ als MSB (Most Significant Bit) ins Register. Bild 3 veranschaulicht das Gesche- hen. Steckt im F-Register zunächst der Wert 7Ah, ändert sich dieser durch die Anwendung von LSRF in 3Dh (siehe Bild 4). Der Vollständigkeit halber sei erwähnt, dass es mit LSLF einen Befehl mit entgegengesetzter Wirkung gibt. Der Code zur Aufteilung eines Bytes in seine höherwertigen und niederwertigen vier Bits (4 bit = 1 Nibble = 1 Halbbyte) steht in Listing 4. Zunächst wird das gelesene Byte ins W-Register kopiert (step 1) und dank AND-Befehl mit 1111b werden die vier MSBs auf 0000b gesetzt. Das Resultat wird in Variable v_lsb geschrieben. Dann wird das Byte nochmals ins W-Re- gister kopiert (step 2) und mit der vierfachen Anwendung des Shift-Befehls LSRF werden die vier LSBs entfernt. Die daraus folgenden vier LSBs enthalten dann den Wert der vier vorigen MSBs. Bild 5 veranschaulicht das Verhalten dieses Codestücks. Die beiden Variablen v_lsb und v_msb enthalten anschließend die Werte, die direkt für die Anzeige des Bytes in hexadezima- ler Form verwendet werden können.

Ausblick

Mit dem Auslesen eines Bytes und der Aufbereitung seiner hexa- dezimalen Anzeige ist nun die zweite Folge der zweiten Serie des Assembler-Crashkurses zu Ende. Der komplette Code steht auf der Webseite zu diesem Artikel [1] zum Download bereit. In der nächsten Folge wird es um die serielle Kommunikation via I 2 C bzw. SPI gehen, der bei Mikrocontrollern und ihren Peri- pherie-Chips besondere Bedeutung gleichkommt. Anschließend wird demonstriert, wie man über eine solche serielle Schnitt- stelle sehr einfach einen Port-Expander ansteuern kann. Dar- über hinaus geht es noch um den Einsatz des LED-Displays als

q & a

tipps & tricks

software

0

register f

register f
register f
register f
C
C
0 register f C

Bild 3. Die Vorgänge beim Bit-Shifting durch den Assembler-Befehl LSRF.

Vorgänge beim Bit-Shifting durch den Assembler-Befehl LSRF. Bild 4. Beim Bit-Shifting mit LSRF wird der Inhalt

Bild 4. Beim Bit-Shifting mit LSRF wird der Inhalt nach rechts verschoben. Das vorherige LSB landet im Status-Register und links wird mit einer „0“ als MSB aufgefüllt.

und links wird mit einer „0“ als MSB aufgefüllt. Bild 5. Byte-Split in zwei Nibbles, die

Bild 5. Byte-Split in zwei Nibbles, die dann hexadezimal angezeigt werden.

Uhr oder U/I-Messgerät, wozu jeweils ein externer Chip und etwas Firmware erforderlich ist. Für Fragen zum Code und diesem Beispiel stehe ich Ihnen über meine E-Mail-Adresse miroslav.cina@t-online.de gerne zur Verfügung.

miroslav.cina@t-online.de gerne zur Verfügung. (160018) Weblinks [1] Download:

(160018)

Weblinks

[1] Download: www.elektormagazine.de/160018

Listing 4.

;-----------------

;byte in 2 nibbles

;-----------------

;step 1 calc_hex_disp movf v_value,0 andlw B'00001111' movwf v_lsb

;step 2 movf v_value,0 movwf v_msb lsrf v_msb,1 lsrf v_msb,1 lsrf v_msb,1 lsrf v_msb,1 return

Wir sind auf der Suche nach den innovativsten Ideen, Projekten und Start-ups weltweit! Der „electronica

Wir sind auf der Suche nach den innovativsten Ideen, Projekten und Start-ups weltweit!

Der „electronica fast forward Start-up Award powered by Elektor“ ver- bindet erstmalig den weltweiten Elektronikmarkt, innovative Techno- logien sowie eine internationale Medienpräsenz und ist damit Garant, dass Ihre Start-up-Idee in den richtigen Köpfen das Meiste bewirkt. Start-ups und kreative Entwickler aus der ganzen Welt sind aufgeru- fen, sich bis zum 15. Juli 2016 über die Webseite www.elektor.com/ electronica-startup-award mit ihrer Idee zu bewerben. Eine Jury, bestehend aus Redakteuren des Magazins Elektor und Inge- nieuren des Elektor-Labors, wird Ihre Einsendung sichten und bewer- ten. Die besten Ideen, Projekte und Start-ups dürfen sich auf der electronica 2016 – die Weltleitmesse für Komponenten, Systeme und Anwendungen der Elektronik in München – präsentieren und final messen. Als Teilnehmer in einer der Award-Kategorien „Idee“, „Prototyp“ und „Start-up“ haben Sie die einmalige Möglichkeit, Teil der electronica fast forward Start-up Platform powered by Elektor zu sein und so weltweite Kontakte zu knüpfen. Profitieren Sie auf der electronica von persönlicher Beratung, Kon- taktvermittlung und einer Vielzahl von Messe-Events. Wir nehmen uns Ihrer Start-up-Idee an und beraten Sie auf der Messe zu Business-Plä- nen. Wir ermöglichen Ihnen die Präsentation Ihrer kreativen Idee vor

internationalen, strategischen Partnern und zukünftigen Kunden. Unter den Finalisten auf der Messe wird eine internationale Jury drei Gewinner aussuchen. Seien Sie einer dieser drei Gewinner des „elec- tronica fast forward Start-up Awards“, der im Rahmen der electronica am 11. November 2016 verliehen wird. Prämiert werden die Gewinner mit internationaler PR, Consulting und Marketing im Gesamtwert von 150.000 Euro sowie einem nachhaltigen Zugang zum internationalen Elektor-Netzwerk mit über 250.000 Mitgliedern weltweit.

Der Gesamt-Sieger wird mit einer internationalen Elektor Cross-Over-Marketing-Kampagne im Wert von 75.000 € sowie einem Messestand auf der electronica 2018 ausgezeichnet, Platz 2 erhält eine Elektor Media-Kampagne im Wert von 50.000 € und der Drittplat- zierte darf sich über eine Elektor Medienpräsenz im Wert von 25.000 € freuen.

Neugierig? Weitere Informationen zu den Teilnahmebedingungen und den Bewerbungsunterlagen finden Sie unter

www.elektor.com/electronica-startup-award

Intelligentes IoT- Gateway-Starter-Kit

Von ADLINK gibt es jetzt mit dem XE-202i eine echtzeitfähige M2M-Auto- matisierungslösung auf der Basis von Intels IoT-Gateway-Technologie und der DDS (Data Distribution Services) von Vortex. Motion-Tracking triggert einen an MXE-202i angeschlossenen Bewe- gungssensor, wodurch dann die via DDS an die Robotik verteilten Daten über- nommen werden um die entsprechen- den Arme zu aktivieren. Die MXE-200i- Serie ist ein intelligentes und robustes Embedded-System, das die Anwen- dungs-Entwicklung und einen einfa- chen Service in der Industrie-Automa- tion unterstützt. Die intelligente Platt-

Industrie-Automa- tion unterstützt. Die intelligente Platt- 40 Juli/August 2016 www.elektormagazine.de form zur

40

Juli/August 2016

www.elektormagazine.de

form zur Datenverteilung von Vortex ermöglicht eine einfache Distribution der Daten zwischen Geräten an sich sowie zwischen Geräten und der Cloud. Das zugehörige IoT-Gateway-Star- ter-Kit dient als komplette Lösung zur Verkürzung von Entwicklungszei- ten und der schnellen Anwendung in jeder Anwendungsumgebung. Das Starter-Kit enthält das intelligente IoT-Gateway MXE-202i, EdgePro für das IoT-Device- und –Sensor-Manage- ment, einen Licht-Sensor, einen Sire- nen-Ausgang, ein Modbus-TCP-Modul sowie Zubehör. Das IoT-Gateway-Star- ter-Kit und EdgePro erlauben die einfa- che Konfiguration mit einem benutzer- freundlichen Interface und Dashboard.

www.adlinktech.com

ADVERTORIAL

Advertorial

Die Rubrik ElektorBusiness in Elektor ist der Ort für Artikel, Neuigkeiten und andere

Beiträge von Firmen und Institutionen, die im Bereich Elektronik tätig sind.

Redaktion ElektorBusiness: Jan Buiting

Beiträge nimmt er gerne entgegen unter newsdesk@elektor.com.

nimmt er gerne entgegen unter newsdesk@elektor.com. Wie die Mailbox von Prinz Philip gehackt wurde Unterlagen zu

Wie die Mailbox von Prinz Philip gehackt wurde

Unterlagen zu einem Hack, der in die Rechts- geschichte in Großbritannien einging, wurden jetzt von Robert Schifreen, einem sogenann- ten „white hat“ im Zentrum der Kontroverse der 1980er Jahre, dem TNMOC (The National Museum of Computing) übergeben. Das Archiv enthält die Geschichte von Schifreens zwei Jahre dauerndem Leidensweg, der seinem Hack von Prestel, dem Online-System der Bri- tish Telecom aus der Prä-Internet-Ära, folgte. Er demonstrierte damals die Möglichkeiten, Zugriff auf die Prestel-Mailbox von Prinz Philip zu erlan- gen. Zu dieser Zeit gab es noch keine Gesetze, die das Hacken betrafen. Das Archiv enthält die Details der Folgen dieses Tests, der über drei Gerichte schließlich 1987 zum Freispruch durch das House of Lords führte. Ebenfalls enthalten ist das Hacker-Passwort- Buch von Schifreen aus den 1980ern sowie Transkripte seiner Verhöre durch die Polizei,

juristischer Schriftwechsel, Akten und etliches Pressematerial. Mit diesem Archiv erläutert Robert Schifreen für TNMOC-Interessierte den Kontext der 1980er-Hacks. Im Jahre 1985 gab es ja noch kein Internet und selbst die damals so genannten Heim-Computer waren noch am Anfang. Es gab die ersten öffentlichen Online- Dienste, doch noch kein Bewusstsein bezüglich Computer-Sicherheit und auch kein Gesetz, welches explizit das Hacken unter Strafe gestellt hätte. Schifreen war damals erst 22 Jahre alt und Teil einer talentierten Hacker-Gruppe, die Benutzernamen und Passwörter aus Daten- banken klaubte, die nicht für die Öffentlichkeit bestimmt waren. Er erklärte: „Hacker haben damals nie vor 18:00 Uhr losgelegt, denn tags- über waren die Wählverbindungen für die ver- wendeten Modems einfach zu teuer. Außerdem war 18:00 Uhr ein guter Start, da um diese Zeit die Sicherheits-Crew von Prestel schon

da um diese Zeit die Sicherheits-Crew von Prestel schon nach Hause gegangen war. Die automatischen Meldungen,

nach Hause gegangen war. Die automatischen Meldungen, dass es gerade drei erfolglose Ver- suche gegeben hatte, sich bei Prestel einzulog- gen, blieben also ohne Folgen. Ich habe die Mel- dungen aber gelesen und dann gelöscht, um meine Spuren vor dem Auftauchen des Sicher- heits-Teams am nächsten Morgen zu verbergen. Ich hatte effektiv die Rechte eines System-Ma- nagers von Prestel. Mir gelang sogar der Zugriff auf die Mailbox von Prinz Philip und es war mir auch möglich sie zu öffnen.“

www.tnmoc.org

5 A aus nur 2 mm hohem Power-Modul

Mit den Abmessungen von 10 x 6 x 2 mm ist das Gehäuse von Micro- chips neuem Schaltregler MIC45404 besonders platzsparend. Es bietet eine „point-of-load“-Wandlung für Anwendungen in der Telekommuni- kation, der Industrie und SSDs. Das thermisch optimierte Gehäuse enthält einen Controller, MOS- FETs, Feedback und einen PWM-Schaltregler. In diesem Modul ist eine besonders dünne Spule sowie Bootstrap- plus HF-Eingangs-Kondensa- tor auf einem thermisch optimierten Träger montiert. Dadurch wer-

den störende EMI und externe Bauteile vermieden, was das Layout der Platine erleichtert. Mit dem Evaluations-Kit MIC45404YMP-EV kann ein DC/ DC-Konverter realisiert werden.

www.microchip.com/EUMIC45404

realisiert werden. www.microchip.com/EUMIC45404 Dreikanal PMIC für Low-Power-FPGAs und -SoCs Beim XR77103

Dreikanal PMIC für Low-Power-FPGAs und -SoCs

Beim XR77103 handelt es sich um ein universelles PMIC (Power Management IC) mit drei integrierten synchro- nen MOSFET-Leistungsstufen. Trotz des nur 4 x 4 mm großen ICs stellt es eine einfach anzuwendende Power-Management-Lösung für viele FPGAs, SoCs, DSPs und Video-Pro- zessoren dar. Das PMIC XR77103 verfügt über ein I 2 C-Interface zur Steu- erung der Ausgangsspannung (0,8 bis 6 V), der Schaltfrequenz (0,3 bis 2,2 MHz), des Power-Se- quencing und der Strombegren- zung. Es unterstützt eine neue Ver-

und der Strombegren- zung. Es unterstützt eine neue Ver- ADVERTORIAL sion der Design- und Konfigurations-Software

ADVERTORIAL

sion der Design- und Konfigurations-Software PowerArchitect 4. Das XR77103 arbeitet mit Versorgungsspannungen von 4,5 bis 14 V. Alle drei Ausgänge sind für einen Laststrom von 2 A mit Spitzenwer- ten bis zu 3 A ausgelegt. Da der Chip über eine Strom-Steuerungs- architektur verfügt, können mehrere davon einfach parallel für Aus- gangsströme bis 5 A geschaltet werden, wodurch man damit Low-Po- wer-Prozessoren versorgen kann. Ein schaltbarer PSM (Pulse Skipping Mode) ermöglicht einen erhöhten Wirkungsgrad bei geringer Last, was für effektives Standby-Management und eine möglichst große Batte- rielaufzeit unerlässlich ist. Die Typen XR77103ELB, XR77103ELB-A0R5 und XR77103ELB-A1R0 sind im platzsparenden 4x4-QFN-Gehäuse (RoHS compliant und Halogen-frei) erhältlich.

www.exar.com/products/power-management/universal-pmics

www.elektormagazine.de

Juli/August 2016

41

ElektorBusiness Report

Futuristisch-

fantastische Akkus

Geladen in Sekunden – Energie für Monate

Aus allen Universitäten drängen sie und aus allen Forschungseinrichtungen kommen sie: neuartige Akkukonzepte. Technologiefirmen und Autohersteller pumpen aktuell sehr viel Geld in die Entwicklung neuer Akkutypen. Dennoch steckt leider noch nichts „Neues“ in unseren Mobilgeräten und die Welt wartet noch immer auf den großen Wurf zum Ersatz bekannter Lithium-Technik.

Zusammenstellung von Jan Buiting

Trotz all der Unsicherheiten: Der Wun- derakku der Zukunft könnte schnel- ler kommen, als man vermuten würde. Viele der in diesem Artikel vorgestellten Technologien hätten das Zeug dazu, und

außerdem blüht uns sicher auch noch die eine oder andere Überraschung. Daher immer schön das MIT und die Fraunho- fer Gesellschaft im Auge behalten! Zwar haben einige der hier beschriebenen Kon-

zepte durchaus etwas (Science-)Fiktiona- les, doch wurden manche davon schon in Beiträgen von Elektors wöchentlichem E-Zine vorgestellt.

Bild 1. Bioo: Strom aus Fotosynthese. Oberöko: „Bioo“ – Akkulader rein pflanzlich Bioo existiert tatsächlich

Bild 1. Bioo: Strom aus Fotosynthese.

Oberöko: „Bioo“ – Akkulader rein pflanzlich

Bioo existiert tatsächlich und kann sogar schon gekauft werden [1]. Im Prinzip ist das ein Blumentopf, der Tablets oder Smartphones per Fotosynthese laden kann (siehe Bild 1). Bioo kann im Laufe eines Tages bis zu drei Ladungen produzieren und liefert 3,5 V bei 0,5 A durch einen als Stein getarnten USB-Lader.

Der Topf nutzt organisches Material der Fotosynthese betreibenden Pflanze, das mit Wasser reagiert. Utopische Pläne gehen sogar soweit, dass Bioo-Wälder ganze Städte zu 100% mit grüner Energie beliefern und so den besten Grund darstellen, Pflanzen und Wälder zu schützen.

Goldig: Nanowire-Akkus

Entwickelt von der University of California @ Irvine können Nanowire-Akkus extrem viele Ladezyklen überstehen. Eigentlich wurde hier der „ewige Akku“ entwickelt.

Tausendmal dünner als ein menschliches Haar haben diese Nanodrähte wohl ein großes Potential für die Akkus der Zukunft. Ein Problem war, dass sie beim Entladen kaputtgehen, doch Drähtchen aus Gold in einem gelförmigen Elektrolyten verhindern das jetzt. Prototypen wurden in drei Monaten schon über 200.000 Mal geladen und zeigten auch dann noch keine Erschöpfung. Das sieht nicht nur perfekt für Elektroautos aus, sondern auch Smartphones brauchen damit nie mehr wieder neue Akkus.

Leicht: Brennstoffzellen für Handys & Drohnen Leichtgewichte von Brennstoffzellen könnten dazu führen, dass man

Leicht: Brennstoffzellen für Handys & Drohnen

Leichtgewichte von Brennstoffzellen könnten dazu führen, dass man sein Smartphone nur noch einmal pro Woche „betanken“ muss. Drohnen würden damit über eine Stunde in der Luft bleiben (siehe Bild 2). Poröser, rostfreier Stahl mit Dünnfilm- Elektrolyt und Elektroden mit kleiner Wärmekapazität sind die Zutaten. Das Ergebnis ist ein Akku-Ersatz, der länger hält als alles aus Lithium. Demnächst wird es neue Modelle für Smartphones, Drohnen und vielleicht sogar Elektroautos geben, und dank der Forschungsanstrengungen in Südkorea werden wir diese Technik demnächst wohl in einem Samsung Galaxy S8 entdecken.

diese Technik demnächst wohl in einem Samsung Galaxy S8 entdecken. Bild 2. Drohne mit Brennstoffzellen-Versorgung (BBC).

Bild 2. Drohne mit Brennstoffzellen-Versorgung (BBC).

Lasergefertigt: Mikrosupercaps

Lasergefertigt: Mikrosupercaps Aus der Rice University kommt eine Meldung über einen Durchbruch in Sachen sehr kleine

Aus der Rice University kommt eine Meldung über einen Durchbruch in Sachen sehr kleine Superkondensatoren (siehe Bild 3). Momentan ist die Herstellung noch sehr teuer, doch das könnte sich blitzartig ändern. Werden bei den Mikrosupercaps Elektrodenmuster per Laser in die Kunststofffolien gebrannt, senkt das die Fertigungskosten und den Aufwand massiv. Das Ergebnis ist ein Energiespeicher, der 50 Mal schneller als aktuelle Akkus geladen werden kann und eine geringere Selbstentladung als moderne Supercaps hat. Außerdem:

Selbst nach über 10.000 Biegungen funktionieren die Prototypen noch.

Bild 3. Mikrosupercap (Rice University).

Pöros: Schaum-Akku

Mit 3D-Strukturen im Sinn hat die Firma Prieto einen funktionsfähigen Akku auf der Basis von Kupferschaum entwickelt (siehe Bild 5). Diese Akkus sind dank nicht entzündlichem Elektrolyt nicht nur sicher, sondern leben länger und lassen sich schneller laden. Weitere Vorteile sind die fünffache Energiedichte, geringe

Fertigungskosten und letztlich kleinere Abmessungen als konventionelle Produkte. Daher sollen die Prieto-Akkus zunächst sogar in Wearables eingesetzt werden. Sie sind auch für Smartphones und möglicherweise sogar für Elektroautos hochskalierbar.

und möglicherweise sogar für Elektroautos hochskalierbar. Bild 5. Kupferschaumsubstrat bei Akkus von Prieto (Prieto).

Bild 5. Kupferschaumsubstrat bei Akkus von Prieto (Prieto).

Bild 6. Nichts schwappt, nichts fließt: Festkörper-Akkus sind sehr haltbar (MIT). Die Härte: Festkörper-Akkus Forscher

Bild 6. Nichts schwappt, nichts fließt:

Festkörper-Akkus sind sehr haltbar (MIT).

Die Härte: Festkörper-Akkus

Forscher des MIT und von Samsung MIT haben Festkörper-Akkus entwickelt, die LiIon- Typen schlagen. Diese Akkus (siehe Bild 6) sollen sicherer sein, länger leben und mehr Leistung bieten. Konventionelle Lithium-Akkus basieren auf dem Ionentransport durch einen flüssigen Elektrolyten. Letzteres macht den Akku nicht nur entflammbar, sondern sorgt auch für die Kapazitätsabnahme und so für eine begrenzte Lebensdauer.

Laut MIT halten die neuen Akkus hunderttausende Ladezyklen durch, bevor

die Kapazität merklich abnimmt. Außerdem haben sie eine 20

Leistungsdichte und sind aufgrund ihrer Sicherheit sehr gut für Elektroautos geeignet.

30

% höhere

Eieiei: Nano-Eier mit dreifacher Kapazität

Ebenfalls aus dem MIT stammt die Meldung über einen Akku, der bei dreifacher Kapazität schon in sechs Minuten voll geladen ist – was etwa der durchschnittlichen Aufmerksamkeitsspanne eines Teenagers entspricht. Außerdem altert so ein Akku nicht so schnell, was ihn recht stabil macht.Besonders interessant sind die niedrigen Herstellungskosten und die einfache Skalierbarkeit. Bild 7 zeigt das Prinzip. Alles klar?

Bild 7. Nano-Eier-Akku (MIT).

Herstellungskosten und die einfache Skalierbarkeit. Bild 7 zeigt das Prinzip. Alles klar? Bild 7. Nano-Eier-Akku (MIT).

ElektorBusiness Report

Schneller: Aluminium-Graphit Vermutlich in Konkurrenz zum MIT haben die Wissenschaftler der Stanford University einen

Schneller: Aluminium-Graphit

Vermutlich in Konkurrenz zum MIT haben die Wissenschaftler der Stanford University einen Aluminium-Graphit-Akku entwickelt, mit dem man ein Smartphone in nur einer einzigen Minute laden könnte (siehe Bild 8). Dieser Akku lädt nicht nur unglaublich schnell, sondern ist auch flexibel und langlebig. Ein bisschen störend ist, dass seine Energiedichte nur etwa halb so groß wie bei einem Lithium-Akku ist. Man kann nicht alles haben: Dafür ist er wirklich extrem fix geladen.

Bild