PL175567B1 - Urządzenie do wyznaczania granic komórek w strumieniu bitowym - Google Patents
Urządzenie do wyznaczania granic komórek w strumieniu bitowymInfo
- Publication number
- PL175567B1 PL175567B1 PL94315146A PL31514694A PL175567B1 PL 175567 B1 PL175567 B1 PL 175567B1 PL 94315146 A PL94315146 A PL 94315146A PL 31514694 A PL31514694 A PL 31514694A PL 175567 B1 PL175567 B1 PL 175567B1
- Authority
- PL
- Poland
- Prior art keywords
- input
- output
- bits
- memory element
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 abstract description 8
- 238000006243 chemical reaction Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5672—Multiplexing, e.g. coding, scrambling
- H04L2012/5674—Synchronisation, timing recovery or alignment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Static Random-Access Memory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
- Color Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
1 . Urzadzenie do wyznaczania granic komórek w strumieniu bitowym zawierajace uklad przetwarzaja- cy do przetwarzania pierwszej liczby bitów strumienia bitowego w druga liczbe bitów, przy czym uklad prze- twarzajacy posiada przynajmniej pierwsze wejscie do odbioru przynajmniej jednego bitu znajdujacego sie w pierwszej liczbie bitów i przynajmniej drugie wejscie do odbioru przynajmniej jednego bitu znajdujacego sie poza pierwsza liczba bitów, oraz dolaczony do niego uklad porównujacy do porównywania drugiej l iczby bitów z trzecia liczba bitów strumienia bitowe- go, przy czym kazda z liczb, pierwsza, druga i trzecia, wynosi przynajmniej jeden, znamienne tym, ze uklad przetwarzajacy (10) ma uklad szeregowy elementów pamieciowych (11, 1 2 , 1 3 , 1 4 , 1 5 , 1 6 , 1 7 , 18) dolaczo- ny do pierwszego wejscia (19) ukladu przetwarzajace- go (10) oraz elementy odliczajace (23, 25, 26), z których kazdy jest wlaczony szeregowo jednym wej- sciem oraz wyjsciem w uklad szeregowy elementów pamieciowych (11, 12, 13, 14, 15, 16, 17, 18) zas drugim wejsciem jest dolaczony do drugiego wejscia (20) ukladu przetwarzajacego (10). P L 1 7 5 5 6 7 B 1 PL PL PL
Description
Przedmiotem wynalazku jest urządzenie do wyznaczania granic komórek w strumieniu bitowym, przeznaczone zwłaszcza do transmisji informacji z dużą szybkością.
Znane jest z opisu patentowego USA nr 5,131,012 urządzenie do wyznaczania granic komórek w strumieniu bitowym, zawierające układ przetwarzający do przetwarzania pierwszej liczby bitów strumienia bitowego w drugą liczbę bitów, oraz układ porównujący do porównywania drugiej liczby bitów z trzecią liczbą bitów strumienia bitowego, przy czym każda z liczb, pierwsza, druga i trzecia, wynosi przynajmniej jeden. Ogólnie biorąc, jeżeli granica, którą należy wyznaczyć, znajduje się w znanej odległości od pierwszej liczby bitów w strumieniu bitowym, to położenie tej granicy staje się znane w momencie stwierdzenia, że druga liczba bitów zgadza się z trzecią liczbą bitów strumienia bitowego. W tym przypadku ta trzecia liczba bitów znajduje się na przykład bezpośrednio za pierwsza liczbą bitów, lub w znanej od niej odległości, i przynajmniej do momentu wyznaczenia granicy proces konwersji i następujący po nim proces porównywania należy realizować w regularnych odstępach czasu.
Strumień bitowy określony na przykład zgodnie z normą CCITT I.432 4.5, składa się z komórek, przy czym każda komórka zawiera 53 bajty po osiem bitów. Problem wyznaczenia granic w tym strumieniu bitowym przy konkretnym taktowaniu bitów nazywa się w technice określeniem zarysu komórki. Każda komórka zaopatrzona jest w nagłówek, który na przykład zawiera pięć bajtów. Proces przetwarzania w tym przypadku obejmuje obliczenie cyklicznego kodu nadmiarowego (CRC) dla pierwszych czterech bajtów (pierwszej liczby bitów) nagłówka składającego się na przykład z pięciu bajtów, przy czym obliczony kod CRC ma rozmiar jednego bajtu (druga liczba bitów). Proces porównywania w tym przypadku obejmuje porównanie obliczonego kodu CRC (drugiej liczby bitów) z piątym bajtem (trzecią liczbą bitów) nagłówka złożonego na przykład z pięciu bajtów. Obliczenie kodu CRC odbywa się na bazie wielomianu generacyjnego przyporządkowanego do drugiego kodu CRC, na przykład G(x)=x8+x2+x+1 (czyli 100000111). Pierwsze cztery bajty U(x) mnoży się przez x8 (czyli po prawej stronie dodaje się 00000000), po czym dokonuje się dzielenia przez G(x), które daje wartość Q(x) i resztę R(x). Kod CRC dla U(x) zatem jest równy reszcie R(x).
Obliczanie kodu CRC dla pierwszych czterech bajtów i następne porównanie obliczonego kodu CRC z piątym bajtem powinno się odbywać w regularnych odstępach czasu. W zasadzie powinno się to odbywać przy przesuwaniu bitów, co w najgorszym przypadku umożliwia ustalenie granicy po 53 razy osiem minus jednym przesunięciu bitowym. Jednak, ponieważ przy bardzo dużych prędkościach bitowych (na przykład 600 Mb/s), bardzo trudne jest wykonanie wspomnianych obliczeń w ciągu jednego okresu bitowego, to wybrano inne rozwiązanie. To inne rozwiązanie polega na obliczeniu, przy każdym przesunięciu bajtowym, kodu CRC dla pierwszych czterech bajtów, i następnie porównanie obliczonego kodu CRC z piątym bajtem, i w przypadku nieznalezienia kodu CRC odpowiadającego piątemu bajtowi po 57 przesunięciach bajtowych, dokonanie przesunięcia o jeden bit, następnie dokonanie ponownie 57 przesunięć bajtowych, z obliczeniem i następną komparacją dla każdego przesunięcia bajtowego itd. W najgorszym przypadku to rozwiązanie pozwoli na określenie granicy po dokonaniu w przybliżeniu osiem razy 57 przesunięć, co w stosunku do wspomnianego wcześniej rozwiązania oznacza, że przeciętnie niezbędnych jest nieco więcej obliczeń i komparacji, i że średnio granicę wyznacza się dopiero po okresie czasu osiem razy dłuższym. Z drugiej strony na wykonanie jednego obliczenia i następnej komparacji pozostaje do dyspozycji osiem razy więcej czasu.
Wadę polegającą na tym, że granicę wyznacza się dopiero po przejściu ośmiu lub więcej komórek, można wyeliminować za pomocą urządzenia przedstawionego w opisie patentowym
175 567
USA nr 5,131,012. Urządzenie to generuje przy każdym przesunięciu bitowym nową drugą liczbę bitów jako funkcję zmodyfikowanej wersji poprzedniej drugiej liczby bitów, przy czym określenie funkcji bazuje na zespole bitów znajdujących się poza pierwszą liczbą bitów, i zespole bitów znajdujących się w pierwszej liczbie bitów. Urządzenie to realizuje udoskonaloną metodę synchronizacji w sieciach telekomunikacyjnych, służącą do złagodzenia problemu uzależnienia od czasu i dodatkowego zwiększenia szybkości. Jednakże, kiedy informacja jest transmitowana z prędkością na przykład 2 Gb/s, to tego urządzenia nie można stosować ze względu na dużą konieczną ilość obliczeń koniecznych do wykonania za każdym razem, kiedy następuje usunięcie jednego bitu i wprowadzenie innego. Tak więc znane urządzenie nie nadaje się do stosowania przy dużej prędkości transmisji informacji.
W australijskim opisie zgłoszeniowym nr 5811/90 jest opisany system do wprowadzania słów kodowych po strome nadawczej i wykrywania tych słów kodowych po stronie odbiorczej. Inną metodę wyznaczania granic w strumieniu bitowym przesłanym asynchronicznie (ATM) omówiono w australijskim opisie zgłoszeniowym 77042/91. Z kolei w europejskim opisie patentowym nr 0 226 353 przestawiono urządzenie do obliczania kodu CRC, które może obliczać bity kontrolne CRC na ośmiu bitach surowych danych wejściowych w każdym cyklu zegara grupowego. To znane urządzenie nie zawiera układu przetwarzającego z pierwszym wejściem do odbioru przynajmniej jednego bitu znajdującego się w pierwszej liczbie bitów i drugim wejściem do odbioru przynajmniej jednego bitu znajdującego się poza pierwszą liczbą bitów, zaś obliczenia realizuje się w układach równoległych.
Istotą urządzenia do wyznaczania granic komórek w strumieniu bitowym według wynalazku zawierającego układ przetwarzający do przetwarzania pierwszej liczby bitów strumienia bitowego w drugą liczbę bitów, przy czym układ przetwarzający posiada przynajmniej pierwsze wejście do odbioru przynajmniej jednego bitu znajdującego się w pierwszej liczbie bitów i przynajmniej drugie wejście do odbioru przynajmniej jednego bitu znajdującego się poza pierwszą liczbą bitów, oraz dołączony do niego układ porównujący do porównywania drugiej liczby bitów z trzecią liczbą bitów strumienia bitowego, przy czym każda z liczb, pierwsza, druga i trzecia, wynosi przynajmniej jeden, jest to, że układ przetwarzający ma układ szeregowy elementów pamięciowych dołączony do pierwszego wejścia układu przetwarzającego oraz elementy odliczające, z których każdy jest włączony szeregowo jednym wejściem oraz wyjściem w układ szeregowy elementów pamięciowych zaś drugim wejściem jest dołączony do drugiego wejścia układu przetwarzającego.
Korzystnie układ szeregowy elementów pamięciowych jest szeregowym układem sprzężenia zwrotnego zawierającym przynajmniej jeden element kombinacyjny do łączenia wyjścia ostatniego elementu pamięciowego i pierwszego wejścia układu przetwarzającego z wejściem pierwszego elementu pamięciowego.
Korzystnie elementy odliczające zawierają przynajmniej jeden dodatkowy element kombinacyjny do łączenia wyjścia elementu pamięciowego i drugiego wejścia układu przetwarzającego z wejściem następnego elementu pamięciowego.
Korzystnie elementy pamięciowe zawierają układy przerzutników bistabilnych, a elementy kombinacyjne zawierają sumatory modulo 2.
Korzystnie układ przetwarzający zawiera pierwszy element kombinacyjny, którego pierwsze wejście dołączone jest do pierwszego wejścia układu przetwarzającego a drugie wejście dołączone jest do wyjścia ósmego elementu pamięciowego, przy czym wejście ósmego elementu pamięciowego dołączone jest do wyjścia siódmego elementu pamięciowego, a wejście siódmego elementu pamięciowego dołączone jest do wyjścia szóstego elementu kombinacyjnego, którego pierwsze wejście dołączone jest do wyjścia szóstego elementu pamięciowego, a drugie wejście dołączone jest do drugiego wejścia układu przetwarzającego. Wejście szóstego elementu pamięciowego dołączone jest wyjścia piątego elementu kombinacyjnego, którego pierwsze wejście dołączone jest do wyjścia piątego elementu pamięciowego, a drugie wejście dołączone jest do drugiego wejścia układu przetwarzającego. Wejście piątego elementu pamięciowego dołączone jest do wyjścia czwartego elementu pamięciowego, wejście czwartego elementu pamięciowego dołączone jest do wyjścia trzeciego elementu pamięciowego, zaś wejście trzeciego elementu pamięciowego dołączone jest do wyjścia czwartego elementu kombinacyjnego, którego pier175 567 wsze wejście dołączone jest do wyjścia drugiego elementu pamięciowego a drugie wejście dołączone jest do wyjścia pierwszego elementu kombinacyjnego. Wejście drugiego elementu pamięciowego dołączone jest do wyjścia trzeciego elementu kombinacyjnego, którego pierwsze wejście dołączone jest do wyjścia drugiego elementu kombinacyjnego a drugie wejście dołączone jest do drugiego wejścia układu przetwarzającego. Pierwsze wejście drugiego elementu kombinacyjnego dołączone jest do wyjścia pierwszego elementu pamięciowego, drugie wejście dołączone jest do wyjścia pierwszego elementu kombinacyjnego, zaś wejście pierwszego elementu pamięciowego jest dołączone do wyjścia pierwszego elementu kombinacyjnego, przy czym każde z ośmiu wyjść elementów pamięciowych dołączone jest do jednego z przynajmniej ośmiu wyjść układu przetwarzającego.
Urządzenie według wynalazku umożliwia transmisję informacji z dużą szybkością. Za pomocą urządzenia według wynalazku, w przypadku każdego przesunięcia bitowego, następuje przetwarzanie pierwszej liczby bitów na drugą liczbę bitów (to znaczy wyznaczenie kodu CRC), lecz bez konieczności wykonywania pełnego przetwarzania (pełnego obliczenia CRC) od nowa za każdym razem, lecz przez uwzględnienie, po przesunięciu bitowym, działania bitu wsuniętego ostatnio i bitu wysuniętego w bezpośrednio poprzedzającego przetwarzanie (poprzedniego CRC), za pośrednictwem układu szeregowego i elementów odliczających.
Wynalazek objaśniono szczegółowo w oparciu o przykład wykonania przedstawiony na rysunku, który przedstawia schemat urządzenia według wynalazku.
Urządzenie według wynalazku zawiera układ przetwarzający 10, układ porównujący 27 i rejestr przesuwny 30. Układ przetwarzający 10, mający pierwsze wejście 19 i drugie wejście 20, jest złożony z ośmiu elementów pamięciowych 11, 12, 13, 14, 15, 16, 17 i 18 oraz sześć elementów kombinacyjnych 21, 22, 23, 24, 25 i 26.
Układ przetwarzający 10 zawiera pierwszy element kombinacyjne 21, którego pierwsze wejście dołączone jest do pierwszego wejścia 19 układu przetwarzającego 10, i którego drugie wejście dołączone jest do wyjścia ósmego elementu pamięciowego 18. Wejście ósmego elementu pamięciowego 18 dołączone jest do wyjścia siódmego elementu pamięciowego 17, a wejście siódmego elementu pamięciowego 17 dołączone jest do wyjścia szóstego elementu kombinacyjnego 26, którego pierwsze wejście dołączone jest do wyjścia szóstego elementu pamięciowego 16, i którego drugie wejście dołączone jest do drugiego wejścia 20 układu przetwarzającego 10. Wejście szóstego elementu pamięciowego 16 dołączone jest wyjścia piątego elementu kombinacyjnego 25, którego pierwsze wejście dołączone jest do wyjścia piątego elementu pamięciowego 15, a drugie wejście dołączone jest do drugiego wejścia 20 układu przetwarzającego 10. Wejście piątego elementu pamięciowego 15 dołączone jest do wyjścia czwartego elementu pamięciowego 14, a wejście czwartego elementu pamięciowego 14 dołączone jest do wyjścia trzeciego elementu pamięciowego 13. Wejście trzeciego elementu pamięciowego 13 dołączone jest do wyjścia czwartego elementu kombinacyjnego 24, którego pierwsze wejście dołączone jest do wyjścia drugiego elementu pamięciowego 12, a drugie wejście dołączone jest do wyjścia pierwszego elementu kombinacyjnego 21. Wejście drugiego elementu pamięciowego 12 dołączone jest do wyjścia trzeciego elementu kombinacyjnego 23, którego pierwsze wejście dołączone jest do wyjścia drugiego elementu kombinacyjnego 22, i którego drugie wejście dołączone jest do drugiego wejścia 20 układu przetwarzającego 10. Pierwsze wejście drugiego elementu kombinacyjnego 22 dołączone jest do wyjścia pierwszego elementu pamięciowego 11, a drugie wejście dołączonejest do wyjścia pierwszego elementu kombinacyjnego 21. Wejście pierwszego elementu pamięciowego 11 jest dołączone do wyj ścia pierwszego elementu kombinacyjnego 21, przy czymkażde z ośmiu wyjść elementów pamięciowych 11,12, 13,14,15,16,17,18dołączone jest do jednego z przynajmniej ośmiu wyjść układu przetwarzającego 10.
Każde z tych ośmiu wyjść układu przetwarzającego 10 dołączone jest do jednego z ośmiu pierwszych wejść układu porównującego 27, który ma wyjście 28. Rejestr przesuwny 30 zawiera czterdzieści sekcji pamięciowych 31 do 70 oraz wejście 29. Każde z ośmiu wyjść pierwszych kolejnych sekcji pamięciowych 31 do 38 dołączone jest do jednego z ośmiu odpowiadających im wejść układów porównujących 27. Wyjście sekcji pamięciowej 38 dołączone jest do pierwszego wejścia 19 a wyjście ostatniej sekcji pamięciowej 70 dołączone jest do drugiego wejścia 20 układu przetwarzającego 10.
175 567
Strumień bitowy, w którym należy wyznaczyć granice komórek, wprowadza się na wejście 29 rejestru przesuwnego 30. Sekcje pamięciowe 31 do 38 zawierają trzecią liczbę bitów, w tym przypadku osiem bitów (jeden bajt), które podaje się do układu porównującego 27. Na wyjściach układu przetwarzaj ącego 10 poj awia się druga liczba bitów, w tym przypadku osiem bitów (jeden bajt), które są podawane również do układu przetwarzającego 27. Jeżeli druga liczba bitów i trzecia liczba bitów są zgodne, to układ porównujący 27 generuje sygnał synchronizacji podawany za pośrednictwem wyjścia 28. Sekcje pamięciowe 39 do 70 zawierają pierwszą liczbę bitów, w tym przypadku 32 bity (cztery bajty), które są przetwarzane przez układ przetwarzający 10 na drugą liczbę bitów. Należy zauważyć przy tym, że układ przetwarzający 10 konwersji nie przetwarza bitów pojawiających się na pierwszym i drugim wejściach 19 i 20, aż do upłynięcia jednego okresu zegara, dzięki obecności elementów pamięciowych, co daje możliwość wyboru bitów przeznaczonych do podania na te wejścia 19 i 20. Jest tak dlatego, że podczas wcześniejszego o jeden okresu zegarowego pierwszą liczbę bitów umieszcza się w sekcjach pamięciowych 38 do 69, a ostatni jeden bit, znajdujący się poza pierwszą liczbą bitów (bit trzydziesty trzeci) umieszcza się w sekcji pamięciowej 70.
Proces konwersji dotychczas odbywał się przez obliczenie cyklicznego kodu redundancyjnego (CRC) z pierwszej liczby bitów na bazie wielomianu generacyjnego przyporządkowanego do kodu CRC, na przykład G(x)=x8+x2+x+1, czyli 100000111. Pierwszą liczbę bitów, to znaczy pierwsze cztery bajty U(x) mnoży się przez x8 czyli uzupełnia się przez 00000000 po stronie bitu najmniej znaczącego, po czym dokonuje się dzielenia przez G(x), które daje wartość Q(x) i resztę R(x). Kod CRC dla U (x) zatem jest równy reszcie R (x). Tareszta R (x) odpowiada drugiej liczbie bitów.
Według wynalazku przetwarzanie odbywa się z oddziaływaniem tylko jednego bitu pierwszej liczby bitów, mianowicie bitu zapamiętanego w sekcji pamięciowej 38, podczas o jeden wcześniejszego okresu zegara, wprowadzonego na pierwsze wejście 19 układu przetwarzającego 10, oraz bitu znajdującego się poza pierwszą liczbą bitów, mianowicie bitu zapamiętanego w sekcji pamięciowej 70, w czasie o jeden wcześniejszego okresu zegara, wprowadzonego na drugie wejście 20 układu przetwarzającego 10. Częściowo w wyniku zastosowania elementów odliczających 23, 25 i 26, to jest trzech elementów kombinacyjnych, układ przetwarzający 10 generuje dokładnie taki sam wynik, jak znane układy przetwarzające, które wykonują w sposób uprzednio opisany pełne obliczenie na bazie generacyjnego wielomianu przyporządkowanego do kodu CRC. Przy stosowaniu innego wielomianu będzie oczywiście niezbędne, w przypadku układów przetwarzających w ogóle, a elementów odliczających w szczególności, zastosowanie innej struktury dla umożliwienia generacji tego samego wyniku, co przy stosowaniu znanych układów przetwarzania, które wykonują pełne obliczenie CRC na podstawie innego wielomianu generacyjnego.
Osiem elementów pamięciowych układu przetwarzającego 10 stanowi szeregowy układ sprzężenia zwrotnego czwartej liczby elementów pamięciowych, przy czym czwarta liczba w tym przypadku wynosi osiem. W tym układzie szeregowym znajduje się sześć elementów kombinacyjnych. Ten układ szeregowy zawiera element kombinacyjny 21 do sprzężenia pierwszego elementu pamięciowego 11 z pierwszym wejściem 19 układu przetwarzającego 10 w celu odbioru przynajmniej jednego bitu znajdującego się w pierwszej liczbie bitów, oraz z ósmym elementem pamięciowym 18. Ten układ szeregowy poza tym zawiera elementy kombinacyjne 23, 25 i 26 do sprzężenia elementów pamięciowych 12, 16 i 17 z drugim wejściem 20 układu przetwarzającego 10, dla odbioru przynajmniej jednego bitu znajdującego się poza pierwszą liczbą bitów, i z elementami pamięciowymi 11, 15 i 16. Elementy pamięciowe są zbudowane, na przykład, z przerzutników bistabilnych, a elementy kombinacyjne z sumatorów modulo 2 lub bramek EXOR.
Poniżej objaśniono szczegółowo działanie układu przetwarzającego 10. Bez stosowania elementów odliczających 23, 25 i 26 i drugiego wejścia 20, układ przetwarzający 10 generuje CRC na bazie wielomianu generacyjnego G(x)=x8+x2+x+1 (czyli 100000111) dokładnie trzydziestu dwóch wsuniętych bitów U(x), które z kolei mnoży się w tym celu przez x8 (czyli uzupełnia się przez 00000000 po stronie bitu najmniej znaczącego), po czym dokonuje się dzielenia przez G (x), które daje wartość Q (x) i resztę R (x), przy czym reszta R (x) odpowiada
175 567
CRC. Jeżeli zatem odbywa się wsunięcie następnego bitu za pośrednictwem wejścia 29 rejestru przesuwnego 30, to na ośmiu wyjściach układu przetwarzającego 10 pojawia się CRC nie trzydziestu dwóch, lecz trzydziestu trzech bitów, co jest oczywiście niepożądane. Należy zatem odliczyć efekt oddziaływania trzydziestego trzeciego bitu podczas następnego okresu zegara znajdującego się w sekcji pamięciowej 70. Odbywa się to dzięki zastosowaniu elementów odliczających 23, 25 i 26, konkretnie, w następujący sposób.
Ponieważ dzielenia wielomianowe są działaniami liniowymi, to oddziaływanie trzydziestego trzeciego bitu można wyznaczyć w prosty sposób, przez wyznaczenie jego postaci kanonicznej. Odbywa się to przez pomnożenie trzydziestego trzeciego bitu uzupełnionego trzydziestoma dwoma zerami (to znaczy 100000000000000000000000000000000) przez x8 (to znaczy przez uzupełnienie ośmioma zerami, czyli 00000000 po stronie bitu najmniej znaczącego), po czym odbywa się dzielenie przez G(x) (to znaczy 100000111), co daje w wyniku wartość Q(x) i resztę R(x) (to znaczy 01100010). Wspomniana reszta R(X) jest postacią kanoniczną, która po pomnożeniu przez wartość bitową trzydziestego trzeciego bitu (1 bądź 0) powinna zostać odjęta w procesie konwersji. Ponieważ odejmowanie modulo 2 odpowiada dodawaniu modulo 2, to powinno nastąpić za pośrednictwem trzech sumatorów modulo 2, to jest elementów odliczających 23, 25 i 26, wprowadzenie bitu znajdującego się w sekcji pamięciowej 70, do drugiego elementu pamięciowego 12 (bo 01100010), szóstego elementu pamięciowego 16 (bo 01100010) i siódmego elementu pamięciowego 17 (bo 01100010). Tak więc oddziaływanie trzydziestego trzeciego bitu podczas procesu przetwarzania można skompensować, po czym na ośmiu wyjściach układu przetwarzającego 10 pojawi się poprawna wartość CRC.
Należy jeszcze raz podkreślić, że jeżeli zastosuje się inny wielomian i/lub inne liczby bitów, pierwszą, drugą i/lub trzecią, to zmieni się schemat urządzenia przedstawionego na rysunku. Wynalazek zatem nie ogranicza się do konkretnej przedstawionej odmiany wykonania, lecz obejmuje również wszelkie urządzenia do wyznaczania granic komórek, które zawierają elementy odliczające oraz układ przetwarzający wchodzący w skład tych urządzeń.
175 567
m
CM m
m m
m· m
tn m
Ό m
m αο m
σι m
o
MΌ tO
Ό o\
Ό o
Departament Wydawnictw UP RP. Nakład 90 egz. Cena 2,00 zł
Claims (5)
- Zastrzeżenia patentowe1. Urządzenie do wyznaczania granic komórek w strumieniu bitowym zawierające układ przetwarzający do przetwarzania pierwszej liczby bitów strumienia bitowego w drugą liczbę bitów, przy czym układ przetwarzający posiada przynajmniej pierwsze wejście do odbioru przynajmniej jednego bitu znajdującego się w pierwszej liczbie bitów i przynajmniej drugie wejście do odbioru przynajmniej jednego bitu znajdującego się poza pierwszą liczbą bitów, oraz dołączony do niego układ porównujący do porównywania drugiej liczby bitów z trzecią liczbą bitów strumienia bitowego, przy czym każda z liczb, pierwsza, druga i trzecia, wynosi przynajmniej jeden, znamienne tym, że układ przetwarzający (10) ma układ szeregowy elementów pamięciowych (11, 12,13,14, 15, 16,17,18) dołączony do pierwszego wejścia (19) układu przetwarzającego (10) oraz elementy odliczające (23, 25, 26), z których każdy jest włączony szeregowo jednym wejściem oraz wyjściem w układ szeregowy elementów pamięciowych (11, 12, 13, 14, 15, 16, 17, 18) zaś drugim wejściem jest dołączony do drugiego wejścia (20) układu przetwarzającego (10).
- 2. Urządzenie według zastrz. 1, znamienne tym, że układ szeregowy elementów pamięciowych (11, 12, 13, 14, 15, 16, 17, 18) jest szeregowym układem sprzężenia zwrotnego zawierającym przynajmniej jeden element kombinacyjny (21) do łączenia wyjścia ostatniego elementu pamięciowego (18) i pierwszego wej ścia (19) układu przetwarzaj ącego (10) z wej ściem pierwszego elementu pamięciowego (11).
- 3. Urządzenie według zastrz. 1, znamienne tym, że elementy odliczające (23, 25, 26) zawierają przynajmniej jeden dodatkowy element kombinacyjny do łączenia wyjścia elementu pamięciowego (11, 15, 16) i drugiego wejścia (20) układu przetwarzającego (10) z wejściem następnego elementu pamięciowego (12,16,17).
- 4. Urządzenie według zastrz. 1, znamienne tym, że elementy pamięciowe (11, 12,13,14, 15, 16, 17, 18) zawierają układy przerzutników bistabilnych, a elementy kombinacyjne (21,22, 23, 24, 25, 26) zawierają sumatory modulo 2.
- 5. Urządzenie według zastrz. 1, znamienne tym, że układ przetwarzający (10) zawiera pierwszy element kombinacyjny (21), którego pierwsze wejście dołączone jest do pierwszego wejścia (19) układu przetwarzającego (10) a drugie wejście dołączone jest do wyjścia ósmego elementu pamięciowego (18), przy czym wejście ósmego elementu pamięciowego (18) dołączone jest do wyjścia siódmego elementu pamięciowego (17), a wejście siódmego elementu pamięciowego (17) dołączone jest do wyjścia szóstego elementu kombinacyjnego (26), którego pierwsze wejście dołączone jest do wyjścia szóstego elementu pamięciowego (16), a drugie wejście dołączone jest do drugiego wejścia (20) układu przetwarzającego (10), przy czym wejście szóstego elementu pamięciowego (16) dołączone jest wyjścia piątego elementu kombinacyjnego (25), którego pierwsze wejście dołączone jest do wyjścia piątego elementu pamięciowego (15), a drugie wejście dołączone jest do drugiego wejścia (20) układu przetwarzającego (10), przy czym wejście piątego elementu pamięciowego (15) dołączone jest do wyjścia czwartego elementu pamięciowego (14), wejście czwartego elementu pamięciowego (14) dołączone jest do wyjścia trzeciego elementu pamięciowego, zaś wejście trzeciego elementu pamięciowego (13) dołączone jest do wyjścia czwartego elementu kombinacyjnego (24), którego pierwsze wejście dołączone jest do wyjścia drugiego elementu pamięciowego (12) a drugie wejście dołączone jest do wyjścia pierwszego elementu kombinacyjnego (21), przy czym następnie wejście drugiego elementu pamięciowego (12) dołączone jest do wyjścia trzeciego elementu kombinacyjnego (23), którego pierwsze wejście dołączone jest do wyjścia drugiego elementu kombinacyjnego (22) a drugie wejście dołączone jest do drugiego wejścia (20) układu przetwarzającego (10), przy czym pierwsze wejście drugiego elementu kombinacyjnego (22)175 567 dołączone jest do wyjścia pierwszego elementu pamięciowego (11), drugie wejście dołączone jest do wyjścia pierwszego elementu kombinacyjnego (21), zaś wejście pierwszego elementu pamięciowego (11) jest dołączone do wyjścia pierwszego elementu kombinacyjnego (21), przy czym każde z ośmiu wyjść elementów pamięciowych (11,12,13,14,15,16,17,18) dołączone jest do jednego z przynajmniej ośmiu wyjść układu przetwarzającego (10).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| NL9302266A NL9302266A (nl) | 1993-12-27 | 1993-12-27 | Inrichting voor het vaststellen van grenzen in een bitstroom, en converteermiddelen voor toepassing in de inrichting. |
| PCT/EP1994/004272 WO1995018495A1 (en) | 1993-12-27 | 1994-12-23 | Device for establishing cell boundaries in a bit stream and crc calculation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PL315146A1 PL315146A1 (en) | 1996-10-14 |
| PL175567B1 true PL175567B1 (pl) | 1999-01-29 |
Family
ID=19863319
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PL94315146A PL175567B1 (pl) | 1993-12-27 | 1994-12-23 | Urządzenie do wyznaczania granic komórek w strumieniu bitowym |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US5724034A (pl) |
| EP (1) | EP0737390B1 (pl) |
| JP (1) | JP3002713B2 (pl) |
| KR (1) | KR100189267B1 (pl) |
| CN (1) | CN1139503A (pl) |
| AT (1) | ATE181193T1 (pl) |
| AU (1) | AU683712B2 (pl) |
| CA (1) | CA2179296C (pl) |
| CZ (1) | CZ189296A3 (pl) |
| DE (1) | DE69419035T2 (pl) |
| NL (1) | NL9302266A (pl) |
| NO (1) | NO962729L (pl) |
| PL (1) | PL175567B1 (pl) |
| WO (1) | WO1995018495A1 (pl) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19519946A1 (de) * | 1995-06-02 | 1996-12-05 | Thomson Brandt Gmbh | Verfahren zur Synchronisation eines aus Informationsdaten und einem anschließenden Prüfsummenfeld bestehenden empfangenen Datenblocks sowie Vorrichtung zur Durchführung des Verfahrens |
| WO1997041681A1 (en) * | 1996-04-26 | 1997-11-06 | Philips Electronics N.V. | Magnetic-tape recording/reproducing arrangement comprising a coding device |
| DE69731932T2 (de) * | 1996-10-29 | 2006-02-16 | International Business Machines Corp. | Verfahren und Vorrichtung für zweistufige CRC-32-Berechnung |
| US6928608B2 (en) * | 2001-08-14 | 2005-08-09 | Optix Networks Ltd. | Apparatus and method for accelerating cyclic redundancy check calculations |
| JP2003078421A (ja) * | 2001-09-04 | 2003-03-14 | Canon Inc | 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4720830A (en) * | 1985-12-02 | 1988-01-19 | Advanced Micro Devices, Inc. | CRC calculation apparatus having reduced output bus size |
| JP2816223B2 (ja) * | 1990-03-02 | 1998-10-27 | 株式会社日立製作所 | セル同期回路 |
| JPH04211547A (ja) * | 1990-03-20 | 1992-08-03 | Fujitsu Ltd | 同期回路 |
| US5131012A (en) * | 1990-09-18 | 1992-07-14 | At&T Bell Laboratories | Synchronization for cylic redundancy check based, broadband communications network |
| US5267249A (en) * | 1991-05-09 | 1993-11-30 | Codex Corporation | Device and method for asynchronous cyclic redundancy checking for digital receivers |
| JPH07504312A (ja) * | 1992-12-29 | 1995-05-11 | コーデックス・コーポレイション | 効率的なcrc剰余係数発生および検査装置および方法 |
| CA2145017C (en) * | 1994-03-31 | 2000-02-15 | Masaru Murakami | Cell multiplexer having cell delineation function |
-
1993
- 1993-12-27 NL NL9302266A patent/NL9302266A/nl not_active Application Discontinuation
-
1994
- 1994-12-23 JP JP7517771A patent/JP3002713B2/ja not_active Expired - Fee Related
- 1994-12-23 CN CN94194655.XA patent/CN1139503A/zh active Pending
- 1994-12-23 AT AT95905101T patent/ATE181193T1/de not_active IP Right Cessation
- 1994-12-23 EP EP95905101A patent/EP0737390B1/en not_active Expired - Lifetime
- 1994-12-23 WO PCT/EP1994/004272 patent/WO1995018495A1/en not_active Ceased
- 1994-12-23 DE DE69419035T patent/DE69419035T2/de not_active Expired - Lifetime
- 1994-12-23 PL PL94315146A patent/PL175567B1/pl unknown
- 1994-12-23 AU AU13848/95A patent/AU683712B2/en not_active Ceased
- 1994-12-23 CZ CZ961892A patent/CZ189296A3/cs unknown
- 1994-12-23 US US08/663,140 patent/US5724034A/en not_active Expired - Lifetime
- 1994-12-23 KR KR1019960703448A patent/KR100189267B1/ko not_active Expired - Fee Related
- 1994-12-23 CA CA002179296A patent/CA2179296C/en not_active Expired - Lifetime
-
1996
- 1996-06-27 NO NO962729A patent/NO962729L/no not_active Application Discontinuation
Also Published As
| Publication number | Publication date |
|---|---|
| KR100189267B1 (ko) | 1999-06-01 |
| ATE181193T1 (de) | 1999-06-15 |
| JPH09500777A (ja) | 1997-01-21 |
| DE69419035D1 (de) | 1999-07-15 |
| NO962729L (no) | 1996-08-21 |
| AU683712B2 (en) | 1997-11-20 |
| CA2179296A1 (en) | 1995-07-06 |
| NL9302266A (nl) | 1995-07-17 |
| CA2179296C (en) | 2000-10-17 |
| JP3002713B2 (ja) | 2000-01-24 |
| CN1139503A (zh) | 1997-01-01 |
| EP0737390B1 (en) | 1999-06-09 |
| EP0737390A1 (en) | 1996-10-16 |
| CZ189296A3 (en) | 1996-11-13 |
| WO1995018495A1 (en) | 1995-07-06 |
| NO962729D0 (no) | 1996-06-27 |
| AU1384895A (en) | 1995-07-17 |
| DE69419035T2 (de) | 2000-01-27 |
| US5724034A (en) | 1998-03-03 |
| PL315146A1 (en) | 1996-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0431629A2 (en) | Mutual division circuit | |
| US5031129A (en) | Parallel pseudo-random generator for emulating a serial pseudo-random generator and method for carrying out same | |
| JPH04211547A (ja) | 同期回路 | |
| US5844923A (en) | Fast framing of nude ATM by header error check | |
| US4463342A (en) | Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings | |
| EP0600380B1 (en) | Method and device for detection and correction of errors in ATM cell headers | |
| PL175567B1 (pl) | Urządzenie do wyznaczania granic komórek w strumieniu bitowym | |
| RU2069009C1 (ru) | Суммирующее устройство | |
| EP0262944B1 (en) | Error correction apparatus | |
| EP0444661B1 (en) | Electronic circuit for generating error detection codes for digital signals | |
| US5764876A (en) | Method and device for detecting a cyclic code | |
| Lu et al. | A programmable VLSI architecture for computing multiplication and polynomial evaluation modulo a positive integer | |
| RU2207614C1 (ru) | Устройство для ввода информации | |
| RU2006919C1 (ru) | Устройство для умножения s-ичных цифр в позиционно-остаточной системе счисления | |
| RU2150785C1 (ru) | Адаптивная система передачи и приема дискретной информации | |
| KR20000000770A (ko) | 모듈러 곱셈장치 | |
| JP2822928B2 (ja) | Crc符号演算方法および回路 | |
| JP2797569B2 (ja) | ユークリッドの互除回路 | |
| SU1667066A1 (ru) | Устройство дл масштабировани чисел | |
| JP2797570B2 (ja) | ユークリッドの互除回路 | |
| KR0118866Y1 (ko) | Atm 데이타셀의 hec 비트 발생장치 | |
| RU2010312C1 (ru) | Устройство для вычисления натурального логарифма комплексного числа | |
| SU1004973A1 (ru) | Арифметическое устройство цифрового вычислител дл самонастраивающихс систем автоматического управлени | |
| SU696452A1 (ru) | Последовательный сумматор | |
| JPH0856223A (ja) | セルデータ伝送装置 |