Der programmierbare Funk-Chip PRoC BLE von Cypress enthält einen ARM Cortex-M0 mit BLE und Cap-Sense, ideal für den Einsatz in intelligenten Funkfersteuerungen und IoT-Bedienpanels mit Touchfunktion.

Der programmierbare Funk-Chip PRoC BLE von Cypress enthält einen ARM Cortex-M0 mit BLE und Cap-Sense, ideal für den Einsatz in intelligenten Funkfersteuerungen und IoT-Bedienpanels mit Touchfunktion. Cypress

Einer der Vorteile von Bluetooth Low Energy ist die Interoperabilität von Produkten verschiedenster Hersteller aufgrund einer hohen Akzeptanz in der Industrie. Laut Bluetooth SIG werden bis 2018 etwa 90 % aller Smartphones BLE unterstützen. Auch bei anderen Geräten wie PCs und Smart-TVs ist die Verbreitung hoch. Hinzu kommt eine Nenn-Reichweite von 100 m und Datenübertragungsraten bis 1 Mbps. Nicht zuletzt spricht auch die äußerst niedrige Leistungsaufnahme im Maximum, im Durchschnitt sowie im Standby für die BLE-Technologie, sodass sich BLE-Slaves mit einer Knopfzelle mehrere Jahre lang betreiben lassen. Diese Vorteile machen BLE zur idealen Lösung für Wearables, Geräte im Internet der Dinge (IoT), drahtlose PC-Peripherie, Fernbedienungen und viele weitere Einsatzgebiete.

Eingaben erfassen, verarbeiten und übertragen

Die meisten BLE-Slaves erfassen eine Eingabe und übertragen diese Information per BLE zum Client, beispielsweise einem Smartphone. Somit lassen sich die Erfassung einer Eingabe, die Verarbeitung der Eingabe und die drahtlose Übertragung der verarbeiteten Eingabe nach dem BLE-Protokoll zum Client als die drei Grundfunktionen eines BLE-Slaves definieren.

Eckdaten

Für die Kommunikation mehrerer mobiler Geräte mit demselben Master ist BLE (Bluetooth Low Energy) im Kommen. Damit Entwickler derartiger Geräte die vielfältigen Herausforderungen meistern können, bietet Cypress eine Ein-Chip-Architektur, die sowohl die kapazitive Eingabe bei Touch-Geräten wie auch BLE unterstützt.

Bei der Erfassung einer Eingabe kann man zwei Gerätesegmente unterscheiden. Dies sind einerseits Geräte, die Eingangssignale selbstständig  über Sensoren aufnehmen, sogenannte SIDs (Sensor Input Devices) und andererseits Geräte, die eine Bedienereingabe erfassen, sogenannte HIDs (Human Input Devices). Ein Herzfrequenzmonitor erfasst beispielsweise die Herzfrequenz einer Person mithilfe eines Sensors, um die Information aufzubereiten und anschließend zum Client zu übertragen. In diesem Fall trägt der Anwender das Gerät am Körper und muss von Hand keine Eingaben machen. Im Falle einer drahtlosen Maus, die mit dem PC über Funk per BLE kommuniziert, macht der Benutzer die Eingaben, indem er zum Beispiel scrollt oder klickt. Wie wirkt sich nun dieser Unterschied auf die Konzeption des jeweiligen Gerätes aus?

Mikrocontroller und BLE-Stack wachsen zusammen

Die Eingaben des Bedieners können über Kombinationen aus Tasten, Schiebern oder Drehgebern erfolgen, entweder mechanisch oder über eine kapazitive Erkennung. Im ersten Fall lassen sich die Benutzer-Interaktionen mit den mechanischen Komponenten über Sensoren erkennen oder die mechanischen Komponenten sind direkt mit dem Controller verbunden. Ein Mikrocontroller (MCU) bereitet die Eingaben anschließend auf und sendet sie über den BLE-Stack zum Client. Auf dem Markt gibt es bereits zahlreiche Geräte, bei denen der BLE-Stack in einem Mikrocontroller integriert ist. Damit lassen sich Single-Chip-Geräte bauen, die ähnlich arbeiten wie Sensoreingabegeräte.

Zahlreiche Single-Chip-Lösungen haben den BLE-Stack und den Mikrocontroller integriert.

Zahlreiche Single-Chip-Lösungen haben den BLE-Stack und den Mikrocontroller integriert. Cypress

