Co to jest opóźnienie propagacji przeniesienia w przetwarzaniu danych wysokiej prędkości?

Utworzono: luty 11, 2019
Zaktualizowano: wrzesień 25, 2020

Synchronized swimmers

Czasami wdaję się w rozmowy przez wiadomości tekstowe z przyjaciółmi, które kompletnie wymykają się spod kontroli. Zbyt łatwo jest zadać pięć pytań w jednej wiadomości, a próba odpowiedzi na wszystko powoduje, że nasza wymiana wiadomości całkowicie się rozjeżdża. Dopiero po trzech wiadomościach udaje mi się odpowiedzieć na wszystko, co zapytał mój przyjaciel, a wtedy już przechodzimy na zupełnie nowy temat.

Opóźnienie sygnału między obwodami logicznymi na PCB lub w układzie scalonym to nie jest coś, o czym zwykle trzeba myśleć, dopóki nie pracuje się z systemem wysokiej prędkości. W miarę jak szybkość transmisji danych i pojemność PCBs ciągle rosną, uwzględnienie opóźnień staje się kluczowe, aby zapewnić, że dane cyfrowe pozostają zsynchronizowane w całym systemie.

 

Przegląd opóźnienia propagacji

Jeśli nie jesteś zaznajomiony z opóźnieniem propagacji (bardziej odpowiednio nazywanym opóźnieniem transmisji) w PCBs, wyjaśnię to tutaj. Sygnał cyfrowy wymaga pewnej ilości czasu, aby przemieścić się między dwoma punktami na PCB. Jeśli próbujesz utrzymać wiele sygnałów w sieci lub w całym systemie zsynchronizowane, musisz upewnić się, że sygnały docierają do różnych punktów na twojej płytce jednocześnie.

Należy zauważyć, że opóźnienie propagacji w tym sensie odnosi się do opóźnienia transmisji sygnałów podróżujących między dwoma punktami na PCB. Nie należy tego mylić z definicją opóźnienia propagacji, którą znajdziesz w podręcznikach do elektroniki cyfrowej.

Jeśli sygnały nie są zsynchronizowane, wskaźnik błędów bitowych w twoim systemie może wzrosnąć. Przy przetwarzaniu danych cyfrowych równolegle, sygnały w twojej sieci muszą być zsynchronizowane, dlatego powinieneś dopasować długość wszystkich ścieżek w twojej sieci do długości najdłuższej ścieżki. Kompensacja skosu jest również krytyczna przy trasowaniu par różnicowych. Meandrowanie jest najlepszym sposobem na zastosowanie lekkich opóźnień w liniach sygnałowych przy jednoczesnym zachowaniu impedancji.

Sygnały w różnych geometriach ścieżek będą doświadczać nieco różnych opóźnień propagacji. Pracując z płytą o kontrolowanej impedancji, wzór na opóźnienie propagacji będzie stosunkowo prosty i będzie zależał od względnej stałej dielektrycznej substratu płyty. Pracując z systemami ~100 Mbps lub wyższymi, musisz rozważyć opóźnienie propagacji na całej płycie, i dobrym pomysłem jest użycie projektu z kontrolowaną impedancją.

Large ICs and traces on a green PCB

Upewnij się, że oprogramowanie do projektowania PCB, którego używasz, ma narzędzia analizy, których potrzebujesz

 

Opóźnienie propagacji i skos w równoległym przetwarzaniu danych

Podczas przetwarzania danych równolegle, dodatkowe błędy danych mogą się kumulować, jeśli opóźnienie propagacji między bitami nie zostanie odpowiednio skompensowane. Pewne równoległości w sieci mogą wymagać większego opóźnienia, jeśli wynik z mniej znaczących bitów określa kroki przetwarzania stosowane do bitów bardziej znaczących.

Ta ogólna uwaga może brzmieć dziwnie, ale weźmy następujący przykład. Załóżmy, że projektujesz sumator przenośny do użycia na PCB lub w układzie scalonym. To urządzenie to w zasadzie seria 1-bitowych sumatorów, które przetwarzają bity wejściowe równolegle. Bity tworzące dwie liczby cyfrowe do dodania muszą być wprowadzone do każdego sumatora równolegle, a każdy sumator może generować bit przeniesienia.

