Hallo! Da ich noch nicht viel Erfahrung mit Mikrocontroller-/DSP-Programmierung habe, mal abgesehen von so ein paar Laborpraktika an der Uni, bin ich nicht sicher, wonach genau ich fragen soll und ob es das, was ich suche, so ueberhaupt gibt. Und zwar moechte ich eine Regelschleife fuer ein optisches Kommunikatuionssystem mit Hilfe eines Mikrocontroles/DSPs aufbauen. Die Position eines Laserstrahls wird mit Hilfe eines Quadrantendetektors bestimmt, dieser gibt mir die Abweichung vom Nullpunkt in Form von 3 analogen Spannungen aus. Diese moechte ich wandeln und daraus ein wiederum ein analoges Steuersignal fuer eine Plattform erzeugen, auf der ein Spiegel montiert ist, der den Strahl steuert. Die Plattform hat eine sehr feine Winkelaufloesung. Deshalb brauche ich eine hohe Aufloesung bei den Wandlern. Meine Ueberlegungen/Berechnungen ergeben konkret: - 2 DAC-Kanaele mit 16 Bit Aufloesung - 3 ADC-Kanaele mit 16 Bit Aufloesung + 1 bis 2 weitere, die auch weniger Aufloesung haben duerfen - mind. 1 ksps Wandelrate, wobei eigentlich sowas wie 10 ksps besser waeren Das ganze soll auf einem Mikrocontroller-/DSP-Board montiert sein, bzw. wenn ich es selbst zusammenstellen muss, dann sollte es nicht allzu kompliziert werden, da ich wie gesagt noch nicht viel Erfahrung auf dem Gebiet habe. Das einzige, was ich bisher brauchbares gefunden habe ist das hier, allerdings ist die Samplerate an meiner unteren Schmerzgrenze (1 ksps): http://www.bipom.com/products/us/318527.htmla Kann mir jemand ein Feedback dazu geben? Was vielleicht auch eine Moeglichkeit waere, sind DSPs fuer den Audio-/Videobereich zu verwenden. Allerdings stosse ich da auf das Problem, dass der ADC meistens nur 2 Kanaele hat, so wie ich das verstehe. Ausserdem weiss ich nicht, ob man die so einfach fuer andere Anwendungen einsetzen kann, weil da dann irgendwelche Codecs drin sind und ich nicht weiss, ob man die so einfach umgehen kann. (Sorry fuer meine unpraezise Ausdrucksweise.) Und ich bin mir nicht sicher, ob mich sowas als Anfaengerin nicht ueberfordern wuerde. Bin fuer jede Hilfe dankbar!
Hallo, also ich würde mal bei Analog Devices schauen, die haben DSP's, Entwicklungssoftware und hochauflösende Wandler und das als fertige Demo-Boards. Die sollten sich einfach zusammen stöpseln lassen. Habe aber selbst (leider) noch nix mit DSP gemacht. Wichtig wäre, genau zu überlegen, welcher ADC geeignet ist -> Sample-Rate, Bitanzahl, Eingangsspannungsbereich, Referenzspannung,... Aktuell gibt es SAR-Wandler 16Bit mit mehrere etlichen MSPS, 18Bit 1MSPS. Sigma-Delta-Wandler z.B. 24 Bit kommen dagegen auf unter 1 kSPS.
Hanna Becker schrieb: > Allerdings stosse ich da auf das > Problem, dass der ADC meistens nur 2 Kanaele hat Das muss kein Problem sein. Bei Audio DSP findet sich meistens noch ein Eingang für I2S kodierte Signale und dafür gibt es jede Menge guter A/D Wandler. Wenn du also z.B. einen findest (von Analog Devices z.B. den Blackfin oder einen OMAP von TI, Freescale liefert die 56k), der onchip 2 Wandler hat, kannst du zwei weitere (einen 'Stereo' wandler) über I2S ankoppeln. DSP scheinen für deine Anwendung jedenfalls richtig zu sein. Per Filtern kannst du den Spiegel so ansteuern, das er nicht überschwingt usw. und das vorhersehbare Zeitverhalten des DSP ist auch ein Vorteil. Leider gibt es die kleinen TAS3XXX Audio DSP von TI nicht mehr, die konntest du In-Circuit prima per I2C steuern.
:
Bearbeitet durch User
Danke! Wie genau meinst du das mit dem Zusammenstoepseln? Mal nur als Beispiel: Angenommen ich moechte folgenden Mikrocontroller http://www.analog.com/en/processors-dsp/analog-microcontrollers/aduc843/products/product.html mit folgendem DAC http://www.analog.com/en/digital-to-analog-converters/da-converters/ad5686r/products/product.html koppeln, und ich will jetzt kein Platinenlayout machen, welche Teile braeuchte ich dann zusaetzlich? Sind die Evaluation Boards, die unten aufegfuehrt werden dafuer geeignet? Beim MCU verwirrt mich, dass es mehrere unterschiedliche Zusatzsachen gibt und ich nicht genau weiss, was ich davon brauch.
Hallo Matthias, das mit der I2C-Schnittstelle klingt nach einer guten Idee. Fragt sich nur nach wie vor fuer mich, ob ich dabei ein Platinenlayout umgehen kann. Was meinst du mit "das vorhersehbare Zeitverhalten des DSP ist auch ein Vorteil"? Sorry, ich hab wie gesagt noch nicht so viel Erfahrung mit Mikrocontroller-/DSP-Programmierung. :-)
Ich habe gesehen, dass fuer den OMAP von TI das BeagleBoard als Eval-Board angeboten wird. Waere das fuer meine Anwendung geeignet? Es erscheint mir reizvoll, weil es eine grosse Entwicklercommunity dafuer zu geben scheint... Oder ist das wie mit Kanonen auf Spatzen zu schiessen?
Hanna Becker schrieb: > Angenommen ich moechte folgenden Mikrocontroller > http://www.analog.com/en/processors-dsp/analog-microcontrollers/aduc843/products/product.html Das ist aber gar kein DSP, sondern ein mit einem 8052 unterstützter Präzisions AD-DA Wandler, und er hat nur einen gemultiplexten 12-bit AD Wandler, sowie zwei 12-bit Wandler und 4 16-bit Hardware PWMs. Ich glaube nicht, das es das ist was du willst. Aus der Blackfin Serie bei AD scheint der hier ganz geeignet zu sein, zumal er auch ein Gehäuse hat, das sich auch noch einigermassen manuell verarbeiten lässt: http://www.analog.com/en/processors-dsp/blackfin/adsp-bf506f/products/product.html Beachte den 'glueless I/F to external ADC'. SHARC ist eine weitere DSP Familie von AD: http://www.analog.com/en/processors-dsp/sharc/products/index.html#SHARC_Processors An die lassen sich auch gut externe Wandler ankoppeln, wie z.B. der neue ADAU1966: http://www.analog.com/en/press-release/11_28_11_ADI_16-Channel_Audio_DAC_Provides_Hi_Perf/press.html Das soll allerdings nicht bedeuten, das TI oder Freescale nichts taugen. Es ist mehr eine Frage des Entwicklungskomforts, für welche Familie man sich entscheidet. TI z.B. benutzt Code Composer, bei dem man sich fertige Bausteine zusammenklappern kann, als Beispiel ist hier unten auf der Seite mal das Audioflussdiagramm des TAS3208 meines Bassverstärkers als Screenshot von CodeComposer: http://www.schoeldgen.de/bassalizer/index3.html Freescale setzt auf (ex. Metrowerks) CodeWarrior mit Processor Expert - ist nicht meine Welt und ich empfand es als extrem kompliziert, eigene Codeblöcke in PE einzubinden. http://www.freescale.com/webapp/sps/site/homepage.jsp?code=CW_HOME&tid=vanCODEWARRIOR Die 56k DSP sind aber auch recht brauchbar und den alten 68k Architekturen gar nicht so unähnlich. Evaluation Bords sind eigentlich immer eine gute Idee. Du bekommst ein fertiges Board und dazu die passende Entwicklungsumgebung. Allerdings setzt diese meistens Windows voraus, das musst du also haben. Du kümmerst dich dann mehr um die Anbindung deiner Peripherie und nicht so sehr ums Arbeiten des DSP. Hanna Becker schrieb: > Ich habe gesehen, dass fuer den OMAP von TI das BeagleBoard als > Eval-Board angeboten wird. Waere das fuer meine Anwendung geeignet? Jo, mit Sicherheit ist das Beagleboard keine schlechte Wahl, eben wg. der Community und der Flexibilität. Es gibt nichts, was man mit dem Beagle nicht machen könnte - so heisst es zumindest. Es ist zu Anfang ein bisschen dicke, aber wer weiss, ob du die Leistung nicht später brauchen kannst. Hanna Becker schrieb: > Was meinst du mit "das vorhersehbare Zeitverhalten des DSP ist auch ein > Vorteil"? DSP verarbeiten ja Signale - das passiert in 99% der Fälle in einer endlosen Schleife, die am Anfang das Datum des AD Wandlers eingefüttert kriegt und am Ende etwas auf den DA Wandler ausgibt. Die Zeit, die dazwischen vergeht ist immer die gleiche (Latenz). Die Signalverarbeitung ziwschen Anfang und Ende sind dann deine DSP Algorithmen.
:
Bearbeitet durch User
Danke, das war sehr hilfreich! Ich denke, ich werde mich fuer das BeagleBoard entscheiden und versuchen ueber SPI oder I2C die Wandler anzusteuern. Der DA-Wandler, den du empfohlen hast, ist auch der beste, den ich finden konnte. Was ist wohl der Unterschied zwischen dem ADAU1966 und dem ADAU1966A? Fuer mich sehen die voellig identisch aus. TI hat auch gute Wandler, aber ich finde irgendwie keine Evaluation Boards dazu. Beim PCM1680 (http://www.ti.com/product/pcm1680) ist zum Beispiel ein Datenblatt eines Eval Boards verlinkt, aber ich sehe nirgendwo, wo man es kaufen kann und wieviel es kostet. Auch interessant finde ich diesen Baustein hier, da dort ADC und DAC auf einem Chip sind: http://www.ti.com/product/pcm3168a. Aber auch hier ist leider kein Evaluation Board verlinkt...
Bei Analog gibt es aehnliche Bausteine und hier sind jeweils Eval Boards verlinkt: http://www.analog.com/en/audiovideo-products/audio-codecs/ad1937/products/product.html http://www.analog.com/en/audiovideo-products/audio-codecs/ad1938/products/product.html Der Unterschied zwischen den beiden ist, dass man einen ueber SPI und den anderen ueber I2C ansteuert. Kann ich so einen Baustein fuer meine Regelschleife verwenden?
>den anderen ueber I2C ansteuert.
Bitte den Unterschied zwischen I2C und I2S beachten!
Vtl keine qualifizierte Antwort und entspricht evtl auch nicht ganz deinen Vorgaben zwecks Auflösung usw aber wie wärs mit nem PSoC 5LP? http://www.cypress.com/?docID=47570
Schnickschnak schrieb: >>den anderen ueber I2C ansteuert. > > Bitte den Unterschied zwischen I2C und I2S beachten! Ja, die haben beide auch I2S. Trotzdem hat der eine eine SPI- und der andere eine I2C-Schnittselle. Haette die I2S-Schnittstelle irgendwelche Auswirkungen auf meine Anwendung?
Student N. schrieb: > Vtl keine qualifizierte Antwort und entspricht evtl auch nicht > ganz > deinen Vorgaben zwecks Auflösung usw aber wie wärs mit nem PSoC 5LP? > http://www.cypress.com/?docID=47570 Wow, sieht ziemlich praktisch aus, mit so vielen Konfigurationsmoeglichkeiten! Ist aber Mikrocontroller-basiert... Gibts PSoCs auch DSP-basiert? Ich werd mal recherchieren.
Noch eine Frage: Viele Audio-Wandler haben differentielle Spannungen als Ein-/Ausgangsspannungen. Wenn ich jetzt aber von meinem Sensor ein nicht-differentielles Signal bekomme... Heisst das, ich muesste einfach nur einen Eingang des ADCs auf Masse legen?
Hanna B. schrieb: > Die Plattform hat eine sehr feine Winkelaufloesung. Deshalb brauche > ich eine hohe Aufloesung bei den Wandlern. Gibt es inzwischen Zahlen für "sehr fein" und "hohe"? Plattform hört sich nach Mechanik an und Mechanik hört sich nicht nicht nach Mrad/s an, also wird man auch den Frequenzbereich und damit die Abtastfrequenz spezifizieren können. Oder habe ich das nur überlesen?
Hanna B. schrieb: > Meine Ueberlegungen/Berechnungen ergeben konkret: > - 2 DAC-Kanaele mit 16 Bit Aufloesung > - 3 ADC-Kanaele mit 16 Bit Aufloesung + 1 bis 2 weitere, die auch > weniger Aufloesung haben duerfen > - mind. 1 ksps Wandelrate, wobei eigentlich sowas wie 10 ksps besser > waeren Je nachdem, fuer welchen Spiegel ich mich entscheide, brauche ich 2 Mal 16, evtl. sogar 17 Bits um die Winkelaufloesung voll auszuschoepfen. Die Samplerate muss ich leider nach oben korriegieren, sie sollte mind. 3 ksps sein.
Hanna B. schrieb: > Wenn ich jetzt aber von meinem Sensor ein nicht-differentielles Signal > bekomme... Heisst das, ich muesste einfach nur einen Eingang des ADCs > auf Masse legen? Im Einzelfall ist es sinnvoll, im Datenblatt nach den erlaubten Eingangsspannungsbereichen zu schauen. Wenn GND da zulässig ist, kannst du das natürlich machen. Differenzbetrieb kann aber sehr sinnvoll sein, um externe Störungen oder Drifts zu kompensieren, lass dir also die Möglichkeit offen, den Differenzeingang nutzbar zu machen. I2S ist im Gegensatz zu I2C eine schnelle Schnittstelle, die gerne für Digital Audio genommen wird. Viele AD und DA Wandler aus dem Audiobereich unterstützen diese und viele DSP auch. Hanna B. schrieb: > Bei Analog gibt es aehnliche Bausteine und hier sind jeweils Eval Boards > verlinkt: > http://www.analog.com/en/audiovideo-products/audio-codecs/ad1937/products/product.html > http://www.analog.com/en/audiovideo-products/audio-codecs/ad1938/products/product.html Klar. Ob die integrierten Filter in deiner Anwendung sinnvoll sind, musst du ausprobieren, aber als kombinierte Peripherie für AD und DA sehen sie doch gut aus. Mr. X schrieb: > Gibt es inzwischen Zahlen für "sehr fein" und "hohe"? Plattform hört > sich nach Mechanik an und Mechanik hört sich nicht nicht nach Mrad/s an, > also wird man auch den Frequenzbereich und damit die Abtastfrequenz > spezifizieren können. Oder habe ich das nur überlesen? Schau nochmal im ersten Post, es geht um die Steuerung eines Spiegels zur Positionierung eines Laserstrahls. Es handelt sich vermutlich also wirklich um Bogensekundenbruchteile in der Auslenkung. Die Jungs im VLT machen ja sowas ähnliches, wenn sie ihr Spiegelteleskop in Segmenten 'zittern' lassen, um trotz Luftbewegungen scharfe Bilder zu kriegen. Die Aktuatoren bei denen müssen nette Dingerchen sein. Das die ganze Sache mit der Mechanik steht und fällt ist klar. M.E. ist zur Vermeidung von Über- und Unterschwingen sowie Resonanzeffekten ein DSP als Steuerung gar nicht fehl am Platz. Und ein Beagleboard ist ja nicht nur ein reiner DSP sondern ist auch für niedrige Steuerungen gut zu gebrauchen. Hanna B. schrieb: > Je nachdem, fuer welchen Spiegel ich mich entscheide, brauche ich 2 Mal > 16, evtl. sogar 17 Bits um die Winkelaufloesung voll auszuschoepfen. Die > Samplerate muss ich leider nach oben korriegieren, sie sollte mind. 3 > ksps sein. Die Samplerate ist für alle hier erwähnten AD und DA Wandler kein Problem, aber ein Aufbau für etwa 20 bit genaue Wandler ist höchst anspruchsvoll. Und zwar auch in Bezug auf die Betriebsspannung als auch in der Verdrahtung und etwaigen Platinenlayouts. Falls du so etwas noch nie gemacht hast, musst du dir unbedingt Applikationen anschauen,die so etwas können und dir am besten Hilfe von einem Spezi für Wandlertechnik holen, z.B. von den Medizintechnikern oder Audiotypen.
:
Bearbeitet durch User
Danke fuer die ausfuehrliche Antwort! Matthias Sch. schrieb: > Die Samplerate ist für alle hier erwähnten AD und DA Wandler kein > Problem, aber ein Aufbau für etwa 20 bit genaue Wandler ist höchst > anspruchsvoll. > Und zwar auch in Bezug auf die Betriebsspannung als auch in der > Verdrahtung und etwaigen Platinenlayouts. Falls du so etwas noch nie > gemacht hast, musst du dir unbedingt Applikationen anschauen,die so > etwas können und dir am besten Hilfe von einem Spezi für Wandlertechnik > holen, z.B. von den Medizintechnikern oder Audiotypen. Genau deshalb versuche ich ja, ein Platinenlayout zu umgehen und entweder ein passendes Board zu finden oder mir alles mit Eval Boards zusammenzustecken, bei denen ich mal davon ausgehe, dass die gut designt wurden.
Hanna B. schrieb: > Genau deshalb versuche ich ja, ein Platinenlayout zu umgehen und > entweder ein passendes Board zu finden oder mir alles mit Eval Boards > zusammenzustecken, bei denen ich mal davon ausgehe, dass die gut designt > wurden. Das ist auf jeden Fall besser, als zu Fuss und von vorne zu beginnen. Auch meinen o.a. Bassverstärker habe ich auf Basis des EVM-LowCost Boards von TI gebaut. Allerdings ist der Lifecycle der EV Boards oft sehr kurz, die werden bei der Neuvorstellung des Chips aufgelegt und dann abverkauft. Es bleiben sowieso noch genug Probleme zu lösen, als da wären die saubere Versorgung und die Verkabelung zwischen Sensorik und AD, Wandlerboard und Beagleboard und vor allem auch die Positionierendstufen.
:
Bearbeitet durch User
Kann mir jemand helfen, den Ausgangsspannungsbereich dieses DACs zu bestimmen: http://www.analog.com/en/digital-to-analog-converters/audio-da-converters/adau1966/products/product.html Im Datenblatt steht: Full-Scale Differential Output Voltage 3.00 (+/- 8.49) V rms (V p-p). Ich verstehe diese Angabe nicht. Von der V p-p Angabe her wuerde ich denken, der Bereich geht von -8.49 V bis + 8.49 V. Das ergibt eine "range" von ca. 17 V. Wie passt das mit den 3 V zusammen?
Ah, die verbale Erklärung auf Seite 15 bringt es ans Licht: "When AVDD is supplied with 5 V, each analog output pin has a nominal common-mode (CM) dc level of 2.25 V and swings ±2.12 V above and below the 2.25 V for a for a 1.5 V rms signal on each pin. Differentially, the signal is 3 V rms, 8.48 V p-p, from a 0 dBFS digital input signal." Die Jungs gehen nämlich von +/- 1,5 Vrms pro Ausgang aus, das Differenzsignal liegt dann bei 3Vrms.
Gut, von der Erklaerung her verstehe ich jetzt, wo die 8.48 V p-p herkommen. Das mit 3 V rms bzw. +/- 1,5 Vrms pro Ausgang verstehe ich leider nicht. Wo kommen diese Zahlen her?
Ich moechte dieses Wandlermodul http://www.analog.com/en/audiovideo-products/audio-codecs/ad1937/products/product.html auf diesem Eval-Board http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCcQFjAA&url=http%3A%2F%2Fwww.analog.com%2Fstatic%2Fimported-files%2Fuser_guides%2FUG-040.pdf&ei=uUJ0U9uXNcmKuATE2YDQBg&usg=AFQjCNHjIFCn30cnqmB36DSd8hlJ0JpPqA&bvm=bv.66699033,d.c2E benutzen. Der Sensor liefert 3 analoge Eingangssignale von je max. ca. +/- 50 mV. Wieviel es wirklich sind, wird sich erst im Aufbau zeigen. Diese Signale moechte ich jetzt verstaerken, so dass der Eingangsbereich meiner DACs voll ausgenutzt werden kann. Folgende Dinge sind zu beruecksichtigen: - Sensorsignale: Single-ended - Wandler-Eingangssignale: eigentlich differentiell, aber so wie ich es verstehe, gibt es auf dem Board Single-ended Eingaenge (TRS jacks). Oder? - Eingangsbereich der Wandler laut Datenblatt: Full-Scale Input Voltage (Differential) 1.9 V rms Die 1. Frage lautet: Wie uebersetzt sich der differentielle Eingangsbereich der Wandler in den Single-Ended Eingangsbereich des Eval Boards?
>Der Sensor liefert 3 analoge Eingangssignale von je max. ca. +/- 50 mV.
Die musst du auf jeden Fall verstärken und in den positiven
Spannungsbereich verschieben. Dafür gibts fertige Schaltpläne. Das wird
aber haarig.
Gruß Jonas
Ja, und in welchen Spannungsbereich?
Hanna B. schrieb: > Ja, und in welchen Spannungsbereich? Du solltest jetzt mal anfangen, ein wenig zu rechnen und Spannungsbereiche zu erfassen. Also, deine Sensoren liefern ca. +/-50mV = 100mV Spannungshub. Um den vollen Eingangsbereich des AD Wandler zu nutzen, wirst du also etwa eine 20-50 fache Verstärkung brauchen. Vergiss jetzt mal die RMS Angaben, denn du brauchst, um Übersteuerungen das AD Wandlers zu vermeiden, die Vpp des Eingangsbereiches. Um die beste Ausnutzung des AD Wandlers zu bekommen, sollte eine Sensorspannung von 0V per Offset genau in die Mitte des Eingangsbereiches des Wandlers kommen. Nehmen wir mal an, der AD Wandler verarbeitet einen Bereich von 0 bis 5 V (also +/- 2,5V), verstärkst du den Sensor um Faktor 50 (50mV * 50 = 2500mV) und verschiebst den Nullpunkt auf 2,5V. Du wirst also einen Eingangsverstärker mit regelbarer Verstärkung und regelbarem Ausgangsoffset brauchen. Das ist eine Grundschaltung in der Instrumentenverstärkertechnik und leicht im Netz zu finden. Such dir was mit Differenzausgang, weil: Jonas Biensack schrieb: > Das wird > aber haarig. Naja, 50mV sind schon eine anständige Hausnummer. Mich wundert nur, das die Sensoren keine Differenzspannungen liefern, aber selbst wenn nicht, sind 50mV nicht soo wenig. Ich würde den Verstärkerkopf in der Nähe der Sensoren plazieren und dann die verstärkten Signale Richtung Wandler/DSP führen, am besten differentiell. So vermeidet man Einstreuungen und transportiert niederohmige, unempfindliche Signale.
:
Bearbeitet durch User
Danke fuer die Antwort! Dass ich das Signal an den Eingangsbereich anpassen muss, war mir aber klar und war auch gar nicht Thema meiner Frage. Matthias Sch. schrieb: > Nehmen wir mal an, der AD Wandler verarbeitet einen Bereich von 0 bis 5 > V (also +/- 2,5V) Genau das ist meine Frage. Was ist denn nun der Eingangsbereich dieses ADCs? Warum wird er mit V rms angegeben und was heisst das uebersetzt? Um weiterzukommen, muss ich den Eingangsbereich estmal kennen, sonst weiss ich ja gar nicht, um welchen Faktor ich verstaerken muss.
Hanna B. schrieb: > Genau das ist meine Frage. Was ist denn nun der Eingangsbereich dieses > ADCs? Warum wird er mit V rms angegeben und was heisst das uebersetzt? Schau dir einfach mal den Umrechner hier an: http://www.referencedesigner.com/rfcal/vrms-to-vpeak-conversion.php RMS ist in der Audiotechnik verbreitet, deswegen geben die Jungs bei Audiowandlern das so an. Ich stimme dir allerdings zu, es ist zum Designen mit Eingangsbereichen unpraktisch und teilweise sogar verwirrend.
Danke! Vpp ist dann 5 V, das heisst ich hab einen Eingangsbereich von ungefaehr +/- 2,5 V.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.