Der Einsatz mechanischer Komponenten ist jedoch mit Kompromissen bei der Zuverlässigkeit und der Ergonomie verbunden. Tasten verschleißen und können zum vorzeitigen Ausfall des Geräts führen. Wegen dieser Einschränkungen ersetzen viele Entwickler mechanische Benutzerschnittstellen durch Alternativen mit kapazitiver Erkennung.

Verschleißfreie, kapazitive Eingabeerkennung

Der Einsatz der kapazitiven Erkennung für die Benutzereingaben führt jedoch zu einer ganz neuen Herausforderung. In vielen Architekturen sind statt einem nun zwei Chips erforderlich – einer für die kapazitive Erkennung und ein weiterer für die Implementierung von BLE. Hierfür benötigt man eine größere Leiterplatte, die wiederum die Gesamtkosten der Herstellung in die Höhe treibt. Hinzu kommt das Problem des Leistungsmanagements, denn ein solches System würde zusätzliche Taktgeber benötigen, um die Standby-Zeit der beiden Chips zu koordinieren. In nahezu allen Fällen ist davon auszugehen, dass Produkte, die BLE nutzen (Fernbedienungen, Mäuse und ähnliche), mit Batterien arbeiten. Dabei ist die maximale Betriebsdauer mit einer Batterieladung entscheidend.

Es liegt daher nahe, die kapazitive Erkennung und BLE in einem Chip zu integrieren. Aber es gibt noch weitere Probleme, die die Entwickler lösen müssen. Eines ist die Beeinträchtigung des Fremdspannungsabstands (SNR) bei der Berührungserkennung durch gekrümmte oder dicke Overlays und durch Funkwellen. Der Fremdspannungsabstand definiert bei der Berührungserkennung die Fähigkeit eines Geräts, zwischen dem erwarteten Eingangssignal – in diesem Fall der Berührung des Bedieners – und der Störspannung zu unterscheiden. Eine Verschlechterung des Fremdspannungsabstands erhöht die Anzahl der Fälle, in denen das Gerät nicht genau zwischen einer tatsächlich erfolgten Berührung und der Störspannung unterscheiden kann, und dadurch eine Fehlerkennung verursacht.

Kapazitätsänderungen detektieren

Ein kapazitiver Sensor ist nichts anderes als ein leitendes Feld auf einer Leiterplatte. Zwischen dem Sensor und Masse gibt es eine Kapazität, die als parasitäre Kapazität (Cp) bekannt ist. Das Overlay liegt über dem Sensor, und wenn der Benutzer die kapazitive Taste berührt, berührt er tatsächlich nur die Oberfläche des Overlays, sodass zur Kapazität des Sensors die Fingerkapazität (Cf) hinzukommt. Die Sensorkapazität vor der Berührung entspricht also Cp, die sich bei der Berührung in Cp + Cf ändert. Die MCU fragt den Sensor periodisch ab, um diese Kapazitätsänderungen (von Cp nach Cp + Cf) zu erkennen. Die Periode, mit der diese Abfrage erfolgt, ist die sogenannte Abtastrate.

Die Formel für die Kapazität lautet C = ε · (A / d) mit C = Kapazität, ε= Dielektrizitätskonstante, A = Fläche und d = Elektrodenabstand. Im Fall von Cf ist d die Dicke des Overlays (beispielsweise Glasplatte). Wenn diese Dicke zunimmt, wird Cf kleiner.

Die MCU fragt den Sensor periodisch ab, um Kapazitätsänderungen zu detektieren.

Die MCU fragt den Sensor periodisch ab, um Kapazitätsänderungen zu detektieren. Cypress

Wenn die MCU die Kapazitätsänderung abfragt, muss sie entscheiden können, ob die Änderung durch eine tatsächliche Berührung oder durch ein Störsignal verursacht ist. Bei niedrigen Cf -Werten ist die Wahrscheinlichkeit hoch, dass viele Störsignale eine ähnliche Größenordnung wie die Spannungsänderung über Cf erreichen. Dadurch kann es für die MCU schwierig werden, zwischen dem tatsächlichen Eingabesignal und den Störungen zu unterscheiden. Bei einem gekrümmten Overlay, zum Beispiel bei einer berührungssensitiven Maus, wird Cf zwischen Sensor und Overlay durch den Luftspalt, der eine geringere Dielektrizitätskonstante aufweist, reduziert, was ebenfalls Fehlerkennungen verursacht.

Erhöhter Schaltungsaufwand

