Um den Blutzuckerspiegel zu messen, kommen Messstreifen und ein auf den ersten Blick sehr einfach erscheinendes Handmessgerät zum Einsatz. Dabei sind jedoch empfindliche analoge Signale und Daten mit hoher Auflösung zu erfassen. Zudem benötigt man eine spezielle Zeitsteuerung und eine digitale Verarbeitung der Daten. Dafür eignen sich programmierbare Logikbausteine mit analoger Peripherie hervorragend, denn sie integrieren alle nötigen Schaltungsblöcke auf einem Chip.
Messstreifen, die in ein auf den ersten Blick sehr einfach erscheinendes Handmessgerät gesteckt werden und dem Anwender schnell - aber nicht unbedingt schmerzfrei - seinen Blutzuckerwert anzeigen, enthalten eine winzige Menge einer Substanz, die mit der Glukose im Blut reagiert. Diese chemische Reaktion erzeugt eine geringe elektrische Ladung, die als Indikator für den Blutzuckerspiegel gemessen werden kann.
Die Messmethoden sind unterschiedlich, arbeiten aber im Allgemeinen mit der Messung eines schwachen elektrischen Stroms zu bestimmten Zeiten, der Berechnung einer sehr kleinen Ladungsmenge während eines bestimmten Zeitraums oder auch der Messung von Impedanzen unter bestimmten Bedingungen. Der Betrieb eines Messgeräts für den Blutzuckerspiegel erfordert daher häufig eine empfindliche Verarbeitung analoger Signale, eine Datenerfassung mit hoher Auflösung, eine spezielle Zeitsteuerung und eine digitale Verarbeitung der Daten.
Ein »PSoC« (Programmable System on Chip) ermöglicht all diese Funktionen in einem einzigen Bauteil und eröffnet sogar eine größere Flexibilität bei der Verbesserung der analogen Eingangsschaltung, der Umsetzung leistungsfähiger Features auf Hardwarebasis, die der Entwickler selbst definieren kann, sowie einen batteriesparenden Betrieb mit konfigurierbaren Betriebsarten.
Die chemische Reaktion zwischen dem Blut und dem Wirkstoff auf dem Streifen erzeugt eine sehr geringe Ladung, die sich mit einer empfindlichen Schaltung messen lässt. Ein PSoC mit entsprechenden analogen Ressourcen, zum Beispiel der »PSoC 3« von Cypress, verfügt über die erforderlichen empfindlichen Schaltungen zur Messung der Ströme im Nanoampere-Bereich. Was benötigt man, um einen derart geringen Strom zu messen? Häufig wird ein aktiver Transimpedanzverstärker (TIA) in Verbindung mit einer Spannungsreferenz im TIA eingesetzt, um an der Zelle eine Vorspannung (Bias) zu erzeugen.
Bild 1 zeigt eine einfache Schaltung für diese Aufgabe. Die Art der chemischen Reaktion zwischen der Glukose im Blut und den Enzymen auf dem Teststreifen führt zu einem großen Stromimpuls zu Beginn und einem schwächeren Strom gegen Ende der Reaktion. In einer einfachen statischen Auslegung wie in Bild 1 ist die Verstärkung des TIA fest vorgegeben.
Der Rückkopplungswiderstand des TIA, der Eingangsbereich des A/D-Wandlers und dessen Auflösung müssen sorgfältig ausgewählt werden, um die Mindestanforderungen an die Messung zu erfüllen. Mit der vorgegebenen festen Verstärkung ist dies recht schwierig. Der TIA und der Datenwandler müssen in der Lage sein, einen großen Impuls zu verarbeiten und dabei die Vorspannung am Blutzuckerteststreifen konstant zu halten.
Im Allgemeinen liegt dieser Impuls um eine (oder mehrere) Größenordnungen über den Werten am Ende der Reaktion. Der Impuls beschränkt den Widerstand in der Rückkopplung auf kleinere Werte, um ein Klemmen des TIA auf der Versorgungsspannung und einen Verlust der Vorspannung für die Zelle zu verhindern. Die hohe Empfindlichkeit erfordert einen sehr hochauflösenden A/D-Wandler, um die sehr geringen Änderungen im gesamten Betriebsbereich messen zu können.
Ein Vorteil eines programmierbaren SoCs ist die Möglichkeit, einen TIA mit programmierbarer Verstärkung und eine dynamische Bereichsumschaltung des A/D-Wandlers vorzusehen. Wir wollen nun die Schaltung im PSoC überarbeiten und herausfinden, welche neuen Funktionen wir hinzufügen können.
Verbesserte Signalkette
Einige der Möglichkeiten, die uns mit dem PSoC 3 zur Verfügung stehen, sind: analoge Signalverteilung zur Verbindung jeder Ressource mit anderen Ressourcen, ein volldifferenzieller A/D-Wandler mit hoher Auflösung, D/A-Wandler für Spannung und Strom sowie Operationsverstärker. Zuerst einmal können wir mit der programmierbaren Verteilerschaltung einen TIA mit umschaltbarer Verstärkung erstellen; Bild 2 zeigt nur zwei Verstärkungseinstellungen, wobei viele mehr möglich sind.
Diese Verstärkungseinstellungen können so ausgewählt werden, dass sie optimal an die verschiedenen Aspekte der Messung einer Reaktion angepasst sind. Eine Einstellung mit geringer Verstärkung verarbeitet starke Impulse, hält die Vorspannung für den Streifen konstant und liefert gültige Messwerte des A/D-Wandlers, während eine Einstellung mit hoher Verstärkung die Empfindlichkeit des TIA erhöhen kann, ohne dass hierzu ein Datenwandler mit hoher Auflösung oder ein Verstärker mit niedrigem Rauschen erforderlich wird.
Bild 2 zeigt eine deutlich verbesserte, programmierbare Signalkette mit einigen zusätzlichen Features. Durch den differenziellen A/D-Wandler in Bild 2 (im PSoC 3/5 verfügbar) lassen sich der analoge Routing-Widerstand und der Offset des Operationsverstärkers aus der Messung eliminieren. Diese Messschaltung ist der unsymmetrischen Anordnung in Bild 1 überlegen, bei der die Vorspannung den nutzbaren Eingangsbereich des Datenwandlers eingrenzt.
Ein Offset am Eingang des Operationsverstärkers wird durch eine differenzielle Messung über den Rückkopplungswiderstand eliminiert. Die analoge Signalverteilung ermöglicht echte differenzielle Messungen über den verschiedenen Rückkopplungswiderständen, das System arbeitet unabhängig von der gewählten Verstärkung möglichst genau. Weitere Verbesserungen sind ein D/A-Wandler mit einstellbarer Kompensation des Strom-Offsets und eine Präzisionsmessung, um bei Bedarf sehr geringe Stromänderungen in einem hohen Strom der DC-Vorspannung zu messen.
Die Kombination der analogen Möglichkeiten mit der Digitalseite und weiteren digitalen Ressourcen, zum Beispiel DMS (Direct Memory Access), ermöglicht noch mehr Flexibilität und Messfunktionen. Ein Schaltschema, bei dem eine Verbindung hergestellt wird, bevor die andere getrennt wird, lässt sich bei der Signalverteilung leicht einsetzen, um zu gewährleisten, dass die Vorspannung auch während der Umschaltung der Verstärkung des TIA ohne Unterbrechungen anliegt.
Eine präzise Strukturierung und der Transport der Daten vom A/D-Wandler zum Speicher sind mit Hilfe von DMA möglich. Noch interessanter ist die Möglichkeit, die D/A-Wandler so zu programmieren, dass sie ein über die Zeit variables Signal für den Glukose-Teststreifen erzeugen, um AC-Informationen zu erhalten und gleichzeitig einen präzisen Datentransport zu erreichen.
Bild 3 zeigt ein Beispiel eines hochintegrierten Datenmanagement-systems mit einigen Möglichkeiten. Es handelt sich hierbei sicher nicht um die einzige Art, ein System zu programmieren, zeigt jedoch die Möglichkeiten. In diesem Beispiel dient ein PWM-Block als Quelle für das Timing-Management. Wie fast jeder digitale PWM ist auch diese Variante in der Lage, diese Art des Managements zu übernehmen, da sich die Positionen der Flanken im Ausgangssignal über die Programmierung präzise festlegen lassen. Dadurch lassen sich die Flanken dazu nutzen, Vorgänge zu bestimmten Zeiten auszulösen.
Der Ausgang PWM1 wird in diesem Beispiel dazu eingesetzt, den DMA so zu triggern, dass er autonom ein Pattern aus dem SRAM übernimmt und zum D/A-Wandler transferiert. Dieses Pattern dient dazu, ein bestimmtes Vorspannungssignal für den Glukose-Teststreifen zu erzeugen. Synchron zu diesem Vorspannungspattern wird der A/D-Wandler über den Ausgang PWM2 getriggert, um Daten aufzunehmen, wobei die Ergebnisse per DMA gemanagt werden. Man kann sogar den DMA dazu einsetzen, die Anzahl der übernommenen Daten zu steuern, zum Beispiel fünf Samples mit anschließendem Stopp bis zum nächsten Triggerimpuls.
Daten digital verarbeiten
Noch nicht angesehen haben wir uns den letzten, aber mindestens ebenso wichtigen Teil: die Engine zur Verarbeitung der Daten. Denn den größten Teil der allgemeinen Aufgaben für Timing und Daten-erfassung steuert das Verarbeitungs-Subsystem, während die schwierigeren zeitkritischen Aufgaben in anderen Teilen des programmierbaren Systems ausgeführt werden.
Der Anschluss Terminal-Count (TC) des PWM-Timers in Bild 3 dient in diesem Beispiel dazu, das Timing des analogen Frontends für die Datenerfassung (alles, was wir bisher besprochen haben) mit dem Untersystem für die Verarbeitung zu verknüpfen. Auf diese Weise lässt sich der Ablauf bei der Messung des Glukosewerts synchron steuern, indem pro Zyklus ein Interrupt erzeugt wird.
Nehmen wir zum Beispiel Bild 4.
Jeder Interrupt vom PWM könnte dazu genutzt werden, dem Anwender auf einem LC-Display eine Information anzuzeigen (d.h. Verarbeitung..., 3, 2, 1, Fertig). Auf diese Weise steuert das Subsystem zur Verarbeitung - in diesem Beispiel ein »8051« - den allgemeinen Statusablauf des Systems zur Informationsanzeige, indem es Informationen vom Anwender übernimmt (z.B. Tastendruck oder Einlegen des Teststreifens) und die schmerzhaft erfassten Daten in eine benutzerfreundliche Form umwandelt. Und schließlich sei daran erinnert, dass der DMA einen großen Teil der Messung und des Datenmanagements steuert, und zu diesem Zeitpunkt im Allgemeinen kaum Verarbeitungsleistung erforderlich ist. Dadurch kann die CPU verschiedene Funktionen - sogar sich selbst - abschalten, um einen batteriefreundlichen Energieverbrauch zu erreichen.
Dank der leistungsfähigen Funktionen des SoC zur Übergabe von Aufgaben an die Hardware lassen sich äußerst energieeffiziente Lösungen erstellen. Der SoC-Ansatz eröffnet für ein Blutzuckermessgerät eine enorme Flexibilität und die Freiheit, die erforderlichen und die gewünschten Funktionen zu implementieren, ohne hierbei erhebliche Mengen an Zeit und Geld zu investieren.
Verbesserungen des analogen Frontends, zum Beispiel die Eliminierung des Offsets, dynamisch angepasste Verstärkungen des TIA und die Flexibilität zur Anpassung an eine Vielzahl von Messlösungen mit derselben Hardware sind einige der Vorteile beim Einsatz programmierbarer SoC. Weitere Verbesserungen, die mit der SoC-Architektur möglich werden, sind eine an den jeweiligen Kunden anpassbares System. So kann sich der Entwickler der Firmware auf das Erstellen hochwertigen, robusten Codes konzentrieren, ohne sich um das Mikromanagement jedes einzelnen Samples und jeder einzelnen Transaktion kümmern zu müssen.
Über die Autoren:
Ross Fosler ist Applications Engineer und Mitglied des Technical Staff, Chris Keeser ist Staff Applications Engineer, beide bei Cypress Semiconductor.