ค่าตัวต้านทานและตัวเก็บประจุที่ใช้สำหรับแยกขาตั้งค่า AVR ใหม่มีค่าเท่าใด?


15

พื้นหลัง...

ฉันเป็นมือใหม่สำหรับแอพพลิเคชั่น AVR ฉันเพิ่งสร้างวงจรที่ใช้ ATTINY13 สองตัว (ไฟกระพริบ LED ที่ได้รับเกียรติ) ซึ่งทำงานอย่างถูกต้อง (อย่างอิสระ) บนเขียงหั่นขนม เมื่อฉันรวมพวกเขาเข้ากับบอร์ดบัดกรีประสานกับแหล่งจ่ายไฟที่ใช้ร่วมกันสิ่งต่าง ๆ ก็ยุ่งเหยิงไปหมด หลังจากการสอบสวนมากปรากฏว่าพวกเขากำลังรีเซ็ตอย่างต่อเนื่อง

ฉันเหลือ pin 1 (รีเซ็ต) ของ micro แต่ละตัวที่ไม่ได้เชื่อมต่อ ฉันค้นคว้าวิธีที่เหมาะสมในการจัดการพินการรีเซ็ตและจากการดำเนินการดังต่อไปนี้

  1. เพิ่มตัวเก็บประจุอิเล็กโทรไลต์ 100uF ควบคู่กับแหล่งจ่ายไฟเพื่อช่วยในการดึงกระแสไฟฟ้าที่อาจเกิดขึ้น

  2. เพิ่มตัวต้านทาน 4.7K จากVCCเป็นRESET

  3. เพิ่มตัวเก็บประจุเซรามิก 0.1uF จากGNDเป็นRESET

ขั้นตอนเหล่านี้สามารถแก้ไขปัญหาได้อย่างสมบูรณ์

คำถาม:

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

ฉันเห็นค่าตัวเก็บประจุที่แตกต่างกันหลายค่า (10nF, 0.1uF และอื่น ๆ ) และตัวต้านทาน (4.7K, 10K ฯลฯ ) และฉันไม่แน่ใจว่าปัจจัยใดที่เปลี่ยนแปลงค่าเหล่านี้ ทุกคนสามารถแสดงความเห็นได้บ้างเกี่ยวกับวิธีการแยกการรีเซ็ตขาตั้งและวิธีคำนวณค่าส่วนประกอบที่จะใช้? คุณช่วยอธิบายว่าควรใช้ค่าใดหากไม่มีส่วนหัวการเขียนโปรแกรมในระบบ?

แผนผังวงจร AVR Reset Pin Isolation

คำตอบ:


15

Atmel AVR042: ข้อควรพิจารณาเกี่ยวกับการออกแบบฮาร์ดแวร์ AVRบอกเราว่าไม่จำเป็นต้องใช้ตัวเก็บประจุบนพินรีเซ็ต โดยส่วนตัวฉันคิดว่ามันเกินความจริง ไม่มีเหตุผลที่คุณจะต้องทำวงจร AVR หลายสิบตัวต่อไปแต่ละอันกับตัวเก็บประจุที่ซ้ำซ้อนนั้น

สำหรับตัวต้านทาน pullup reset:

บรรทัดการรีเซ็ตมีตัวต้านทานการดึงภายใน แต่หากสภาพแวดล้อมมีเสียงดังอาจไม่เพียงพอและการรีเซ็ตอาจเกิดขึ้นเป็นระยะ ๆ อ้างถึงแผ่นข้อมูลสำหรับค่าของตัวต้านทานแบบดึงขึ้นในอุปกรณ์เฉพาะ การเชื่อมต่อ RESET เพื่อให้สามารถป้อนทั้งการตั้งโปรแกรมแรงดันสูงและการรีเซ็ตระดับต่ำธรรมดาได้โดยใช้ตัวต้านทานแบบดึงขึ้นกับสาย RESET ตัวต้านทานแบบดึงขึ้นนี้ทำให้แน่ใจว่าการรีเซ็ตไม่ทำงานโดยไม่ตั้งใจ ในทางทฤษฎีตัวต้านทานแบบดึงขึ้นสามารถมีขนาดใดก็ได้ แต่หากAtmel®AVR®ควรตั้งโปรแกรมจากเช่น STK500 / AVRISP ตัวดึงขึ้นไม่ควรแข็งแรงจนโปรแกรมเมอร์ไม่สามารถเปิดใช้งาน RESET ได้โดยการดึงสาย RESET ต่ำ ตัวต้านทานแบบดึงขึ้นที่แนะนำคือ4.7kΩหรือใหญ่กว่าเมื่อใช้ STK500 สำหรับการเขียนโปรแกรม เพื่อให้ debugWIRE ทำงานได้อย่างถูกต้องการดึงขึ้นต้องไม่เล็กกว่า10kΩ

