Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 gru 2024, o 13:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 12 lip 2020, o 15:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

Jestem na etapie projektowania płytki pod sterownik MagicLED. Na razie złożyłem pierwszy prototyp na stykówce i wszystko działa.
Kolejnym etapem projektu będzie dodanie obsługi pilota IR. I tu pytanie: jak się za to zabrać? W trakcie wysyłania sekwencji do paska LED wyłączam przerwania. Przycisk na pilocie mogę wcisnąć w dowolnym momencie, nawet wtedy, gdy procek mam "zablokowany" transmisją do WS2812.
Czy w przypadku podłączenia pinu z odbiornika IR do pinu Rx UARTa w buforze UARTa będę miał dane mimo wyłączonych przerwań? Flaga przerwania UART będzie ustawiona?
A może jest inny sposób, którego nie widzę na razie?
Nie chcę gotowca, potrzebuję tylko naprowadzenia.

Kolejnym etapem będzie dodanie VUSB, żeby konfigurację robić przez USB, więc o to też będę pytał. Albo przeczytam w OB, jak będzie wcześniej. Ale najpierw ogarnę pilota (albo i nie)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lip 2020, o 19:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Marhef napisał(a):
Czy w przypadku podłączenia pinu z odbiornika IR do pinu Rx UARTa w buforze UARTa będę miał dane mimo wyłączonych przerwań?

A jak sobie to kolega wyobraża? niestety jak przerwania wyłączone to i UART może nie zdążyć

Marhef napisał(a):
A może jest inny sposób, którego nie widzę na razie?

Pracuję nad tym ale to jeszcze troszkę potrwa

Marhef napisał(a):
Kolejnym etapem będzie dodanie VUSB, żeby konfigurację robić przez USB, więc o to też będę pytał. Albo przeczytam w OB,

No w OB na pewno będzie ;)


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2020, o 11:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2019
Posty: 145
Pomógł: 37

Marhef napisał(a):
Kolejnym etapem projektu będzie dodanie obsługi pilota IR. I tu pytanie: jak się za to zabrać?

Jeśli diod jest mało (poniżej 30-40) można bez specjalnych zabiegów zmieścić się z odświeżaniem diod i obsługą IR. Jeśli jest więcej, ale odświeżanie jest stosunkowo rzadkie można się pogodzić z przypadłością, że czasem pilot "nie załapie". Mowa oczywiście o obsłudze LEDów przez typowe machanie pinem. Jeśli LEDów jest więcej/odświeżanie częste oczywistym rozwiązaniem jest sprzętowe sterowanie LEDami (UART lub SPI). Alternatywnym rozwiązaniem jest okresowe dopuszczenie przerwań IR w procedurze generującej przebieg dla diod. Wygenerowany przebieg narusza specyfikację WS2812 więc dla takich czy innych partii diod procedura może nie działać.
W metodzie "machanie pinem" nie ma możliwości jednoczesnego odświeżania diod i komunikacji przez VUSB. Można zrobić tak, żeby aktywować VUSB i jednocześnie deaktywować odświeżanie WS2812 przy podłączeniu kabla USB, a przy odłączeniu na odwrót.
Marhef napisał(a):
Czy w przypadku podłączenia pinu z odbiornika IR do pinu Rx UARTa w buforze UARTa będę miał dane

IR a UART to całkiem inne protokoły (przynajmniej jeśli mowa o "zwykłych" AVR)


Autor postu otrzymał pochwałę

_________________
Think for yourself and question authority.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2020, o 22:39 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 169
Pomógł: 31

Nie wiem jak działa MagicLED więc poniższy pomysł może być nietrafiony lub wręcz głupi :)
Nie myślałeś żeby ISR UART tylko i wyłącznie odczytywało kod otrzymany z pilota do bufora ? Potem przed odświeżeniem LED (w pętli main) możesz sobie pobrać ostatnie dane z bufora i tyle bez straty danych, ewentualnie z opóźnieniem o 1 wykonanie maina. Jeśli z czasem na wykonanie operacji krucho to może coś da się do LUT wrzucić, np. kod z pilota i odpowiadające mu ustawienie wyprowadzeń?

