Rezystory terminujące: czy są potrzebne?


20

Do projektu, który projektuję, używam SDRAM IS42s32800 (TSOP) z mikrokontrolerem LPC1788 (QFP). Na płytce drukowanej mam 4 warstwy z płaszczyzną uziemienia tuż poniżej górnej warstwy sygnałowej i płaszczyzną VDD tuż nad dolną warstwą sygnałową. Średnie ślady między procesorem a pamięcią RAM mają długość 60 mm, przy czym najdłuższy ślad wynosi 97 mm, linia zegarowa ma długość 53 mm i żadna linia nie ma zamontowanych rezystorów końcowych. Ciekawe, czy absolutnie konieczne jest posiadanie rezystorów terminujących na liniach DRAM. Czy ten projekt działałby bez nich, czy nie powinienem nawet próbować go wypróbować bez oporników?


Co mówi arkusz danych?
Matt Young


Odpowiedzi:


32

Jeśli częstotliwość / czas narastania i odległość są wystarczająco wysokie, aby powodować problemy, wtedy tak, musisz zakończyć połączenie.

Model linii przesyłowej

Wydaje mi się, że na najdłuższym śladzie o długości 97 mm prawdopodobnie Ci się to nie uda (biorąc pod uwagę wyniki obliczeń poniżej) Jeśli masz pakiet PCB, który obsługuje modele IBIS i symulację poziomu płyty (np. Altium i inne drogie pakiety), symuluj konfigurację i oceń, czy potrzebujesz ich z wyników.

Jeśli nie masz tej możliwości, możesz wykonać przybliżone obliczenia za pomocą SPICE.
Miałem trochę bałaganu z LTSpice , oto wyniki (możesz poprawić rzeczy, jeśli ktoś zobaczy błąd)

Jeśli założymy:

  • Czas narastania sygnału wejściowego RAM wynosi około 2ns
  • PCB to FR4 z Er lub ~ 4.1
  • Grubość miedzi w PCB wynosi 1 uncja = 0,035 mm
  • Wysokość śladu nad płaszczyzną podłoża = 0,8 mm
  • Szerokość śledzenia = 0,2 mm
  • Długość śledzenia = 97 mm
  • Dane wejściowe RAM są równe 10 kΩ równolegle z 5pF (pojemność z arkusza danych, rezystancja wybrana dla typowego wejścia LVTTL, ponieważ nic nie podano - arkusz danych jest dość zły, na przykład prąd upływu na str. 21 jest podawany jako 10A !?)
  • Impedancja sterownika wynosi 100Ω (wzięte z wysokich / niskich wartości wyjściowych arkusza danych i prądu -> Vh = Vdd - 0,4 @ 4mA, więc 0,4V / 4mA = 100Ω)

Korzystając z wCalc (narzędzie kalkulatora linii przesyłowej) ustawionego na tryb mikropaskowy i wprowadzając liczby, otrzymujemy:

  • Zo = 177,6 Ω
  • L = 642,9 pH / mm
  • C = 0,0465 pF / mm
  • R = 34,46 mΩ / mm
  • Opóźnienie = 530,4 ps

Teraz, jeśli wprowadzimy te wartości do LTSpice za pomocą stratnego elementu linii przesyłowej i zasymulujemy, otrzymamy:

Linia paskowa

Oto symulacja powyższego obwodu:

Linia paskowa Sim Zdrv = 100 omów

Z tego wyniku wynika, że ​​przy impedancji wyjściowej 100 Ω nie należy się spodziewać żadnych problemów.

Dla zainteresowania, powiedzmy, że mieliśmy sterownik o impedancji wyjściowej 20 Ω, wynik byłby zupełnie inny (nawet przy 50 Ω występuje przekroczenie / zanikanie 0,7 V. Należy pamiętać, że jest to częściowo spowodowane pojemnością wejściową 5pF powodującą dzwonienie, przekroczenie przy 2ns byłoby mniejsze bez pojemności [~ 3,7 V], więc Kortuk wskazuje, że sprawdź również parametry skupione, nawet jeśli nie traktuje jako TLine - patrz koniec):

