วนเฟสล็อกดิจิตอลทั้งหมด


9

ฉันกำลังมองหาที่จะใช้เฟสล็อคใน FPGA โดยไม่ต้องใช้ส่วนประกอบภายนอกใด ๆ (นอกเหนือจาก ADC) สำหรับความเรียบง่ายล็อคชีพจรแบบไบนารีที่เรียบง่ายเพียงพอ ความถี่ของสัญญาณคือ ~ 0.1-1% ของนาฬิกา ฉันไม่สามารถใช้นาฬิกาออนบอร์ดของ PLL ได้เพราะโดยทั่วไปแล้ว:

  1. ไม่สามารถกำหนดค่าได้ (ตั้งค่าระหว่างการสังเคราะห์)
  2. ที่กระวนกระวายใจ
  3. ไม่รองรับความถี่ที่ฉันต้องการ

ฉันเรียงลำดับจากวรรณกรรมและพบว่ามีกี่เฟสล็อกลูป สิ่งที่น่าสังเกตมากที่สุดคือ "ชีพจรขโมย" ที่ฉันสามารถโพสต์ลิงก์ไว้ได้หากต้องการ ฉันนำไปใช้และสังเคราะห์ด้วยความสำเร็จบางอย่าง แต่ช่วงกระวนกระวายใจและช่วงล็อกไม่ดีเท่าที่โฆษณาไว้ ฉันยังประสบความสำเร็จในการใช้ DVCO ภายนอก แต่ฉันต้องการถ้าฉันสามารถใช้ทุกอย่างบนชิป

การออกแบบวงจรดิจิตอลหรือแม้กระทั่งคำใบ้ในทิศทางที่ถูกต้องก็จะมีประโยชน์ (ฉันต่อสู้กับสิ่งนี้มาระยะหนึ่งแล้ว) การติดตั้ง FPGA ที่ได้รับการพิสูจน์แล้วจะยอดเยี่ยม แต่ไม่ได้คาดหวัง

เพิ่ม 10-27-2010

การออกแบบ DPLL จริงที่ฉันใช้มี "Random Walk Filter" เป็นตัวกรองลูป (ไม่ใช่ "ชีพจรขโมย" ที่อธิบายไว้ก่อนหน้านี้จะผ่านบันทึกย่อของฉันที่ไม่ได้ผลดี) จากนั้นขับนาฬิกาพัลส์ไปยัง DCO . ช่วงล็อคอินถูกตั้งค่าผ่านตัวแบ่งใน DCO ความไวของวงถูกกำหนดโดยการเปลี่ยนแปลงความยาวของการเดินแบบสุ่ม

บทความที่พบนี้ถูกอ้างถึงในตอนท้ายของโพสต์นี้ หลังจากใช้ชิ้นส่วนของตัวเองฉันพบว่ามันถูกนำไปใช้จริงใน OpenCores อย่างไรก็ตามปรากฎว่าในช่วงไม่กี่เดือนที่ผ่านมาโครงการถูกลบ แต่ฉันได้บันทึกไฟล์ Verilog หากใครต้องการ

Yamamoto, H .; Mori, S. , "ประสิทธิภาพของไบนารี Quantized All Digital Phase-Looped Locked กับ Class ใหม่ของ Sequential Filter," การสื่อสาร, ธุรกรรม IEEE บน, vol.26, no.1, pp. 35- 45, ม.ค. 1978

ดอย: 10.1109 / TCOM.1978.1093972

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


1
โปรดลิงก์ไปยังการออกแบบ 'pulse steal' - ไม่มีเหตุผลที่จะไม่ทำ
Kevin Vermeer

คำตอบ:


6

คุณสามารถโพสต์รายละเอียดเพิ่มเติมเกี่ยวกับความถี่เป้าหมายกระวนกระวายใจและแบนด์วิดธ์วนรอบ (ต้องใช้เวลานั่ง)? นอกจากนี้คุณต้องการใช้ออสซิลเลเตอร์ชนิดใด (ภายนอกด้วย DAC, มี / ไม่มี dithering?, บนชิปดิจิตอลตัวนับ / สะสม)

หากคุณมีความสุขกับ "ออสซิลเลเตอร์" ดิจิตอล (เช่นตัวสะสมมากเกินไป) และความกระวนกระวายใจแล้วส่วนที่เหลือของวงจรจะค่อนข้างง่าย:

  • นับจำนวนนับรอบของวัฏจักรระหว่างเคาน์เตอร์ (PFD) กับการอ้างอิงและ (หารเลือก) เอาต์พุต PLL
  • ตัวกรองดิจิตอล - อะไรก็ตามที่จะสมมติว่ามันรวมตัวกัน (ตัวสะสม) และมันมีศูนย์ (ลบ (หรือบวกหรือไม่) เอาท์พุท PFD ที่ปรับขนาด) เพื่อรักษาเสถียรภาพของวงเลือกเสาหนึ่งหรือมากกว่านั้น ค่าควบคุม "ระลอกคลื่น" ที่ความถี่อ้างอิง (เฉพาะในกรณีที่ fref
  • บิตที่สำคัญที่สุดของเอาต์พุตตัวกรองดิจิทัล (ค่าการควบคุม DVCO) ถูกกำหนดเป็นอินพุตให้กับโอเวอร์โฟลว์แอคคูเลเตอร์ (DVCO)

สำหรับแบนด์วิดท์แบบวนรอบหากไม่ได้บังคับใช้ตามเวลาที่กำหนดให้ตัดสินใจโดยพิจารณาจากส่วนสัญญาณรบกวนของส่วนประกอบทั้งหมด

  • ถ้ากระวนกระวายใจส่วนใหญ่มาจากการอ้างอิงหรือจาก PFD - ใช้แบนด์วิดท์ขนาดเล็ก
  • หากเสียงดังมาจาก oscillator - เพิ่มขึ้น

ในกรณีที่สัญญาณอ้างอิงเป็นเฟสหรือความถี่มอดูเลตให้ใช้แบนด์วิดท์แบบลูปต่ำกว่าความถี่ที่เล็กที่สุดของสัญญาณมอดูเลตอ้างอิง

เทคนิค Trickier จะใช้หากความถี่เอาต์พุตใกล้เคียงหรือเท่ากับความถี่สัญญาณนาฬิกาและ / หรือหากต้องการช่วงการล็อคที่ต่ำหรือเร็วมาก บางทีในกรณีของคุณพวกเขาไม่ต้องการนอกจากนี้พวกเขาอาจไม่เหมาะกับการใช้งาน FPGA


ถ้าใครอยากจะคูณความถี่ของสัญญาณขาเข้าที่เสถียรด้วย 16 และหนึ่งมีนาฬิกาที่สัมพันธ์อย่างรวดเร็วสิ่งที่มีประโยชน์คือการใช้ตัวกรองดิจิตอลเมื่อเทียบกับการวัดจำนวนของนาฬิการะหว่างแต่ละขอบและก่อนหน้านี้ อย่างใดอย่างหนึ่งและการหาความถี่สิ่งที่ควรส่งออกเพื่อให้เอาท์พุทพัลส์ซึ่งควรตรงกับขอบสัญญาณนาฬิกาถัดไปจะทำเช่นนั้น? หากสัญญาณเข้านาฬิกาผิดเพี้ยนไม่เกินรอบสัญญาณนาฬิกาสัญญาณภาพออกควรจะดี รูปแบบดังกล่าวสามารถเริ่มต้นสร้างผลลัพธ์ที่สะอาดได้ทันทีที่ได้รับอินพุตพัลส์ที่สอง
supercat

1

หากคุณสามารถทนต่อความกระวนกระวายใจเล็กน้อย แต่ส่วนใหญ่ต้องการเพียงการตอกบัตรที่แม่นยำกับนาฬิกาที่มีการลอยสำหรับการกู้คืนข้อมูลคุณอาจต้องการนำไปใช้อย่างCAN Standard PLL (เริ่มในหน้า 67 ของ PDF) งานนี้ใช้ตัวนับล้นซึ่งควรปรับให้ถูกต้องในนาม แต่จะซิงโครไนซ์จนถึงขอบในกระแสพัลส์ที่เข้ามา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.