Skocz do zawartości

FlyingDutch

Użytkownicy
  • Zawartość

    470
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    17

FlyingDutch wygrał w ostatnim dniu 14 stycznia

FlyingDutch ma najbardziej lubianą zawartość!

Reputacja

103 Mistrz

O FlyingDutch

  • Ranga
    6/10
  • Urodziny 28.05.1968

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Bydgoszcz
  • Języki programowania
    C/C++
  • Zainteresowania
    informatyka
  • Zawód
    Programista

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Cześć, jak na razie najlepszą opcją wydaje mi się zrobienie osobnej płytki drukowanej z translatorami poziomów opartymi na takich podwójnych tranzystorach MOSFET: https://www.digikey.com/product-detail/en/rohm-semiconductor/EM6K34T2CR/EM6K34T2CRTR-ND/5042777 http://rohmfs.rohm.com/en/products/databook/datasheet/discrete/transistor/mosfet/em6k34.pdf Można je kupić np. tu: https://au.rs-online.com/web/p/mosfets/1246572/ Rozwiązanie oparte na transoptorach zajęło by może trochę mniej miejsca na płytce i też jest warte rozważenia (ma dodatkową zaletę: izolacja galwaniczna obwodów) Z drugiej strony trochę mnie dziwi, że ciężko znaleźć układy scalone do translacji poziomów pomiędzy FPGA a PLC z większą ilością kanałów. Być może nie jest to najlepsze rozwiązanie, ale jak na razie nic lepszego nie przychodzi mi do głowy. BTW: Sorry - nie zauważyłem, że podobny temat był niedawno poruszany na forum. Tutaj link do niego: Przerzutniki Schmidt'a to dobry pomysł, ale "debouncing" sygnałów mogę zrobić już po stronie układu FPGA (mniejsza płytka dla układu konwersji poziomów). Chyba też zdecyduję się na transoptory. Pozdrawiam
  2. Cześć, dla większości sygnałów wystarczy zamiana w dól (jednokierunkowa). Dwukierunkowa konwersja jest potrzebna tylko dla kilku sygnałów. Pozdrawiam Cześć, pomysł wart przemyślenia. Pozdrawiam
  3. Cześć, zastanawiam się jak w sposób efektywny (mało miejsca na płytce PCB i łatwy montaż powierzchniowy) wykonać konwertery poziomów logicznych pomiędzy układem FPGA a sterownikiem PLC? Potrzebowałbym konwerterów, które po jednej stronie mają poziomy 1,8 V oraz 3,3 V a po drugiej sygnały ze sterowników PLC - 24V. Testowałem moduły konwerterów Pololu (z dodatkowymi rezystorami 3,3 KOma po stronie H). Patrz linki: https://botland.com.pl/pl/konwertery-napiec/2523-konwerter-poziomow-logicznych-dwukierunkowy-4-kanalowy-pololu.html https://botland.com.pl/9012-thickbox_default/konwerter-poziomow-logicznych-dwukierunkowy-czterokanalowy-pololu.jpg i działa on w sposób zadawalający. Mój problem polega na tym, że potrzebuję konwersji około 50-ciu sygnałów pomiędzy pinami FPGA a sygnałami z poziomem logiki 24V (sterowniki PLC). Zbudowanie takich konwerterów na dyskretnych tranzystorach MOSFET zajmuje dużo miejsca na płytce PCB. Mój jedyny pomysł to użycie układów scalonych zawierających pewną liczbę tranzystorów MOSFET w jednym układzie (ale nadal pozostaje problem dużej ilości elementów dyskretnych). Chciałem się zapytać bardziej doświadczonych kolegów jak by można rozwiązać ten problem w sposób efektywny? Zapomniałem dodać: nie są to sygnały szybko-zmienne (sygnały ze styczników sygnalizujące stanem logicznym stan pewnej instalacji mechaniczno-elektrycznej). Pozdrawiam
  4. FlyingDutch

    [STM32][C] Odczyt z karty SD przez SPI2

    Cześć, a mógłbyś podać jakiś link do tego artykułu K.Paprockiego? Jak fizycznie masz podłączoną kartę SD? Masz do podłączenia karty SD jakiś zewnętrzny shield, jeśli tak prześlij link do niego i schemat podłączenia do płytki Discovery. Jeśli masz jakiś szkielet kod wklej go do postu w tagu <Kod>. Pozdrawiam
  5. FlyingDutch

    Przeniesienie systemu na dysk USB - problem

    Cześć, jeśli to taki sam model RPI to tak. Pozdrawiam
  6. FlyingDutch

    Przeniesienie systemu na dysk USB - problem

    Cześć, czy odmontowujesz system plików na karcie SD przed nagraniem obrazu komendą "dd" (nie może być w użyciu podczas nagrywania obrazu)? Jeśli nie to zawsze będziesz miał błędy w nagranym obrazie. Pozdrawiam
  7. Cześć, podstawowa zaleta jest taka, że funkcje są "czyste" - tzn. nie mają efektów ubocznych, które modyfikują dane. Same dane są "niezmienne", aby je zmodyfikować należy użyć innych mechanizmów języka (znamy to np. z Pythona w którym możemy także programować czysto funkcyjnie). Bardzo duży stopień abstrakcji języka i łatwość implementowania języków w języku. Wszystko przy małym zapotrzebowaniu zasobów komputera. O zaletach można naprawdę napisać obszerny artykuł, niestety chwilowo jestem w pracy i nie mogę się rozpisywać. Dużo łatwiej dowieś poprawności działania konkretnego algorytmu zaimplementowanego w Lispie niż w językach niefunkcyjnych (poprawność w sensie logicznym i matematycznym). Dużo łatwiej oprogramować zadania wykonywane współbieżnie ze względu na brak efektów ubocznych w funkcjach. Postaram się opisać to bardziej szczegółowo gdy będę miał chwilę czasu. Na szybko można zapoznać się z tymi krótkimi wprowadzeniami do programowania funkcyjnego: https://pl.wikibooks.org/wiki/Programowanie/Programowanie_funkcyjne http://www.cs.put.poznan.pl/ksiek/fp/basics.html https://4programmers.net/Inżynieria_oprogramowania/Wstęp_do_programowania_funkcyjnego https://pl.wikipedia.org/wiki/Programowanie_funkcyjne Pozdrawiam
  8. Cześć, Lisp to świetny język programowania, którego druga młodość znów nadeszła. Wykorzystywałem w swojej pracy zawodowej odmianę Lisp'u (Scheme) w OS Unix(Solaris). Bardzo też mi się podoba odmiana Lisp'u (trochę unowocześniona) o nazwie "Clojure", którą można "odpalić" korzystając z maszyny virtualnej Javy (i łączyć z programami w Javie). Od dłuższego czasu elementy programowania funkcyjnego są dostępne w językach takich jak "C#" czy "Java" , "Python"(który od samych początków umożliwia programowanie funkcyjne) i stanowią potężne narzędzie programistyczne. Cieszę się, że powstają projekty takie jak ten opisany w tym artykule. Pozdrawiam
  9. FlyingDutch

    LicheeTang Anlogic EG4S20 FPGA Board (RISC-V)

    Cześć, jedyny programator do ARM'ów jaki posiadam to tani klon ST-LINK/V2 mini - patrz link: https://botland.com.pl/pl/programatory/4481-programatordebugger-stm8stm32-zgodny-z-st-linkv2-mini.html Myślisz, że powinno się udać go zaadoptować do tego celu? Pozdrawiam
  10. FlyingDutch

    LicheeTang Anlogic EG4S20 FPGA Board (RISC-V)

    Cześć, właśnie przyszedłem do pracy i przyszła przesyłka z Chin z "LicheeTang Anlogic". Tak ,że teraz będę mógł sprawdzić działanie architektury "RISC-V" na fizycznym sprzęcie. Na pewno opisze moje zmagania. BTW: Próbuje poczytać dokumentację do płytki "LicheeTang Anlogic, ale słabo mi idzie - chyba już najwyższy czas aby się zapisać na jakiś kurs mandaryńskiego (tak mi się przynajmniej wydaje, że to jest mandaryński). Pozdrawiam
  11. FlyingDutch

    LicheeTang Anlogic EG4S20 FPGA Board (RISC-V)

    Cześć Elvis, tego zestawu narzędzi nie znałem, ostatnio zainstalowałem sobie "Freedom Studio" (Linux Mint). Dzięki za podpowiedź. Zainstalowałem to "SEGGER Embedded Studio for RISC-V 4.12" będę miał jakieś porównanie do "Freedom Studio". Pozdrawiam No właśnie znalazłem ten link: https://gnu-mcu-eclipse.github.io/debug/openocd/riscv/ Niestety nie mam tego programatora (olimex-arm-usb-tiny). Trochę ten programator kosztuje (40 Euro) https://www.olimex.com/Products/ARM/JTAG/ARM-USB-TINY/ Muszę porobić kilka prób, może uda się użyć jakiegoś innego programatora. Pozdrawiam
  12. FlyingDutch

    LicheeTang Anlogic EG4S20 FPGA Board (RISC-V)

    Cześć, mam pytanie, może ktoś z Was potrafi na nie odpowiedzieć: otóż implementacja BrieySoC w Verilogu, ma wyprowadzone własne piny do interfejsu JTAG (do programowania). Patrz diagram: Zastanawiam, się jaka to wersja programatora JTAG powinna być. Przeważnie programatory/debuggery JTAG obsługują określone rodziny urządzeń - np. CPU STM32 lub układy FPGA (Xilinx'a czy Intela). Jaka to powinna być wersja programatora, aby tą wersję RISC-V (w układzie FPGA) zaprogramować. Nie mogę tego znaleźć w opisie projektu (nie wiem może coś przeoczyłem). Czy ktoś ma jakiś pomysł? Ten problem z implementacją RISC-V od dłuższego czasu nie daje mi spokoju. Pozdrawiam
  13. FlyingDutch

    DCE 812 (8-bitowy mikroprocesor własnej roboty)

    Cześć, świetny projekt - podziwiam, że chciało Ci się realizować to na układach małej/średniej skali integracji. Życzę dużo powodzenia w realizacji twoich projektów na układach FPGA. Pozdrawiam
  14. FlyingDutch

    Zliczanie czasów rozwartych obwodów

    Cześć, oczywiście można (z tym, że dostępnych jest tylko kilka pinów - różnych dla różnych wersji Arduino). Jak najbardziej jest to do zrealizowania. Pozdrawiam
  15. FlyingDutch

    Zliczanie czasów rozwartych obwodów

    Cześć, prosto możesz to zrobić korzystając np. z bibliteki "Timer1" lub "Timer3" dla Arduino. Możesz sobie ustawić, co jaki czas ma być wywoływana procedura obsługi przerwania timera i w tej procedurze sprawdzać, czy piny zwarte, czy nie i inkrementować odpowiednie liczniki. Tutaj masz taki prosty szkielet programu (nie piszę całego kodu , aby nie psuć Ci radości z tego, że zrobiłeś coś sam): #include "TimerThree.h" const int PulsePin = 2; void setup() { pinMode(PulsePin, INPUT); Timer3.initialize(20); // initialize timer3, and set a 20 us second period Timer3.attachInterrupt(tim3Callback); // attaches callback() as a timer overflow interrupt } void tim3Callback() { //Tu sprawdzasz stan pinów i inkementujesz liczniki, oraz kończysz pomiar } void loop() { //Tu np. ustawisz zmienną która rozpoczyna pomiar } A tutaj linki do biblioteki: https://playground.arduino.cc/code/timer1 https://code.google.com/archive/p/arduino-timerone/ Oczywiście możesz zmieniać rozdzielczość pomiarów (czas co jaki jest wywoływane przerwanie od timera), oraz sposób dołącenia styków kontaktronu (możesz wykorzystać np. wewnętrzne rezystory PULLUP Arduino - zmieniasz wtedy typ wejścia na: INPUT_PULLUP a kontaktron podłączasz do masy). Jest też wiele innych bibliotek do obsługi timerów w Arduino. Pozdrawiam
×