PCIe, göz diyagramını tanılama ve geliştirme


18

PCIe kullanan bir tasarım uyguladım. PCIe arabiriminin tek bir PCB'de çipten çipe iletişim şeridi olarak kullanılması (örneğin, PCIe konektörü olmaması) biraz farklıdır.

Kök karmaşık cihazı, PCIe Gen 2 uyumlu bir Freescale i.MX6 ve iletişim kurduğum cihaz, PCIe Gen 3 uyumlu bir cihaz olan Marvell WiFi modülüdür. 2.5Gbps hızında çalışan tek şeritli bir arayüz.

Aşağıda gösterilen satır içi kapakların diğer tarafında uygun diferansiyel problarla yüksek hızlı bir kapsam lehimleyerek bazı sinyal bütünlüğü ölçümleri yaptım:

resim açıklamasını buraya girin

Saat için göz diyagramı oldukça iyi görünüyor:

resim açıklamasını buraya girin

Ancak TX verileri çok fazla değil:

resim açıklamasını buraya girin

WiFi çip üzerinde çip sonlandırmaları var, bu yüzden herhangi bir ek sonlandırmaya ihtiyacım olduğuna inanmıyorum, ama bu konuda yanlış olabilir.

PCIe çevre birimi için i.MX6 işlemci içinde ayarlanabilen bazı kayıtlar buldum, ancak gerçekte ne yaptıklarından tam olarak emin değilim. Biraz deneme yanılma da beni çok ileri götürmedi.

resim açıklamasını buraya girin

Düzenin uygun yönlendirme kurallarına uyduğunu ve PCB'nin doğru empedansla inşa edildiğini kontrol ettim. Açıkçası sistemde bir miktar titremem var ama aynı zamanda bir yansıma veya vurgu kaldırma sorunum var gibi görünüyor. Birisinin göz diyagramımda ne gördüklerini açıklayabileceğini ve / veya düzeltmek için bazı yollar önerebileceğini umuyorum.

Şerefe!


güzel soru. Bazı iyi cevaplar görmeyi umuyoruz.
JUSTING

1
TX gözünüzü nerede ölçüyorsunuz?
Bazı Donanım Adamı

Ve bu kayıtlar neye ayarlanmış?
Bazı Donanım Adamı

Birkaç soru: sorun hangi TX? i.MX6'yı Marvell'e mi, Marvell iMX6'ya mı? Hatalı çalışan vericinin veya saat besleme raylarının çevresine ne tür bir besleme filtresi yerleştirdiniz? Bu kayıtların mevcut değerleri nelerdir?
akohlsmith

@SomeHardwareGuy Daire içindeki kondansatörlerin diğer tarafındaki tx gözünü ölçüyorum. Düzen açısından, hem saat hem de TX için kapasitörler WiFi çipinin hemen yanındadır. Çiftlerin yönlendirildiği toplam mesafe yaklaşık 2,5 inçtir. İ.MX6 aslında bir SO-DIMM konektörüne takılan bir SOM'nin bir parçasıdır ve sadece bu SOM ve WiFi çipini "taşıyan" kart tasarladım.
Funkyeah

Yanıtlar:


22

Bunu size yapacak bir çok şey var.

Arayüzün uzunluğunu belirtmediniz. PCIe'yi doğrudan yongaya doğrudan yonga yapıyorum ve cilt etkisi kayıpları nedeniyle inç başına kabaca 0.18dB ve 'sıradan' FR4'teki dielektrik emiliminden dolayı inç başına yaklaşık 0.5dB zayıflama alacağınız için bunu gerçekten dikkate almanız gerekiyor.

PCB malzeme veri sayfasından indirip kayıp tanjantına bakarsanız daha iyi rakamlar alabileceğinizi düşünüyorum. Tipik bir veri sayfası için Isola 370HR'ye bakınız. Yukarıdaki sayılar 5GHz hızında oldukça doğrudur. 2.5Gb hızında, sayılar biraz daha düşüktür ve inç başına ~ 0.4dB'lik toplam kayıp vardır.

Koparma ve bağlantı kapasitörleri dışında, arayüz için tek katmanlı yönlendirme kullandığınızı varsayıyorum. Katman geçişleri sinyale kolayca çok kötü şeyler yapabilir. Kontrollü empedans katmandan katmana biraz farklı olacaktır ve yansımalar doğal sonuçtur (çok katmanlı yönlendirmeyi başarılı bir şekilde yapmanın yolları vardır, ancak çok fazla özen ve bazı olağandışı püf noktaları elde etmek gerekir).

PCI express (ve bu konu için Infiniband) için, vericideki sinyalin yükselme ve düşme oranı EMI sorunlarını en aza indirmek için minimum yükselme ve düşme süresine sahiptir ve bu süre 0.25UI'dir, bu da gen 2 bağlantılarında 10GHz sinyalleme artefaktı verir. ve gen 1'de dikkate alınması gereken 5GHz artefaktlar.

Yukarıdaki vurgu kaldırma alanı, anahtarlama olmayan genliği , nominal başlatma genliğine göre düşürerek alıcıya temiz bir göz almanıza yardımcı olur .

Sinyalin anahtarlama kenarında çok fazla genlik kaybediyorsanız, bu alanı daha büyük bir değere ayarlayın. Ayrıca nominal başlatma genliğini de biraz daha yüksek olarak ayarlayabilirsiniz.

Bakabileceğiniz diğer konular:

Vericiye göre kuplaj kapasitörleri nerede? İletim pimlerine mümkün olduğunca yakın olmalıdırlar. 10GHz dalga boyunun yarısından fazlasını (FR4'te yaklaşık 0.6 inç) [2.5Gb / sn bağlantılar için bu mesafeyi iki katına çıkardıktan] sonra, kesinlikle enerjiyi yansıtırlar.

PCI express geninde 0402 veya daha büyük kapasitör geometrileriyle ilgili sorunlar yaşadım. 2 ve ben şimdi azaltılmış etkili seri endüktans için ters geometri cihazları (0204) kullanıyoruz. Bunlar işi çok iyi yapıyor gibi görünüyor.

Geçiş bitleri için göz diyagramına yakından baktığınızda (bu arada sahip olduğunuz güzel kapsam - bu şeyler için ihtiyacınız olan şey budur), ilk sinyal sürücüsü sonlandırılmış bir hat kullanıyor gibi görünüyor (sinyal 0,5 V'a (nominal) gidiyor klasik iletim hattı tarzında). Bu özellikle uzun bir çizgi değildir (gidiş-dönüş süresi, sinyalin tam V [nominal] konumuna gittiği yerdir).

bağlantının 2,5 Gb / sn'de (gen 1) çalıştığını ve kapsam izlerinin gösterdiği şey olduğunu söylersiniz, ancak vurgu kaldırma alanını denemek isteyebilirsiniz (referans kılavuzuna ve elektrik veri sayfasına bakın (aşağıdaki nota bakın). 'Standart' vurgu vurgu değerleri, burada (ve düzenli olarak ne yaptığım gibi) gömülü bir bağlantı değil, nominal bir bağlantı içindir. 6dB'ye ulaşabilirseniz, daha iyi sonuçlar.

Nominal vurgu, Gen 1 için 3.5dB ve Gen2 için 6dB'dir. Yukarıdaki alanın bir Gen 2 bağlantısının 3.5dB olduğunu ima ettiği görülüyor - bu konuda biraz kazmak isteyebilirsiniz. Sahip olduğunuz bağlantının minimum 3.5dB vurgu kaldırması gerekiyor.

Alıcıdaki gözün çok farklı olacağını unutmayın, ancak burası önemlidir . Bir deneme olarak, işlemcideki hata sayaçlarını okuyun (çoğunda yeniden denemeler için bir sayaç bulunur); önemli hatalar görmüyorsanız, gerçekten sorun olmayan bir şeyi takip ediyor olabilirsiniz. Büyük hata sayıları görüyorsanız, bunlardan bazıları yardımcı olabilir.

Bir şey daha var: aşırı fırlatma genlikleri ve vurgu kaldırma, onları çok düşük ayarlamak kadar kötü .

Belki bu size biraz yardımcı olacaktır: Umarım.

Not: Freescale her şeyi belgeler, sadece bazen onu bulmayı beklediğiniz yerde değildir. En son cihaz errata sahip olduğunuzdan emin olun.

Güncelleme . Kapasitör geometrileri hakkında notlar eklendi.

2,5 Gb / sn düğüme kadar 0402 cihazlar iyi durumda. Kullanışlı hesap makinem tipik bir 0402 cihazının bu frekansta yaklaşık 10 ohm empedansa (endüktif) ve 5GHz'de (en yüksek ilgi frekansı) 21 ohm'a sahip olduğunu gösterir. Bu, 100 ohm diferansiyel sistemde çok kötü değildir, çünkü yakından bağlanmış bir çiftin etkili empedansı, düz bir eklemeden biraz daha azdır.

Bu cihazın öz rezonansı 19MHz'dir, tüm ilgili frekansların çok altındadır, bu nedenle herhangi bir faz gürültüsü ESL'den kaynaklanır. Empedansı, etkili pist empedansının yaklaşık 1 / 3'ünden daha düşük bir seviyede tutmak, alacağımız faz gürültüsünün (ve dolayısıyla ek ISI) 1 ila 17 derece arasında olduğu anlamına gelir (yakından bağlanmış bir çiftten tek uçlu bir kanal tipik olarak (Z (fark) / 2) * 1.25, yani 100 fark için, tek uçlu empedans yaklaşık 65 ohm'dur). Bu miktarda faz gürültüsü yönetilebilir.

10GHz'de, etkili empedans yaklaşık 44 ohm'dur ve maksimum faz yaklaşık 34 derece olduğu için ilgilenilen frekans bandı boyunca aşırı faz gürültüsü sokarak diferansiyel çifti etkilemeye başlayabilir. Gen40'ı 0402 cihazlarla başarılı bir şekilde yapmış olmama rağmen, daha uzun çalışmalarla da sorun yaşadım ve şimdi bu hız ve daha yüksek için 0204 ters geometri cihazları kullanıyorum.

8b / 10b kodlu bağlantılar için, ilgilenilen frekans bandı bit hızı / 5 ila bit hızı * 2 arasındadır. Alt sınır çalışma uzunluğu kodlaması ile sınırlanmıştır ve üst sınır minimum yükselme ve düşme süreleri için şartname gereksinimi ile sınırlanmıştır. .

Çeşitli geometriler için ESL:

0402: yaklaşık 700pH

0204: yaklaşık 300pH

0805: yaklaşık 1nF

Güncelleme İlk lansman genliklerinin yaklaşık% 50'si hakkında yorum eklendi.

Kaynakta ve varış noktasında, hattın karakteristik empedansında (Z0) sonlandırılmış bir iletim hattını ele alalım.

İlk fırlatmada, hattın sinyalin dalga boyuna kıyasla uzun olduğu varsayılarak, fırlatma noktası voltaj bölücü etkisi nedeniyle fırlatma genliğinin% 50'sine gidecektir (verici bu noktada sadece iletim hattını görür).

Enerji hedef noktaya ulaştığında ve% 50 noktasına yükselmeye başladığında, kaynaktaki enerji hattı enerjiyle etkili bir şekilde 'doldurdu' ve tam fırlatma genliğine yükseldi. Kesin olarak, hedefteki iletim hattı bir voltaj bölücü görür ve çıkış DC'ye yaklaştıkça kaynaktaki bölücü etkisi kaybolur (iletim hattı etkisinin yalnızca geçişler için geçerli olduğunu unutmayın ).

Bu aynı zamanda% 50 enerji seviyesi iletim hattından son sonlandırmaya doğru hareket edip ardından tam seviyeye geri yansırken de görülebilir. Bu nedenle, hattın herhangi bir noktasında% 50 noktasında bir 'gidiş dönüş süresi' görüyoruz.

Çiziminiz, bu davranışı satırda henüz hedef bağlantı noktasında olmayan bir noktada tam olarak gösterir , çünkü bu% 50 nokta aslında çizgi boyunca hareket eder.

Alıcıda, enerji% 50 noktasına ulaştığında, hattın tüm enerjisi takip eder ve alıcıdaki voltaj yükselmeye devam ederek bir seviyeden diğerine yumuşak bir geçiş sağlar.

Bu aynı zamanda hat boyunca alıcıya doğru hareket eden% 50 voltaj noktası olarak daha sonra% 100'e geri yansıtma olarak da görülebilir (alıcı önce DC'ye ulaşır). Bu nedenle, hattın herhangi bir noktasında görüntülenen% 50'deki voltaj, o noktadan alıcıya gidiş dönüş süresini gösterir.

