Flash-Bootloader für embedded Devices mit STM32F4 Derivaten

Die Forderung, auch Kundenspezifische Firmware auf embedded Systemen schnell und einfach Updaten zu können macht es heutzutage fast unumgänglich solche Systeme mit einem Flash Bootloader auszustatten, der auch vom Endkunden bedient werden kann. Firmware Updates können dann per Download oder per Email an die Endkunden verteilt werden. Diese können dann ihre Systeme selbst updaten ohne komplizierte Software oder JTAG Interfaces benutzen zu müssen.

Wir haben unser Softwareportfolio daher um einen Flash Bootloader für den STM32F4 Controller von ST Microelectronics erweitert. Unser Bootloader kann individuell an die Anforderungen der Applikation angepasst werden. z.B:

  • Update über verschiedene Schnittstellen (RS232, X-/Y-Modem, USB, Ethernet,…)
  • Update über USB Host Interface und USB Stick
  • Startverhalten, User Interaktion usw.

Außerdem kann unser Bootloader während der Produktion verwendet werden um Produktionsdaten in den Flash Speicher des Controllers zu programmieren z.B.:

  • Initialisierungsdaten
  • Betriebsdaten
  • Produktionsdaten, Seriennummern,…

data-generator

Solche Daten erzeugen wir mit Hilfe von eigenen PC-Tools als binäre Datei die vom Bootloader verarbeitet werden kann. Gerne erstellen wir ihnen ein Kundenspezifisches PC-Tool, falls Sie unseren Bootloader verwenden wollen um Produktions-/Betriebsparameter zu programmieren.

Unser Bootloader ist besonders sicher, da er nicht Teil der Applikation ist sondern in einem separaten Speicherbereich des Controllers untergebracht wird. Dieser Speicherbereich wird gegen Schreibzugriffe geschützt. So stellen wir sicher, dass auch bei einer Unterbrechung des Update Vorgangs (z.B. durch Stromausfall) das System nicht unbrauchbar wird und der Update Vorgang einfach erneut gestartet werden kann.

Kernfunktionen unseres STM32F4 Bootloaders:

  • Umfangreiche Überprüfung der geflashten Applikation vor deren Start zb. Durch CRC, Magic Number,…
  • Beliebige Einteilung des Flash Speichers für Applikation, Daten, Produktionskennzahlen usw.
  • Bootkonfiguration kann per Config File eingestellt werden. Das Config File wird zuerst an den Bootloader übergeben. Damit kann dem Bootloader mitgeteilt werden welche Datei an welche Speicheradressen geflasht werden soll.

Applikationsfirmware die mit einem Bootloader zusammen im Flash Speicher stehen soll ist oft nicht mehr ohne Änderungen lauffähig. Die Standart-Einstellungen von Compilern und Linkern gehen i.d.R. davon aus das Firmware am Restart- Vector des Controllers beginnt. Bei Einsatz eines Bootloaders muss die Applikation daher im Speicher verschoben werden.

Wir unterstützen Sie gerne bei der Portierung ihrer bestehenden Applikation auf unseren Bootloader. Wir passen Ihre Entwicklungsumgebung so an, dass Ihre Applikation mit Bootloader lauffähig ist.

  • Verschieben von Interrupt-Vectoren
  • Anpassen der Linker Einstellungen
  • usw.

01.04.2016 Produktentwicklung von smart-devices, ein Überblick

Als branchenübergreifender Dienstleistungsentwickler verfügen wir über ein unglaublich breites Spektrum von branchenspezifischen Spezialkenntnissen. Unser neuestes Geschäftsfeld, in dem wir seit nunmehr 15 Monaten mit hoher Intensität arbeiten, ist die hochminiaturisierte Mikroelektronik von IoT-smart-Produkten.

Aus diesem Anlass werden wir in mehreren Beiträgen in den kommenden Monaten das Thema Internet of Things und dabei speziell sogenannte smart-devices with wearable technology, aus dem Blickwinkel des Entwicklungsdienstleisters hinterleuchten.
…..

BLDC-FOC-Motorsteuerung auf Basis des TMS320F28069M und InstaSPIN

04.04.2015, Filderstadt

Die Glück-Engineering GmbH entwickelte eine BLDC-Motorsteuerung mit sensorloser feldorientierter-Regelung auf Basis des TMS320F28069M und InstaSPIN-FOC – einem Microcontroller der Piccolo Familie – von Texas Instruments.

Aufgrund unserer geografischen Lage im Großraum Stuttgart, hat die Glück-Engineering GmbH als Entwicklungsdienstleister, seit jeher einen Schwerpunkt in der automotive Branche. So beschäftigen sich viele unserer Entwicklungsprojekte, aus unserem automotive Kerngeschäft mit LED-Leuchten, Steuergeräten (ECUs), Energiespeichern (LiIonen-Akkus, EDLCs) mit den dazugehörigen BMS-Systemen, Bordnetzen, DC/DC-Wandlern und elektrischen Antrieben bzw. Motorsteuerungen.

