คุณจะทราบได้อย่างไรว่าไมโครคอนโทรลเลอร์ตัวใหม่นั้นชำรุด


11

ฉันไม่เคยจัดการกับชิ้นส่วนที่มีช่องแคบชำรุดจาก digikey แต่ Atmel ATmega164A 3 ชิ้นใหม่ที่ฉันได้รับได้แสดงพฤติกรรมที่แปลกมาก

ฉัน จำกัด ให้แคบลงเพื่อทำอะไรกับนาฬิกาและมันกลับกลายเป็นว่าสัญญาณนาฬิกาที่เกิดจากออสซิลเลเตอร์ภายใน "ที่ปรับเทียบจากโรงงาน" คาดว่าจะสั่นระริกระหว่าง 650-700 kHz แทนที่จะเป็นของแข็ง 1 MHz ที่ควรจะเป็น ฉันสามารถเขียนลงในไบต์การปรับเทียบเพื่อให้ใกล้เคียงกับ 1 MHz (ยังมีกระวนกระวายใจ) และสิ่งต่าง ๆ ส่วนใหญ่ทำงาน แต่ UART ไม่ทำงานอย่างถูกต้องพวกเขาดูเหมือนจะส่งกระแสพัลส์สั้นต่อเนื่องไม่ว่า คุณขอให้พวกเขาทำอะไร

ฉันจัดการกับไมโครคอนโทรลเลอร์รุ่นก่อนหน้านี้ที่ใช้พลังงานต่ำ (164P) โดยไม่มีปัญหาและตัดสินใจที่จะวางมันลงและตรวจสอบสัญญาณนาฬิกาบนนั้น ฉันเอนตัวไปสู่ข้อสรุปว่าชิป 164A เหล่านี้มีข้อบกพร่อง แต่จะมีการทดสอบอื่น ๆ ที่ฉันสามารถลองยืนยันได้หรือไม่


แก้ไข:แค่คิดว่าฉันอธิบายกระบวนการที่ฉันวัดนาฬิกา ฉันเปิดการใช้งานบิตเอาท์พุทนาฬิกาฟิวส์และวัดพินที่เหมาะสมด้วยการสุ่มตัวอย่างวิเคราะห์เชิงตรรกะในอัตราที่สูงมาก ฉันมีโปรแกรมที่เขียนลงทะเบียนสอบเทียบOSCCALและฉันสามารถลองผิดลองถูกที่ 1 MHz


แก้ไข # 2:หลังจากการตรวจสอบเพิ่มเติมปรากฏว่าไมโครคอนโทรลเลอร์เริ่มทำงานหลังจากขนาดโปรแกรมที่แน่นอนธรณีประตู โครงการกระดูกเปลือยที่มีไฟล์แหล่งเดียวกระพริบ LED ดูเหมือนว่าจะตกลง แต่การรวบรวมและการเชื่อมโยงในไฟล์อื่น ๆ ของฉัน (พูดห้องสมุด UART หรืออะไรก็ตาม) โดยไม่ต้องทำการเรียกฟังก์ชั่นไปยังวิธีการเหล่านั้นทำให้ไมโครคอนโทรลเลอร์ พฤติกรรมที่อธิบายไว้ข้างต้น การเชื่อมต่อสายไฟนั้นใช้ได้ดีและมีการใช้การแยกตัวที่เหมาะสม ฉันไม่มีเวลาที่จะแก้ไขข้อบกพร่องนี้อีกในขณะนี้ดังนั้นเราจึงไปข้างหน้ากับรุ่นพลังงานต่ำแทน ฉันไม่แน่ใจว่าปัญหาอาจเป็นอย่างใดอย่างหนึ่ง 1) 164A และ 164P ไม่เข้ากันได้กับรหัส 2) ขั้นตอนการเขียนโปรแกรมแตกต่างกันสำหรับทั้งสองของ uC 3) หน่วยมีข้อบกพร่อง ฉันมั่นใจในการออกแบบบอร์ดของเราและจะตัดปัญหาเรื่องพลังงาน น่าเสียดายที่ฉันไม่สามารถเลือกคำตอบที่ถูกต้องได้ดังนั้นฉันจะทิ้งคำถามนี้ไว้เหมือนเดิม - บางทีฉัน จะกลับมาที่ปัญหาอีกครั้งในอนาคต ขอบคุณทุกคนที่ให้ความเห็นหรือคำตอบที่ลึกซึ้งพวกเขาอาจทำประโยชน์ให้กับคนอื่นที่มีปัญหากับ uC นอกกรอบ


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

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

