Hallo, wie realisiert ihr die Datenübertragung, wenn ihr den Controller als eine Art externe Messkarte verwenden wollt? Als Beispiel würde ich einen Xmega mit DMA und der Auflösung eines Messwertes von 12 Bit verwenden. Es geht mir eher um das Prinzip, wie man so etwas löst, so dass die Daten schnell an den PC geschaufelt werden. Weiterhin interessiert es mich, welchen Aufbau ich benötige wenn ich sehr kurz aber dafür schnell messen möchten. In welche Art von Baustein verwende ich da um die Daten extern Zwischen zu speichern um sie dann langsam an den Rechner zu senden. Das ganze ist nicht für ein direktes Projekt, sondern es geht mir eher um das Prinzip, wobei direkte Beispiele auch nicht uninteressant sind. Randbedingung sind eben atmega bzw. ein xmega als controller. Grüße martin
Martin J. schrieb: > so dass die Daten wieviele? > schnell an den PC geschaufelt werden. wie schnell?
Martin J. schrieb: > ... welchen Aufbau ich benötige wenn ich sehr kurz aber dafür schnell > messen möchten Das kommt drauf an, was für dich "sehr kurz" und "schnell" ist - außerdem natürlich wie genau und mit welcher Auflösung du messen möchtest.
Auflösung 12 Bit. Es geht nicht um genaue Zahlen. Wie bekommt man das maximale an Übertragungsgeschwindigkeit heraus, was möglich ist?
Stichwort: Ins Datenblatt schauen. Da kommt noch vermutlich Overhead vom Übertragungs-Protokoll hinzu.... PS: Deine Frage ist so allgemein, das man eine Glaskugel braucht.
Was erwartest Du, 'ne Anleitung mit ausführlichem Bauchkraulen? Wird Dir kaum jemand machen. Du solltest 'ne gewisse Eigenleistung erbringen, die könnte z.B. daraus bestehen das DB des XMega anzuschauen, wie schnell denn die AD-Wandler bei der geforderten Auflösung überhaupt wandeln und in den internen Speicher schreiben können. Aber auch da fehlen bereits Angaben zur Datenmenge, so dass beurteilbar wäre, ob der Speicher überhaupt reicht. Wenn Du erwartest, dass Dir gegeben wird, solltest Du auch was bringen können. Und wenn's nur eine genaue Beschreibung des Einsatzzwecks wäre.
Am oberen Geschwindigkeitsende, bei 100+ MSample steuert man den ADC mit einem FPGA, das entweder hinreichend internes RAM hat oder externes RAM ansteuert.
> Am oberen Geschwindigkeitsende, bei 100+ MSample
Da kommt aber der PC schon ins Schleudern
Höchstwahrscheinlich die Fortsetzung davon: Beitrag "Erfahrungswerte Abtastrate ATMega?" Diese Schnurrer gehen auf den Sack, besonders dann, wenn absolut unklar ist, worum es geht.
Leute warum müsst ihr alle immer jeden "runter machen". In allen Threads findet man keine Lösung außer das mein ein schlankes Protokoll braucht und son zeug was sich jeder selber denken kann. Ja es geht auch in die Richtung wie in dem Beitrag Beitrag "Erfahrungswerte Abtastrate ATMega?" Wobei es in dem Artikel eher über sinnvolle Abtastraten bezüglich Layout und co geht und weniger um die Datenübertragung. Aber da gibt es auch keine richtige Lösung bzw. Empfehlung. Ich hab schon relativ viel mit Controllern gemacht und bisher hat auch die Geschwindigkeit immer gereicht. Vieles davon findet man ja hier http://www.jtronics.de/avr-projekte/xmega-tutorial.html Aber in Richtung hohe Datenübertragungsrate hab ich eben heute mal paar Fragen. Weil was bringt mir ein schneller ADC wenn ich die Daten damit nur auf ne SD Karte per SPI oder in den internen Speicher schieben kann. Ich könnte noch auf dem Controller die Daten mittels Mittelwertfilter reduzieren. Oder ich kann auch die Daten Reduzieren, indem ich nur die Deltas zum letzten Messwert versende, aber das können doch nicht nur die einzigen Mittel sein?
:
Bearbeitet durch User
44luftballons schrieb: >> Am oberen Geschwindigkeitsende, bei 100+ MSample > > Da kommt aber der PC schon ins Schleudern Warum sollte er? Zur Erinnerung: Es geht darum, "sehr kurz aber dafür schnell" zu messen und dann "die Daten extern Zwischen zu speichern um sie dann langsam an den Rechner zu senden". Da ist es dem PC ziemlich egal, mit welcher Rate die Daten aufgenommen wurden.
Rolf Magnus schrieb: > schnell" zu messen und dann "die Daten extern Zwischen zu speichern um > sie dann langsam an den Rechner zu senden". Was empfiehlst du hier als Zwischenspeicher, Im Fall man hat viele Daten die man aufnehmen möchte?
Martin J. schrieb: > Es geht mir eher um das Prinzip, wie man so etwas löst, so dass die > Daten schnell an den PC geschaufelt werden. Das ist eigentlich nur eine Frage der am PC verfügbaren Schnittstellen. Das Problem ist, daß die Tendenz in der PC-Technik seit Jahren immer mehr zu schnellen seriellen Schnittstellen mit diffentieller Datenübertragung ging, es genau in diesem Bereich bei µC aber meist klemmt. Bestenfalls gibt's Fullspeed-USB und dessen Nettorate von ca. 8MBit/s stellt dann halt die Grenze dar. Schneller geht's nur mit ALTER PC-Technik. Oder halt zusätzlichen Hardware-Bridges. > Weiterhin interessiert es mich, welchen Aufbau ich benötige wenn ich > sehr kurz aber dafür schnell messen möchten. Nur genug RAM. Und einen µC, der diesen RAM ansteuern kann. Oder wieder zusätzliche Hardware, diesmal als RAM-Controller. > Randbedingung sind eben atmega bzw. ein xmega als controller. Schöne Teile, aber zur schnellen Kommunikation mit modernen PCs einfach die falsche Wahl.
Martin J. schrieb: > Was empfiehlst du hier als Zwischenspeicher, Im Fall man hat viele Daten > die man aufnehmen möchte? Nun sag endlich, was du mit "viele Daten" und "schnell" und "sehr kurz" meinst. Ist die Übertragung der Engpaß oder der verdammte µC? Deine Allgemeinplätze nerven allmählich. Martin J. schrieb: > Randbedingung sind eben atmega bzw. ein xmega als controller.
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.