Bu tartışma, tek uçlu diferansiyel sinyaller için geçerlidir.

Dolayısıyla yukarıdaki çiziminiz, beklenen davranışın ötesinde küçük gezilerle klasik iletim hattı davranışını göstermektedir. Aslında bu gördüğüm en temiz verici gözlerden biri.


İyi cevap. Belki ciddi bir kayıp durumunda kapaklarınızdan yansımalar gördüğünüz bir referans veya bazı ölçümler ekleyin? Bunu hiç görmedim ve bunun bir efsane olduğuna inanmadım.
Rolf Ostergaard

1
Yazının altındaki yorumlarda, uzunluğun yaklaşık 2,5 inç olduğunu açıklığa kavuşturdum. Aslında Isola 370HR kullanıyor ve düzeni oldukça dikkatli bir şekilde yönetiyoruz. Kapakları vericinin yakınına yerleştirmeyi de imkansız kılan bir SOM kullandığımızı söylemiştik. Bağlantıların alıcı tarafında, yollar kontrollü bir empedans iç katmanına düşmeden önce alıcıya ulaşabileceğim kadar yakın ölçüyorum.
Funkyeah

Yukarıdaki güzel cevabı söyledikten sonra. Çok yararlı bilgiye sahip olduğu için özel sorunumu doğrudan çözmese bile doğru olarak işaretleyeceğim. Bu konuda iyi kaynaklar için öneriniz var mı? Aslında pratik bilginin güç noktalarında ve arada sırada beyaz kağıtta kilitli olduğunu görüyorum.
Funkyeah

Rolf: kapaklar oldukça uzak bir mesafedeyse bazı yansımalara neden olurlar ve yönetilebilirler, ancak özellikle sinyal bir iç katmandan kapaklara ve kapaklardan gelmek zorundaysa, birkaç tane ekleyerek tanınması gerekir. vialar. Süreksizlik çok büyük değil, ancak bağlantı bütçesi geriliyorsa devenin arkasını kıran saman olabilir.
Peter Smith

Sakıncası yoksa birkaç soru daha! Başlangıçta Vfull ile 0.5V'yi karşılaştırdığınızda ve roun-trip zamanından bahsederken ne demek istiyorsun ...? İlk bölümün yansımayı ve sinyali ölçtüğünü ve son bölümün sadece bir sinyal olduğunu mu söylüyorsunuz? Görmek uygun mu kötü mü? Yine de kaldırmak için?
Funkyeah
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.