ฉันใช้ PIC18F4680 และฉันมีปัญหาในการใช้งานมันเป็นแหล่งสัญญาณนาฬิกาภายนอก 40 MHz หรือคริสตัล 10 MHz ในโหมด HSPLL การใช้คริสตัล 10 MHz ในโหมด HS ดูเหมือนว่าจะใช้ได้และคริสตัล 5 MHz ในโหมด HSPLL ก็ทำงานได้ดีเช่นกัน
สิ่งที่เกิดขึ้นคือ PIC เริ่มทำงานใช้งานได้สองสามวินาทีจากนั้นปิดลงชั่วขณะหนึ่งแล้วเริ่มอีกครั้ง รอบระยะเวลาทั้งหมดของวงจรอยู่ที่ประมาณ 5 วินาทีจากที่ PIC ทำงานหยุดทำงานในช่วงต้นของวินาทีที่สอง
ฉันยังสังเกตเห็นว่าบางครั้งเมื่อฉันเพิ่มตัวเก็บประจุที่มีขนาดใหญ่พอที่จะจ่ายไฟให้กับบัสพลังงานของเขียงหั่นขนม PIC จะทำงานได้ดี จุดที่น่าสนใจคือสิ่งนี้จะเกิดขึ้นก็ต่อเมื่อฉันเพิ่มตัวเก็บประจุในขณะที่ PIC กำลังทำงานอยู่ ถ้าฉันจ่ายไฟให้กับแผงเก็บประจุด้วยตัวเก็บประจุที่นั่นหรือฉันวางตัวเก็บประจุที่ไม่ได้ถูกระบายออกอย่างสมบูรณ์ปัญหายังคงอยู่
ฉันได้อ่านในบางเว็บไซต์ที่มีปัญหาคล้ายกับของฉันเกิดขึ้นเนื่องจากการใช้พลังงานที่เพิ่มขึ้นของ PIC บนความถี่ที่สูงขึ้นและแรงดันไฟฟ้าต่ำสุดที่สูงขึ้น ในกรณีดังกล่าวหากมีแรงดันไฟฟ้าสั้น ๆ ลดลงในแหล่งจ่ายไฟพวกเขามีแนวโน้มที่จะถึงแรงดันไฟฟ้าต่ำสุดของการทำงานของ PIC บนความถี่นั้นดังนั้นจึงเป็นความคิดที่ดีที่จะมีตัวเก็บประจุเพิ่มเติมบนเขียงหั่นขนม เนื่องจากเต็มโหลดที่ 40 MHz วงจรทั้งหมดใช้ประมาณ 64 mA ความคิดแรกของฉันคือการใส่ตัวเก็บประจุแทนทาลัมหวังว่าพวกมันจะใหญ่พอและมี ESR ต่ำพอที่จะแก้ไขปัญหาได้ หนึ่งไม่ได้ช่วยและที่สองก็ไม่ได้ช่วยเช่นกัน ดังนั้นฉันจึงเพิ่ม100 μ Fตัวเก็บประจุอลูมิเนียมและนั่นก็ไม่ได้ช่วยอะไรเช่นกัน จากนั้นฉันก็เพิ่มตัวเก็บประจุอลูมิเนียมให้ไม่มีผลกระทบ ในตอนท้ายฉันเพิ่มตัวเก็บประจุอลูมิเนียมอิเล็กโทรไลต์ขนาด 1 mF จากนั้นเป็นครั้งแรกที่วงจรทำงานได้ดีจนกระทั่งปิดและเปิดเครื่อง ฉันควรทราบด้วยว่าเพื่อการทดสอบฉันใช้ Vcc ที่ 5.5 V ซึ่งเป็นแรงดันไฟฟ้าสูงสุดสำหรับไมโครคอนโทรลเลอร์นี้ นี่ควรจะทิ้งฉันไว้ที่ห้องจนถึง 4.2 V ซึ่งเป็นแรงดันไฟฟ้าต่ำสุดที่ 40 MHz
ต่อไปผมจะได้อ่านว่าผลบางครั้งลอยสามารถทำให้เกิดความบกพร่องดังนั้นผมจึงนำบางส่วนต้านทานดึงลงที่หมุดทั้งหมดไม่ได้ใช้และไม่ได้ช่วยทั้ง หลังจากนั้นฉันได้อ่านว่าบางครั้งอาจจะมีปัญหาหากปัจจัยการผลิต oscillator จะลอยดังนั้นฉันพยายามเชื่อมต่อไปยัง GND ใช้บางส่วน10 M Ωต้านทานและตัวที่ไม่ได้ความช่วยเหลือ
เนื่องจากความยาวของสายไฟจากเอาต์พุตออสซิลเลเตอร์ไปจนถึงอินพุตออสซิลเลเตอร์ที่ PIC ฉันคาดว่าจะเกิดปัญหากับมัน แต่ฉันไม่ได้คาดหวังว่าจะมีปัญหากับคริสตัล 10 MHz ซึ่งใกล้กับหมุดออสซิลเลเตอร์บน PIC นอกจากนี้สำหรับคริสตัลฉันก็คาดหวังว่าปัญหาในโหมด HS ก็เช่นกันหากสัญญาณออสซิลเลเตอร์ผิดเพี้ยนไปเนื่องจากเขียงหั่นขนมเป็นปัญหา แต่ในโหมด HS แล้ว PIC ทำงานได้ดี
ปกติฉันใช้ตัวเก็บประจุ 33 pF สำหรับคริสตัล แต่ฉันก็ลองด้วย 15 pF ด้วยและฉันก็ไม่สามารถตรวจพบการเปลี่ยนแปลงใด ๆ
ฉันควรทราบด้วยว่า PIC นี้มีการตรวจสอบนาฬิกาที่ไม่ปลอดภัยและการสลับการทำงานของออสซิลเลเตอร์ภายใน / ภายนอก ฉันได้ลองเปิดใช้งานทั้งคู่โดยหวังว่าอย่างน้อยพวกเขาจะยืนยันว่าปัญหาเกิดขึ้นกับตัวกำเนิดสัญญาณ แต่พวกเขาไม่ได้ช่วยแก้ปัญหา ไม่มีความแตกต่างคือพวกเขากำลังเปิดหรือปิด
ฉันยังปิดการใช้งานเพื่อการทดสอบตัวจับเวลาสุนัขเฝ้าบ้าน, การรีเซ็ตสีน้ำตาลและสแต็กโอเวอร์ / อันเดอร์โฟลว์รีเซ็ต ฉันคิดว่าฉันปิดแหล่งการรีเซ็ตทั้งหมดสำหรับชิปนี้ อีกทั้งโปรแกรมอยู่ในวงวนไม่สิ้นสุดดังนั้นจึงไม่สิ้นสุด
PCF8583 ไม่มีปัญหาใด ๆ และยังคงทำงานอย่างถูกต้องแม้ในขณะที่ PIC กำลังรีเซ็ตตัวเอง แต่ในทางกลับกันก็มีแรงดันไฟฟ้าขั้นต่ำที่ต่ำกว่ามาก
น่าเสียดายที่ฉันไม่มีออสซิลโลสโคป แต่ฉันทำการทดสอบด้วยการ์ดเสียง (อัตราตัวอย่าง 96 kHz) และฉันสังเกตว่าเมื่อเปิด RTC มีสัญญาณรบกวน 25 Hz บนสายไฟ โปรแกรมที่ฉันใช้ใช้รายงานสูงสุด 300 mV ถึงจุดสูงสุด แต่ฉันไม่รู้ว่าจะเชื่อถือได้มากแค่ไหนและฉันไม่รู้ว่าจะเพียงพอที่จะทำให้เกิดปัญหาใด ๆ สำหรับ PIC หรือไม่ เมื่อทุกอย่างถูกปิดเสียงจะอยู่ที่ประมาณ 100 mV ถึงสูงสุดดังนั้นมันควรจะดี
ในกรณีที่ช่วยได้นี่คือรูปภาพของ breadboard เอง: (คลิกขวา -> ดูภาพขนาดเต็ม)
ไม่มีใครมีความคิดว่าเกิดอะไรขึ้นที่นี่
ในที่สุดฉันก็สามารถเรียกใช้ PIC ที่ 20 MHz แต่ถ้าฉันต้องการพลังการประมวลผลมากขึ้นฉันต้องการที่จะสามารถเรียกใช้ที่ 40 MHz
UPDATE
ฉันวางเครื่องควบคุมอื่นที่เขียงหั่นขนมและเสียงที่หยิบมาจากการ์ดเสียงตอนนี้ต่ำกว่ามาก (ประมาณ 50 mV ถึงสูงสุด) แต่มันไม่ได้ส่งผลกระทบต่อปัญหาหลัก