Bei BLE-Slaves kommt ein dritter Störfaktor hinzu, der die Genauigkeit der Berührungserkennung beeinträchtigt: Störungen durch das Bluetooth-Funksignal. Diese Probleme lassen sich mit einer Reihe von Maßnahmen beseitigen, jedoch führen viele der herkömmlichen Methoden zu einem Anstieg der Materialkosten (zum Beispiel durch zusätzlich benötigte Bauteile), längeren Entwicklungszeiten und höheren Entwicklungskosten. Außerdem können wegen dieser Probleme während des Entwicklungsprozesses mehrere Iterationsläufe erforderlich werden, was ebenfalls die Kosten erhöht und die Fertigstellung des Produkts verzögert.

Neben den genannten Hauptfaktoren sind die Entwickler bei BLE-Slaves mit weiteren Herausforderungen konfrontiert, die durch den BLE-Stack entstehen und bei Geräten mit und ohne Bedienerschnittstelle auftreten. So benötigt man zur Entwicklung, zum Programmieren und zum Testen einer BLE-Anwendung verschiedene Werkzeuge und die Entwickler brauchen ein umfassendes Verständnis der Spezifikation, um die Firmware zu entwickeln. Hinzu kommen regelmäßige Aktualisierungen der Spezifikation mit entsprechenden Änderungen, und nicht berücksichtigte Aktualisierungen führen dazu, dass das Gerät nicht mehr auf dem neuesten Stand ist und seine Interoperabilität beeinträchtigt wird. Um allerdings Aktualisierungen „on the air“ vorzunehmen, muss im Gerät zusätzlicher Speicher verfügbar sein. Fügt man externen Speicher hinzu, wird er gewöhnlich mit der MCU verbunden und der Zugriff erfolgt über die MCU. Das erhöht die Leistungsaufnahme und kann dazu führen, dass der Prozessor während der Verarbeitung von Updates blockiert ist.

Der BLE-Funkausgang erfordert auch einen zusätzlichen Balun-Übertrager (Balanced to Unbalanced) zur Anpassung der Ausgangsimpedanz an den Standardwert von 50 Ohm. Bei einigen MCUs beziehungsweise SoCs für BLE ist dieser bereits integriert. Ist der der Balun nicht integriert, muss man ihn mit externen Induktivitäten und Kondensatoren erstellen. Das kann bis zu neun externe Bauteile erfordern, wodurch die Abstimmung des Antennenanpassnetzwerks (AMN – Antenna Matching Network) sehr viel komplizierter wird.

Ein im Chip integrierter Balun-Übertrager spart bis zu neun externe Bauteile ein.

Ein im Chip integrierter Balun-Übertrager spart bis zu neun externe Bauteile ein. Cypress

Den richtigen Chip auswählen

Eine große Zahl der erwähnten Herausforderungen lässt sich bereits zu Beginn der Entwicklung durch die Wahl des richtigen Chips lösen. Bei der Auswahl sollte man das eigentliche Ziel im Auge behalten – eine einfache Entwicklung mit möglichst wenigen Bauteilen, die bei geringstmöglicher Leistungsaufnahme eine hohe Performance liefert. Hierfür bietet der Markt heute bereits eine große Auswahl an Optionen für Bluetooth-Chipsätze.

Wenn es jedoch darum geht, mit einer Ein-Chip-Architektur (SoC) sowohl die kapazitive Erkennung als auch BLE zu unterstützen, bieten sich nur noch wenige Alternativen wie beispielsweise der PRoC BLE von Cypress Semiconductor. Seine Cap-Sense-Technologie ist bereits gut angenommen und am Markt etabliert. Zusammen mit Cap-Sense wird das Subsystem PRoC BLE zu einer einsatzfertigen Lösung für HID-BLE-Produkte. Zusätzlich zur Integration der Kernfunktionen löst PRoC BLE auch weitere Entwicklungsprobleme. Ein ausreichend bemessenes Embedded-Flash-RAM (bis 128 KB) und SRAM (bis 16 KB) ermöglicht zum Beispiel leichtere Over-the-Air-Updates der BLE-Spezifikation. PRoC BLE verfügt dabei über DMA (Direct Memory Access), wodurch ein Speicherzugriff möglich ist, ohne die CPU zu belasten. Der Baustein bietet zudem flexible Energiesparmodi, die den Geräten helfen, Energie zu sparen. Nicht zuletzt erlaubt der PSoC-Creator mit BLE-Komponente die einfache Entwicklung entsprechender Lösungen. Mit dem integrierten, direkt einsatzbereiten BLE-Protokollstack können Entwickler die Vorteile von BLE nutzen, ohne selbst die gesamte BLE-Spezifikation beherrschen zu müssen. Außerdem gibt es eine eingebaute Unterstützung für von der Bluetooth SIG anerkannte Profile und Dienste.