Article View: pl.comp.lang.delphi
Article #345740Re: Rpi/Lazarus - odczyt bajtowy
From: Sebastian Biały
Date: Thu, 20 Apr 2017 18:16
Date: Thu, 20 Apr 2017 18:16
42 lines
3268 bytes
3268 bytes
On 4/15/2017 11:29 AM, stchebel@gmail.com wrote: > Aha!! Chodzi o podłączenie 12-bitowego ADC z wyjściem równoległym, Fs=40MHz (Max.). > W mojej aplikacji wystarczy Fs=20-30MHz. Kilka problemów: a) co z tego ze masz procesor rzedu GHz skoro podpinasz ADC pod uniwersalne GPIO co oznacza kilka[nascie|dziesiąt] instrukcji w celu zebrania jednego sampla, ba, dodatkowo busyloop na koniec przetwarzania. Nie mając żadnego wsparcia w hardware procesor będzie pracował na granicy wydajności machając drutami. b) nie będziesz w stanie *dokładnie* wzbudzać przetwornika bo przy takich predkościach procesor będzie nieprzewidywalny. To duży procesor z cache, nie ma jak sensownie pisać kodu cycle-exact. Jesteś więc skazany na przerwania, w dodatku będa one miały jitter w zalezności od stanu cache. I co jeszcze lepsze, procesor który musi przyjąc 30mln przerwań na sekundę musi też 30mln razy na sekundę odkładać gdzieś stan. IMHO niewykonalne, zakladając nascie cykli na przerwanie nic nie będzie robil tylko stosem się bawił. c) obsługa przetwornika zje cała moc procesora, system w tle będzie nieuzywalny, z resztą skoro to system RT to postawienie linuxa nie wchodzi w grę, bedzie musiało tam coś banglać ręcznego. Czyli miesiące pracy. d) 30MHz ADC popędzany nieprzewidywalnym jitterem na wyzwalaniu próbkowania będzie źrodlem szumu, zapewne na tyle dużego że nie ma sensu w dowolnej aplikacji do jakiej jest projektowany. Szum pochodzacy od jittera clocka w tym wypadku będzie nieprzewidywalny i wolnozmienny, czyli koszmarny. Mala rada: STM32/whatever, z jednej strony wpięty w USB, z drugiej w przetwornik. USB2.0 powinno dać rade przesłać te 30mln próbek/s (pytanie czy Pi ma pełną prędkośc na usb i czy stm da radę, ostatecznie Cypress produkuje uC z USB dającym radę max). To jest rozwiązanie do d.py ale ma jakieś szanse działać. Poprawnie: wziąć Zynq i sampling zrobić w FPGA. IMHO PI się do tego nie nadaje z wielu powodów. Natomiast nadaje się jesli miałby te dane pobierać przez DMA (ethernet albo USB). Ktoś musi je wczesniej przygotować podiadajac hardware które do tego służy. bez pośredniego kontrolera IMHo to nie wyjdzie.
Technical Details
Message-ID:
<odattq$7sq$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<6e8a3eec-fdeb-4e4b-b4a6-3b9e097d8120@googlegroups.com> <1efb49f3-158f-465c-bed5-2e14c097d102@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Sebastian Biały <heby@poczta.onet.pl> Newsgroups: pl.comp.lang.delphi Subject: Re: Rpi/Lazarus - odczyt bajtowy Date: Thu, 20 Apr 2017 20:16:17 +0200 Organization: ATMAN - ATM S.A. Lines: 43 Message-ID: <odattq$7sq$1@node2.news.atman.pl> References: <6e8a3eec-fdeb-4e4b-b4a6-3b9e097d8120@googlegroups.com> <1efb49f3-158f-465c-bed5-2e14c097d102@googlegroups.com> NNTP-Posting-Host: 176.115.85.233 Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1492712186 8090 176.115.85.233 (20 Apr 2017 18:16:26 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Thu, 20 Apr 2017 18:16:26 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: <1efb49f3-158f-465c-bed5-2e14c097d102@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit