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



Teraz jest 27 kwi 2024, o 09:34


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 41 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 5 gru 2013, o 19:17 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

mirekk36 napisał(a):
makarpi napisał(a):
taką oto wstawkę asm napisałem, co robię w niej źle?


No dobrze ale co ta wstawka ma wg ciebie robić ? wygenerować jakiś przebieg prostokątny o jakimś tam wypełnieniu ? ... no to można byłoby nawet PWM'a użyć - po co pisać wstawkę ?

Zajrzyj do noty - kodowanie polega na dość precyzyjnym zachowaniu czasu wysyłania pojedynczych BITÓW (uwaga bitów) gdzie wcale nie ma równych połówek - to po pierwsze, a po drugie nie może być odstępów pomiędzy BITAMI. Już nie wspomnę o przerwie 50us po zakończeniu sekwencji wysyłania 24 bitów danych

więc jak to się ma do opisu protokołu z noty PDF ? a wziąłeś w ogóle pod uwagę czasy połówek bitów dla stanu 1 i dla stanu 0 ?

myślę Mirku, że kolega napisał wstawkę dla wprawki. Żeby zobaczyć co się w ogóle dzieje. I jak pisze nie ma na wyjściu tego czego oczekiwał. Dlatego pyta kolega co robi nie tak.
;-)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 19:32 
Offline
Moderator
Avatar użytkownika

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

MirkoT napisał(a):
myślę Mirku, że kolega napisał wstawkę dla wprawki. Żeby zobaczyć co się w ogóle dzieje. I jak pisze nie ma na wyjściu tego czego oczekiwał. Dlatego pyta kolega co robi nie tak.


ja też tak myślę i dlatego starałem się zwrócić uwagę na to co zrobił źle ... czy może zostałem odebrany inaczej ? bo nie rozumiem za bardzo ?

ja wkrótce też dam pełne kody do swoich bibliotek do tych diod, także ze wstawkami asm ....

ale jeśli kolega próbuje na tą chwilę pisać sam - to przecież chyba nie jest grzechem powiedzieć gdzie popełnia błędy i zadać ew naprowadzające pytania ?

_________________
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: 5 gru 2013, o 20:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 35
Pomógł: 4

Chciałem wpierw uzyskać właśnie te dwa przebiegi z noty, by potem to połączyć w całą ramkę 24 bitów. Niezależnie od tego ile nopów wstawię po wyzerowaniu, przebieg się nie zmienia. Ustawiłem zegar na 9.6MHz więc jeden nop powinien trwać jego odwrotność. Według tego co napisałem powinien być prostokąt, a jest nie to co oczekuję. Jakby procek w ogóle mnie nie słuchał. Nie wiem jak ze stabilnością tego zegara.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 20:14 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

mirekk36 napisał(a):
MirkoT napisał(a):
myślę Mirku, że kolega napisał wstawkę dla wprawki. Żeby zobaczyć co się w ogóle dzieje. I jak pisze nie ma na wyjściu tego czego oczekiwał. Dlatego pyta kolega co robi nie tak.


ja też tak myślę i dlatego starałem się zwrócić uwagę na to co zrobił źle ... czy może zostałem odebrany inaczej ? bo nie rozumiem za bardzo ?

ja wkrótce też dam pełne kody do swoich bibliotek do tych diod, także ze wstawkami asm ....

ale jeśli kolega próbuje na tą chwilę pisać sam - to przecież chyba nie jest grzechem powiedzieć gdzie popełnia błędy i zadać ew naprowadzające pytania ?

Mirku, ależ oczywiście, że nie jest grzechem ;-)
Tyle że kolega napisał:

Cytuj:
taką oto wstawkę asm napisałem, co robię w niej źle? Według założeń powinienem mieć prostokąt 50% wypełnienia, a na oscyloskopie jest około 30-40%, stan niski trwa dłużej[...]

PS. pierwszy raz miałem styczność z assemblerem

Czyli na razie nie sięgał do noty a celem było zobaczyć co taki kod zrobi. Spodziewał się prostokąta o wypełnieniu 50% a dostał co innego i pyta co w tym co naskrobał jest nie tak, że nie dostał tego czego się spodziewał... ;-)
Niestety nie pomogę bo asm leży poza moim zasięgiem :-(

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 21:12 
Offline
Moderator
Avatar użytkownika

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

MirkoT --> aaa no to masz rację a ja ślepy byłem - PRZEPRASZAM :roll:

------------------------ [ Dodano po: 2 minutach ]

makarpi napisał(a):
Według założeń powinienem mieć prostokąt 50% wypełnienia, a na oscyloskopie jest około 30-40%,


ok teraz po uwadze kolegi wyżej odniosę się merytorycznie do pytania - więc i ciebie przepraszam za mój poprzedni wywód.

Tak mi się wydaje że tą wstawkę wywołujesz cyklicznie - prawda ? bo nie zrobiłeś pętli w tej wstawce - więc wypełnienie masz nierówne z uwagi na realizację pętli wyżej w C.

_________________
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: 5 gru 2013, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 35
Pomógł: 4

Racja :) w głównej pętli programu jest ta wstawka wywoływana i wykonanie pętli też prockowi zabiera czasu. Specjalnie nie zależy mi na najwyższej prędkości, a na poprzedniej stronie wspomniałeś że można to zrobić czysto w C. Uchylisz rąbka tajemnicy? Może jakaś wskazówka? W sumie teraz wpadłem na takie coś:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dobry kierunek obieram?
Inna sprawa, jak to jest z tymi wartościami przy niższych prędkościach? Po prostu musi być zachowany ten stosunek stanu wysokiego do niskiego (2/3 albo 1/3)?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 21:52 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