Stripline Sim Zdrv = 20 omów

Zasadą jest, że jeśli czas opóźnienia (czas na przejście sygnału od sterownika do wejścia) jest większy niż 1/6 czasu narastania, wówczas musimy traktować ślad jako linię transmisyjną (zauważ, że niektórzy mówią 1/8, niektórzy powiedzmy 1/10, które są bardziej konserwatywne) Z opóźnieniem 0,525 ns i czasem narastania 2ns dającym 2 / 0,525 = 3,8 (<6) musimy traktować to jako TLine. Jeśli zwiększymy czas narastania do 4ns -> 4 / 0,525 = 7,61 i ponownie wykonamy tę samą symulację 20 Ω, otrzymamy:

Linia paskowa Zdrv = 20 omów Tr = 4ns

Widzimy, że dzwonienie jest znacznie mniejsze, więc prawdopodobnie nie trzeba podejmować żadnych działań.

Tak więc, aby odpowiedzieć na pytanie, zakładając, że jestem blisko parametrów, jest mało prawdopodobne, że ich pominięcie spowoduje problemy - zwłaszcza, że ​​wybrałem czas narastania / opadania 2ns, który jest szybszy niż arkusz danych LPC1788 (str.88 Tr min = 3 ns, Tfall min = 2,5 ns)
Dla pewności, umieszczenie rezystora szeregowego 50 Ω na każdej linii prawdopodobnie nie zaszkodzi.

Model bryłowy

Jak wspomniano powyżej, nawet jeśli linia nie jest linią transmisyjną, nadal możemy mieć dzwonienie wywołane zbitymi parametrami. Ślad L i odbiornik C mogą powodować dużo dzwonienia, jeśli Q jest wystarczająco wysokie.
Ogólna zasada jest taka, że ​​w odpowiedzi na idealne wprowadzenie kroku Q 0,5 lub mniej nie zadzwoni, Q 1 przekroczy 16%, a Q 2 44% przekroczenia.
W praktyce żadne wejście krokowe nie jest idealne, ale jeśli krok sygnału ma znaczną energię powyżej częstotliwości rezonansowej LC, wówczas zadzwoni.

Zatem w naszym przykładzie impedancji sterownika 20 Ω, jeśli po prostu traktujemy linię jako obwód skupiony, Q będzie:

Q=L.doRs=62,36nH.9,511pfa20Ω=4.05

(Pojemność wynosi 5pF pojemności wejściowej + pojemność linii - rezystancja linii jest ignorowana)

Odpowiedź na idealne wejście krokowe będzie:

V.ovmirshoot=3.3V.mi-π(4Q2))-1=2.23V.

Zatem najgorszy przypadek przekroczenia wartości szczytowej wyniesie 3,3 V + 2,23 V = ~ 5,5 V.

Dla czasu narastania 2 ns musimy obliczyć częstotliwość rezonansową LC i energię widmową powyżej tego z powodu czasu narastania:

Częstotliwość dzwonienia = 1 / (2PI * sqrt (LC)) = 1 / (2PI * sqrt (62,36nH * 9,511pF)) = 206 MHz

Częstotliwość dzwonienia = =12)πL.do=12)π62,36nH.9,511pfa

Czas narastania 2 ns ma znaczącą energię poniżej częstotliwości „kolana”, która wynosi:

0,5 / Tr = 0,5 / 2 ns = 250 MHz, czyli powyżej obliczonej powyżej częstotliwości dzwonienia.

Przy częstotliwości kolana dokładnie odpowiadającej częstotliwości dzwonienia przekroczenie będzie o połowę mniejsze niż idealne wejście krokowe, więc przy ~ 1,2 razy częstotliwości kolana patrzymy prawdopodobnie na około 0,7 idealnej odpowiedzi krokowej:

0,7 * 2,23 V = ~ 1,6 V.

Szacowany szczyt przekroczenia przy czasie narastania 2 ns = 3,3 V + 1,6 V = 4,9 V.