PS.
Też czekam na OB, w planie jest własny JTAG :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2020, o 17:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

Dziękuję za tak duży odzew. Postaram się wszystkim odpowiedzieć.
mirekk36 napisał(a):
A jak sobie to kolega wyobraża? niestety jak przerwania wyłączone to i UART może nie zdążyć
Że w buforze UDR będę miał ostatni odebrany kod z pilota? Myślałem, że dane są sprzętowo zapisywane, ale nie jest wywoływana funkcja obsługi przerwania.
mirekk36 napisał(a):
Pracuję nad tym ale to jeszcze troszkę potrwa
Trochę? Dłużej niż pół roku?
mirekk36 napisał(a):
No w OB na pewno będzie
Dlatego z USB czekam na OB. A chciałem wcześniej ogarnąć IR

fofex napisał(a):
Jeśli diod jest mało (poniżej 30-40) można bez specjalnych zabiegów zmieścić się z odświeżaniem diod i obsługą IR
Diod mam być docelowo 150 (taki pasek mam), więc raczej się nie wyrobi.
fofex napisał(a):
Jeśli jest więcej, ale odświeżanie jest stosunkowo rzadkie można się pogodzić z przypadłością, że czasem pilot "nie załapie"
Taki sposób rozważałem. Temat założyłem, bo myślałem, że macie jakieś sprytne sposoby.
fofex napisał(a):
Jeśli LEDów jest więcej/odświeżanie częste oczywistym rozwiązaniem jest sprzętowe sterowanie LEDami (UART lub SPI)
W atmedze? W jaki sposób?
fofex napisał(a):
Alternatywnym rozwiązaniem jest okresowe dopuszczenie przerwań IR w procedurze generującej przebieg dla diod
To rozwiązanie odpada, ponieważ
fofex napisał(a):
Wygenerowany przebieg narusza specyfikację WS2812
USB na razie nie komentuję, Mirek obiecał, że w OB będzie taki projekt, więc wtedy spróbuję.
fofex napisał(a):
IR a UART to całkiem inne protokoły (przynajmniej jeśli mowa o "zwykłych" AVR)
O zwykłych, zwykłych. Uparłem się zrobić to na małym procku. Z UARTem zaszalałem, zapomniałem o przebiegu dla 0 i 1 w protokole dla WS2812.

abel11 napisał(a):
Nie myślałeś żeby ISR UART tylko i wyłącznie odczytywało kod otrzymany z pilota do bufora ?
Mniej więcej tak, tylko bez przerwania - zakłóci mi transmisję z diodami. Chciałem wykorzystać bufor UDR, ale to na 99,99% nie wyjdzie.
Wysłanie danych mam w pętli głównej, mniej więcej raz na sekundę.
abel11 napisał(a):
Jeśli z czasem na wykonanie operacji krucho
Czasu pomiędzy kolejnymi wysłanymi danymi mam sporo, problem mam z tym, żeby kod z pilota odczytać w czasie wysyłania danych do LED.
abel11 napisał(a):
może coś da się do LUT wrzucić
Ale że jak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2020, o 18:24 
Offline
Użytkownik

Dołączył(a): 05 wrz 2017
Posty: 169
Pomógł: 31

Marhef napisał(a):
Ale że jak?

LookUp Table (LUT), tablicowanie wyniku lub częściowego wyniku operacji na LED.
Czyli np. odbierasz po IR kod 0x55, w tablicy pod tym adresem (albo adresem z offsetem) masz dokładnie to, co chcesz wysłać na LEDy.

Marhef napisał(a):
Mniej więcej tak, tylko bez przerwania - zakłóci mi transmisję z diodami. Chciałem wykorzystać bufor UDR, ale to na 99,99% nie wyjdzie.
Wysłanie danych mam w pętli głównej, mniej więcej raz na sekundę.

