Forum: Mikrocontroller und Digitale Elektronik uC mit mehreren ADC?


von Kolja W. (kawk)


Lesenswert?

Hi,

ich suche derzeit nach Microcontrollern (16..32 Bit Klasse, eine 
Handvoll MHz, möglichst kleine Bauform) mit möglichst vielen "schnellen" 
Analog-Digital-Konvertern, also eben nicht einem einzelnen Konverter mit 
Mux davor, sondern wirklich mehreren dedizierten Konvertern, die 
phasensynchron jeweils einen Eingang mit etwa 10..100 kHz abtasten 
könnten. Mehr als zwei habe ich bisher nicht auftreiben können.

Ideen? Alternativen? Ziel ist die (hobbymässige) Entwicklung eines 
zeitlich und elektrisch fein messenden EEG-Moduls, das auf wenigen 
Quadratzentimetern direkt über den Elektroden mehrere (10..16) kleine 
Messverstärker mit einfachen Filtern, A/D Wandler und 
Kommunikationslogik unterbringt... ich ahne schon, es wird eher was mit 
mehreren externen A/D nebst uC oder FPGA werden.

Freu mich auf eure Ideen im Voraus
Kolja

von (prx) A. K. (prx)


Lesenswert?

Warum muss ein EEG synchron wandeln? Integrierte Wandler mit 1MS/s sind 
nicht so selten. Manche Controller haben 2-3 davon an Bord (z.B. STM32).

Und wenn dem so ist: Kämen als Alternative synchrone Sample&Holds in 
Frage, die nacheinander gewandelt werden?

von hans (Gast)


Lesenswert?

Dafür gibt es angepasste AD-Wandler z.B. von TI:

http://focus.ti.com/lit/ds/symlink/ads1298.pdf

Synchron, mit Verstärkung, hohe Auflösung etc....

hans

von Kolja W. (kawk)


Lesenswert?

> Warum muss ein EEG synchron wandeln?

Mich interessiert, ob man vielleicht manche Effekte räumlich (2D) 
verfolgen  und daraus womöglich noch zusätzliche Schlüsse ableiten kann. 
Das ist natürlich nur so eine Idee - ich bin noch kein Spezialist und es 
kann durchaus sein, dass es gar nicht möglich oder die Effekte mit 
vertretbarem Aufwand nicht messbar sind, oder keine zusätzliche 
Information liefern. Das versuche ich parallel auch theoretisch zu 
lernen und abzuschätzen.

> Und wenn dem so ist: Kämen als Alternative synchrone Sample&Holds in
> Frage, die nacheinander gewandelt werden?

Ja, auf jeden Fall. Vermutlich ist das auch eine Ecke einfacher und 
billiger als mehrere Wandler und der Grund dafür, warum man selten mehr 
als einen Wandler pro uC findet? Ich würde halt bloss gerne so viel wie 
möglich unter einem Dach bereits integriert haben...

von (prx) A. K. (prx)


Lesenswert?

Versuch dir mal einen vollintegrierten Controller mit 16 Kanälen à 
1MSP/s vorzustellen. Sind 32MB/s Datenrate. Was soll so ein mit 
50-100MHz getaktetes Teil mit dieser Datenflut anfangen?

von Kolja W. (kawk)


Lesenswert?

Sorry, habe die Hälfte der Begründung für das Verlangen nach synchroner 
Messung vergessen niederzuschreiben:

Ich denke, man könnte den Phasenversatz einer relativ niederfrequenten 
Welle an Punkt A und B theoretisch auch bei niedriger Samplerate gut 
bestimmen, wenn der zeitliche Abstand der Messungen sehr genau bekannt 
ist. Und bei einem grossen Netz von Messpunkten würde es am einfachsten, 
wenn die Messungen synchron erfolgten...

von Kolja W. (kawk)


Lesenswert?

> 50-100MHz getaktetes Teil mit dieser Datenflut anfangen?

Das stimmt natürlich, die Datenflut wäre enorm, selbst wenn man dem uC 
"an Board" nur das Kommunizieren an das Rechenzentrum nebenan aufträgt. 
Und das Erkennen von Zusammenhängen in alle Richtunge nlässt die 
Verarbeitungsaufgabe exponentiell wachsen. Wenn man allerdings die 
Kommunikation doch irgendwie hinkriegen würde... an Echtzeitverarbeitung 
denke ich derzeit noch gar nicht.

von Kolja W. (kawk)


Lesenswert?

> Dafür gibt es angepasste AD-Wandler z.B. von TI:

Die sehen schon mal sehr gut aus, sogar inklusive Verstärker, und klein 
sind sie auch - danke!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Oben wurde bereits ein STM32 erwähnt, der is zu 3 AD Wandler (die 
parallel arbeiten können) drin hat.
Hier gibts ein Artikel zu lesen: STM32
Daran können Sie abstecken ob die CPU geeignet wäre.

von Andreas F. (aferber)


