Hallo, ich benötige als neueinsteiger ein wenig hilfe.ich kenne mich garnicht mit mikrocontroller aus,nur mit der programmierung. mein problem ist,dass ich drei signale(zwei digitale und ein analoges) mit 200kHz synchronisieren muss.alle drei signale sollen in den rechner geladen werden und ausgewertet. meine frage:wie kann ich das mit mikrocontrollerboards realisieren und welche kommen da in frage?natürlich ginge auch ein einfacher uC,das board wird dann zusätzlich entwickelt. ist nur ne variante von mir,alternativen sind PCI- oder USB-Messmodule.die sind nur ein wenig teuer. wär euch für eure hilfe sehr dankbar MfG
Mir ist die Sache mit dem "synchronisieren" nicht ganz klar, aber ansonsten würde ich sagen kannst Du je nach Ausgabe Deiner Berechnung ab einen Tiny aufwärts alles verwenden. Da ich mit A/D bisher aber noch nicht gearbeitet habe scheinen 200kHz so das Limit zu sein was an Samplingrate drin ist.
Hi 200kHz an analoger Samplingrate ist für einen AVR viel zu viel. IIRC liegt der maximale Takt für den ADC bei 200kHz. Ein Wandlung dauert etwa 14 Takte. Also mehr als 14kHz Samplingrate ist baie voller Auflösung nicht rauszuholen. Man kann den ADC zwar schneller betreiben verliert aber dann auch deutlich an Auflösung. Der OP sollte erstmal seine Aufgabe besser beschreiben dann kann man auch bessere Angaben zum verwendeten Controller machen. Matthias
naja gut, wie schon gesagt müssen drei signale abgetastet werden und das mit einer Frequenz von 150..250kHz.daran lässt sich nichts drehen.auf alle fälle sollte es ein 16bit uC sein.da es 12bit signale sind.es können auch alle drei signale digital reingeladen werden.mit synchronisieren meine ich,die gleichzeitige abtastung aller drei signale und das reinladen dieser signale in den pc.sie werden dann ausgewertet. fragt einfach,wenn noch unklarheiten,bin für jede aufklärung dankbar!
Hm...da würde ein 8-bitter höchstwahrscheinlich reichen. Dass Du die Signal 12bit auflöst, hat nix damit zu tun, ob der Controller ein 8bit, 16bit oder 32bit ist. Ja, man kann auch 32bit Zahlen it einem 8bitter rechnen.
ARM-Prozessoren würde ich dafür vorschlagen. Z.b. LPC von Philips oder auch SAM7 von Atmel. Ein 8-Bitter ist dafür zu schwach. 3 Signale mit je 250 kHz und 12 Bit sind schon 1,1 Megabyte pro Sekunde. Da macht auch ein 8-Bitter mit 16 MIPS nicht mehr viel. Und zum Rechner sollen die Daten auch noch übertragen werden, z.B. per USB, denn RS232 ist dafür viel zu lahm. Einen extern AD-Wandler wirst Du für diese Samplingraten sowieso brauchen.
Hi selbst USB (HighSpeed, 12MBit) ist da eigentlich nicht mehr geeignet. Mit den nötigen 9MBit ist man IMHO zu nahe am Maximum. Also bleibt USB 2.0 Full Speed was das Platinenlayout nicht gerade vereinfacht oder Fast Ethernet. Ich persönlich würde den Weg über zwei Controller (dann reicht zweimal Mega16) und zweimal FT245BM gehen. Aber das eher dadurch das ich beides schonmal eingesetzt habe und damit das Problem schnell gelößt sein dürfte. Matthias
Muss das ganze denn kontinuierlich erfolgen ? Oder nur für eine festgelegte Datenmenge ? Ansonsten nimm doch nen Fix-Point DSP von TI (den TMS320F2812) der hat den 12 Bit Wandler drinn (die 12 Bit nicht zu genau nehmen :o))). Genügend Portpins etc. Rechenleistung sowieso... Fehlt nur noch der Transfer zum PC....USB 1 wird knapp, 2.0 würde gehen. Oder evtl. über die parallele Schnittstelle ? Gruß Thomas
Hallo, mein Vorschlag währe ein Cypress FX2 mit vorgeschaltetem High-Speed AD-Wandler, z.B. ADS9224 von Analog-Devices. Bei geeigneter Beschaltung bekommt man locker Abtastraten grösser 1 MHz hin, ohne viel uC zu programmieren. Von den 16 digitalen Fifo-Eingängen verwendest du 12 für den AD-Chip und hast dann noch 4 für die Digital-Signale übrig. Die Ansteuerung des AD-Chips sollte sich über den Waveform-Generator des FX2 recht gut realisiseren lassen. Gruss, Peter
hi, die messung soll natürlich kontinuierlich erfolgen und das über einen längeren zeitraum,z.b. 1-2tage max. danke für eure tipps!
Dir ist schon klar, dass 3 mal 12 Bit mit 250 kHz etwa 90 Gigabyte pro Tag sind? Das ist an und für sich natürlich überhaupt kein Problem. Aber für einen "neueinsteiger" wird das zum Problem werden...
Mir ist die Aufgabenstellung immer noch nicht ganz klar... Du willst also 2 Bit und einen Analogwert einlesen "drei signale(zwei digitale und ein analoges)". Kann man aus "da es 12bit signale sind" schließen dass der Analogwert mit 12Bit Auflösung eingelesen werden soll? Was hattest Du als Übertragungsweg gedacht (USB, Seriell, Parallel, LAN)? Wenn man bei den zu erfassenden Daten im günstigen Fall von 2Byte/Messung ausgeht (2Bit+12Bit) kommt man bei einem "längeren Zeitraum" auf ca. 43GByte/Tag - was ja bei heutigen Festplatten kein Problem darstellen sollte.
der übertragungsweg wird USB sein,da es ja klar ist,da dies am schnellsten ist. ein signal kommt von einem sinusgenerator und ist das signal welches auf ein gerät geht,das etwas bewegt.die bewegungen werden als zwei signale ausgegeben und sollen mit dem ersten verglichen werden, um verstärkung und phasenverschiebeung zu messen! die daten,welche empfangen werden, werden über ein programm ausgelesen, umgesetzt und danach wieder gelöscht.die,sagen wir mal berechneten werte,werden dann gespeichert! kompletter neueinsteiger bin ich nicht,nur was mikrocontroller-hardware angeht!
ahja,befindet sich an oder in dem mikrocontroller ein zwischspeicher,würde ich die daten dort ablegen und mit einer geringeren abfragen und auf den rechner ziehen,nur wird dann die betriebsdauer herabgesetzt,denn der speicher ist ja auch mal voll;)! großteils geht es mir nur um den mikrocontroller,welche meine vorraussetzungen auch wirklich umsetzen können.
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.