makarpi napisał(a):
Racja :) w głównej pętli programu jest ta wstawka wywoływana i wykonanie pętli też prockowi zabiera czasu. Specjalnie nie zależy mi na najwyższej prędkości, a na poprzedniej stronie wspomniałeś że można to zrobić czysto w C. Uchylisz rąbka tajemnicy? Może jakaś wskazówka? W sumie teraz wpadłem na takie coś:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dobry kierunek obieram?
Inna sprawa, jak to jest z tymi wartościami przy niższych prędkościach? Po prostu musi być zachowany ten stosunek stanu wysokiego do niskiego (2/3 albo 1/3)?

Zdaje się, że problem jest trochę trudniejszy bo z tego co pamiętam to bit ma trwać określony odcinek czasu. A stosunek niskiego do wysokiego określa czy to jest 1 czy 0

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 22:38 
Offline
Moderator
Avatar użytkownika

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

Tu proszę jak powinien wyglądać bit o wartości 1 i 0 przy prawidłowych czasach dzięki czemu można uzyskać jak widać częstotliwość 800kHz

Obrazek

tu jest kompletna wstawka asm, która potrafi już wyemitować całą tablicę kolorów RGB ;) ... to tylko taka zajawka i proszę na razie mnie nie męczyć o więcej szczegółów ;) ale widzicie że się kroi poradnik....

niestety nie mogę obiecać konkretnego terminu jego ukazania się niestety i proszę o zrozumienie ... tym bardziej, że jeszcze nie ukończyłem prac nad tymi bibliotekami

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

_________________
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: 23 lut 2014, o 10:42 
Offline
Nowy

Dołączył(a): 09 lut 2014
Posty: 24
Pomógł: 0

Cześć

Mam pytanie odnośnie korekcji gamma. Zrobiłem sobie arkusz do generowania tych tablic w excellu, włożyłem co trzeba w program i niby wszystko pięknie działa, ale powstaje efekt którego właściwie się mogłem spodziewać. Wykorzystuję efekty powolnego rozjaśniania i ściemniania kolorów w zwykłych paskach diodowych RGB i podczas operowania na małych wypełnieniach widać wyraźne skokowe rozjaśnianie/ściemnianie się. Zgodnie z moim chemicznym podejściem powiedziałbym, że rozjaśnianie się diodek przy niskim wypełnieniu jest skwantowane jak temperatura w okolicach zera bezwzględnego.

A teraz pytanie: Czy jedynym sposobem na poprawę sytuacji jest zastosowanie wyższej rozdzielczości PWM, czy też istnieje jakiś chytry sposób na ten problem?

_________________
Ja nie dam rady?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2014, o 12:07 
Offline
Moderator
Avatar użytkownika

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

chemik143 napisał(a):
ale powstaje efekt którego właściwie się mogłem spodziewać. Wykorzystuję efekty powolnego rozjaśniania i ściemniania kolorów w zwykłych paskach diodowych RGB i podczas operowania na małych wypełnieniach widać wyraźne skokowe rozjaśnianie/ściemnianie się.


Może jednak poszło ci coś nie tak ? .... zobacz sobie na wartości GAMMA dla chociażby rozdzielczości 7-bitowej:

Obrazek

Owszem przy BARDZO powolnych zmianach PWM nawet z korekcją gamma może powstać dla oka zjawisko skokowej zmiany ... w zakresie niskich wartości - ale wtedy wystarczy że zrobisz PWM o rozdzielczości 9 bit albo więcej - i spróbuj wtedy to dostrzec ;)

_________________
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: 23 lut 2014, o 15:19 
Offline
Nowy

Dołączył(a): 09 lut 2014
Posty: 24
Pomógł: 0

Dziękuję za odpowiedź. Dokładnie o taką powolną zmianę mi chodzi. Od zera do 255 w 10 sekund. Wartości układają się podobnie. Najpierw jedno zero, potem sznur jedynek, kilka dwójek itd.

Ze względu na to, że używam PWMa programowego na 9 niezależnych kanałów który jest schowany w przerwaniu obawiam się, że na liczbach 16 bitowych porównywanie wartości może trwać zbyt długo. Nie mniej jednak spróbuje się pobawić. Zapewne pierwszym krokiem będzie przeniesienie PWMa do pętli głównej tak jak powinno się to odbywać. Mam nadzieję, że obsługa TCP/IP w pętli głównej nie będzie przeszkadzała.

Odezwę się zaprzęgnę więcej bitów do pracy i powiem jak wyszło.

_________________
Ja nie dam rady?



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: 41 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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