Szybkie interfejsy szeregowe -- dlaczego nie np. EFM-plus zamiast

Feb 11, 2016 38 Replies

To nie ma znaczenia, Jarku. Jedynym istotnym elementem jest black-box o zadanym paśmie. A czy to jest drut liczony jako układ o stałych rozłożonych, czy inny laser, to tylko zaciemnia sprawę.

Pozdrawiam, Piotr

U¿ytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:56bde5ed$0$701$ snipped-for-privacy@news.neostrada.pl...

Pierwsz± wypowied¼ zrozumia³em tak, ¿e stosuj±c 8/10 nie zmieniamy czasu bitu i tracimy (z 1,25G robi siê 1G). Natomiast stosuj±c EFM tracimy 2x bo 8 kodujemy na 16 i zyskujemy 3x w³a¶nie skracaj±c bit 3 razy (by³ wzór: 1.25G*3*8/16 = 1.875Gbps). Piszê opieraj±c siê wy³±cznie na tych informacjach.

Mam 1200m skrêtki w szufladzie. To chyba ju¿ by³a linia d³uga.

Ta zale¿no¶æ im d³u¿ej stan tym pó¼niej zbocze bardziej bra³a siê z pó³przewodników ni¿ z linii.

Tak, ale co¶ przeczuwam, ¿e przy transmisjach o które chodzi nigdy nie ma d³ugo trwaj±cego stanu, ani tym bardziej jeszcze d³u¿ej trwaj±cego.

A wszystkie stany s± krótko trwaj±ce. P.G.

No nie Piotrze - tzn niby dobrze piszesz, ale diabel tkwi w szczegolach. Pierwsza sprawa - a jakie jest pasmo kawalka kabla, np koncentrycznego ? Gigaherce ?

Druga - przy wolnozmiennej petli pradowej dominujacy bedzie wplyw pojemosci kabla, tzn calkowitej pojemosci. Calkiem spora moze wyjsc, a prad musi ja przeladowac.

Przy szybkozmiennej trzeba bedzie na to popatrzec jak na linie transmisyjna - calkiem szybko moze transmitowac, wyjscie moze byc opoznione od wejscia o pare bitow, ale duzego napiecia na wyjsciu sie nie uzyska. Bo juz na wejsciu bedzie np 20mA*50 ohm = 1V. Ktore to 50 ohm przy wolnozmiennnym sygnale w ogole nie ma uzasadnienia.

A raczej polowa, bo trzeba opornik dopasowujacy, a nawet dwa :-) Co prawda gdzies tam na wyjsciu linii dlugiej sie ten prad pojawi (tzn polowa i jeszcze stlumiona), ale detektor trzeba niskonapieciowy.

Taki detektor moze by sobie i z wolnozmiennym poradzil rownie dobrze i Pawel moglby cos innego napisac :-)

J.

U¿ytkownik "Piotr Wyderski" snipped-for-privacy@neverland.mil napisa³ w wiadomo¶ci news:n9kp7h$55j$ snipped-for-privacy@node1.news.atman.pl...

Nie rozumiem, jak to siê ma do tamtego (w sensie pasma, bo w sensie idei rozumiem, ¿e to jest to samo tylko bardziej). Tam by³o za³o¿enie (nie zak³adam, ¿e s³uszne), ¿e pasmo kabla decyduje o tym jaki najkrótszy impuls mo¿na przes³aæ i koduj±c tak, aby bity zawsze by³y co najmniej 3 mo¿na zwiêkszyæ prêdko¶æ 3 razy. Tutaj zak³adaj±c impuls 1ns (dwie zmiany) zak³adamy (przez analogiê z poprzednim), ¿e kabel ma pasmo wystarczaj±ce do przes³ania najkrótszego impulsu - czyli raczej 1GHz ni¿ 2Hz.. P.G.