In der Vergangenheit haben wir bereits verschiedene Antriebssteuerungen für. Schrittmotoren, Servomotoren, BLDCs und Synchronmaschinen entwickelt. Unter anderem wurde z.B. auch ein eBike angetrieben

Aktuell sollten wir für einen Industriekunden eine feldorientierte sensorlose Regelung für einen BLDC entwickeln und haben dafür erstmalig die InstaSPIN-Motorsteuerungslösungen von Texas Instruments eingesetzt.

Zur Evaluierung und Inbetriebnahme dieser innovativen Motorsteuerungstechnologie haben wir ein Evaluations Kit von TI verwendet. Unsere Ingenieure haben verschiedene Untersuchungen mit den Piccolo Mikrocontrollern F28069F und F28069M durchgeführt. In den Piccolos befindet sich ein ROM mit allen notwendigen Funktionen für eine leistungsfähige feldorientierte sensorlose Motorregelung (sensorless FOC).

Eines der SW-Module errechnet den magnetischen Fluss, Winkel, Drehzahl und Drehmoment. Durch die von TI bereitgestellte PC-Software (Motorware) waren wir in der Lage die Steuerung für unterschiedliche BLDC Motoren schnell einzulernen (teachen), zu konfigurieren, abzustimmen, in Betrieb zu nehmen und zu testen. Die Flexibilität der mitgelieferten Bibliotheken ermöglicht unterschiedliche Konfigurationen. So sind Drehmoment-, Drehzahl- oder Positionsregelungen möglich.

Wir haben eine benutzerdefinierte Firmware für den TMS320F28069F entwickelt, die neben der FOC-BLDC-Regelung und einigen kundenspezifischen Anforderungen, auch ein UART-USB-Protokoll zur Remote-Steuerung und zum Echtzeit-Monitoring enthält.

Motorware, InstaSPIN und Piccolo sind eingetragene Warenzeichen der Firma Texas Instruments..

Link von TI:
https://www.ti.com/ww/de/mcu/instaspin/instaspin-foc.shtml

HMI auf Basis von BeagleBone black und 7″ Touch TFT inkl. kundenspezifischem Cape

25.03.2015, Filderstadt

Im Rahmen einer aktuellen kundenspezifischen HMI-Entwicklung, hat die Glück-Engineering GmbH einen neuen inovativen Ansatz auf Basis eines BeagleBone black (BBB) inkl. 7″-LCD Cape und kundenspezifischem Cape gewählt.

Entwicklungen von kundenspezifischen Human-Machine-Interfaces (HMI) gehören seit jeher zum Kerngeschäft der Glück-Engineering GmbH. Viele Maschinensteuerungen (z.B. SPS) werden über standardisierte Touch-TFT-Systeme auf Basis von entweder proprietärer oder standardisierter Betriebssysteme wie Windows, Windows-Embedded-Compact, Android oder Linux bedient.
Trotzdem gibt es nach wie vor vielerlei Gründe für kundenspezifische Eingabesysteme. Für Anwendungen mit höherem Volumen, für spezielle Formfaktoren (kleines oder Designgehäuse), für kompakte integrierte Systeme – um nur einige Beispiele aufzuführen – werden von unseren Kunden regelmäßig kundenspezifische Lösungen notwendig. Von einfachsten LED- über Text-LCD- (z.B. Mit Kurzhub-Tastern) bis hin zu 10″-Touch-TFT-Lösungen findet sich im Entwicklungsportofolio von Glück-Engineering GmbH die ganze Palette kundenspezifischer HMIs.

In den meisten Anwendungen kamen bisher kundenspezifische Flachbaugruppen mit Mikrocontrollern (z.B. PIC, dsPIC, ARM, MSP430, etc..) und einer kundenspezifischen Firmware zum Einsatz. In deRegel führte der Mikrocontroller primär die Kernanwendung (z.B. Steuerung von Motoren, Ein und Ausgänge) aus und als Nebenfunktion  die HMI Anwendung inkl. Ansteuern der LCD samt Tasten. Der Nachteil dieses Ansatzes ist das die oft komplexe User Interaktion (mehrere Menüebenen, Grafik, Text, Ablauf) mit der Kernfunktion in einem uC abgespeichert und verarbeitet werden muß. Wiederverwendbarkeit von Code und Bibliotheken ist ebenfalls nicht immer gegeben.

Im Rahmen einer aktuellen HMI-Entwicklung, hat die Glück-Engineering GmbH einen neuen inovativen Ansatz gewählt. Wir verwendeten als Basis einen BeagleBone black (BBB) inkl. 7″-LCD Cape und kundenspezifischem Cape.
Das BeagleBone black ist ein preiswerter Einplatinen-Computer (ca. €40/Stk), der auf dem AM3558-SoC von Texas Instruments basiert. Es handelt sich dabei um OpenSource Hardware, wodurch es möglich ist das Board selbst herzustellen und g.g.f. zu modifizieren. Das BBB wird von verschiedenen Herstellern in Großserie, unter streng kontrolliertem Qualitätsprozess hergestellt, so dass dieses auch für Industrieapplikationen geeignet ist.
Mit Cape wird eine Flachbaugruppe bezeichnet welches auf die Erweiterungsleisten des BBB aufgesteckt werden kann. Mit den Capes können kundenspezifische Erweiterungen realisiert werden.

