การแชร์ออสซิลเลเตอร์ระหว่างสองไอซี


11

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

คำตอบ:


15

ใช่เป็นไปได้มากว่าไม่เป็นไร คุณต้องตรวจสอบให้แน่ใจว่าชิปแต่ละตัวได้รับการตั้งค่าให้คาดว่าจะมีนาฬิกาพร้อมใช้งานไม่ใช่ขับคริสตัล คุณต้องดูเอกสารข้อมูลของหลักสูตร แต่อุปกรณ์ส่วนใหญ่สามารถตั้งค่าได้ด้วยวิธีดังกล่าว

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

วิธีที่เชื่อถือได้โดยสิ้นเชิงคือการมีชิปหนึ่งตัวขับคริสตัลให้มีสัญญาณนั้นถูกบัฟเฟอร์ภายในแล้วขับออกจากขาอื่นเป็นสัญญาณดิจิตอลที่รับประกันได้จริง สิ่งนี้มีแนวโน้มที่จะทำงานกับ FPGA ในการขับคริสตัลเนื่องจากคุณควรจะสามารถส่งสัญญาณนาฬิกาไปยังขาได้ Microcontrollers บางครั้งมีเข็มนาฬิกาออกมา แต่ในกรณีของ PICs อย่างน้อย (สิ่งที่ฉันคุ้นเคยมากที่สุด) ซึ่งมักจะเป็น oscillator / 4 ความถี่ไม่ใช่ความถี่ oscillator โดยตรง คุณอาจไม่ต้องการเรียกใช้ FPGA และ 1/4 อัตรานาฬิกาของไมโคร


6

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

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