Dlaczego bufor UART miał by nie działać, wykorzystujesz go do jeszcze czegoś w tym czasie? Zawsze możesz w miejscu gdzie przerwanie nie może nastąpić wyłączyć przerwania, wtedy przerwanie nastąpi zaraz po ponownym włączeniu przerwań i zapobiegnie przepełnieniu bufora, o ile zdąży :) (przynajmniej w PIC tak jest).
Napisz jaki to procek i z jaką prędkością chodzi w MIPS (miliony instrukcji na sekundę), to może jednak da się zmajstrować takie przerwanie żeby nie zakłóciło komunikacji z LED.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2020, o 19:01 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 390
Lokalizacja: Głogów
Pomógł: 11

Kiedyś też walczyłem z tym problem do podświetlanego stolika który miał być sterowany przez pilota i przez BT. Diód mam ok 260 szt. Specjalnie do tego projektu zainteresowałem się atxmega które to posiada DMA a procesor ma sporo czasu na komunikacje z użytkownikiem i inne zadania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2020, o 21:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 368
Lokalizacja: Gliwice
Pomógł: 34

Arek1111111111 napisał(a):
Kiedyś też walczyłem z tym problem do podświetlanego stolika który miał być sterowany przez pilota i przez BT. Diód mam ok 260 szt. Specjalnie do tego projektu zainteresowałem się atxmega które to posiada DMA a procesor ma sporo czasu na komunikacje z użytkownikiem i inne zadania.

No właśnie. Do tego zadania na procesorze ATmega potrzeba "kunsztu", ale nie tylko "rzemieślnictwa". Z tego powodu osobiście bym tego nie robił, do zadania potrzeba dobrze rozgarniętego programisty lub właściwego sprzętu. Trzeba wiedzieć, że V-USB działa w pollingu, gdzie polling ten wymaga ścisłego okna czasowego oraz polling ten jest napisany w asemblerze, co dodatkowo może utrudnić sprawę, nie mówiąc już o WS2812B, który również bez przerwań raczej położy ten projekt. Stawiam osobiście tezę, ale mogę się mylić, że dla 260 diod (z sensowny odświeżaniem ok 30 fps) to tego nie da się na "słabej" ATmedze wykonać.
Jeśli chodzi o mnie to bardzo tani STM32F042F6Px wykonuje podstawową pracę USB+WS2812 właściwie bez użycia procesora, dodane IR i jeszcze wielu zadań nie będzie kłopotem (i nie chodzi tu o mityczne "32 bit") tylko własnie o "sprzęt". W przygotowaniu mam opis właśnie takiego projektu, który będzie wyśmienitą bazą do wykonania wielu lampek choinkowych sterowanych "czymkolwiek". Jeśli, ktoś ma problem z wyborem sprzętu, to niech jeszcze trochę poczeka :)
Wiem, że piszę trochę nie w temacie, wybaczcie :), ale gdyby temat brzmiał "jak to zrobić najlepiej, żeby się nie narobić" to rozwiązanie jest takie jak opisałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2020, o 09:54 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Marhef napisał(a):
Że w buforze UDR będę miał ostatni odebrany kod z pilota? Myślałem, że dane są sprzętowo zapisywane, ale nie jest wywoływana funkcja obsługi przerwania.

Ja myślałem, że tobie chodzi o odbieranie przez uart z buforowaniem. Oczywiście, że sam UART posiada sprzętowy bufor, który potrafi zapamiętać (hmm nie pamiętam teraz dokładnie) ale chyba nawet 2 odebrane bajty - ale to zależy jakiego kodowania użyjesz bo tych bajtów musiałoby być odebranych zwykle kilka a nie tylko jeden. Trzeba poćwiczyć - jakiś program prosty testowy sobie napisać do takiego odbierania. Czyli nastawić uart na nasłuch, zablokować przerwania, kliknąć pilotem, odblokować przerwania i żeby wysłał np do terminala w HEX to co odebrał i będziesz miał.

------------------------ [ Dodano po: 24 minutach ]

Zealota napisał(a):
Z tego powodu osobiście bym tego nie robił, do zadania potrzeba dobrze rozgarniętego programisty lub właściwego sprzętu.