W kontekście wątku to nie ma znaczenia. Gigabitowy kabel ma mieć IIRC pasmo 250MHz na parę przy jakimś tłumieniu i nie jest istotne, czy Twój ma więcej. Chodzi o to, że wolno mu mieć dokładnie tyle i dalej spełni normy.

Ale to się w końcu wszystko sprowadzi do tłumienia w funkcji częstotliwości składowych sygnału i długości kabla (czyli pasma) oraz zależności ich fazy od tej częstotliwości (czyli dyspersji). Więcej w tym modelu IMO nie ma, jeśli założymy liniowy zakres pracy kabla (nie przebija izolacji itp.)

Owszem, to i jeszcze cała masa innych efektów tu będzie miała udział, ale to efektywnie skończy jako pasmo i dyspersja. Pozdrawiam, Piotr

OK, wersja jeszcze bardziej ekstremalna: po zmianie stanu nie wracamy już do poprzedniego przez jeszcze jedną sekundę, czyli impuls jest długi (w zakresie [1..2) sekund).

Pozdrawiam, Piotr

Chyba ogarniam. Gdyby¶ napisa³, ¿e z tego, ¿e sygna³ ma 1Hz (choæ wymagana dok³adno¶æ zbocza

1ns) nie mo¿na wyci±gaæ wniosku, ¿e da siê go przes³aæ kablem o pa¶mie 1Hz od pocz±tku by³oby jasne. Ale napisa³e¶ jakby odwrotnie - czy z tego, ¿e sygna³owi zdarzy³o siê mieæ 1Hz wynika, ¿e kabel ma 1Hz i to mi nie gra³o. P.G.

W dniu 2016-02-11 o 19:12, mk pisze:

Wg mnie nie, zawsze gdzieś się trafi sekwencja szybsza i wtedy pasmo ci gwałtownie rośnie. A jeżeli nie to się nie da zakodować bo jak Cię zrozumiałem z 8 bitów robisz 16 tak aby minimalna grupa wynosiła 3 bity tego samego typu, to oznacza 5 grup + 1 bit czyli de fakto jedna grupa ma 4 bity, zgadza się? a to oznacza że możesz zakodaować tylko 2^5 stanów a to jest mniej niż 2^8, co oznacza że muszą występować grupy krótsze 2 lub nawet 1 bitowe, czyli wracamy do tego co napisałem w 1 poście, przepustowość przy tym samym paśmie spada o połowę.

U¿ytkownik "janusz_k" <Janusz snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:n9la8e$1rb7$ snipped-for-privacy@gioia.aioe.org...

2^5 gdy pierwsza grupa jest 4 bity 2^5 gdy druga jest 4 bity ..... nikt te¿ nie zabroni³ aby by³y 4 grupy w tym 5 bitowe.

Nie chce mi siê wyszukiwaæ wszystkich mo¿liwo¶ci, ale skoro kto¶ to tak wymy¶li³ to zapewne siê da. P.G.

W dniu 2016-02-12 20:02, janusz_k pisze:

Przyznaję, że nie potrafię zrozumieć Twojego wywodu.

Powtarzam: przekodowanie EFM-plus daje gwarancję niezmienności stanu linii częściej niż co 3 bity. I to nie jest jakaś cecha uboczna, ale właśnie wokół tej cechy EFM-plus został zaprojektowany.

Ok... rozumiem, że masz wątpliwości wynikające z tego, że 16 bitów kodu wyjściowego, po narzuceniu ograniczenia, że stan linii ma być utrzymany przez co najmniej przez 3 bity (ale nie dłużej niż 11), nie da 256 możliwości, które potrzebne są do reprezentowania 8-bitów ciągu przed przekodowaniem. Dodatkowo jeszcze ograniczenie, że po sklejeniu dwóch dowolnych 16 bitowych kodów wyjściowych również nie będzie naruszona poprzednia reguła.