Lesenswert?

Kolja Waschk schrieb:
> Ideen? Alternativen? Ziel ist die (hobbymässige) Entwicklung eines
> zeitlich und elektrisch fein messenden EEG-Moduls,

Gehirnwellen spielen sich im Bereich bis ca. 70Hz ab. Mit achtfacher 
Überabtastung bist du gerade mal bei läppischen 1120 Samples/s. Wenn du 
das mit einem gemuxten ADC mit 1MSa/s abtastest ist das für praktische 
Belange eigentlich "gleichzeitig".

Schau dir mal http://openeeg.sf.net/ an, die tasten da mit 256 Sa/s (pro 
Kanal) mit einem Uralt-AVR ab.

Viel wichtiger ist der analoge Teil deiner Schaltung, insbesondere den 
(auch über den Körper eingefangenen!) Netzbrumm aus dem Signal 
rauszuhalten ist nicht ganz trivial. Dummerweise liegt der auch noch 
mitten im interessanten Frequenzbereich.

Ausserdem solltest du auch mehr als nur einen Gedanken an die Sicherheit 
"verschwenden", immerhin wird hier ein elektrisches Gerät möglichst 
niedrigohmig direkt an den Kopf angeschlossen!

Andreas

von Kolja W. (kawk)


Lesenswert?

> Gehirnwellen spielen sich im Bereich bis ca. 70Hz ab

Nuja, das steht in jedem Grundlagenartikel über EEG. Wie ich bereits 
schrieb, interessiert mich die Frage, ob man z.B. aus dem 
Phasenunterschied einer Welle an Messpunkt A gegenüber Messpunkt B 
vielleicht noch zusätzliche Information ziehen kann. Um den gut zu 
messen, wäre einiges an Auflösung bei Amplitude und Zeit schon 
hilfreich.

K.

von Andreas F. (aferber)


Lesenswert?

Kolja Waschk schrieb:
> Nuja, das steht in jedem Grundlagenartikel über EEG. Wie ich bereits
> schrieb, interessiert mich die Frage, ob man z.B. aus dem
> Phasenunterschied einer Welle an Messpunkt A gegenüber Messpunkt B
> vielleicht noch zusätzliche Information ziehen kann. Um den gut zu
> messen, wäre einiges an Auflösung bei Amplitude und Zeit schon
> hilfreich.

Wie genau soll es denn sein? Mit 1MSa/s bei 16 gemuxten Kanälen kannst 
du die relative Phasenlage von 70Hz-Signalen auf 0,006° genau bestimmen. 
Reicht das nicht? Mach dir lieber Gedanken über den Phasengang deines 
Analogteils!

Andreas

von Kolja W. (kawk)


Lesenswert?

Hi,

> Wie genau soll es denn sein?

Nunja, keine Ahnung - ist ja bisher nur so eine Idee. Ich versuche 
einerseits herauszufinden, was für mich machbar ist, und andererseits, 
was nötig wäre. Die obengestellte Frage diente eher dem ersten, die 
Informationen wie die von Dir zu der Art der Signale helfen mir zum 
zweiten. Die würde ich allerdings eher bei OpenEEG und mit Medizinern 
weiter diskutieren wollen. Kurz gesagt, ich halte es für durchaus 
möglich, dass es Phasenunterschiede gibt und dass sie tatsächlich so 
fein sind.

Was die Sicherheit angeht, schwebt mir die Ausführung als 
batteriebetriebene Haube mit schneller optischer Datenübertragung zur 
Auswertestelle vor.  Mit einem Datensammel-FPGA als Quelle für einen 
100BASE-FX-Datenstrom habe ich in anderem Zusammenhang bereits gute 
Erfahrungen gemacht.

Kolja

von Andreas F. (aferber)


Lesenswert?

Kolja Waschk schrieb:
> Kurz gesagt, ich halte es für durchaus
> möglich, dass es Phasenunterschiede gibt und dass sie tatsächlich so
> fein sind.

Das ändert nichts daran, dass du das Pferd komplett von hinten 
aufzäumst. Mach dir als erstes mal Gedanken über deinen Analogteil, 
insbesondere im Hinblick auf die relative Phasenverschiebung zwischen 
den einzelnen Kanälen. Dabei auch nicht z.B. die eher unexakten 
(Haut-)Kapazitäten an den Elektroden vergessen. Dann kannst du dir 
Gedanken über den Digitalteil und die Auflösung dort machen. Vorher ist 
das einfach nur geistige Onanie.

Nochmal zur Physiologie: die Leitung der Nervensignale erfolgt nicht mit 
Lichtgeschwindigkeit, sondern in der Grössenordnung von 100m/s oder 
weniger. Schon bei nur 1cm Wegunterschied (das wirst du mit deinen 16 
Elektroden aussen am Kopf aber niemals auflösen können!) hast du dann 
0,036° Phasenverschiebung, das ist mal eben schon eine Grössenordnung 
über den genannten 0,006°.