eeeeh Zelaota - to tak jakoś b.dziwnie brzmi ;) a szczególnie to zestawienie programisty z właściwym sprzętem, to tak jakby właściwy sprzęt miał coś zrobić sam za programistę ;) Hmmm tylko czy to miałoby być logicznym dowodem na poparcie tezy o tym, że programista jest rozgarnięty ? ;) Coś mi tu nie pasuje ;) Moim zdaniem to wszystko zależy po prostu czasem od dobrego pomysłu i pewnego uporu w rozwiązywaniu problemów, aczkolwiek wiadomo że "głową muru nie przebijesz" i nie zawsze warto "kopać się z koniem" ... jeśli coś jest rzeczywiście poza zasięgiem 8-bitowca to nie ma co się szczypać i sięgać po lepszy sprzęt.

Zealota napisał(a):
Trzeba wiedzieć, że V-USB działa w pollingu, gdzie polling ten wymaga ścisłego okna czasowego oraz polling ten jest napisany w asemblerze, co dodatkowo może utrudnić sprawę, nie mówiąc już o WS2812B, który również bez przerwań raczej położy ten projekt.

To oczywista oczywistość i nawet nie ma co marzyć ... ale kolega autor widać zdaje sobie z tego sprawę bo napisał, że chce V-USB użyć tylko do celów konfiguracyjnych a więc wtedy diody LED mogą nie świecić albo może - nie wyświetlać animacji. (Jeśli dobrze go zrozumiałem?) Wtedy nie będzie nawet NAJMNIEJSZYCH problemów.

Zealota napisał(a):
Stawiam osobiście tezę, ale mogę się mylić, że dla 260 diod (z sensowny odświeżaniem ok 30 fps) to tego nie da się na "słabej" ATmedze wykonać.

A ja stawiam tezę, że hmmm może z pewnym "trickiem" da się to zrobić nawet dla 500 diod albo i ich większej ilości ;) I to nawet nie teza tylko bardzo długo mnie ten temat męczył swego czasu jak zrobiłem sterownik do kuchni na ok 280 diod ... no i naturalnie jak chciałem go sterować komenadami AT przez UART to niestety nie zawsze udawało się sterownikowi odebrać komendę AT w całości. Zadanie to było dużo trudniejsze niż odebranie kodu z pilota z podczerwieni bo jest on stosunkowo krótki w porównaniu do niektórych komend AT składających się z kilkunastu albo nawet kilkudziesięciu bajtów!

Podsumowując, dzisiaj już nie ma tego problemu w sterowniku pomimo, że nadal robi DOKŁDANIE to co robił jeśli chodzi o wyświetlanie na pasku Madżik LEDów ;) ... tylko tak jak pisałem wyżej - to na razie kompletnie nie nadaje się do jakiejś publikacji czy omówienia - muszę mocno uporządkować kod, jak przyjdzie czas, jeszcze to zoptymalizować i przede wszystkim ! zrobić tak, żeby mogło to działać tak nie tylko z komendami AT czyli przez UART ale właśnie żeby podobny sposób zastosować dla obsługi pilotów i wielu wielu innych tego typu źródeł odbierania danych. Jak zobaczyłem efekt pierwszy raz zadziałania tego pomysłu to byłem mocno zdziwiony bo też już w zasadzie byłem na etapie poddania się i klepania ręką w matę jak podczas zawodów zapaśniczych ;) myśląc o przejściu na ARM. No ale niestety - znowu się udało ze zwykłym kocim 8-bitowcem bez "sterydów sprzętowych" :lol: ... a prace nad rozwojem tego projektu przerwał ORANGEBOOK ... dlatego będzie trzeba troszkę poczekać.

Bo tak jak piszesz, taki STM z USB i DMA jeśli chodzi o możliwości to nawet nie ma co mówić albo porównywać do biednej ATmegi ;) Dla STM'a jak się to oprogramuje to będzie znaczyło tyle co puścić zdrowego bąka :lol: jak chodzi o wysłanie danych na paski madżik LED.