No to przeprowadziłem trochę obliczeń... Z punktu kombinatoryki problem jest podobny do problemu obliczenia "na ile sposobów można wejść po schodach", gdzie dana jest liczba schodów przy czym można wykonywać krok zwykły, gdzie posuwamy się o jeden stopień, albo krok długi, gdzie posuwamy się o dwa stopnie. Problem rozwiązuje się poprzez odkrycie reguły rekurencyjnej: liczba możliwych sposobów dotarcia do stopnia n jest równa f(n) = f(n-1)+f(n-2). Od razu też widać bezpośredni związek z ciągiem Fibonacciego.

Nasz problem jest nieco inny: dozwolone są tylko kroki w których pokonujemy od 3 stopni do 11 w jednym kroku :-) (ktoś tu ostatnio narzekał na idealnie okrągłe krowy o nieskończenie małej średnicy). Z racji tego, że już samo wyprowadzenie wzoru na n-ty element ciągu Fibonacciego trywialne nie jest, to uznałem, że tym bardziej trywialne nie będzie dla naszego problemu. Więc sięgnąłem po rozwiązanie algorytmiczne i sporządziłem na kolanie mały programik to obliczający.

I faktycznie wejść na 16 stopni, przy ww. ograniczeniu, da się na 83 sposoby, czyli to odpowiada log2(83) = 6.375... bitów. No i gdyby się tu zatrzymać, miałbyś rację -- nie da się.

No ale sprawdźmy na ile sposobów da się wejść na 32 stopni przy ww. ograniczeniu. Odpowiedź brzmi: 33961 czyli log2(33961) = 15.0516 bitów. Wciąż nie... ale już prawie.

No to 64 stopnie. Liczba możliwych sposobów wejść ok. 5.62 mld czyli log2(5.63 mld) = 32.3891 bitów. DA SIĘ! Strumień 64 bitów przekodowanych jest w stanie nieść 32 bity danych oryginalnych!

Gdyby jeszcze interesowało kogoś opcja 512 schodów... Liczba sposobów 6.57*10^82 Log2(6.57*10^82) = 275.114 bitów. Czyli widać, że EFM-plus nie jest optymalny bo da nam tutaj możliwość przeniesienia "jedynie" 256 bitów. Daje on jednak ekstra DC-free i po prostu, domniemuję, daje się go efektywnie zaimplementować.

Nie znam szczegółów pryncypiów działania EFM-plus, ale nie działa on na zasadzie prostej "look-up table" 8->16 bitów. Wg wiki po każdym przekodowaniu 8->16 zapamiętywany jest stan w 4-stanowej maszynie i stan ten jest uwzględniany w kolejnym przekodowaniu 8->16.

pzdr mk

Tak.

Trzech jedynek, albo czterech, albo pięciu itd. I niech liczba tych jedynek też niesie informację.

Hmmm...

No i tu się nie zgadzam. Myślę, że nie jest zbyt wydumane założenie, że kanał który przeniesie impulsy o długości 1*t, 2*t, 3*t... przeniesie też impulsy o długości 1.33*t, 1.67*t, 2.33*t...

pzdr mk

W dniu 2016-02-12 13:41, snipped-for-privacy@gmail.com pisze:

Nie odbieram jako przytyk: w wojsku mawiało się: "Najlepszy rezerwisty pagon czysty!" ;-)

No to nawiązując do wątku o kostce Rubika takie zadanie: Skoro robot jest w stanie ułożyć kostkę z dowolnego stanu początkowego w ciągu jednej sekundy, to i jest w takim czasie wstanie wykonać operację odwrotną. Więc niech robot koduje informację w postaci odpowiedniego "rozkopania" kostki i wyrzuca ją co sekundę w kierunku odbiorcy informacji.

Ile bitów na sekundę, a ile bodów? ;-)

pzdr mk

W dniu 2016-02-12 10:43, Piotr Gałka pisze:

Myślałem, że z patentów żyją przede wszystkim wynalazcy (czy ich "opiekuni"). Więc EFM-plus (czy inne) jest opatentowane nie po to by leżeć w szufladzie i robić wszystkim na złość nie mogąc być wdrożone, ale wprost przeciwnie: po to by jednak być wdrażane gdzie się da (za odpowiednią opłatą oczywiście) i jak najszybciej (bo czas leci).