Im aktuellen Fall verwendeten wir zwei Capes. Ein 7″-Touch-TFT (resisitive) und ein kundenspezifisches Cape zur Erzeugung der Spannungsversorgung (48VDC Eingang), CAN-Interface sowie digitalen und analogen I/Os. Auf dem BBB läuft ein aktuelles Debian Linux OS (optional sind auch diverse andere Distributionen möglich: z.B. Angstrom, Ubuntu oder Android). In der erwähnten Anwendung ist das BBB-HMI ein eigenständiges Gerät, das aber über den CAN-Bus, Ethernet und USB noch mit anderen elektronischen Devices kommuniziert. Das Herzstück der Firmware ist ein von der Glück-Engineering GmbH entwickelter daemon der im Hintergrund die Kommunikation auf Basis von sockets steuert. Zusätzlich wurde in diesem Zusammenhang die Tool-Chain zur Entwicklung von GUIs unter Verwendung von GTK3 und Glade evaluiert sowie eine Bibliothek, eine Konfiguration und ein Image entwickelt.

Das erarbeitete Template steht uns für künftige Kundenapplikationen zur Verfügung und erhöht die Effizienz bei der Entwicklung komplexer HMI Entwicklungen mit GUI erheblich. Dank Glade und GTK3 können GUIs effizient graphisch auf dem PC erstellt und via Ethernet, socket und daemon schnell auf der Target-HW getestet werden, bevor diese dann auf dem Touch-TFT final ablaufen.

HV-DC-Capacitor-Box eine Messeinrichtung für automotive Bordnetze

Die Glück-Engineering GmbH stellt als neues Produkt, die HV-DC-Capacitor-Box, vor. Es handelt sich dabei um eine Meßeinrichtung zum Prüfen der Vorlade- und Entladevorrichtungen in Automobil-HV-Bordnetzen.

Funktionale Anforderung an ein Hochvoltsystem ist, dass es zuverlässig aktiviert wird und bei Gefahr sowie im normalen Abschaltvorgang auch wieder zuverlässig deaktiviert wird. Bei der Aktivierung wird über eine Vorladeschaltung der sog. Zwischenkreis des Fahrzeugs geladen. Hierbei handelt es sich um die Summe aller im Fahrzeug befindlichen X-Kapazitäten. Wird das Fahrzeug deaktiviert, müssen diese Kapazitäten in einer vorgeschriebenen Zeit wieder entladen werden. Die Entladezeit ist dabei vorge-schrieben, da im Fall einer Verunfallung des Fahrzeugs die Gefahr eines elektrischen Schlags verhindert werden soll. Für diese Entladung ist im Fahrzeug eine Entladevorrichtung vorgesehen. Um den Ladevorgang und den Entladevorgang bewerten und überprüfen zu können, müssen nun zusätzliche Kapazitäten in den Stromkreis eingebracht werden.
Speziell für die Überprüfung wurde ein Meßgerät entwickelt, welches die Überprüfung der Vorladung sowie die Überprüfung der Entladung sicherstellt. Speziell die Entladung ist per Gesetzteslage FMVSS305 (Crash USA) von Bedeutung. Die Kapazitäten, welche zur Überprüfung verwendet werden müssen, sind allerdings so groß, dass die darin gespeicherte Energie bei unsachgemäßer Handhabung gefährlich sein kann.

Um diese Gefährdung auf ein Minimum zu reduzieren wurden aktive Schutz-maßnahmen integriert.

Technische Daten:
• 3000uF-HV-DC-ZWISCHENKREISKONDENSATOR FÜR DEN LABOREINSATZ
• EINSATZBEREICH: 450VDC
• ISOLATIONSFESTIGKEIT (SCHALTER OFFEN): 2800VDC
• INTEGRIERTE LADE- UND ENTLADESCHALTUNG
• VERPOLSCHUTZ, ZUSCHALTVERHINDERUNG
• SPANNUNGSÜBERWACHUNG
• LCD ANZEIGE DER GEMESSENEN SPANNUNGEN
• VERSORGUNGSSPANNUNG 9-18VDC
• BATTERIE PUFFERUNG
• SCHUTZKLASSE II
• GRÖSSE 406mm X 330 X 174 mm
• KUNSTOFFGEHÄUSE (PP) MIT TRAGEGRIFF
• EINSATZ-TEMPERATURBEREICH  0…+60°C

Die Lieferzeit liegt bei ca. 4 Wochen.
Für weitere Informationen schreiben Sie uns eine email unter info-at-glueck-engineering.de oder rufen uns an.