Zealota napisał(a):
W przygotowaniu mam opis właśnie takiego projektu, który będzie wyśmienitą bazą do wykonania wielu lampek choinkowych sterowanych "czymkolwiek"

No! jak Cię znam i projekty jakie wychodzą spod twojej ręki, to będzie na pewno gratka dla wszystkich, którzy bawią się prockami !

------------------------ [ Dodano po: 25 minutach ]


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lip 2020, o 17:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

Dziękuję za kolejne podpowiedzi.
Od razu zaznaczę (zapomniałem wcześniej), że projekt ma być na Atmega88 (bo takie mam pod ręką).
ATxmega, ARM, odpadają. Chcę użyć jak najprostszego procka.
USB ma być tylko do konfiguracji, zresztą zaznaczyłem, że to na przyszłość. I jestem prawie pewien, że na atmedze mi to zadziała.
abel11 napisał(a):
LookUp Table (LUT)
No tak, ale nie z przygotowaniem danych do wysłania mam problem. W czasie pomiędzy wysyłaniem danych do LEDów mam tyle czasu, że mogę sobie tablicę wypełniać po jednym bicie, i tak zdążę. Problem mam z tym, że transmisji do LEDów nie mogę przerwać - wysłanie stanu niskiego/wysokiego to ok. 1200 ns, atmega taktowana kwarcem 11,0592 MHz nie obsłuży mi przerwania od pilota w tak krótkim czasie.
Marhef napisał(a):
Chciałem wykorzystać bufor UDR, ale to na 99,99% nie wyjdzie.
Z buforem od UARTa zamotałem się trochę, ale Mirek to już wyjaśnił:
mirekk36 napisał(a):
Ja myślałem, że tobie chodzi o odbieranie przez uart z buforowaniem. Oczywiście, że sam UART posiada sprzętowy bufor, który potrafi zapamiętać (hmm nie pamiętam teraz dokładnie) ale chyba nawet 2 odebrane bajty - ale to zależy jakiego kodowania użyjesz bo tych bajtów musiałoby być odebranych zwykle kilka a nie tylko jeden. Trzeba poćwiczyć - jakiś program prosty testowy sobie napisać do takiego odbierania. Czyli nastawić uart na nasłuch, zablokować przerwania, kliknąć pilotem, odblokować przerwania i żeby wysłał np do terminala w HEX to co odebrał i będziesz miał.
To mnie naprostowało. W skrócie, nie wiem, dlaczego, wydawało mi się, że pilot nadaje na takim samym protokole jak LEDy. Pomroczność jasna ;)
Zealota napisał(a):
dla 260 diod (z sensowny odświeżaniem ok 30 fps)
Do podświetlenia szafek kuchennych wystarczy mi 0,5 fps, żadnych animacji nie będzie.

Przypomnę, że temat dotyczył tylko pilota IR. O USB wspomniałem przypadkiem, że to plan na przyszłość. I doskonale zdaję sobie sprawę z tego, że podczas transmisji USB nie będę mógł realizować transmisji z LED.
Natomiast jeżeli ktoś wie, jak sprzętowo zrealizować transmisję z MagicLEDami w prostych AVR, to chętnie dowiem się, jak to zrobić.
Zealota napisał(a):
W przygotowaniu mam opis właśnie takiego projektu

Chętnie się zapoznam z projektem.
Zealota napisał(a):
bardzo tani STM32F042F6Px wykonuje podstawową pracę USB+WS2812 właściwie bez użycia procesora
To i ja wiem, że tak się da. Ale chcę to zrobić bez sprzętowych ułatwień, żeby sprawdzić, czy jestem tylko rzemieślnikiem z programowania, czy może jednak stać mnie na odrobinę kunsztu.

Może jeszcze jedno zdanie, na wypadek, gdyby ktoś chciał się jeszcze wypowiedzieć.
Zapomnijcie o USB w opisanym przeze mnie projekcie. Założenia są takie:
1) procek ATmega88
2) pasek MagicLED (WS2812(B)) - 150 diod, może więcej
3) zmiana kolorów świecenia paska za pomocą pilota IR
4) częstotliwość odświeżania - ok. 1 Hz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lip 2020, o 19:35 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