Sumator dla LSB wygeneruje bit przeniesienia do następnego większego bitu, i tak dalej aż do MSB. Wyjście z LSB do następnego wyższego bitu będzie doświadczać pewnego opóźnienia propagacji. Musisz również uwzględnić całkowite skos spowodowane czasem narastania bramek logicznych w każdym sumatorze. Bit przeniesienia i bity wejściowe w każdym sumatorze muszą pozostać zsynchronizowane, a opóźnienie propagacji i skumulowany skos w bicie przeniesienia wymagają, aby bity wejściowe w wyższych cyfrach były nieco opóźnione.

Całkowite opóźnienie między każdą cyfrą jest równe opóźnieniu propagacji sygnału podróżującego między sumatorami, plus podwójny czas narastania całego obwodu logicznego w sumatorach (zakładając, że oba sumatory pochodzą z tej samej rodziny logicznej). Kiedy pracujesz tylko z kilkoma bitami na niskiej prędkości, nie spowoduje to desynchronizacji sygnałów między bitami. Ale kiedy pracujesz, na przykład, z liczbami 32-bitowymi przy 1 Gbps lub wyższej, opóźnienie na bicie przeniesienia do MSB będzie 32 razy większe niż opóźnienie propagacji przeniesienia między sąsiednimi sumatorami.

To jest bardzo znaczące opóźnienie, które może desynchronizować dane w całym sumatorze. Aby skompensować opóźnienie na wejściu danych do sumatorów dla wyższych cyfr, faktycznie będziesz musiał dodać pewne opóźnienie do bitów wejściowych, które docierają do każdego sumatora. Kolejne wyższe bity będą wymagały większego opóźnienia.

Najłatwiejszym sposobem na to jest meandrowanie ścieżek prowadzących do sumatorów dla wyższych cyfr. Pozwoli to zrekompensować opóźnienie propagacji i nagromadzone przesunięcie w bicie przeniesienia. Wyższe cyfry wymagają większego opóźnienia, ale para bitów wprowadzana do sumatora musi być nadal zsynchronizowana. Najłatwiejszym sposobem zastosowania tego opóźnienia jest meandrowanie par ścieżek prowadzących do każdego sumatora. Upewnij się, że pozostawisz trochę dodatkowej przestrzeni między parami ścieżek dla każdego sumatora podczas stosowania meandrowania.

Several ICs in parallel on a PCB

Upewnij się, że możesz ufać wynikom swoich symulacji

Zauważ, że te problemy z opóźnianiem przybycia kolejnych bitów nie dotyczą tylko sumatorów. Naprawdę dotyczą one każdego obwodu logicznego do przetwarzania równoległego, gdzie wynik przetwarzania jednego bitu jest używany jako wejście do przetwarzania kolejnego bitu.

Komponenty (np. FPGA), które mogą być używane do przetwarzania równoległego, mogą mieć strukturę linii opóźniającej, która akumuluje opóźnienie przeniesienia między kolejnymi bitami. Te wartości mogą osiągnąć dziesiątki pikosekund na bit. Kiedy pracujesz z dużymi liczbami przy wysokiej prędkości, bity w wyższych cyfrach mogą stać się niesynchronizowane z LSB. Jeśli projektujesz zgodnie z określonymi standardami wymagającymi niskiego wskaźnika błędów bitowych, kompensowanie opóźnienia na liniach sygnałowych wejściowych jest prostym rozwiązaniem, aby zapobiec błędom bitowym.

Więc jak możesz zapewnić integralność danych w swoim następnym systemie cyfrowym wysokiej prędkości? Potrzebujesz narzędzi do trasowania, które ułatwiają kompensację opóźnień między elementami na twojej płytce PCB. Zaawansowane narzędzia do trasowania i symulacji w Altium Designer® mogą pomóc Ci uniknąć problemów z integralnością sygnału i utrzymać niski poziom błędów bitowych.

Teraz możesz pobrać darmową wersję próbną i sprawdzić, czy Altium jest odpowiednie dla Ciebie. Porozmawiaj z ekspertem Altium już dziś, aby dowiedzieć się więcej.

Powiązane zasoby

Powiązana dokumentacja techniczna

Powrót do strony głównej
Thank you, you are now subscribed to updates.