นี่ไม่เกี่ยวอะไรกับแกนประมวลผล ARM มันเกี่ยวกับการทำงานของวงจรตอกบัตร:
ในหลาย ๆ ระบบเช่นไมโครคอนโทรลเลอร์, ชิป RF, ชิปเสียง, ... คุณจำเป็นต้องสร้างนาฬิกาที่เร็วขึ้นซึ่งเป็นนาฬิกาอ้างอิงหลายตัวที่แน่นอน (ตัวอย่างเช่นคริสตัลภายนอก)
คุณทำเช่นนั้นโดยมี oscillator ที่ควบคุมแรงดันไฟฟ้า (VCO) ซึ่งคุณสามารถปรับความถี่ได้โดยการลดหรือควบคุมแรงดันไฟฟ้า
ตอนนี้เพียงแค่ตั้งค่าแรงดันไฟฟ้าควบคุมคุณสามารถนำสิ่งนั้นมาแกว่งที่ความถี่อย่างคร่าว ๆ ใน "ballpark" ที่ถูกต้อง แต่ไม่ใช่ความถี่อินพุทที่แน่นอน โดยเฉพาะอย่างยิ่ง VCOs อาจลอยได้เล็กน้อยดังนั้นความถี่ที่จะ "เดิน" ไปทั่วทุกที่อย่างต่อเนื่อง คุณจำเป็นต้องควบคุม oscillator นั้นโดยเปรียบเทียบกับ oscillator อ้างอิง
วิธีที่จะทำคือการจ้างเฟสล็อกลูป ความคิดง่าย ๆ :
- แบ่งความถี่ที่ออกมาของ VCO โดยปัจจัย ; นั่นเป็นปัจจัยที่เราต้องการให้ VCO นั้นเร็วกว่าการอ้างอิง การทำเช่นนั้นง่าย: ตัวอย่างเช่นคุณสามารถใช้ตัวนับดิจิตอลที่นับเป็น N จากนั้นเปลี่ยนเอาต์พุตN
- เปรียบเทียบนาฬิกานาฬิกาอ้างอิงที่{ref} หากหนึ่งเร็วกว่าอื่นปรับความถี่ตาม คุณสามารถทำสิ่งนี้ในรูปแบบดิจิตอลโดยเพียงแค่แฮคเกอร์ทั้งสองนาฬิกา - หากว่าพวกเขาเหมือนกันผลลัพธ์ที่ได้คือค่าคงที่ 0 แต่ถ้าอย่างใดอย่างหนึ่งเร็วกว่าอีกแบบหนึ่ง แฮคเกอร์ของนาฬิกาทั้งสองคือ 1 ชะลอหรือเพิ่มความเร็ว VCO ตามนั้นfVCO/Nfref
ด้านบนเป็นลูปควบคุมซึ่งถูกล็อกไปยังเฟสของ - ดังนั้นชื่อ
สำหรับไมโครคอนโทรลเลอร์ "รวย" ซึ่งมีอุปกรณ์ต่อพ่วงจำนวนมากและได้รับประโยชน์จากการมีนาฬิกาหลายตัวภายในจึงเป็นเรื่องปกติที่จะมีอย่างน้อย 1 PLL ATMega328 นั้นค่อนข้างแปลกในแง่นี้: มันเป็นไมโครคอนโทรลเลอร์ที่ค่อนข้างกินไฟและต่อพ่วงที่ยังไม่มี PLL