Hi, versuche gerade in die arm welt einzusteigen, da ich einen datenlogger für mein uni-project basteln will. Jetzt war eigentlich meine Idee die Werte in einem Array (auf dem SRAM) zu speichern, welches aus 1 Spalte besteht ich welcher die Werte des 12 Bit AD/Wandlers eingetragen werden. Ziel ist eine hohe Abtastrate (am liebsten 1000hz und mehr). Gemessen werden sollen Druckschläge mittels eines druckmessumformer (Ausgang 0-2,5V). Für den Abtastrate würde ich den Timer Overflow nehmen welcher einen Interrupt auslöst. Dann soll der aktuelle Wert des AD/Wandlers in die 1. Spalte des Arrays gespeichert werden. Da die Messung circa 3 Sekunden gehen soll wären das ja bei einer Abtastrate von 1000Hz 3000 Werte. Würde ich das Array mit uint16_t anlegen wären dies dann 60000byte (also knapp unter 6kb). Dann bleibt doch besitmmt noch genug arbeitsspeicher für den rest übrig. Das ganze soll gestartet werden sobald der Druck über einen bestimmten Wert ansteigt. Nach der Messung sollen diese Werte wieder der richtigen zeit zugeordnet werden und über den uart das ganze an den computer geschickt werden. Ich habe das ganze mehr oder weniger auf einem avr entwicklungsboard mit einem atmega32 probiert. dies hat auch einigermaßen funktioniert. allerdings war da mein problem der geringe SRAM und ich wollte sowieso eher in die arm welt einsteigen. allerdings scheitere ich nun schon am Array. dieses wollte ich im angehängten Code mittels einer Schleife mal Testhalber erstellen lassen. Der Code funktioniert bis zur eine Arraygröße von circa 25 Zeilen. Sind es mehr werden keine daten mehr an mein COM terminal am Computer gesendet(putty). angeschlossen ist das ganze via usb kabel und virtuellen com port. woran liegt das? bei meinem avr hat dies so funktioniert.
Uli Brugger schrieb: > aktuelle Wert des AD/Wandlers in die 1. Spalte des Arrays gespeichert > werden. Da die Messung circa 3 Sekunden gehen soll wären das ja bei > einer Abtastrate von 1000Hz 3000 Werte. 3 Sekunden für eine Messung, und dann doch 1000x pro Sekunde, wie geht das? > Würde ich das Array mit uint16_t anlegen wären dies dann 60000byte (also > knapp unter 6kb). Dann bleibt doch besitmmt noch genug arbeitsspeicher > für den rest übrig. Was sagt das Datenblatt dazu? > allerdings scheitere ich nun schon am Array. Das Matrix-Array? > Der Code funktioniert bis zur eine Arraygröße von circa 25 Zeilen. Du meinst Elemente? > Sind > es mehr werden keine daten mehr an mein COM terminal am Computer > gesendet(putty). Und die TX LED?
Also das launchpad hat 32 kb sram. da das launchpad 80MHZ hat und ich hier: http://hackaday.com/2013/01/27/turning-the-stellaris-launchpad-into-a-logic-analyzer/ gesehen habe, dass das launchpad als 10MHZ logic analyzer genutzt werden kann, dann denke ich dass 1000hz zu loggen möglich sein sollten. der ad wandler schafft ja auch 1000ksps. aber 300hz sind untere grenze. vielleicht habe ich auch zu wenig ahnung... ja meine das Matrix-Array. Da ich für mich selber bei einem 2-dimensionalen Matrix-Array mir das immer zeilen spalten verdeutliche hat für mich ein 1-dimensionales Matrix-Array halt auch zeilen mit nur einer Spalte :) die led leuchtet nicht.
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.