Rozwiązaniem jest zmniejszenie Q do 0,5, co odpowiada = 162 Ω (wystarczy 160 Ω). Przy rezystancji sterownika 100 Ω od góry oznaczałoby to rezystor szeregowy 60 Ω (stąd „dodanie rezystora szeregowego 50 Ω nie zaszkodzi” powyżej)L.do0,5

Symulacje:

Zgrubiony

Idealna symulacja kroku:

Grudkowa odpowiedź krokowa

2 ns Risetime Simulation:

Grudka 2ns czasu narastania

Rozwiązanie (z rezystorem szeregowym 100 Ω Rdrv + 60 Ω = dodane 160 Ω ogółem R1):

Zlepione krytycznie tłumione rozwiązanie

Widzimy, że dodanie rezystora 160 Ω powoduje oczekiwane krytycznie tłumione przekroczenie 0 V.

Powyższe obliczenia są oparte na praktycznych zasadach i nie są całkowicie dokładne, ale w większości przypadków powinny być wystarczająco blisko. Znakomita książka „High Speed ​​Digital Design” Jonhsona i Grahama stanowi doskonałe odniesienie do tego rodzaju obliczeń i wielu innych (przeczytaj przykładowy rozdział NEWCO, aby uzyskać podobne do powyższego, ale lepiej - wiele z powyższych opierało się na wiedzy z tego książka)


@OliGlaser, ogólnie rzecz biorąc, w prawdziwym świecie, czy mierzymy L i C mikropasków (dla systemu bryłowego), czy po prostu obliczamy go, aby uzyskać wyuczone przypuszczenie dla rezystora dla Q 0,5, a następnie dostosowujemy tę wartość empirycznie ?
Saad,

1
Powiedziałbym, że to zależy od twojego projektu i narzędzi. Jeśli korzystasz z wysokiej klasy narzędzi do druku, to i inne rzeczy zostaną zrobione automatycznie, jeśli określisz odpowiednie ograniczenia. Jeśli nie korzystasz z drogich narzędzi, na pewno opłaca się przynajmniej przeprowadzić wstępne szacunki, aby sprawdzić, czy możesz napotkać problemy - nie trwa to długo i potencjalnie można uniknąć wielu problemów później. Jeśli nie jesteś pewien, zawsze możesz zrobić takie rzeczy, jak dodanie padów, aby w razie potrzeby zamontować rezystor terminujący (można wypróbować różne wartości - empirycznie jest dobrze, jeśli to działa)
Oli Glaser,

Zauważ też, że nie potrzebujesz, aby Q był na miejscu na 0,5, poniżej również jest to w porządku (jest powyżej miejsca, w którym zaczyna się dzwonienie - niedotłumione) 0,5 to tylko optymalna wartość (krytycznie tłumiona) dla najszybszego czasu narastania bez przeregulowania. W miarę zwiększania R (nadmiernej wilgotności) czas narastania będzie spowalniał i ostatecznie stanie się problemem, ale zwykle będziesz miał pewien margines.
Oli Glaser,

6

Altera zaleca ich użycie z niektórymi typami pamięci SDRAM w tym dokumencie, ale twierdzi, że można ich uniknąć, stosując wewnętrzne zakończenie dla FPGA i SDRAM, jeśli jest oferowane. Żadna z kart FPGA, które mam z SDRAM, nie ma żadnego zewnętrznego zakończenia na połączeniach, a urządzenia nie mają wewnętrznego zakończenia. Wygląda na to, że powinno się ich używać, idealnie, ale w praktyce często się je kończy. Powinieneś uciec od tego.


Ja też ich nie użyłem, ale producent mojej płyty rozwojowej z nich skorzystał, więc pomyślałem, że powinienem również
özg

@ user9663 Jeśli zamierzasz przeprowadzić jakiekolwiek testy emisji, uważam, że rezystory terminujące są dobrym pomysłem, aby zapobiec dzwonieniu. Szczerze mówiąc, mam bardzo małe doświadczenie z SDRAM.
justing
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.