A z innej beczki - czemu nie dasz szybszego kwarcu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lip 2020, o 20:46 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Marhef napisał(a):
4) częstotliwość odświeżania - ok. 1 Hz

Moim zdaniem przy tak wolnej częstotliwości odświeżania to nie masz co się martwić, może czasem (choć rzadko) pewnie będziesz musiał jeszcze raz kliknąć klawisz pilota i to tyle.

Aha tylko dodaj do procka kwarca porządnego czyli 20 MHz ;) i zrób obsługę podczerwieni na przerwaniu ICP z Greenbooka - bo to na prawdę dobrze opracowana metoda i b.szybka. Może nawet przy swoim odświeżaniu w ogóle nie zauważysz tego, że czasem jakaś pojedyncza ramka się nie przedostanie.


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2020, o 07:28 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 215
Pomógł: 14

micky napisał(a):
A z innej beczki - czemu nie dasz szybszego kwarcu?

A jeszce innej beczki, czemu nie pójdziesz na skruty i nie dasz jednego uC do pilota i drugiego do LED.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2020, o 12:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

micky napisał(a):
A z innej beczki - czemu nie dasz szybszego kwarcu?
Docelowo zapewne dam. Akurat 11,0592MHz miałem pod ręką (na zestawie ATB ;) ). Chociaż przyznam, że myślałem raczej o 12 MHz, ponieważ mam kilka(naście) sztuk w fajnych obudowach SMD, a projekt ma powstać z "przydasiów"
mirekk36 napisał(a):
Moim zdaniem przy tak wolnej częstotliwości odświeżania to nie masz co się martwić, może czasem (choć rzadko) pewnie będziesz musiał jeszcze raz kliknąć klawisz pilota i to tyle.
Na takie działanie właśnie liczę.
mirekk36 napisał(a):
zrób obsługę podczerwieni na przerwaniu ICP z Greenbooka
Skorzystam. Ale jak znam życie, to dużo czasu minie, zanim to ogarnę - obowiązki nie pozwalają na hobby.
Cytuj:
Aha tylko dodaj do procka kwarca porządnego czyli 20 MHz
Do atmegi88? Microchip podaje 16 MHz max. Zresztą, chyba i tak spróbuję na 12MHz. A jak nie będzie chciało działać, to wtedy zmienię kwarc.
Alef2 napisał(a):
czemu nie pójdziesz na skruty i nie dasz jednego uC do pilota i drugiego do LED
Myślałem o tym. Ale nie chcę rozbudowywać projektu. Jeśli da się na jednym procku, to chcę to zrobić na jednym



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2020, o 12:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Marhef napisał(a):
Skorzystam. Ale jak znam życie, to dużo czasu minie, zanim to ogarnę

Przecież w GB masz gotową do działania bibliotekę i nic w zasadzie nie trzeba ogarniać, szczególnie jeśli masz pilota RC5. Po prostu

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to taki krótki pseudo kod

Marhef napisał(a):
Do atmegi88? Microchip podaje 16 MHz max. Zresztą, chyba i tak spróbuję na 12MHz. A jak nie będzie chciało działać, to wtedy zmienię kwarc.

Ja cię nie mogę ;) zawsze się dziwię jak ludzie boją się szybkich kwarców podczas gdy szybsze taktowanie ZAWSZE ratuje nam przysłowiowy tyłek ;) ... toż nie chodzi o to że będzie czy nie będzie działać. Chodzi o to, że przy tak wolnym taktowaniu typu 11 czy 12MHz i przy tak długim pasku - będziesz miał BAAARDZO MAŁO CZASU na inne operacje. To trzeba kiedyś zrozumieć - jak to działa. Poza tym jeśli nawet bym się aż tak bał dać 20MHz (chociaż nie wiem czego się bać) to i tak dałbym najwyższy możliwy - a ty się upierasz przy ślimakach 11-12MHz ... dlaczego ? Przy diodach MAGIC LED, szczególnie jest ważne właśnie to szybsze taktowanie.

