สำหรับแอปพลิเคชันสัญญาณผสมที่มีอัตราความแม่นยำต่ำและตัวอย่างต่ำเช่นปัญหาของคุณปัญหาหลักที่คุณเผชิญคือการอ้างอิงที่ถูกต้องเพียงพอและป้องกันสัญญาณรบกวนการสลับแบบดิจิทัลจาก ADC มีหลายขั้นตอนในการเริ่มต้นที่ขั้นตอนการออกแบบและดำเนินการต่อผ่านเค้าโครงบอร์ด
ระหว่างการออกแบบวงจร
ขั้นแรกในขั้นตอนการออกแบบการอ้างอิงที่เหมาะสมการแยกสัญญาณที่ถูกต้องและไดรฟ์สัญญาณความต้านทานต่ำจะต้องส่งไปยัง ADC เพื่อให้เกิดการแปลงที่ถูกต้อง นอกจากนี้สัญญาณจะต้องถูกกรอง (low-pass ถูกกรองในแอพเครื่องมือเช่นคุณ) เพื่อป้องกัน ADC จากการแปลงความถี่ที่สูงขึ้นเป็น baseband ได้อย่างมีประสิทธิภาพ (แอพ RF สามารถใช้ตัวกรอง frontend ของ ADC + bandpass ที่ช้าเพื่อ Nyquist-downconvert บนมิกเซอร์เฉพาะและ LO)
ทำให้การอ้างอิงของคุณมีเสถียรภาพ
การอ้างอิงมีตั้งแต่เล็กน้อยและน่าสมเพช (เป็นวุ้นที่ไม่ต่อเนื่อง Zener ดีถึง 4 บิต) ถึงบ้า (ฝังเตาอบ IC ฝัง Zeners ใช้ในการใช้งานเครื่องมือวัดประสิทธิภาพสูง) - และข้อกำหนดมักจะไม่ชัดเจนหน่วยผสมใน วิธีที่สับสนสามเณร แผนภูมิในLTC AN82เป็นยาแก้พิษที่มีประโยชน์สำหรับสิ่งนี้ - เนื่องจากแอปพลิเคชันของคุณซึ่ง ADC ของคุณเป็นหน่วย 12 บิตที่มีความสามารถ 11+ ENOB ได้รับการอ้างอิงที่เสถียรและแหล่งจ่าย 5V ฉันจะระบุการอ้างอิงที่แม่นยำถึง 0.02% หรือ ดีกว่าในช่วงอุณหภูมิที่น่าสนใจและเสียง RMS ไม่ได้เป็นข้อกังวลเนื่องจากเป็นเรื่องเกี่ยวกับลำดับความสำคัญน้อยกว่าข้อกำหนดความแม่นยำของคุณ
น่าเสียดายที่ความแม่นยำเริ่มต้น 0.02% โดยไม่มีการตัดแต่งเป็นเรื่องเกี่ยวกับสิ่งที่เริ่มได้รับ ... ค่อนข้างยาก การใช้การอ้างอิง 4.096V ระบุว่าต้องการประสิทธิภาพการทำงานของ ENOB หมายความว่าฉันต้องการเรียกใช้ ADC บนแหล่งจ่ายไฟ 5V ที่เงียบด้วยเครื่องแปลระดับตรรกะเป็น 3.3VI / O ของ Pi และ 4.096V ให้คุณดีสะดวกและมีประโยชน์ 1mV / การนับความสัมพันธ์เรา จำกัดADR4540 , X60003 , MAX6126AASAหรือLTC6655Bแม้ว่าส่วนสุดท้ายจะตัดมันใกล้เพราะมีความแม่นยำเริ่มต้น 0.025% ในขณะที่เทมโก้และฮิสเทรีซีสไม่ได้กังวลเพราะนี่เป็นแอพพลิเคชั่นแบบตั้งโต๊ะที่ฉันเข้าใจและการควบคุมสายและโหลดไม่ใช่ปัญหาที่สำคัญเนื่องจากใช้พลังงานจากแหล่งจ่ายไฟ 5V ที่ควบคุมเช่นเดียวกับ ADC และขับหมุด Vref ยังเป็นปัญหาที่นี่เนื่องจากขาดการตัดแต่ง - สำหรับเรื่องนี้ ADR4540 และ MAX6126AASA เป็นผู้ชนะที่ชัดเจนที่ 25ppm / root-khr และ 20ppm / root-khr ตามลำดับ - ประมาณ 10-1 ในอัตราส่วนที่ต้องการ เพื่อพิจารณาระยะยาวลอยไม่มีนัยสำคัญ (อีกสองส่วนมีระยะยาวประมาณ 50-60ppm / root-khr ทั่วไป)
Decoupling ทุกอย่าง
แผ่นข้อมูล MCP3208 แนะนำตัวเก็บประจุขั้นต่ำ 1µF สำหรับการแยกส่วนเชื่อมต่อจาก Vdd กับระบบภาคพื้นดิน - AGND และ DGND ควรเชื่อมโยงกลับไปยังระบบภาคพื้นดินเดียวกันเช่นกัน ควรใช้ decoupler เซรามิกหรือโพลีเมอร์แทนทาลัมเป็นกลุ่มขนาด 10 minimumF / 10V อย่างน้อยควรใช้บนราง 5V ของบอร์ดเช่นกัน
ด้านบนของนี้อ้างอิงควร decoupled ตามแผ่นข้อมูล - นี้มักจะเป็น 100nF ในการส่งออกที่มี 100nF ในอินพุตนอกเหนือไปจากความจุ decoupling ความจุขนาดใหญ่ใด ๆ แต่ LTC6655 ต้องการตัวเก็บประจุเอาท์พุทขนาดใหญ่กว่ามาก P / N เป็นตัวแยกส่วนที่ใช้งานได้) และ X60003 นั้นจะเลือกในทิศทางตรงกันข้ามเนื่องจากการออกแบบที่ใช้พลังงานต่ำ
อินพุตไดรฟ์ / บัฟเฟอร์ / การกรอง
โชคดีที่มันไม่ยาก - ความแม่นยำ 0.02% แปลเป็น 800µV ของอินพุตสูงสุดและฉันสามารถรับคำสั่งที่ดีกว่าสองเท่าด้วย GBWs ในช่วง MHz ในขณะที่ทำงานบนแหล่งจ่ายไฟ 5V เดียวที่มีอยู่ในปัจจุบัน แอมป์ลอยน้ำและตัดแต่งภายใน AD8630วัสดุเสียงรบกวนต่ำอัตโนมัติศูนย์ตัวเลือกในขณะที่รวดเร็วตัดแต่งภายในแอมป์ต่ำชดเชยรวมOPA4350และOPA4192 ไม่ว่าจะด้วยวิธีใดตัวกรอง Sallen แบบสองขั้วและ Key low-pass anti-aliasing จากแผ่นข้อมูล MCP3208 สามารถใช้งานได้โดยมีความถี่มุมตั้งไว้ที่ 5kHz หรือประมาณ - การออกแบบตัวกรองอื่นอาจทำงานได้เช่นกัน
แหล่งจ่ายไฟและอินเตอร์เฟสดิจิตอล
ข้อมูลจำเพาะ ENOB (จำนวนบิตที่มีประสิทธิภาพ) ของ MCP3208 นั้นขึ้นอยู่กับแหล่งจ่าย - มันทำงานได้ดีขึ้นเมื่อใช้กับแหล่งจ่ายไฟ 5V มากกว่าที่ใช้กับ 2.7-3.3V มันยังต้องวิ่งออกจาก 5V เพื่อใช้การอ้างอิง 4.096V สิ่งนี้ทำให้เกิดปัญหาที่ Pi ใช้ลอจิก 3.3V และไม่ได้รับการยอมรับ 5V ต้องใช้ IC การแปลระดับตรรกะเช่นTXB0104 - ด้าน A ไปที่ Pi ในขณะที่ด้าน B ไปที่ ADC
นอกจากนี้แหล่งจ่ายไฟ 5V ควรมีความสะอาดพอสมควร - ควรใช้ตัวควบคุมเชิงเส้นเพื่อสร้างแรงดันไฟฟ้าที่สูงขึ้น หากไม่มีแรงดันไฟฟ้าที่สูงขึ้นในแอปพลิเคชันสามารถใช้ราง 5V ที่มีอยู่ได้หากเครือข่าย LC decoupling ใช้เพื่อป้องกันสัญญาณรบกวนดิจิตอลจำนวนมากออกจากรางจ่าย ADC และ op amp
เวลาเค้าโครง
: มีสองปุ่มไปยังรูปแบบสัญญาณผสมที่มีประสิทธิภาพจะแบ่งพาร์ทิชันและอุปทาน / ผลตอบแทนรูปแบบ ฉันจะแตะคนที่หัน
ก่อนอื่นฉันจะแบ่งเลย์เอาต์ของบอร์ดออกเป็นสองด้านอย่างประณีต - ด้านดิจิตอลและด้านอะนาล็อก การติดตามแบบดิจิตอลทั้งหมด (อินเทอร์เฟซ SPI ในกรณีของ MCP3208 ที่คุณใช้) ไปที่ด้านดิจิตอลของบอร์ด - ด้านนี้ของบอร์ดยังมีชิปตัวแปลระดับตรรกะและตัวเชื่อมต่อ I / O ไปยัง Pi ด้านอะนาล็อกของบอร์ดมีร่องรอยอะนาล็อกและวงจรทั้งหมด - การอ้างอิงแรงดันไฟฟ้าไปที่นี่และทำเช่นนั้นตัวกรองอินพุต, การป้องกันอินพุตและขั้วต่ออินพุตอะนาล็อก ADC (และตัวเหนี่ยวนำตัวกรองหากคุณใช้ 5V จาก Pi) เป็นองค์ประกอบเดียวที่เชื่อมช่องว่างนี้ - อันที่จริงแล้ว
โปรดทราบว่าชิ้นส่วนทั้งหมดที่ฉันเชื่อมโยงนั้นมีให้ในแพ็คเกจระดับพิทช์หยาบ - ขอแนะนำให้ใช้เลย์เอาต์ด้านเดียวที่มีด้านหลังเนื่องจากมีระนาบ GND ต่อเนื่องหากใช้บอร์ดสองด้านที่นี่ หากค่าใช้จ่ายไม่ใช่การคัดค้านคณะกรรมการสี่ชั้นจะจัดเตรียมระนาบ Vdd แบบอะนาล็อกอย่างต่อเนื่องนอกเหนือจากระนาบกราวด์เช่นเดียวกับที่ว่างสำหรับ "พุดดิ้งพลังงาน" สำหรับด้านตรรกะ 3.3V ของ IC นักแปลระดับตรรกะ อย่างไรก็ตามไม่จำเป็นต้องแยกระนาบกราวด์ในแอปพลิเคชั่นนี้การกำหนดเส้นทางที่เหมาะสมของการติดตามสัญญาณจะทำให้กระแสกลับมาอยู่ในตำแหน่งที่เหมาะสม