31.12.2013 Aufrufe

USB Firmware für Mikrocontroller aus Fujitsus FM3-Plattform erstellen

USB Firmware für Mikrocontroller aus Fujitsus FM3-Plattform erstellen

USB Firmware für Mikrocontroller aus Fujitsus FM3-Plattform erstellen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

HF-DESIGN: Baugruppen <strong>für</strong><br />

LTE-fähige Smartphones –<br />

entwickelt mit AWR-Software<br />

2013<br />

Praxiswissen<br />

<strong>für</strong> den<br />

professionellen<br />

Entwickler<br />

L<br />

ELEKTRONIK INFORMATIONEN<br />

Titelbild: Fujitsu Semiconductor Europe<br />

Entwicklungskits – was ist<br />

ihre zukünftige Rolle im<br />

EMBEDDED ENGINEERING?<br />

ENTWICKLUNGSTOOLS 16<br />

▲<br />

Wizard vereinfacht den<br />

<strong>USB</strong>-Einstieg mit <strong>Fujitsus</strong><br />

<strong>FM3</strong>-<strong>Mikrocontroller</strong><br />

MEDIZINELEKTRONIK 42<br />

Wie fortschrittliche Point-of-<br />

Load-Regler die medizinische<br />

Bildgebung verbessern<br />

SCHALTUNGSSCHUTZ 46<br />

Wirksame ESD-Maßnahmen<br />

bei hochentwickelten<br />

CMOS-Fertigungsprozessen<br />

45. Jahrgang | € 12,-<br />

www.EL-info.de


SPEZIAL: EMBEDDED ENGINEERING<br />

Tools<br />

<strong>USB</strong> FIRMWARE FÜR MIKROCONTROLLER AUS FUJITSUS <strong>FM3</strong>-PLATTFORM ERSTELLEN<br />

K(l)eine Hexerei<br />

Von der einfachen Peripherieanbindung via <strong>USB</strong>, wie sie in der PC-Technik gang<br />

und gäbe ist, können auch Embedded-Anwendungen profitieren. Der „<strong>USB</strong> Wizard“<br />

ist ein zentraler Teil von <strong>Fujitsus</strong> „FMconnect“-Lösung <strong>für</strong> Embedded-<strong>USB</strong>. Er soll<br />

dem Benutzer mit wenigen Klicks zu einer lauffähigen <strong>Firmware</strong> verhelfen.<br />

WOLF FRONAUER<br />

MANUEL SCHREINER<br />

Der Universal Serial Bus (<strong>USB</strong>) stellt<br />

in Embedded-Systemen einen<br />

p<strong>aus</strong>chalen Anschluss zum Computer<br />

her (Embedded-System als <strong>USB</strong><br />

Device), sorgt aber auch <strong>für</strong> den Zugang<br />

zu externer Peripherie (Embedded-System<br />

als <strong>USB</strong> Host). <strong>USB</strong> ersetzt hierbei schon<br />

seit längerer Zeit die serielle oder parallele<br />

Schnittstelle. <strong>USB</strong> standardisiert nicht nur<br />

Steckverbinder, Kabel und Datenkommunikation,<br />

sondern Geräteklassifizierungen<br />

<br />

KONTAKT<br />

Fujitsu Semiconductor Europe GmbH,<br />

63225 Langen,<br />

Tel. 06103 690-0,<br />

Fax 06103 690-122,<br />

E-Mail usb.fseu@de.fujitsu.com,<br />

http://fujitsu-fm-family.com<br />

Embedded World: 1-306<br />

beschreiben gewisse Gerätetypen inklusive<br />

Protokoll, sodass in vielen Fällen eine<br />

Treiberinstallation entfällt. Beispiele <strong>für</strong><br />

treiberlose Geräte sind Tastaturen, Mäuse<br />

und <strong>USB</strong>-Festplatten. Auch in Embedded-<br />

Systeme lässt sich <strong>USB</strong>-Peripherie einfach<br />

einbinden.<br />

Historisch gewachsen sind in Embedded-Systemen<br />

die so genannten <strong>USB</strong>-<br />

Brücken, die einen <strong>USB</strong>-Anschluss und<br />

beispielsweise eine serielle Schnittstelle<br />

zur Kommunikation mit dem Embedded-<br />

System besitzen. Ein virtueller Com Port<br />

machte die beliebte serielle Schnittstelle<br />

über <strong>USB</strong> wieder verfügbar. Jedoch kann<br />

16 EL-info Elektronik Informationen 2 | 2013


Tools<br />

SPEZIAL: EMBEDDED ENGINEERING<br />

<strong>USB</strong> um einiges mehr leisten, und mit<br />

dem Einzug von <strong>USB</strong> in den <strong>Mikrocontroller</strong><br />

