Wybaczcie za odgrzanie tematu/.../ jesli o mnie chodzi, to nic nie szkodzi :) ruch na tym forum tak maly, ze chyba nikt nie bedzie mial ci tego za zle; ja nie widze problemu optymalizacji, kod fsm 'one-hot' dla fpga jest dlatego lepszy, ze zwykle w fpga nie ma problemu z iloscia FF, a z logika kombinacyjna raczej, a przede wszystkim z polaczeniami;...
Nie byłem w domu od czwartku i nie miałem dostępu do neta. A jak skomunikować ze sobą kilka maszyn stanu? Zmiennymi globalnymi? Czy po prostu używać wskaźników na te same funkcje? Wiem, że to wiele zależy od konkretnego projektu, ale chciałbym zobaczyć jakieś przykładowe powiązania między np dwiema różnymi maszynami stanu. Co znaczy skomunikować maszyny...
wikipedia: automat skończony / maszyna stanów wersja najprostsza z możliwych: Zrób licznik liczący od 0 do 22, którego wartość rośnie co sekundę. W zależności od wartości tego licznika, zapal określone światło: 0 ≦ licznik ≦ 8 » czerwone 8 < licznik ≦ 2 » czerwone + żółte itd.
Maskowanie odczytu bajtu po F0 przechwytuje chyba za mało bitów 8+start+stop +parity=11 a maszyna stanów przewiduje 8. Prawdopodobnie trafia wtedy do stan=0 będąc w trakcie transmisji. Wyprowadź sobie na jakieś dodatkowe diody aktualny stan maszyny. To ułatwi Ci diagnozę problemu. Jaka jest idea sygnału licznik?
Drgania. Przy takich prądach styki nie mają prawa iskrzyć. :) Wydaje się, że przy takim prostym schemacie gry, poprawna maszyna stanów wyeliminuje problem drgań styków sama z siebie (drgania bedą tutaj równoważne "niezdecydowaniu" graczy). Rozrysuj dokładnie maszynę stanów, uwzględniając wszystkie możliwe zachowania graczy (naciśnięcie/puszczenie przycisku...
.Na sumulatorze oczywiście wszystko pięknie ładnie, a na FPGA dupa. Przetestowane razem z opóźnieniami? Czy tylko idealnie... Bo coś czuje, że ta maszyna stanów prosi się o kłopoty.
Mam konstrukcję opartą o tego Spartana, zasilania zrealizowane też na LM317. W trakcie uruchamiania różne rzeczy się zdarzały z zasilaniamin ale FPGA nie wykazywało niestabilności. Niestety nie łączę układu po EPP. Jezeli piszesz że maszyna stanów się "blokuje" to sprawdź czy napewno opisałeś wszystkie przejścia. Można też popróbować ze zmianami sposobu...
merkery służą do np.zapamiętania stanów przejściowych lub do uproszczenia programowania.Są to komórki pamięci pomocnicze. Na przykład: maszyna jest w pozycji wyjściowej tzn. ileś tam czujników (np.30) i wyjść (np.10) jest aktywnych.W programie musisz często sprawdzać czy maszyna jest w stanie wyjściowym (spoczynkowym, gotowa do startu).Wystarczy jeden...
Zastanawia mnie np. taka kwestia: w jaki sposób prawidłowo rozwiązuje się problem komunikacji UART z peryferyjną elektroniką? Nie mam markera końca nadawania a max. czas odpowiedzi nie jest określony dla każdej z komend. Jedyne co mi przychodzi do głowy to właśnie jakiś timeout od ostatniego odebranego znaku lub parsowanie zawartości bufora cyklicznego...
Witam, w trakcie pisania maszyny stanów, przy pomocy której chciałem zrealizować interfejs, którym chciałem sterować kolejnymi modułami natchnąłem się na problem, którego nie mogę przeskoczyć. Otóż chodzi o to, że gdy zwiększam liczbę stanów zaczyna ona "wariować", tzn na symulacji widzę, że przeskakuje w losowe stany, rozmawiałem z prowadzącym zajęcia,...
A po co go ciągle testować? Ustawić jedno przerwanie co np. sekundę i wtedy sprawdzać stan ADC. Własnie o tym mówię. Odpalanie przerwaniem czy pętla busy wait - zasada jest identyczna. A to nie ma buzzerów z generatorem? Gdzieś pewnie są, ale czy akurat w tym projekcie? Kilka mA w stanie standby nie powinno być problemem W takim wypadku nie ma co się...
W moim przypadku to wygląda tak, że mam wypracowaną własną warstwę abstrakcji sprzętu. Przykładowo do SPI jest maszyna stanów co mieli strumień bajtów danych + nagłówek z kolejek (typu FIFO jako bufor cykliczny). Pod to callbacki do sprzętu (open, write, read, close, ioctl), i rybka czy w środku jest if (queue) wyslij czy na przerwaniach. Nagłówek zawiera...
A pytanie jest takie- czy da się to zrobić bez while()? Tylko na przerwaniach. FIFO na instrukcje, kolejkowanie kolejnych tranzykcji. Opracowujesz Sobie zgrabną strukturę: teraz operował. I masz pełną dowolność, prosta maszyna stanów FSM i sprawdzasz za pomocą if co można zrobić i zmieniasz stany. Nie ogranicza Ciebie timeout, bo takiego z reguły nie...
Maidey na wstępie krótka historia :). System który mam na myśli przeszedł długa drogę. Zaczynaliśmy kilka lat temu, wtedy całość zbierał sterownik plc, po całym zakładzie rozprowadzona była sieć profibus i z dużą ilością repeaterów (zasięg i struktura sieci). Dane ze sterowników były zbierane na różne sposoby tam gdzie w maszynie była sieć profibus...
Witam mam za zadanie napisać w VHDL program oparty na automacie pt sterownik windy. Jestem kompletnie początkujący w tym języku a projekt to swoista nowość. Nie chodzi mi o rozwiązanie tego problemu a podrzucenie kilku luźnych sugestii jak można się do tego zabrać. Przyznam że narazie nie mam żadnego pomysłu jak mam to zrealizowć. Za wszelką pomoc...
Proszę nie traktować tego jako działający program. Napisalem szkielet na szybko. Przedstawię zarys programu dla jednego tasku z użyciem maszyny stanów (stany odzwierciedlają fazy oczekiwania na poszczególne fazy: faza I - 30s, faza II - probkowania wejscia co 60s, faza III - sterowania na 10s). Program wymaga dopracowania i uzycia wlasciwych dla arduino...
No nie wiem po co.Może po to żeby upewnić się co do stanu przewodów, i ew.ich uszkodzeń, np.przez przecięcie, przygniecenie śrubą, i takie tam...To jeszcze raz od początku: Płyty podmienieś, oby dwie nie widzą czujnika, wymieniłeś moduł z czujnikiem-też nic się nie zmieniło.Inna sprawa gdyby czujnik "ręcznie" działał poprawnie, ale mówisz że już sama...
https://obrazki.elektroda.pl/8121796700_... https://obrazki.elektroda.pl/7258549500_... Brzmi jakby to było o mydle i powidle. I właśnie tak będzie, co świadczy o tym, że chyba dość trafnie dobrałem tytuł. "Telewizor to złodziej czasu"- usłyszałem pierwszy raz jeszcze będąc dzieckiem, gdy kolejny raz z rzędu usiłowałem...
Jeśli chce się to jakoś uruchomić to w Europie to trzeba kombinować z połączeniem "4-wire". Na zdjęciu widzę, że biały przewód z suszarki podłączony jest do obudowy a to jest pierwszy błąd - taka konfiguracja jest do połączenia 3-wire czyli do starych instalacji amerykańskich (wspólny przewód ochronny i neutralny w obwodzie suszarki). Ten biały przewód...
bo raz że "dostajemy wydajność za darmo" a dwa że poznajemy lepsze techniki zarządzania zasobami. Kontrolowanie dostępu do współdzielonych zasobów przez "krótkie" wyłączanie przerwań to moim zdaniem kiepski pomysł, ale w tym omawianym przypadku inaczej się nie da. Dodano po 3 Dodam jeszcze, że programy napisane jako maszyna stanów bardzo dobrze testuje...
A czym sterują sygnały RD i WR? Bo o ile pamiętam zatrzaskiwanie danych w rejestrach następuje z końcem sygnału RD czy WR, a to oznacza, że to niby-opóźnienie nie jest do niczego potrzebne. W tym wypadku nie jest potrzebne i właściwie na pewno nie ma żadnego związku z opisywanymi problemami. Niemniej w praktyce opóźnienie jest zalecane z uwagi na większa...
Cześć chłopaki, dzięki za informacje w tym poście. Mam również jeden z tych BK7231N z płytką CBLC9 przylutowaną do płyty głównej. Udało mi się go uruchomić, ale ponieważ nie byłem do końca pewny zrozumienia automatyzacji zamieszczonych tutaj (jestem nowy w openbeken) i nie chciałem żadnej logiki blokującej, zbudowałem własną i chciałem się nią podzielić...
(...) Timer obsłużyć umiem i zgadzam się z twoją sugestią ale jak zrobić aby cały kod umieszczony w pętli odczytu wykonywał się po kolei a nie wszystko co 100us? Gdy umieszczę cały kod w przerwaniu nie osiągnę zamierzonego spowolnionego odczytu MCP w trakcie wykonywania innych rzeczy przez ATMegę... Rozumiem Twój problem. Aby uzyskać ciągłe i kontrolowane...
Witam. Mam właśnie przed sobą prototyp urządzenia na sim900. Generalnie od strony sprzętowej wszytko hula i buczy. W związku z tym zabrałem się za soft. Jego wymagania: - reagowanie na przychodzące połączenia z rozpoznaniem nr dzwoniącego - reagowanie na przychodzące sms - puszczanie strzałek - pisanie sms'ów No i tutaj zaczynają się schody. Jak koledzy...
https://obrazki.elektroda.pl/5006120100_... Niewielu ludzi wie, że historia samochodów elektrycznych rozpoczęła się wcześniej niż pojazdów z silnikami spalinowymi. Chociaż pomysł o nich zaistniał w 1820 roku, pierwsza prawdziwa maszyna z silnikiem elektrycznym wyszła w 1881 roku, a jej twórcą był francuski inżynier Gustave Trouvé....
Skoro nie znasz C to ok, ale polecam naukę - bo po pewnym czasie i mając pewną ilość bibliotek już sprawdzonych (gdzie wiesz co i jak ustawić) to też napisanie prostego programu, czy multipleksowania to kiklanaście / dziesiąt linijek i robi sie to w 20-30 minut. Dlaczego piszę - ostatnio na uczelni sporo osób zamiast uczyć się VHDL rysuje układy logiczne...
Dowody poprawności dla maszyn stanów robi się sieciami Petriego PN (kolorowanymi CPN, czasowymi TCPN itd.). Ale to są raczej dowody poprawności algorytmu (w tym uzależnień czasowych) a nie samej implementacji. Dowód poprawności implementacji teoretycznie da się zrobić, ale nie wyobrażam sobie tego dla większego programu. W końcu w dowodzie poprawności...
Współczesne firmy stale dążą do osiągania coraz więcej przy mniejszym nakładzie zasobów i pracy. W miarę upływu czasu tworzenie systemów wbudowanych stało się z kolei niezwykle złożone. Rozważmy, chociażby włącznik światła podłączony do Internetu. Jego jedyną funkcją jest włączanie i wyłączanie oświetlenia, ale do zbudowania takiego urządzenia potrzebne...
https://obrazki.elektroda.pl/8661538600_... Zainspirowany podcastami o historii komputerów (podcast #19 - Toksyczna pojemność - rtęciowa, akustyczna linia opóźniająca Linia opóźniająca opiera się o zjawisko przewodnictwa akustycznego w różnych materiałach. Dźwięk w powietrzu rozchodzi się z prędkością 343m/s. W wodzie morskiej, ze...
JA: Czy w tym programie zachodzi potrzeba zastosowania WatchDog. Jak duża jest możliwość zawieszania się programu przy pracy ciągłej? Claude Opus 4.1PRO: WatchDog nie jest prawidłową nazwą. Powszechnie używa się nazwy (WDT) WatchDog Timer Analizując przedstawiony kod termostatu, mogę ocenić potrzebę zastosowania WatchDog Timer (WDT) z kilku perspektyw:...
Racja, przedstawiony fragment to nie jest maszyna stanów, to jedynie kawałek pokazujący przewagę programu opartego o "maszynę stanów", nad zagnieżdżonymi ifami przeplecionymi dwudziestoma delayami. Te cztery dwuliniowe funkcje to cała logika "programowalnego wyłącznika światła". Co do samej maszyny: dwa stany i trzy zdarzenia dla pierwszego przykładu...
podaj kod źródłowy w języku C na mikrokontroler PIC16, dekodujący sygnał DCF77. Założenia są takie, że przebieg z odbiornika DCF77 podawany jest na wejście przerwania zewnętrznego INT0 a program ma uzupełnić odpowiednią strukturę zawierającą pole daty i czasu z dokładnością co do sekundy. Program bez funkcji delay, ma działać jako maszyna stanów. Chętnie...
Wygląda na to, że kol. (at)gaskoin wie lepiej od autora, co chce zrobić, i ode mnie, o czym mówię :D Ty mówisz o wątkach Nie mówię o wątkach, tylko o protothreadach, które służą np. do pisania koprocedur. Można je wstrzymywać i wznawiać bez pomocy systemu operacyjnego, wszystko w ramach jednego wątku. a to, co chce zrobić autor to zamienić coś takiego:...
Ok, tutaj są moje bazgroły na "szybcika" , ot taka radosna twórczość. Ja;Kod arduino uno do optymalizacji i usunięcia ewentualnych błedów: #include <FastLED.h> #define LED_PIN 2 #define NUM_LEDS 30 #define SPARKLE_INTERVAL 100 // Czas odświeżania iskrzenia (ms) #define FADE_AMOUNT 50 // Ilość przyciemnienia #define BASE_BRIGHTNESS 50 // Jeszcze...
Temat z przed pięciu lat ale cięgle aktualny. Jest coś takiego jak GOLEM do monitorowania pracy obrabiarek CNC. Sandvik ma swoje rozwiązanie, Perchmann, i kilka innych firm, niektóre pozwalają nawet sprawdzić co operator ma w aktualnie używanym programie. Niestety większość z tych rozwiązań działa na zasadzie "to wy to zamontujcie a ja będę brał po...
W ciągu ostatnich kilku lat obserwujemy przyspieszenie adopcji zintegrowanych FPGA (eFPGA) w produkcji układów ASIC i SoC. W rzeczywistości jeszcze w zeszłym roku przewidywano, że liczba jednostek logicznych FPGA w postaci modułów eFPGA przewyższy liczbę jednostek logicznych w tradycyjnych FPGA na przestrzeni tego dziesięciolecia. Ten wzrost jest napędzany...
AVE... Śmieszy mnie to dziwne przekonanie, że na ośmiobitowcu nie da się nic policzyć. Wynika ono z niewiedzy i marnych umiejętności "programisty". Jedynym limitem jest objętość pamięci RAM i programu, ale i to nie jest wielki problem. Na przykład PIC18F57Q84 oferuje 128kB pamięci programu i 13kB pamięci RAM, oraz zegar 64MHz, czyli 16MIPS, bo to PIC...
czy możliwe jest wykonanie z jednej rolki dwuwarstwowego papieru toaletowego o zapachu jaśminu modelu maszyny Turinga, którego przeznaczeniem byłaby demonstracja jej działania? Opisz krótko konstrukcję i zasadę działania modelu. Bardzo ciekawe pytanie! W teorii, jest to możliwe, ale wymagałoby to zastosowania odpowiednich narzędzi technicznych i materiałów....
Witam, Czy wie ktoś jak zrobić w C kawałek programu i żeby po kompilacji były z tego dwie funkcje. Mam procedurę główną w której jest maszyna stanów i procedurę funkcję z callback dla komunikacji w której też trzeba przełączać maszynę stanów. Trochę nie wygodne jest pisanie stanów w jednej i drugiej procedurze bo są długie >200linii każda. Da się zrobić...
(at)Freddie Chopin A jak porównasz RTOS do np. programowania w oparciu o maszynę stanów? IMHO w prostszych aplikacjach maszyna stanu może rozwiązać w elegancki sposób wiele problemów, bez konieczności dodania RTOS, czy trudnego określania zapotrzebowania na pamięć. Dla prostych aplikacji tak. Dla nie-prostych zrobienie takiej maszyny stanów jest zadaniem...
Programowo jest taniej, niż sprzętowo (koszt kondensatora i rezystora), ale nie łatwiej. Dlaczego nie jest łatwiej? Bo wymaga pomiaru czasu, zabiera dodatkowe kilkadziesiąt bajtów kodu i kilka bajtów RAMu, co w niektórych przypadkach (mały mikrokontroler) może być istotne. Jeżeli brakuje pamięci na obsługę interfejsu użytkownika i konieczny jest sprzętowy...
Chciałbym zaprosić wszystkich zainteresowanych do mojego kursu FPGA Lattice w języku Verilog. W kursie wykorzystujemy FPGA typu MachXO2 z uwagi na jego niską cenę, prostą do lutowania obudowę i duży potencjał w wykorzystaniu na potrzeby hobbystycznych projektów. Kurs jest publikowany w Elektronice Praktycznej, a także dostępny jest na stronie ep.com.pl....
W ostatnich trzech artykułach omówiono pięć kroków wymaganych do zaprojektowania wbudowanej architektury oprogramowania. Do tej pory dzielono ją na zależną i niezależną od sprzętu. Ponadto zbadano, w jaki sposób wczesna identyfikacja zestawów danych może pomóc poprawić bezpieczeństwo urządzeń i pomóc w naturalnej dekompozycji. Pięć kroków projektowania,...
https://obrazki.elektroda.pl/3010318000_... Firma Taiwan Semiconductor Manufacturing Co. (TSMC) stoi przed ogromnym wyzwaniami związanymi z zarządzaniem pracownikami w swojej nowej fabryce w Arizonie, którzy nie są przyzwyczajeni do długich godzin pracy i kultury zarządzania, które na Tajwanie pomogły firmie uczynić z firmy największym...
Witam Myslę że kodowanie Quartus sam przestawił na binarne, bo ONE-HOT bit stanowczo nie zdaje egzaminu w tak duzych maszynach stanów. Default'owo kodowanie maszyny stanu jest ustawione na AUTO, więc Quartus powinien sam zdecydować, że twoja maszyna stanów ma być kodowana jako binarna. Mozna to sprawdzić w ustawieniach. ( Syntezy i kompilacji ) http://obrazki.elektroda.net/86_12768779...
Przy maszynach stanów ja często sprawdzam tylko status "sąsiedniej" maszyny stanów - jeśli jest różny od zera, znaczy się, maszyna w ruchu - nie wolno wywoływać działania, jeśli zero - wolne, można działać... Ale flag i tak nie uniknie - ....i trzeba z nimi uważać ;-)
Pięćdziesiąt lat temu powstał pierwszy programowalny układ logiczny do zastosowań komercyjnych, a dostępne dziś części pozwalają inżynierom przekraczać nowe granice technologiczne w wielu branżach. Mark Patrick, Mouser Electronics https://obrazki.elektroda.pl/4592035100_... FPGA ( field-programmable gate array – bezpośrednio...
Po nazwach zmiennych strzelam, że jest to maszyna stanów do debounce przycisku.
Akurat w rozwiązaniach "bare metal" częściej widuje się maszyny stanów gdzie sprawdzenie tego biednego bool'a wystarczy aby przejść do wykonywania pozostałych zadań bez marnowania czasu cpu na polling. Teraz wyobraź sobie że masz kilkanaście (kilkadziesiąt) takich flag. Załóżmy, że nagle wszystkie Twoje ify są spełnione (taki worst case). Ciekawe jak...
Witam, Mam enkoder inkrementalny E6A2-CS5C o ilości impulsów 100/obrót. Enkoder współpracuje z siłownikiem pneumatycznym za pośrednictwem listwy zębatej, która mierzy jego wysunięcie. Siłownik jest zamontowany w maszynie i ma mechanicznie ograniczony zakres ruchu z obu stron, co oznacza, że teoretycznie może pracować w dość ściśle ustalonym zakresie...
maszyna stanów programowanie skończona maszyna stanów kodowanie stanów
wyzerowanie dysku podłączenie anteny radiowej włosów rozebrać
blaupunkt limited bialoruśka wymiana pompy
Czy kabel satelitarny można umieścić w wężu ogrodowym na dachu z blachy? Dahua XVR5116HS-X – brak obrazu z kamer, diagnostyka, ustawienia, firmware