@Kellenjb, "ไม่รู้จัก errata" สำหรับรุ่นนี้ในแผ่นข้อมูล (แผ่นข้อมูลล่าสุดที่ปรากฏขึ้น 06/11) แน่นอนว่ามันคุ้มค่าที่จะกล่าวถึงแม้ว่าจะมีวิธีใด ๆ ขอบคุณ
Jon L

@ จอนใช่นั่นคือสิ่งที่ฉันหมายถึง "แต่ในกรณีของคุณไม่มี errata ที่รู้จัก"
Kellenjb

1
ฉันจะสองสิ่งที่ Kortuk พูด มันมีกลิ่นเหมือนแหล่งจ่ายไฟหรือปัญหาการแยกชิ้นสำหรับฉัน
Olin Lathrop

คำตอบ:


3

มันยากที่จะมีความล้มเหลวแบบนั้น คุณอาจคาดหวังว่าจะเห็นสัญญาณรบกวนเพิ่มขึ้นเล็กน้อยในขาหรือทำให้หมุดนั้นไม่ทำงาน แต่การที่จะให้มัน "ค่อนข้างใช้งานได้ แต่ไม่ใช่ในวิธีที่มีประโยชน์" นั้นหายาก ฉันสงสัยว่ามีปัญหาการออกแบบที่ทำให้เกิดปัญหาและมีบางอย่างเกี่ยวกับความแตกต่างระหว่าง 164A และ 164P เนื่องจากกระวนกระวายใจสูงฉันจะดูสิ่งต่าง ๆ ที่เกี่ยวข้องกับพลังงาน เชื่อมต่อ power / gnd ทั้งหมดหรือไม่ หมุด I / O นั้นขับเคลื่อนหรือดึงสูงหรือต่ำหรือไม่ เป็นต้น

แต่ก็ยังมีความเป็นไปได้ที่ชิ้นส่วนไม่ดี มันเป็นของหายาก แต่ก็ไม่เคยได้ยิน วิธีเดียวที่จะบอกได้อย่างแท้จริงคือการได้รับชิ้นส่วนเพิ่มเติมจากซัพพลายเออร์รายอื่นและลองใช้ หากพวกเขาทำงานคุณต้องตรวจสอบเพิ่มเติมและดูว่าคุณฆ่าพวกเขาในการจัดการ / การบัดกรีหรือว่าพวกเขามาจาก Digikey ไม่ดี


2
ฉันจะตรวจสอบสามสิ่งทุกอย่างเมื่อฉันมีโอกาส ฉันก็ยังสงสัยในข้อสรุปของตัวเองความคิดที่ว่าสิ่งนี้จะไม่ถูกจับที่โรงงานหรือโอกาสที่ความเสียหายจากการเปลี่ยนแปลงดูเหมือนจะไม่น่าเป็นไปได้สูง ... จะรายงานกลับ
Jon L

การเชื่อมต่อฉลาดทุกอย่างตรวจสอบ ฉันจะแก้ไขคำถามที่จะให้รายละเอียดเพิ่มเติม ...
จอน L

2

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

ไม่มีวิธีง่ายๆในการตรวจสอบความถูกต้องของออสซิลเลเตอร์โดยไม่ต้องเขียนโปรแกรมชิ้นส่วนดังนั้นฉันแค่เขียนโปรแกรม port-toggle เล็กน้อย (อันที่ไม่ได้ทำอะไรเลยนอกจากกระดิก I / O line) และมีโปรแกรมอื่น ชิ้นส่วนควรมีฮาร์ดแวร์การเขียนโปรแกรมที่แตกต่างกัน เมื่อคุณตรวจสอบกระดิกคุณสามารถ reflash ด้วยรหัสของคุณเองและดูว่าปัญหายังคงมีอยู่


ฉันเปิดใช้งานบิตเอาท์พุทของนาฬิกาฟิวส์และมันทำให้สัญญาณนาฬิกาเข้าสู่ขาที่ PORTB นี่คือสิ่งที่ฉันสุ่มตัวอย่างเพื่อกำหนดความถูกต้องของออสซิลเลเตอร์ / นาฬิกา ฉันจะตรวจสอบขั้นตอนการเขียนโปรแกรมและเครื่องมืออีกครั้งขอบคุณ
Jon L
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.