A na koniec dwie sprawy:

1. kwarce 20MHz są wszędzie dostępne i kosztują grosze - kompletnie nie widzę sensu wymiany 11,052 MHz na 12 MHz to da tyle co nic.

2. przetaktowanie procka z 16 MHz do 20 MHz w ogóle nie jest grzechem i nic by się nie działo, najdziwniejsze jest jednak to, że kolega nie zajrzał nawet do noty PDF tych nowych procków w której stoi jak byk:

Obrazek

No, chyba że ty piszesz o ATmedze88 bez literki P na końcu to rzeczywiście ona jest wg noty do 16 MHz ;) ale ileż ja procków nawet zwykłych atmeg32 biednych starych puszczałem na 20MHz ;) ba ... a atmegi88P/168P/328P to spokojnie nawet 24MHz przetaktowuję bez NAJMNIEJSZYCH skutków ubocznych.

Sprawdź bo może masz jednak tą z P ;) czyli ATmega88P ;) a jeśli nie - to i tak daj 20 MHz mówię ci. I w ogóle zaopatrz się w kilka porządnych kwarców takich jak:

a) 18,432 MHz (przyjazny dla RS232) a za to już dużo dużo szybszy
b) 20 MHz

ja sobie nie wyobrażam życia bez takich kwarców pod ręką - już nie wspominając o kwarcach 16 MHz.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2020, o 14:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

mirekk36 napisał(a):
w GB masz gotową do działania bibliotekę i nic w zasadzie nie trzeba ogarniać
Bibliotekę wiem, że mam. Chodziło mi o czas na to, żeby siąść nad projektem.
mirekk36 napisał(a):
jeśli masz pilota RC5
Pilot jest z jakiegoś prostego sterownika do LEDów RGB. Odczytując kody przez analizator salae wychodzi mi na to, że to kodowanie NEC.
mirekk36 napisał(a):
jak ludzie boją się szybkich kwarców
Nie boję się. Jak wspomniałem, mam mnóstwo kwarców 12 MHz w obudowie mniej więcej 5x2 mm. Chcę się zmieścić na płytce 45x25 mm. Więc szukam miejsca. A jestem typem człowieka, który kupi coś dopiero wtedy, kiedy nic z szuflady nie dopasuje ;)
mirekk36 napisał(a):
będziesz miał BAAARDZO MAŁO CZASU na inne operacje
Wiem, że to żadne wytłumaczenie, ale mogę odświeżać rzadziej. To ma być podświetlenie szafki w kuchni, nie będzie żadnych animacji.
mirekk36 napisał(a):
chyba że ty piszesz o ATmedze88 bez literki P na końcu
Właśnie takie procki mam. I znowu - są, więc chcę je wykorzystać.
Cytuj:
ja sobie nie wyobrażam życia bez takich kwarców pod ręką - już nie wspominając o kwarcach 16 MHz.
20MHz chyba nie mam, pozostałe podane przez Ciebie mam. Ale w dużych obudowach.
mirekk36 napisał(a):
ty się upierasz przy ślimakach 11-12MHz ... dlaczego ?
Bo mam :)
Chyba jednak trzeba będzie zrobić zamówienie na nowe kwarce ;) masz rację, Mirku, lepiej dać maksymalną możliwą szybkość.

Temat chyba można zamknąć, myślę, że wszystkie moje wątpliwości zostały rozwiane. Będę relacjonował rozwój projektu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2020, o 17:15 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Ja tylko dodam, że tu nie chodzi o to że jak dasz wolniejszy kwarc to np zmniejszysz odświeżanie - kompletnie nie w tym rzecz. Właśnie chodzi o to aby przy szybszym karcu o wiele szybciej wyrabiały się przerwania do komunikacji np uart, do osbługi podczerwieni itp - żeby zajmowały możliwie najmniej czasu, najmniej taktów.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2020, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

W tą stronę nie pomyślałem. Dam kwarc 16 MHz, powinien wystarczyć.
Jeszcze raz dziękuję za całą pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO