Tüm Dijital Faz Kilit Döngüsü


9

Herhangi bir harici bileşen (ADC dışında) kullanmadan bir FPGA bir faz kilidi uygulamak için arıyorum. Basitlik için basit bir ikili darbeye kilitleme yeterlidir. Sinyallerin frekansı saatin ~% 0.1-1'i kadardır. Onboard saat PLL'leri kullanamıyorum çünkü bunlar genellikle:

  1. Yapılandırılamaz (sentez sırasında ayarlanır).
  2. Jittery.
  3. İhtiyacım olan frekansı desteklemeyin.

Literatürde sıralama yaptım ve birkaç ikili faz kilitli döngü buldum. En göze çarpan bir "darbe çalmak" tasarımı, eğer isterseniz bir bağlantı gönderebilirsiniz. Biraz başarılı bir şekilde uyguladım ve sentezledim, ancak titreme ve kilit aralığı reklamı yapılan kadar iyi değildi. Harici bir DVCO kullanarak da başarılı oldum, ancak her şeyi çip üzerine uygulayabilirsem tercih ederim.

Dijital devre tasarımı ve hatta doğru yönde bir ipucu yardımcı olacaktır (bir süredir başımı buna karşı vuruyorum), kanıtlanmış bir FPGA uygulaması harika olurdu ama beklenmiyor.

10-27-2010 EKLENDİ

Kullandığım gerçek DPLL tasarımının döngü filtresi olarak "Rastgele Yürüme Filtresi" vardır (daha önce açıklanan "darbe çalma" değil, iyi çalışmayan notlarımdan geçerek), daha sonra saat darbelerini DCO'ya yönlendirir . Kilitleme aralığı DCO'daki ayırıcı ile ayarlanır. Döngünün hassasiyeti, rastgele yürüyüşün uzunluğu değiştirilerek belirlenir.

Bunun bulunduğu bildiri bu yazının sonunda belirtilmiştir. Bir kısmını kendim uyguladıktan sonra, aslında zaten OpenCores üzerinde uygulandığını gördüm, ancak son birkaç ay içinde projenin silindiği, ancak kimse isterse Verilog dosyalarının kaydedildiği ortaya çıktı.

Yamamoto, H .; Mori, S .; , "Yeni Bir Sıralı Filtre Sınıfıyla İkili Sayısallaştırılmış Tüm Dijital Faz Kilitli Döngünün Performansı", İletişim, IEEE İşlemleri, cilt.26, no.1, ss. 35-45, Oca 1978

doi: 10.1109 / TCOM.1978.1093972

URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1093972&isnumber=23895


1
Lütfen 'darbe çalma' tasarımına bağlantı verin - yapmamak için bir neden yok.
Kevin Vermeer

Yanıtlar:


6

Hedef frekans, titreşim ve döngü bant genişliği ile ilgili daha fazla ayrıntı gönderebilir misiniz? Ayrıca, ne tür bir osilatör kullanmak istiyorsunuz (bir DAC ile harici, titreme ile / renk olmadan?, Bir çip dijital sayaç / akümülatör)?

Bir dijital "osilatör" (yani taşan bir akümülatör) ve onun titremesinden memnunsanız, devrenin geri kalanı oldukça basit olabilir:

  • referans ve (isteğe bağlı olarak bölünmüş) PLL çıkışı arasındaki döngü sayısını sayan bir sayaç (PFD),
  • bir dijital filtre - entegrasyonu (bir akümülatör) yaptığı ve döngüyü stabilize etmek için sıfır (eksi (veya artı?) ölçekli bir PFD çıkışı) varsayarsak, isteğe bağlı olarak döngü bant genişliğinin üzerinde bir veya daha fazla kutup referans frekansta "dalgalanma" kontrol değeri (sadece fref
  • dijital filtre çıkışının en önemli bitleri (DVCO kontrol değeri) taşan akümülatöre (DVCO) giriş olarak verilir.

Döngü bant genişliğine gelince, yerleşim süresi tarafından zorlanmazsa, tüm bileşenlerin gürültü katkılarına dayanarak buna karar verin.

  • Titreşim genellikle referanstan veya PFD'den geliyorsa - daha küçük bir bant genişliği kullanın,
  • Gürültü osilatörden geliyorsa - artırın.

Referans sinyalinin faz veya frekans modülasyonlu olması durumunda - referansı modüle eden sinyalin en küçük frekansından daha düşük bir döngü bant genişliği kullanın.

Çıkış frekansı saat frekansına yakın veya eşitse ve / veya düşük titreşim veya çok hızlı kilitleme aralığı gerekiyorsa daha zor teknikler kullanılır. Belki sizin durumunuzda gerekli değildir, ayrıca bir FPGA uygulamasına uygun olmayabilirler.


Örneğin, kararlı bir gelen sinyalin frekansını 16 ile çarpmak istiyorsa ve buna göre hızlı bir saati varsa, her bir kenar ve bir önceki arasındaki saat sayısını ölçmek yerine dijital bir filtre kullanmanın avantajı vardır. bir, ve hangi frekansın çıkması gerektiğini bulmak, böylece bir sonraki giriş saat kenarıyla çakışması gereken çıkış darbesinin bunu yapması gerekir? Giriş saati titreşimi bir saat çevriminden daha fazla değilse, çıkış titreşimi yaklaşık olarak iyi olmalıdır. Böyle bir şema, ikinci giriş darbesini alır almaz temiz bir çıktı üretmeye başlayabilir.
supercat

1

Biraz titremeye tahammül edebiliyor ancak çoğunlukla veri kurtarma için sürüklenen bir saate karşı hassas saat ölçümüne ihtiyacınız varsa, CAN Standart PLL gibi bir şey uygulamak isteyebilirsiniz (bu PDF'nin 67. sayfasında başlar). Bu, nominal olarak doğru ayarlanması gereken, ancak gelen darbe akışındaki kenarlara kadar senkronize edilen bir taşma sayacına dayanarak çalışır.

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.