Hallo Ihr,
ich bin noch Neuling und probiere gerade folgendes zu entwerfen:
-Endliche Pulserzeugung (Duty-Cycle: 50%)
-Frequenz und Anzahl der Pulse soll auf RT Ebene eingelesen werden.
Anbei habe ich mal ein VI, die Simulation klappt auch.
Da ich aber KEINE Ahnung von FPGA habe, wäre ich sehr dankbar ob Ihr mir sagen könntet ob mein VI so funktioniert! Oder was ich von der Programmierung zu beachten habe.
Anbei das aktuelle Snippet
Viele Grüße
Hoodi
Hallo Hoodi,
bei einem festen Duty=50% (d.h. gleich lang HIGH and LOW) würde ich einfach die Anzahl der Ticks pro Halb-Puls im RT-Host berechnen.
Dann die Anzahl der Halb-Pulse und deren Tick-Länge an den FPGA weiterleiten und dort dann:
[
attachment=49532]
Dein DIO-Modul muss die entsprechenden Timings auch erlauben, d.h. evtl. musst du im RT-Host die Anzahl der Counts nach unten begrenzen…
Und nimm den Chart aus dem FPGA raus, der gehört da nicht hin!
Vielen Dank GerdW,
ich werde mir dies angucken. VIELEN DANK!
Von der Hardware her geht es hier um einen "NI myRIO" (nagelneue akademische Hardware für Prototypen-Aufbau).
Werde mich wieder melden, wenn ichs ausprobiert habe
Hallo GerdW,
so nochmals vielen Dank!
Die Simulation klappt schon mal.
Wie meinst du das mit dem begrenzen von Ticks?
Meine Hardware (myRIO) hat eine Clock von 40MHz.
Hallo Hoodi,
Zitat:Wie meinst du das mit dem begrenzen von Ticks? Meine Hardware (myRIO) hat eine Clock von 40MHz.
Beim cRIO gibt es verschiedene DO-Module, die jeweils unterschiedliche Samplingraten erlauben. Manche darf man schneller beschreiben, manche deutlich langsamer. Wie das beim sbRIO genau ist, kannst du dem Manual entnehmen.
Deshalb der Hinweis, dass man evtl. die maximale Samplingrate beim Setzen der DOs begrenzen muss, damit man nicht in ein Hardware-Limit läuft…
Hallo GerdW,
jetzt weiss ich was du meinst.
Beim NI myRIO ist eine minimale Pulsweite von 20ns möglich....das muss ich umrechnen und dann als Limit setzen.
VIELEN DANK!
Ich muss Gerd (ausnahmsweise) korrigieren, die saubere Lösung sieht so aus:
[
attachment=49634]
Die Ausführung der For-Loop braucht 2 zusätzliche Ticks.
1/ 20 ns = 50 MHz, du kannst die DIOs des myRIO also sogar in einer SCTL setzen bzw. auslesen.
Gruß, Jens