จะทำอย่างไรกับอินพุตอนาล็อกที่ไม่ได้ใช้?


10

ฉันกำลังทำงานกับแอปพลิเคชันที่ใช้ไมโครคอนโทรลเลอร์ ATmega328p atmel ฉันเริ่มด้วยรุ่น PDIP 28 แต่ตอนนี้ฉันต้องการใช้ 32 TQFP ซึ่งฉันสังเกตเห็นว่ามีอินพุตเพิ่มอีก 2 รายการหลังจากรวบรวมโครงการ Altium ของฉัน

อินพุตเหล่านี้คือ ADC7: 6 ซึ่ง "ทำหน้าที่เป็นอินพุตแบบอะนาล็อกไปยังตัวแปลง A / D พินเหล่านี้ใช้พลังงานจากแหล่งจ่ายอะนาล็อกและทำหน้าที่เป็นแชนเนล ADC 10 บิต" ตามแผ่นข้อมูล

ฉันได้อ่านออนไลน์ว่าบางคนได้ผลลัพธ์ที่ไม่รู้จักเมื่อพวกเขาใช้ ADC และมีอินพุตแบบลอย สิ่งที่ฉันอ่านพวกเขาทำคือเปิดใช้งานตัวต้านทานแบบเลื่อนลง แต่ฉันไม่เห็นวิธีกำหนดค่า (เนื่องจากพวกเขาไม่ได้อยู่ในพอร์ต I / O) แอปพลิเคชันของฉันไม่ได้ใช้ตัวแปลง A / D เลย

อะไรคือการปฏิบัติที่ดีที่สุด? ฉันควรเชื่อมต่อตัวต้านทานแบบดึงลงภายนอกหรือไม่ ละเว้นข้อผิดพลาด Altium หรือไม่

คำตอบ:


8

ADC6 และ ADC7 เป็นกรณีพิเศษ พวกเขาไม่ได้เชื่อมต่อกับอินพุตดิจิตอลหรือบัฟเฟอร์เอาต์พุตดังนั้นพวกเขาจะไม่สร้างเสียงรบกวนหรือดึงกระแสเกินเช่นขาอื่น ๆ บนชิปอาจหากไม่ได้ส่งอย่างเหมาะสม คุณสามารถปล่อยให้มันลอยอยู่และพวกเขาไม่ควรส่งผลกระทบต่อการออกแบบของคุณอย่างผิดปกติ

พวกเขายังไม่มี pull-ups ภายในหรือ pull downs ดังนั้นหากคุณวางแผนที่จะผูกมันขึ้นหรือลงคุณจะต้องทำเช่นนั้นจากภายนอก

แม้ว่าจะไม่สามารถส่งออกได้ แต่ก็ไม่มีความปลอดภัยหรือการป้องกันเพิ่มเติมในการใช้ตัวต้านทานแทนการเชื่อมต่อโดยตรงกับ VCC หรือ GND หากคุณยังคงกังวลเกี่ยวกับอินพุตแบบอะนาล็อกแบบลอยตัวคุณสามารถผูก ADC7 กับพิน GND ที่อยู่ติดกันและ ADC6 กับ AVCC (หรือ AREF หากคุณต้องการ)

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


ฉันกังวลเกี่ยวกับพวกเขาที่มีฟังก์ชั่นอื่น ๆ เช่นหมุด I / O ที่เหลือ แต่คุณพูดถูกเพราะพวกเขาไม่ใช่ฉันควรเลือกตัวเลือกที่จะปล่อยพวกมันลอย และเพราะฉันกำลังออกแบบแอพพลิเคชั่นรุ่นสุดท้ายและฉันรู้ว่า ADC จะไม่ถูกใช้งาน
esal26

คุณพบว่า ADC6 และ 7 เป็น "พิเศษ" ที่ไหน ฉันไม่สามารถตรวจสอบจากแผ่นข้อมูลว่าอินพุตเหล่านั้นแตกต่างจากที่อื่น
Rev1.0

@ Rev1.0 มีหลายสถานที่ในแผ่นข้อมูลที่แสดงสิ่งนี้ อาจเห็นได้ชัดที่สุดคือประโยคสุดท้ายใน24.9.5: "โปรดทราบว่า ADC หมุด ADC7 และ ADC6 ไม่มีบัฟเฟอร์อินพุตดิจิตอลและดังนั้นจึงไม่ต้องใช้บิตอินพุตดิจิตอลปิดการใช้งาน" นอกจากนี้ให้สังเกตแผนภาพบล็อก2.1ที่แสดง ADC [6..7] ตรงไปยัง ADC ในขณะที่พอร์ต ADC อื่น ๆ 6 พอร์ตจะถูกแชร์กับ PORTC Fig 1-1และ pinout ในการแสดง ADC6 และ ADC7 ไม่มีฟังก์ชั่นที่ใช้ร่วมกัน
Adam Davis

โอ้ความผิดของฉันฉันกำลังดูแผ่นข้อมูล 324/644 นี่เป็นคอนโทรลเลอร์ Atmel ตัวแรกที่ฉันเห็น "ความพิเศษ" นี้
Rev1.0

12

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

ตัวต้านทานที่เล็กกว่าจะปล่อยประจุเร็วขึ้น แต่ยิ่งกระแสยิ่งไหลออก บางสิ่งบางอย่างประมาณ470Ωนั้นดี ยังป้องกันขาที่เคยถูกกำหนดค่าเป็นเอาท์พุทและขับเคลื่อนสูง


1
รอถ้าฉันทำ 1) อ่านค่าอะนาล็อกจริง 2) อ่านอะนาล็อกแบบดึงลงค่าอะนาล็อกที่แท้จริงของฉันจะมีเสียงรบกวนน้อยลงหรือบางสิ่ง?
Funkyguy

1
มันจะได้รับอิทธิพลน้อยลงจากการอ่านจากช่องทางอื่น อ่านช่องที่ 1 อ่านช่องว่างอ่านช่องที่ 2 อ่านช่องว่าง ฯลฯ
Majenko

โอ้โหนั่นช่างน่ารักจัง!
Funkyguy

3
ตัวอย่างสุดขั้วพร้อมอินพุตแบบลอยตัว: forum.arduino.cc/index.php?topic=182446.0
Majenko

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