Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zamień płytkę BluePill z STM32 w analizator logiczny kompatybilny z Sigrok

ghost666 14 Lis 2020 16:19 864 4
  • Zamień płytkę BluePill z STM32 w analizator logiczny kompatybilny z Sigrok
    „Blue Pill” to popularna płytka rozwojowa układem STM32. Jej popularność wynika z jej niskiego kosztu - zaczyna się od zaledwie 1,50 dolar - oraz z kompatybilności z Arduino IDE dzięki projektowi STM32duino.

    Powstało wiele ciekawych projektów, opierających się na tym module. Jednym z ciekawszych jest oprogramowanie, stworzone przez użytkownika thanks4opensource, pozwalające zamienić ten moduł w analizator logiczny, kompatybilny z otwartym pakietem narzędzi do analizy przebiegów logicznych Sigrok GUI PulseView. Analizator logiczny Blue pill nadal jest w fazie beta, więc spodziewać można się pewnych problemów.

    Zamień płytkę BluePill z STM32 w analizator logiczny kompatybilny z Sigrok
    Niemniej jednak oprogramowanie układowe Buck50 powinno oferować następujące funkcje na płycie Blue Pill:

    * 8-kanałowy analizator stanów logicznych 6+ MHz
    * Głębokość bufora próbki ok 5K
    * Próbki przechowywane tylko na zboczach sygnału w celu efektywnego wykorzystania pamięci
    * Złożone wyzwalanie poprzez maszynę stanów zdefiniowaną przez użytkownika, obsługującą kombinacje warunkowych sekwencyjnych („A, potem B, potem C”) i logicznych LUB („A lub B lub C”)
    * Wyjście do VCD i innych formatów plików w celu eksportu do programów do przeglądania przebiegów, które obejmują Pulseview, ale także gnuplot, gtkwave i Saleae Logic
    * Monitorowanie na żywo i rejestrowanie danych cyfrowych, analogowych, USART (synchronizacja / asynchronizacja), SPI (MOSI / MISO) i I²C (master/slave, TX/RX)
    * Dwukanałowy Cyfrowy oscyloskop z pamięcią - częstotliwość próbkowania ok. 1 MHz, Głębokość bufora próbek ok. 5K (10K w przypadku pojedynczego kanału)
    * Trójkanałowy cyfrowy generator ciągów impulsów z częstotliwością definiowaną przez użytkownika oraz cyklem pracy i polaryzacją programowaną per kanał
    * Dwukierunkowy mostek / konwerter z USART / UART (async / synchro), SPI (master / slave) lub I²C do USB, do terminala hosta, gniazda UNIX lub pliku urządzenia UNIX pty
    * 8-bitowy licznik wyjść równoległych (kod binarny lub Greya)
    * Terminal ASCII hosta lub binarne dane wejściowe na 8-bitowy port równoległy

    Oprogramowanie układowe jest napisane w C++ i Assemblerze ARM Thumb-2, a program sterownika hosta w Pythonie i jest również dostarczany do sterowania płytą. Na Githubie autora dostępna jest niesamowicie szczegółowa dokumentacja, a programista zaprasza ludzi do przesyłania raportów o błędach.

    Źródła:
    https://www.cnx-software.com/2020/11/14/turn-1-5-blue-pill-stm32-board-into-a-sigrok-compatible-logic-analyzer/
    https://github.com/thanks4opensource/buck50

    Fajne! Ranking DIY
    [3.12.2020, webinar] Zagadnienia pomiarowe w nowoczesnej inżynierii materiałowej. Zarejestruj się
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 10090 postów o ocenie 8356, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • Computer ControlsComputer Controls
  • #2
    Heniek37
    Poziom 7  
    ze źródła wynika, że nie ma do tego rozsądnego GUI
  • Computer ControlsComputer Controls
  • #3
    ghost666
    Tłumacz Redaktor
  • #4
    Heniek37
    Poziom 7  
    Nie jestem gotowy na taką niestabilność i zużycie RAM. PulseView to rozwiązanie doraźne a nie rozsądne. Gdyby to działało dobrze to chińskie portale handlowe byłyby zarzucone analizatorami na BluePill. Tymczasem są zawalone klonami zgodnymi z SALEAE LOGIC.

    Cytat:
    Unfortunately, pulseview has one well-known, almost fatal flaw (along with several minor ones, see 25), particularly for use with "buck50" captures: It allocates memory on a per-tick/per-signal basis, regardless of whether there is any change in any signal at that tick's time.

    I believe this is the basis for the oft-cited complaint against pulseview : That it's slow. I don't believe this is caused by any failing in the code's algorithms or their implementations, but simply due to memory swapping. For example, do NOT load the following example VCD file into pulseview (at least with the default VCD import settings):
    ....
    That's a 1ns pulse at the end of 10 seconds of inactivity. On my system it consumes approximately 10 gigabytes of memory. On systems with less than that amount of RAM (and with disk swap enabled) I've witnessed real, non-example captured data with similar periods of inactivity lock up the host in infinite swap activity requiring a hardware reboot to recover
  • #5
    piotr_go
    Konstruktor DIY elektronika
    Heniek37 napisał:
    Gdyby to działało dobrze to chińskie portale handlowe byłyby zarzucone analizatorami na BluePill

    Nie będą handlować bo BluePill ma full-speed USB a klon Saleae high-speed USB.

    Mnie tam zużycie RAMu nie przeszkadza. Nie łapałem nigdy więcej jak minutę, zwykle po kilka sekund wystarcza. Próbkowanie 24MHz.
    (nie BluePillem, jest za wolny)