LabVIEWForum.de
SPI Signal mittels LabVIEW - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: SPI Signal mittels LabVIEW (/Thread-SPI-Signal-mittels-LabVIEW)

Seiten: 1 2 3


SPI Signal mittels LabVIEW - Sandisk - 11.01.2011 14:36

Hallo,

ich habe eine Frage zum Empfangen bzw. Lesen eines SPI Signals der Länge 16bit für einen Chip. (16bit sind 1Byte Header, 1 Byte Data). SPI selbst ist mir klar bzw. die Codierung.

Kann ich mir ein VI zum Testen erstellen, ohne den Chip zu haben? Senden/Empfangen sollte ja auch "virtuell" funktionieren?

Software: LabVIEW Version 2009

Zur Verfügung stehende Hardware:
1x NI PCIe 6537
1x NI CB-2162

Danke für Tipps!


SPI Signal mittels LabVIEW - Y-P - 11.01.2011 15:16

Du solltest Dir die Hardware im MAX "simulieren" können. Das geht mit ziemlich vielen Karten. Schau mal, ob Deine auch dabei ist.
Dann kannst Du sie auch in Deinem Bsp. verwenden. Wenn Du dann fertig bist, dann kannst Du sie durch die reale Hardware aus dem MAX ersetzen.

Gruß Markus


SPI Signal mittels LabVIEW - Lucki - 11.01.2011 16:29

' schrieb:ich habe eine Frage zum Empfangen bzw. Lesen eines SPI Signals der Länge 16bit für einen Chip.
Empfangen und Lesen ist doch dasselbe, hast Du das so geschrieben, weil Du meinst, nicht alle hier haben beide dieser Vokabeln auf der Palette?Mellow
Ich würde ein VI zum Senden und ein VI zum Empfangen erstellen, die zugeordneten Sende/Empfangspins miteinander verbinden und beide VIs parallel laufen lassen. Und dann schauen, ob das was man sendet am anderen VI richtig ankommt.
Außerdem würde ich die gleichen Daten kontinuierlich senden und mit einem Oszilloskop oder Datalogger mir die seriellen Daten auf den Leitungen angucken (so sagt der Sachse).


SPI Signal mittels LabVIEW - Sandisk - 11.01.2011 23:48

Man merkt halt doch wer länger damit gearbeitet hat! Cool Danke für den Hinweis. Wenn ich nicht weiter weiß melde ich mich wieder.

Zitat:Außerdem würde ich die gleichen Daten kontinuierlich senden und mit einem Oszilloskop oder Datalogger mir die seriellen Daten auf den Leitungen angucken (so sagt der Sachse).

Das ist eh klar, und auch eher einfach zu lösen.Wink


SPI Signal mittels LabVIEW - Sandisk - 12.01.2011 08:29

Was ich mir denke:

1) Ich brauche 4 Signale, die ich aussende: CS (Chipselect), SCLK (Clock), SDI (Serial Data in) und SDO (Serial Data Out). Bei Serial Data Out bin ich nicht sicher, da sich das Signal in meinen Charts nie ändert.
2) Diese 4 Signale lese ich auch wieder ein, mit dem beschriebenen zweiten VI.
3) Ich erstelle mir 2 State-Diagramme (eins für Read, eins für Write), mit jeweils den einzelnen Zuständen (Also 1. CS auf LOW, dann Abfrage ob bei steigender oder fallender Flanke von SCLK abgefragt oder übertragen wird, usw. Der ganze SPI Ablauf halt)

Kritik usw. gerne gehört. Wink

EDIT: So wie in diesem Tutorial habe ich es mir vorgestellt!

http://zone.ni.com/devzone/cda/tut/p/id/5385

EDIT2: Ok, das ist FPGA. Aber so ähnlich müsste es bei mir auch ablaufen?


SPI Signal mittels LabVIEW - Lucki - 12.01.2011 09:06

Hatte mal ein Test-VI zum Serialisieren der Daten für einen seriellen DAC gemacht. Vielleicht kannst Du das als kleine Anregung mit verwenden.
Das Tutorial werde ich mir mal ansehen, danke für den Hinweis.
[attachment=31625]
Lv09_img2[attachment=31626]


SPI Signal mittels LabVIEW - Sandisk - 12.01.2011 09:53

' schrieb:Hatte mal ein Test-VI zum Serialisieren der Daten für einen seriellen DAC gemacht. Vielleicht kannst Du das als kleine Anregung mit verwenden.
Das Tutorial werde ich mir mal ansehen, danke für den Hinweis.
[attachment=60778:1.png]
Lv09_img2[attachment=60779:Serialisieren.vi]

Ich habe hier noch etwas gefunden, scheinbar eine komplette LIB für SPI. Muss aber erst schauen ob es mir was bringt.

LG Sandisk


SPI Signal mittels LabVIEW - Sandisk - 12.01.2011 12:38

Nachdem ich meinen alten Beitrag leider nicht mehr editieren kann:

Hier der Link zur Library!

http://zone.ni.com/devzone/cda/epd/p/id/6163

Ich bin aber inzwischen davon abgekommen, da es mir doch zu aufwendig erscheint (?). Vor allem wenn man in die Sub-VIs runtersteigt, erkennt man doch recht schnell dass es nicht ganz so trivial ist. Denke selbst programmiert geht es schneller und einfacher.

Wie bringe ich eigentlich eine digitale Waveform dazu, auf der Datenkarte ausgelesen zu werden? Ich hab hier ein VI, welches ein Waveform mit den 4 gewünschten Werten produziert. Wenn ich dieses aber DAQmx ausgeben will sagt er mir, dass die Typen nicht zusammenpassen?

Source is 1D array of waveform
Sink is digital waveform

Kann ich da was tricksen?


SPI Signal mittels LabVIEW - Sandisk - 12.01.2011 14:56

' schrieb:Hatte mal ein Test-VI zum Serialisieren der Daten für einen seriellen DAC gemacht. Vielleicht kannst Du das als kleine Anregung mit verwenden.
Das Tutorial werde ich mir mal ansehen, danke für den Hinweis.

Ich hab mir jetzt Dein VI angesehen, den Anfang hab ich gleich (durch Zufall). Ich fang jetzt von "klein" auf an, es bringt nix gleich alles niederbrechen zu wollen. Kannst Du mir kurz verraten wie der Ablauf ist, bzw. was es mit den Durchläufen auf sich hat (beispielsweise N=38?). Ich sehe ihn zwar, aber so recht verstehen tu ich ihn nicht.

Danke!


SPI Signal mittels LabVIEW - Sandisk - 17.01.2011 07:49

Kann mir jemand sagen warum ich mit diesem Programm keinen Output bekomme?

Ich will dass mir die HEX-Zahl als 0/1 (also als Rechteck) ausgegeben wird, das Signal greife ich mit einem Oszilloskop ab. Aber es tut sich nüschts.:(Ich versuche lediglich mal das Signal rauszubekommen, aber scheinbar ist selbst das extrem umständlich. Ich fange an LabVIEW richtig zu hassen, in C hau ichs rein aber hier kann man sich aufhängen gehen wenn man es nicht weiss. Dry

LABVIEW Version: 2009