Wenn du mit Elektroden direkt invasiv an Nervenzellen im Gehirn gehen 
würdest, könnte man vielleicht tatsächlich über Genauigkeiten, wie du 
sie dir vorstellst, sprechen, wenn du aber an der Kopfhaut misst, 
bringen dir alle möglichen anderen Einflüsse Ungenauigkeiten rein, die 
um mehrere Grössenordnungen über den durch das Multiplexing 
eingebrachten liegen. Deshalb bringt es im Ergebnis genau garnichts, an 
letzterer Stelle herumzubasteln.

Andreas

von Kolja W. (kawk)


Lesenswert?

Hi,

> Mach dir als erstes mal Gedanken über deinen Analogteil,

Gut, das ist halt ncht gerade mein Spezialgebiet, daher habe ich 
woanders mit den Überlegungen angefangen.  Danke für Deine Infos!

> Schon bei nur 1cm Wegunterschied (das wirst du mit deinen 16
> Elektroden aussen am Kopf aber niemals auflösen können!)

Ich denke vielmehr an einen Flickenteppich aus mehreren leichten Modulen 
mit jeweils(!) 10-16 Elektroden mit Messung zwischen lokalen 
Elektrodenpaaren(*) und Wandlung direkt in den Modulen. Um die 
Machbarkeit abzuschätzen, ist es, finde ich, durchaus auch sinnvoll, 
auch von der Seite der Baugrösse, Verarbeitung und Kommunikationsaufwand 
die Überlegungen zu beginnen und Grenzen festzustellen. Das kann ja auch 
schon entmutigen...

(*) in Anlehnung zB an 
http://nrg.mbi.ufl.edu/publications/conference/conference%2054.pdf

von Andreas F. (aferber)


Lesenswert?

Kolja Waschk schrieb:
>> Mach dir als erstes mal Gedanken über deinen Analogteil,
> Gut, das ist halt ncht gerade mein Spezialgebiet, daher habe ich
> woanders mit den Überlegungen angefangen.  Danke für Deine Infos!

Ich will ein Haus bauen. Fundamente sind nicht gerade mein 
Spezialgebiet, deshalb fange ich lieber mit dem Dach an.

Du siehst das Problem?

>> Schon bei nur 1cm Wegunterschied (das wirst du mit deinen 16
>> Elektroden aussen am Kopf aber niemals auflösen können!)
> Ich denke vielmehr an einen Flickenteppich aus mehreren leichten Modulen
> mit jeweils(!) 10-16 Elektroden mit Messung zwischen lokalen
> Elektrodenpaaren(*)

Du hast das Paper aber schon gelesen? Verstanden hast du es mit 
Sicherheit nicht.

Es geht hier um Differenzen im Nanovolt-Bereich! Das haben sie mit einem 
Custom-Chip (ja richtig, die haben einen speziellen IC extra dafür 
gebaut, vermutlich weil es anders einfach nicht ging!) so gerade 
hinbekommen zuverlässig zu messen, bei einem Elektrodenabstand von 3cm. 
Das Paper ist von 2009, also ist das wohl mehr oder weniger der aktuelle 
Stand des technisch überhaupt möglichen.

Die Differenz messen konnten sie auch nur deswegen, weil sie es eben 
hinbekommen haben, das Differenzsignal direkt in der ersten 
Verstärkerstufe analog zu bilden. Wenn du die Signale erstmal soweit 
verstärken willst, dass du sie AD-wandeln kannst, um dann die Differenz 
digital zu bilden, dann ist die Differenz längst im Rauschen der 
Verstärker verschwunden.

Mit anderen Worten: vergiss es. Du hast nicht die geringste Chance, das 
auch nur ansatzweise hinzubekommen.

Andreas

von Kolja W. (kawk)


Lesenswert?

Tag,

> Custom-Chip (ja richtig, die haben einen speziellen IC extra dafür

Was hälst Du von dem weiter oben erwähnten ADS1298?

http://focus.ti.com/lit/ds/symlink/ads1298.pdf

Kolja

von Andreas F. (aferber)


Lesenswert?

Kolja Waschk schrieb:
>> Custom-Chip (ja richtig, die haben einen speziellen IC extra dafür
> Was hälst Du von dem weiter oben erwähnten ADS1298?

Der ist primär für EKG ausgelegt, nicht EEG. Beim EKG sind die Signale 
im Bereich von ca. +/- 1mV Peak. Der Chip rauscht mit 5µV Peak-to-Peak 
(auf den Eingang bezogen), also ca. 0,3% des Vollausschlages.

Beim EEG sind die Signale in der Grössenordnung von bis zu 100µV, da ist 
das Rauschen dann schon 5% des Vollausschlages. Für einen 
Patientenmonitor auf der Intensivstation wird das vermutlich ausreichen, 
für die Hirnforschung vermutlich eher nicht.

Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.