ergeben sich neue Möglichkeiten.<br />

Für industrielle Embedded-Applikationen<br />

bietet Fujitsu ARM-Cortex-M3-<strong>Mikrocontroller</strong><br />

(„<strong>FM3</strong>“) mit <strong>USB</strong>-Option an.<br />

Diese unterstützen immer <strong>USB</strong>-Funktion<br />

und Host, und es sind bis zu zwei solcher<br />

Schnittstellen an Bord. Zum einen bietet<br />

der Core einen universellen Einstieg in die<br />

ARM-Cortex-M-Serien, zum anderen kann<br />

der Entwickler auf die Technologie von<br />

Fujitsu zugreifen: So bietet Fujitsu einen<br />

schnellen und zuverlässigen Flash, der<br />

bei 72 MHz ohne Waitcycles <strong>aus</strong>kommt<br />

und dank eines Tracebuffers selbst bei<br />

144 MHz MCU-Takt keine Waitcycles benötigt.<br />

Des Weiteren unterstützt die <strong>FM3</strong>-<br />

Serie Flash Security, Clock Supervisor<br />

und Low-Voltage Detection. Neben <strong>USB</strong><br />

besitzen die <strong>FM3</strong>-Derivate der High-Performance-Gruppe<br />

bis zu acht multifuktionale<br />

serielle Schnittstellen, die als UART,<br />

SPI oder I 2 C konfiguriert werden können.<br />

Hinzu kommen bis zu zwei CAN- und zwei<br />

Ethernet-Schnittstellen. Multifunctional<br />

Timer <strong>für</strong> Inverter Motor Control sowie bis<br />

zu drei unabhängige 12-Bit-A/D-Wandler<br />

gehören zur serienmäßigen Ausstattung.<br />

Der leichte <strong>USB</strong>-Einstieg<br />

Zusätzlich zu <strong>USB</strong>-Hardware und -Stack<br />

verhilft <strong>Fujitsus</strong> <strong>USB</strong> Wizard mit nur wenigen<br />

Klicks zur eigenen <strong>USB</strong>-Applikation<br />

(„<strong>USB</strong> Click & Go“, Bild 1). Zunächst werden<br />

Hardware-spezifische Einstellungen<br />

vorgenommen, wie der genaue Typ des<br />

<strong>Mikrocontroller</strong>s oder Evaluierungsboards,<br />

und man bestimmt, ob <strong>USB</strong>-Host oder/<br />

und -Device genutzt werden sollen. Neben<br />

diesen Hardware-Vorgaben können<br />

auch diverse Softwarepakete <strong>aus</strong>gewählt<br />

werden wie Evaluation Board Support <strong>für</strong><br />

LEDs, Taster, Kommunikation, Low-Level<br />

Library und Filesystem-Nutzung.<br />

Wurde die <strong>USB</strong>-Device-Nutzung mit<br />

<strong>aus</strong>gewählt, lassen sich in den nächsten<br />

Schritten Device-spezifische Einstellungen<br />

vornehmen. Zunächst kann die Art des<br />

<strong>USB</strong>-Devices bestimmt werden: Virtual<br />

Com Port, Lib<strong>USB</strong>-Kommunikation, HID-<br />

Kommunikation, <strong>USB</strong> Mouse oder <strong>USB</strong><br />

Joystick. Das <strong>USB</strong> Device kann dann noch<br />

genauer durch Teile des Device Descriptors<br />

und Configuration Descriptors konfiguriert<br />

werden. Die vorgegebenen Werte funktionieren<br />

auf Anhieb, sind aber zum Zweck<br />

der Kompatibilität anpassbar. Wurde <strong>USB</strong>-<br />

Host-Nutzung <strong>aus</strong>gewählt, sind Treiber an-<br />

1<br />

VORGEHENSWEISE<br />

Bild 1. Einfacher Einstieg in die <strong>USB</strong>-<strong>Firmware</strong>-Erstellung mittels <strong>USB</strong> Click & Go<br />

und abwählbar, die das Embedded-System<br />

als Host unterstützen sollen. <strong>Fujitsus</strong> Embedded<br />

<strong>USB</strong> Host unter stützt folgende<br />

Geräte: Mouse, Tastatur, HID-Datenkommunikation<br />

und Mass Storage (mit Filesystem).<br />

Zuletzt kann der Speicherort und der<br />

Name des Projekts vergeben werden.<br />

Das Ausgabeformat ist ein kompletter<br />

C-Sourcecode, der als Projekt direkt<br />

mit der „IAR Workbench“ oder mit „Keil<br />

μVision“ zu öffnen ist und so direkt als<br />

Binary umgesetzt werden kann. Generell<br />

2<br />