หากคุณดูที่ผลิตภัณฑ์ระดับมืออาชีพที่มีไมโคร AVR เช่น Arduino โคลนจำนวนมากชุดคิท dev หลายสิบตัวคุณจะพบว่าส่วนใหญ่ใช้ตัวต้านทาน4.7kΩหรือ10kΩ

และโดยเฉพาะอย่างยิ่งสำหรับ ATtiny13 ของคุณแผ่นข้อมูลของมันระบุว่าการดึงข้อมูลควรอยู่ในช่วง [20kΩ, 80kΩ]


1
20k ถึง 80k หรือ 20k หารด้วย 80k? :)
JYelton

ขอบคุณสำหรับลิงค์พิจารณาออกแบบฮาร์ดแวร์ ฉันไม่รู้เอกสารนี้!
JYelton

ฮ่าฮ่าฉันใช้เครื่องหมายนั้นเพราะทุกคนใช้เครื่องหมายลบ ต้านทานเชิงลบจะไม่ทำให้รู้สึกใด ๆ ทั้ง :)
จอนนี่บีดี

ฉันมักจะเห็นตัวหนอน (~) ที่ใช้ในการหมายถึง "ผ่าน" แต่ยัง "ประมาณ" ฉันเดาว่ามันขึ้นอยู่กับบริบท ขอขอบคุณที่ชี้ให้เห็นแผ่นข้อมูลแสดงรายการตัวต้านทานการดึงข้อมูลการรีเซ็ตฉันไม่ได้ตระหนักว่ามันจะรวมข้อมูลนั้น แผ่นข้อมูลที่ฉันได้แสดงตัวต้านทานแบบดึงขึ้นสำหรับพินการตั้งค่าใหม่อยู่ระหว่าง 30k และ 80k อย่างน้อยฉันก็รู้ว่าจะต้องไปดูที่ไหนตอนนี้ ขอบคุณ!
JYelton

4
20kΩ80kΩ

7

ฉันมักจะใช้ตัวต้านทาน pullup 10k กับ Vcc บน / รีเซ็ตพินและไม่เคยมีปัญหาใด ๆ เป็นความคิดที่ดีที่จะรวมตัวเก็บประจุ 100nF ใกล้กับขา Vcc ระหว่าง Vcc และ GND สำหรับการทำงานของชิปที่มั่นคง ในความคิดของฉันตัวเก็บประจุบนพินรีเซ็ตไม่จำเป็นต้องบอกว่าฉันไม่เคยรวมไว้ในวงจร AVR ใด ๆ ที่ฉันได้พัฒนาขึ้นมา


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

1
มันเกี่ยวข้องกับ "ความถี่เสียงกระเพื่อม" และอาจเป็นหัวข้อที่มีความซับซ้อนมากกว่าที่พบ แต่อย่างน้อย 100nF เป็นมาตรฐานการปฏิบัติตามกฎนิ้วหัวแม่มือที่ยอมรับสำหรับตัวเก็บประจุบายพาส หนึ่งของที่นี่ (จากอีกหลายคน) บทความอ้างอิงที่อาจจะมีที่น่าสนใจ: seattlerobotics.org/encoder/jun97/basics.html คุณสามารถค้นหาโพสต์ที่เกี่ยวข้องในเว็บไซต์นี้โดยค้นหา 'bypass' หรือ 'decoupling'
vicatcu

ตัวเก็บประจุด้วยไฟฟ้าขนาดใหญ่จัดการกับความถี่ต่ำ แต่ไม่มีประสิทธิภาพที่ความถี่สูง ตัวเก็บประจุเซรามิกขนาดเล็ก (0.1uF) รองรับความถี่สูง แต่ไม่มีประสิทธิภาพที่ความถี่ต่ำ
Technophile

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