Hallo, Ich möchte einen Datenlogger bauen. Dieser soll auf einem Arty z7 aufsetzen. Ich möchte dem ein shield gestalten, dass je einen TI MSP432 Chip als integrierten FIFO-Buffer und 14 Bit ADC pro Kanal verwendet. Die Kommunikation soll über SPI geschehen. Getriggert wird über das Arty board. Danach werden die einzelnen Bausteine sequenziell ausgelesen. Die Daten werden dann auf der SD-Karte des Arty abgelegt. Meine Frage an euch ist, hat jemand schon mal etwas in der Art gebaut und dabei RTOS verwendet? Und macht es aus eurer Sicht Sinn, Aufgaben auf MSP432 auszulagern? Ich möchte ein echtzeitfähiges System zur simultanen Abtastung von bis zu 12 analogen Signalen mit einigen KiloSampel schaffen.
:
Verschoben durch Moderator
Wie bekommst du die Daten nach außen? SD Karte immer stecken? Hast du ein RTOS schon mal geschrieben?
Da ich keine Langzeitmessungen machen möchte, würde ich die SD-Karte nach Beendigung einer Messung entnehmen, bzw. diese über USB auslesen. Ich habe mich bisher etwas mit TI RTOS für Launchpads und Vivado befasst. Den Weg würde ich dann auch hier bei Programmierung gehen wollen.
Die Verwendung der MSP432 ist eigentlich eine Kostenfrage. Sicher macht es mehr Sinn eigenständige ADCs und Buffer zu verwenden. Damit würde auch ein Mehraufwand in der Programmierung entfallen. Der Footprint und das Layout der Aufsatzplatine würden ebenfalls schrumpfen. Und ich könnte den höhertaktenden Bus des z7 voll ausschöpfen. Nachteil wären eben höhere Kosten.
Ich habe einen Softcore geschrieben, der die MIPS Befehle beherrscht. http://www.dossmatik.de/mais-cpu.html Leider habe ich es noch nicht geschafft ein RTOS für meinen Softcore zu schreiben. Weil ich Hardwerker und kein Softwerker bin. Diesen Softcore habe ich gerade auf dem Arty laufen. Der Artix hat auch einen internen ADC. Nennt sich XADC. 12bit 1MSPS. Den habe ich selber noch nicht benutzt. Sollte aber gehen.
Danke René! Ich sehe mir dein Projekt mal etwas näher an. Für mein Vorhaben sind 12 bit leider zu wenig. 14 bit sind meine Untergrenze.
Gnorbert schrieb: > Danke René! Ich sehe mir dein Projekt mal etwas näher an. > > Für mein Vorhaben sind 12 bit leider zu wenig. 14 bit sind meine > Untergrenze. Hat der MSP 14 bit ADCs? Kannst du mir mal bitte eine private Mail senden.
Moin, den Sinn eines RTOS sehe ich eigentlich nur, wenn man sich bezüglich Filesystem oder Netzwerk-Interfaces in ein gemachtes Nest setzen kann, wie z.B. bei freeRTOS. Ansonsten ist die Frage wie eng "Echtzeit" bei dir gefasst ist. Gnorbert schrieb: > Und macht es aus eurer Sicht Sinn, Aufgaben auf MSP432 auszulagern? Ich würde gleich alles auf dem msp432 machen. Wozu den Zynq?
Strubi schrieb: > Ich würde gleich alles auf dem msp432 machen. Wozu den Zynq? Der Zynq übernimmt zusätzlich die Datenverarbeitung. Z.B. FFT.
Aber wozu überhaupt die MSP432? Du hast einen Zynq, der kann (beinahe) alles, was die MSP432 auch können. Da sehe ich ehrlich gesagt keinen wirklichen Vorteil. Und den MSP432 lediglich als ADC zu verwenden ist auch ein wenig...ungeschickt. Wie ich das verstanden habe, sind deine Anforderungen mindestens 14 Bit bei einigen KSPS bis MSPS. Das macht doch der Zynq mit ein paar externen ADCs locker? Und das Argument der geringeren Kosten verstehe ich auch nicht wirklich, ein passender ADC kostet wenige Dollar?
Naja, wth schrieb: > doch der Zynq mit ein paar externen ADCs locker? Und das Argument der > geringeren Kosten verstehe ich auch nicht wirklich, ein passender ADC > kostet wenige Dollar? Es hat sich - mit Recht - rumgesprochen, dass die msp43x als billige intelligente ADC prima taugen. Allerdings sollte vielleicht das obige Konzept der "gleichzeitigen" Abtastung überdacht werden...denn die Kanäle sind gemuxt. Und bei der Samplingfrequenz brauchst du auch für ne FFT keinen Zynq...
Na gut. Das mit dem Multiplexen stimmt. Die MSP432 haben 1MSps, mit 14bit und einer Datenrate von (bis zu 16) 14 Mbps. Wenn wir annehmen, der Chip schaufelt ideal alle Daten durch, und ich nehme 16 Stück davon, die über SPI gemultiplext werden. Dann wären immer noch ca 70kSps je Kanal möglich. Für meinen Zweck reichen 2-10kSps aus. Mir fehlt einfach die Erfahrung. Dann frage ich mal in die Runde: Kann man mit dem Arty eine parallele Abtastung mit 10 kSps bei 14 bis 16 bit realisieren? Und darüber einen Server darauf laufen lassen? http://www.wiki.xilinx.com/ARTY+FreeRTOS+Web+Server?responseToken=b1c7c94c3adbf99458853e9d038386b7
in deinem Bereich wo du denkst. Würde ich externe Audio ADCs verwenden. Typischer Hersteller sind Analog Device, Texas Instruments, AKM oder Cirrus Logic am Markt. Ja, In deinem Link hat Xilinx einen Softcore benutzt und es wird möglich sein. Der Softcore läuft nur auf Xilinx FPGAs.
Dafür brauchst du kein FPGA+2MCU's. Das schafft ein mittelgroßer MCU locker, 12 Känale mit einigen KSamples/s abfragen und ergebnis über spi auf eine SD-Karte schreiben. Das wird viel einfacher umzusetzen. Gruß
>Und darüber einen Server darauf laufen lassen?
He? Wo kommt die Anforderung auf einmal her...?
Du bist einer...
Dann würde ich ganz anders vorgehen: -ESP8266-Shield -14bit ADC 12 Kannal über SPI angebunden -keine SD-Karte sondern Daten werden gleich auf Webseite angezeigt bzw. weggespeichert auf datenbank im netzwerk Gruß J
armab schrieb: > Dann würde ich ganz anders vorgehen: > > -ESP8266-Shield > -14bit ADC 12 Kannal über SPI angebunden > -keine SD-Karte sondern Daten werden gleich auf Webseite angezeigt bzw. > weggespeichert auf datenbank im netzwerk Hast du die Anforderungen gelesen? Abgesehen von der nicht ausreichenden Bandbreite ist ein 8266 für ernsthafte Entwicklungen unbrauchbar.
So ein FPGA holt die paar Daten von den ADCs fast im Standby Modus ab ;) Ich hab hier einen LTM9011 mit 8x125MS/s am Artix. Und das juckt den auch kaum...
:
Bearbeitet durch User
Danke für die viele konstruktive Kritik. Ich habe etwas nach ADC recherchiert, und die die interessant wären (simultane Abtastung), sprengen das Budget. Da ich mich vorerst bis 10kSps begnüge, werde ich nun doch erstmal den integrierten xADC verwenden.
...trotz der 12bit. Wenn das läuft, überlege ich mir, wie es weiter geht.
Der ADC hat doch eine Samplerate im MSPS-Bereich? Bei 12 Kanälen und 10 ksps könntest du wenigstens 8-fach-Oversampling erreichen. Damit gewinnst du 1,5 ENOB und bist damit nah am 14-Bit-Wandler dran.
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.