kann der Quellcode auch mit jeder anderen<br />

IDE genutzt werden oder mit jedem<br />

anderen C-Compiler, der die <strong>FM3</strong>-Serie<br />

unterstützt. Neben dem Source-Code liegt<br />

dem Ausgabeformat – wenn benötigt –<br />

zusätzliche Treibersoftware, <strong>Fujitsus</strong> <strong>USB</strong>-<br />

Bibliothek und PC-Software bei, mit der<br />

man das Embedded Device direkt ansteuern<br />

kann. Eine tiefere Dokumentation ist<br />

mit dem <strong>USB</strong> Wizard direkt abrufbar und<br />

kann einfach und übersichtlich in Form<br />

von Application Notes bezogen werden.<br />

Bild 2. Im Beispiel wird die <strong>USB</strong>-Device-Unterstützung <strong>aus</strong>- und die Host- sowie Filesystem-Unterstützung<br />

abgewählt<br />

EL-info Elektronik Informationen 2 | 2013 17


<strong>USB</strong>-Code in nur 30 Minuten!<br />

<strong>USB</strong>-Wizard<br />

<strong>USB</strong>-Library frei verfügbar<br />

Low-Cost Starterkit<br />

<strong>USB</strong>-Wizard + Software Library<br />

Die <strong>USB</strong>-Funktionalität ist bei FUJITSU´s Cortex-M3 Serie gratis dabei.<br />

<strong>FM3</strong>connect verknüpft <strong>USB</strong>-, Ethernet- und CAN-Kommunikation mit intelligenten<br />

Hard- und Software-Tools:<br />

► <strong>USB</strong>-Wizard (GUI) lauffähiger <strong>USB</strong>-Code in nur 30 Minuten<br />

► Umfangreiche <strong>USB</strong>-Library frei verfügbar<br />

► Low-Cost Starterkit <strong>für</strong> den schnellen Einstieg<br />

In unseren Workshops lernen Sie, wie leicht Sie <strong>FM3</strong>connect in Ihre Applikationen<br />

integrieren.<br />

Hier klicken und anmelden:<br />

www.glyn.de/academy


SPEZIAL: EMBEDDED ENGINEERING<br />

Tools<br />

3<br />

Peripherie wie Taster und LEDs. Wird<br />

ein Mikro controller mit einem verfügbaren<br />

Evaluation Board <strong>aus</strong>gewählt,<br />

so ordnet der Wizard automatisch das<br />

richtige Board zu. Neben der externen<br />

Peripherie kann auch die Fujitsu-eigene<br />

Low-Level-Bibliothek eingebunden werden,<br />

um die interne Peripherie einfacher<br />

anzusteuern. Im Beispiel des Virtuellen<br />

Com Ports wird nur <strong>USB</strong>-Device-Unterstützung<br />

<strong>aus</strong>- und die <strong>USB</strong>-Host-Unterstützung<br />

sowie der Filesystem-Support<br />

abgewählt (Bild 2).<br />

<br />

FAZIT<br />

Bild 3. Vendor- und Produkt-ID eingeben und Vorgaben zum Strombedarf definieren<br />

<strong>USB</strong> Wizard in der Anwendung<br />

Das Beispiel des Virtuellen Com Ports soll<br />

die Funktionsweise des <strong>USB</strong> Wizard in<br />

wenigen Schritten verdeutlichen:<br />

<br />

WISSENSWERT<br />

4<br />

Bild 4.<br />

Übersicht<br />

der möglichen<br />

Aktionen,<br />

nachdem<br />

das Projekt<br />

erstellt ist<br />

<br />

Auswahl der Hardware-<strong>Plattform</strong><br />

Die Hardware ist die Grundlage <strong>für</strong> die<br />

erste eigene <strong>USB</strong>-Anwendung. Zu dieser<br />

Grundlage gehört der genaue Typ<br />

des <strong>Mikrocontroller</strong>s, aber auch externe<br />

Mehr Support <strong>für</strong> die FM-Familie. FMconnect <strong>USB</strong> ist nur eines von <strong>Fujitsus</strong><br />

Angeboten rund um die <strong>FM3</strong>-<strong>Mikrocontroller</strong>. Weitere Lösungen <strong>für</strong> diese<br />

B<strong>aus</strong>tein familie sind:<br />

„FMconnect Ethernet“, denn die <strong>FM3</strong> Familie bietet bis zu zwei unabhängige<br />

Ethernet-Schnittstellen pro MCU an,<br />

„FMinverter“ <strong>für</strong> Motoranwendungen vom Kompressorantrieb bis zum<br />

Industrie servomotor,<br />

„FMtouch“ ermöglicht die kapazitive Touch-Eingabe mit allen <strong>FM3</strong>-<strong>Mikrocontroller</strong>n.<br />

