Dlaczego sprzęt cyfrowy ma większe opóźnienia niż analogowe?

14

Czy wyjaśnienie, że propagowanie sprzętu cyfrowego trwa dłużej? Na przykład synteza programowa jest bardzo wolna w porównaniu do syntezy sprzętowej.

Niklas
źródło

Odpowiedzi:

30

Zakładam, że nie nawiązujesz do głębszej filozoficznej dyskusji na temat informacji, władzy i entropii, ale interesują cię tylko aspekty praktyczne.

Mówiąc najprościej, obwody cyfrowe muszą mierzyć sygnał wejściowy, przetwarzać go na postać cyfrową, przeprowadzać przez pewien rodzaj przetwarzania, a następnie ponownie przetwarzać sygnał wyjściowy w sygnał elektryczny. Obwody cyfrowe nie mogą bezpośrednio manipulować analogowymi sygnałami elektrycznymi. Z natury masz dodatkowe opóźnienia z powodu konwersji sygnału.

Możesz przestać czytać tutaj, jeśli odpowiedziałeś na twoje pytanie.

Z bardziej filozoficznego / fizycznego punktu widzenia, w prawie wszystkich obwodach tak naprawdę nie próbujesz manipulować energią elektryczną (to właśnie robi elektronika energetyczna), ale próbujesz manipulować informacją. W tym przypadku technicznie wcale nie jest prawdą, że analog jest szybszy niż cyfrowy. Dlaczego? Cóż, analogowe ścieżki sygnałowe to nieortogonalne procesory informacji: nie ma czegoś takiego jak idealny opamp lub idealny bufor, wszystko ma pasożytnicze efekty, które trzeba filtrować lub w inny sposób pozbyć. Szczególnie przy bardzo dużych prędkościach staje się prawdziwym problemem, nawet w przypadku budowy drutu, który niezawodnie przenosi napięcie. Cyfrowe przetwarzanie oddziela aspekt elektryczny od informacji: po digitalizacji danych wejściowych sygnał istnieje jako bardzo czysta forma informacji.

Mimo że jesteś karany dwoma etapami konwersji, pomiędzy ADC i DAC możesz zastosować wiele sztuczek przetwarzania, aby przyspieszyć przetwarzanie i zwykle znacznie przewyższają wydajność dowolnego czysto analogowego procesora sygnału. Doskonałym tego przykładem jest rewolucja modemów cyfrowych w telefonach komórkowych, które obecnie działają na bardzo zbliżonym do teoretycznego limitu przetwarzania informacji (dziesiątki wymagań energetycznych pJ / bit), podczas gdy jeszcze nie tak dawno czysto analogowe modemy GSM wymagały rzędów wielkości więcej obszaru krzemu i myślę, że 5 lub 6 rzędów wielkości więcej energii przetwarzania.

użytkownik36129
źródło
6

Procesy cyfrowe z natury dodają pewne opóźnienie, ponieważ zdarzenie, które ma miejsce między dwoma cyklami zegara, nie może być przetwarzane aż do następnego i, aby uniknąć problemów ze zdarzeniami, które zdarzają się bardzo blisko granic cyklu zegarowego, rzeczy są często zaprojektowane tak, aby zdarzenia zaczną obowiązywać dopiero po drugim cyklu zegarowym po nich (próba szybkiego ustalenia, czy zdarzenie miało miejsce przed czy po granicy cyklu zegarowego, jest często zaskakująco trudna, nawet jeśli można bezpiecznie zdecydować o bliskich połączeniach w obu przypadkach; decyzja o dodatkowym cyklu zegara znacznie ułatwia sprawę). Jest to jednak zwykle tylko niewielka część opóźnień obserwowanych w wielu systemach cyfrowych.

Większy czynnik opóźnienia systemu cyfrowego polega na tym, że z różnych powodów wiele systemów jest w stanie przetwarzać duże porcje danych bardziej wydajnie niż małe. Na przykład, chociaż byłoby możliwe nagrywanie strumienia danych audio stereo 44 KHz poprzez przerwanie procesora 88 200 razy / sekundę, wymagałoby to, aby procesor zatrzymał cokolwiek robił 88 200 razy / sekundę, zapisałby wszystkie swoje rejestry, przełączył się na przerwanie kontekst, pobierz próbkę, przełącz z powrotem itp. Nawet wejście i wyjście przerwania zajmuje tylko mikrosekundę, system spędziłby 22% swojego czasu na wchodzeniu i wychodzeniu z przerwania, zamiast robić coś pożytecznego. Jeśli zamiast tego system użyje sprzętu do buforowania grup 512 próbek (256 z każdego kanału) i powiadamia procesor, gdy każda grupa będzie gotowa,

Należy pamiętać, że pobieranie grup po 256 próbek na kanał może nie wydawać się dużym opóźnieniem (to około 6 ms), jeśli sygnał przechodzi przez wiele urządzeń i każde powoduje takie opóźnienie, opóźnienia mogą się sumować. Ponadto, jeśli którykolwiek ze stopni przechodzi przez sygnał, wykorzystuje dowolny rodzaj zmiennego podziału czasu, opóźnienia mogą być zmienne. Przekazywanie danych audio w czasie rzeczywistym przez kanał, który czasami miał dłuższe opóźnienie niż w innych czasach, powodowałoby zauważalne „zakłócenie” lub „zakłócenie” przy każdej zmianie opóźnienia. Aby temu zapobiec, niektóre systemy znakują bloki danych audio znacznikiem czasu wskazującym, kiedy zostały one przechwycone, i końcowy odbiorca danych cyfrowych, który przekonwertuje je z powrotem na postać analogową, przetrzyma je do upływu określonego czasu od momentu przechwycenia . Jeśli ostateczny odbiorca opóźni go do sekundy po jego złapaniu, wówczas zmiany opóźnienia w różnych częściach podróży nie wpłyną na wynik, chyba że suma ta przekroczy więcej niż sekundę. Jeśli zorientujemy się, że losowe krótkie opóźnienia w transmisji będą częste, ale dłuższe będą rzadkie, zwiększając opóźnienie przed wyjściem odbiorcy końcowego, dźwięk zmniejszy częstotliwość słyszalnych zakłóceń, ale także oznacza, że ​​dźwięk nie wyda się tak szybko, jak to możliwe jak mogłoby inaczej.

supercat
źródło
1

Ponadto systemy cyfrowe mają tendencję do taktowania - w efekcie kwantyzacji czasu, co oznacza, że ​​zdarzenia cyfrowe nie propagują się do następnego czasu zegarowego.

JRobert
źródło
Technicznie i naprawdę wchodzę w dziedzinę filozofii, systemy cyfrowe to tylko systemy, które reprezentują dane w sposób cyfrowy i niekoniecznie muszą być taktowane. Wszystkie procesory używają taktowania, ale np. FPGA można przekształcić w instuarry ALU, które działają natychmiast na operandach. Jedynym powodem, dla którego nie można pompować danych z nieskończonymi prędkościami, jest opóźnienie propagacji, pochylenie i prędkość przełączania tranzystora.
user36129