I co? Pewnie zarobił na tym kupę kasy?

No właśnie: bo tylko tyle wart był ten patent.

pzdr mk

W dniu 2016-02-11 19:48, Waldek Hebisch pisze:

Zgadzam się z tym... chociaż wolałbym mówić o precyzji zlokalizowania punktu próbkowania sygnału względem zboczy. Za lokalizacją zboczy odpowiada układ PLL, który wytwarza sygnał zegarowy (lub nawet wiele sygnałów o różnych fazach) i tenże PLL ładnie filtruje jittering zboczy. Wczytując się w parametry różnych układów PLL producenci obiecują na wyjściu jittering < 1 ps.

Prawdą jest, że wg tego co proponuję zbliżamy się z punktem próbkowania

3x w kierunku punktu przełączania i to oczywiście jest problem. Ale też patrząc na te wszystkie eye-diagram szybkich linii, są takie ładne :-) Jittering wcale nie taki wielki, aż kusi by to próbkować gęściej...

Proponowałem też, że jeśli kręcić zegara się nie da już, to można wprowadzić trzy sygnały zegarowe o przesuniętych fazach... No ale po przemyśleniu: przecież prawdopodobnie to rozwiązanie już jest stosowane

-- przy 8b10b kto wie czy nie ma 10-fazowego taktowania. A ja chcę to jeszcze razy 3...

pzdr mk

Użytkownik "mk" <reverse_lp.pw@myzskm> napisał w wiadomości news:56bfb855$0$698$ snipped-for-privacy@news.neostrada.pl...

No, ale gdyby się uparł i posmarował dobrym papugom? ("połowa wygranej jest pana... a nawet 90%, niech stracę") Tak o tym patencie czytając pomyślałem sobie, czy dało by się wykorzystać takie tam zawiłości patentowe, przeciw organizacjim takim, jak ZAiKS, itd? Ale to już chyba NTG...

Na Wikipedii piszą, że dla EFM-plus mogą wystąpić co najmniej dwa zera i co najwyżej dziesięć zer między jedynkami. Czyli może być 0010010010000, skąd dane, że zmiana stanu może wystąpić nie częściej niż co trzy bity?

U¿ytkownik "Artur" napisa³ w wiadomo¶ci grup dyskusyjnych: snipped-for-privacy@googlegroups.com...

Dalej masz wyjasnienie: "This is because bits are encoded with NRZI encoding, or modulo-2 integration, so that a binary one is stored on the disc as a change from a land to a pit or a pit to a land, while a binary zero is indicated by no change."

dwa zera to brak zmian, zmiana nastepuje dopiero na trzeciej jedynce. Czyli minimalna dlugosc pitu lub landu to 3 bity/jednostki.

J.

Racja, nie doczytałem że dalej jest NRZI. No ale jakoś intuicja mówi mi, że gdzieś jest haczyk. Pewnie w tych krótszych zboczach..

U¿ytkownik "Artur" napisa³ w wiadomo¶ci grup dyskusyjnych: snipped-for-privacy@googlegroups.com...

W krotszych zboczach i w przejsciu z kodowania przez obecnosc pita na kodowanie przez polozenie pita.

Tak jakbys mial np na tasmie perforowanej dziurki np 2mm srednicy, odstep 1mm czyli rozstaw 3mm, i wychodzi 1/3 bit/mm.

Dziurki z roznych powodow nie chcesz zmniejszac, ale sie umawiasz ze dziurka moze byc normalnie lub milimetr dalej lub 2mm dalej. Oczywiscie wymaga to powiekszenia rozstawu do 5 mm. Jedna dziurka koduje teraz 2 bity, i mamy 2/5 bit/mm.

Jest zysk, ale fotodiody trzeba precyzyjniejsze. Tym niemniej nadal moga miec 2mm srednicy.

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required