Die von Fujitsu bereits angekündigten Familien „FM4“ mit Cortex-M4-Kern und<br />

„FM0+“ mit Cortex-M0+-Kern werden dank ihrer Kompatibilität zu <strong>FM3</strong> nicht<br />

nur dazu beitragen, eine große skalierbare Cortex-M-<strong>Plattform</strong> mit über 700 ver -<br />

schiedenen Derivaten zu formen, sondern auch die Unterstützung durch die<br />

schon vorhandenen Lösungen ist sichergestellt.<br />

<strong>USB</strong> Click & Go. Die ARM-Cortex-<br />

M3-<strong>Mikrocontroller</strong> der <strong>FM3</strong>-Familie<br />

stellen den Entwicklern industrieller<br />

Embedded-Anwendungen eine<br />

<strong>USB</strong>-Option mit jeweils zwei<br />

dieser Schnittstellen zur Verfügung.<br />

Neben Hardware und Stack bietet<br />

Fujitsu einen Wizard <strong>für</strong> den Schnell -<br />

einstieg an, der mit nur wenigen<br />

Klicks zum fertigen <strong>USB</strong>-Projekt<br />

führt.<br />

Auswahl der<br />

<strong>USB</strong>-Device-Anwendung<br />

Normalerweise muss der Entwickler das<br />

<strong>USB</strong> Device mit den so genannten <strong>USB</strong>-<br />

Deskriptoren beschreiben und ein <strong>USB</strong>-<br />

Klassenprotokoll aufsetzen. Für den Virtuellen<br />

Com Port existiert im <strong>USB</strong> Wizard<br />

bereits eine Vorlage, die Deskriptoren<br />

schon vorkonfiguriert und das Klassen-<br />

Kommunikationsprotokoll beinhaltet.<br />

Feinabstimmung<br />

der <strong>USB</strong>-Deskriptoren<br />

Falls dem Entwickler eigene Vendor-ID<br />

und Produkt-ID vorliegen, können diese<br />

nun eingetragen werden (Bild 3). Sollte<br />

dies nicht der Fall sein, so sind <strong>für</strong> das<br />

konkrete Beispiel schon Vendor- und Produkt-ID<br />

von Fujitsu <strong>aus</strong>gewählt. Für kleine<br />

Serien von bis zu 5000 Stück können bis<br />

zu vier Produkt-IDs unter der Vendor-ID<br />

von Fujitsu bezogen werden. Andernfalls<br />

kann beim <strong>USB</strong> Implementers Forum<br />

unter www.usb.org auch eine Vendor-ID<br />

bezogen werden, unter der man 64.000<br />

Produkt-IDs nutzen kann. Neben Vendorund<br />

Produkt-ID können nun noch Einstellungen<br />

zur Stromaufnahme vorgenommen<br />

werden, die der Computer vor allem<br />

dann benötigt, wenn das Embedded-<br />

Gerät über den Bus mit Strom versorgt<br />

werden soll.<br />

18 EL-info Elektronik Informationen 2 | 2013


Tools<br />

SPEZIAL: EMBEDDED ENGINEERING<br />

Projektnamen und<br />

Speicherort festlegen<br />

Nun können Projektname und Speicherort<br />

angegeben werden. Der Wizard erstellt im<br />

Anschluss daran ein vollständiges Projekt<br />

und benennt dieses anhand der eingestellten<br />

Parameter. Für die IAR Workbench<br />

und Keil μVision erzeugt er Projekte, die<br />

komplett alle Linker- und Compiler-Einstellungen<br />

beinhalten. Generell ist der<br />

erzeugte C-Sourcecode auch mit jedem<br />

anderen Compiler zu verwenden; jedoch<br />

müssen die Compiler- und Linker-<br />

Einstellungen dann von Hand vorgenommen<br />

werden.<br />

Nachdem alle Dateien erzeugt sind,<br />

können nun verschiedene Aktionen <strong>aus</strong>gelöst<br />

werden (Bild 4): die Readme-Datei<br />

lesen, die <strong>USB</strong>-Dokumentation öffnen,<br />

das erzeugte Projekt im Explorer anzeigen,<br />

das Projekt mit der IAR Workbench<br />

oder in Keil μVision öffnen oder Treiber<br />

<strong>für</strong> den Virtuellen Com Port automatisch<br />

installieren.<br />

(ml)<br />

www.EL-info.de 762001<br />

<br />

DIE AUTOREN<br />

WOLF FRONAUER<br />

ist Manager Embedded<br />

Marketing and Application<br />

bei FSEU.<br />

MANUEL SCHREINER<br />

ist dort als Application<br />

Engineer tätig.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!