Robię urządzenie , które ma być pewnego rodzaju nagrywarką sygnału DMX. Sygnał DMX to specyficzna wersja transmisji szeregowej . Muszę odczytać 128 słów 8 bitowych i zapisać je w pamięci zewnętrznej. Na każdą sekwencję zakładam 8 kroków. Te słowa są wysyłane cały czas. Jeden taki ciąg znaków określa konkretną scenę. Chcę zapisywać po kolei takie sceny , przez naciśnięcie przycisku "zapisz". Po zapisaniu kilku scen , z ograniczeniem do 8 mam już "sekwencję". Zakładam możliwość zapisania 16 takich sekwencji. Wybór tych sekwencji mam zamiar zrobić na 16 przyciskach. Potrzebuję jeszcze funkcji "tempo" zmieniającej czas trwania scen. Tą funkcję mam zamiar zrobić na klawiszach UP DOWN.
Jest jeszcze jedna funkcja to płynne przejścia między scenami. Zasadniczo powinna ona dotyczyć tylko wybranych kanałów np ruch luster skanerów.
To tak w skrócie podstawowe funkcje mojego projektu.
Teraz pytania i prośba o wskazówki.
Po zaprogramowaniu scen i sekwencji mam klawisz "play", który włącza odtwarzanie wybranej sekwencji. Klawiszami UP DOWN reguluję tempo zmian scen.
Zastanawiam się jak to najlepiej zrobić , żeby nie było przerw w wysyłaniu uartem . Uart musi cały czas nadawać .
Jak najlepiej rozwiązać wieloklawiszową klawiaturę. Czy matrycowo i na przerwaniach da radę , czy łatwiej i lepiej do pinu.
Kolejny dość ważny problem to jak podejść do sprawy przeliczania płynnego zmiany kilku kanałów. Tych kanałów będzie dość sporo bo ponad 20. I muszą być przeliczone do aktualnie wybranej wartości tempa.
Wybrałem sobie duży procesor i wiele zewnętrznych przerwań , co by by nie zabrakło.
A po każdej ramce składającej się z 512 znaków wysyłanych uartem jest przerwa, niewielka ale zawsze. Z racji że ja planuję wysyłanie tylko 1/4 tej ramki mam trochę więcej czasu na obliczenia itp. A teraz wymyśliłem, że cały proces odczytu klawiszy itp może się odbywać tylko po wysłaniu całego ciągu uartem, w przerwie między ramkami DMXa , co pewnie rozwiązuje problem przerwań.
Proszę o sugestie i wnioski .....
Jest jeszcze jedna funkcja to płynne przejścia między scenami. Zasadniczo powinna ona dotyczyć tylko wybranych kanałów np ruch luster skanerów.
To tak w skrócie podstawowe funkcje mojego projektu.
Teraz pytania i prośba o wskazówki.
Po zaprogramowaniu scen i sekwencji mam klawisz "play", który włącza odtwarzanie wybranej sekwencji. Klawiszami UP DOWN reguluję tempo zmian scen.
Zastanawiam się jak to najlepiej zrobić , żeby nie było przerw w wysyłaniu uartem . Uart musi cały czas nadawać .
Jak najlepiej rozwiązać wieloklawiszową klawiaturę. Czy matrycowo i na przerwaniach da radę , czy łatwiej i lepiej do pinu.
Kolejny dość ważny problem to jak podejść do sprawy przeliczania płynnego zmiany kilku kanałów. Tych kanałów będzie dość sporo bo ponad 20. I muszą być przeliczone do aktualnie wybranej wartości tempa.
Wybrałem sobie duży procesor i wiele zewnętrznych przerwań , co by by nie zabrakło.
A po każdej ramce składającej się z 512 znaków wysyłanych uartem jest przerwa, niewielka ale zawsze. Z racji że ja planuję wysyłanie tylko 1/4 tej ramki mam trochę więcej czasu na obliczenia itp. A teraz wymyśliłem, że cały proces odczytu klawiszy itp może się odbywać tylko po wysłaniu całego ciągu uartem, w przerwie między ramkami DMXa , co pewnie rozwiązuje problem przerwań.
Proszę o sugestie i wnioski .....
