Witam
Buduje urządzenie - tester. W skrócie ma to działać tak, że w momencie pojawienia się na jednym z wejść cyfrowych zbocza narastającego muszę odczytać wejście analogowe, przemnożyć je przez jakąś wartość (zależną od numeru wejścia cyfrowego) i odesłać na odpowiednie wyjście analogowe. Problemem jest reżim czasowy, sygnał pojawia się z częstotliwością 3kHz i trwa 40us. I właśnie w czasie tych 40us muszę wykryć zbocze, zmierzyć poziom sygnału i odesłać na wyjście. Sprzęt jaki mam to karta PCI-6221, teoretycznie bez problemu powinna próbkować sygnał z częstotliwością 200kHz tyle, że sygnał na wyjściu pojawia się mniej więcej co 40ms czyli dużo dużo za wolno. Czy coś takiego jest w ogóle do zrobienia? w 40us odczytać wejście, przemnożyć i odesłać na wyjście?
poniżej kawalek programu:
z góry dziekuję za pomoc
jak szybko można przeczytać wejście i odesłać na wyjście?
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: jak szybko można przeczytać wejście i odesłać na wyjście?
Witaj
Niestety sposób realizacji tego zadanie przez ciebie nie jest prawidłowy.
Skoro masz tak duży reżim czasowy, to należy to rozwiązać inaczej i to na innym sprzęcie.
Jedyna opcja dla ciebie to karta FPGA (np. NI PCIe-7851R).
Karty tańsze z serii 783x oraz 783x też się powinny nadać. Czas konwersji dla nich wynosi 4 μs, a dla proponowanej 785x wynosi 1 μs.
Układ FPGA spokojnie obsłuży resztę i wystawi wartość na wyjście. Powinieneś się wyrobić w 5-10 μs w zależności od karty.
PS. Co do twojej karty zauważ iż jest to karta z multiplekserem pracująca na magistrali PCI a program działa pod Windowsem jak mogę się domyślać. To wszystko powoduje że otrzymujesz to co otrzymujesz.
Można to nieco poprawić inaczej pisząc twój program, ale nie osiągniesz na tym poziomu, który oczekujesz.
bogdani
Niestety sposób realizacji tego zadanie przez ciebie nie jest prawidłowy.
Skoro masz tak duży reżim czasowy, to należy to rozwiązać inaczej i to na innym sprzęcie.
Jedyna opcja dla ciebie to karta FPGA (np. NI PCIe-7851R).
Karty tańsze z serii 783x oraz 783x też się powinny nadać. Czas konwersji dla nich wynosi 4 μs, a dla proponowanej 785x wynosi 1 μs.
Układ FPGA spokojnie obsłuży resztę i wystawi wartość na wyjście. Powinieneś się wyrobić w 5-10 μs w zależności od karty.
PS. Co do twojej karty zauważ iż jest to karta z multiplekserem pracująca na magistrali PCI a program działa pod Windowsem jak mogę się domyślać. To wszystko powoduje że otrzymujesz to co otrzymujesz.
Można to nieco poprawić inaczej pisząc twój program, ale nie osiągniesz na tym poziomu, który oczekujesz.
bogdani