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
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.