Forum: FPGA, VHDL & Co. Datenlogger mit FPGA und MSP432


von Gnorbert (Gast)


Lesenswert?

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
von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Wie bekommst du die Daten nach außen?

SD Karte immer stecken?

Hast du ein RTOS schon mal geschrieben?

von Gnorbert (Gast)


Lesenswert?

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.

von Gnorbert (Gast)


Lesenswert?

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.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

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.

von Gnorbert (Gast)


Lesenswert?

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.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

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.

von Strubi (Gast)


Lesenswert?

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?

von Gnorbert (Gast)


Lesenswert?

Strubi schrieb:
> Ich würde gleich alles auf dem msp432 machen. Wozu den Zynq?

Der Zynq übernimmt zusätzlich die Datenverarbeitung. Z.B. FFT.

von wth (Gast)


Lesenswert?

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?

von Strubi (Gast)


Lesenswert?

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...

von Gnorbert (Gast)


Lesenswert?

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

von Gnorbert (Gast)


Lesenswert?

... gern auch bei Verwendung von externen ADCs

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

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.

von armab (Gast)


Lesenswert?

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ß

von armab (Gast)


Lesenswert?

>Und darüber einen Server darauf laufen lassen?

He? Wo kommt die Anforderung auf einmal her...?

Du bist einer...

von armab (Gast)


Lesenswert?

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

von boeserfisch (Gast)


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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
von Gnorbert (Gast)


Lesenswert?

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.

von Gnorbert (Gast)


Lesenswert?

...trotz der 12bit. Wenn das läuft, überlege ich mir, wie es weiter 
geht.

von xWay (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.