jark napisał(a):
Zealota napisał(a):
Kolejny super parametr z tej noty "fall time = 150 us",teoria układów logicznych definiuje ten czas jak na rysunku:
Gdzie tu do diaska mamy jakieś opadanie 150us?
Sorry Panowie, ta nota to jedna wielka amatorszczyzna, pisana na kolanie.
Bardzo ładnie kolega wyjaśnił początkującym jaka jest definicja czasu opadania. Zgodzę się również, że ten czas ma się nijak do przebiegów czasowych na magistrali danych.
Jednak nie wynika to z kolejnego babola w nocie jak kolega próbuje zasugerować. Wystarczy bowiem rzucić okiem w kolumnę Condition dla parametru Fall time aby zrozumieć, że podany czas opadania dotyczy przebiegu PWM na wyjściach sterujących poszczególnymi kolorami w strukturze WS2812.
Ok, przyznam się, ze z teorii cyfrowej jestem słaby (ale z prostej, ścisłej logiki już nie), i nie wiem, że tu chodzi o PWM, ale Kolega, też przecież tylko się domyśla? Nota nic nie wspomina o tym, bo cała ta nota to tylko wyrywek z dokumentacji.
Dowód w postaci "Condition w tabelce" to chyba za mało.
W tym fragmencie następuje próba zanegowania mojej tezy o fall time, poprzez luźną interpretację,
ale więcej niż 50 to jest 6? To lekki przytyk
ale niestety ta
negacja prostej logiki trochę mnie oburza
jark napisał(a):
I teraz jeszcze jedna rzecz - pozwolę sobie zacytować kolegi wypowiedź, oto cytat który już tu się pojawił i to z mocnym podkreśleniem na czerwono dla czytających wątek.
Cytuj:
Wspomina wspomina, nawet na wykresie w nocie jest "przerwa" podpisana >50us, a ta przerwa może tylko przedłużyć stan ostatniego zera lub jedynki i tylko ta przerwa powinna zresetować magistralę.
Nie wiem, czy kolega zrobił to świadomie czy nie ale w tym zdaniu kolega doszedł do sedna tego co chcieliśmy przekazać z kolegą kijas1
Jak słusznie kolega zauważył ta przerwa może przedłużyć stan OSTATNIEGO zera lub jedynki.
Nie pierwszego, nie ósmego, nie 24 bo akurat używamy procka z małą ilością ramu i potrzebujemy więcej czasu na przeładowanie pamięci, ani żadnego innego podczas trwania transmisji - tylko ostatniego.
I to starałem się ciągle pokazać - w czasie nadawania zgodnie z notą nie mamy prawa przedłużać stanu niskiego na linii poza T0L(+/-150ns) lub T1L (+/-150ns) (w zależności jaki był nadany ostatni bit) aż do momentu skończenia transmisji. Na to nota nie zezwala. I tak powinna wyglądać prawidłowa implementacja protokołu.
A teraz znowu merytorycznie
UWAGA! Pytanie.
A dlaczego nie 24 bitu? TO BARDZO WAŻNE PYTANIE.Gdy steruję tylko jedną diodą to jaki czas powinienem podać by zrestartować magistralę?
Czemu 6 a nie 50 us? Który fragment noty mówi o 6us, no który
Powiem Wam,
że gdyby tam było <50 to bym mógł się zgodzić.
Mój test z 5 diodami to była analiza łańcucha, gdzie skrajnym przypadkiem jest łańcuch z pojedynczą diodą ( w każdym przypadku to łańcuch ).
Przecież na rysunku jest zaznaczony czas >50us. On się tyczy jednego wagonika 24bit, dwóch i więcej.
Czy Koledzy uważają, że ponieważ na rysunku mamy FIRST 24 BIT, SECOND 24 BIT i THIRD 24 BIT to uważacie, że jednego nie mogę wystawiać. No niestety teraz mam właśnie takie przypuszczenie, a to wygląda na najistotniejsze nieporozumienie w rozumieniu tej noty.
Pisaliście "pomiędzy wagonikami nie może być przerwy", bo na rysunku nie ma. Tutaj już jestem rozbawiony
Dla Was wagoniki to chyba 8bit dla jednego koloru No trochę się rozpędziłem, ale już STOP
Może być przerwa, bo wagonik to 24bit dla jednej diody i
zarazem CAŁY ŁAŃCUCH.
Powtórzę ta przerwa to >50us, dlatego 6us jest niezgodne z notą
Żeby zmienić kolor TYLKO JEDNEJ diody MUSZĘ, wg noty, podać czas WIĘKSZY NIŻ 50us - NIE 6us. Warunek logiczny zapisany w nocie jest ISTOTNY.
Wykazałem również, że pomiędzy bitami mogą być dłuższe czasy i to NIE MIAŁO wpływu na czas resetu, jak próbowano mi chyba sugerować.
Sam w swoim projekcie tego nie robiłem, bity leciały ciurkiem, jak Bozia przykazała,
a reset i tak leciał po 6us."Transportation is precise business" Z jakiego to filmu??
Nauka, fizyka i elektronika to jeszcze bardziej precyzyjne dziedziny
Pewnie do szanownych interlokutorów, to już nie dotrze, ale może kilku początkujących przekona.
Być może dla części uczestników w dyskusji to jest właśnie kłopot ze zrozumieniem mojej interpretacji.
Przez cały czas próbowałem wykazać, że łańcuch to również
TYLKO 24 bity,
zanegowanie właśnie tego przez Kolegę powyżej ( CYTAT: "Nie pierwszego, nie ósmego, nie 24") świadczy o tym jakoby Koledzy uważali, że poprawny sygnał musi zawierać
FIRST, SECOND i THIRD. Nic bardziej mylnego! To nie chodzi o first bit, tylko FIRST 24 bit
Gdyby faktycznie tak było, to oczywiście nie moglibyśmy poprawnie sterować
jednej diody.Drugie nieporozumienie, to takie, że przez dłuższy czas, wg mnie,
próbowaliście dokonywać analizy, myśląc że ja mam bity niezgodne z notą tzn czas bitu jest dużo dłuższy niż 1,2us. Chyba nie dostałem takiego potwierdzenia, ale któryś z Was chyba sądził, że wydłużanie bitów powoduje
skrócenie czasu z 50 do 6, a
zapisy z NOTY o 400 czy tam 800 kHz miały być łamane z powodu błędnych zer i jedynek -
miałem dostać analizę protokołu,, ale po podaniu, że mój czas bitu to 1.2us (zgodnego z notą) kontakt się urwał, jak to Kolega stwierdził, nastąpiło okopanie się, tym razem nie moje
Bardzo pragnę podkreślić.Moja tzw. implementacja jest tylko i wyłącznie liniowa. To ważny wniosek. To, że Mirek nie miał ramu w ATtiny i próbował sterować łańcuchy jedną strukturą nie znaczy, że ja nie mam ramu w Atmega644
Ja cały czas pracowałem na buforze, od 12 do 60 diod. Parametr LED_CNT mogę sobie ustawić nawet na 512 ledów, a w każdej chwili mogę go
przerwać transmisją wystawiając 50us i więcej. To,
że przerywanie następuje po 6us, to jest ta niezgodność.
Warunek logiczny >50 nie zawiera w sobie 6! Skupcie się proszę na tym właśnie zdaniu.
Tutaj niestety nie mogę na prawdę zrozumieć negacji tej prostej logiki.Odrzućcie zarazem wszelkie eksperymenty Mirka i skupcie się na moich eksperymentach i wnioskach.
Wysterujcie 1500 diod
CIURKIEM i, z parametrami czasowymi noty, sprawdźcie po ilu us będziecie mogli sterować nimi po raz kolejny. Proszę zróbcie to!!
Potem przyjdźcie i
powiedźcie czemu tam było 6us, bo ja nadal nie wiem
Mam trochę wrażenie, że Koledzy próbując dowodzić tezy o poprawności noty patrzyli tylko na poradnik Mirka, niestety.
Być może moje wypociny były
po prostu słabo zredagowane, albo za długie jak ta ale ostatni raz powtórzę,
w pozycji wyjściowej eksperymentów robiłem wszystko wg noty tylko
nie podobał mi się ten reset po 6us.Ale mam też do Was konkretny żal, bo nie wiem czemu nie byliście w stanie nic konkretnego zrobić, żeby mnie przekonać.
Robiłem testy, wykresy i inne pierdoły.
Nie miejcie żalu do Mirka, że właśnie On to "piętnował", bo naprawdę słabo to wygląda:
"to zrób jeszcze inne testy" takie padło zdanie. Sam nic nie zrobię, ale inny musi zasuwać, bo ja przeczytałem notę, i nie muszę zmierzyć się w praktyce, bo wiem, bo transmisja prosta jak drut, bo nie chce mi się albo nie mam czasu - niestety tak można odebrać naszą "walkę na argumenty", z Waszej strony.
Żeby nie było ten "żal" to tak na wyrost
Cieszę się, że poświęciłem czas na to wszystko.
PS
A teraz ankieta:)
Jest ktoś w ogóle kogo przekonałem, że "więcej niż 50" to nie jest 6??
)NO i jeszcze przepraszam za te kolorki
jark napisał(a):
Dla mnie jak już wcześniej pisałem:
1. Robię zgodnie z notą - wszystko działa dobrze - nota jest ok.
2. Robię zgodnie z notą - a tu nie działa - proszę Państwa odkryłem babola w nocie
Jeszcze raz dziękuję wszystkim za uwagę. I przełączam się w tryb READ ONLY (dużo bardziej bezpieczniejszy) z którego nieopatrznie wybudziłem się w piątek
Pozdrawiam wszystkich czytających i piszących serdecznie.
Jarek
ps. Dużo mnie nauczyła ta dyskusja i nie chodzi mi tylko o tematy elektroniczne